You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
NorESM - how to generate and validate cmor output
#70
The following columns are required by convert_csv_to_yaml.py and must be filled out correctly in the spread sheet order to generate the input yaml file (all other columns are ignored)
Branded variable Name
Modelling Realm - Primary
Description
Units (from Physical Parameter)
Dimensions
NorESM3 name (dependency)
Note - the yaml files are part of the repository. If the spreadsheet is updated the yaml files must be regenerated and a PR to "main" must be issued to updated the yaml files.
step 1: generating time series from time slice files - gen_timeseries.py
As an example we will use the data from NorESMhub/noresm3_dev_simulations#458
data is at /nird/datalake/NS9560K/noresm3/cases/nhist.ne16pg3_tn14.noresm3_0_beta20.cmip7workflow.2026-06-23
Several notes:
You need to be on NIRD IPCC for this. You can still use the same directory but you need to reactivate the conda environment.
--years 1950:1969:5 below creates time series output in 5 year increments.
the following commands took about 1/2 hour on NIRD to create time series for the atm, lnd and ice history output
In cmor_driver.py the following is hard-wired. This maps cam, clm and cice history output to the --realm and --frequency input variables (which is mon by default). For example, if cam.h2a are not produced - no 6 hour cmor output can be produced.
The following will produce cmor output given the history files that were created for the example run (note that only 2 daily output cmor files where obtained from the camh1a files.
NOTE: to have the appropriate cice namelists used for cmorization - user_nl_cice needs to currently contain the contents of user_nl_cice in NorESMhub/noresm3_dev_simulations#437. This was not the case with the example simulation and as a result the following command did not generate any cmorized files for the seaIce realm:
NOTE: If you grep for 'Finished' in the output log - you can see how many variables were successfully processed.
If you grep for 'Exception' in the output log - you can see which variables resulted in an error.
step 3: validate the output - validate_cmor_output.py
documentationImprovements or additions to documentation
1 participant
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Getting the code on NIRD (obtaining the pythone code and the cmor tables)
Activating the conda and python environment
step 0: (optional) generating the input yaml file(s) - convert_csv_to_yaml.py
Starting from the NorEsm data request google sheet - https://docs.google.com/spreadsheets/d/1XUdCTl1zKsWi_yTvMZqsMtBnnUPIhIeTPVSLHgL0Hdo/edit?gid=1341553017#gid=1341553017
To general all the will generate the required input yaml files:
The following columns are required by convert_csv_to_yaml.py and must be filled out correctly in the spread sheet order to generate the input yaml file (all other columns are ignored)
Note - the yaml files are part of the repository. If the spreadsheet is updated the yaml files must be regenerated and a PR to "main" must be issued to updated the yaml files.
step 1: generating time series from time slice files - gen_timeseries.py
As an example we will use the data from NorESMhub/noresm3_dev_simulations#458
data is at
/nird/datalake/NS9560K/noresm3/cases/nhist.ne16pg3_tn14.noresm3_0_beta20.cmip7workflow.2026-06-23Several notes:
--years 1950:1969:5below creates time series output in 5 year increments.step 2: generating cmorized output - cmor_driver.py
In cmor_driver.py the following is hard-wired. This maps cam, clm and cice history output to the
--realmand--frequencyinput variables (which ismonby default). For example, if cam.h2a are not produced - no 6 hour cmor output can be produced.The following will produce cmor output given the history files that were created for the example run (note that only 2 daily output cmor files where obtained from the camh1a files.
NOTE: to have the appropriate cice namelists used for cmorization - user_nl_cice needs to currently contain the contents of user_nl_cice in NorESMhub/noresm3_dev_simulations#437. This was not the case with the example simulation and as a result the following command did not generate any cmorized files for the seaIce realm:
NOTE: If you grep for 'Finished' in the output log - you can see how many variables were successfully processed.
If you grep for 'Exception' in the output log - you can see which variables resulted in an error.
step 3: validate the output - validate_cmor_output.py
All reactions