Skip to content

Commit

Permalink
Updates for component NoahMP land model (ufs-community#2387)
Browse files Browse the repository at this point in the history
* UFSWM - new RT tests based on S2S configurations: cpld_control_p8_lnd and control_restart_p8_atmlnd.
  * CMEPS - flexible way to use same grid in atm-lnd coupling
  * FV3 - 
    * ccpp-physics - new flux calculation method is implemented in CCPP/Physics sfc_land scheme to overcome initialization issues. 
  * NOAHMP - add new decomposition algorithm to NoahMP component model NUOPC cap to distribute land and ocean points evenly to all the processor.
uturuncoglu authored Jan 28, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
1 parent b9d2bec commit 0682f90
Showing 34 changed files with 3,086 additions and 3,046 deletions.
2 changes: 1 addition & 1 deletion CMEPS-interface/CMEPS
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -16,7 +16,7 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMakeModules/Modules)
###############################################################################

# Valid applications and choices
list(APPEND VALID_APPS ATM ATMAERO ATMAQ ATMW ATMWM ATML ATMF LND LND-LM4 S2S S2SA S2SW S2SWA S2SWAL ATM_DS2S ATM_DS2S-PCICE HAFS HAFSW HAFS-MOM6 HAFS-MOM6W HAFS-ALL NG-GODAS)
list(APPEND VALID_APPS ATM ATMAERO ATMAQ ATMW ATMWM ATML ATMF LND LND-LM4 S2S S2SL S2SA S2SW S2SWA S2SWL S2SWAL ATM_DS2S ATM_DS2S-PCICE HAFS HAFSW HAFS-MOM6 HAFS-MOM6W HAFS-ALL NG-GODAS)
set(APP NONE CACHE BOOL "Application Name")
if(NOT (APP IN_LIST VALID_APPS))
message(FATAL_ERROR "${APP} is not a valid application.\nValid Applications are: ${VALID_APPS}")
@@ -157,7 +157,7 @@ if(FMS)
find_package(FMS 2022.04 REQUIRED COMPONENTS R4 R8)
if(APP MATCHES "^(HAFSW)$")
add_library(fms ALIAS FMS::fms_r4)
elseif (APP MATCHES "^(S2S|S2SA|S2SW|S2SWA|S2SWAL|ATM_DS2S|ATM_DS2S-PCICE|NG-GODAS|HAFS-MOM6|HAFS-MOM6W)$")
elseif (APP MATCHES "^(S2S|S2SA|S2SL|S2SW|S2SWL|S2SWA|S2SWAL|ATM_DS2S|ATM_DS2S-PCICE|NG-GODAS|HAFS-MOM6|HAFS-MOM6W)$")
add_library(fms ALIAS FMS::fms_r8)
endif()
if(APP MATCHES "^(ATM|ATMAERO|ATMAQ|ATMWM|ATMW|ATML|ATMF|ATML-LM4|LND-LM4|HAFS|HAFS-ALL)$")
6 changes: 3 additions & 3 deletions cmake/configure_apps.cmake
Original file line number Diff line number Diff line change
@@ -52,7 +52,7 @@ if(APP MATCHES "^(NG-GODAS)$")
message("Configuring UFS app in (CDEPS) Data Atmosphere mode")
endif()

if(APP MATCHES "^(S2S|S2SA|S2SW|S2SWA|S2SWAL)$")
if(APP MATCHES "^(S2S|S2SL|S2SA|S2SW|S2SWL|S2SWA|S2SWAL)$")
set(APP_MSG "Configuring UFS app in S2S")
set(CMEPS ON CACHE BOOL "Enable CMEPS" FORCE)
set(FMS ON CACHE BOOL "Enable FMS" FORCE)
@@ -61,15 +61,15 @@ if(APP MATCHES "^(S2S|S2SA|S2SW|S2SWA|S2SWAL)$")
set(CICE6 ON CACHE BOOL "Enable CICE6" FORCE)
set(CDEPS ON CACHE BOOL "Enable CDEPS" FORCE)
set(STOCH_PHYS ON CACHE BOOL "Enable Stochastic Physics" FORCE)
if(APP MATCHES "^(S2SW|S2SWA|S2SWAL)")
if(APP MATCHES "^(S2SW|S2SWL|S2SWA|S2SWAL)")
set(WW3 ON CACHE BOOL "Enable WAVEWATCH III" FORCE)
string(CONCAT APP_MSG ${APP_MSG} " with Waves")
endif()
if(APP MATCHES "^(S2SA|S2SWA|S2SWAL)")
set(UFS_GOCART ON CACHE BOOL "Enable GOCART" FORCE)
string(CONCAT APP_MSG ${APP_MSG} " with Aerosols")
endif()
if(APP MATCHES "^S2SWAL")
if(APP MATCHES "^(S2SL|S2SWL|S2SWAL)")
set(NOAHMP ON CACHE BOOL "Enable NOAHMP" FORCE)
endif()
message("${APP_MSG} mode")
2 changes: 1 addition & 1 deletion tests/bl_date.conf
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export BL_DATE=20250107
export BL_DATE=20250122
6 changes: 1 addition & 5 deletions tests/fv3_conf/control_run.IN
Original file line number Diff line number Diff line change
@@ -93,11 +93,7 @@ else
fi

if [ $TILEDFIX = .true. ]; then
if [ $CPLLND == .true. ]; then
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[ATMRES]/@[ATMRES]*.nc INPUT/.
else
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[ATMRES]/@[ATMRES]*.nc .
fi
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[ATMRES]/@[ATMRES]*.nc .
cp @[INPUTDATA_ROOT]/FV3_fix/global_glacier.2x2.grb .
cp @[INPUTDATA_ROOT]/FV3_fix/global_maxice.2x2.grb .
cp @[INPUTDATA_ROOT]/FV3_fix/RTGSST.1982.2012.monthly.clim.grb .
199 changes: 148 additions & 51 deletions tests/fv3_conf/noahmp_run.IN
Original file line number Diff line number Diff line change
@@ -1,64 +1,161 @@
mkdir -p INPUT RESTART

