6. Atmosphere

6.1. CAM6-Nor

In NorESM2, the atmospheric model CAM6-Nor replaces standard CAM. CAM6-Nor differs from CAM6 in several ways. Some of the changes are modifications to existing files (scripts, xml-files, F90-files), some code changes are made by copying original files in a different directory and modifying them, and some changes are really new code. In the F90 files, some of the changes are actived by #CAMOSLO . Below the main differences in the code are described:

Atmospheric chemistry/aerosol/cloud module: OsloAero6

A different aerosol scheme is included in CAM6-Nor. The code for this scheme can be mainly be found in the following directories under <noresm-base>:

  • components/cam/NorESM/

  • components/cam/NorESM/fv

  • components/cam/src/chemistry/pp_trop_mam_oslo

  • components/cam/src/chemistry/oslo_aero

  • components/cam/src/physics/cam_oslo

Then code in chemistry/pp_trop_mam_oslo contains code generated by the CAM chemistry preprocessor. Meanwhile, the code in chemistry/oslo_aero and physics/cam_oslo contains numerous ‘shadow files’ which contain CAM-OSLO specific modifications to files with identical filenames in other CAM directories. However, since they appear earlier in the Filepath specification, they are used instead of the original CAM files for N and NF compsets.

CAM

Some modifications in CAM (which are not related to the CAM-Oslo aerosol scheme) are implemented in the original code, but with namelist choices such that the modifications can be activated/deactivated:

  • Parameterization of turbulent air-sea fluxes (see AMIP-type experiments for more details)

  • Averaging over (changing) zenith angle during one model time step

  • Improved conservation of energy and angular momentum

In addition some parameter settings, emisson and input files will differ from standard CAM6 set-up.

CAM6-Nor source directories

If the long compset name contains

_CAM60%NORESM

then both NorESM physics modifications and the NorESM CAM-oslo aerosol scheme will be utilized. This will be achieved as follows:

  1. the xml variable CAM_CONFIG_OPTS will contain -chem trop_mam_oslo -camnor

  2. the following source directories will be prepended to the list of directories that are searched (.ie. they appear in Filepath):

    cam/src/NorESM
    cam/src/NorESM/$dyn (in our case is thus often cam/src/NorESM/fv)
    cam/src/chemistry/oslo_aero
    cam/src/physics/cam_oslo
    cam/src/chemistry/pp_trop_mam_oslo
    

6.2. Turning on AEROCOM Diagnostics

Previously in NorESM2.0, the NorESM specific CPP variables AEROCOM, AEROFFL, COLTST4INTCONS and AEROCOM_INSITU were set in the CAM file preprocessorDefinitions.h.

  • In NorESM2.1, this file no longer exists.

  • The CPP variables AEROFFL, COLTST4INTCONS and AEROCOM_INSITU are no longer in the code base. The code previously activated by the CPP variables COLTST4INTCONS and AEROCOM_INSITU has been removed and the code activated by the CPP variable AEROFFL is now always activated.

  • The only CPP variable that remains is AEROCOM and this variable is now activated via a new CAM build-time xml variable, CAM_AEROCOM. By default CAM_AEROCOM is FALSE. To turn on AEROCOM at build time, simply issue the command

    ./xmlchange CAM_AEROCOM=TRUE
    

6.3. Initial conditions

Startup runs

If your experiment is a startup run, the atmosphere is initialized using basestate files. The full pathname of the basestate file is given in the cam namelist variable ncdata which is set by build-namelist or via an entry in user_nl_cam. For NorESM2-LM, the default basestate file is located in the inputdata folder (on Fram this is /cluster/shared/noresm/inputdata/):

atm/cam/inic/fv/cami-mam3_0000-01-01_1.9x2.5_L32_c150407.nc

For NorESM2-MM, the default basestate file is:

atm/cam/inic/fv/cami-mam3_0000-01-01_0.9x1.25_L32_c141031.nc

See the following file in your NorESM2 repository for a full list of basestate files for different configurations:

<noresm>/components/cam/bld/namelist_files/namelist_defaults_cam.xml

Alternatively, as NorESM2 and CESM2 have the same default files, the different default basestate files can be inspected by looking at the entry for ncdata in the CESM2 documentation for CAM6.0 Fortran Namelist Definitions: https://docs.cesm.ucar.edu/models/cesm2/settings/2.1.0/cam_nml.html (more recent versions can be found at https://docs.cesm.ucar.edu/models/cesm2/settings/current/cam_nml.html)

