Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates for component NoahMP land model #2387

Draft
wants to merge 10 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -45,4 +45,4 @@
[submodule "NOAHMP"]
path = NOAHMP-interface/noahmp
url = https://github.com/NOAA-EMC/noahmp
branch = develop
branch = feature/perf
2 changes: 1 addition & 1 deletion FV3
6 changes: 1 addition & 5 deletions tests/fv3_conf/control_run.IN
Original file line number Diff line number Diff line change
Expand Up @@ -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 .
Expand Down
28 changes: 18 additions & 10 deletions tests/fv3_conf/noahmp_run.IN
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,14 @@ mkdir -p INPUT RESTART

if [ "$LNDRES" = "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${LNDRES#C}
fi
echo "inputdir=$inputdir,LNDRES=$LNDRES"

export OCNRES=025
V2_SFC_FILE=${V2_SFC_FILE:-false}

if [ $DATM_CDEPS == true ]; then
targetdir="./INPUT"
rsync -arv @[INPUTDATA_ROOT]/NOAHMP_IC/$atm_datamode/ufs-land_@[LNDRES]_init_fields.tile1.nc ./${targetdir}/@[LNDRES].initial.tile1.nc
Expand All @@ -33,15 +30,26 @@ else
fi

if [ $WARM_START = .false. ]; then
cp -r @[INPUTDATA_ROOT]/${inputdir}/INPUT_L127/sfc_data.tile*.nc ${targetdir}/.
if [ $S2S = true ]; then
if [ "$V2_SFC_FILE" = "true" ]; then
cp -r @[INPUTDATA_ROOT]/${inputdir}/INPUT_L127_v2_sfc/sfc_data.tile*.nc ${targetdir}/.
else
cp -r @[INPUTDATA_ROOT]/${inputdir}/INPUT_L127/sfc_data.tile*.nc ${targetdir}/.
fi
else
if [ "$V2_SFC_FILE" = "true" ]; then
cp -r @[INPUTDATA_ROOT]/${inputdir}/INPUT_L127_mx${OCNRES}_v2_sfc/sfc_data.tile*.nc ${targetdir}/.
else
cp -r @[INPUTDATA_ROOT]/${inputdir}/INPUT_L127_mx${OCNRES}/sfc_data.tile*.nc ${targetdir}/.
fi
fi
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
fi
fi

Expand Down
1 change: 1 addition & 0 deletions tests/parm/ufs.configure.atm_lnd.IN
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,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
Expand Down
196 changes: 196 additions & 0 deletions tests/parm/ufs.configure.s2swal_fast_esmf.IN
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
#############################################
#### UFS Run-Time Configuration File ######
#############################################

# ESMF #
logKindFlag: ESMF_LOGKIND_MULTI
globalResourceControl: true

# 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_sets_restname = @[WW3_user_sets_restname]
::

# 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_lnd
MED med_phases_prep_wav_accum
MED med_phases_prep_wav_avg
MED -> ATM :remapMethod=redist
MED -> ICE :remapMethod=redist
MED -> LND :remapMethod=redist
MED -> WAV :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
LND -> MED :remapMethod=redist
MED med_phases_post_lnd
WAV -> MED :remapMethod=redist
MED med_phases_post_wav
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]
LND_model = @[lnd_model]
OCN_model = @[ocn_model]
WAV_model = @[wav_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
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
::
3 changes: 3 additions & 0 deletions tests/rt.conf
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ 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 |
RUN | cpld_control_p8_lnd | - noaacloud | baseline |

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

Expand Down
Loading