diff --git a/.gitmodules b/.gitmodules index ab72b60a64..9f61a00064 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,7 @@ [submodule "FV3"] path = FV3 - url = https://github.com/NOAA-EMC/fv3atm - branch = develop + url = https://github.com/uturuncoglu/fv3atm + branch = feature/s2s_with_lnd [submodule "WW3"] path = WW3 url = https://github.com/NOAA-EMC/WW3 @@ -16,8 +16,8 @@ branch = develop [submodule "CMEPS"] path = CMEPS-interface/CMEPS - url = https://github.com/NOAA-EMC/CMEPS - branch = emc/develop + url = https://github.com/uturuncoglu/CMEPS + branch = feature/land [submodule "HYCOM"] path = HYCOM-interface/HYCOM url = https://github.com/NOAA-EMC/HYCOM-src @@ -45,7 +45,7 @@ [submodule "NOAHMP"] path = NOAHMP-interface/noahmp url = https://github.com/NOAA-EMC/noahmp - branch = develop + branch = feature/perf [submodule "LM4-driver"] path = LM4-driver url = https://github.com/NOAA-GFDL/LM4-NUOPC-driver diff --git a/CMEPS-interface/CMEPS b/CMEPS-interface/CMEPS index b5d1cc189f..cb180b0ab5 160000 --- a/CMEPS-interface/CMEPS +++ b/CMEPS-interface/CMEPS @@ -1 +1 @@ -Subproject commit b5d1cc189fced4abcb13fc70ed2febb2aef61757 +Subproject commit cb180b0ab5cb618b503d695d6f214a03f845ab06 diff --git a/CMakeLists.txt b/CMakeLists.txt index 702cf6a459..5d5ed58b68 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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}") @@ -156,7 +156,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)$") diff --git a/FV3 b/FV3 index 7d998809dc..1e6a1892d3 160000 --- a/FV3 +++ b/FV3 @@ -1 +1 @@ -Subproject commit 7d998809dc84996248f93ced49730cfe92eae7cf +Subproject commit 1e6a1892d33c936c4ff858d974db6c73d9156509 diff --git a/NOAHMP-interface/noahmp b/NOAHMP-interface/noahmp index 025043d1ad..559ce9c1cf 160000 --- a/NOAHMP-interface/noahmp +++ b/NOAHMP-interface/noahmp @@ -1 +1 @@ -Subproject commit 025043d1ad662fca05f29f88ddd88ddf46c81882 +Subproject commit 559ce9c1cf00e4569ddeb9461b9649e33b2efb43 diff --git a/cmake/configure_apps.cmake b/cmake/configure_apps.cmake index d3ab16b673..23281c588d 100644 --- a/cmake/configure_apps.cmake +++ b/cmake/configure_apps.cmake @@ -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,7 +61,7 @@ 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() @@ -69,7 +69,7 @@ if(APP MATCHES "^(S2S|S2SA|S2SW|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") diff --git a/tests/fv3_conf/control_run.IN b/tests/fv3_conf/control_run.IN index d8be6334f6..a57a51c324 100644 --- a/tests/fv3_conf/control_run.IN +++ b/tests/fv3_conf/control_run.IN @@ -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 . diff --git a/tests/fv3_conf/noahmp_run.IN b/tests/fv3_conf/noahmp_run.IN index 6f4f8bd0da..a392dfb8df 100644 --- a/tests/fv3_conf/noahmp_run.IN +++ b/tests/fv3_conf/noahmp_run.IN @@ -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 diff --git a/tests/parm/ufs.configure.atm_lnd.IN b/tests/parm/ufs.configure.atm_lnd.IN index 6a01acf8cf..c00fd9ea52 100644 --- a/tests/parm/ufs.configure.atm_lnd.IN +++ b/tests/parm/ufs.configure.atm_lnd.IN @@ -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 diff --git a/tests/parm/ufs.configure.s2swal_fast.IN b/tests/parm/ufs.configure.s2swal_fast.IN new file mode 100644 index 0000000000..5fd5de3b04 --- /dev/null +++ b/tests/parm/ufs.configure.s2swal_fast.IN @@ -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 +:: diff --git a/tests/rt.conf b/tests/rt.conf index 1ed8c56eae..0472d01d43 100644 --- a/tests/rt.conf +++ b/tests/rt.conf @@ -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 | baseline | +RUN | cpld_restart_p8_lnd | - noaacloud | | 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 ### diff --git a/tests/test_changes.list b/tests/test_changes.list index 317f529375..b0873351ef 100644 --- a/tests/test_changes.list +++ b/tests/test_changes.list @@ -1,70 +1,8 @@ -cpld_control_p8_mixedmode intel -cpld_control_gfsv17 intel -cpld_control_gfsv17_iau intel -cpld_restart_gfsv17 intel -cpld_mpi_gfsv17 intel -cpld_control_sfs intel -cpld_debug_gfsv17 intel -cpld_control_p8 intel -cpld_control_p8.v2.sfc intel -cpld_restart_p8 intel -cpld_control_qr_p8 intel -cpld_restart_qr_p8 intel -cpld_2threads_p8 intel -cpld_decomp_p8 intel -cpld_mpi_p8 intel -cpld_control_ciceC_p8 intel -cpld_bmark_p8 intel -cpld_restart_bmark_p8 intel -cpld_s2sa_p8 intel -cpld_control_noaero_p8 intel -cpld_control_nowave_noaero_p8 intel -cpld_debug_p8 intel -cpld_debug_noaero_p8 intel -cpld_control_noaero_p8_agrid intel -cpld_control_c48 intel -cpld_warmstart_c48 intel -cpld_restart_c48 intel -cpld_control_p8_faster intel -cpld_control_pdlib_p8 intel -cpld_restart_pdlib_p8 intel -cpld_mpi_pdlib_p8 intel -cpld_debug_pdlib_p8 intel -control_CubedSphereGrid intel -control_CubedSphereGrid_parallel intel -control_latlon intel -control_wrtGauss_netcdf_parallel intel -control_c48 intel -control_c48_lnd_iau intel -control_c192 intel -control_c384 intel -control_p8 intel -control_p8.v2.sfc intel -control_p8_ugwpv1 intel -control_restart_p8 intel -control_noqr_p8 intel -control_restart_noqr_p8 intel -control_decomp_p8 intel -control_2threads_p8 intel -control_p8_lndp intel -merra2_thompson intel -control_p8_faster intel -control_CubedSphereGrid_debug intel -control_wrtGauss_netcdf_parallel_debug intel -control_debug_p8 intel -atm_ds2s_docn_pcice intel -atm_ds2s_docn_dice intel -control_p8_atmlnd_sbs intel +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 -atmwav_control_noaero_p8 intel -atmaero_control_p8 intel -atmaero_control_p8_rad intel -atmaero_control_p8_rad_micro intel -control_c48 gnu -control_p8 gnu -control_p8_ugwpv1 gnu -control_debug_p8 gnu -cpld_control_nowave_noaero_p8 gnu -cpld_control_pdlib_p8 gnu diff --git a/tests/tests/control_p8_atmlnd b/tests/tests/control_p8_atmlnd index 68b65d0e5b..e9bc04d246 100644 --- a/tests/tests/control_p8_atmlnd +++ b/tests/tests/control_p8_atmlnd @@ -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="" diff --git a/tests/tests/control_p8_atmlnd_sbs b/tests/tests/control_p8_atmlnd_sbs deleted file mode 100644 index 56a3a888f8..0000000000 --- a/tests/tests/control_p8_atmlnd_sbs +++ /dev/null @@ -1,247 +0,0 @@ -############################################################################### -# -# Global control test GFSv16 atmosphere-land only at C96L127, P8 configuration -# -############################################################################### - -export TEST_DESCR="Compare global control results with previous trunk version" - -export CNTL_DIR=control_p8_atmlnd_sbs - -export LIST_FILES="sfcf000.tile1.nc \ - sfcf000.tile2.nc - sfcf000.tile3.nc - sfcf000.tile4.nc - sfcf000.tile5.nc - sfcf000.tile6.nc - sfcf012.tile1.nc \ - sfcf012.tile2.nc \ - sfcf012.tile3.nc \ - sfcf012.tile4.nc \ - sfcf012.tile5.nc \ - sfcf012.tile6.nc \ - sfcf024.tile1.nc \ - sfcf024.tile2.nc \ - sfcf024.tile3.nc \ - sfcf024.tile4.nc \ - sfcf024.tile5.nc \ - sfcf024.tile6.nc \ - atmf000.tile1.nc \ - atmf000.tile2.nc \ - atmf000.tile3.nc \ - atmf000.tile4.nc \ - atmf000.tile5.nc \ - atmf000.tile6.nc \ - atmf012.tile1.nc \ - atmf012.tile2.nc \ - atmf012.tile3.nc \ - atmf012.tile4.nc \ - atmf012.tile5.nc \ - atmf012.tile6.nc \ - atmf024.tile1.nc \ - atmf024.tile2.nc \ - atmf024.tile3.nc \ - atmf024.tile4.nc \ - atmf024.tile5.nc \ - atmf024.tile6.nc \ - RESTART/20210323.060000.ca_data.tile1.nc \ - RESTART/20210323.060000.ca_data.tile2.nc \ - RESTART/20210323.060000.ca_data.tile3.nc \ - RESTART/20210323.060000.ca_data.tile4.nc \ - RESTART/20210323.060000.ca_data.tile5.nc \ - RESTART/20210323.060000.ca_data.tile6.nc \ - 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 \ - ufs.cpld.lnd.out.2021-03-22-64800.tile1.nc \ - ufs.cpld.lnd.out.2021-03-22-64800.tile2.nc \ - ufs.cpld.lnd.out.2021-03-22-64800.tile3.nc \ - ufs.cpld.lnd.out.2021-03-22-64800.tile4.nc \ - ufs.cpld.lnd.out.2021-03-22-64800.tile5.nc \ - ufs.cpld.lnd.out.2021-03-22-64800.tile6.nc \ - 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_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=${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 CPLLND=.true. -export CPLLND2ATM=.false. - -export UFS_CONFIGURE=ufs.configure.atm_lnd.IN -export med_model=cmeps -export atm_model=fv3 -export lnd_model=noahmp -export pio_rearranger=box -export CPLMODE=ufs.frac -export RUNTYPE=startup -export READRESTART=.false. -export CMEPS_RESTART_DIR=./RESTART/ -export cap_dbug_flag=0 -export ATM_tasks=144 -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 -export OUTPUT_FH="1 -1" -if [[ "$ATMRES" = "$LNDRES" ]]; then - export lnd_input_dir="INPUT/" - export mosaic_file="INPUT/${LNDRES}_mosaic.nc" -else - export lnd_input_dir="INPUT/${LNDRES}/" - export mosaic_file="INPUT/${LNDRES}/${LNDRES}_mosaic.nc" -fi -export MOM6_TOPOEDITS="" diff --git a/tests/tests/control_restart_p8_atmlnd b/tests/tests/control_restart_p8_atmlnd index a52c955dbe..1bb6b85bb9 100644 --- a/tests/tests/control_restart_p8_atmlnd +++ b/tests/tests/control_restart_p8_atmlnd @@ -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="" diff --git a/tests/tests/cpld_control_p8_lnd b/tests/tests/cpld_control_p8_lnd new file mode 100644 index 0000000000..8cf35ee7f3 --- /dev/null +++ b/tests/tests/cpld_control_p8_lnd @@ -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 diff --git a/tests/tests/cpld_restart_p8_lnd b/tests/tests/cpld_restart_p8_lnd new file mode 100644 index 0000000000..98daaaed36 --- /dev/null +++ b/tests/tests/cpld_restart_p8_lnd @@ -0,0 +1,95 @@ +# +# 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 \ + ufs.cpld.ww3.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 diff --git a/tests/tests/datm_cdeps_lnd_era5 b/tests/tests/datm_cdeps_lnd_era5 index 5e889fff1f..dcb3586256 100644 --- a/tests/tests/datm_cdeps_lnd_era5 +++ b/tests/tests/datm_cdeps_lnd_era5 @@ -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 diff --git a/tests/tests/datm_cdeps_lnd_era5_rst b/tests/tests/datm_cdeps_lnd_era5_rst index 70e6c4c5e3..4199a80a80 100644 --- a/tests/tests/datm_cdeps_lnd_era5_rst +++ b/tests/tests/datm_cdeps_lnd_era5_rst @@ -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 diff --git a/tests/tests/datm_cdeps_lnd_gswp3 b/tests/tests/datm_cdeps_lnd_gswp3 index 5905ef145a..fa4bd905d4 100644 --- a/tests/tests/datm_cdeps_lnd_gswp3 +++ b/tests/tests/datm_cdeps_lnd_gswp3 @@ -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,10 +51,12 @@ 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 @@ -61,4 +64,3 @@ export precip_partition_option=4 export initial_albedo=0.25 export TOPOEDITS="" export FV3_RUN="lnd_datm_cdeps_gswp.IN noahmp_run.IN" -