Branch runs

If your experiment is a branch run, the atmosphere is initialized using the restart files from a previous run. The restart file is determined by the variables RUN_REFCASE and RUN_REFDATE in env_run.xml. The full pathname of the restart file is given by the cam namelist variable cam_branch_file. This variable does not have a default value.

Hybrid runs

If your experiment is a hybrid run, the different model components are initialized as if it was a startup, but using initialization files from a previous case at a given date (again set by the RUN_REFCASE and RUN_REFDATE variables). CAM is initialized using a initial-condition file from the previous case. The full pathname of the initial-condition file will be set in the cam namelist variable ncdata.

6.4. Setting up an AMIP-type experiment

Atmospheric Model Intercomparison Project (AMIP) style runs are runs in which the atmosphere and land components are active while values for sea surface temperatures and sea ice concentrations are prescribed (that is, read from a file). The sea-ice model CICE then runs in a simplified mode and computes surface fluxes, snow depth, albedo, and surface temperatures using 1D thermodynamics without conserving energy. The sea ice concentration is read from the same file that contains the sea surface temperature whereas the sea-ice thickness is assumed to be 2 m in the Northern Hemisphere and 1 m in the Southern Hemisphere.

The AMIP simulation is created in the same manner as a coupled simulation, but using compsets starting with NF.

6.4.1. AMIP compsets

Compsets starting with NF are NorESM AMIP (atmosphere/land-only) configurations. Predefined compsets for AMIP simulations can be found in:

<noresm_base>/components/cam/cime_config/config_compsets.xml

To see a full list of all AMIP compsets

> cd <noresm_base>/cime/scripts
> ./query_config --compsets cam

To create an AMIP-type experiment without user mods:

./create_newcase --case <PATH_TO_CASEFOLDER>/<CASENAME> --compset NFHISTnorbc --res f19_f19_mtn14 --mach betzy --project nn2345k

To create an AMIP-type experiment with provided user mods:

./create_newcase --case <PATH_TO_CASEFOLDER>/<CASENAME> --compset NFHISTnorbc --res f19_f19_mtn14 --mach betzy --project nn2345k --user-mods-dir cmip6_noresm_fsst_xaer

where defined user-mod-dirs are available in:

<noresm-base>/components/cam/cime_config/usermods_dirs/

Available user-mod-dir options for NorESM2 used in CMIP6 are:

  • cmip6_noresm_fsst_xaer (history_aerosol=.true. and AEROCOM diagnostics activated)

  • cmip6_noresm_fsst_hifreq_xaer (high frecuency output, history_aerosol=.true. and AEROCOM diagnostics activated)

6.4.2. Details of compset definitions for AMIP simulations

The NorESM AMIP compsets are defined in the file

<noresm_base>/components/cam/cime_config/config_compsets.xml

This example details the contents of “NFHISTnorbc” compset:

<!-- fSST : evolving NorESM derived ; DMS: evolving NorESM derived -->
<compset>
  <alias>NFHISTnorbc</alias>
  <lname>HIST_CAM60%NORESM%NORBC_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV</lname>
</compset>

E.g.

HIST_CAM60%NORESM%NORBC
  • Forcing and input files read from historical conditions (1850 - 2015)

  • Build CAM6.0 (the atmosphere model) with NorESM specific additions and NorESM derived boundary conditions (for the boundary conditions, please see explonation below).

CLM50%BGC-CROP
  • Build CLM5 (land model) with a global crop model (interactive vegetation)

  • If you want pre-described vegetation, use CLM50%SP

CICE%PRES
  • Build CICE (sea-ice model) with prescribed sea-ice concentration (that is consistent with the prescribed SSTs)

DOCN%DOM
  • Build data ocean with prescribed SST (that is consistent with prescribed sea-ice concentrations)

MOSART
  • Build MOSART (river runoff model) with default configurations

SGLC
  • The SGLC (land-ice) component is a ‘stub’ component which is included to satisfy the CIME interface requirements

SWAV
  • The SWAV (ocean-wave) component is a ‘stub’ component which is included to satisfy the CIME interface requirements

The SST/sea-ice-concentration file that is used for a given CAM compset configuration (e.g. CAM60%NORESM%NORBC) is set in the file

<noresm_base>/cime/src/components/data_comps/docn/cime_config/config_component.xml

