Table of Contents

Model Diagnostic Tools

This page links to tools used for the NorESM model evaluation.

NorESM Diagnostic Packages

NB: The wiki page for the NorESM diagnostic tools is moved!!

Last updated: 12-Dec-2020.

Please go to the following NorESM documentation page for the latest description:

https://noresm-docs.readthedocs.io/en/latest/diagnostics/diagnostics.html


Aerosol and Chemistry, Clouds and Forcing Diagnostics

In both the default CAM5-aerosol packages (MAM3,MAM7) and the Oslo-aerosol packages, the budget terms can be taken out using a variable in the namelist :

Configuring a run with more aerosol diagnostics in (NorESM2)

&phys_ctl_nl
history_aerosol = .true.
/

Two more diagnostics are useful:

To enable this, take the file cam/src/physics/cam_oslo$ vim preprocessorDefinitions.h and copy it to your SourceMods/src.cam folder

Change both preprocessor definitions to true

#define AEROCOM
#define AEROFFL

The AEROCOM-token turns on diagnostics needed for AEROCOM The AEROFFL-token tells the model to do additional radiation-diagnostics for aerosol indirect effect

Tracer Budget terms

Fields produced in monthly average files when running with budgets activated

Running with budgets activated will produce the following terms in the monthly output files:

Output variable name Meaning Comment
SF{Tracer} Emissions from surface
GS_{Tracer} gas phase chemistry 3D-emissions and gas phase washout included in this term
AQ_{Tracer} aquous chemistry
{Tracer}_Mixnuc1 Activation in clouds and evaporation of cloud droplets
{Tracer}_DDF Dry deposition flux (aerosol tracers)
{Tracer}_SFWET Wet deposition flux (aerosol tracers)
{Tracer}_condtend loss/production in condensation/nuclation (CAM-Oslo only)
{Tracer}_coagTend loss/production in coagulation (CAM-Oslo only)
DF_{Tracer} dry deposition flux (gas tracers) output with history_aerosol with CAM-Oslo only
WD_A_{Tracer} wet deposititon flux (gas tracers) output with history_aerosol with CAM-Oslo only
{Tracer}_CLXF 3D-emissions (“external forcing”) output with history_aerosol with CAM-Oslo only
{Tracer}_clcoagTend loss of tracer due to coagulation with cloud droplets output with history_aerosol with CAM-Oslo only

Note: Since 3D-emissions and and gas washout rates are included in the term GS_{Tracer} in the mozart chemistry solver, the individual terms can be found like this (example for SO2):

ncap2 -O -s GS_ONLY_SO2=GS_SO2-WD_A_SO2-SO2_CLXF infile.nc outfile.nc

More info on SO2 budgets (see /models/atm/cam/tools/diagnostics/ncl/ModIvsModII/ for scripts with info on all tracers):

GS_SO2 contains the SO2 budget terms for all that goes on in the chemistry-routine, which is
1) Gas phase chemistry, 2) Wet deposition, and 3) 3D-emissions.
Gas phase chemistry is both production from DMS (GS_DMS) and loss through OH (GL_OH)
For calculations of net loss, e.g. used to calculate SO2 life-times, we're interested in the
loss through OH from the chemistry-term (GL_OH).
GS_SO2 = GL_OH + SO2_CLXF - WD_A_SO2 - GS_DMS*64/62
or
GL_OH = GS_SO2 - SO2_CLXF + WD_A_SO2 + GS_DMS*64/62

Estimating chemical loss w.r.t. S (instead of SO2 or DMS), for comparison with CAM4-Oslo numbers:
net chemial loss gas phase = (GS_SO2/1.998 - SO2_CLXF + WD_A_SO2)/1.998 + GS_DMS/1.938
net chemical loss = net chemial loss gas phase + AQ_SO2/1.998

Finally, total net loss (used to calculate life-time = -load/(net loss), where load = cb_SO2/1.998):
net loss =
- WD_A_SO2/1.998 ;wet deposition in kg/m2/sec (positive in output file)
- DF_SO2/1.998 ;dry deposition in kg/m2/sec (positive in output file)
+ AQ_SO2/1.998 ;wet phase production of SO4 in kg/m2/ses (negative in output file)
+ (GS_SO2 - SO2_CLXF + WD_A_SO2)/1.998 + GS_DMS/1.938 ; net chemical loss gas phase

Looking at the aerosol budgets (CAM-Oslo only)

