Output
Output
In principle, output of ICON-ART variables works the same way as for ICON variables. As described in , the following five quantities of the output have to be specified:
- The time interval between two model outputs.
- The name of the output file.
- The name of the variable(s) and/or variable group(s).
- The type of vertical output grid.
- The type of horizontal output grid.
It is recommended to use NETCDF output on an interpolated grid. A corresponding output namelist for sea salt on model levels can be seen here:
NAMELIST EXAMPLE &output_nml filetype = 4 ! output format: 2=GRIB2, 4=NETCDFv2 dom = 1 ! write output for domain 1 output_start = "JJJJ-MM-DDTHH:MM:SSZ" !put date in output_end = "JJJJ-MM-DDTHH:MM:SSZ" !put date in output_interval = "PT1H" ! \href{ISO8601}{https://en.wikipedia.org/wiki/ISO_8601} steps_per_file = 1 ! max. num. of time steps within one file mode = 1 ! 1: forecast mode (relative t-axis) include_last = .TRUE. ! include the last time step output_filename = '<INSERTFILENAME>' ! file name base ml_varlist = 'seasa','seasb','seasc', 'seasa0','seasb0','seasc0' remap = 1 ! output is transferred to lat long grid reg_lon_def = -180.,0.5,179.5 !start, incr., end, in deg. reg_lat_def = 90.,-0.5, -90. !start, incr., end, in deg.
There is an option to obtain all sea salt variables without having to specifying all of them. Therefore, you may use the group ART_AERO_SEAS.
This changes the namelist variable ml_varlist from the example above to the following:
ml_varlist = 'group:ART_AERO_SEAS'
The output variables that are associated to this group will be written. You can check the groups of output variables in the tables in .
Available Output Variables
The following table contains an overview of the possible output variables.
varname | groups | unit | descripition | namelist switch | required xml |
---|---|---|---|---|---|
Aerosols | |||||
aerosol=[dust,seas,ash,soot] | soot requires iart_fire>1 , seasalt requires iart_seasalt>1 , dust and ash are already included | ||||
modes=[a, b, c] | |||||
diam_[modes] | ART_DIAGNOSTICS | m | lart_aerosol=True and lart_diag_out=True | requires cart_diagnostics_xml file | |
aeronet wavelength=[340, 380, 440, 500, 550, 675, 870, 1020, 1064] | |||||
aod_[aerosol]_[aeronet wavelength]nm | ART_DIAGNOSTICS , ART_ROUTINE_DIAG | Layer-1 | [AEROSOL] optical depth | lart_aerosol=True and lart_diag_out=True | requires cart_diagnostics_xml file |
ceilo_wavelength = [355,532,1064] | |||||
bsc_[arosol]_[ceilo_wavelength]nm | ART_DIAGNOSTICS | m-1 sr-1 | [AEROSOL] backscatter | lart_aerosol=True and lart_diag_out=True | requires cart_diagnostics_xml file |
ceil_[arosol]_[ceilo_wavelength]nm | ART_DIAGNOSTICS , ART_ROUTINE_DIAG | m-1 sr-1 | [AEROSOL] Attenuated Backscatter Ceilometer | lart_aerosol=True and lart_diag_out=True | requires cart_diagnostics_xml file |
sat_[arosol]_[ceilo_wavelength]nm | ART_DIAGNOSTICS | m-1 sr-1 | [AEROSOL] Attenuated Backscatter Satellite | lart_aerosol=True and lart_diag_out=True | requires cart_diagnostics_xml file |
AOD_550_so4_sol | ART_DIAGNOSTICS | layer-1 | SO4 sol Optical Depth | lart_aerosol=True and lart_diag_out=True | requires cart_diagnostics_xml file |
AOD_550_ash_insol | ART_DIAGNOSTICS | layer-1 | Ash insol Optical Depth | lart_aerosol=True and lart_diag_out=True | requires cart_diagnostics_xml file |
AOD_550_ash_mixed | ART_DIAGNOSTICS | layer-1 | Ash mixed Optical Depth | lart_aerosol=True and lart_diag_out=True | requires cart_diagnostics_xml file |
AOD_550_ash_giant | ART_DIAGNOSTICS | layer-1 | Ash giant Optical Depth | lart_aerosol=True and lart_diag_out=True | requires cart_diagnostics_xml file |
ustar_thres | ART_ROUTINE_DIAG | m s-1 | threshold friction velocity for dust emission' | lart_aerosol=True and lart_diag_out=True | requires cart_diagnostics_xml file |
ustar | ART_ROUTINE_DIAG | m s-1 | Friction velocity | lart_aerosol=True and lart_diag_out=True | requires cart_diagnostics_xml file |
acc_drydepo_[xml defined] | ART_DIAGNOSTICS , ART_ROUTINE_DIAG | tracer-unit m-2 | accumulated dry deposition of tracer | lart_aerosol=True and lart_diag_out=True | requires cart_diagnostics_xml file |
acc_sedim_[xml defined] | ART_DIAGNOSTICS , ART_ROUTINE_DIAG | tracer-unit m-2 | accumulated sedimentation of tracer | lart_aerosol=True and lart_diag_out=True | requires cart_diagnostics_xml file |
acc_wetdepo_gscp_[xml defined] | ART_DIAGNOSTICS , ART_ROUTINE_DIAG | tracer-unit m-2 | accumulated wet deposition by grid scale precipitation of tracer | lart_aerosol=True and lart_diag_out=True | requires cart_diagnostics_xml file |
acc_wetdepo_con_[xml defined] | ART_DIAGNOSTICS , ART_ROUTINE_DIAG | tracer-unit m-2 | accumulated wet deposition by convective precipitation of tracer | lart_aerosol=True and lart_diag_out=True | requires cart_diagnostics_xml file |
acc_wetdepo_rrsfc_[xml defined] | ART_DIAGNOSTICS , ART_ROUTINE_DIAG | tracer-unit m-2 | accumulated wet deposition of tracer if precipitation reaches surface | lart_aerosol=True and lart_diag_out=True | requires cart_diagnostics_xml file |
emiss_[xml defined] | ART_DIAGNOSTICS , ART_ROUTINE_DIAG | tracer-unit m-2 s-1 | emission of tracer | lart_aerosol=True and lart_diag_out=True | requires cart_diagnostics_xml file |
acc_emiss_[xml defined] | ART_DIAGNOSTICS , ART_ROUTINE_DIAG | tracer-unit m-2 | accumulated emission of tracer | lart_aerosol=True and lart_diag_out=True | requires cart_diagnostics_xml file |
pollen variables from art_ext%pollen_prop%pollen_type(jt) | iart_pollen>0 | REQUIRES diagnostics.xml | |||
Chemistry | |||||
reac_rates | ART_DIAGNOSTICS | s-1 | MECCA reaction rates | lart_mecca=True, lart_diag_out=True | |
art_o3 | kg/kg | Ozone mass mixing ratio | lart_chem =True, lart_diag_out=True | ||
OH_Nconc | # / cm3 | OH number concentration | lart_chem =TRUE | ||
photo | - | s-1 | photolysis rates | lart_chem=TRUE, lart_mecca=TRUE | |
art_full_chemistry_o3_col | - | DU | Ozone column | lart_chem=TRUE, lart_mecca=TRUE | |
sts_liqsur | ART_DIAGNOSTICS | cm2 cm-3 | liquid area density of STS | lart_chem=TRUE , lart_psc=TRUE | |
cgaml | ART_DIAGNOSTICS | - | STS uptake coefficient of the reaction | lart_chem=TRUE , lart_psc=TRUE | |
dens_ice | ART_DIAGNOSTICS | m-3 | number density of ice particles | lart_chem=TRUE , lart_psc=TRUE | |
radius_ice | ART_DIAGNOSTICS | m | radius of ice particles | lart_chem=TRUE , lart_psc=TRUE | |
radius_STS | ART_DIAGNOSTICS | m | radius of STS particles | lart_chem=TRUE , lart_psc=TRUE | |
dens_NAT | ART_DIAGNOSTICS | m-3 | number density of NAT particles | lart_chem=TRUE , lart_psc=TRUE | |
radius_NAT | ART_DIAGNOSTICS | m | radius of NAT particles | lart_chem=TRUE , lart_psc=TRUE | |
HNO3_Nconc_s | ART_DIAGNOSTICS | cm-3 | number concentration of HNO3 in NAT | lart_chem=TRUE , lart_psc=TRUE | |
HNO3_Nconc_l | ART_DIAGNOSTICS | cm-3 | number concentration of HNO3 in STS | lart_chem=TRUE , lart_psc=TRUE | |
ice_vmr_Marti | ART_DIAGNOSTICS | mol mol-1 | volume mixing ratio of solid water by Marti and Mauersberger | lart_chem=TRUE , lart_psc=TRUE | |
NAT_sedi_rel_difference | ART_DIAGNOSTICS | - | relative difference of NAT mass bef and aft sedi (aft - bef) * 2 / (aft + bef) | lart_chem=TRUE , lart_psc=TRUE | |
NAT_sedi_vel | ART_DIAGNOSTICS | m s-1 | sedimentation velocity of NAT particles | lart_chem=TRUE , lart_psc=TRUE | |
art_so2_col | ART_DIAGNOSTICS | DU | SO2 column | lat_chem=TRUE , lart_chemtracer=TRUE | |
Radioactive Tracers Diagnostics | |||||
wet deposition of xml defined tracer | ART_DIAGNOSTICS, ART_ROUTINE_DIAG | Bq m-2 | wet deposition of xml defined tracer | lart_aerosol=True and iart_radioact=1 | |
dry deposition of xml defined tracer | ART_DIAGNOSTICS, ART_ROUTINE_DIAG | Bq m-2 | dry deposition of xml defined tracer | lart_aerosol=True and iart_radioact=1 | |
Averaged air concentration of xml defined traer | ART_DIAGNOSTICS, ART_ROUTINE_DIAG | Bq m-3 | Averaged air concentration of xml defined traer | lart_aerosol=True and iart_radioact=1 | |
FPLUME Output | |||||
plume_height | ART_FPLUME | m | plume height | iart_fplume/=0 | |
plume_MFR | ART_FPLUME | kg s-1 | plume MFR | iart_fplume/=0 | |
MER_transport | ART_FPLUME | kg s-1 | Amount of very fine ash for transport | iart_fplume/=0 | |
solution_with | ART_FPLUME | - | FPlume off, Mastin, or FPlume | iart_fplume/=0 |
Output Checks with SAMOA
SAMOA performs a sanity check on all model outputs that can be read by CDO. It checks if a variable lies in-between a predefined range and if the minimum and maximum value of each variable are the same. For this purpose CDO version 1.6.2rc3 is required currently (see https://code.zmaw.de/projects/cdo).
For more information about the usage please refer to the README-file within the SAMOA package. You can get a copy of the SAMOA script by writing an e-mail to the contact person of the ART code (see http://icon-art.imk-tro.kit.edu). SAMOA is licensed under the GNU GENERAL PUBLIC LICENSE Version 3.
As SAMOA is primarily developed for the usage with COSMO-ART and COSMO-CLM, you have to do a minor change before using it. The latest version of SAMOA has a list for the usage of SAMOA with ICON-ART output included but not loaded automatically. This list is called samoa_list_icon-art. You have to replace the default (COSMO) list that is used by SAMOA by editing samoa.sh:
Search for the following lines:
# Path to the list with variables (is overwritten when -l specified) # Assumed to be on the same path as script path_list=$SCRIPTPATH/list
Change the name of the list to:
path_list=$SCRIPTPATH/samoa_list_icon-art
Now you may use SAMOA with the ICON-ART output file out.nc with the following command:
./samoa.sh out.nc
For all options see:
./samoa.sh --help
Visualisation
The horizontal grid structure of the output is essential for the visualization. In general, there are two possibilities. The output may exist on the ICON grid and it may exist on an interpolated longitude/latitude grid. This can be chosen by adaptions of the output namelist (see ). Although it comes along with a loss in information, it is recommended to use interpolated output. By this, the visualization is much easier to handle.
In the following sections, three tools are introduced which can be used to visualize ICON output. Note, that only NETCDF is supported by ICON-ART so far. With the tool Ncview (see ) it is very easy to have a quick look into the interpolated model output. NCL (see ) is a very comprehensive tool for all kind of data formats and visualization. With ParaView (see ), a nice-looking three-dimensional visualization can be created.
Ncview
"Ncview is a visual browser for netCDF format files. Typically you would use ncview to get a quick and easy, push-button look at your netCDF files. You can view simple movies of the data, view along various dimensions, take a look at the actual data values, change color maps, invert the data, etc." (http://meteora.ucsd.edu/~pierce/ncview_home_page.html)
NCL
"NCL is an interpreted language designed specifically for scientific data analysis and visualization. Portable, robust and free, NCL is available as binaries or open source." (https://www.ncl.ucar.edu/)
ParaView
"ParaView is an open-source, multi-platform data analysis and visualization application. ParaView users can quickly build visualizations to analyze their data using qualitative and quantitative techniques. The data exploration can be done interactively in 3D or programmatically using ParaView’s batch processing capabilities.
ParaView was developed to analyze extremely large datasets using distributed memory computing resources. It can be run on supercomputers to analyze datasets of exascale size as well as on laptops for smaller data." (http://www.paraview.org/)
Python
On the official Website Python describes itself as
Python is powerful... and fast; plays well with others; runs everywhere; is friendly & easy to learn; is Open.
Using Python is a simple but effective way to display ICON-ART model output data. There is a large number of Packages available to help with Visualisation, the most useful Packages for visualising ICON-ART data are given in Table 1.4
numpy | predefined Mathematical functions |
matplotlib | Plotting framework |
xarray | reading in and processing netcdf datasets |
... |