|
|
# Benchmark
|
|
|
|
|
|
HERMESv3_BU includes a data test case to execute a benchmark run that ensures that the installation process of the model was successful.
|
|
|
The proposed benchmark case produces 24 hour emissions for a regional 0.05*0.05 degree horizontal resolution grid with 6 vertical layers.
|
|
|
The working grid covers the region of Catalonia (North-East of Spain).
|
|
|
|
|
|
![](img_benchmark_NOx_9UTC.png)
|
|
|
|
|
|
To execute the benchmark case, the following steps need to be followed:
|
|
|
|
|
|
### 1. Install HERMESv3_BU
|
|
|
|
|
|
HERMESv3_BU should be installed following the instructions of the [installation page](user_guide_how_to_install).
|
|
|
|
|
|
### 2. Download the HERMESv3_BU test input dataset
|
|
|
|
|
|
A test database has been created with all the needed input files to execute the benchmark case.
|
|
|
The dataset can be downloaded from the following Gitlab project:
|
|
|
```
|
|
|
git clone https://earth.bsc.es/gitlab/es/hermesv3_bu_data_test.git
|
|
|
```
|
|
|
|
|
|
Once the dataset has been downloaded, the ```hermesv3_bu_data_test``` folder should be moved inside the folder where the model has been installed:
|
|
|
|
|
|
```<PATH_INSTALLATION>/hermesv3_bu/```
|
|
|
|
|
|
### 3. Download the HERMESv3_BU configuration file and benchmark output files
|
|
|
|
|
|
This step allows to download a HERMESv3_BU configuration file prepared to run the benchmark case (```hermes_testdata.conf```) as well as the NetCDF output files for comparison purposes.
|
|
|
|
|
|
The benchmark files included in the ```HERMESv3_BU_Benchmark.zip``` file are as follows:
|
|
|
* ```hermes_testdata.conf```
|
|
|
* ```HERMESv3_2016112900_agricultural_machinery.nc```
|
|
|
* ```HERMESv3_2016112900_aviation.nc```
|
|
|
* ```HERMESv3_2016112900_crop_fertilizers.nc```
|
|
|
* ```HERMESv3_2016112900_crop_operations.nc```
|
|
|
* ```HERMESv3_2016112900_livestock.nc```
|
|
|
* ```HERMESv3_2016112900_point_sources.nc```
|
|
|
* ```HERMESv3_2016112900_recreational_boats.nc```
|
|
|
* ```HERMESv3_2016112900_residential.nc```
|
|
|
* ```HERMESv3_2016112900_shipping_port.nc```
|
|
|
* ```HERMESv3_2016112900_traffic_area.nc```
|
|
|
* ```HERMESv3_2016112900_traffic.nc```
|
|
|
* ```HERMESv3_2016112900_ALL.nc```
|
|
|
|
|
|
The files can be downloaded using the ```hermesv3_bu_download_benchmark``` [executable](user_guide_executables):
|
|
|
|
|
|
```
|
|
|
hermesv3_bu_download_benchmark '<PATH_INSTALLATION>/hermesv3_bu_benchmark/'
|
|
|
```
|
|
|
|
|
|
### 4. Modify the configuration file
|
|
|
Move the ```hermes_testdata.conf``` file downloaded in the previous step to the configuration folder of HERMESv3_BU:
|
|
|
|
|
|
```<PATH_INSTALLATION>/hermesv3_bu/conf```
|
|
|
|
|
|
Modify the ```input_dir```, ```data_path```, ```output_dir``` and ```auxiliary_files_path``` parameters of the general section
|
|
|
|
|
|
```
|
|
|
[GENERAL]
|
|
|
input_dir = <PATH_INSTALLATION>/hermesv3_bu/hermesv3_bu_data_test
|
|
|
data_path = <PATH_INSTALLATION>/hermesv3_bu/hermesv3_bu_data_test/common
|
|
|
output_dir = <PATH_INSTALLATION>/hermesv3_bu/OUT
|
|
|
auxiliary_files_path = <PATH_INSTALLATION>/hermesv3_bu/hermesv3_bu_aux/<domain_type>_<resolution>
|
|
|
```
|
|
|
You can optionally review and change the computational resources assigned to the calculation of each emission sector:
|
|
|
|
|
|
```
|
|
|
[SECTOR MANAGEMENT]
|
|
|
aviation_processors = 1
|
|
|
shipping_port_processors = 2
|
|
|
livestock_processors = 4
|
|
|
crop_operations_processors = 2
|
|
|
crop_fertilizers_processors = 10
|
|
|
agricultural_machinery_processors = 2
|
|
|
residential_processors = 2
|
|
|
recreational_boats_processors = 2
|
|
|
point_sources_processors = 1
|
|
|
traffic_processors = 20
|
|
|
traffic_area_processors = 2
|
|
|
```
|
|
|
|
|
|
### 5. Run HERMESv3_BU
|
|
|
|
|
|
```
|
|
|
mpirun -np 48 hermesv3_bu -c <PATH_INSTALLATION>/hermesv3_bu/conf/hermes_testdata.conf
|
|
|
```
|
|
|
|
|
|
Note that the number of processors (48) is equal to the sum of all the processors used for the execution of each sector (1+2+4+2+10+2+2+2+1+20+2).
|
|
|
If the number of processors are changed, the total number should be also changed accordingly for the correct execution of the model.
|
|
|
|
|
|
A 'logs' folder will be created inside the ```output_dir```, where the user can follow the execution of HERMESv3_BU (one log per processor).
|
|
|
|
|
|
The following message should appear at the end of the log files:
|
|
|
```
|
|
|
***** HERMES simulation finished succesful *****
|
|
|
```
|
|
|
|
|
|
Note that the first time you execute HERMESv3_BU it may take more time because of the creation of all the auxiliary files. Once these files are created, HERMESv3_BU will use them in future simulations of the same domain, unless the oposite is specified in the configuration file
|
|
|
|
|
|
```
|
|
|
erase_auxiliary_files = 1
|
|
|
```
|
|
|
|
|
|
### 6. Compare the results
|
|
|
Once the HERMESv3_BU run has been completed successfully, the NetCDF output file should be compared against the downloaded benchmark files.
|
|
|
|
|
|
If all the sectors are activated (by default in the ```hermes_testdata.conf``` file), the output file should be compared against the ```HERMESv3_2016112900_ALL.nc``` benchmark file.
|
|
|
|
|
|
Benchmark files for each individual sectors are also provided in case the user wants to execute only one pollutant sector (e.g. traffic). For this, the computational resources of the configuration file should be modified as follows:
|
|
|
```
|
|
|
[SECTOR MANAGEMENT]
|
|
|
aviation_processors = 0
|
|
|
shipping_port_processors = 0
|
|
|
livestock_processors = 0
|
|
|
crop_operations_processors = 0
|
|
|
crop_fertilizers_processors = 0
|
|
|
agricultural_machinery_processors = 0
|
|
|
residential_processors = 0
|
|
|
recreational_boats_processors = 0
|
|
|
point_sources_processors = 0
|
|
|
traffic_processors = 24
|
|
|
traffic_area_processors = 0
|
|
|
```
|
|
|
|
|
|
And HERMESv3_BU should be executed as follows:
|
|
|
```
|
|
|
mpirun -np 24 hermesv3_bu -c <PATH_INSTALLATION>/hermesv3_bu/conf/hermes_testdata.conf
|
|
|
```
|
|
|
|
|
|
|
|
|
[Go to home wiki page](home) |