and appears in the run time xml variable SSTICE_DATA_FILENAME in env_run.xml. To use a different forcing file, use the command xmlchange to modify SSTICE_DATA_FILENAME to point to a full pathname of a alternative dataset that contains new SST and sea-ice concentration data that can be used by both CICE and DOCN.

6.5. AMIP-style simulations with observed SSTs and frc2 emission files

The compsets using observed sea suface temperatures include compset names with fsst:

<compset>
  <alias>NFHISTfsst</alias>
  <lname>HIST_CAM60%NORESM%FSST_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV</lname>
</compset>

The frc2 option uses differently organized emission files. A new set of emission files have been made to avoid the occurence of random mid-month model crashes. These crashes are related to the reading of emission files, but are still under investigation. To use the newest emission files choose compset names with frc2 or if you want to create a new copset add %FRC2:

<compset>
  <alias>NFHISTfsstfrc2</alias>
  <lname>HIST_CAM60%NORESM%FSST%FRC2_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV</lname>
</compset>

6.6. NorESM2-derived boundary conditions for AMIP-style simulations

While the prescribed values used in atmosphere-only simulations are often based on observations, one might also want to use values that resemble those from a fully-coupled simulation with NorESM2. To achieve this, it is necessary to use prescribed boundary conditions for SSTs, sea-ice concentrations and upper-ocean DMS concentrations (all three fields taken from the fully-coupled simulation). Up to now, 4 sets of boundary conditions have been made and can be activated with one of the compset specifications listed below):

  1. a pre-industrial climatology with 2-degree resolution (1850_ and %NORBC in compset name) * 2x2 degree resolution in the horizontal * contains 12 monthly values * based on a 30-year period (years 1751–1780) from the CMIP6 pre-industrial control (piControl) simulation with 2x2 degree resolution (NorESM2-LM). * was used for the CMIP6 simulation piClim-control, and all simulations that are perturbation runs based on piClim-control, with NorESM2-LM (mostly 30-year long simulations)

  2. a pre-industrial climatology with 1-degree resolution (1850_ and %NORBC in compset name) * as above but on 1x1 resolution in the horizontal, and based on years 1351-1380 from the CMIP6 piControl simulation with 1x1 degree resolution (NorESM2-MM)

  3. the historical period (HIST_ and %NORBC in compset name) * 2x2 degree resolution in the horizontal * contains monthly values for years 1849-2015 * based on the period 1850–2014 from the CMIP6 historical simulation with 2x2 degree resolution (NorESM2-LM). * was used for the CMIP6 simulation histSST, and all simulations that are perturbation runs based on sstHIST, with NorESM2-LM (165-year long simulations).

  4. a future period based on SSP3-7.0 (SSP370_ and %NORBC in compset name) * 2x2 degree resolution in the horizontal * contains monthly values for years 2014-2101 * based on years 2015-2100 frm the CMIP6 SSP3-7.0 simulation with 2-degree resolution (NorESM2-LM). * was used for the CMIP6 simulation ssp370SST, and all simulations that are perturbation runs based on ssp370SST, with NorESM2-LM (86-year longs imulations). * for comparison of piClim-control and piControl, one should focus on the 30-year periods mentioned above (year 1751–1780 and 1351–1380 ) due to inter-decadal variability and/or drifts in piControl

Another thing that must be kept in mind when doing AMIP-style simulations that should resemble the coupled NorESM2 climate as closely as possible is the choice of flux parameterization used for the transfer of heat, moisture and momentum between the ocean and atmosphere, the so-called COARE flux parameterization. The flux parameterization is controlled by the variable OCN_FLUX_SCHEME in the env_run.xml file. The standard choice in CESM is:

OCN_FLUX_SCHEME=0

This parameterisation is different from the standard flux parameterization used in NorESM2, which is activated by:

OCN_FLUX_SCHEME=1.

and ends up in the drv_in namelist as:

flux_scheme=1.

6.7. Code modifications

To make more subtantial modification to the code than what is possible by the use of user_nl_cam, there are two methods:

  1. Make a branch from the NorESM2 version (branch or release) you want to modify, checkout this branch in order to make code changes directly in the source code folder.

  2. Copy the source code (the fortran file(s) you want to modify) to the SourceMods/src.cam folder in the case directory, and then make the modifications needed before building the model. By the use of this method, you will not change the source code in the <noresm-base> folder.

The CAM6/CAM6-Nor source code is located in:

<noresm-base>/components/cam/