This is an old revision of the document!
Advanced configuration of NorESM2
NOTE THAT THE COMPSETS MENTIONED IN THIS EXAMPLE ARE NO LONGER MAINTAINED! THE GENERAL EXPLANATION AND IDEAS ARE STILL VALID!
Creating a new compset
The essential file to edit is
~/noresm/scripts/ccsm_utils/Case.template/config_compsets.xml
This examples shows how to simply add a to the “F_AMIP_CAM5” compset:
Under “”, add
<COMPSET sname="F_AMIP_CAM5-OSLO" alias="FAMIPOSLO" >AMIP_CAM5%OSLO_CLM40%SP_CICE%PRES_DOCN%DOM_RTM_SGLC_SWAV</COMPSET>
The “CAM5%OSLO” options have to be defined, so a line like this is needed:
<CAM_CONFIG_OPTS compset="_CAM5%OSLO" >-phys cam5 -cam_oslo aerlife</CAM_CONFIG_OPTS>
The compset needs a description, we also need the line
<desc compset="_CAM5%OSLO">cam 5 physcs and oslo aerosols</desc>
We could also define a specific use-case (namelist) for our compset. This would need a line like:
<CAM_NML_USE_CASE compset="_CAM5%OSLO" >my_namelist</CAM_NML_USE_CASE>
This would only work if the file my_namelist.xml exists as
noresm/models/atm/cam/bld/namelist_files/use_cases/my_namelist.xml
Setting up a case with the new compset and building the model
It should now be possible to create a new case directory, which we here name FAMIPOSLOtst and configure with 1 degree horizontal atmospheric resolution;
./create_newcase -case ../cases/FAMIPOSLOtst -compset FAMIPOSLO -mach hexagon -res f09_f09
and finally set up and compile the model:
cd ../cases/FAMIPOSLOtst
./cesm_setup
./FAMIPOSLOtst.build
Why does it work to change config_compsets.xml ?
In NorESM there are 3 new config-options for CAM:
- -cam-oslo aerlife (turns on transport of oslo tracers)
- -cam-oslo dirind (also turns on interaction with radiation)
- -cam-oslo warmclouds (also turns on interaction with warm clouds)
They change number of tracers and turn on different preprocessor flags in in a perl script called “configure”, see:
models/atm/cam/bld/configure
To understand the implementation do:
svn diff -r 202 models/atm/cam/bld/configure
The new oslo-options also need to be defined, see
models/atm/cam/bld/config_files/definition.xml
To see how these new options were added, do:
svn diff -r 202 models/atm/cam/bld/config_files/definition.xml
Configure nudging
Create the met-data
First run the model to produce 6 hourly data. The following namelists are needed:
user_nl_cam &camexp mfilt = 1, 4, nhtfrq = 0, -6, avgflag_pertape ='A','I', fincl2 = 'PS','U','V','TAUX','TAUY','FSDS','TS','T','Q','PHIS','QFLX','SHFLX'
user_nl_clm &clmexp hist_mfilt = 1,4 hist_nhtfrq = 0,-6 hist_avgflag_pertape = 'A','I' hist_fincl2 = 'SNOWDP','H2OSNO','H2OSOI'
Use the met-data in another run
First create a compset which has the configure-option “-offline_dyn”. Check in config_compsets.xml which compsets have this configure-option added. See for example the compset NFAMIPNUDGEPTAERO in https://svn.met.no/NorESM/noresm/branches/featureCAM5-OsloDevelopment_trunk2.0-1/noresm/scripts/ccsm_utils/Case.template/config_compsets.xml
Then use this compset to create a case. You need the following user-input (for example in your user_nl_cam)
&metdata_nl met_data_file='/work/shared/noresm/inputForNudging/FAMIPC5NudgeOut/atm/hist/FAMIPC5NudgeOut.cam.h1.1979-01-01-00000.nc' met_filenames_list = '/work/shared/noresm/inputForNudging/FAMIPC5NudgeOut/atm/hist/fileList.txt'
This info can be added directly in a use_case which you associate with the compset created (see e.g. 2000_cam5_oslonudge.xml)
where met_data_file is the first met-data file to read, and met_filenames_list is a list of the following met-data. The first lines of the file should look something like this (guess what the rest of the file should look like? : )
/work/shared/noresm/inputForNudging/FAMIPC5NudgeOut/atm/hist/FAMIPC5NudgeOut.cam.h1.1979-01-01-00000.nc /work/shared/noresm/inputForNudging/FAMIPC5NudgeOut/atm/hist/FAMIPC5NudgeOut.cam.h1.1979-01-02-00000.nc /work/shared/noresm/inputForNudging/FAMIPC5NudgeOut/atm/hist/FAMIPC5NudgeOut.cam.h1.1979-01-03-00000.nc
This file can be created at the place where you put the metdata with this command:
alfgr@hexagon-4:/work/shared/noresm/inputForNudging/FAMIPC5NudgeOut/atm/hist> ls -d -1 $PWD/*.h1.*.nc > fileList.txt