Obtaining other components for coupled models - adcroft/MOM6-examples GitHub Wiki

Obtaining other components for coupled models

Apology: These instructions only apply to GFDL users who have access to the internal gitlab server. The latest coupled model components are not yet available to external users.

To build and run coupled models you will need the source code for the other components in the coupled system. Some of these are only available from within the GFDL firewall. We place all of these packages under the src/ directory within MOM6-examples; from the MOM6-examples directory execute the commands:

cd src

All of the commands below take place in this src/ directory.

Which components do I need?

Experiment group Components under src/
ocean_only/ MOM6 FMS
ice_ocean_SIS/ MOM6 SIS FMS atmos_null coupler land_null icebergs ice_ocean_extras
ice_ocean_SIS2/ MOM6 SIS2 FMS atmos_null coupler land_null icebergs ice_ocean_extras
land_ice_ocean_LM3_SIS2 MOM6 SIS2 FMS atmos_null coupler LM3 icebergs ice_ocean_extras
coupled_AM2_LM3_SIS MOM6 SIS FMS AM2 LM3 coupler ice_param icebergs
coupled_AM2_LM3_SIS2 MOM6 SIS2 FMS AM2 LM3 coupler ice_param icebergs

ice_ocean_extras is a stripped down version of ice_param, monin_obukhov and diag_integral components which are included with MOM6-examples.

SIS

SIS is the original version of the GFDL B-grid sea-ice component. From within the src/ directory:

git clone http://gitlab.gfdl.noaa.gov/fms/ice_sis.git SIS
cd SIS; git checkout 2be67d1a7d54be5da2f7843ee052c2ad76843627

LM3

LM3 is the land model used in ESM2M and ESM2G

mkdir -p LM3
(cd LM3; git clone http://gitlab.gfdl.noaa.gov/fms/land_param.git)
(cd LM3/land_param; git checkout warsaw)
(cd LM3; git clone http://gitlab.gfdl.noaa.gov/fms/land_lad2.git)
(cd LM3/land_lad2; git checkout verona_201701)

LM3 needs some preprocessing. The following expands CPP macros which otherwise causes compile-time errors for the gnu compiler:

find LM3/land_lad2 -type f -name \*.F90 -exec cpp -Duse_libMPI -Duse_netCDF -DSPMD -Duse_LARGEFILE -C -v -I ./FMS/include -o '{}'.cpp {} \;
find LM3/land_lad2 -type f -name \*.F90.cpp -exec rename .F90.cpp .f90 {} \;
find LM3/land_lad2 -type f -name \*.F90 -exec rename .F90 .F90_preCPP {} \;

To use land_null or a "verona" version of land_lad with the "warsaw" coupler, the flag "-D_USE_LEGACY_LAND" needs to be added to the compile script. Another release in the near future will make this flag unnecessary for any "warsaw" land code. Starting with the "warsaw" release, LM3 uses HDF5 file i/o, so it is necessary to make sure that the appropriate library is available from whichever script or shell is used for compilation. This can be done by adding a command like module load cray-hdf5.

AM2

AM2 is the lat-lon atmospheric model used in CM2.1, ESM2M and ESM2G

mkdir -p AM2
(cd AM2; git clone http://gitlab.gfdl.noaa.gov/fms/atmos_fv_dynamics.git)
(cd AM2/atmos_fv_dynamics; git checkout warsaw)
(cd AM2; git clone http://gitlab.gfdl.noaa.gov/fms/atmos_drivers.git)
(cd AM2/atmos_drivers; git checkout warsaw)
(cd AM2; git clone http://gitlab.gfdl.noaa.gov/fms/atmos_shared.git)
(cd AM2/atmos_shared; git checkout warsaw)

coupler

coupler is needed for any configuration other than ocean-only. The version of coupler on GitHub is now included as a sub-module (ie. src/coupler is obtained when you do a git clone --recursive for MOM6-examples). However, if you need to get a non-released/development version of coupler then do the following. From within the src/ directory type:

git clone http://gitlab.gfdl.noaa.gov/fms/coupler.git

or, if you will be pushing back to the repository use:

git clone [email protected]:fms/coupler.git

atmos_null

atmos_null is a "dummy" set or modules that provide the atmosphere's APIs but do nothing. It is now a sub-module of MOM6-examples/src/atmos_null

land_null

land_null is a "dummy" set or modules that provide the land's APIs but do nothing. It is now a sub-module, MOM6-examples/src/land_null.

ice_param

Ice_param is also needed to run any coupled model but only a stripped down version is needed for ice-ocean models. The necessary files for ice-ocean are under of MOM6-examples/ice_ocean_extras/ice_param/.

For fully coupled models:

git clone [email protected]:fms/ice_param.git
cd ice_param; git clone warsaw

Back to Getting Started