NCL Model Version Comparison package (Alf K)

Making ncl plots of often used aerosol and cloud fields, including ERFs, for two model versions (CAM-Oslo only)

Cloud water mass and number analysis (budgets)

Configuring a run with more cloud diagnostics in NorESM2

To switch on extra output for cloud diagnostics (mass and number tendencies for liquid water and mass) change the following namelist variable:

&phys_ctl_nl
history_budget = .true.
/

A python script for plotting the mass and number budgets for the cloud microphysics can be found under:

models/atm/cam/tools/diagnostics/ncl/cloudBudgets

in the same branch. Copy the script to your local computer or lustre and edit the script to read the correct input file(s) (instructions inside the script). Run the script by typing:

python scriptname.py

in your terminal.

Automatic AEROCOM analysis

To prepare output so that it is processed automatically by the aerocom tools, use the script located at models/atm/cam/tools/aerocom/ in the svn repository. The script prepares files such that the idl aerocom tools prepare plots for the aerocom webinterface: URL link to NorESM on AeroCom webinterface

The script requires <ModelName>_<ExperimentName> and <Period> as input.

<Period>: for a climatological average and run choose 9999 , for nudged simulations choose the year of the meteorology

<ModelName>_<ExperimentName>: is the dataset identifier under which the plots appear on the AeroCom webinterface
in the required format NorESM-CAM5_svn{RevisionNumber}_YYMMDD{initials}_Freetext.

Example: “NorESM-CAM5_svn1094_151201AG_CMIP6endelig
Initials AG: Alf Grini, AK: Alf Kirkevåg, DO: Dirk Olivie…

Where the date YYMMDD corresponds to the time when the AeroCom data preparation script has been executed.

The script creates files named like

“aerocom3_<ModelName>_<ExperimentName>_<VariableName>_<VerticalCoordinateType>_<Period>_<Frequency>.nc”

<ModelName> ⇒ eg NorESM-CAM53
<ExperimentName> ⇒ svn{RevisionNumber}_YYMMDD{initials}_Freetext
<VariableName> ⇒ aerocom variable names
<VerticalCoordinateType> ⇒ “Surface”, “Column”, “ModelLevel”, “SurfaceAtStations”, “ModelLevelAtStations” 
<Period> ⇒ eg “2008”, “2010”, “9999”
<Frequency> ⇒ “timeinvariant”,”hourly”, “daily”, “monthly”, “sat1000”, “sat1330”, “sat2200”, “sat0130”

Note that VerticalCoordinateType is dependent on the variable!! It is not a question about “vertical coordinate type used in model simulations”!

The script copies files on norstore into /projects/NS2345K/CAM-Oslo/DO_AEROCOM/<ModelName>_<ExperimentName>/renamed/

ESMval CIS JASMIN platform and tools

ESMVALtool http://www.geosci-model-dev-discuss.net/8/7541/2015/gmdd-8-7541-2015-discussion.html

cis tools http://www.cistools.net

JASMIN http://www.jasmin.ac.uk/services/jasmin-analysis-platform/

Post analysis and workup of CAM diagnostics output tables

A tool for post analysis of (multiple) CAM diagnostics ASCII tables can be found in the following repository:

GitHub https://github.com/jgliss/noresm_diag_postproc

To get started, please follow the instructions in repository README (displayed in repository). Currently, the main analysis tool is a jupyter IPython notebook called

analysis_tool.ipynb (https://github.com/jgliss/noresm_diag_postproc/blob/master/analysis_tool.ipynb)

which includes more detailed instructions about setup and options.

Use the notebook

https://github.com/jgliss/noresm_diag_postproc/blob/master/download_tables.ipynb

to download local copies of result tables using a list of URL's.

Short summary: The notebook reads multiple diagnostics files (runs) into one long table and creates heatmap plots of Bias, RMSE and RMSE relative error for a subset of variables (rows → y-axis of heatmap) vs. the individual runs (columns → xaxis).

NOTE: In the current version, you need to download all tables that you are interested in as csv or ascii into one directory, that is specified in the header of the notebook.

Variable groups can be defined in this config file:

https://github.com/jgliss/noresm_diag_postproc/blob/master/config/var_groups.ini

NOTE: If you add groups to this file in your local copy of the repository, please consider sending the updated to jonasg@met.no or to submit a pull request, so that the remote repository remains up to date.

Troubleshooting

If you run into problems, please raise an issue in the repository or contact jonasg@met.no