This is an old revision of the document!
Advanced configuration of NorESM2
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','ORO','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”. One such compsets exists in the (Check in config_compsets.xml which compsets have this configure-option added.)
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'
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/*.nc > fileList.txt