Output files¶
Output files from a model run are written out in either ASCII,
or (for most data outputs) in NetCDF format.
The different NetCDF files are named after the runlabel1 parameter set in modrun.sh.
The model output is written to the same directory as where the runscript
where submitted, as described in ch-submitarun.
To check your model run, already prepared model result files can be
downloaded using the catalog tool (sec-ModelCode) as follows:
# download the output
catalog.py -R 5.6 --output
Unpacked files are placed in an output directory with model run results for a whole year, and sometimes with a smaller test run for e.g. April.
Output data files |
Short description |
Format |
|---|---|---|
|
Gridded hourly instantaneous values of a |
NetCDF |
selection of compounds |
||
|
Gridded hourly mean values of a |
NetCDF |
selection of compounds |
||
|
Gridded daily values of a |
NetCDF |
selection of compounds |
||
|
Gridded monthly values of a |
NetCDF |
selection of compounds |
||
|
Gridded yearly values of a |
NetCDF |
selection of compounds |
||
|
Surface daily values of a |
NetCDF [1] |
selection of stations and compounds |
||
|
Vertical daily values of a |
NetCDF [1] |
selection of stations and compounds |
||
|
ASCII version of |
ASCII |
|
ASCII version of |
ASCII [2] |
Additional files |
||
|
Summary log of runs, including total emissions |
ASCII |
of different air pollutants per country |
||
|
Timing log file |
ASCII |
|
Mass balance summary |
ASCII |
Footnotes
Output parameters NetCDF files¶
Parameters to be written out into Base_hour.nc, Base_day.nc, Base_month.nc and
Base_year.nc are defined in My_Derived_mod.f90 and Derived_ml.f90.
In My_Derived_mod.f90, the use can specify the output species (air
concentrations, depositions, column values), units and temporal
resolution of the outputs (daily, monthly, yearly).
The name of output parameter provides some information about data. The names start with TYPE of the parameter, namely SURF (surface air concentrations), DDEP (Dry deposition), WDEP (Wet deposition), COLUMN (Vertically integrated parameters), Area (Surface area) etc.
For surface air concentrations, the general name pattern is
SURF_UNITS_COMPONENT. Here, UNITS can e.g. be “ug” (\(\mu g/m^3\)),
“ugS” (\(\mu g(S)/m^3\)), “ugN” (\(\mu g(N)/m^3\)), or “ppb”.
Note that the components are classified either as “SPEC” (species) or “GROUP”.
The content of complex GROUP components can be found in CM_ChemGroups_mod.f90.
For column integrated parameters, the names are COLUMN_COMPONENT_kNLAYERS, where NLAYERS is the number of layers from model top included in the integration. The units for column outputs are “ugm2” (\(\mu g/m^2\)), “mcm2” (\(molec/m^2\)) or “e15mcm2” (\(10^{15} molec/m^2\)).
For dry depositions, given per \(1 m^2\) of specified landuse,
the names look like DDEP_COMPONENT_m2LANDUSE,
where LANDUSE can be either a specific landuse type or a cell average.
For wet depositions, the names are WDEP_COMPONENT.
The units for dry and wet depositions are \(mg/m^2\), \(mg(S)/m^2\) or \(mg(N)/m^2\).
VG_COMPONENT_LANDUSE are the dry deposition velocities on various
landuse types, typically in \(cm/s\).
Table 5 lists most of output parameters, providing additional
explanation to the complex components. For a complete suit of currently
selected output parameters, see provided output NetCDF files, or
My_Derived_mod.f90 module.
Parameter name |
Short description |
Comments |
|---|---|---|
Surface Concentrations |
||
|
O3 [ppb] |
Also available in \(\mu g/m^3\) |
|
NO [\(\mu g(N)/m^3\)] |
Also available in \(\mu g/m^3\) and ppb |
|
NO2 [\(\mu g(N)/m^3\)] |
Also available in \(\mu g/m^3\) and ppb |
|
HNO3 [\(\mu g(N)/m^3\)] |
Also available in \(\mu g/m^3\) and ppb |
|
NH3 [\(\mu g(N)/m^3\)] |
Also available in \(\mu g/m^3\) and ppb |
|
SO2 [\(\mu g(S)/m^3\)] |
Also available in \(\mu g/m^3\) and ppb |
|
SO\(_4^{2-}\) [\(\mu g/m^3\)] |
|
|
NO\(_3^-\) fine aerosol [\(\mu g/m^3\)] |
As ammonium nitrate |
|
NO\(_3^-\) coarse aerosol [\(\mu g/m^3\)] |
Associated with sea salt and mineral dust |
|
NO\(_3^-\) total [\(\mu g/m^3\)] |
Sum of fine and coarse nitrate |
|
NH\(_4^+\) fine aerosol [\(\mu g/m^3\)] |
As ammonium sulphate and ammonium nitrate |
|
SIA [\(\mu g/m^3\)] |
Secondary Inorganic Aerosol |
|
EC fine [\(\mu g/m^3\)] |
Elemental carbon |
|
EC coarse [\(\mu g/m^3\)] |
Elemental carbon |
|
OM fine [\(\mu g/m^3\)] |
Organic Matter fine aerosol, also available in \(\mu g(C)/m^3\) |
|
OM coarse [\(\mu g/m^3\)] |
Organic Matter coarse aerosol, also available in \(\mu g(C)/m^3\) |
|
Sea salt fine aerosol [\(\mu g/m^3\)] |
|
|
Sea salt coarse aerosol [\(\mu g/m^3\)] |
|
|
Sea salt [\(\mu g/m^3\)] |
Sum of fine and coarse sea salt |
|
Road dust fine aerosol [\(\mu g/m^3\)] |
|
|
Road dust coarse aerosol [\(\mu g/m^3\)] |
|
|
Windblown dust fine [\(\mu g/m^3\)] |
|
|
Windblown dust coarse [\(\mu g/m^3\)] |
|
|
Saharan dust fine [\(\mu g/m^3\)] |
From Boundary conditions |
|
Saharan dust coarse [\(\mu g/m^3\)] |
From Boundary conditions |
|
Natural dust fine [\(\mu g/m^3\)] |
Windblown and Saharan |
|
Natural dust coarse [\(\mu g/m^3\)] |
Windblown and Saharan |
|
Mineral dust [\(\mu g/m^3\)] |
From all sources |
|
PM10 dry [\(\mu g/m^3\)] |
|
|
PM10 wet [\(\mu g/m^3\)] |
PM10 particle water at 50 %rh |
|
PM2.5 dry [\(\mu g/m^3\)] |
Includes fine PM and 27% of coarse NO\(_3^-\) |
|
PM2.5 wet [\(\mu g/m^3\)] |
PM2.5 particle water at 50 %rh |
|
PM2.5 dry [\(\mu g/m^3\)] |
Includes fine PM and 27% of coarse NO\(_3^-\), EC and OM |
|
PM2.5 [\(\mu g/m^3\)] |
As |
|
Fine PM [\(\mu g/m^3\)] |
Sum of all fine aerosols |
|
Primary PM2.5 [\(\mu g/m^3\)] |
Anthropogenic emissions |
|
Primary coarse PM [\(\mu g/m^3\)] |
Anthropogenic emissions |
|
PM2.5 from forest fires [\(\mu g/m^3\)] |
Sum of BC, OC and rest PM2.5 |
Dry Depositions |
||
|
Oxidized sulphur [\(mg(S)/m^2\)] |
For a grid cell landuse area weighted |
|
Oxidized sulphur [\(mg(S)/m^2\)] |
To coniferous forest |
|
Oxidized nitrogen [\(mg(N)/m^2\)] |
For a grid cell landuse area weighted |
|
Oxidized nitrogen [\(mg(N)/m^2\)] |
To decideous forest |
|
Reduced nitrogen [\(mg(N)/m^2\)] |
For a grid cell landuse area weighted |
|
Reduced nitrogen [\(mg(N)/m^2\)] |
To semi-natural |
Wet Depositions |
||
|
Precipitation [mm] |
|
|
Oxidized sulphur [\(mg(S)/m^2\)] |
|
|
Sea salt [\(mg/m^2\)] |
|
Others |
||
|
Aerosol Optical Depth at 550nm |
Experimental |
|
Area fraction of crops |
Available for several landuses |
|
Dry deposition velocity of fine NO\(_3^-\) |
Grid cell average |
Meteorological parameters |
||
|
\(U^*\) grid averaged |
Available for several landuses |
|
Temperature at 2m [\(^\circ C\)] |
|
|
Fractional relative humidity at 2m |
Emission outputs¶
Emis_mgm2_XX fields in the output, give all emissions used by the model (accumulated over the relevant period). Sec_Emis_mgm2_XX are “sector emissions” as defined in the sector emission files, i.e. includes only contributions from the files defined in Emis_sourceFiles. Sec_Emis_mgm2_XX do not include emissions such as volcanoes, forest fires, DMS, lightning, aircraft etc.
Note that for VOC, some emissions from the sector file are set as “unreactive”; those will show under Sec_Emis_mgm2_voc but not under Emis_mgm2_voc.
For hourly outputs of emissions set
HourlyEmisOut = T,
For daily outputs of emissions set
DailyEmisOut = T,
Detailed emissions by sectors can be obtained with the keyword SecEmisOutWanted for the wanted sectors. For example adding the lines:
SecEmisOutWanted(2) = T,
SecEmisOutWanted(7) = T,
will give you the emissions for sector 2 and 7 for all components.
Totals per country and sectors (all), can be obtained in the log with:
SecEmisTotalsWanted = T,
To get emissions partitioned into splitted compounds (up to 18), the value EmisSplit_OUT=.true. must be set in Config_module.f90, and the code recompiled. (This parameter cannot be set in config_emep.nml for now)
Add your own fields¶
Most standard output can be outputted by adding lines and modifying the parameters in the config_emep.nml file.
The meteorological fields defined in the met array in the MetFields_mod.f90 file, can be retrieved by using the ‘MET2D’ or ‘MET3D’ keywords. If a 3D array is requested with the ‘MET2D’ keyword, only the lowest level is written out.
If you want an array that does not fit in any category, or even make your own special field, you can get it in the output using the procedure shown below; this will however require that you write in the code and recompile. For instance in config_emep.nml OutputMisc define:
`` ‘J(NO2)’ ,’USET’,’D3_J(NO2)’ ,’photorate’,’1/s’ ,-99,-99,F,1.0,T,’H’,``
The first column (name) is the name as shown in the output
The second column (class) must be ‘USET’
The strings of the first and third columns can be chosen freely, but if one of them starts with the two characters ‘D3’, it will be interpreted as a 3 dimensional field
The fourth column can be any string
The fifth column is the unit, as show in the output
The sixth column (index) is an integer that can be used to characterize internal indices
The seventh columns should be a negative integer
The eigth column can be F or T, indicating wether the field must be divided by the time step (dt_advec)
The ninth column (scale) is a scaling factor
The tenth column, F or T, indicates if the field must be averaged (T) or accumulated (F)
The eleventh (last) column indicates the periodicity of the output. ‘H’-> every hour, ‘YMH’–> every hour, month and at the end of the run (and other combinations are allowed).
In the code you must define the indice of your new ouput. The requested outputs strings are stored in f_2d and f_3d; for instance
photo_out_ix = find_index("D3_J(NO2)", f_3d(:)%subclass)
and the values of the field must be put into the d_2d or d_3d array, using this index, for instance:
if(photo_out_ix>0) d_3d(photo_out_ix,i,j,1:num_lev3d,IOU_INST) = rcphot(IDNO2,lev3d(1:num_lev3d))
(for 2D output, write in d_2d and ommit the vertical index)
ASCII outputs: sites and sondes¶
As noted in ec-sitessondes-input, two
main options are available for the output of ASCII files for
comparison with measurements or detailed model analysis at specific sites. These are
- sites
output of surface concentrations for a set of specified measurement site locations.
- sondes
output of concentrations for the vertical column above a set of specified locations.
The output files sites_2015.csv and sondes_2015.csv are comma
separated files that can be read by excel, python or fortran tools.
If you include the whole year, or the 31st December,
sites_2016.csv and sondes_2016.csv are also included in the output.
Output configuration¶
Surface concentrations, column integrated, wet and dry deposition outputs
are defined by the user in the Model_config``namelist, in the configuration file ``config_emep.nml.
Surface concentrations and column integrated outputs specified in OutputConcs variable
as shown in Listing 7 and Listing 8.
Dry and wet deposition outputs specified in DDEP_ECOS, DDEP_WANTED and WDEP_WANTED variables
as shown in Listing 9.
OutputConcs=
'O3' ,'ppb' ,'2d','AIR_CONCS','SPEC' ,'YMDI',
'NO' ,'ugN' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'NO2' ,'ugN' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'HNO3' ,'ugN' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'NH3' ,'ugN' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'SO2' ,'ugS' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'SO4' ,'ug' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'NO3_F' ,'ug' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'NO3_C' ,'ug' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'PNO3' ,'ug' ,'2d','AIR_CONCS','GROUP','YMD',
'NH4_F' ,'ug' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'SIA' ,'ug' ,'2d','AIR_CONCS','GROUP','YMD',
'ECFINE' ,'ug' ,'2d','AIR_CONCS','GROUP','YMD',
'ECCOARSE' ,'ug' ,'2d','AIR_CONCS','GROUP','YMD',
'OM25' ,'ug_PM','2d','AIR_CONCS','GROUP','YMD',
'OMCOARSE' ,'ug_PM','2d','AIR_CONCS','GROUP','YMD',
'SEASALT_F' ,'ug' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'SEASALT_C' ,'ug' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'SS' ,'ug' ,'2d','AIR_CONCS','GROUP','YMD',
'DUST_ROAD_F' ,'ug' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'DUST_ROAD_C' ,'ug' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'DUST_WB_F' ,'ug' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'DUST_WB_C' ,'ug' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'DUST_SAH_F' ,'ug' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'DUST_SAH_C' ,'ug' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'DUST_NAT_F' ,'ug' ,'2d','AIR_CONCS','GROUP','YMD',
'DUST_NAT_C' ,'ug' ,'2d','AIR_CONCS','GROUP','YMD',
'DUST' ,'ug' ,'2d','AIR_CONCS','GROUP','YMD',
'SURF_PM25water' ,'ug' ,'2d','PM25water','MISC' ,'',
'PMFINE' ,'ug' ,'2d','AIR_CONCS','GROUP','YMD',
'SURF_ug_PM25' ,'ug' ,'2d','PM25' ,'MISC' ,'YMD',
'SURF_ug_PM25X' ,'ug' ,'2d','PM25X' ,'MISC' ,'YMD',
'SURF_ug_PM25X_rh50' ,'ug' ,'2d','PM25X_rh50','MISC','YMD',
'SURF_ug_PM25_rh50' ,'ug' ,'2d','PM25_rh50','MISC' ,'YMD',
'PMCO' ,'ug' ,'2d','AIR_CONCS','GROUP','',
'PM10' ,'ug' ,'2d','AIR_CONCS','GROUP','YMD',
'SURF_ug_PM10_rh50' ,'ug' ,'2d','PM10_rh50','MISC' ,'YMD',
'PPM25' ,'ug' ,'2d','AIR_CONCS','GROUP','YMD',
'PPM_C' ,'ug' ,'2d','AIR_CONCS','GROUP','YMD',
'PPM25_FIRE' ,'ug' ,'2d','AIR_CONCS','GROUP','YMD',
OutputConcs=
'O3' ,'ug' ,'2d','AIR_CONCS','SPEC' ,'YMDI',
'NO' ,'ppb' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'NO' ,'ug' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'NO2' ,'ppb' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'NO2' ,'ug' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'HNO3' ,'ug' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'HNO3' ,'ppb' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'NH3' ,'ug' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'NH3' ,'ppb' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'SO2' ,'ug' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'SO2' ,'ppb' ,'2d','AIR_CONCS','SPEC' ,'YMD',
'OM25' ,'ugC_PM','2d','AIR_CONCS','GROUP','YMD',
'OMCOARSE' ,'ugC_PM','2d','AIR_CONCS','GROUP','YMD',
DDEP_ECOS =
'Grid' ,'YMD',
'Conif' ,'YM',
'Seminat' ,'YM',
'Water_D' ,'Y',
'Decid' ,'Y',
'Crops' ,'Y',
DDEP_WANTED =
'SOX' ,'GROUP','mgS',
'OXN' ,'GROUP','mgN',
'RDN' ,'GROUP','mgN',
WDEP_WANTED =
'PREC' ,'PREC' ,'mm' ,'YMD',
'SOX' ,'GROUP','mgS','YMD',
'OXN' ,'GROUP','mgN','YMD',
'RDN' ,'GROUP','mgN','YMD',
'SO2' ,'SPEC' ,'mgS','YMD',
'HNO3' ,'SPEC' ,'mgN','YMD',