if [ "$LNDRES" = "C96" ]; then
if [ "$ATMRES" = "C96" ]; then
inputdir=FV3_input_data
elif [ "$LNDRES" = "C48" ]; then
inputdir=FV3_input_data48
elif [ "$LNDRES" = "C192" ]; then
inputdir=FV3_input_data192
elif [ "$LNDRES" = "C384" ]; then
inputdir=FV3_input_data384
elif [ "$LNDRES" = "C768" ]; then
inputdir=FV3_input_data768
else
inputdir=FV3_input_data${ATMRES#C}
fi
echo "inputdir=$inputdir,LNDRES=$LNDRES"
echo "inputdir=$inputdir,ATMRES=$ATMRES"

V2_SFC_FILE=${V2_SFC_FILE:-false}
SUFFIX=${RT_SUFFIX}

if [ $DATM_CDEPS == true ]; then
if [[ $DATM_CDEPS == true ]] || [[ $S2S = false ]]; then
targetdir="./INPUT"
rsync -arv @[INPUTDATA_ROOT]/NOAHMP_IC/$atm_datamode/ufs-land_@[LNDRES]_init_fields.tile1.nc ./${targetdir}/@[LNDRES].initial.tile1.nc
rsync -arv @[INPUTDATA_ROOT]/NOAHMP_IC/$atm_datamode/ufs-land_@[LNDRES]_init_fields.tile2.nc ./${targetdir}/@[LNDRES].initial.tile2.nc
rsync -arv @[INPUTDATA_ROOT]/NOAHMP_IC/$atm_datamode/ufs-land_@[LNDRES]_init_fields.tile3.nc ./${targetdir}/@[LNDRES].initial.tile3.nc
rsync -arv @[INPUTDATA_ROOT]/NOAHMP_IC/$atm_datamode/ufs-land_@[LNDRES]_init_fields.tile4.nc ./${targetdir}/@[LNDRES].initial.tile4.nc
rsync -arv @[INPUTDATA_ROOT]/NOAHMP_IC/$atm_datamode/ufs-land_@[LNDRES]_init_fields.tile5.nc ./${targetdir}/@[LNDRES].initial.tile5.nc
rsync -arv @[INPUTDATA_ROOT]/NOAHMP_IC/$atm_datamode/ufs-land_@[LNDRES]_init_fields.tile6.nc ./${targetdir}/@[LNDRES].initial.tile6.nc
else
if [ "$ATMRES" = "$LNDRES" ]; then
targetdir="./INPUT"
cd ${targetdir}
ln -sf grid_spec.nc @[LNDRES]_mosaic.nc
cd -
else
mkdir -p INPUT/$LNDRES
targetdir="./INPUT/$LNDRES"
fi

if [ $WARM_START = .false. ]; then
cp -r @[INPUTDATA_ROOT]/${inputdir}/INPUT_L127/sfc_data.tile*.nc ${targetdir}/.
if [ $DATM_CDEPS == true ]; then
# Initial condition
rsync -arv @[INPUTDATA_ROOT]/NOAHMP_IC/$atm_datamode/ufs-land_@[LNDRES]_init_fields.tile1.nc ./${targetdir}/@[LNDRES].initial.tile1.nc
rsync -arv @[INPUTDATA_ROOT]/NOAHMP_IC/$atm_datamode/ufs-land_@[LNDRES]_init_fields.tile2.nc ./${targetdir}/@[LNDRES].initial.tile2.nc
rsync -arv @[INPUTDATA_ROOT]/NOAHMP_IC/$atm_datamode/ufs-land_@[LNDRES]_init_fields.tile3.nc ./${targetdir}/@[LNDRES].initial.tile3.nc
rsync -arv @[INPUTDATA_ROOT]/NOAHMP_IC/$atm_datamode/ufs-land_@[LNDRES]_init_fields.tile4.nc ./${targetdir}/@[LNDRES].initial.tile4.nc
rsync -arv @[INPUTDATA_ROOT]/NOAHMP_IC/$atm_datamode/ufs-land_@[LNDRES]_init_fields.tile5.nc ./${targetdir}/@[LNDRES].initial.tile5.nc
rsync -arv @[INPUTDATA_ROOT]/NOAHMP_IC/$atm_datamode/ufs-land_@[LNDRES]_init_fields.tile6.nc ./${targetdir}/@[LNDRES].initial.tile6.nc

# Fixed files
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/oro_@[LNDRES].mx@[OCNRES].tile1.nc ${targetdir}/oro_data.tile1.nc
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/oro_@[LNDRES].mx@[OCNRES].tile2.nc ${targetdir}/oro_data.tile2.nc
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/oro_@[LNDRES].mx@[OCNRES].tile3.nc ${targetdir}/oro_data.tile3.nc
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/oro_@[LNDRES].mx@[OCNRES].tile4.nc ${targetdir}/oro_data.tile4.nc
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/oro_@[LNDRES].mx@[OCNRES].tile5.nc ${targetdir}/oro_data.tile5.nc
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/oro_@[LNDRES].mx@[OCNRES].tile6.nc ${targetdir}/oro_data.tile6.nc
cp @[INPUTDATA_ROOT]/${inputdir}/INPUT_L127_gfsv17/oro_data_ls* ${targetdir}/.
cp @[INPUTDATA_ROOT]/${inputdir}/INPUT_L127_gfsv17/oro_data_ss* ${targetdir}/.
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/@[LNDRES]*.nc ${targetdir}/.
cp @[INPUTDATA_ROOT]/CPL_FIX/a@[LNDRES]o@[OCNRES]/grid_spec.nc ${targetdir}/.
cp @[INPUTDATA_ROOT]/${inputdir}/INPUT/@[LNDRES]_grid*.nc ${targetdir}/.
cp @[INPUTDATA_ROOT]/${inputdir}/INPUT/grid_spec.nc ${targetdir}/@[LNDRES]_mosaic.nc
else
# land restart file
cp ../${DEP_RUN}${SUFFIX}/ufs.cpld.lnd.out.${RESTART_FILE_SUFFIX_SECS}.tile*.nc RESTART/.
# CMEPS restart and pointer files
RFILE=ufs.cpld.cpl.r.${RESTART_FILE_SUFFIX_SECS}.nc
cp ../${DEP_RUN}${SUFFIX}/RESTART/${RFILE} .
ls -1 ${RFILE}>rpointer.cpl
# link grid spec file
# Initial condition
if [ $WARM_START = .false. ]; then
# IC
if [ "$V2_SFC_FILE" = "true" ]; then
cp -r @[INPUTDATA_ROOT]/${inputdir}/INPUT_L127_mx${OCNRES}_v2_sfc/sfc_data*.nc ${targetdir}/.
cp -r @[INPUTDATA_ROOT]/${inputdir}/INPUT_L127_mx${OCNRES}_v2_sfc/gfs_data*.nc ${targetdir}/.
cp -r @[INPUTDATA_ROOT]/${inputdir}/INPUT_L127_mx${OCNRES}_v2_sfc/gfs_ctrl.nc ${targetdir}/.
else
cp -r @[INPUTDATA_ROOT]/${inputdir}/INPUT_L127_mx${OCNRES}/sfc_data*.nc ${targetdir}/.
cp -r @[INPUTDATA_ROOT]/${inputdir}/INPUT_L127_mx${OCNRES}/gfs_data*.nc ${targetdir}/.
cp -r @[INPUTDATA_ROOT]/${inputdir}/INPUT_L127_mx${OCNRES}/gfs_ctrl*.nc ${targetdir}/.
fi
else
# FV3 related restart files
cp -r ../${DEP_RUN}${SUFFIX}/${targetdir}/* ${targetdir}/.
cp -r ../${DEP_RUN}${SUFFIX}/RESTART/${RESTART_FILE_PREFIX}.* ${targetdir}/.
for RFILE in INPUT/${RESTART_FILE_PREFIX}.*; do
[ -e $RFILE ] || exit 1
RFILE_OLD=$(basename $RFILE)
mv -f $RFILE ${targetdir}/"${RFILE_OLD//${RESTART_FILE_PREFIX}./}"
done
if [[ $IAU_OFFSET == 6 ]] && [[ $FHROT -le 6 ]]; then
cp @[INPUTDATA_ROOT]/${inputdir}/INPUT_L127_mx${OCNRES}/fv_increment*.nc INPUT/.
fi
fi

# Fixed files
FNSMCC="global_soilmgldas.statsgo.t1534.3072.1536.grb"
FNMSKH="global_slmask.t1534.3072.1536.grb"
cp @[INPUTDATA_ROOT]/${inputdir}/${FNSMCC} .
cp @[INPUTDATA_ROOT]/${inputdir}/${FNMSKH} .
if [ $TILEDFIX = .true. ]; then
cp @[INPUTDATA_ROOT]/FV3_fix/global_glacier.2x2.grb .
cp @[INPUTDATA_ROOT]/FV3_fix/global_maxice.2x2.grb .
cp @[INPUTDATA_ROOT]/FV3_fix/RTGSST.1982.2012.monthly.clim.grb .
cp @[INPUTDATA_ROOT]/FV3_fix/global_snoclim.1.875.grb .
cp @[INPUTDATA_ROOT]/FV3_fix/IMS-NIC.blended.ice.monthly.clim.grb .
fi

cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[ATMRES]/oro_@[ATMRES].mx@[OCNRES].tile1.nc ${targetdir}/oro_data.tile1.nc
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[ATMRES]/oro_@[ATMRES].mx@[OCNRES].tile2.nc ${targetdir}/oro_data.tile2.nc
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[ATMRES]/oro_@[ATMRES].mx@[OCNRES].tile3.nc ${targetdir}/oro_data.tile3.nc
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[ATMRES]/oro_@[ATMRES].mx@[OCNRES].tile4.nc ${targetdir}/oro_data.tile4.nc
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[ATMRES]/oro_@[ATMRES].mx@[OCNRES].tile5.nc ${targetdir}/oro_data.tile5.nc
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[ATMRES]/oro_@[ATMRES].mx@[OCNRES].tile6.nc ${targetdir}/oro_data.tile6.nc
cp @[INPUTDATA_ROOT]/${inputdir}/INPUT_L127_gfsv17/oro_data_ls* ${targetdir}/.
cp @[INPUTDATA_ROOT]/${inputdir}/INPUT_L127_gfsv17/oro_data_ss* ${targetdir}/.
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[ATMRES]/@[ATMRES]*.nc .
cp @[INPUTDATA_ROOT]/CPL_FIX/a@[ATMRES]o@[OCNRES]/grid_spec.nc ${targetdir}/.
cp @[INPUTDATA_ROOT]/${inputdir}/INPUT/@[ATMRES]_grid*.nc ${targetdir}/.
cp @[INPUTDATA_ROOT]/${inputdir}/INPUT/grid_spec.nc ${targetdir}/@[ATMRES]_mosaic.nc
cp @[INPUTDATA_ROOT]/MOM6_FIX/@[OCNRES]/ocean_mosaic.nc ${targetdir}/.

# Merra2
if [ $IAER = 1011 ]; then
for n in 01 02 03 04 05 06 07 08 09 10 11 12; do
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/MERRA2_y14_24/merra2_1423_${n}.nc aeroclim.m${n}.nc
done
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/aer_data/LUTS/optics_BC.v1_3.dat optics_BC.dat
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/aer_data/LUTS/optics_OC.v1_3.dat optics_OC.dat
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/aer_data/LUTS/optics_DU.v15_3.dat optics_DU.dat
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/aer_data/LUTS/optics_SS.v3_3.dat optics_SS.dat
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/aer_data/LUTS/optics_SU.v1_3.dat optics_SU.dat
fi

cp @[INPUTDATA_ROOT]/FV3_input_data/ugwp_c384_tau.nc ./ugwp_limb_tau.nc

if [ $IMP_PHYSICS = 8 ]; then
cp @[INPUTDATA_ROOT]/FV3_fix/CCN_ACTIVATE.BIN CCN_ACTIVATE.BIN
cp @[INPUTDATA_ROOT]/FV3_fix/freezeH2O.dat freezeH2O.dat
cp @[INPUTDATA_ROOT]/FV3_fix/qr_acr_qgV2.dat qr_acr_qgV2.dat
cp @[INPUTDATA_ROOT]/FV3_fix/qr_acr_qsV2.dat qr_acr_qsV2.dat
fi

# Prognostic aerosols
if [ $CPLCHM = .true. ]; then
ln -sf @[INPUTDATA_ROOT]/GOCART/p8c_5d/ExtData .
fi
fi
fi

# Land component related restart files
if [ $WARM_START = .true. ]; then
# Copy land restart files
cp ../${DEP_RUN}${SUFFIX}/ufs.cpld.lnd.out.${RESTART_FILE_SUFFIX_SECS}.tile*.nc RESTART/.
# CMEPS restart and pointer files
RFILE=ufs.cpld.cpl.r.${RESTART_FILE_SUFFIX_SECS}.nc
cp ../${DEP_RUN}${SUFFIX}/RESTART/${RFILE} .
ls -1 ${RFILE}>rpointer.cpl
fi

# Running land in different resolution
# Note that CMEPS mediator has some limitiations to run land in different resolution than atmosphere
if [ "$ATMRES" != "$LNDRES" ]; then
rsync -arv @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/@[LNDRES].maximum_snow_albedo.tile*.nc ${targetdir}/.
rsync -arv @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/@[LNDRES].slope_type.tile*.nc ${targetdir}/.
rsync -arv @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/@[LNDRES].soil_type.tile*.nc ${targetdir}/.
rsync -arv @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/@[LNDRES].soil_color.tile*.nc ${targetdir}/.
rsync -arv @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/@[LNDRES].substrate_temperature.tile*.nc ${targetdir}/.
rsync -arv @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/@[LNDRES].vegetation_greenness.tile*.nc ${targetdir}/.
rsync -arv @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/@[LNDRES].vegetation_type.tile*.nc ${targetdir}/.
rsync -arv @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/oro_@[LNDRES].mx*.tile1.nc ${targetdir}/oro_data.tile1.nc
rsync -arv @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/oro_@[LNDRES].mx*.tile2.nc ${targetdir}/oro_data.tile2.nc
rsync -arv @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/oro_@[LNDRES].mx*.tile3.nc ${targetdir}/oro_data.tile3.nc
rsync -arv @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/oro_@[LNDRES].mx*.tile4.nc ${targetdir}/oro_data.tile4.nc
rsync -arv @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/oro_@[LNDRES].mx*.tile5.nc ${targetdir}/oro_data.tile5.nc
rsync -arv @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/oro_@[LNDRES].mx*.tile6.nc ${targetdir}/oro_data.tile6.nc
rsync -arv @[INPUTDATA_ROOT]/${inputdir}/INPUT/@[LNDRES]_grid.tile*.nc ${targetdir}/.
rsync -arv @[INPUTDATA_ROOT]/${inputdir}/INPUT/grid_spec.nc ${targetdir}/@[LNDRES]_mosaic.nc
mkdir -p INPUT/$LNDRES
targetdir="./INPUT/$LNDRES"
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/@[LNDRES].maximum_snow_albedo.tile*.nc ${targetdir}/.
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/@[LNDRES].slope_type.tile*.nc ${targetdir}/.
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/@[LNDRES].soil_type.tile*.nc ${targetdir}/.
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/@[LNDRES].soil_color.tile*.nc ${targetdir}/.
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/@[LNDRES].substrate_temperature.tile*.nc ${targetdir}/.
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/@[LNDRES].vegetation_greenness.tile*.nc ${targetdir}/.
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/@[LNDRES].vegetation_type.tile*.nc ${targetdir}/.
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/oro_@[LNDRES].mx025.tile1.nc ${targetdir}/oro_data.tile1.nc
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/oro_@[LNDRES].mx025.tile2.nc ${targetdir}/oro_data.tile2.nc
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/oro_@[LNDRES].mx025.tile3.nc ${targetdir}/oro_data.tile3.nc
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/oro_@[LNDRES].mx025.tile4.nc ${targetdir}/oro_data.tile4.nc
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/oro_@[LNDRES].mx025.tile5.nc ${targetdir}/oro_data.tile5.nc
cp @[INPUTDATA_ROOT]/FV3_fix_tiled/@[LNDRES]/oro_@[LNDRES].mx025.tile6.nc ${targetdir}/oro_data.tile6.nc
cp @[INPUTDATA_ROOT]/FV3_input_data${LNDRES#C}/INPUT/@[LNDRES]_grid.tile*.nc ${targetdir}/.
cp @[INPUTDATA_ROOT]/FV3_input_data${LNDRES#C}/INPUT/grid_spec.nc ${targetdir}/@[LNDRES]_mosaic.nc
if [ $WARM_START = .false. ]; then
if [ "$V2_SFC_FILE" = "true" ]; then
cp @[INPUTDATA_ROOT]/FV3_input_data${LNDRES#C}/INPUT_L127_mx025_v2_sfc/sfc_data*.nc ${targetdir}/.
cp @[INPUTDATA_ROOT]/FV3_input_data${LNDRES#C}/INPUT_L127_mx025_v2_sfc/gfs_data*.nc ${targetdir}/.
cp @[INPUTDATA_ROOT]/FV3_input_data${LNDRES#C}/INPUT_L127_mx025_v2_sfc/gfs_ctrl*.nc ${targetdir}/.
else
cp @[INPUTDATA_ROOT]/FV3_input_data${LNDRES#C}/INPUT_L127_mx025/sfc_data*.nc ${targetdir}/.
cp @[INPUTDATA_ROOT]/FV3_input_data${LNDRES#C}/INPUT_L127_mx025/gfs_data*.nc ${targetdir}/.
cp @[INPUTDATA_ROOT]/FV3_input_data${LNDRES#C}/INPUT_L127_mx025/gfs_ctrl*.nc ${targetdir}/.
fi
fi
fi
48 changes: 24 additions & 24 deletions tests/logs/OpnReqTests_control_p8_hera.log
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Tue Jan 21 05:49:59 UTC 2025
Fri Jan 24 02:31:13 UTC 2025
Start Operation Requirement Test


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_bit_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_477183/bit_base_bit_base
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_1945597/bit_base_bit_base
Checking test bit_base results ....
Moving baseline bit_base files ....
Moving sfcf000.nc .........OK
@@ -51,14 +51,14 @@ Moving baseline bit_base files ....
Moving RESTART/20210323.060000.sfc_data.tile5.nc .........OK
Moving RESTART/20210323.060000.sfc_data.tile6.nc .........OK

0: The total amount of wall time = 287.320072
0: The maximum resident set size (KB) = 1448288
0: The total amount of wall time = 261.209374
0: The maximum resident set size (KB) = 1444280

Test bit_base PASS


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_dbg_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_477183/dbg_base_dbg_base
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_1945597/dbg_base_dbg_base
Checking test dbg_base results ....
Moving baseline dbg_base files ....
Moving sfcf000.nc .........OK
@@ -106,14 +106,14 @@ Moving baseline dbg_base files ....
Moving RESTART/20210323.060000.sfc_data.tile5.nc .........OK
Moving RESTART/20210323.060000.sfc_data.tile6.nc .........OK

0: The total amount of wall time = 876.657665
0: The maximum resident set size (KB) = 1437152
0: The total amount of wall time = 898.596863
0: The maximum resident set size (KB) = 1423760

Test dbg_base PASS


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_477183/dcp_dcp
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_1945597/dcp_dcp
Checking test dcp results ....
Comparing sfcf000.nc .....USING NCCMP......OK
Comparing sfcf021.nc .....USING NCCMP......OK
@@ -160,14 +160,14 @@ Checking test dcp results ....
Comparing RESTART/20210323.060000.sfc_data.tile5.nc .....USING NCCMP......OK
Comparing RESTART/20210323.060000.sfc_data.tile6.nc .....USING NCCMP......OK

0: The total amount of wall time = 252.676844
0: The maximum resident set size (KB) = 1421128
0: The total amount of wall time = 230.932286
0: The maximum resident set size (KB) = 1426492

Test dcp PASS


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_477183/mpi_mpi
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_1945597/mpi_mpi
Checking test mpi results ....
Comparing sfcf000.nc .....USING NCCMP......OK
Comparing sfcf021.nc .....USING NCCMP......OK
@@ -214,14 +214,14 @@ Checking test mpi results ....
Comparing RESTART/20210323.060000.sfc_data.tile5.nc .....USING NCCMP......OK
Comparing RESTART/20210323.060000.sfc_data.tile6.nc .....USING NCCMP......OK

0: The total amount of wall time = 236.323493
0: The maximum resident set size (KB) = 1429624
0: The total amount of wall time = 237.659021
0: The maximum resident set size (KB) = 1420064

Test mpi PASS


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_477183/rst_rst
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_1945597/rst_rst
Checking test rst results ....
Comparing sfcf000.nc .....USING NCCMP......OK
Comparing sfcf021.nc .....USING NCCMP......OK
@@ -268,14 +268,14 @@ Checking test rst results ....
Comparing RESTART/20210323.060000.sfc_data.tile5.nc .....USING NCCMP......OK
Comparing RESTART/20210323.060000.sfc_data.tile6.nc .....USING NCCMP......OK

0: The total amount of wall time = 235.014572
0: The maximum resident set size (KB) = 1420424
0: The total amount of wall time = 234.966055
0: The maximum resident set size (KB) = 1422512

Test rst PASS


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_477183/std_base_std_base
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_1945597/std_base_std_base
Checking test std_base results ....
Moving baseline std_base files ....
Moving sfcf000.nc .........OK
@@ -323,14 +323,14 @@ Moving baseline std_base files ....
Moving RESTART/20210323.060000.sfc_data.tile5.nc .........OK
Moving RESTART/20210323.060000.sfc_data.tile6.nc .........OK

0: The total amount of wall time = 236.140386
0: The maximum resident set size (KB) = 1433648
0: The total amount of wall time = 233.819689
0: The maximum resident set size (KB) = 1414824

Test std_base PASS


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_477183/thr_thr
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_1945597/thr_thr
Checking test thr results ....
Comparing sfcf000.nc .....USING NCCMP......OK
Comparing sfcf021.nc .....USING NCCMP......OK
@@ -377,11 +377,11 @@ Checking test thr results ....
Comparing RESTART/20210323.060000.sfc_data.tile5.nc .....USING NCCMP......OK
Comparing RESTART/20210323.060000.sfc_data.tile6.nc .....USING NCCMP......OK

0: The total amount of wall time = 234.759589
0: The maximum resident set size (KB) = 1433016
0: The total amount of wall time = 231.400420
0: The maximum resident set size (KB) = 1424780

Test thr PASS

OPERATION REQUIREMENT TEST WAS SUCCESSFUL
Tue Jan 21 06:58:31 UTC 2025
Elapsed time: 01h:08m:33s. Have a nice day!
Fri Jan 24 03:42:57 UTC 2025
Elapsed time: 01h:11m:45s. Have a nice day!
24 changes: 12 additions & 12 deletions tests/logs/OpnReqTests_cpld_control_nowave_noaero_p8_hera.log
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Tue Jan 21 04:11:58 UTC 2025
Fri Jan 24 00:53:56 UTC 2025
Start Operation Requirement Test


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/cpld_control_c96_noaero_p8_dbg_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_120730/dbg_base_dbg_base
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_1633720/dbg_base_dbg_base
Checking test dbg_base results ....
Moving baseline dbg_base files ....
Moving sfcf021.tile1.nc .........OK
@@ -66,14 +66,14 @@ Moving baseline dbg_base files ....
Moving RESTART/iced.2021-03-23-21600.nc .........OK
Moving RESTART/ufs.cpld.cpl.r.2021-03-23-21600.nc .........OK

0: The total amount of wall time = 2676.469340
0: The maximum resident set size (KB) = 1518024
0: The total amount of wall time = 2476.263104
0: The maximum resident set size (KB) = 1491168

Test dbg_base PASS


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/cpld_control_c96_noaero_p8_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_120730/rst_rst
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_1633720/rst_rst
Checking test rst results ....
Comparing sfcf021.tile1.nc .....USING NCCMP......OK
Comparing sfcf021.tile2.nc .....USING NCCMP......OK
@@ -135,14 +135,14 @@ Checking test rst results ....
Comparing RESTART/iced.2021-03-23-21600.nc .....USING NCCMP......OK
Comparing RESTART/ufs.cpld.cpl.r.2021-03-23-21600.nc .....USING NCCMP......OK

0: The total amount of wall time = 813.896517
0: The maximum resident set size (KB) = 1508392
0: The total amount of wall time = 662.263266
0: The maximum resident set size (KB) = 1495952

Test rst PASS


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/cpld_control_c96_noaero_p8_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_120730/std_base_std_base
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_1633720/std_base_std_base
Checking test std_base results ....
Moving baseline std_base files ....
Moving sfcf021.tile1.nc .........OK
@@ -205,11 +205,11 @@ Moving baseline std_base files ....
Moving RESTART/iced.2021-03-23-21600.nc .........OK
Moving RESTART/ufs.cpld.cpl.r.2021-03-23-21600.nc .........OK

0: The total amount of wall time = 678.460183
0: The maximum resident set size (KB) = 1505616
0: The total amount of wall time = 666.677233
0: The maximum resident set size (KB) = 1493700

Test std_base PASS

OPERATION REQUIREMENT TEST WAS SUCCESSFUL
Tue Jan 21 05:49:58 UTC 2025
Elapsed time: 01h:38m:00s. Have a nice day!
Fri Jan 24 02:31:12 UTC 2025
Elapsed time: 01h:37m:16s. Have a nice day!
30 changes: 15 additions & 15 deletions tests/logs/OpnReqTests_regional_control_hera.log
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Tue Jan 21 01:39:24 UTC 2025
Thu Jan 23 22:11:22 UTC 2025
Start Operation Requirement Test


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/regional_control_bit_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_3701143/bit_base_bit_base
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_905248/bit_base_bit_base
Checking test bit_base results ....
Moving baseline bit_base files ....
Moving dynf000.nc .........OK
@@ -15,14 +15,14 @@ Moving baseline bit_base files ....
Moving NATLEV.GrbF00 .........OK
Moving NATLEV.GrbF06 .........OK

0: The total amount of wall time = 1419.663361
0: The maximum resident set size (KB) = 767536
0: The total amount of wall time = 1400.218854
0: The maximum resident set size (KB) = 768752

Test bit_base PASS


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/regional_control_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_3701143/dcp_dcp
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_905248/dcp_dcp
Checking test dcp results ....
Comparing dynf000.nc .....USING NCCMP......OK
Comparing dynf006.nc .....USING NCCMP......OK
@@ -33,14 +33,14 @@ Checking test dcp results ....
Comparing NATLEV.GrbF00 .....USING CMP......OK
Comparing NATLEV.GrbF06 .....USING CMP......OK

0: The total amount of wall time = 2222.506149
0: The maximum resident set size (KB) = 737008
0: The total amount of wall time = 2207.914111
0: The maximum resident set size (KB) = 724580

Test dcp PASS


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/regional_control_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_3701143/std_base_std_base
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_905248/std_base_std_base
Checking test std_base results ....
Moving baseline std_base files ....
Moving dynf000.nc .........OK
@@ -52,14 +52,14 @@ Moving baseline std_base files ....
Moving NATLEV.GrbF00 .........OK
Moving NATLEV.GrbF06 .........OK

0: The total amount of wall time = 2194.200962
0: The maximum resident set size (KB) = 712244
0: The total amount of wall time = 2203.715305
0: The maximum resident set size (KB) = 714620

Test std_base PASS


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/regional_control_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_3701143/thr_thr
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_905248/thr_thr
Checking test thr results ....
Comparing dynf000.nc .....USING NCCMP......OK
Comparing dynf006.nc .....USING NCCMP......OK
@@ -70,11 +70,11 @@ Checking test thr results ....
Comparing NATLEV.GrbF00 .....USING CMP......OK
Comparing NATLEV.GrbF06 .....USING CMP......OK

0: The total amount of wall time = 2208.564561
0: The maximum resident set size (KB) = 723148
0: The total amount of wall time = 2202.404532
0: The maximum resident set size (KB) = 724172

Test thr PASS

OPERATION REQUIREMENT TEST WAS SUCCESSFUL
Tue Jan 21 04:11:58 UTC 2025
Elapsed time: 02h:32m:34s. Have a nice day!
Fri Jan 24 00:56:07 UTC 2025
Elapsed time: 02h:44m:46s. Have a nice day!
571 changes: 287 additions & 284 deletions tests/logs/RegressionTests_derecho.log

Large diffs are not rendered by default.

603 changes: 303 additions & 300 deletions tests/logs/RegressionTests_gaeac5.log

Large diffs are not rendered by default.

631 changes: 352 additions & 279 deletions tests/logs/RegressionTests_gaeac6.log

Large diffs are not rendered by default.

836 changes: 452 additions & 384 deletions tests/logs/RegressionTests_hera.log

Large diffs are not rendered by default.

848 changes: 445 additions & 403 deletions tests/logs/RegressionTests_hercules.log

Large diffs are not rendered by default.

579 changes: 326 additions & 253 deletions tests/logs/RegressionTests_jet.log

Large diffs are not rendered by default.

313 changes: 20 additions & 293 deletions tests/logs/RegressionTests_orion.log

Large diffs are not rendered by default.

472 changes: 237 additions & 235 deletions tests/logs/RegressionTests_wcoss2.log

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions tests/parm/ufs.configure.atm_lm4.IN
Original file line number Diff line number Diff line change
@@ -26,6 +26,7 @@ MED_attributes::
history_option = nhours
history_ymd = -999
coupling_mode = @[CPLMODE]
samegrid_atmlnd = @[samegrid_atmlnd]
history_tile_lnd = 96
history_n_lnd_inst = 6
history_option_lnd_inst = nhours
8 changes: 5 additions & 3 deletions tests/parm/ufs.configure.atm_lnd.IN
Original file line number Diff line number Diff line change
@@ -26,6 +26,7 @@ MED_attributes::
history_option = nhours
history_ymd = -999
coupling_mode = @[CPLMODE]
samegrid_atmlnd = @[samegrid_atmlnd]
::

# ATM #
@@ -46,6 +47,7 @@ LND_attributes::
Diagnostic = 0
mosaic_file = @[mosaic_file]
input_dir = @[lnd_input_dir]
fixed_dir = @[lnd_fixed_dir]
ic_type = @[lnd_ic_type]
layout = @[layout_x]:@[layout_y] # need to be consistent with number of PEs
num_soil_levels = 4
@@ -77,13 +79,13 @@ LND_attributes::
runSeq::
@@[coupling_interval_sec]
MED med_phases_prep_atm
MED med_phases_prep_lnd
MED -> ATM :remapMethod=redist
MED -> LND :remapMethod=redist
ATM
LND
ATM -> MED :remapMethod=redist
MED med_phases_post_atm
MED med_phases_prep_lnd
MED -> LND :remapMethod=redist
LND
LND -> MED :remapMethod=redist
MED med_phases_post_lnd
MED med_phases_restart_write
205 changes: 205 additions & 0 deletions tests/parm/ufs.configure.s2swal_fast.IN
Original file line number Diff line number Diff line change
@@ -0,0 +1,205 @@
#############################################
#### UFS Run-Time Configuration File ######
#############################################

# ESMF #
logKindFlag: ESMF_LOGKIND_MULTI
globalResourceControl: @[ESMF_THREADING]

# EARTH #
EARTH_component_list: MED ATM CHM OCN ICE WAV LND
EARTH_attributes::
Verbosity = 0
::

# MED #
MED_model: @[med_model]
MED_petlist_bounds: @[med_petlist_bounds]
MED_omp_num_threads: @[med_omp_num_threads]

# ATM #
ATM_model: @[atm_model]
ATM_petlist_bounds: @[atm_petlist_bounds]
ATM_omp_num_threads: @[atm_omp_num_threads]
ATM_attributes::
Verbosity = 0
DumpFields = false
ProfileMemory = false
OverwriteSlice = true
::

# CHM #
CHM_model: @[chm_model]
CHM_petlist_bounds: @[chm_petlist_bounds]
CHM_omp_num_threads: @[chm_omp_num_threads]
CHM_attributes::
Verbosity = 0
::

# OCN #
OCN_model: @[ocn_model]
OCN_petlist_bounds: @[ocn_petlist_bounds]
OCN_omp_num_threads: @[ocn_omp_num_threads]
OCN_attributes::
Verbosity = 0
DumpFields = false
ProfileMemory = false
OverwriteSlice = true
mesh_ocn = @[MESH_OCN]
use_coldstart = @[use_coldstart]
use_mommesh = @[use_mommesh]
::

# ICE #
ICE_model: @[ice_model]
ICE_petlist_bounds: @[ice_petlist_bounds]
ICE_omp_num_threads: @[ice_omp_num_threads]
ICE_attributes::
Verbosity = 0
DumpFields = false
ProfileMemory = false
OverwriteSlice = true
mesh_ice = @[MESH_ICE]
eps_imesh = @[eps_imesh]
stop_n = @[RESTART_N]
stop_option = nhours
stop_ymd = -999
::

# WAV #
WAV_model: @[wav_model]
WAV_petlist_bounds: @[wav_petlist_bounds]
WAV_omp_num_threads: @[wav_omp_num_threads]
WAV_attributes::
Verbosity = 0
OverwriteSlice = false
mesh_wav = @[MESH_WAV]
user_histname = @[WW3_user_histname]
use_historync = @[WW3_historync]
use_restartnc = @[WW3_restartnc]
restart_from_binary = @[WW3_restart_from_binary]
pio_typename = @[WW3_PIO_FORMAT]
pio_numiotasks = @[WW3_PIO_IOTASKS]
pio_stride = @[WW3_PIO_STRIDE]
pio_rearranger = @[WW3_PIO_REARR]
pio_root = @[WW3_PIO_ROOT]
::

# LND #
LND_model: @[lnd_model]
LND_petlist_bounds: @[lnd_petlist_bounds]
LND_omp_num_threads: @[lnd_omp_num_threads]
LND_attributes::
Verbosity = 1
Diagnostic = 0
mosaic_file = @[mosaic_file]
input_dir = @[lnd_input_dir]
fixed_dir = @[lnd_fixed_dir]
ic_type = @[lnd_ic_type]
layout = @[layout_x]:@[layout_y] # need to be consistent with number of PEs
num_soil_levels = 4
forcing_height = 10
soil_level_thickness = 0.10:0.30:0.60:1.00
soil_level_nodes = 0.05:0.25:0.70:1.50
dynamic_vegetation_option = 4
canopy_stomatal_resistance_option = 2
soil_wetness_option = 1
runoff_option = 1
surface_exchange_option = 3
supercooled_soilwater_option = 1
frozen_soil_adjust_option = 1
radiative_transfer_option = 3
snow_albedo_option = @[snow_albedo_option]
precip_partition_option = @[precip_partition_option]
soil_temp_lower_bdy_option = 2
soil_temp_time_scheme_option = 3
surface_evap_resistance_option = 1 # not used, it is fixed to 4 in sfc_noahmp_drv.F90
glacier_option = 1
surface_thermal_roughness_option = 2
output_freq = 3600
restart_freq = -1
calc_snet = @[CALC_SNET]
initial_albedo = @[initial_albedo]
::

# CMEPS warm run sequence
runSeq::
@@[coupling_interval_slow_sec]
MED med_phases_prep_ocn_avg
MED -> OCN :remapMethod=redist
OCN
@@[coupling_interval_fast_sec]
MED med_phases_prep_atm
MED med_phases_prep_ice
MED med_phases_prep_wav_accum
MED med_phases_prep_wav_avg
MED med_phases_prep_lnd
MED -> ATM :remapMethod=redist
MED -> ICE :remapMethod=redist
MED -> WAV :remapMethod=redist
MED -> LND :remapMethod=redist
ATM phase1
ATM -> CHM
CHM
CHM -> ATM
ATM phase2
ICE
WAV
LND
ATM -> MED :remapMethod=redist
MED med_phases_post_atm
ICE -> MED :remapMethod=redist
MED med_phases_post_ice
WAV -> MED :remapMethod=redist
MED med_phases_post_wav
LND -> MED :remapMethod=redist
MED med_phases_post_lnd
MED med_phases_ocnalb_run
MED med_phases_prep_ocn_accum
@
OCN -> MED :remapMethod=redist
MED med_phases_post_ocn
MED med_phases_restart_write
@
::

# CMEPS variables

DRIVER_attributes::
::

MED_attributes::
ATM_model = @[atm_model]
ICE_model = @[ice_model]
OCN_model = @[ocn_model]
WAV_model = @[wav_model]
LND_model = @[lnd_model]
coupling_mode = @[CPLMODE]
pio_rearranger = @[pio_rearranger]
ocean_albedo_limit = @[ocean_albedo_limit]
::

ALLCOMP_attributes::
ScalarFieldCount = 3
ScalarFieldIdxGridNX = 1
ScalarFieldIdxGridNY = 2
ScalarFieldIdxGridNTile = 3
ScalarFieldName = cpl_scalars
start_type = @[RUNTYPE]
restart_dir = @[CMEPS_RESTART_DIR]
case_name = ufs.cpld
restart_n = @[RESTART_N]
restart_option = nhours
restart_ymd = -999
write_restart_at_endofrun = @[WRITE_ENDOFRUN_RESTART]
dbug_flag = @[cap_dbug_flag]
stop_n = @[FHMAX]
stop_option = nhours
stop_ymd = -999
orb_eccen = 1.e36
orb_iyear = 2000
orb_iyear_align = 2000
orb_mode = fixed_year
orb_mvelp = 1.e36
orb_obliq = 1.e36
::
9 changes: 6 additions & 3 deletions tests/rt.conf
Original file line number Diff line number Diff line change
@@ -56,6 +56,10 @@ RUN | cpld_restart_c192_p8 | - wcoss2 jet acorn s4
RUN | cpld_bmark_p8 | - s4 jet acorn noaacloud | baseline |
RUN | cpld_restart_bmark_p8 | - s4 jet acorn noaacloud | | cpld_bmark_p8

COMPILE | s2swal | intel | -DAPP=S2SWAL -DCCPP_SUITES=FV3_GFS_v17_coupled_p8,FV3_GFS_v17_coupled_p8_ugwpv1 | | fv3 |
RUN | cpld_control_p8_lnd | - noaacloud wcoss2 | baseline |
RUN | cpld_restart_p8_lnd | - noaacloud wcoss2 | | cpld_control_p8_lnd

# Aerosol, no Wave
RUN | cpld_s2sa_p8 | - noaacloud | baseline |

@@ -304,12 +308,11 @@ COMPILE | atm_ds2s_docn_dice | intel | -DAPP=ATM_DS2S -DCCPP_SUITES=FV3_GFS_v17
RUN | atm_ds2s_docn_dice | - noaacloud wcoss2 acorn | baseline | cpld_control_nowave_noaero_p8

### ATM-LND tests ###
COMPILE | atml | intel | -DAPP=ATML -DCCPP_SUITES=FV3_GFS_v16,FV3_GFS_v16_flake,FV3_GFS_v17_p8,FV3_GFS_v17_p8_rrtmgp,FV3_GFS_v15_thompson_mynn_lam3km,FV3_WoFS_v0,FV3_GFS_v17_p8_mynn -D32BIT=ON | | fv3 |
RUN | control_p8_atmlnd_sbs | - noaacloud wcoss2 | baseline |
COMPILE | atml | intel | -DAPP=ATML -DCCPP_SUITES=FV3_GFS_v16,FV3_GFS_v16_flake,FV3_GFS_v17_p8,FV3_GFS_v17_p8_rrtmgp,FV3_GFS_v15_thompson_mynn_lam3km,FV3_WoFS_v0,FV3_GFS_v17_p8_mynn,FV3_GFS_v17_p8_ugwpv1 -D32BIT=ON | | fv3 |
RUN | control_p8_atmlnd | - noaacloud wcoss2 | baseline |
RUN | control_restart_p8_atmlnd | - noaacloud wcoss2 | | control_p8_atmlnd

COMPILE | atml_debug | intel | -DAPP=ATML -DCCPP_SUITES=FV3_GFS_v16,FV3_GFS_v16_flake,FV3_GFS_v17_p8,FV3_GFS_v17_p8_rrtmgp,FV3_GFS_v15_thompson_mynn_lam3km,FV3_WoFS_v0,FV3_GFS_v17_p8_mynn -D32BIT=ON -DDEBUG=ON | | fv3 |
COMPILE | atml_debug | intel | -DAPP=ATML -DCCPP_SUITES=FV3_GFS_v16,FV3_GFS_v16_flake,FV3_GFS_v17_p8,FV3_GFS_v17_p8_rrtmgp,FV3_GFS_v15_thompson_mynn_lam3km,FV3_WoFS_v0,FV3_GFS_v17_p8_mynn,FV3_GFS_v17_p8_ugwpv1 -D32BIT=ON -DDEBUG=ON | | fv3 |
RUN | control_p8_atmlnd_debug | - noaacloud wcoss2 | baseline |

### ATM-WAV tests ###
8 changes: 8 additions & 0 deletions tests/test_changes.list
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
cpld_control_p8_lnd intel
cpld_restart_p8_lnd intel
datm_cdeps_lnd_gswp3 intel
datm_cdeps_lnd_era5 intel
datm_cdeps_lnd_era5_rst intel
control_p8_atmlnd intel
control_restart_p8_atmlnd intel
control_p8_atmlnd_debug intel
128 changes: 9 additions & 119 deletions tests/tests/control_p8_atmlnd
Original file line number Diff line number Diff line change
@@ -4,6 +4,8 @@
#
###############################################################################

source tests/control_p8

export TEST_DESCR="Compare global control results with previous trunk version"

export CNTL_DIR=control_p8_atmlnd
@@ -95,124 +97,7 @@ export LIST_FILES="sfcf000.tile1.nc \
ufs.cpld.lnd.out.2021-03-23-21600.tile5.nc \
ufs.cpld.lnd.out.2021-03-23-21600.tile6.nc"

export_fv3
export_tiled
export NPZ=127
export NPZP=128
export DT_ATMOS=720
export DT_INNER=${DT_ATMOS}
export SYEAR=2021
export SMONTH=03
export SDAY=22
export SHOUR=06
export RESTART_INTERVAL="12 -1"
export OUTPUT_GRID='cubed_sphere_grid'
export WRITE_DOPOST=.false.
export OUTPUT_FH='0 21 24'

export IALB=2
export IEMS=2
export LSM=2
export IOPT_DVEG=4
export IOPT_CRS=2
export IOPT_RAD=3
export IOPT_ALB=1
export IOPT_STC=3
export IOPT_SFC=3
export IOPT_TRS=2
export IOPT_DIAG=2

export D2_BG_K1=0.20
export D2_BG_K2=0.04
export PSM_BC=1
export DDDMP=0.1

# Merra2 Aerosols & NSST
export USE_MERRA2=.true.
export IAER=1011
export NSTF_NAME=2,1,0,0,0

export LHEATSTRG=.false.
export LSEASPRAY=.true.

# UGWP1
export GWD_OPT=2
export DO_UGWP_V1=.false.
export KNOB_UGWP_VERSION=0
export KNOB_UGWP_NSLOPE=1
export DO_UGWP_V0=.true.
export DO_GSL_DRAG_LS_BL=.false.
export DO_GSL_DRAG_SS=.true.
export DO_GSL_DRAG_TOFD=.false.
export DO_UGWP_V1_OROG_ONLY=.false.
export DO_UGWP_V0_NST_ONLY=.false.
export LDIAG_UGWP=.false.

# CA
export DO_CA=.true.
export CA_SGS=.true.
export CA_GLOBAL=.false.
export NCA=1
export NCELLS=5
export NLIVES=12
export NTHRESH=18
export NSEED=1
export NFRACSEED=0.5
export CA_TRIGGER=.true.
export NSPINUP=1
export ISEED_CA=12345

export TILEDFIX=.true.
export FNALBC="'INPUT/C96.snowfree_albedo.tileX.nc'"
export FNALBC2="'INPUT/C96.facsf.tileX.nc'"
export FNTG3C="'INPUT/C96.substrate_temperature.tileX.nc'"
export FNVEGC="'INPUT/C96.vegetation_greenness.tileX.nc'"
export FNVETC="'INPUT/C96.vegetation_type.tileX.nc'"
export FNSOTC="'INPUT/C96.soil_type.tileX.nc'"
export FNSOCC="'INPUT/C96.soil_color.tileX.nc'"
export FNSMCC_control="'global_soilmgldas.statsgo.t1534.3072.1536.grb'"
export FNMSKH_control="'global_slmask.t1534.3072.1536.grb'"
export FNSMCC=${FNSMCC_control}
export FNMSKH=${FNMSKH_control}
export FNVMNC="'INPUT/C96.vegetation_greenness.tileX.nc'"
export FNVMXC="'INPUT/C96.vegetation_greenness.tileX.nc'"
export FNSLPC="'INPUT/C96.slope_type.tileX.nc'"
export FNABSC="'INPUT/C96.maximum_snow_albedo.tileX.nc'"
export LANDICE=".false."
export FSICL=0
export FSICS=0

export IMP_PHYSICS=8
export LGFDLMPRAD=.false.
export DO_SAT_ADJ=.false.
export DNATS=0
export DZ_MIN=6

#required for NML.IN sharing
export MIN_SEAICE=0.15
export FRAC_GRID=.true.
export MOM6_OUTPUT_DIR=./MOM6_OUTPUT
export MOM6_RESTART_DIR=./RESTART/
export MOM6_RESTART_SETTING=n
# Following not used for standalone
export USE_CICE_ALB=.false.

export WRITE_NSFLIP=.true.

export FV3_RUN="control_run.IN noahmp_run.IN"
export CCPP_SUITE=FV3_GFS_v17_p8
export FIELD_TABLE=field_table_thompson_noaero_tke
export DIAG_TABLE=diag_table_cpld.IN
export INPUT_NML=global_control.nml.IN
export V2_SFC_FILE=true

# RRTMGP
export DO_RRTMGP=.false.
export DOGP_CLDOPTICS_LUT=.true.
export DOGP_LWSCAT=.true.
export DOGP_SGS_CNV=.true.

export SATMEDMF=.true.
export FV3_RUN="noahmp_run.IN"

export CPLLND=.true.
export CPLLND2ATM=.true.
@@ -222,6 +107,7 @@ export med_model=cmeps
export atm_model=fv3
export lnd_model=noahmp
export pio_rearranger=box
export samegrid_atmlnd=.true.
export CPLMODE=ufs.frac
export RUNTYPE=startup
export READRESTART=.false.
@@ -233,17 +119,21 @@ export lnd_ic_type=sfc
export CALC_SNET=.false.
export layout_x=3
export layout_y=8
export OCNRES=100
export LNDRES=C96
export coupling_interval_sec=720
export snow_albedo_option=1
export precip_partition_option=4
export initial_albedo=0.2
export WRITE_DOPOST=.false.
export OUTPUT_GRID=cubed_sphere_grid
export OUTPUT_FH="1 -1"
if [[ "$ATMRES" = "$LNDRES" ]]; then
export lnd_input_dir="INPUT/"
export mosaic_file="INPUT/${LNDRES}_mosaic.nc"
export lnd_fixed_dir="./"
else
export lnd_input_dir="INPUT/${LNDRES}/"
export mosaic_file="INPUT/${LNDRES}/${LNDRES}_mosaic.nc"
export lnd_fixed_dir="INPUT/${LNDRES}/"
fi
export MOM6_TOPOEDITS=""
247 changes: 0 additions & 247 deletions tests/tests/control_p8_atmlnd_sbs

This file was deleted.

134 changes: 10 additions & 124 deletions tests/tests/control_restart_p8_atmlnd
Original file line number Diff line number Diff line change
@@ -4,6 +4,8 @@
#
###############################################################################

source tests/control_restart_p8

export TEST_DESCR="Compare global control results with previous trunk version"

export CNTL_DIR=control_p8_atmlnd
@@ -27,130 +29,9 @@ export LIST_FILES="sfcf024.tile1.nc \
ufs.cpld.lnd.out.2021-03-23-21600.tile5.nc \
ufs.cpld.lnd.out.2021-03-23-21600.tile6.nc"

export_fv3
export_tiled
export NPZ=127
export NPZP=128
export DT_ATMOS=720
export DT_INNER=${DT_ATMOS}
export SYEAR=2021
export SMONTH=03
export SDAY=22
export SHOUR=06
export OUTPUT_GRID='cubed_sphere_grid'
export WRITE_DOPOST=.false.
export FHROT=12
export RESTART_FILE_PREFIX="${SYEAR}${SMONTH}${SDAY}.$(printf "%02d" $(( ${SHOUR} + ${FHROT} )))0000"
export RESTART_FILE_PREFIX="${SYEAR}${SMONTH}${SDAY}.$(printf "%02d" $(( ${FHROT} + ${SHOUR} )))0000"
export RESTART_FILE_SUFFIX_SECS="${SYEAR}-${SMONTH}-${SDAY}-$(printf "%02d" $(( (${FHROT}+${SHOUR})*3600 )))"

export WARM_START=.true.
export NGGPS_IC=.false.
export EXTERNAL_IC=.false.
export MAKE_NH=.false.
export MOUNTAIN=.true.
export NA_INIT=0

export IALB=2
export IEMS=2
export LSM=2
export IOPT_DVEG=4
export IOPT_CRS=2
export IOPT_RAD=3
export IOPT_ALB=1
export IOPT_STC=3
export IOPT_SFC=3
export IOPT_TRS=2
export IOPT_DIAG=2

export D2_BG_K1=0.20
export D2_BG_K2=0.04
export PSM_BC=1
export DDDMP=0.1

# Merra2 Aerosols & NSST
export USE_MERRA2=.true.
export IAER=1011
export NSTF_NAME=2,0,0,0,0

export LHEATSTRG=.false.
export LSEASPRAY=.true.

# UGWP1
export GWD_OPT=2
export DO_UGWP_V1=.false.
export KNOB_UGWP_VERSION=0
export KNOB_UGWP_NSLOPE=1
export DO_UGWP_V0=.true.
export DO_GSL_DRAG_LS_BL=.false.
export DO_GSL_DRAG_SS=.true.
export DO_GSL_DRAG_TOFD=.false.
export DO_UGWP_V1_OROG_ONLY=.false.
export DO_UGWP_V0_NST_ONLY=.false.
export LDIAG_UGWP=.false.

# CA
export DO_CA=.true.
export CA_SGS=.true.
export CA_GLOBAL=.false.
export NCA=1
export NCELLS=5
export NLIVES=12
export NTHRESH=18
export NSEED=1
export NFRACSEED=0.5
export CA_TRIGGER=.true.
export NSPINUP=1
export ISEED_CA=12345

export TILEDFIX=.true.
export FNALBC="'INPUT/C96.snowfree_albedo.tileX.nc'"
export FNALBC2="'INPUT/C96.facsf.tileX.nc'"
export FNTG3C="'INPUT/C96.substrate_temperature.tileX.nc'"
export FNVEGC="'INPUT/C96.vegetation_greenness.tileX.nc'"
export FNVETC="'INPUT/C96.vegetation_type.tileX.nc'"
export FNSOTC="'INPUT/C96.soil_type.tileX.nc'"
export FNSOCC="'INPUT/C96.soil_color.tileX.nc'"
export FNSMCC=${FNSMCC_control}
export FNMSKH=${FNMSKH_control}
export FNVMNC="'INPUT/C96.vegetation_greenness.tileX.nc'"
export FNVMXC="'INPUT/C96.vegetation_greenness.tileX.nc'"
export FNSLPC="'INPUT/C96.slope_type.tileX.nc'"
export FNABSC="'INPUT/C96.maximum_snow_albedo.tileX.nc'"
export LANDICE=".false."
export FSICL=0
export FSICS=0

export IMP_PHYSICS=8
export LGFDLMPRAD=.false.
export DO_SAT_ADJ=.false.
export DNATS=0
export DZ_MIN=6

#required for NML.IN sharing
export MIN_SEAICE=0.15
export FRAC_GRID=.true.
export MOM6_OUTPUT_DIR=./MOM6_OUTPUT
export MOM6_RESTART_DIR=./RESTART/
export MOM6_RESTART_SETTING=n
# Following not used for standalone
export USE_CICE_ALB=.false.

export WRITE_NSFLIP=.true.

export FV3_RUN="control_run.IN noahmp_run.IN"
export CCPP_SUITE=FV3_GFS_v17_p8
export FIELD_TABLE=field_table_thompson_noaero_tke
export DIAG_TABLE=diag_table_cpld.IN
export INPUT_NML=global_control.nml.IN
export V2_SFC_FILE=true

# RRTMGP
export DO_RRTMGP=.false.
export DOGP_CLDOPTICS_LUT=.true.
export DOGP_LWSCAT=.true.
export DOGP_SGS_CNV=.true.

export SATMEDMF=.true.
export FV3_RUN="noahmp_run.IN"

export CPLLND=.true.
export CPLLND2ATM=.true.
@@ -160,6 +41,7 @@ export med_model=cmeps
export atm_model=fv3
export lnd_model=noahmp
export pio_rearranger=box
export samegrid_atmlnd=.true.
export CPLMODE=ufs.frac
export RUNTYPE=continue
export READRESTART=.true.
@@ -171,17 +53,21 @@ export lnd_ic_type=sfc
export CALC_SNET=.false.
export layout_x=3
export layout_y=8
export OCNRES=100
export LNDRES=C96
export coupling_interval_sec=720
export snow_albedo_option=1
export precip_partition_option=4
export initial_albedo=0.2
export WRITE_DOPOST=.false.
export OUTPUT_GRID=cubed_sphere_grid
export OUTPUT_FH="1 -1"
if [[ "$ATMRES" = "$LNDRES" ]]; then
export lnd_input_dir="INPUT/"
export mosaic_file="INPUT/${LNDRES}_mosaic.nc"
export lnd_fixed_dir="./"
else
export lnd_input_dir="INPUT/${LNDRES}/"
export mosaic_file="INPUT/${LNDRES}/${LNDRES}_mosaic.nc"
export lnd_fixed_dir="INPUT/${LNDRES}/"
fi
export MOM6_TOPOEDITS=""
104 changes: 104 additions & 0 deletions tests/tests/cpld_control_p8_lnd
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
#
# cpld_control P8 test with land component model
#

source tests/cpld_control_p8

export TEST_DESCR="Fully coupled FV3-CCPP-GOCART-MOM6-CICE-CMEPS-WW3-NOAHMP system - C96MX100"

export CNTL_DIR=cpld_control_p8_lnd

export LIST_FILES="sfcf021.tile1.nc \
sfcf021.tile2.nc \
sfcf021.tile3.nc \
sfcf021.tile4.nc \
sfcf021.tile5.nc \
sfcf021.tile6.nc \
atmf021.tile1.nc \
atmf021.tile2.nc \
atmf021.tile3.nc \
atmf021.tile4.nc \
atmf021.tile5.nc \
atmf021.tile6.nc \
sfcf024.tile1.nc \
sfcf024.tile2.nc \
sfcf024.tile3.nc \
sfcf024.tile4.nc \
sfcf024.tile5.nc \
sfcf024.tile6.nc \
atmf024.tile1.nc \
atmf024.tile2.nc \
atmf024.tile3.nc \
atmf024.tile4.nc \
atmf024.tile5.nc \
atmf024.tile6.nc \
gocart.inst_aod.20210323_0600z.nc4 \
RESTART/20210323.060000.coupler.res \
RESTART/20210323.060000.fv_core.res.nc \
RESTART/20210323.060000.fv_core.res.tile1.nc \
RESTART/20210323.060000.fv_core.res.tile2.nc \
RESTART/20210323.060000.fv_core.res.tile3.nc \
RESTART/20210323.060000.fv_core.res.tile4.nc \
RESTART/20210323.060000.fv_core.res.tile5.nc \
RESTART/20210323.060000.fv_core.res.tile6.nc \
RESTART/20210323.060000.fv_srf_wnd.res.tile1.nc \
RESTART/20210323.060000.fv_srf_wnd.res.tile2.nc \
RESTART/20210323.060000.fv_srf_wnd.res.tile3.nc \
RESTART/20210323.060000.fv_srf_wnd.res.tile4.nc \
RESTART/20210323.060000.fv_srf_wnd.res.tile5.nc \
RESTART/20210323.060000.fv_srf_wnd.res.tile6.nc \
RESTART/20210323.060000.fv_tracer.res.tile1.nc \
RESTART/20210323.060000.fv_tracer.res.tile2.nc \
RESTART/20210323.060000.fv_tracer.res.tile3.nc \
RESTART/20210323.060000.fv_tracer.res.tile4.nc \
RESTART/20210323.060000.fv_tracer.res.tile5.nc \
RESTART/20210323.060000.fv_tracer.res.tile6.nc \
RESTART/20210323.060000.phy_data.tile1.nc \
RESTART/20210323.060000.phy_data.tile2.nc \
RESTART/20210323.060000.phy_data.tile3.nc \
RESTART/20210323.060000.phy_data.tile4.nc \
RESTART/20210323.060000.phy_data.tile5.nc \
RESTART/20210323.060000.phy_data.tile6.nc \
RESTART/20210323.060000.sfc_data.tile1.nc \
RESTART/20210323.060000.sfc_data.tile2.nc \
RESTART/20210323.060000.sfc_data.tile3.nc \
RESTART/20210323.060000.sfc_data.tile4.nc \
RESTART/20210323.060000.sfc_data.tile5.nc \
RESTART/20210323.060000.sfc_data.tile6.nc \
RESTART/20210323.060000.MOM.res.nc \
RESTART/iced.2021-03-23-21600.nc \
RESTART/ufs.cpld.cpl.r.2021-03-23-21600.nc \
20210323.060000.out_pnt.ww3 \
20210323.060000.out_grd.ww3 \
ufs.cpld.lnd.out.2021-03-23-21600.tile1.nc \
ufs.cpld.lnd.out.2021-03-23-21600.tile2.nc \
ufs.cpld.lnd.out.2021-03-23-21600.tile3.nc \
ufs.cpld.lnd.out.2021-03-23-21600.tile4.nc \
ufs.cpld.lnd.out.2021-03-23-21600.tile5.nc \
ufs.cpld.lnd.out.2021-03-23-21600.tile6.nc"

export CPLLND=.true.
export CPLLND2ATM=.true.
export UFS_CONFIGURE=ufs.configure.s2swal_fast.IN
export lnd_model=noahmp
export LND_tasks=144
export lnd_ic_type=sfc
export CALC_SNET=.false.
export layout_x=3
export layout_y=8
export LNDRES=C96
export coupling_interval_sec=720
export snow_albedo_option=1
export precip_partition_option=4
export initial_albedo=0.2
if [[ "$ATMRES" = "$LNDRES" ]]; then
export lnd_input_dir="INPUT/"
export mosaic_file="INPUT/${LNDRES}_mosaic.nc"
export lnd_fixed_dir="./"
export samegrid_atmlnd=.true.
else
export lnd_input_dir="INPUT/${LNDRES}/"
export mosaic_file="INPUT/${LNDRES}/${LNDRES}_mosaic.nc"
export lnd_fixed_dir="INPUT/${LNDRES}/"
export samegrid_atmlnd=.false.
fi
94 changes: 94 additions & 0 deletions tests/tests/cpld_restart_p8_lnd
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
#
# cpld_restart P8 test with land component
#

source tests/cpld_restart_p8

export TEST_DESCR="Fully coupled FV3-CCPP-GOCART-MOM6-CICE-CMEPS-WW3-NOAHMP system - C96MX100"

export CNTL_DIR=cpld_control_p8_lnd

export LIST_FILES="sfcf024.tile1.nc \
sfcf024.tile2.nc \
sfcf024.tile3.nc \
sfcf024.tile4.nc \
sfcf024.tile5.nc \
sfcf024.tile6.nc \
atmf024.tile1.nc \
atmf024.tile2.nc \
atmf024.tile3.nc \
atmf024.tile4.nc \
atmf024.tile5.nc \
atmf024.tile6.nc \
gocart.inst_aod.20210323_0600z.nc4 \
RESTART/20210323.060000.coupler.res \
RESTART/20210323.060000.fv_core.res.nc \
RESTART/20210323.060000.fv_core.res.tile1.nc \
RESTART/20210323.060000.fv_core.res.tile2.nc \
RESTART/20210323.060000.fv_core.res.tile3.nc \
RESTART/20210323.060000.fv_core.res.tile4.nc \
RESTART/20210323.060000.fv_core.res.tile5.nc \
RESTART/20210323.060000.fv_core.res.tile6.nc \
RESTART/20210323.060000.fv_srf_wnd.res.tile1.nc \
RESTART/20210323.060000.fv_srf_wnd.res.tile2.nc \
RESTART/20210323.060000.fv_srf_wnd.res.tile3.nc \
RESTART/20210323.060000.fv_srf_wnd.res.tile4.nc \
RESTART/20210323.060000.fv_srf_wnd.res.tile5.nc \
RESTART/20210323.060000.fv_srf_wnd.res.tile6.nc \
RESTART/20210323.060000.fv_tracer.res.tile1.nc \
RESTART/20210323.060000.fv_tracer.res.tile2.nc \
RESTART/20210323.060000.fv_tracer.res.tile3.nc \
RESTART/20210323.060000.fv_tracer.res.tile4.nc \
RESTART/20210323.060000.fv_tracer.res.tile5.nc \
RESTART/20210323.060000.fv_tracer.res.tile6.nc \
RESTART/20210323.060000.phy_data.tile1.nc \
RESTART/20210323.060000.phy_data.tile2.nc \
RESTART/20210323.060000.phy_data.tile3.nc \
RESTART/20210323.060000.phy_data.tile4.nc \
RESTART/20210323.060000.phy_data.tile5.nc \
RESTART/20210323.060000.phy_data.tile6.nc \
RESTART/20210323.060000.sfc_data.tile1.nc \
RESTART/20210323.060000.sfc_data.tile2.nc \
RESTART/20210323.060000.sfc_data.tile3.nc \
RESTART/20210323.060000.sfc_data.tile4.nc \
RESTART/20210323.060000.sfc_data.tile5.nc \
RESTART/20210323.060000.sfc_data.tile6.nc \
RESTART/20210323.060000.MOM.res.nc \
RESTART/iced.2021-03-23-21600.nc \
RESTART/ufs.cpld.cpl.r.2021-03-23-21600.nc \
20210323.060000.out_pnt.ww3 \
20210323.060000.out_grd.ww3 \
ufs.cpld.lnd.out.2021-03-23-21600.tile1.nc \
ufs.cpld.lnd.out.2021-03-23-21600.tile2.nc \
ufs.cpld.lnd.out.2021-03-23-21600.tile3.nc \
ufs.cpld.lnd.out.2021-03-23-21600.tile4.nc \
ufs.cpld.lnd.out.2021-03-23-21600.tile5.nc \
ufs.cpld.lnd.out.2021-03-23-21600.tile6.nc"

# LND warm start
export FV3_RUN="cpld_control_run.IN noahmp_run.IN"
export CPLLND=.true.
export CPLLND2ATM=.true.
export UFS_CONFIGURE=ufs.configure.s2swal_fast.IN
export lnd_model=noahmp
export LND_tasks=144
export lnd_ic_type=sfc
export CALC_SNET=.false.
export layout_x=3
export layout_y=8
export LNDRES=C96
export coupling_interval_sec=720
export snow_albedo_option=1
export precip_partition_option=4
export initial_albedo=0.2
if [[ "$ATMRES" = "$LNDRES" ]]; then
export lnd_input_dir="INPUT/"
export mosaic_file="INPUT/${LNDRES}_mosaic.nc"
export lnd_fixed_dir="./"
export samegrid_atmlnd=.true.
else
export lnd_input_dir="INPUT/${LNDRES}/"
export mosaic_file="INPUT/${LNDRES}/${LNDRES}_mosaic.nc"
export lnd_fixed_dir="INPUT/${LNDRES}/"
export samegrid_atmlnd=.false.
fi
3 changes: 2 additions & 1 deletion tests/tests/datm_cdeps_lm4_gswp3
Original file line number Diff line number Diff line change
@@ -99,6 +99,7 @@ export UFS_CONFIGURE="ufs.configure.atm_lm4.IN"
export med_model="cmeps"
export atm_model="datm"
export lnd_model="lm4"
export samegrid_atmlnd=.false.
export CPLMODE=ufs.nfrac.aoflux
export RUNTYPE="startup"
export READRESTART=.false.
@@ -117,4 +118,4 @@ export TOPOEDITS=""
export FV3_RUN="lm4_run.IN"
export DIAG_TABLE="diag_table_datm_lm4"
export FIELD_TABLE_ADDITIONAL=field_table_lm4
export INPUT_NML="input_datm_lm4.nml.IN"
export INPUT_NML="input_datm_lm4.nml.IN"
3 changes: 2 additions & 1 deletion tests/tests/datm_cdeps_lm4_gswp3_rst
Original file line number Diff line number Diff line change
@@ -100,6 +100,7 @@ export UFS_CONFIGURE="ufs.configure.atm_lm4.IN"
export med_model="cmeps"
export atm_model="datm"
export lnd_model="lm4"
export samegrid_atmlnd=.false.
export CPLMODE=ufs.nfrac.aoflux
export RUNTYPE="continue"
export READRESTART=.false.
@@ -123,4 +124,4 @@ export LM4_RESTART_PREFIX=${SYEAR}${SMONTH}${SDAY}.$(printf "%02d" $(( ${FHROT}+
export FV3_RUN="lm4_run.IN"
export DIAG_TABLE="diag_table_datm_lm4"
export INPUT_NML="input_datm_lm4.nml.IN"
export FIELD_TABLE_ADDITIONAL=field_table_lm4
export FIELD_TABLE_ADDITIONAL=field_table_lm4
3 changes: 3 additions & 0 deletions tests/tests/datm_cdeps_lnd_era5
Original file line number Diff line number Diff line change
@@ -38,6 +38,7 @@ export UFS_CONFIGURE=ufs.configure.atm_lnd.IN
export med_model=cmeps
export atm_model=datm
export lnd_model=noahmp
export samegrid_atmlnd=.false.
export CPLMODE=ufs.nfrac.aoflux
export RUNTYPE=startup
export READRESTART=.false.
@@ -46,10 +47,12 @@ export ATM_compute_tasks=144
export LND_tasks=144
export lnd_ic_type='custom'
export lnd_input_dir='INPUT/'
export lnd_fixed_dir='INPUT/'
export CALC_SNET=.true.
export layout_x=3
export layout_y=8
export LNDRES=C96
export ATMRES=$LNDRES
export mosaic_file="INPUT/${LNDRES}_mosaic.nc"
export coupling_interval_sec=3600
export snow_albedo_option=2
3 changes: 3 additions & 0 deletions tests/tests/datm_cdeps_lnd_era5_rst
Original file line number Diff line number Diff line change
@@ -39,6 +39,7 @@ export UFS_CONFIGURE=ufs.configure.atm_lnd.IN
export med_model=cmeps
export atm_model=datm
export lnd_model=noahmp
export samegrid_atmlnd=.false.
export CPLMODE=ufs.nfrac.aoflux
export RUNTYPE=continue
export READRESTART=.false.
@@ -47,10 +48,12 @@ export ATM_compute_tasks=144
export LND_tasks=144
export lnd_ic_type='custom'
export lnd_input_dir='INPUT/'
export lnd_fixed_dir='INPUT/'
export CALC_SNET=.true.
export layout_x=3
export layout_y=8
export LNDRES=C96
export ATMRES=$LNDRES
export mosaic_file="INPUT/${LNDRES}_mosaic.nc"
export coupling_interval_sec=3600
export snow_albedo_option=2
4 changes: 3 additions & 1 deletion tests/tests/datm_cdeps_lnd_gswp3
Original file line number Diff line number Diff line change
@@ -41,6 +41,7 @@ export UFS_CONFIGURE=ufs.configure.atm_lnd.IN
export med_model=cmeps
export atm_model=datm
export lnd_model=noahmp
export samegrid_atmlnd=.false.
export CPLMODE=ufs.nfrac.aoflux
export RUNTYPE=startup
export READRESTART=.false.
@@ -50,15 +51,16 @@ export ICE_tasks=0
export LND_tasks=144
export lnd_ic_type='custom'
export lnd_input_dir='INPUT/'
export lnd_fixed_dir='INPUT/'
export CALC_SNET=.true.
export layout_x=3
export layout_y=8
export LNDRES=C96
export ATMRES=$LNDRES
export mosaic_file="INPUT/${LNDRES}_mosaic.nc"
export coupling_interval_sec=3600
export snow_albedo_option=1
export precip_partition_option=4
export initial_albedo=0.25
export TOPOEDITS=""
export FV3_RUN="lnd_datm_cdeps_gswp.IN noahmp_run.IN"

0 comments on commit 0682f90

Please sign in to comment.