====== 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 AMIP_CAM5%OSLO_CLM40%SP_CICE%PRES_DOCN%DOM_RTM_SGLC_SWAV The "CAM5%OSLO" options have to be defined, so a line like this is needed: -phys cam5 -cam_oslo aerlife The compset needs a description, we also need the line cam 5 physcs and oslo aerosols We could also define a specific use-case (namelist) for our compset. This would need a line like: my_namelist 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? 8-o: ) /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 ==== Namelist options ==== When looking at aerosol indirect effects, it's recommended to nudge only U, V and PS: &metdata_nl met_nudge_only_uvps = .true. Choose relaxation time (hours). Use the same time as dt in met_data_file: &metdata_nl met_rlx_time = 6 ==== Nudge to ERA-interim reanalysis ==== Link to ERA-interim metdata instead of model produced metdata. Remember to choose the files corresponding to your resolution (examples below are for f09_f09 and 32 levels in the vertical): &metdata_nl met_data_file = '/work/shared/noresm/inputdata/noresm-only/inputForNudging/ERA_f09f09_30L_days/2001-01-01.nc' met_filenames_list = '/work/shared/noresm/inputdata/noresm-only/inputForNudging/ERA_f09f09_30L_days/fileList2001-2015.txt' Add also the ERA-topography (no matter which fields you are nudging): &cam_inparm bnd_topo = '/work/shared/noresm/inputdata/noresm-only/inputForNudging/ERA_f09f09_30L_days/ERA_bnd_topo.nc'