From b545ec29cf2ebe0b93d3d726255fd34c08f26bd5 Mon Sep 17 00:00:00 2001 From: Helin Wei Date: Thu, 15 Jun 2023 13:26:31 -0400 Subject: [PATCH 01/13] adding soil color data --- parm/ufs/fix/gfs/land.fixed_files.yaml | 98 +++++++++++++------------- ush/forecast_postdet.sh | 3 +- ush/parsing_namelists_FV3.sh | 1 + versions/fix.ver | 2 +- 4 files changed, 53 insertions(+), 51 deletions(-) diff --git a/parm/ufs/fix/gfs/land.fixed_files.yaml b/parm/ufs/fix/gfs/land.fixed_files.yaml index ab93ff27a6..d1f9db81dd 100644 --- a/parm/ufs/fix/gfs/land.fixed_files.yaml +++ b/parm/ufs/fix/gfs/land.fixed_files.yaml @@ -1,58 +1,58 @@ copy: - # Files from FIX_orog/C??.mx??_frac/fix_sfc - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).facsf.tile1.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).facsf.tile2.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).facsf.tile3.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).facsf.tile4.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).facsf.tile5.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).facsf.tile6.nc, $(DATA)/] + # Files from FIX_orog/C??.mx??_frac/sfc + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).facsf.tile1.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).facsf.tile2.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).facsf.tile3.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).facsf.tile4.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).facsf.tile5.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).facsf.tile6.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).maximum_snow_albedo.tile1.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).maximum_snow_albedo.tile2.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).maximum_snow_albedo.tile3.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).maximum_snow_albedo.tile4.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).maximum_snow_albedo.tile5.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).maximum_snow_albedo.tile6.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).maximum_snow_albedo.tile1.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).maximum_snow_albedo.tile2.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).maximum_snow_albedo.tile3.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).maximum_snow_albedo.tile4.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).maximum_snow_albedo.tile5.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).maximum_snow_albedo.tile6.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).slope_type.tile1.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).slope_type.tile2.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).slope_type.tile3.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).slope_type.tile4.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).slope_type.tile5.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).slope_type.tile6.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).slope_type.tile1.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).slope_type.tile2.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).slope_type.tile3.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).slope_type.tile4.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).slope_type.tile5.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).slope_type.tile6.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).snowfree_albedo.tile1.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).snowfree_albedo.tile2.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).snowfree_albedo.tile3.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).snowfree_albedo.tile4.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).snowfree_albedo.tile5.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).snowfree_albedo.tile6.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).snowfree_albedo.tile1.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).snowfree_albedo.tile2.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).snowfree_albedo.tile3.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).snowfree_albedo.tile4.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).snowfree_albedo.tile5.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).snowfree_albedo.tile6.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).soil_type.tile1.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).soil_type.tile2.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).soil_type.tile3.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).soil_type.tile4.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).soil_type.tile5.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).soil_type.tile6.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).soil_type.tile1.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).soil_type.tile2.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).soil_type.tile3.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).soil_type.tile4.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).soil_type.tile5.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).soil_type.tile6.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).substrate_temperature.tile1.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).substrate_temperature.tile2.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).substrate_temperature.tile3.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).substrate_temperature.tile4.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).substrate_temperature.tile5.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).substrate_temperature.tile6.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).substrate_temperature.tile1.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).substrate_temperature.tile2.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).substrate_temperature.tile3.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).substrate_temperature.tile4.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).substrate_temperature.tile5.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).substrate_temperature.tile6.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).vegetation_greenness.tile1.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).vegetation_greenness.tile2.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).vegetation_greenness.tile3.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).vegetation_greenness.tile4.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).vegetation_greenness.tile5.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).vegetation_greenness.tile6.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_greenness.tile1.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_greenness.tile2.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_greenness.tile3.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_greenness.tile4.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_greenness.tile5.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_greenness.tile6.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).vegetation_type.tile1.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).vegetation_type.tile2.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).vegetation_type.tile3.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).vegetation_type.tile4.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).vegetation_type.tile5.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/fix_sfc/$(atm_res).vegetation_type.tile6.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_type.tile1.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_type.tile2.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_type.tile3.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_type.tile4.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_type.tile5.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_type.tile6.nc, $(DATA)/] diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh index ec210df648..d006e21c89 100755 --- a/ush/forecast_postdet.sh +++ b/ush/forecast_postdet.sh @@ -162,7 +162,7 @@ EOF fi OROFIX=${OROFIX:-"${FIX_DIR}/orog/${CASE}.mx${OCNRES}_frac"} - FIX_SFC=${FIX_SFC:-"${OROFIX}/fix_sfc"} + FIX_SFC=${FIX_SFC:-"${OROFIX}/sfc"} for n in $(seq 1 $ntiles); do $NLN ${OROFIX}/oro_${CASE}.mx${OCNRES}.tile${n}.nc $DATA/INPUT/oro_data.tile${n}.nc $NLN ${OROFIX}/${CASE}_grid.tile${n}.nc $DATA/INPUT/${CASE}_grid.tile${n}.nc @@ -330,6 +330,7 @@ EOF FNALBC=${FNALBC:-"${FIX_SFC}/${CASE}.snowfree_albedo.tileX.nc"} FNVETC=${FNVETC:-"${FIX_SFC}/${CASE}.vegetation_type.tileX.nc"} FNSOTC=${FNSOTC:-"${FIX_SFC}/${CASE}.soil_type.tileX.nc"} + FNSOCC=${FNSOCC:-"${FIX_SFC}/${CASE}.soil_color.tileX.nc"} FNABSC=${FNABSC:-"${FIX_SFC}/${CASE}.maximum_snow_albedo.tileX.nc"} FNSMCC=${FNSMCC:-"$FIX_AM/global_soilmgldas.statsgo.t${JCAP}.${LONB}.${LATB}.grb"} diff --git a/ush/parsing_namelists_FV3.sh b/ush/parsing_namelists_FV3.sh index f6044d2367..1dcf38ebc1 100755 --- a/ush/parsing_namelists_FV3.sh +++ b/ush/parsing_namelists_FV3.sh @@ -545,6 +545,7 @@ cat >> input.nml < Date: Mon, 17 Jul 2023 15:49:28 -0400 Subject: [PATCH 02/13] merge with the latest develop --- ush/forecast_postdet.sh | 816 +++++++++++++++++----------------------- 1 file changed, 347 insertions(+), 469 deletions(-) diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh index d006e21c89..a9d7e48ebf 100755 --- a/ush/forecast_postdet.sh +++ b/ush/forecast_postdet.sh @@ -11,59 +11,43 @@ ## for execution. ##### -DATM_postdet(){ - ###################################################################### - # Link DATM inputs (ie forcing files) # - ###################################################################### - - #TODO: This should be some loop through CDATE-> CDATE+ FORECAST length - #and get input from either CFSR or GEFS or Whatever... - #Currently assumes you only need the month of DATM input for IC date - #DATMINPUTDIR should be machine specific - - # DATM forcing file name convention is ${DATM_FILENAME_BASE}.$YYYYMMDDHH.nc - echo "Link DATM forcing files" - DATMINPUTDIR="/scratch2/NCEPDEV/marineda/DATM_INPUT/CFSR/${SYEAR}${SMONTH}" - $NLN -sf ${DATMINPUTDIR}/${DATM_FILENAME_BASE}*.nc $DATA/DATM_INPUT/ -} - -FV3_GFS_postdet(){ - echo "SUB ${FUNCNAME[0]}: $RERUN and $warm_start determined for $RUN" +FV3_postdet(){ + echo "SUB ${FUNCNAME[0]}: Entering for RUN = ${RUN}" - echo $warm_start - echo $RERUN + echo "warm_start = ${warm_start}" + echo "RERUN = ${RERUN}" #------------------------------------------------------- - if [ $warm_start = ".true." -o $RERUN = "YES" ]; then + if [[ "${warm_start}" = ".true." ]] || [[ "${RERUN}" = "YES" ]]; then #------------------------------------------------------- #............................. - if [ $RERUN = "NO" ]; then + if [[ ${RERUN} = "NO" ]]; then #............................. # Link all restart files from previous cycle for file in "${COM_ATMOS_RESTART_PREV}/${sPDY}.${scyc}0000."*.nc; do - file2=$(echo $(basename $file)) - file2=$(echo $file2 | cut -d. -f3-) # remove the date from file - fsuf=$(echo $file2 | cut -d. -f1) - $NLN $file $DATA/INPUT/$file2 + file2=$(echo $(basename "${file}")) + file2=$(echo "${file2}" | cut -d. -f3-) # remove the date from file + fsuf=$(echo "${file2}" | cut -d. -f1) + ${NLN} "${file}" "${DATA}/INPUT/${file2}" done # Replace sfc_data with sfcanl_data restart files from current cycle (if found) - if [ "${MODE}" = "cycled" ] && [ "${CCPP_SUITE}" = "FV3_GFS_v16" ]; then # TODO: remove if statement when global_cycle can handle NOAHMP + if [[ "${MODE}" = "cycled" ]] && [[ "${CCPP_SUITE}" = "FV3_GFS_v16" ]]; then # TODO: remove if statement when global_cycle can handle NOAHMP for file in "${COM_ATMOS_RESTART}/${sPDY}.${scyc}0000."*.nc; do - file2=$(echo $(basename $file)) - file2=$(echo $file2 | cut -d. -f3-) # remove the date from file - fsufanl=$(echo $file2 | cut -d. -f1) - file2=$(echo $file2 | sed -e "s/sfcanl_data/sfc_data/g") - rm -f $DATA/INPUT/$file2 - $NLN $file $DATA/INPUT/$file2 + file2=$(basename "${file}") + file2=$(echo "${file2}" | cut -d. -f3-) # remove the date from file + fsufanl=$(echo "${file2}" | cut -d. -f1) + file2=$(echo "${file2}" | sed -e "s/sfcanl_data/sfc_data/g") + rm -f "${DATA}/INPUT/${file2}" + ${NLN} "${file}" "${DATA}/INPUT/${file2}" done fi # Need a coupler.res when doing IAU - if [ $DOIAU = "YES" ]; then - rm -f $DATA/INPUT/coupler.res - cat >> $DATA/INPUT/coupler.res << EOF + if [[ ${DOIAU} = "YES" ]]; then + rm -f "${DATA}/INPUT/coupler.res" + cat >> "${DATA}/INPUT/coupler.res" << EOF 2 (Calendar: no_calendar=0, thirty_day_months=1, julian=2, gregorian=3, noleap=4) ${gPDY:0:4} ${gPDY:4:2} ${gPDY:6:2} ${gcyc} 0 0 Model start time: year, month, day, hour, minute, second ${sPDY:0:4} ${sPDY:4:2} ${sPDY:6:2} ${scyc} 0 0 Current model time: year, month, day, hour, minute, second @@ -71,28 +55,28 @@ EOF fi # Link increments - if [ $DOIAU = "YES" ]; then - for i in $(echo $IAUFHRS | sed "s/,/ /g" | rev); do - incfhr=$(printf %03i $i) - if [ $incfhr = "006" ]; then + if [[ ${DOIAU} = "YES" ]]; then + for i in $(echo "${IAUFHRS}" | sed "s/,/ /g" | rev); do + incfhr=$(printf %03i "${i}") + if [[ ${incfhr} = "006" ]]; then increment_file="${COM_ATMOS_ANALYSIS}/${RUN}.t${cyc}z.${PREFIX_ATMINC}atminc.nc" else increment_file="${COM_ATMOS_ANALYSIS}/${RUN}.t${cyc}z.${PREFIX_ATMINC}atmi${incfhr}.nc" fi - if [ ! -f $increment_file ]; then - echo "ERROR: DOIAU = $DOIAU, but missing increment file for fhr $incfhr at $increment_file" + if [[ ! -f ${increment_file} ]]; then + echo "ERROR: DOIAU = ${DOIAU}, but missing increment file for fhr ${incfhr} at ${increment_file}" echo "Abort!" exit 1 fi - $NLN $increment_file $DATA/INPUT/fv_increment$i.nc - IAU_INC_FILES="'fv_increment$i.nc',${IAU_INC_FILES:-}" + ${NLN} "${increment_file}" "${DATA}/INPUT/fv_increment${i}.nc" + IAU_INC_FILES="'fv_increment${i}.nc',${IAU_INC_FILES:-}" done read_increment=".false." res_latlon_dynamics="" else increment_file="${COM_ATMOS_ANALYSIS}/${RUN}.t${cyc}z.${PREFIX_ATMINC}atminc.nc" - if [ -f $increment_file ]; then - $NLN $increment_file $DATA/INPUT/fv3_increment.nc + if [[ -f ${increment_file} ]]; then + ${NLN} "${increment_file}" "${DATA}/INPUT/fv3_increment.nc" read_increment=".true." res_latlon_dynamics="fv3_increment.nc" fi @@ -101,53 +85,47 @@ EOF #............................. else ##RERUN export warm_start=".true." - PDYT=$(echo $CDATE_RST | cut -c1-8) - cyct=$(echo $CDATE_RST | cut -c9-10) + PDYT="${CDATE_RST:0:8}" + cyct="${CDATE_RST:8:2}" for file in "${COM_ATMOS_RESTART}/${PDYT}.${cyct}0000."*; do - file2=$(echo $(basename $file)) - file2=$(echo $file2 | cut -d. -f3-) - $NLN $file $DATA/INPUT/$file2 + file2=$(basename "${file}") + file2=$(echo "${file2}" | cut -d. -f3-) + ${NLN} "${file}" "${DATA}/INPUT/${file2}" done - hour_rst=$($NHOUR $CDATE_RST $CDATE) + local hour_rst=$(nhour "${CDATE_RST}" "${current_cycle}") IAU_FHROT=$((IAU_OFFSET+hour_rst)) - if [ $DOIAU = "YES" ]; then + if [[ ${DOIAU} = "YES" ]]; then IAUFHRS=-1 + # Ignore "not used" warning + # shellcheck disable=SC2034 IAU_DELTHRS=0 IAU_INC_FILES="''" fi - - rst_list_rerun="" - xfh=$restart_interval_gfs - while [ $xfh -le $FHMAX_GFS ]; do - rst_list_rerun="$rst_list_rerun $xfh" - xfh=$((xfh+restart_interval_gfs)) - done - restart_interval="$rst_list_rerun" fi #............................. else ## cold start for file in "${COM_ATMOS_INPUT}/"*.nc; do - file2=$(echo $(basename $file)) - fsuf=$(echo $file2 | cut -c1-3) - if [ $fsuf = "gfs" -o $fsuf = "sfc" ]; then - $NLN $file $DATA/INPUT/$file2 + file2=$(basename "${file}") + fsuf="${file2:0:3}" + if [[ "${fsuf}" = "gfs" ]] || [[ "${fsuf}" = "sfc" ]]; then + ${NLN} "${file}" "${DATA}/INPUT/${file2}" fi done fi - nfiles=$(ls -1 $DATA/INPUT/* | wc -l) - if [ $nfiles -le 0 ]; then - echo SUB ${FUNCNAME[0]}: Initial conditions must exist in $DATA/INPUT, ABORT! + nfiles=$(ls -1 "${DATA}/INPUT/"* | wc -l) + if [[ ${nfiles} -le 0 ]]; then + echo SUB "${FUNCNAME[0]}": Initial conditions must exist in "${DATA}/INPUT", ABORT! exit 1 fi # If doing IAU, change forecast hours - if [[ "$DOIAU" = "YES" ]]; then + if [[ "${DOIAU}" = "YES" ]]; then FHMAX=$((FHMAX+6)) - if [ $FHMAX_HF -gt 0 ]; then + if [[ ${FHMAX_HF} -gt 0 ]]; then FHMAX_HF=$((FHMAX_HF+6)) fi fi @@ -155,29 +133,27 @@ EOF #-------------------------------------------------------------------------- # Grid and orography data - if [ $cplflx = ".false." ] ; then - $NLN $FIXfv3/$CASE/${CASE}_mosaic.nc $DATA/INPUT/grid_spec.nc + if [[ ${cplflx} = ".false." ]] ; then + ${NLN} "${FIX_DIR}/orog/${CASE}/${CASE}_mosaic.nc" "${DATA}/INPUT/grid_spec.nc" else - $NLN $FIXfv3/$CASE/${CASE}_mosaic.nc $DATA/INPUT/${CASE}_mosaic.nc + ${NLN} "${FIX_DIR}/orog/${CASE}/${CASE}_mosaic.nc" "${DATA}/INPUT/${CASE}_mosaic.nc" fi OROFIX=${OROFIX:-"${FIX_DIR}/orog/${CASE}.mx${OCNRES}_frac"} FIX_SFC=${FIX_SFC:-"${OROFIX}/sfc"} - for n in $(seq 1 $ntiles); do - $NLN ${OROFIX}/oro_${CASE}.mx${OCNRES}.tile${n}.nc $DATA/INPUT/oro_data.tile${n}.nc - $NLN ${OROFIX}/${CASE}_grid.tile${n}.nc $DATA/INPUT/${CASE}_grid.tile${n}.nc + for n in $(seq 1 "${ntiles}"); do + ${NLN} "${OROFIX}/oro_${CASE}.mx${OCNRES}.tile${n}.nc" "${DATA}/INPUT/oro_data.tile${n}.nc" + ${NLN} "${OROFIX}/${CASE}_grid.tile${n}.nc" "${DATA}/INPUT/${CASE}_grid.tile${n}.nc" done - export CCPP_SUITE=${CCPP_SUITE:-"FV3_GFS_v16"} - _suite_file=$HOMEgfs/sorc/ufs_model.fd/FV3/ccpp/suites/suite_${CCPP_SUITE}.xml - - if [ ! -f ${_suite_file} ]; then + _suite_file="${HOMEgfs}/sorc/ufs_model.fd/FV3/ccpp/suites/suite_${CCPP_SUITE}.xml" + if [[ ! -f ${_suite_file} ]]; then echo "FATAL: CCPP Suite file ${_suite_file} does not exist!" exit 2 fi # Scan suite file to determine whether it uses Noah-MP - if [ $(grep noahmpdrv ${_suite_file} | wc -l ) -gt 0 ]; then + if [[ $(grep noahmpdrv "${_suite_file}" | wc -l ) -gt 0 ]]; then lsm="2" lheatstrg=".false." landice=".false." @@ -217,10 +193,10 @@ EOF # Files for GWD OROFIX_ugwd=${OROFIX_ugwd:-"${FIX_DIR}/ugwd"} - $NLN ${OROFIX_ugwd}/ugwp_limb_tau.nc $DATA/ugwp_limb_tau.nc - for n in $(seq 1 $ntiles); do - $NLN ${OROFIX_ugwd}/$CASE/${CASE}_oro_data_ls.tile${n}.nc $DATA/INPUT/oro_data_ls.tile${n}.nc - $NLN ${OROFIX_ugwd}/$CASE/${CASE}_oro_data_ss.tile${n}.nc $DATA/INPUT/oro_data_ss.tile${n}.nc + ${NLN} "${OROFIX_ugwd}/ugwp_limb_tau.nc" "${DATA}/ugwp_limb_tau.nc" + for n in $(seq 1 "${ntiles}"); do + ${NLN} "${OROFIX_ugwd}/${CASE}/${CASE}_oro_data_ls.tile${n}.nc" "${DATA}/INPUT/oro_data_ls.tile${n}.nc" + ${NLN} "${OROFIX_ugwd}/${CASE}/${CASE}_oro_data_ss.tile${n}.nc" "${DATA}/INPUT/oro_data_ss.tile${n}.nc" done # GFS standard input data @@ -229,7 +205,7 @@ EOF IAER=${IAER:-1011} ICO2=${ICO2:-2} - if [ ${new_o3forc:-YES} = YES ]; then + if [[ ${new_o3forc:-YES} = YES ]]; then O3FORC=ozprdlos_2015_new_sbuvO3_tclm15_nuchem.f77 else O3FORC=global_o3prdlos.f77 @@ -238,65 +214,63 @@ EOF #### # Copy CCN_ACTIVATE.BIN for Thompson microphysics # Thompson microphysics used when CCPP_SUITE set to FV3_GSD_v0 or FV3_GSD_noah - # imp_physics should be 8 + # imp_physics should be 8: #### - if [ $imp_physics -eq 8 ]; then - $NLN $FIX_AM/CCN_ACTIVATE.BIN $DATA/CCN_ACTIVATE.BIN - $NLN $FIX_AM/freezeH2O.dat $DATA/freezeH2O.dat - $NLN $FIX_AM/qr_acr_qgV2.dat $DATA/qr_acr_qgV2.dat - $NLN $FIX_AM/qr_acr_qsV2.dat $DATA/qr_acr_qsV2.dat + if [[ ${imp_physics} -eq 8 ]]; then + ${NLN} "${FIX_DIR}/am/CCN_ACTIVATE.BIN" "${DATA}/CCN_ACTIVATE.BIN" + ${NLN} "${FIX_DIR}/am/freezeH2O.dat" "${DATA}/freezeH2O.dat" + ${NLN} "${FIX_DIR}/am/qr_acr_qgV2.dat" "${DATA}/qr_acr_qgV2.dat" + ${NLN} "${FIX_DIR}/am/qr_acr_qsV2.dat" "${DATA}/qr_acr_qsV2.dat" fi - $NLN $FIX_AM/${O3FORC} $DATA/global_o3prdlos.f77 - $NLN $FIX_AM/${H2OFORC} $DATA/global_h2oprdlos.f77 - $NLN $FIX_AM/global_solarconstant_noaa_an.txt $DATA/solarconstant_noaa_an.txt - $NLN $FIX_AM/global_sfc_emissivity_idx.txt $DATA/sfc_emissivity_idx.txt + ${NLN} "${FIX_DIR}/am/${O3FORC}" "${DATA}/global_o3prdlos.f77" + ${NLN} "${FIX_DIR}/am/${H2OFORC}" "${DATA}/global_h2oprdlos.f77" + ${NLN} "${FIX_DIR}/am/global_solarconstant_noaa_an.txt" "${DATA}/solarconstant_noaa_an.txt" + ${NLN} "${FIX_DIR}/am/global_sfc_emissivity_idx.txt" "${DATA}/sfc_emissivity_idx.txt" ## merra2 aerosol climo - if [ $IAER -eq "1011" ]; then - FIX_AER="${FIX_DIR}/aer" + if [[ ${IAER} -eq "1011" ]]; then for month in $(seq 1 12); do - MM=$(printf %02d $month) - $NLN "${FIX_AER}/merra2.aerclim.2003-2014.m${MM}.nc" "aeroclim.m${MM}.nc" + MM=$(printf %02d "${month}") + ${NLN} "${FIX_DIR}/aer/merra2.aerclim.2003-2014.m${MM}.nc" "aeroclim.m${MM}.nc" done - FIX_LUT="${FIX_DIR}/lut" - $NLN $FIX_LUT/optics_BC.v1_3.dat $DATA/optics_BC.dat - $NLN $FIX_LUT/optics_OC.v1_3.dat $DATA/optics_OC.dat - $NLN $FIX_LUT/optics_DU.v15_3.dat $DATA/optics_DU.dat - $NLN $FIX_LUT/optics_SS.v3_3.dat $DATA/optics_SS.dat - $NLN $FIX_LUT/optics_SU.v1_3.dat $DATA/optics_SU.dat + ${NLN} "${FIX_DIR}/lut/optics_BC.v1_3.dat" "${DATA}/optics_BC.dat" + ${NLN} "${FIX_DIR}/lut/optics_OC.v1_3.dat" "${DATA}/optics_OC.dat" + ${NLN} "${FIX_DIR}/lut/optics_DU.v15_3.dat" "${DATA}/optics_DU.dat" + ${NLN} "${FIX_DIR}/lut/optics_SS.v3_3.dat" "${DATA}/optics_SS.dat" + ${NLN} "${FIX_DIR}/lut/optics_SU.v1_3.dat" "${DATA}/optics_SU.dat" fi - $NLN $FIX_AM/global_co2historicaldata_glob.txt $DATA/co2historicaldata_glob.txt - $NLN $FIX_AM/co2monthlycyc.txt $DATA/co2monthlycyc.txt - if [ $ICO2 -gt 0 ]; then - for file in $(ls $FIX_AM/fix_co2_proj/global_co2historicaldata*) ; do - $NLN $file $DATA/$(echo $(basename $file) | sed -e "s/global_//g") + ${NLN} "${FIX_DIR}/am/global_co2historicaldata_glob.txt" "${DATA}/co2historicaldata_glob.txt" + ${NLN} "${FIX_DIR}/am/co2monthlycyc.txt" "${DATA}/co2monthlycyc.txt" + if [[ ${ICO2} -gt 0 ]]; then + for file in $(ls "${FIX_DIR}/am/fix_co2_proj/global_co2historicaldata"*) ; do + ${NLN} "${file}" "${DATA}/$(basename "${file//global_}")" done fi - $NLN $FIX_AM/global_climaeropac_global.txt $DATA/aerosol.dat - if [ $IAER -gt 0 ] ; then - for file in $(ls $FIX_AM/global_volcanic_aerosols*) ; do - $NLN $file $DATA/$(echo $(basename $file) | sed -e "s/global_//g") + ${NLN} "${FIX_DIR}/am/global_climaeropac_global.txt" "${DATA}/aerosol.dat" + if [[ ${IAER} -gt 0 ]] ; then + for file in $(ls "${FIX_DIR}/am/global_volcanic_aerosols"*) ; do + ${NLN} "${file}" "${DATA}/$(basename "${file//global_}")" done fi # inline post fix files - if [ $WRITE_DOPOST = ".true." ]; then - $NLN $PARM_POST/post_tag_gfs${LEVS} $DATA/itag - $NLN ${FLTFILEGFS:-$PARM_POST/postxconfig-NT-GFS-TWO.txt} $DATA/postxconfig-NT.txt - $NLN ${FLTFILEGFSF00:-$PARM_POST/postxconfig-NT-GFS-F00-TWO.txt} $DATA/postxconfig-NT_FH00.txt - $NLN ${POSTGRB2TBL:-$PARM_POST/params_grib2_tbl_new} $DATA/params_grib2_tbl_new + if [[ ${WRITE_DOPOST} = ".true." ]]; then + ${NLN} "${PARM_POST}/post_tag_gfs${LEVS}" "${DATA}/itag" + ${NLN} "${FLTFILEGFS:-${PARM_POST}/postxconfig-NT-GFS-TWO.txt}" "${DATA}/postxconfig-NT.txt" + ${NLN} "${FLTFILEGFSF00:-${PARM_POST}/postxconfig-NT-GFS-F00-TWO.txt}" "${DATA}/postxconfig-NT_FH00.txt" + ${NLN} "${POSTGRB2TBL:-${PARM_POST}/params_grib2_tbl_new}" "${DATA}/params_grib2_tbl_new" fi #------------------------------------------------------------------ # changeable parameters # dycore definitions - res=$(echo $CASE |cut -c2-5) + res="${CASE:1}" resp=$((res+1)) - npx=$resp - npy=$resp + npx=${resp} + npy=${resp} npz=$((LEVS-1)) io_layout="1,1" #ncols=$(( (${npx}-1)*(${npy}-1)*3/2 )) @@ -306,24 +280,24 @@ EOF LONB_CASE=$((4*res)) LATB_CASE=$((2*res)) - JCAP=${JCAP:-$JCAP_CASE} - LONB=${LONB:-$LONB_CASE} - LATB=${LATB:-$LATB_CASE} + JCAP=${JCAP:-${JCAP_CASE}} + LONB=${LONB:-${LONB_CASE}} + LATB=${LATB:-${LATB_CASE}} - LONB_IMO=${LONB_IMO:-$LONB_CASE} - LATB_JMO=${LATB_JMO:-$LATB_CASE} + LONB_IMO=${LONB_IMO:-${LONB_CASE}} + LATB_JMO=${LATB_JMO:-${LATB_CASE}} # Fix files - FNGLAC=${FNGLAC:-"$FIX_AM/global_glacier.2x2.grb"} - FNMXIC=${FNMXIC:-"$FIX_AM/global_maxice.2x2.grb"} - FNTSFC=${FNTSFC:-"$FIX_AM/RTGSST.1982.2012.monthly.clim.grb"} - FNSNOC=${FNSNOC:-"$FIX_AM/global_snoclim.1.875.grb"} + FNGLAC=${FNGLAC:-"${FIX_DIR}/am/global_glacier.2x2.grb"} + FNMXIC=${FNMXIC:-"${FIX_DIR}/am/global_maxice.2x2.grb"} + FNTSFC=${FNTSFC:-"${FIX_DIR}/am/RTGSST.1982.2012.monthly.clim.grb"} + FNSNOC=${FNSNOC:-"${FIX_DIR}/am/global_snoclim.1.875.grb"} FNZORC=${FNZORC:-"igbp"} - FNAISC=${FNAISC:-"$FIX_AM/IMS-NIC.blended.ice.monthly.clim.grb"} + FNAISC=${FNAISC:-"${FIX_DIR}/am/IMS-NIC.blended.ice.monthly.clim.grb"} FNALBC2=${FNALBC2:-"${FIX_SFC}/${CASE}.facsf.tileX.nc"} FNTG3C=${FNTG3C:-"${FIX_SFC}/${CASE}.substrate_temperature.tileX.nc"} FNVEGC=${FNVEGC:-"${FIX_SFC}/${CASE}.vegetation_greenness.tileX.nc"} - FNMSKH=${FNMSKH:-"$FIX_AM/global_slmask.t1534.3072.1536.grb"} + FNMSKH=${FNMSKH:-"${FIX_DIR}/am/global_slmask.t1534.3072.1536.grb"} FNVMNC=${FNVMNC:-"${FIX_SFC}/${CASE}.vegetation_greenness.tileX.nc"} FNVMXC=${FNVMXC:-"${FIX_SFC}/${CASE}.vegetation_greenness.tileX.nc"} FNSLPC=${FNSLPC:-"${FIX_SFC}/${CASE}.slope_type.tileX.nc"} @@ -332,10 +306,10 @@ EOF FNSOTC=${FNSOTC:-"${FIX_SFC}/${CASE}.soil_type.tileX.nc"} FNSOCC=${FNSOCC:-"${FIX_SFC}/${CASE}.soil_color.tileX.nc"} FNABSC=${FNABSC:-"${FIX_SFC}/${CASE}.maximum_snow_albedo.tileX.nc"} - FNSMCC=${FNSMCC:-"$FIX_AM/global_soilmgldas.statsgo.t${JCAP}.${LONB}.${LATB}.grb"} + FNSMCC=${FNSMCC:-"${FIX_DIR}/am/global_soilmgldas.statsgo.t${JCAP}.${LONB}.${LATB}.grb"} # If the appropriate resolution fix file is not present, use the highest resolution available (T1534) - [[ ! -f $FNSMCC ]] && FNSMCC="$FIX_AM/global_soilmgldas.statsgo.t1534.3072.1536.grb" + [[ ! -f ${FNSMCC} ]] && FNSMCC="${FIX_DIR}/am/global_soilmgldas.statsgo.t1534.3072.1536.grb" # NSST Options # nstf_name contains the NSST related parameters @@ -350,7 +324,7 @@ EOF NST_RESV=${NST_RESV-0} ZSEA1=${ZSEA1:-0} ZSEA2=${ZSEA2:-0} - nstf_name=${nstf_name:-"$NST_MODEL,$NST_SPINUP,$NST_RESV,$ZSEA1,$ZSEA2"} + nstf_name=${nstf_name:-"${NST_MODEL},${NST_SPINUP},${NST_RESV},${ZSEA1},${ZSEA2}"} nst_anl=${nst_anl:-".false."} # blocking factor used for threading and general physics performance @@ -364,7 +338,7 @@ EOF # >0 means new adiabatic pre-conditioning # <0 means older adiabatic pre-conditioning na_init=${na_init:-1} - [[ $warm_start = ".true." ]] && na_init=0 + [[ ${warm_start} = ".true." ]] && na_init=0 # variables for controlling initialization of NCEP/NGGPS ICs filtered_terrain=${filtered_terrain:-".true."} @@ -376,11 +350,11 @@ EOF chksum_debug=${chksum_debug:-".false."} print_freq=${print_freq:-6} - if [ ${TYPE} = "nh" ]; then # non-hydrostatic options + if [[ ${TYPE} = "nh" ]]; then # non-hydrostatic options hydrostatic=".false." phys_hydrostatic=".false." # enable heating in hydrostatic balance in non-hydrostatic simulation use_hydro_pressure=".false." # use hydrostatic pressure for physics - if [ $warm_start = ".true." ]; then + if [[ ${warm_start} = ".true." ]]; then make_nh=".false." # restarts contain non-hydrostatic state else make_nh=".true." # re-initialize non-hydrostatic state @@ -400,10 +374,10 @@ EOF k_split=${k_split:-2} n_split=${n_split:-6} - if [ $(echo $MONO | cut -c-4) = "mono" ]; then # monotonic options + if [[ "${MONO:0:4}" = "mono" ]]; then # monotonic options d_con=${d_con_mono:-"0."} do_vort_damp=".false." - if [ ${TYPE} = "nh" ]; then # non-hydrostatic + if [[ ${TYPE} = "nh" ]]; then # non-hydrostatic hord_mt=${hord_mt_nh_mono:-"10"} hord_xx=${hord_xx_nh_mono:-"10"} else # hydrostatic @@ -414,7 +388,7 @@ EOF else # non-monotonic options d_con=${d_con_nonmono:-"1."} do_vort_damp=".true." - if [ ${TYPE} = "nh" ]; then # non-hydrostatic + if [[ ${TYPE} = "nh" ]]; then # non-hydrostatic hord_mt=${hord_mt_nh_nonmono:-"5"} hord_xx=${hord_xx_nh_nonmono:-"5"} else # hydrostatic @@ -423,18 +397,18 @@ EOF fi fi - if [ $(echo $MONO | cut -c-4) != "mono" -a $TYPE = "nh" ]; then + if [[ "${MONO:0:4}" != "mono" ]] && [[ "${TYPE}" = "nh" ]]; then vtdm4=${vtdm4_nh_nonmono:-"0.06"} else vtdm4=${vtdm4:-"0.05"} fi - if [ $warm_start = ".true." ]; then # warm start from restart file + if [[ ${warm_start} = ".true." ]]; then # warm start from restart file nggps_ic=".false." ncep_ic=".false." external_ic=".false." mountain=".true." - if [ $read_increment = ".true." ]; then # add increment on the fly to the restarts + if [[ ${read_increment} = ".true." ]]; then # add increment on the fly to the restarts res_latlon_dynamics="fv3_increment.nc" else res_latlon_dynamics='""' @@ -450,259 +424,214 @@ EOF fi # Stochastic Physics Options - if [ ${SET_STP_SEED:-"YES"} = "YES" ]; then - ISEED_SKEB=$((CDATE*1000 + MEMBER*10 + 1)) - ISEED_SHUM=$((CDATE*1000 + MEMBER*10 + 2)) - ISEED_SPPT=$((CDATE*1000 + MEMBER*10 + 3)) - ISEED_CA=$(( (CDATE*1000 + MEMBER*10 + 4) % 2147483647 )) - ISEED_LNDP=$(( (CDATE*1000 + MEMBER*10 + 5) % 2147483647 )) + if [[ ${SET_STP_SEED:-"YES"} = "YES" ]]; then + ISEED_SKEB=$((current_cycle*1000 + MEMBER*10 + 1)) + ISEED_SHUM=$((current_cycle*1000 + MEMBER*10 + 2)) + ISEED_SPPT=$((current_cycle*1000 + MEMBER*10 + 3)) + ISEED_CA=$(( (current_cycle*1000 + MEMBER*10 + 4) % 2147483647 )) + ISEED_LNDP=$(( (current_cycle*1000 + MEMBER*10 + 5) % 2147483647 )) else ISEED=${ISEED:-0} fi - if [ $DO_SKEB = "YES" ]; then + if [[ ${DO_SKEB} = "YES" ]]; then do_skeb=".true." fi - if [ $DO_SPPT = "YES" ]; then + if [[ ${DO_SPPT} = "YES" ]]; then do_sppt=".true." fi - if [ $DO_SHUM = "YES" ]; then + if [[ ${DO_SHUM} = "YES" ]]; then do_shum=".true." fi - if [ $DO_LAND_PERT = "YES" ]; then + if [[ ${DO_LAND_PERT} = "YES" ]]; then lndp_type=${lndp_type:-2} LNDP_TAU=${LNDP_TAU:-21600} LNDP_SCALE=${LNDP_SCALE:-500000} - ISEED_LNDP=${ISEED_LNDP:-$ISEED} + ISEED_LNDP=${ISEED_LNDP:-${ISEED}} lndp_var_list=${lndp_var_list:-"'smc', 'vgf',"} lndp_prt_list=${lndp_prt_list:-"0.2,0.1"} - n_var_lndp=$(echo "$lndp_var_list" | wc -w) + n_var_lndp=$(echo "${lndp_var_list}" | wc -w) fi - JCAP_STP=${JCAP_STP:-$JCAP_CASE} - LONB_STP=${LONB_STP:-$LONB_CASE} - LATB_STP=${LATB_STP:-$LATB_CASE} - cd $DATA - if [[ ! -d ${COM_ATMOS_HISTORY} ]]; then mkdir -p ${COM_ATMOS_HISTORY}; fi - if [[ ! -d ${COM_ATMOS_MASTER} ]]; then mkdir -p ${COM_ATMOS_MASTER}; fi - if [ $QUILTING = ".true." -a $OUTPUT_GRID = "gaussian_grid" ]; then - fhr=$FHMIN - for fhr in $OUTPUT_FH; do - FH3=$(printf %03i $fhr) - FH2=$(printf %02i $fhr) - atmi=atmf${FH3}.nc - sfci=sfcf${FH3}.nc - logi=log.atm.f${FH3} - pgbi=GFSPRS.GrbF${FH2} - flxi=GFSFLX.GrbF${FH2} - atmo=${COM_ATMOS_HISTORY}/${RUN}.t${cyc}z.atmf${FH3}.nc - sfco=${COM_ATMOS_HISTORY}/${RUN}.t${cyc}z.sfcf${FH3}.nc - logo=${COM_ATMOS_HISTORY}/${RUN}.t${cyc}z.atm.logf${FH3}.txt - pgbo=${COM_ATMOS_MASTER}/${RUN}.t${cyc}z.master.grb2f${FH3} - flxo=${COM_ATMOS_MASTER}/${RUN}.t${cyc}z.sfluxgrbf${FH3}.grib2 - eval $NLN $atmo $atmi - eval $NLN $sfco $sfci - eval $NLN $logo $logi - if [ $WRITE_DOPOST = ".true." ]; then - eval $NLN $pgbo $pgbi - eval $NLN $flxo $flxi + JCAP_STP=${JCAP_STP:-${JCAP_CASE}} + LONB_STP=${LONB_STP:-${LONB_CASE}} + LATB_STP=${LATB_STP:-${LATB_CASE}} + cd "${DATA}" || exit 1 + if [[ ! -d ${COM_ATMOS_HISTORY} ]]; then mkdir -p "${COM_ATMOS_HISTORY}"; fi + if [[ ! -d ${COM_ATMOS_MASTER} ]]; then mkdir -p "${COM_ATMOS_MASTER}"; fi + if [[ "${QUILTING}" = ".true." ]] && [[ "${OUTPUT_GRID}" = "gaussian_grid" ]]; then + for fhr in ${FV3_OUTPUT_FH}; do + local FH3=$(printf %03i "${fhr}") + local FH2=$(printf %02i "${fhr}") + ${NLN} "${COM_ATMOS_HISTORY}/${RUN}.t${cyc}z.atmf${FH3}.nc" "atmf${FH3}.nc" + ${NLN} "${COM_ATMOS_HISTORY}/${RUN}.t${cyc}z.sfcf${FH3}.nc" "sfcf${FH3}.nc" + ${NLN} "${COM_ATMOS_HISTORY}/${RUN}.t${cyc}z.atm.logf${FH3}.txt" "log.atm.f${FH3}" + if [[ ${WRITE_DOPOST} = ".true." ]]; then + ${NLN} "${COM_ATMOS_MASTER}/${RUN}.t${cyc}z.master.grb2f${FH3}" "GFSPRS.GrbF${FH2}" + ${NLN} "${COM_ATMOS_MASTER}/${RUN}.t${cyc}z.sfluxgrbf${FH3}.grib2" "GFSFLX.GrbF${FH2}" fi done - else - for n in $(seq 1 $ntiles); do - eval $NLN nggps2d.tile${n}.nc ${COM_ATMOS_HISTORY}/nggps2d.tile${n}.nc - eval $NLN nggps3d.tile${n}.nc ${COM_ATMOS_HISTORY}/nggps3d.tile${n}.nc - eval $NLN grid_spec.tile${n}.nc ${COM_ATMOS_HISTORY}/grid_spec.tile${n}.nc - eval $NLN atmos_static.tile${n}.nc ${COM_ATMOS_HISTORY}/atmos_static.tile${n}.nc - eval $NLN atmos_4xdaily.tile${n}.nc ${COM_ATMOS_HISTORY}/atmos_4xdaily.tile${n}.nc + else # TODO: Is this even valid anymore? + for n in $(seq 1 "${ntiles}"); do + ${NLN} "nggps2d.tile${n}.nc" "${COM_ATMOS_HISTORY}/nggps2d.tile${n}.nc" + ${NLN} "nggps3d.tile${n}.nc" "${COM_ATMOS_HISTORY}/nggps3d.tile${n}.nc" + ${NLN} "grid_spec.tile${n}.nc" "${COM_ATMOS_HISTORY}/grid_spec.tile${n}.nc" + ${NLN} "atmos_static.tile${n}.nc" "${COM_ATMOS_HISTORY}/atmos_static.tile${n}.nc" + ${NLN} "atmos_4xdaily.tile${n}.nc" "${COM_ATMOS_HISTORY}/atmos_4xdaily.tile${n}.nc" done fi } -FV3_GFS_nml(){ +FV3_nml(){ # namelist output for a certain component - echo SUB ${FUNCNAME[0]}: Creating name lists and model configure file for FV3 + echo "SUB ${FUNCNAME[0]}: Creating name lists and model configure file for FV3" # Call child scripts in current script directory - source $SCRIPTDIR/parsing_namelists_FV3.sh + source "${HOMEgfs}/ush/parsing_namelists_FV3.sh" FV3_namelists - echo SUB ${FUNCNAME[0]}: FV3 name lists and model configure file created + echo "SUB ${FUNCNAME[0]}: FV3 name lists and model configure file created" } -DATM_nml(){ - source $SCRIPTDIR/parsing_namelists_DATM.sh - DATM_namelists - echo SUB ${FUNCNAME[0]}: DATM name lists and model configure file created -} - -data_out_GFS() { - # data in take for FV3GFS - # Arguments: None - # - #------------------------------------------------------------------ - # make symbolic links to write forecast files directly in memdir +FV3_out() { echo "SUB ${FUNCNAME[0]}: copying output data for FV3" - #------------------------------------------------------------------ - if [ $SEND = "YES" ]; then - # Copy model restart files - if [[ ${RUN} =~ "gdas" ]] && (( rst_invt1 > 0 )); then - cd $DATA/RESTART - mkdir -p "${COM_ATMOS_RESTART}" - for rst_int in $restart_interval ; do - if [ $rst_int -ge 0 ]; then - RDATE=$($NDATE +$rst_int $CDATE) - rPDY=$(echo $RDATE | cut -c1-8) - rcyc=$(echo $RDATE | cut -c9-10) - for file in "${rPDY}.${rcyc}0000."* ; do - ${NCP} "${file}" "${COM_ATMOS_RESTART}/${file}" - done - fi + # Copy FV3 restart files + if [[ ${RUN} =~ "gdas" ]]; then + cd "${DATA}/RESTART" + mkdir -p "${COM_ATMOS_RESTART}" + local idate=$(date -d "${current_cycle:0:8} ${current_cycle:8:2} + ${restart_interval} hours" +%Y%m%d%H) + while [[ ${idate} -le ${forecast_end_cycle} ]]; do + for file in "${idate:0:8}.${idate:8:2}0000."*; do + ${NCP} "${file}" "${COM_ATMOS_RESTART}/${file}" done - if [ $DOIAU = "YES" ] || [ $DOIAU_coldstart = "YES" ]; then - # if IAU is on, save restart at start of IAU window - rst_iau=$(( ${IAU_OFFSET} - (${IAU_DELTHRS}/2) )) - if [ $rst_iau -lt 0 ];then - rst_iau=$(( (${IAU_DELTHRS}) - ${IAU_OFFSET} )) - fi - RDATE=$($NDATE +$rst_iau $CDATE) - rPDY=$(echo $RDATE | cut -c1-8) - rcyc=$(echo $RDATE | cut -c9-10) - for file in "${rPDY}.${rcyc}0000."* ; do - ${NCP} "${file}" "${COM_ATMOS_RESTART}/${file}" - done - fi - elif [[ ${RUN} =~ "gfs" ]]; then - ${NCP} "${DATA}/input.nml" "${COM_ATMOS_HISTORY}/input.nml" - fi + local idate=$(date -d "${idate:0:8} ${idate:8:2} + ${restart_interval} hours" +%Y%m%d%H) + done + elif [[ ${RUN} =~ "gfs" ]]; then + # No need to copy FV3 restart files when RUN=gfs + ${NCP} "${DATA}/input.nml" "${COM_ATMOS_HISTORY}/input.nml" fi - echo "SUB ${FUNCNAME[0]}: Output data for FV3 copied" } - WW3_postdet() { echo "SUB ${FUNCNAME[0]}: Linking input data for WW3" COMPONENTwave=${COMPONENTwave:-${RUN}wave} #Link mod_def files for wave grids - if [ $waveMULTIGRID = ".true." ]; then - array=($WAVECUR_FID $WAVEICE_FID $WAVEWND_FID $waveuoutpGRD $waveGRD $waveesmfGRD) - echo "Wave Grids: $WAVECUR_FID $WAVEICE_FID $WAVEWND_FID $waveuoutpGRD $waveGRD $waveesmfGRD" - grdALL=$(printf "%s\n" "${array[@]}" | sort -u | tr '\n' ' ') + if [[ ${waveMULTIGRID} = ".true." ]]; then + local array=(${WAVECUR_FID} ${WAVEICE_FID} ${WAVEWND_FID} ${waveuoutpGRD} ${waveGRD} ${waveesmfGRD}) + echo "Wave Grids: ${WAVECUR_FID} ${WAVEICE_FID} ${WAVEWND_FID} ${waveuoutpGRD} ${waveGRD} ${waveesmfGRD}" + local grdALL=$(printf "%s\n" "${array[@]}" | sort -u | tr '\n' ' ') for wavGRD in ${grdALL}; do ${NCP} "${COM_WAVE_PREP}/${COMPONENTwave}.mod_def.${wavGRD}" "${DATA}/mod_def.${wavGRD}" done - else - #if shel, only 1 waveGRD which is linked to mod_def.ww3 + else + #if shel, only 1 waveGRD which is linked to mod_def.ww3 ${NCP} "${COM_WAVE_PREP}/${COMPONENTwave}.mod_def.${waveGRD}" "${DATA}/mod_def.ww3" fi #if wave mesh is not the same as the ocn/ice mesh, linkk it in the file - comparemesh=${MESH_OCN_ICE:-"mesh.mx${ICERES}.nc"} - if [ "$MESH_WAV" = "$comparemesh" ]; then + local comparemesh=${MESH_OCN_ICE:-"mesh.mx${ICERES}.nc"} + if [[ "${MESH_WAV}" = "${comparemesh}" ]]; then echo "Wave is on same mesh as ocean/ice" else - $NLN -sf $FIXwave/$MESH_WAV $DATA/ + ${NLN} "${FIXwave}/${MESH_WAV}" "${DATA}/" fi export wavprfx=${RUNwave}${WAV_MEMBER:-} #Copy initial condition files: - for wavGRD in $waveGRD ; do - if [ $warm_start = ".true." -o $RERUN = "YES" ]; then - if [ $RERUN = "NO" ]; then - waverstfile=${COM_WAVE_RESTART_PREV}/${sPDY}.${scyc}0000.restart.${wavGRD} - else - waverstfile=${COM_WAVE_RESTART}/${PDYT}.${cyct}0000.restart.${wavGRD} + for wavGRD in ${waveGRD} ; do + if [[ "${warm_start}" = ".true." ]] || [[ "${RERUN}" = "YES" ]]; then + if [[ ${RERUN} = "NO" ]]; then + local waverstfile="${COM_WAVE_RESTART_PREV}/${sPDY}.${scyc}0000.restart.${wavGRD}" + else + local waverstfile="${COM_WAVE_RESTART}/${PDYT}.${cyct}0000.restart.${wavGRD}" fi - else - waverstfile=${COM_WAVE_RESTART}/${sPDY}.${scyc}0000.restart.${wavGRD} + else + local waverstfile="${COM_WAVE_RESTART}/${sPDY}.${scyc}0000.restart.${wavGRD}" fi - if [ ! -f ${waverstfile} ]; then - if [ $RERUN = "NO" ]; then + if [[ ! -f ${waverstfile} ]]; then + if [[ ${RERUN} = "NO" ]]; then echo "WARNING: NON-FATAL ERROR wave IC is missing, will start from rest" else echo "ERROR: Wave IC is missing in RERUN, exiting." exit 1 fi else - if [ $waveMULTIGRID = ".true." ]; then - $NLN ${waverstfile} $DATA/restart.${wavGRD} + if [[ ${waveMULTIGRID} = ".true." ]]; then + ${NLN} "${waverstfile}" "${DATA}/restart.${wavGRD}" else - $NLN ${waverstfile} $DATA/restart.ww3 + ${NLN} "${waverstfile}" "${DATA}/restart.ww3" fi fi done - if [ $waveMULTIGRID = ".true." ]; then - for wavGRD in $waveGRD ; do + if [[ ${waveMULTIGRID} = ".true." ]]; then + for wavGRD in ${waveGRD} ; do ${NLN} "${COM_WAVE_HISTORY}/${wavprfx}.log.${wavGRD}.${PDY}${cyc}" "log.${wavGRD}" done - else + else ${NLN} "${COM_WAVE_HISTORY}/${wavprfx}.log.${waveGRD}.${PDY}${cyc}" "log.ww3" fi - if [ "$WW3ICEINP" = "YES" ]; then - wavicefile="${COM_WAVE_PREP}/${RUNwave}.${WAVEICE_FID}.${cycle}.ice" - if [ ! -f $wavicefile ]; then + if [[ "${WW3ICEINP}" = "YES" ]]; then + local wavicefile="${COM_WAVE_PREP}/${RUNwave}.${WAVEICE_FID}.${cycle}.ice" + if [[ ! -f ${wavicefile} ]]; then echo "ERROR: WW3ICEINP = ${WW3ICEINP}, but missing ice file" echo "Abort!" exit 1 fi - $NLN ${wavicefile} $DATA/ice.${WAVEICE_FID} + ${NLN} "${wavicefile}" "${DATA}/ice.${WAVEICE_FID}" fi - if [ "$WW3CURINP" = "YES" ]; then - wavcurfile="${COM_WAVE_PREP}/${RUNwave}.${WAVECUR_FID}.${cycle}.cur" - if [ ! -f $wavcurfile ]; then + if [[ "${WW3CURINP}" = "YES" ]]; then + local wavcurfile="${COM_WAVE_PREP}/${RUNwave}.${WAVECUR_FID}.${cycle}.cur" + if [[ ! -f ${wavcurfile} ]]; then echo "ERROR: WW3CURINP = ${WW3CURINP}, but missing current file" echo "Abort!" exit 1 fi - $NLN $wavcurfile $DATA/current.${WAVECUR_FID} + ${NLN} "${wavcurfile}" "${DATA}/current.${WAVECUR_FID}" fi if [[ ! -d ${COM_WAVE_HISTORY} ]]; then mkdir -p "${COM_WAVE_HISTORY}"; fi # Link output files - cd $DATA - if [ $waveMULTIGRID = ".true." ]; then + cd "${DATA}" + if [[ ${waveMULTIGRID} = ".true." ]]; then ${NLN} "${COM_WAVE_HISTORY}/${wavprfx}.log.mww3.${PDY}${cyc}" "log.mww3" fi # Loop for gridded output (uses FHINC) - fhr=$FHMIN_WAV - while [ $fhr -le $FHMAX_WAV ]; do - YMDH=$($NDATE $fhr $CDATE) - YMD=$(echo $YMDH | cut -c1-8) - HMS="$(echo $YMDH | cut -c9-10)0000" - if [ $waveMULTIGRID = ".true." ]; then + local fhr vdate FHINC wavGRD + fhr=${FHMIN_WAV} + while [[ ${fhr} -le ${FHMAX_WAV} ]]; do + vdate=$(date -d "${current_cycle:0:8} ${current_cycle:8:2} + ${fhr} hours" +%Y%m%d%H) + if [[ ${waveMULTIGRID} = ".true." ]]; then for wavGRD in ${waveGRD} ; do - ${NLN} "${COM_WAVE_HISTORY}/${wavprfx}.out_grd.${wavGRD}.${YMD}.${HMS}" "${DATA}/${YMD}.${HMS}.out_grd.${wavGRD}" + ${NLN} "${COM_WAVE_HISTORY}/${wavprfx}.out_grd.${wavGRD}.${vdate:0:8}.${vdate:8:2}0000" "${DATA}/${vdate:0:8}.${vdate:8:2}0000.out_grd.${wavGRD}" done - else - ${NLN} "${COM_WAVE_HISTORY}/${wavprfx}.out_grd.${waveGRD}.${YMD}.${HMS}" "${DATA}/${YMD}.${HMS}.out_grd.ww3" + else + ${NLN} "${COM_WAVE_HISTORY}/${wavprfx}.out_grd.${waveGRD}.${vdate:0:8}.${vdate:8:2}0000" "${DATA}/${vdate:0:8}.${vdate:8:2}0000.out_grd.ww3" fi - FHINC=$FHOUT_WAV - if [ $FHMAX_HF_WAV -gt 0 -a $FHOUT_HF_WAV -gt 0 -a $fhr -lt $FHMAX_HF_WAV ]; then - FHINC=$FHOUT_HF_WAV + FHINC=${FHOUT_WAV} + if (( FHMAX_HF_WAV > 0 && FHOUT_HF_WAV > 0 && fhr < FHMAX_HF_WAV )); then + FHINC=${FHOUT_HF_WAV} fi fhr=$((fhr+FHINC)) done # Loop for point output (uses DTPNT) - fhr=$FHMIN_WAV - while [ $fhr -le $FHMAX_WAV ]; do - YMDH=$($NDATE $fhr $CDATE) - YMD=$(echo $YMDH | cut -c1-8) - HMS="$(echo $YMDH | cut -c9-10)0000" - if [ $waveMULTIGRID = ".true." ]; then - ${NLN} "${COM_WAVE_HISTORY}/${wavprfx}.out_pnt.${waveuoutpGRD}.${YMD}.${HMS}" "${DATA}/${YMD}.${HMS}.out_pnt.${waveuoutpGRD}" - else - ${NLN} "${COM_WAVE_HISTORY}/${wavprfx}.out_pnt.${waveuoutpGRD}.${YMD}.${HMS}" "${DATA}/${YMD}.${HMS}.out_pnt.ww3" + fhr=${FHMIN_WAV} + while [[ ${fhr} -le ${FHMAX_WAV} ]]; do + vdate=$(date -d "${current_cycle:0:8} ${current_cycle:8:2} + ${fhr} hours" +%Y%m%d%H) + if [[ ${waveMULTIGRID} = ".true." ]]; then + ${NLN} "${COM_WAVE_HISTORY}/${wavprfx}.out_pnt.${waveuoutpGRD}.${vdate:0:8}.${vdate:8:2}0000" "${DATA}/${vdate:0:8}.${vdate:8:2}0000.out_pnt.${waveuoutpGRD}" + else + ${NLN} "${COM_WAVE_HISTORY}/${wavprfx}.out_pnt.${waveuoutpGRD}.${vdate:0:8}.${vdate:8:2}0000" "${DATA}/${vdate:0:8}.${vdate:8:2}0000.out_pnt.ww3" fi - FHINC=$FHINCP_WAV + FHINC=${FHINCP_WAV} fhr=$((fhr+FHINC)) done } @@ -710,17 +639,17 @@ WW3_postdet() { WW3_nml() { echo "SUB ${FUNCNAME[0]}: Copying input files for WW3" WAV_MOD_TAG=${RUN}wave${waveMEMB} - if [ "${USE_WAV_RMP:-YES}" = "YES" ]; then - if (( $( ls -1 $FIXwave/rmp_src_to_dst_conserv_* 2> /dev/null | wc -l) > 0 )); then - for file in $(ls $FIXwave/rmp_src_to_dst_conserv_*) ; do - $NLN $file $DATA/ + if [[ "${USE_WAV_RMP:-YES}" = "YES" ]]; then + if (( $( ls -1 "${FIXwave}/rmp_src_to_dst_conserv_"* 2> /dev/null | wc -l) > 0 )); then + for file in $(ls "${FIXwave}/rmp_src_to_dst_conserv_"*) ; do + ${NLN} "${file}" "${DATA}/" done else echo 'FATAL ERROR : No rmp precomputed nc files found for wave model' exit 4 fi fi - source $SCRIPTDIR/parsing_namelists_WW3.sh + source "${HOMEgfs}/ush/parsing_namelists_WW3.sh" WW3_namelists } @@ -731,7 +660,7 @@ WW3_out() { CPL_out() { echo "SUB ${FUNCNAME[0]}: Copying output data for general cpl fields" - if [ $esmf_profile = ".true." ]; then + if [[ "${esmf_profile:-}" = ".true." ]]; then ${NCP} "${DATA}/ESMF_Profile.summary" "${COM_ATMOS_HISTORY}/ESMF_Profile.summary" fi } @@ -741,7 +670,7 @@ MOM6_postdet() { # Copy MOM6 ICs ${NLN} "${COM_OCEAN_RESTART_PREV}/${PDY}.${cyc}0000.MOM.res.nc" "${DATA}/INPUT/MOM.res.nc" - case $OCNRES in + case ${OCNRES} in "025") for nn in $(seq 1 4); do if [[ -f "${COM_OCEAN_RESTART_PREV}/${PDY}.${cyc}0000.MOM.res_${nn}.nc" ]]; then @@ -761,19 +690,19 @@ MOM6_postdet() { fi # Copy MOM6 fixed files - $NCP -pf $FIXmom/$OCNRES/* $DATA/INPUT/ + ${NCP} "${FIXmom}/${OCNRES}/"* "${DATA}/INPUT/" # Copy coupled grid_spec - spec_file="$FIX_DIR/cpl/a${CASE}o${OCNRES}/grid_spec.nc" - if [ -s $spec_file ]; then - $NCP -pf $spec_file $DATA/INPUT/ + spec_file="${FIX_DIR}/cpl/a${CASE}o${OCNRES}/grid_spec.nc" + if [[ -s ${spec_file} ]]; then + ${NCP} "${spec_file}" "${DATA}/INPUT/" else - echo "FATAL ERROR: grid_spec file '$spec_file' does not exist" + echo "FATAL ERROR: grid_spec file '${spec_file}' does not exist" exit 3 fi # Copy mediator restart files to RUNDIR # TODO: mediator should have its own CMEPS_postdet() function - if [[ $warm_start = ".true." ]]; then + if [[ ${warm_start} = ".true." ]]; then local mediator_file="${COM_MED_RESTART}/${PDY}.${cyc}0000.ufs.cpld.cpl.r.nc" if [[ -f "${mediator_file}" ]]; then ${NCP} "${mediator_file}" "${DATA}/ufs.cpld.cpl.r.nc" @@ -795,10 +724,10 @@ MOM6_postdet() { # If using stochatic parameterizations, create a seed that does not exceed the # largest signed integer - if [ $DO_OCN_SPPT = "YES" -o $DO_OCN_PERT_EPBL = "YES" ]; then - if [ ${SET_STP_SEED:-"YES"} = "YES" ]; then - ISEED_OCNSPPT=$(( (CDATE*1000 + MEMBER*10 + 6) % 2147483647 )) - ISEED_EPBL=$(( (CDATE*1000 + MEMBER*10 + 7) % 2147483647 )) + if [[ "${DO_OCN_SPPT}" = "YES" ]] || [[ "${DO_OCN_PERT_EPBL}" = "YES" ]]; then + if [[ ${SET_STP_SEED:-"YES"} = "YES" ]]; then + ISEED_OCNSPPT=$(( (current_cycle*1000 + MEMBER*10 + 6) % 2147483647 )) + ISEED_EPBL=$(( (current_cycle*1000 + MEMBER*10 + 7) % 2147483647 )) else ISEED=${ISEED:-0} fi @@ -813,72 +742,58 @@ MOM6_postdet() { # TODO: get requirements on what files need to be written out and what these dates here are and what they mean export ENSMEM=${ENSMEM:-01} - export IDATE=$CDATE - fhrlst=${OUTPUT_FH} - if [[ ! -d ${COM_OCEAN_HISTORY} ]]; then mkdir -p ${COM_OCEAN_HISTORY}; fi + if [[ ! -d ${COM_OCEAN_HISTORY} ]]; then mkdir -p "${COM_OCEAN_HISTORY}"; fi - for fhr in $fhrlst; do - if [ $fhr = 'anl' ]; then # Looking at OUTPUT_FH, this is never true, TODO: remove this block - continue - fi - if [ -z ${last_fhr:-} ]; then - last_fhr=$fhr + # Looping over FV3 output hours + # TODO: Need to define MOM6_OUTPUT_FH and control at some point for issue #1629 + for fhr in ${FV3_OUTPUT_FH}; do + if [[ -z ${last_fhr:-} ]]; then + local last_fhr=${fhr} continue fi (( interval = fhr - last_fhr )) (( midpoint = last_fhr + interval/2 )) - VDATE=$($NDATE $fhr $IDATE) - YYYY=$(echo $VDATE | cut -c1-4) - MM=$(echo $VDATE | cut -c5-6) - DD=$(echo $VDATE | cut -c7-8) - HH=$(echo $VDATE | cut -c9-10) - SS=$((10#$HH*3600)) - - VDATE_MID=$($NDATE $midpoint $IDATE) - YYYY_MID=$(echo $VDATE_MID | cut -c1-4) - MM_MID=$(echo $VDATE_MID | cut -c5-6) - DD_MID=$(echo $VDATE_MID | cut -c7-8) - HH_MID=$(echo $VDATE_MID | cut -c9-10) - SS_MID=$((10#$HH_MID*3600)) - - source_file="ocn_${YYYY_MID}_${MM_MID}_${DD_MID}_${HH_MID}.nc" - dest_file="ocn${VDATE}.${ENSMEM}.${IDATE}.nc" - ${NLN} ${COM_OCEAN_HISTORY}/${dest_file} ${DATA}/${source_file} - - source_file="ocn_daily_${YYYY}_${MM}_${DD}.nc" - dest_file=${source_file} - if [ ! -a "${DATA}/${source_file}" ]; then - $NLN ${COM_OCEAN_HISTORY}/${dest_file} ${DATA}/${source_file} + + local vdate=$(date -d "${current_cycle:0:8} ${current_cycle:8:2} + ${fhr} hours" +%Y%m%d%H) + local vdate_mid=$(date -d "${current_cycle:0:8} ${current_cycle:8:2} + ${midpoint} hours" +%Y%m%d%H) + + + # Native model output uses window midpoint in the filename, but we are mapping that to the end of the period for COM + local source_file="ocn_${vdate_mid:0:4}_${vdate_mid:4:2}_${vdate_mid:6:2}_${vdate_mid:8:2}.nc" + local dest_file="ocn${vdate}.${ENSMEM}.${current_cycle}.nc" + ${NLN} "${COM_OCEAN_HISTORY}/${dest_file}" "${DATA}/${source_file}" + + local source_file="ocn_daily_${vdate:0:4}_${vdate:4:2}_${vdate:6:2}.nc" + local dest_file=${source_file} + if [[ ! -a "${DATA}/${source_file}" ]]; then + ${NLN} "${COM_OCEAN_HISTORY}/${dest_file}" "${DATA}/${source_file}" fi - last_fhr=$fhr + local last_fhr=${fhr} done elif [[ "${RUN}" =~ "gdas" ]]; then # Link output files for RUN = gdas # Save MOM6 backgrounds - for fhr in ${OUTPUT_FH}; do - local idatestr=$(date -d "${CDATE:0:8} ${CDATE:8:2} + ${fhr} hours" +%Y_%m_%d_%H) + for fhr in ${FV3_OUTPUT_FH}; do + local idatestr=$(date -d "${current_cycle:0:8} ${current_cycle:8:2} + ${fhr} hours" +%Y_%m_%d_%H) local fhr3=$(printf %03i "${fhr}") - $NLN "${COM_OCEAN_HISTORY}/${RUN}.t${cyc}z.ocnf${fhr3}.nc" "${DATA}/ocn_da_${idatestr}.nc" + ${NLN} "${COM_OCEAN_HISTORY}/${RUN}.t${cyc}z.ocnf${fhr3}.nc" "${DATA}/ocn_da_${idatestr}.nc" done fi mkdir -p "${COM_OCEAN_RESTART}" - # end point restart does not have a timestamp, calculate - local rdate=$(date -d "${CDATE:0:8} ${CDATE:8:2} + ${FHMAX} hours" +%Y%m%d%H) - # Link ocean restarts from DATA to COM # Coarser than 1/2 degree has a single MOM restart - $NLN "${COM_OCEAN_RESTART}/${rdate:0:8}.${rdate:8:2}0000.MOM.res.nc" "${DATA}/MOM6_RESTART/" + ${NLN} "${COM_OCEAN_RESTART}/${forecast_end_cycle:0:8}.${forecast_end_cycle:8:2}0000.MOM.res.nc" "${DATA}/MOM6_RESTART/" # 1/4 degree resolution has 4 additional restarts case ${OCNRES} in "025") for nn in $(seq 1 4); do - $NLN "${COM_OCEAN_RESTART}/${rdate:0:8}.${rdate:8:2}0000.MOM.res_${nn}.nc" "${DATA}/MOM6_RESTART/" + ${NLN} "${COM_OCEAN_RESTART}/${forecast_end_cycle:0:8}.${forecast_end_cycle:8:2}0000.MOM.res_${nn}.nc" "${DATA}/MOM6_RESTART/" done ;; *) @@ -886,19 +801,18 @@ MOM6_postdet() { esac # Loop over restart_interval frequency and link restarts from DATA to COM - local res_int=$(echo $restart_interval | cut -d' ' -f1) # If this is a list, get the frequency. # This is bound to break w/ IAU - local idate=$(date -d "${CDATE:0:8} ${CDATE:8:2} + ${res_int} hours" +%Y%m%d%H) - while [[ $idate -lt $rdate ]]; do + local idate=$(date -d "${current_cycle:0:8} ${current_cycle:8:2} + ${restart_interval} hours" +%Y%m%d%H) + while [[ ${idate} -lt ${forecast_end_cycle} ]]; do local idatestr=$(date +%Y-%m-%d-%H -d "${idate:0:8} ${idate:8:2}") - $NLN "${COM_OCEAN_RESTART}/${idate:0:8}.${idate:8:2}0000.MOM.res.nc" "${DATA}/MOM6_RESTART/" + ${NLN} "${COM_OCEAN_RESTART}/${idate:0:8}.${idate:8:2}0000.MOM.res.nc" "${DATA}/MOM6_RESTART/" case ${OCNRES} in "025") for nn in $(seq 1 4); do - $NLN "${COM_OCEAN_RESTART}/${idate:0:8}.${idate:8:2}0000.MOM.res_${nn}.nc" "${DATA}/MOM6_RESTART/" + ${NLN} "${COM_OCEAN_RESTART}/${idate:0:8}.${idate:8:2}0000.MOM.res_${nn}.nc" "${DATA}/MOM6_RESTART/" done ;; esac - local idate=$(date -d "${idate:0:8} ${idate:8:2} + ${res_int} hours" +%Y%m%d%H) + local idate=$(date -d "${idate:0:8} ${idate:8:2} + ${restart_interval} hours" +%Y%m%d%H) done # TODO: mediator should have its own CMEPS_postdet() function @@ -908,12 +822,12 @@ MOM6_postdet() { # Instead of linking, copy the mediator files after the model finishes #local COMOUTmed="${ROTDIR}/${RUN}.${PDY}/${cyc}/med" #mkdir -p "${COMOUTmed}/RESTART" - #local idate=$(date -d "${CDATE:0:8} ${CDATE:8:2} + ${res_int} hours" +%Y%m%d%H) - #while [[ $idate -le $rdate ]]; do + #local idate=$(date -d "${current_cycle:0:8} ${current_cycle:8:2} + ${restart_interval} hours" +%Y%m%d%H) + #while [[ ${idate} -le ${forecast_end_cycle} ]]; do # local seconds=$(to_seconds ${idate:8:2}0000) # use function to_seconds from forecast_predet.sh to convert HHMMSS to seconds # local idatestr="${idate:0:4}-${idate:4:2}-${idate:6:2}-${seconds}" - # $NLN "${COMOUTmed}/RESTART/${idate:0:8}.${idate:8:2}0000.ufs.cpld.cpl.r.nc" "${DATA}/RESTART/ufs.cpld.cpl.r.${idatestr}.nc" - # local idate=$(date -d "${idate:0:8} ${idate:8:2} + ${res_int} hours" +%Y%m%d%H) + # ${NLN} "${COMOUTmed}/RESTART/${idate:0:8}.${idate:8:2}0000.ufs.cpld.cpl.r.nc" "${DATA}/RESTART/ufs.cpld.cpl.r.${idatestr}.nc" + # local idate=$(date -d "${idate:0:8} ${idate:8:2} + ${restart_interval} hours" +%Y%m%d%H) #done echo "SUB ${FUNCNAME[0]}: MOM6 input data linked/copied" @@ -922,7 +836,7 @@ MOM6_postdet() { MOM6_nml() { echo "SUB ${FUNCNAME[0]}: Creating name list for MOM6" - source $SCRIPTDIR/parsing_namelists_MOM6.sh + source "${HOMEgfs}/ush/parsing_namelists_MOM6.sh" MOM6_namelists } @@ -938,38 +852,23 @@ MOM6_out() { # Linking mediator restarts to COM causes the model to fail with a message. # See MOM6_postdet() function for error message mkdir -p "${COM_MED_RESTART}" - local res_int=$(echo $restart_interval | cut -d' ' -f1) # If this is a list, get the frequency. # This is bound to break w/ IAU - local idate=$(date -d "${CDATE:0:8} ${CDATE:8:2} + ${res_int} hours" +%Y%m%d%H) - local rdate=$(date -d "${CDATE:0:8} ${CDATE:8:2} + ${FHMAX} hours" +%Y%m%d%H) - while [[ $idate -le $rdate ]]; do - local seconds=$(to_seconds ${idate:8:2}0000) # use function to_seconds from forecast_predet.sh to convert HHMMSS to seconds + local idate=$(date -d "${current_cycle:0:8} ${current_cycle:8:2} + ${restart_interval} hours" +%Y%m%d%H) + while [[ ${idate} -le ${forecast_end_cycle} ]]; do + local seconds=$(to_seconds "${idate:8:2}"0000) # use function to_seconds from forecast_predet.sh to convert HHMMSS to seconds local idatestr="${idate:0:4}-${idate:4:2}-${idate:6:2}-${seconds}" local mediator_file="${DATA}/RESTART/ufs.cpld.cpl.r.${idatestr}.nc" if [[ -f ${mediator_file} ]]; then - $NCP "${DATA}/RESTART/ufs.cpld.cpl.r.${idatestr}.nc" "${COM_MED_RESTART}/${idate:0:8}.${idate:8:2}0000.ufs.cpld.cpl.r.nc" + ${NCP} "${DATA}/RESTART/ufs.cpld.cpl.r.${idatestr}.nc" "${COM_MED_RESTART}/${idate:0:8}.${idate:8:2}0000.ufs.cpld.cpl.r.nc" else echo "Mediator restart ${mediator_file} not found." fi - local idate=$(date -d "${idate:0:8} ${idate:8:2} + ${res_int} hours" +%Y%m%d%H) + local idate=$(date -d "${idate:0:8} ${idate:8:2} + ${restart_interval} hours" +%Y%m%d%H) done } CICE_postdet() { echo "SUB ${FUNCNAME[0]}: CICE after run type determination" - # TODO: move configuration settings to config.ice - - # TODO: These need to be calculated in the parsing_namelists_CICE.sh script CICE_namelists() function and set as local - year=$(echo $CDATE|cut -c 1-4) - month=$(echo $CDATE|cut -c 5-6) - day=$(echo $CDATE|cut -c 7-8) - hour=$(echo $CDATE|cut -c 9-10) - sec=$(($hour*3600)) - stepsperhr=$((3600/$ICETIM)) - nhours=$($NHOUR $CDATE ${year}010100) - steps=$((nhours*stepsperhr)) - npt=$((FHMAX*$stepsperhr)) # Need this in order for dump_last to work - # TODO: These settings should be elevated to config.ice histfreq_n=${histfreq_n:-6} dumpfreq_n=${dumpfreq_n:-1000} # Set this to a really large value, as cice, mom6 and cmeps restart interval is controlled by nems.configure @@ -991,36 +890,30 @@ CICE_postdet() { # -- if false, re-initialize level ponds to zero (if runtype=initial or continue) restart_pond_lvl=${restart_pond_lvl:-".false."} - ICERES=${ICERES:-"025"} # TODO: similar to MOM_out, lift this higher - ice_grid_file=${ice_grid_file:-"grid_cice_NEMS_mx${ICERES}.nc"} ice_kmt_file=${ice_kmt_file:-"kmtu_cice_NEMS_mx${ICERES}.nc"} export MESH_OCN_ICE=${MESH_OCN_ICE:-"mesh.mx${ICERES}.nc"} - # Copy/link CICE IC to DATA - if [[ "${warm_start}" = ".true." ]]; then - cice_ana="${COM_ICE_RESTART}/${PDY}.${cyc}0000.cice_model_anl.res.nc" - if [[ -e ${cice_ana} ]]; then - ${NLN} "${cice_ana}" "${DATA}/cice_model.res.nc" - else - ${NLN} "${COM_ICE_RESTART_PREV}/${PDY}.${cyc}0000.cice_model.res.nc" "${DATA}/cice_model.res.nc" - fi - else # cold start are typically SIS2 restarts obtained from somewhere else e.g. CPC - $NLN "${COM_ICE_RESTART}/${PDY}.${cyc}0000.cice_model.res.nc" "${DATA}/cice_model.res.nc" + # Copy CICE ICs + echo "Link CICE ICs" + cice_restart_file="${COM_ICE_RESTART_PREV}/${PDY}.${cyc}0000.cice_model.res.nc" + if [[ ! -f "${cice_restart_file}" ]]; then + echo "FATAL ERROR: CICE restart file not found at '${cice_restart_file}', ABORT!" + exit 112 + else + ${NLN} "${cice_restart_file}" "${DATA}/cice_model.res.nc" fi - # TODO: add a check for the restarts to exist, if not, exit eloquently rm -f "${DATA}/ice.restart_file" - touch "${DATA}/ice.restart_file" - echo "${DATA}/cice_model.res.nc" >> "${DATA}/ice.restart_file" + echo "${DATA}/cice_model.res.nc" > "${DATA}/ice.restart_file" echo "Link CICE fixed files" - $NLN -sf $FIXcice/$ICERES/${ice_grid_file} $DATA/ - $NLN -sf $FIXcice/$ICERES/${ice_kmt_file} $DATA/ - $NLN -sf $FIXcice/$ICERES/$MESH_OCN_ICE $DATA/ + ${NLN} "${FIXcice}/${ICERES}/${ice_grid_file}" "${DATA}/" + ${NLN} "${FIXcice}/${ICERES}/${ice_kmt_file}" "${DATA}/" + ${NLN} "${FIXcice}/${ICERES}/${MESH_OCN_ICE}" "${DATA}/" # Link CICE output files - if [[ ! -d "${COM_ICE_HISTORY}" ]]; then mkdir -p "${COM_ICE_HISTORY}"; fi - mkdir -p ${COM_ICE_RESTART} + if [[ ! -d "${COM_ICE_HISTORY}" ]]; then mkdir -p "${COM_ICE_HISTORY}"; fi + mkdir -p "${COM_ICE_RESTART}" if [[ "${RUN}" =~ "gfs" ]]; then # Link output files for RUN = gfs @@ -1029,66 +922,61 @@ CICE_postdet() { # TODO: Work w/ NB to determine appropriate naming convention for these files export ENSMEM=${ENSMEM:-01} - export IDATE=$CDATE - - fhrlst=$OUTPUT_FH # TODO: consult w/ NB on how to improve on this. Gather requirements and more information on what these files are and how they are used to properly catalog them - for fhr in $fhrlst; do - if [ $fhr = 'anl' ]; then # Looking at OUTPUT_FH, this is never true. TODO: remove this block - continue - fi - VDATE=$($NDATE $fhr $IDATE) - YYYY=$(echo $VDATE | cut -c1-4) - MM=$(echo $VDATE | cut -c5-6) - DD=$(echo $VDATE | cut -c7-8) - HH=$(echo $VDATE | cut -c9-10) - SS=$((10#$HH*3600)) - - if [[ 10#$fhr -eq 0 ]]; then - ${NLN} "${COM_ICE_HISTORY}/iceic${VDATE}.${ENSMEM}.${IDATE}.nc" "${DATA}/CICE_OUTPUT/iceh_ic.${YYYY}-${MM}-${DD}-$(printf "%5.5d" ${SS}).nc" + local vdate seconds vdatestr fhr last_fhr + for fhr in ${FV3_OUTPUT_FH}; do + vdate=$(date -d "${current_cycle:0:8} ${current_cycle:8:2} + ${fhr} hours" +%Y%m%d%H) + seconds=$(to_seconds "${vdate:8:2}0000") # convert HHMMSS to seconds + vdatestr="${vdate:0:4}-${vdate:4:2}-${vdate:6:2}-${seconds}" + + if [[ 10#${fhr} -eq 0 ]]; then + ${NLN} "${COM_ICE_HISTORY}/iceic${vdate}.${ENSMEM}.${current_cycle}.nc" "${DATA}/CICE_OUTPUT/iceh_ic.${vdatestr}.nc" else (( interval = fhr - last_fhr )) # Umm.. isn't this histfreq_n? - ${NLN} "${COM_ICE_HISTORY}/ice${VDATE}.${ENSMEM}.${IDATE}.nc" "${DATA}/CICE_OUTPUT/iceh_$(printf "%0.2d" $interval)h.${YYYY}-${MM}-${DD}-$(printf "%5.5d" ${SS}).nc" + ${NLN} "${COM_ICE_HISTORY}/ice${vdate}.${ENSMEM}.${current_cycle}.nc" "${DATA}/CICE_OUTPUT/iceh_$(printf "%0.2d" "${interval}")h.${vdatestr}.nc" fi - last_fhr=$fhr + last_fhr=${fhr} done elif [[ "${RUN}" =~ "gdas" ]]; then # Link CICE generated initial condition file from DATA/CICE_OUTPUT to COMOUTice # This can be thought of as the f000 output from the CICE model - local seconds=$(to_seconds ${CDATE:8:2}0000) # convert HHMMSS to seconds - $NLN "${COM_ICE_HISTORY}/${RUN}.t${cyc}z.iceic.nc" "${DATA}/CICE_OUTPUT/iceh_ic.${CDATE:0:4}-${CDATE:4:2}-${CDATE:6:2}-${seconds}.nc" + local seconds vdatestr + seconds=$(to_seconds "${current_cycle:8:2}0000") # convert HHMMSS to seconds + vdatestr="${current_cycle:0:4}-${current_cycle:4:2}-${current_cycle:6:2}-${seconds}" + ${NLN} "${COM_ICE_HISTORY}/${RUN}.t${cyc}z.iceic.nc" "${DATA}/CICE_OUTPUT/iceh_ic.${vdatestr}.nc" # Link instantaneous CICE forecast output files from DATA/CICE_OUTPUT to COMOUTice - local fhr="${FHOUT}" + local vdate vdatestr seconds fhr fhr3 + fhr="${FHOUT}" while [[ "${fhr}" -le "${FHMAX}" ]]; do - local idate=$(date -d "${CDATE:0:8} ${CDATE:8:2} + ${fhr} hours" +%Y%m%d%H) - local seconds=$(to_seconds ${idate:8:2}0000) # convert HHMMSS to seconds - local fhr3=$(printf %03i ${fhr}) - $NLN "${COM_ICE_HISTORY}/${RUN}.t${cyc}z.icef${fhr3}.nc" "${DATA}/CICE_OUTPUT/iceh_inst.${idate:0:4}-${idate:4:2}-${idate:6:2}-${seconds}.nc" - local fhr=$((fhr + FHOUT)) + vdate=$(date -d "${current_cycle:0:8} ${current_cycle:8:2} + ${fhr} hours" +%Y%m%d%H) + seconds=$(to_seconds "${vdate:8:2}0000") # convert HHMMSS to seconds + vdatestr="${vdate:0:4}-${vdate:4:2}-${vdate:6:2}-${seconds}" + fhr3=$(printf %03i "${fhr}") + ${NLN} "${COM_ICE_HISTORY}/${RUN}.t${cyc}z.icef${fhr3}.nc" "${DATA}/CICE_OUTPUT/iceh_inst.-${vdatestr}.nc" + fhr=$((fhr + FHOUT)) done fi # Link CICE restarts from CICE_RESTART to COMOUTice/RESTART # Loop over restart_interval and link restarts from DATA to COM - local res_int=$(echo ${restart_interval} | cut -d' ' -f1) # If this is a list, get the frequency. # This is bound to break w/ IAU - local rdate=$(date -d "${CDATE:0:8} ${CDATE:8:2} + ${FHMAX} hours" +%Y%m%d%H) - local idate=$(date -d "${CDATE:0:8} ${CDATE:8:2} + ${res_int} hours" +%Y%m%d%H) - while [[ ${idate} -le ${rdate} ]]; do - local seconds=$(to_seconds ${idate:8:2}0000) # convert HHMMSS to seconds - local idatestr="${idate:0:4}-${idate:4:2}-${idate:6:2}-${seconds}" - $NLN "${COM_ICE_RESTART}/${idate:0:8}.${idate:8:2}0000.cice_model.res.nc" "${DATA}/CICE_RESTART/cice_model.res.${idatestr}.nc" - local idate=$(date -d "${idate:0:8} ${idate:8:2} + ${res_int} hours" +%Y%m%d%H) + local vdate vdatestr seconds + vdate=$(date -d "${current_cycle:0:8} ${current_cycle:8:2} + ${restart_interval} hours" +%Y%m%d%H) + while [[ ${vdate} -le ${forecast_end_cycle} ]]; do + seconds=$(to_seconds "${vdate:8:2}0000") # convert HHMMSS to seconds + vdatestr="${vdate:0:4}-${vdate:4:2}-${vdate:6:2}-${seconds}" + ${NLN} "${COM_ICE_RESTART}/${vdate:0:8}.${vdate:8:2}0000.cice_model.res.nc" "${DATA}/CICE_RESTART/cice_model.res.${vdatestr}.nc" + vdate=$(date -d "${vdate:0:8} ${vdate:8:2} + ${restart_interval} hours" +%Y%m%d%H) done } CICE_nml() { echo "SUB ${FUNCNAME[0]}: Creating name list for CICE" - source $SCRIPTDIR/parsing_namelists_CICE.sh + source "${HOMEgfs}/ush/parsing_namelists_CICE.sh" CICE_namelists } @@ -1106,27 +994,27 @@ GOCART_rc() { # this variable is platform-dependent and should be set via a YAML file # link directory containing GOCART input dataset, if provided - if [ ! -z "${AERO_INPUTS_DIR}" ]; then - $NLN -sf ${AERO_INPUTS_DIR} $DATA/ExtData + if [[ ! -z "${AERO_INPUTS_DIR}" ]]; then + ${NLN} "${AERO_INPUTS_DIR}" "${DATA}/ExtData" status=$? - [[ $status -ne 0 ]] && exit $status + [[ ${status} -ne 0 ]] && exit "${status}" fi # copying GOCART configuration files - if [ ! -z "${AERO_CONFIG_DIR}" ]; then - $NCP ${AERO_CONFIG_DIR}/*.rc $DATA + if [[ ! -z "${AERO_CONFIG_DIR}" ]]; then + ${NCP} "${AERO_CONFIG_DIR}"/*.rc "${DATA}" status=$? - [[ $status -ne 0 ]] && exit $status + [[ ${status} -ne 0 ]] && exit "${status}" # attempt to generate ExtData configuration file if not provided - if [ ! -f $DATA/AERO_ExtData.rc ]; then + if [[ ! -f "${DATA}/AERO_ExtData.rc" ]]; then { \ echo "PrimaryExports%%" ; \ - cat ${AERO_CONFIG_DIR}/ExtData.other ; \ - cat ${AERO_CONFIG_DIR}/ExtData.${AERO_EMIS_FIRE:-none} ; \ + cat "${AERO_CONFIG_DIR}/ExtData.other" ; \ + cat "${AERO_CONFIG_DIR}/ExtData.${AERO_EMIS_FIRE:-none}" ; \ echo "%%" ; \ - } > $DATA/AERO_ExtData.rc + } > "${DATA}/AERO_ExtData.rc" status=$? - if (( status != 0 )); then exit $status; fi + if (( status != 0 )); then exit "${status}"; fi fi fi } @@ -1136,25 +1024,15 @@ GOCART_postdet() { if [[ ! -d "${COM_CHEM_HISTORY}" ]]; then mkdir -p "${COM_CHEM_HISTORY}"; fi - fhrlst=$OUTPUT_FH - for fhr in $fhrlst; do - if [ $fhr = 'anl' ]; then - continue - fi - VDATE=$($NDATE $fhr $CDATE) - YYYY=$(echo $VDATE | cut -c1-4) - MM=$(echo $VDATE | cut -c5-6) - DD=$(echo $VDATE | cut -c7-8) - HH=$(echo $VDATE | cut -c9-10) - SS=$((10#$HH*3600)) - - # + for fhr in ${FV3_OUTPUT_FH}; do + local vdate=$(date -d "${current_cycle:0:8} ${current_cycle:8:2} + ${fhr} hours" +%Y%m%d%H) + # Temporarily delete existing files due to noclobber in GOCART - # - if [[ -e "${COM_CHEM_HISTORY}/gocart.inst_aod.${YYYY}${MM}${DD}_${HH}00z.nc4" ]]; then - rm "${COM_CHEM_HISTORY}/gocart.inst_aod.${YYYY}${MM}${DD}_${HH}00z.nc4" + if [[ -e "${COM_CHEM_HISTORY}/gocart.inst_aod.${vdate:0:8}_${vdate:8:2}00z.nc4" ]]; then + rm -f "${COM_CHEM_HISTORY}/gocart.inst_aod.${vdate:0:8}_${vdate:8:2}00z.nc4" fi - ${NLN} "${COM_CHEM_HISTORY}/gocart.inst_aod.${YYYY}${MM}${DD}_${HH}00z.nc4" "${DATA}/gocart.inst_aod.${YYYY}${MM}${DD}_${HH}00z.nc4" + ${NLN} "${COM_CHEM_HISTORY}/gocart.inst_aod.${vdate:0:8}_${vdate:8:2}00z.nc4" \ + "${DATA}/gocart.inst_aod.${vdate:0:8}_${vdate:8:2}00z.nc4" done } From 260c4787da648481959ae07b569512ff3caf20ae Mon Sep 17 00:00:00 2001 From: Helin Wei Date: Tue, 18 Jul 2023 07:32:31 -0500 Subject: [PATCH 03/13] changes for NoahMP table --- sorc/link_workflow.sh | 4 ++++ ush/forecast_postdet.sh | 3 +++ 2 files changed, 7 insertions(+) diff --git a/sorc/link_workflow.sh b/sorc/link_workflow.sh index b88fd664e2..b5f54013bd 100755 --- a/sorc/link_workflow.sh +++ b/sorc/link_workflow.sh @@ -131,6 +131,10 @@ fi #--------------------------------------- #--add files from external repositories #--------------------------------------- +#--copy/link NoahMp table form ccpp-physics repository +cd "${HOMEgfs}/parm/ufs/land" || exit 1 + ${LINK_OR_COPY} "${HOMEgfs}/sorc/ufs_model.fd/FV3/ccpp/physics/physics/noahmptable.tbl" . + cd "${HOMEgfs}/parm/post" || exit 1 for file in postxconfig-NT-GEFS-ANL.txt postxconfig-NT-GEFS-F00.txt postxconfig-NT-GEFS.txt postxconfig-NT-GFS-ANL.txt \ postxconfig-NT-GFS-F00-TWO.txt postxconfig-NT-GFS-F00.txt postxconfig-NT-GFS-FLUX-F00.txt postxconfig-NT-GFS-FLUX.txt \ diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh index a9d7e48ebf..daf57b1075 100755 --- a/ush/forecast_postdet.sh +++ b/ush/forecast_postdet.sh @@ -191,6 +191,9 @@ EOF IEMS=${IEMS:-1} fi +# NoahMP table + ${NLN} "$HOMEgfs/parm/ufs/land/noahmptable.tbl" "$DATA/noahmptable.tbl" + # Files for GWD OROFIX_ugwd=${OROFIX_ugwd:-"${FIX_DIR}/ugwd"} ${NLN} "${OROFIX_ugwd}/ugwp_limb_tau.nc" "${DATA}/ugwp_limb_tau.nc" From f7fc25f9a27cc9cd0e1e0feee3f1cde4b658d99d Mon Sep 17 00:00:00 2001 From: Helin Wei Date: Tue, 18 Jul 2023 07:39:47 -0500 Subject: [PATCH 04/13] create parm/ufs/land --- parm/ufs/land/noahmptable.tbl | 780 ++++++++++++++++++++++++++++++++++ 1 file changed, 780 insertions(+) create mode 100644 parm/ufs/land/noahmptable.tbl diff --git a/parm/ufs/land/noahmptable.tbl b/parm/ufs/land/noahmptable.tbl new file mode 100644 index 0000000000..3ffd5b5320 --- /dev/null +++ b/parm/ufs/land/noahmptable.tbl @@ -0,0 +1,780 @@ +&noahmp_usgs_veg_categories + veg_dataset_description = "usgs" + nveg = 27 +/ +&noahmp_usgs_parameters + ! nveg = 27 + ! 1: urban and built-up land + ! 2: dryland cropland and pasture + ! 3: irrigated cropland and pasture + ! 4: mixed dryland/irrigated cropland and pasture + ! 5: cropland/grassland mosaic + ! 6: cropland/woodland mosaic + ! 7: grassland + ! 8: shrubland + ! 9: mixed shrubland/grassland + ! 10: savanna + ! 11: deciduous broadleaf forest + ! 12: deciduous needleleaf forest + ! 13: evergreen broadleaf forest + ! 14: evergreen needleleaf forest + ! 15: mixed forest + ! 16: water bodies + ! 17: herbaceous wetland + ! 18: wooded wetland + ! 19: barren or sparsely vegetated + ! 20: herbaceous tundra + ! 21: wooded tundra + ! 22: mixed tundra + ! 23: bare ground tundra + ! 24: snow or ice + ! 25: playa + ! 26: lava + ! 27: white sand + + isurban = 1 + iswater = 16 + isbarren = 19 + isice = 24 + iscrop = 2 + eblforest = 13 + natural = 5 + lcz_1 = 31 + lcz_2 = 32 + lcz_3 = 33 + lcz_4 = 34 + lcz_5 = 35 + lcz_6 = 36 + lcz_7 = 37 + lcz_8 = 38 + lcz_9 = 39 + lcz_10 = 40 + lcz_11 = 41 + + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + ch2op = 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, + dleaf = 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, + z0mvt = 1.00, 0.15, 0.15, 0.15, 0.14, 0.50, 0.12, 0.06, 0.09, 0.50, 0.80, 0.85, 1.10, 1.09, 0.80, 0.00, 0.12, 0.50, 0.00, 0.10, 0.30, 0.20, 0.03, 0.00, 0.01, 0.00, 0.00, + hvt = 15.0, 2.00, 2.00, 2.00, 1.50, 8.00, 1.00, 1.10, 1.10, 10.0, 16.0, 18.0, 20.0, 20.0, 16.0, 0.00, 0.50, 10.0, 0.00, 0.50, 4.00, 2.00, 0.50, 0.00, 0.10, 0.00, 0.00, + hvb = 1.00, 0.10, 0.10, 0.10, 0.10, 0.15, 0.05, 0.10, 0.10, 0.10, 11.5, 7.00, 8.00, 8.50, 10.0, 0.00, 0.05, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + z0mhvt= 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.00, 0.05, 0.05, 0.05, 0.05, 0.00, 0.05, 0.00, 0.00, + den = 0.01, 25.0, 25.0, 25.0, 25.0, 25.0, 100., 10.0, 10.0, 0.02, 0.10, 0.28, 0.02, 0.28, 0.10, 0.01, 10.0, 0.10, 0.01, 1.00, 1.00, 1.00, 1.00, 0.00, 0.01, 0.01, 0.01, + rc = 1.00, 0.08, 0.08, 0.08, 0.08, 0.08, 0.03, 0.12, 0.12, 3.00, 1.40, 1.20, 3.60, 1.20, 1.40, 0.01, 0.10, 1.40, 0.01, 0.30, 0.30, 0.30, 0.30, 0.00, 0.01, 0.01, 0.01, +!mfsno = 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, +! c. he 12/17/2020: optimized mfsno values dependent on land type based on evaluation with snotel swe and modis scf, surface albedo + mfsno = 4.00, 3.00, 3.00, 3.00, 4.00, 4.00, 2.00, 2.00, 2.00, 2.00, 1.00, 1.00, 1.00, 1.00, 1.00, 3.00, 3.00, 3.00, 3.00, 3.50, 3.50, 3.50, 3.50, 2.50, 3.50, 3.50, 3.50, +! c. he 12/17/2020: optimized snow cover factor (m) in scf formulation to replace original constant 2.5*z0,z0=0.002m, based on evaluation with snotel swe and modis scf, surface albedo + scffac= 0.042, 0.014, 0.014, 0.014, 0.026, 0.026, 0.020, 0.018, 0.016, 0.020, 0.008, 0.008, 0.008, 0.008, 0.008, 0.030, 0.020, 0.020, 0.016, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, + cbiom = 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, + + ! row 1: vis + ! row 2: near ir + rhol_vis=0.00, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.07, 0.10, 0.10, 0.10, 0.07, 0.10, 0.07, 0.10, 0.00, 0.11, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + rhol_nir=0.00, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.35, 0.45, 0.45, 0.45, 0.35, 0.45, 0.35, 0.45, 0.00, 0.58, 0.45, 0.00, 0.45, 0.45, 0.45, 0.45, 0.00, 0.45, 0.00, 0.00, + + ! row 1: vis + ! row 2: near ir + rhos_vis=0.00, 0.36, 0.36, 0.36, 0.36, 0.36, 0.36, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.00, 0.36, 0.16, 0.00, 0.16, 0.16, 0.16, 0.16, 0.00, 0.16, 0.00, 0.00, + rhos_nir=0.00, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.00, 0.58, 0.39, 0.00, 0.39, 0.39, 0.39, 0.39, 0.00, 0.39, 0.00, 0.00, + + ! row 1: vis + ! row 2: near ir + taul_vis=0.00, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.00, 0.07, 0.05, 0.00, 0.05, 0.05, 0.05, 0.05, 0.00, 0.05, 0.00, 0.00, + taul_nir=0.00, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.10, 0.10, 0.25, 0.25, 0.10, 0.25, 0.10, 0.25, 0.00, 0.25, 0.25, 0.00, 0.25, 0.25, 0.25, 0.25, 0.00, 0.25, 0.00, 0.00, + + ! row 1: vis + ! row 2: near ir + taus_vis=0.00, 0.220, 0.220, 0.220, 0.220, 0.220, 0.220, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.000, 0.220, 0.001, 0.000, 0.220, 0.001, 0.001, 0.001, 0.000, 0.001, 0.000, 0.000, + taus_nir=0.00, 0.380, 0.380, 0.380, 0.380, 0.380, 0.380, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.000, 0.380, 0.001, 0.000, 0.380, 0.001, 0.001, 0.001, 0.000, 0.001, 0.000, 0.000, + + xl = 0.000, -0.30, -0.30, -0.30, -0.30, -0.30, -0.30, 0.010, 0.250, 0.010, 0.250, 0.010, 0.010, 0.010, 0.250, 0.000, -0.30, 0.250, 0.000, -0.30, 0.250, 0.250, 0.250, 0.000, 0.250, 0.000, 0.000, + ! make cwpvt vegetation dependent according to j. goudriaan, crop micrometeorology: a simulation study (simulation monographs), 1977). c. he, 12/17/2020 + cwpvt = 0.18, 1.67, 1.67, 1.67, 1.67, 0.5, 5.0, 1.0, 2.0, 1.0, 0.67, 0.18, 0.67, 0.18, 0.29, 0.18, 1.67, 0.67, 0.18, 1.67, 0.67, 1.00, 0.18, 0.18, 0.18, 0.18, 0.18, + c3psn = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + kc25 = 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, + akc = 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, + ko25 = 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, + ako = 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, + avcmx = 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, + aqe = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + + ltovrc= 0.0, 1.2, 1.2, 1.2, 1.2, 1.30, 0.50, 0.65, 0.70, 0.65, 0.55, 0.2, 0.55, 0.5, 0.5, 0.0, 1.4, 1.4, 0.0, 1.2, 1.3, 1.4, 1.0, 0.0, 1.0, 0.0, 0.0, + dilefc= 0.00, 0.50, 0.50, 0.50, 0.35, 0.20, 0.20, 0.20, 0.50, 0.50, 0.60, 1.80, 0.50, 1.20, 0.80, 0.00, 0.40, 0.40, 0.00, 0.40, 0.30, 0.40, 0.30, 0.00, 0.30, 0.00, 0.00, + dilefw= 0.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.10, 0.20, 0.20, 0.50, 0.20, 0.20, 4.00, 0.20, 0.20, 0.00, 0.20, 0.20, 0.00, 0.20, 0.20, 0.20, 0.20, 0.00, 0.20, 0.00, 0.00, + rmf25 = 0.00, 1.00, 1.40, 1.45, 1.45, 1.45, 1.80, 0.26, 0.26, 0.80, 3.00, 4.00, 0.65, 3.00, 3.00, 0.00, 3.20, 3.20, 0.00, 3.20, 3.00, 3.00, 3.00, 0.00, 3.00, 0.00, 0.00, + sla = 60, 80, 80, 80, 80, 80, 60, 60, 60, 50, 80, 80, 80, 80, 80, 0, 80, 80, 0, 80, 80, 80, 80, 0, 80, 0, 0, + fragr = 0.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.10, 0.20, 0.10, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, + tmin = 0, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 268, 273, 265, 268, 0, 268, 268, 0, 268, 268, 268, 268, 0, 268, 0, 0, + vcmx25= 0.00, 80.0, 80.0, 80.0, 60.0, 70.0, 40.0, 40.0, 40.0, 40.0, 60.0, 60.0, 60.0, 50.0, 55.0, 0.00, 50.0, 50.0, 0.00, 50.0, 50.0, 50.0, 50.0, 0.00, 50.0, 0.00, 0.00, + tdlef = 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 268, 278, 278, 268, 0, 268, 268, 0, 268, 268, 268, 268, 0, 268, 0, 0, + bp = 1.e15, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 1.e15, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 1.e15, 2.e3, 1.e15, 1.e15, + mp = 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 6., 9., 6., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., + qe25 = 0., 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.00, 0.00, + rms25 = 0.00, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.32, 0.10, 0.64, 0.30, 0.90, 0.80, 0.00, 0.10, 0.10, 0.00, 0.10, 0.10, 0.10, 0.00, 0.00, 0.00, 0.00, 0.00, + rmr25 = 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.20, 0.00, 0.00, 0.01, 0.01, 0.05, 0.05, 0.36, 0.03, 0.00, 0.00, 0.00, 0.00, 2.11, 2.11, 2.11, 0.00, 0.00, 0.00, 0.00, 0.00, + arm = 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, + folnmx= 0.00, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 0.00, 0.00, + wdpool= 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 0.00, 0.00, 1.00, 0.00, 0.00, 1.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, + wrrat = 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 3.00, 3.00, 3.00, 30.0, 30.0, 30.0, 30.0, 30.0, 0.00, 0.00, 30.0, 0.00, 0.00, 3.00, 3.00, 0.00, 0.00, 0.00, 0.00, 0.00, + mrp = 0.00, 0.23, 0.23, 0.23, 0.23, 0.23, 0.17, 0.19, 0.19, 0.40, 0.40, 0.37, 0.23, 0.37, 0.30, 0.00, 0.17, 0.40, 0.00, 0.17, 0.23, 0.20, 0.00, 0.00, 0.20, 0.00, 0.00, + nroot = 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 0, 2, 2, 1, 3, 3, 3, 2, 1, 1, 0, 0, + rgl = 999.0, 100.0, 100.0, 100.0, 100.0, 65.0, 100.0, 100.0, 100.0, 65.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 100.0, 30.0, 999.0, 100.0, 100.0, 100.0, 100.0, 999.0, 100.0, 999.0, 999.0, + rs = 200.0, 40.0, 40.0, 40.0, 40.0, 70.0, 40.0, 300.0, 170.0, 70.0, 100.0, 150.0, 150.0, 125.0, 125.0, 100.0, 40.0, 100.0, 999.0, 150.0, 150.0, 150.0, 200.0, 999.0, 40.0, 999.0, 999.0, + hs = 999.0, 36.25, 36.25, 36.25, 36.25, 44.14, 36.35, 42.00, 39.18, 54.53, 54.53, 47.35, 41.69, 47.35, 51.93, 51.75, 60.00, 51.93, 999.0, 42.00, 42.00, 42.00, 42.00, 999.0, 36.25, 999.0, 999.0, + topt = 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, + rsmax = 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., + rtovrc = 2.e-8,2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, + rswoodc= 3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10, + bf = 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, + wstrc = 100.0,100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, + laimin = 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, + xsamin = 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, + +! monthly values, one row for each month: + sai_jan = 0.0, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.2, 0.2, 0.3, 0.4, 0.3, 0.5, 0.4, 0.4, 0.0, 0.2, 0.3, 0.0, 0.1, 0.2, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + sai_feb = 0.0, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.2, 0.2, 0.3, 0.4, 0.3, 0.5, 0.4, 0.4, 0.0, 0.2, 0.3, 0.0, 0.1, 0.2, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + sai_mar = 0.0, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.2, 0.2, 0.3, 0.4, 0.3, 0.5, 0.4, 0.4, 0.0, 0.2, 0.3, 0.0, 0.1, 0.2, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + sai_apr = 0.0, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.2, 0.2, 0.3, 0.4, 0.4, 0.5, 0.3, 0.4, 0.0, 0.2, 0.3, 0.0, 0.1, 0.2, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + sai_may = 0.0, 0.2, 0.2, 0.2, 0.3, 0.3, 0.3, 0.2, 0.2, 0.3, 0.4, 0.4, 0.5, 0.4, 0.4, 0.0, 0.3, 0.3, 0.0, 0.1, 0.2, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, + sai_jun = 0.0, 0.3, 0.3, 0.3, 0.4, 0.4, 0.4, 0.2, 0.3, 0.4, 0.4, 0.7, 0.5, 0.5, 0.4, 0.0, 0.4, 0.4, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + sai_jul = 0.0, 0.4, 0.4, 0.4, 0.6, 0.6, 0.8, 0.4, 0.6, 0.8, 0.9, 1.3, 0.5, 0.5, 0.7, 0.0, 0.6, 0.6, 0.0, 0.4, 0.4, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, + sai_aug = 0.0, 0.5, 0.5, 0.5, 0.9, 0.9, 1.3, 0.6, 0.9, 1.2, 1.2, 1.2, 0.5, 0.6, 0.8, 0.0, 0.9, 0.9, 0.0, 0.6, 0.6, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, + sai_sep = 0.0, 0.4, 0.4, 0.4, 0.7, 1.0, 1.1, 0.8, 1.0, 1.3, 1.6, 1.0, 0.5, 0.6, 1.0, 0.0, 0.7, 1.0, 0.0, 0.7, 0.8, 0.7, 0.0, 0.0, 0.0, 0.0, 0.0, + sai_oct = 0.0, 0.3, 0.3, 0.3, 0.3, 0.8, 0.4, 0.7, 0.6, 0.7, 1.4, 0.8, 0.5, 0.7, 1.0, 0.0, 0.3, 0.8, 0.0, 0.5, 0.7, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, + sai_nov = 0.0, 0.3, 0.3, 0.3, 0.3, 0.4, 0.4, 0.3, 0.3, 0.4, 0.6, 0.6, 0.5, 0.6, 0.5, 0.0, 0.3, 0.4, 0.0, 0.3, 0.3, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, + sai_dec = 0.0, 0.3, 0.3, 0.3, 0.3, 0.3, 0.4, 0.2, 0.3, 0.4, 0.4, 0.5, 0.5, 0.5, 0.4, 0.0, 0.3, 0.4, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, + + lai_jan = 0.0, 0.0, 0.0, 0.0, 0.2, 0.0, 0.4, 0.0, 0.2, 0.3, 0.0, 0.0, 4.5, 4.0, 2.0, 0.0, 0.2, 0.2, 0.0, 0.2, 1.0, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, + lai_feb = 0.0, 0.0, 0.0, 0.0, 0.3, 0.0, 0.5, 0.0, 0.3, 0.3, 0.0, 0.0, 4.5, 4.0, 2.0, 0.0, 0.3, 0.3, 0.0, 0.3, 1.0, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, + lai_mar = 0.0, 0.0, 0.0, 0.0, 0.3, 0.2, 0.6, 0.2, 0.4, 0.5, 0.3, 0.0, 4.5, 4.0, 2.2, 0.0, 0.3, 0.3, 0.0, 0.3, 1.1, 0.7, 0.0, 0.0, 0.0, 0.0, 0.0, + lai_apr = 0.0, 0.0, 0.0, 0.0, 0.4, 0.6, 0.7, 0.6, 0.7, 0.8, 1.2, 0.6, 4.5, 4.0, 2.6, 0.0, 0.4, 0.6, 0.0, 0.4, 1.3, 0.8, 0.0, 0.0, 0.0, 0.0, 0.0, + lai_may = 0.0, 1.0, 1.0, 1.0, 1.1, 2.0, 1.2, 1.5, 1.4, 1.8, 3.0, 1.2, 4.5, 4.0, 3.5, 0.0, 1.1, 2.0, 0.0, 0.6, 1.7, 1.2, 0.0, 0.0, 0.0, 0.0, 0.0, + lai_jun = 0.0, 2.0, 2.0, 2.0, 2.5, 3.3, 3.0, 2.3, 2.6, 3.6, 4.7, 2.0, 4.5, 4.0, 4.3, 0.0, 2.5, 3.3, 0.0, 1.5, 2.1, 1.8, 0.0, 0.0, 0.0, 0.0, 0.0, + lai_jul = 0.0, 3.0, 3.0, 3.0, 3.2, 3.7, 3.5, 2.3, 2.9, 3.8, 4.5, 2.6, 4.5, 4.0, 4.3, 0.0, 3.2, 3.7, 0.0, 1.7, 2.1, 1.8, 0.0, 0.0, 0.0, 0.0, 0.0, + lai_aug = 0.0, 3.0, 3.0, 3.0, 2.2, 3.2, 1.5, 1.7, 1.6, 2.1, 3.4, 1.7, 4.5, 4.0, 3.7, 0.0, 2.2, 3.2, 0.0, 0.8, 1.8, 1.3, 0.0, 0.0, 0.0, 0.0, 0.0, + lai_sep = 0.0, 1.5, 1.5, 1.5, 1.1, 1.3, 0.7, 0.6, 0.7, 0.9, 1.2, 1.0, 4.5, 4.0, 2.6, 0.0, 1.1, 1.3, 0.0, 0.4, 1.3, 0.8, 0.0, 0.0, 0.0, 0.0, 0.0, + lai_oct = 0.0, 0.0, 0.0, 0.0, 0.3, 0.2, 0.6, 0.2, 0.4, 0.5, 0.3, 0.5, 4.5, 4.0, 2.2, 0.0, 0.3, 0.3, 0.0, 0.3, 1.1, 0.7, 0.0, 0.0, 0.0, 0.0, 0.0, + lai_nov = 0.0, 0.0, 0.0, 0.0, 0.3, 0.0, 0.5, 0.0, 0.3, 0.3, 0.0, 0.2, 4.5, 4.0, 2.0, 0.0, 0.3, 0.3, 0.0, 0.2, 1.0, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, + lai_dec = 0.0, 0.0, 0.0, 0.0, 0.2, 0.0, 0.4, 0.0, 0.2, 0.3, 0.0, 0.0, 4.5, 4.0, 2.0, 0.0, 0.2, 0.2, 0.0, 0.2, 1.0, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, + +! five types, one row for each type (bvoc currently not active). + eps1 = 41.87, 0.00, 0.00, 2.52, 0.04, 17.11, 0.02, 21.62, 0.11, 22.80, 46.86, 0.00, 0.00, 0.46, 30.98, 2.31, 1.63, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + eps2 = 0.98, 0.00, 0.00, 0.16, 0.09, 0.28, 0.05, 0.92, 0.22, 0.59, 0.38, 0.00, 0.00, 3.34, 0.96, 1.47, 1.07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + eps3 = 1.82, 0.00, 0.00, 0.23, 0.05, 0.81, 0.03, 1.73, 1.26, 1.37, 1.84, 0.00, 0.00, 1.85, 1.84, 1.70, 1.21, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + eps4 = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + eps5 = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, +/ + +&noahmp_modis_veg_categories + veg_dataset_description = "modified igbp modis noah" + nveg = 20 +/ + +&noahmp_modis_parameters +! 1 'evergreen needleleaf forest' -> usgs 14 +! 2, 'evergreen broadleaf forest' -> usgs 13 +! 3, 'deciduous needleleaf forest' -> usgs 12 +! 4, 'deciduous broadleaf forest' -> usgs 11 +! 5, 'mixed forests' -> usgs 15 +! 6, 'closed shrublands' -> usgs 8 "shrubland" +! 7, 'open shrublands' -> usgs 9 "shrubland/grassland" +! 8, 'woody savannas' -> usgs 8 "shrubland" +! 9, 'savannas' -> usgs 10 +! 10, 'grasslands' -> usgs 7 +! 11 'permanent wetlands' -> avg of usgs 17 and 18 (herb. wooded wetland) +! 12, 'croplands' -> usgs 2 "dryland cropland" +! 13, 'urban and built-up' -> usgs 1 +! 14 'cropland/natural vegetation mosaic' -> usgs 5 "cropland/grassland" +! 15, 'snow and ice' -> usgs 24 +! 16, 'barren or sparsely vegetated' -> usgs 19 +! 17, 'water' -> usgs 16 +! 18, 'wooded tundra' -> usgs 21 +! 19, 'mixed tundra' -> usgs 22 +! 20, 'barren tundra' -> usgs 23 + + isurban = 13 + iswater = 17 + isbarren = 16 + isice = 15 + iscrop = 12 + eblforest = 2 + natural = 14 + lcz_1 = 31 + lcz_2 = 32 + lcz_3 = 33 + lcz_4 = 34 + lcz_5 = 35 + lcz_6 = 36 + lcz_7 = 37 + lcz_8 = 38 + lcz_9 = 39 + lcz_10 = 40 + lcz_11 = 41 + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------- + ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 + !--------------------------------------------------------------------------------------------------------------------------------------------------------------------- + ch2op = 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, + dleaf = 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, + z0mvt = 1.09, 1.10, 0.85, 0.80, 0.80, 0.20, 0.06, 0.60, 0.50, 0.12, 0.30, 0.15, 1.00, 0.14, 0.00, 0.00, 0.00, 0.30, 0.20, 0.03, + hvt = 20.0, 20.0, 18.0, 16.0, 16.0, 1.10, 1.10, 13.0, 10.0, 1.00, 5.00, 2.00, 15.0, 1.50, 0.00, 0.00, 0.00, 4.00, 2.00, 0.50, + hvb = 8.50, 8.00, 7.00, 11.5, 10.0, 0.10, 0.10, 0.10, 0.10, 0.05, 0.10, 0.10, 1.00, 0.10, 0.00, 0.00, 0.00, 0.30, 0.20, 0.10, + z0mhvt= 0.0545, 0.055, 0.047, 0.050, 0.050, 0.182, 0.0545, 0.046, 0.050, 0.120, 0.060, 0.075, 0.067, 0.093, 0.000, 0.000, 0.000, 0.075, 0.100, 0.060, + den = 0.28, 0.02, 0.28, 0.10, 0.10, 10.0, 10.0, 10.0, 0.02, 100., 5.05, 25.0, 0.01, 25.0, 0.00, 0.01, 0.01, 1.00, 1.00, 1.00, + rc = 1.20, 3.60, 1.20, 1.40, 1.40, 0.12, 0.12, 0.12, 3.00, 0.03, 0.75, 0.08, 1.00, 0.08, 0.00, 0.01, 0.01, 0.30, 0.30, 0.30, +!mfsno = 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, +! c. he 12/17/2020: optimized mfsno values dependent on land type based on evaluation with snotel swe and modis scf, surface albedo + mfsno = 1.00, 1.00, 1.00, 1.00, 1.00, 2.00, 2.00, 2.00, 2.00, 2.00, 3.00, 3.00, 4.00, 4.00, 2.50, 3.00, 3.00, 3.50, 3.50, 3.50, +! c. he 12/17/2020: optimized snow cover factor (m) in scf formulation to replace original constant 2.5*z0,z0=0.002m, based on evaluation with snotel swe and modis scf, surface albedo +! scffac = 0.008, 0.008, 0.008, 0.008, 0.008, 0.016, 0.016, 0.020, 0.020, 0.020, 0.020, 0.014, 0.042, 0.026, 0.030, 0.016, 0.030, 0.030, 0.030, 0.030, + scffac = 0.005, 0.005, 0.005, 0.005, 0.005, 0.008, 0.008, 0.010, 0.010, 0.010, 0.010, 0.007, 0.021, 0.013, 0.015, 0.008, 0.015, 0.015, 0.015, 0.015, + cbiom = 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, + + ! row 1: vis + ! row 2: near ir + rhol_vis=0.07, 0.10, 0.07, 0.10, 0.10, 0.07, 0.07, 0.07, 0.10, 0.11, 0.105, 0.11, 0.00, 0.11, 0.00, 0.00, 0.00, 0.10, 0.10, 0.10, + rhol_nir=0.35, 0.45, 0.35, 0.45, 0.45, 0.35, 0.35, 0.35, 0.45, 0.58, 0.515, 0.58, 0.00, 0.58, 0.00, 0.00, 0.00, 0.45, 0.45, 0.45, + + ! row 1: vis + ! row 2: near ir + rhos_vis=0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.36, 0.26, 0.36, 0.00, 0.36, 0.00, 0.00, 0.00, 0.16, 0.16, 0.16, + rhos_nir=0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.58, 0.485, 0.58, 0.00, 0.58, 0.00, 0.00, 0.00, 0.39, 0.39, 0.39, + + ! row 1: vis + ! row 2: near ir + taul_vis=0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.07, 0.06, 0.07, 0.00, 0.07, 0.00, 0.00, 0.00, 0.05, 0.05, 0.05, + taul_nir=0.10, 0.25, 0.10, 0.25, 0.25, 0.10, 0.10, 0.10, 0.25, 0.25, 0.25, 0.25, 0.00, 0.25, 0.00, 0.00, 0.00, 0.25, 0.25, 0.25, + + ! row 1: vis + ! row 2: near ir + taus_vis=0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.220, 0.1105, 0.220, 0.000, 0.220, 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, + taus_nir=0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.380, 0.1905, 0.380, 0.000, 0.380, 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, + + xl = 0.010, 0.010, 0.010, 0.250, 0.250, 0.010, 0.010, 0.010, 0.010, -0.30, -0.025, -0.30, 0.000, -0.30, 0.000, 0.000, 0.000, 0.250, 0.250, 0.250, +! make cwpvt vegetation dependent according to j. goudriaan, crop micrometeorology: a simulation study (simulation monographs), 1977). c. he, 12/17/2020 +! cwpvt = 0.18, 0.67, 0.18, 0.67, 0.29, 1.0, 2.0, 1.3, 1.0, 5.0, 1.17, 1.67, 1.67, 1.67, 0.18, 0.18, 0.18, 0.67, 1.0, 0.18, + cwpvt = 0.09, 0.335, 0.09, 0.335, 0.145, 0.5, 1.0, 0.65, 0.5, 2.5, 0.585, 0.835, 0.835, 0.835, 0.09, 0.09, 0.09, 0.335, 0.5, 0.09, + c3psn = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + kc25 = 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, + akc = 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, + ko25 = 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, + ako = 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, + avcmx = 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, + aqe = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + + ltovrc= 0.5, 0.55, 0.2, 0.55, 0.5, 0.65, 0.65, 0.65, 0.65, 0.50, 1.4, 1.6, 0.0, 1.2, 0.0, 0.0, 0.0, 1.3, 1.4, 1.0, + dilefc= 1.20, 0.50, 1.80, 0.60, 0.80, 0.20, 0.20, 0.20, 0.50, 0.20, 0.4, 0.50, 0.00, 0.35, 0.00, 0.00, 0.00, 0.30, 0.40, 0.30, + dilefw= 0.20, 4.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.50, 0.10, 0.2, 0.20, 0.00, 0.20, 0.00, 0.00, 0.00, 0.20, 0.20, 0.20, + rmf25 = 3.00, 0.65, 4.00, 3.00, 3.00, 0.26, 0.26, 0.26, 0.80, 1.80, 3.2, 1.00, 0.00, 1.45, 0.00, 0.00, 0.00, 3.00, 3.00, 3.00, + sla = 80, 80, 80, 80, 80, 60, 60, 60, 50, 60, 80, 80, 60, 80, 0, 0, 0, 80, 80, 80, + fragr = 0.10, 0.20, 0.10, 0.20, 0.10, 0.20, 0.20, 0.20, 0.20, 0.20, 0.1, 0.20, 0.00, 0.20, 0.00, 0.10, 0.00, 0.10, 0.10, 0.10, + tmin = 265, 273, 268, 273, 268, 273, 273, 273, 273, 273, 268, 273, 0, 273, 0, 0, 0, 268, 268, 268, + vcmx25= 50.0, 60.0, 60.0, 60.0, 55.0, 40.0, 40.0, 40.0, 40.0, 40.0, 50.0, 80.0, 0.00, 60.0, 0.00, 0.00, 0.00, 50.0, 50.0, 50.0, + tdlef = 278, 278, 268, 278, 268, 278, 278, 278, 278, 278, 268, 278, 278, 278, 0, 0, 0, 268, 268, 268, + bp = 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 1.e15, 2.e3, 1.e15, 2.e3, 1.e15, 2.e3, 2.e3, 2.e3, + mp = 6., 9., 6., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., + qe25 = 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.00, 0.06, 0.00, 0.06, 0.06, 0.06, + rms25 = 0.90, 0.30, 0.64, 0.10, 0.80, 0.10, 0.10, 0.10, 0.32, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, 0.00, 0.10, 0.10, 0.00, + rmr25 = 0.36, 0.05, 0.05, 0.01, 0.03, 0.00, 0.00, 0.00, 0.01, 1.20, 0.0, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2.11, 2.11, 0.00, + arm = 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, + folnmx= 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 0.00, 1.5, 0.00, 1.5, 1.5, 1.5, + wdpool= 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 0.00, 0.5, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 1.00, 0.00, + wrrat = 30.0, 30.0, 30.0, 30.0, 30.0, 3.00, 3.00, 3.00, 3.00, 0.00, 15.0, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 3.00, 3.00, 0.00, + mrp = 0.37, 0.23, 0.37, 0.40, 0.30, 0.19, 0.19, 0.19, 0.40, 0.17, 0.285, 0.23, 0.00, 0.23, 0.00, 0.00, 0.00, 0.23, 0.20, 0.00, + nroot = 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 3, 1, 3, 1, 1, 0, 3, 3, 2, + rgl = 30.0, 30.0, 30.0, 30.0, 30.0, 100.0, 100.0, 100.0, 65.0, 100.0, 65.0, 100.0, 999.0, 100.0, 999.0, 999.0, 30.0, 100.0, 100.0, 100.0, + rs = 125.0, 150.0, 150.0, 100.0, 125.0, 300.0, 170.0, 300.0, 70.0, 40.0, 70.0, 40.0, 200.0, 40.0, 999.0, 999.0, 100.0, 150.0, 150.0, 200.0, + hs = 47.35, 41.69, 47.35, 54.53, 51.93, 42.00, 39.18, 42.00, 54.53, 36.35, 55.97, 36.25, 999.0, 36.25, 999.0, 999.0, 51.75, 42.00, 42.00, 42.00, + topt = 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, + rsmax = 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., + rtovrc = 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, + rswoodc= 3.e-10,3.e-10,3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, + bf = 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, + wstrc = 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, + laimin = 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, + xsamin = 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, + +! monthly values, one row for each month: + sai_jan = 0.4, 0.5, 0.3, 0.4, 0.4, 0.3, 0.2, 0.4, 0.3, 0.3, 0.3, 0.3, 0.0, 0.3, 0.0, 0.0, 0.0, 0.2, 0.1, 0.0, + sai_feb = 0.4, 0.5, 0.3, 0.4, 0.4, 0.3, 0.2, 0.4, 0.3, 0.3, 0.3, 0.3, 0.0, 0.3, 0.0, 0.0, 0.0, 0.2, 0.1, 0.0, + sai_mar = 0.4, 0.5, 0.3, 0.4, 0.4, 0.3, 0.2, 0.4, 0.3, 0.3, 0.3, 0.3, 0.0, 0.3, 0.0, 0.0, 0.0, 0.2, 0.1, 0.0, + sai_apr = 0.3, 0.5, 0.4, 0.4, 0.4, 0.3, 0.2, 0.4, 0.3, 0.3, 0.3, 0.3, 0.0, 0.3, 0.0, 0.0, 0.0, 0.2, 0.1, 0.0, + sai_may = 0.4, 0.5, 0.4, 0.4, 0.4, 0.3, 0.2, 0.4, 0.3, 0.3, 0.3, 0.3, 0.0, 0.3, 0.0, 0.0, 0.0, 0.2, 0.1, 0.0, + sai_jun = 0.5, 0.5, 0.7, 0.4, 0.4, 0.3, 0.2, 0.4, 0.4, 0.4, 0.4, 0.3, 0.0, 0.4, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + sai_jul = 0.5, 0.5, 1.3, 0.9, 0.7, 0.6, 0.4, 0.7, 0.8, 0.8, 0.6, 0.4, 0.0, 0.6, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, + sai_aug = 0.6, 0.5, 1.2, 1.2, 0.8, 0.9, 0.6, 1.2, 1.2, 1.3, 0.9, 0.5, 0.0, 0.9, 0.0, 0.0, 0.0, 0.6, 0.6, 0.0, + sai_sep = 0.6, 0.5, 1.0, 1.6, 1.0, 1.2, 0.8, 1.4, 1.3, 1.1, 0.9, 0.4, 0.0, 0.7, 0.0, 0.0, 0.0, 0.8, 0.7, 0.0, + sai_oct = 0.7, 0.5, 0.8, 1.4, 1.0, 0.9, 0.7, 1.1, 0.7, 0.4, 0.6, 0.3, 0.0, 0.3, 0.0, 0.0, 0.0, 0.7, 0.5, 0.0, + sai_nov = 0.6, 0.5, 0.6, 0.6, 0.5, 0.4, 0.3, 0.5, 0.4, 0.4, 0.4, 0.3, 0.0, 0.3, 0.0, 0.0, 0.0, 0.3, 0.3, 0.0, + sai_dec = 0.5, 0.5, 0.5, 0.4, 0.4, 0.3, 0.2, 0.4, 0.4, 0.4, 0.3, 0.3, 0.0, 0.3, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, + + lai_jan = 4.0, 4.5, 0.0, 0.0, 2.0, 0.0, 0.0, 0.2, 0.3, 0.4, 0.2, 0.0, 0.0, 0.2, 0.0, 0.0, 0.0, 1.0, 0.6, 0.0, + lai_feb = 4.0, 4.5, 0.0, 0.0, 2.0, 0.0, 0.0, 0.2, 0.3, 0.5, 0.3, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 1.0, 0.6, 0.0, + lai_mar = 4.0, 4.5, 0.0, 0.3, 2.2, 0.3, 0.2, 0.4, 0.5, 0.6, 0.3, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 1.1, 0.7, 0.0, + lai_apr = 4.0, 4.5, 0.6, 1.2, 2.6, 0.9, 0.6, 1.0, 0.8, 0.7, 0.5, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 1.3, 0.8, 0.0, + lai_may = 4.0, 4.5, 1.2, 3.0, 3.5, 2.2, 1.5, 2.4, 1.8, 1.2, 1.5, 1.0, 0.0, 1.1, 0.0, 0.0, 0.0, 1.7, 1.2, 0.0, + lai_jun = 4.0, 4.5, 2.0, 4.7, 4.3, 3.5, 2.3, 4.1, 3.6, 3.0, 2.9, 2.0, 0.0, 2.5, 0.0, 0.0, 0.0, 2.1, 1.8, 0.0, + lai_jul = 4.0, 4.5, 2.6, 4.5, 4.3, 3.5, 2.3, 4.1, 3.8, 3.5, 3.5, 3.0, 0.0, 3.2, 0.0, 0.0, 0.0, 2.1, 1.8, 0.0, + lai_aug = 4.0, 4.5, 1.7, 3.4, 3.7, 2.5, 1.7, 2.7, 2.1, 1.5, 2.7, 3.0, 0.0, 2.2, 0.0, 0.0, 0.0, 1.8, 1.3, 0.0, + lai_sep = 4.0, 4.5, 1.0, 1.2, 2.6, 0.9, 0.6, 1.0, 0.9, 0.7, 1.2, 1.5, 0.0, 1.1, 0.0, 0.0, 0.0, 1.3, 0.8, 0.0, + lai_oct = 4.0, 4.5, 0.5, 0.3, 2.2, 0.3, 0.2, 0.4, 0.5, 0.6, 0.3, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 1.1, 0.7, 0.0, + lai_nov = 4.0, 4.5, 0.2, 0.0, 2.0, 0.0, 0.0, 0.2, 0.3, 0.5, 0.3, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 1.0, 0.6, 0.0, + lai_dec = 4.0, 4.5, 0.0, 0.0, 2.0, 0.0, 0.0, 0.2, 0.3, 0.4, 0.2, 0.0, 0.0, 0.2, 0.0, 0.0, 0.0, 1.0, 0.6, 0.0, + +! five types, one row for each type (bvoc currently not active). + eps1 = 0.46, 0.00, 0.00, 46.86, 30.98, 21.62, 0.11, 21.62, 22.80, 0.02, 0.815, 0.00, 41.87, 0.04, 0.0, 0.0, 2.31, 0.0, 0.0, 0.0, + eps2 = 3.34, 0.00, 0.00, 0.38, 0.96, 0.92, 0.22, 0.92, 0.59, 0.05, 0.535, 0.00, 0.98, 0.09, 0.0, 0.0, 1.47, 0.0, 0.0, 0.0, + eps3 = 1.85, 0.00, 0.00, 1.84, 1.84, 1.73, 1.26, 1.73, 1.37, 0.03, 0.605, 0.00, 1.82, 0.05, 0.0, 0.0, 1.70, 0.0, 0.0, 0.0, + eps4 = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + eps5 = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + +/ + +&noahmp_rad_parameters + !-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 soil color index for soil albedo + !-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + albsat_vis = 0.25, 0.23, 0.21, 0.20, 0.19, 0.18, 0.17, 0.16, 0.15, 0.14, 0.13, 0.12, 0.11, 0.10, 0.09, 0.08, 0.07, 0.06, 0.05, 0.04 ! saturated soil albedos + albsat_nir = 0.50, 0.46, 0.42, 0.40, 0.38, 0.36, 0.34, 0.32, 0.30, 0.28, 0.26, 0.24, 0.22, 0.20, 0.18, 0.16, 0.14, 0.12, 0.10, 0.08 ! saturated soil albedos + albdry_vis = 0.36, 0.34, 0.32, 0.31, 0.30, 0.29, 0.28, 0.27, 0.26, 0.25, 0.24, 0.23, 0.22, 0.20, 0.18, 0.16, 0.14, 0.12, 0.10, 0.08 ! dry soil albedos + albdry_nir = 0.61, 0.57, 0.53, 0.51, 0.49, 0.48, 0.45, 0.43, 0.41, 0.39, 0.37, 0.35, 0.33, 0.31, 0.29, 0.27, 0.25, 0.23, 0.21, 0.16 ! dry soil albedos + albice = 0.80, 0.55 ! albedo land ice: 1=vis, 2=nir + alblak = 0.60, 0.40 ! albedo frozen lakes: 1=vis, 2=nir + omegas = 0.8 , 0.4 ! two-stream parameter omega for snow + betads = 0.5 ! two-stream parameter betad for snow + betais = 0.5 ! two-stream parameter betai for snow + eg = 0.97, 0.98 ! emissivity soil surface 1-soil;2-lake + eice = 0.98 ! emissivity ice surface +/ + +&noahmp_global_parameters + +! atmospheric constituants + + co2 = 395.e-06 !co2 partial pressure + o2 = 0.209 !o2 partial pressure + +! runoff parameters used for simtop and simgm: + + timean = 10.5 !gridcell mean topgraphic index (global mean) + fsatmx = 0.38 !maximum surface saturated fraction (global mean) + +! adjustable parameters for snow processes + + z0sno = 0.002 !snow surface roughness length (m) (0.002) + ssi = 0.03 !liquid water holding capacity for snowpack (m3/m3) (0.03) + snow_ret_fac = 5.e-5 !snowpack water release timescale factor (1/s) + snow_emis = 0.95 !snow emissivity (bring from hard-coded value of 1.0 to here) + swemx = 1.00 !new snow mass to fully cover old snow (mm) + !equivalent to 10mm depth (density = 100 kg/m3) + tau0 = 1.e6 !tau0 from yang97 eqn. 10a + grain_growth = 5000. !growth from vapor diffusion yang97 eqn. 10b + extra_growth = 10. !extra growth near freezing yang97 eqn. 10c + dirt_soot = 0.3 !dirt and soot term yang97 eqn. 10d + bats_cosz = 2.0 !zenith angle snow albedo adjustment; b in yang97 eqn. 15 + bats_vis_new = 0.95 !new snow visible albedo + bats_nir_new = 0.65 !new snow nir albedo + bats_vis_age = 0.2 !age factor for diffuse visible snow albedo yang97 eqn. 17 + bats_nir_age = 0.5 !age factor for diffuse nir snow albedo yang97 eqn. 18 + bats_vis_dir = 0.4 !cosz factor for direct visible snow albedo yang97 eqn. 15 + bats_nir_dir = 0.4 !cosz factor for direct nir snow albedo yang97 eqn. 16 + rsurf_snow = 50.0 !surface resistence for snow [s/m] + rsurf_exp = 5.0 !exponent in the shape parameter for soil resistance option 1 + c2_snowcompact = 21.e-3 !overburden snow compaction parameter (m3/kg) cenlin + c3_snowcompact = 2.5e-6 !snow desctructive metamorphism compaction parameter1 [1/s] cenlin + c4_snowcompact = 0.04 !snow desctructive metamorphism compaction parameter2 [1/k] cenlin + c5_snowcompact = 2.0 !snow desctructive metamorphism compaction parameter3 cenlin + dm_snowcompact = 100.0 !upper limit on destructive metamorphism compaction [kg/m3] cenlin + eta0_snowcompact = 0.8e+6 !snow viscosity coefficient [kg-s/m2], anderson1979: 0.52e6~1.38e6 cenlin + snliqmaxfrac = 0.4 !maximum liquid water fraction in snow cenlin + swemaxgla = 5000.0 ! maximum swe allowed at glaciers (mm) cenlin + wslmax = 5000.0 ! maximum lake water storage (mm) cenlin + rous = 0.20 ! specific yield [-] for niu et al. 2007 groundwater scheme (optrunoffsubsurface=1) + cmic = 0.20 ! microprore content (0.0-1.0), 0.0: close to free drainage + snowden_max = 120.0 ! maximum fresh snowfall density (kg/m3) + class_alb_ref = 0.55 ! reference snow albedo in class scheme + class_sno_age = 3600.0 ! snow aging e-folding time (s) in class albedo scheme + class_alb_new = 0.84 ! fresh snow albedo in class scheme + psiwlt = -150.0 !metric potential for wilting point (m) + z0soil = 0.002 ! bare-soil roughness length (m) (i.e., under the canopy) + z0lake = 0.01 ! lake surface roughness length (m) +/ + +&noahmp_irrigation_parameters +irr_frac = 0.10 ! irrigation fraction +irr_har = 20 ! number of days before harvest date to stop irrigation +irr_lai = 0.50 ! minimum lai to trigger irrigation +irr_mad = 0.60 ! management allowable deficit (0-1) +filoss = 0.10 ! fraction of flood irrigation loss (0-1) +sprir_rate = 6.40 ! mm/h, sprinkler irrigation rate +micir_rate = 1.38 ! mm/h, micro irrigation rate +firtfac = 1.00 ! flood application rate factor +ir_rain = 1.00 ! maximum precipitation [mm/hr] to stop irrigation trigger +/ + +&noahmp_crop_parameters + + ! ncrop = 5 + ! 1: corn + ! 2: soybean + ! 3: sorghum + ! 4: rice + ! 5: winter wheat + +default_crop = 0 ! the default crop type(1-5); if zero, use generic dynamic vegetation + +!---------------------------------------------------------- +! 1 2 3 4 5 +!---------------------------------------------------------- + +pltday = 111, 131, 111, 111, 111, ! planting date +hsday = 300, 280, 300, 300, 300, ! harvest date +plantpop = 78.0, 78.0, 78.0, 78.0, 78.0, ! plant density [per ha] - used? +gddtbase = 10.0, 10.0, 10.0, 10.0, 10.0, ! base temperature for gdd accumulation [c] +gddtcut = 30.0, 30.0, 30.0, 30.0, 30.0, ! upper temperature for gdd accumulation [c] +gdds1 = 50.0, 60.0, 50.0, 50.0, 50.0, ! gdd from seeding to emergence +gdds2 = 625.0, 675.0, 718.0, 718.0, 718.0, ! gdd from seeding to initial vegetative +gdds3 = 933.0, 1183.0, 933.0, 933.0, 933.0, ! gdd from seeding to post vegetative +gdds4 = 1103.0, 1253.0, 1103.0, 1103.0, 1103.0, ! gdd from seeding to intial reproductive +gdds5 = 1555.0, 1605.0, 1555.0, 1555.0, 1555.0, ! gdd from seeding to pysical maturity +c3psni = 0.0, 1.0, 1.0, 1.0, 1.0, ! transfer crop-specific photosynthetic parameters +kc25i = 30.0, 30.0, 30.0, 30.0, 30.0, ! zhe zhang +akci = 2.1, 2.1, 2.1, 2.1, 2.1, ! 2020-02-05 +ko25i = 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, ! +akoi = 1.2, 1.2, 1.2, 1.2, 1.2, ! +avcmxi = 2.4, 2.4, 2.4, 2.4, 2.4, ! +vcmx25i = 60.0, 80.0, 60.0, 60.0, 55.0, ! +bpi = 4.e4, 1.e4, 2.e3, 2.e3, 2.e3, ! +mpi = 4., 9., 6., 9., 9., ! +folnmxi = 1.5, 1.5, 1.5, 1.5, 1.5, ! foliage nitrogen concentration when f(n)=1 (%) +qe25i = 0.05, 0.06, 0.06, 0.06, 0.06, ! +aref = 7.0, 7.0, 7.0, 7.0, 7.0, ! reference maximum co2 assimilation rate +psnrf = 0.85, 0.85, 0.85, 0.85, 0.85, ! co2 assimilation reduction factor(0-1) (caused by non-modeling part,e.g.pest,weeds) +i2par = 0.5, 0.5, 0.5, 0.5, 0.5, ! fraction of incoming solar radiation to photosynthetically active radiation +tassim0 = 8.0, 8.0, 8.0, 8.0, 8.0, ! minimum temperature for co2 assimilation [c] +tassim1 = 18.0, 18.0, 18.0, 18.0, 18.0, ! co2 assimilation linearly increasing until temperature reaches t1 [c] +tassim2 = 30.0, 30.0, 30.0, 30.0, 30.0, ! co2 assmilation rate remain at aref until temperature reaches t2 [c] +k = 0.55, 0.55, 0.55, 0.55, 0.55, ! light extinction coefficient +epsi = 12.5, 12.5, 12.5, 12.5, 12.5, ! initial light use efficiency + +q10mr = 2.0, 2.0, 2.0, 2.0, 2.0, ! q10 for maintainance respiration +lefreez = 268, 268, 268, 268, 268, ! characteristic t for leaf freezing [k] + +dile_fc_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! coeficient for temperature leaf stress death [1/s] +dile_fc_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, ! one row for each of 8 stages +dile_fc_s3 = 0.0, 0.0, 0.0, 0.0, 0.0, +dile_fc_s4 = 0.0, 0.0, 0.0, 0.0, 0.0, +dile_fc_s5 = 0.5, 0.5, 0.5, 0.5, 0.5, +dile_fc_s6 = 0.5, 0.5, 0.5, 0.5, 0.5, +dile_fc_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, +dile_fc_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, + +dile_fw_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! coeficient for water leaf stress death [1/s] +dile_fw_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, ! one row for each of 8 stages +dile_fw_s3 = 0.0, 0.0, 0.0, 0.0, 0.0, +dile_fw_s4 = 0.0, 0.0, 0.0, 0.0, 0.0, +dile_fw_s5 = 0.2, 0.2, 0.2, 0.2, 0.2, +dile_fw_s6 = 0.2, 0.2, 0.2, 0.2, 0.2, +dile_fw_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, +dile_fw_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, + +fra_gr = 0.2, 0.2, 0.2, 0.2, 0.2, ! fraction of growth respiration + +lf_ovrc_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! fraction of leaf turnover [1/s] +lf_ovrc_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, ! one row for each of 8 stages +lf_ovrc_s3 = 0.0, 0.0, 0.0, 0.0, 0.0, +lf_ovrc_s4 = 0.0, 0.0, 0.0, 0.0, 0.0, +lf_ovrc_s5 = 0.2, 0.2, 0.48, 0.48, 0.48, +lf_ovrc_s6 = 0.3, 0.3, 0.48, 0.48, 0.48, +lf_ovrc_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, +lf_ovrc_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, + +st_ovrc_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! fraction of stem turnover [1/s] +st_ovrc_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, ! one row for each of 8 stages +st_ovrc_s3 = 0.0, 0.0, 0.0, 0.0, 0.0, +st_ovrc_s4 = 0.0, 0.0, 0.0, 0.0, 0.0, +st_ovrc_s5 = 0.2, 0.12, 0.12, 0.12, 0.12, +st_ovrc_s6 = 0.3, 0.06, 0.06, 0.06, 0.06, +st_ovrc_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, +st_ovrc_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, + +rt_ovrc_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! fraction of root tunrover [1/s] +rt_ovrc_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, ! one row for each of 8 stages +rt_ovrc_s3 = 0.0, 0.0, 0.0, 0.0, 0.0, +rt_ovrc_s4 = 0.0, 0.0, 0.0, 0.0, 0.0, +rt_ovrc_s5 = 0.12, 0.12, 0.12, 0.12, 0.12, +rt_ovrc_s6 = 0.06, 0.06, 0.06, 0.06, 0.06, +rt_ovrc_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, +rt_ovrc_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, + +lfmr25 = 0.8, 1.0, 1.0, 1.0, 1.0, ! leaf maintenance respiration at 25c [umol co2/m**2 /s] +stmr25 = 0.05, 0.05, 0.1, 0.1, 0.1, ! stem maintenance respiration at 25c [umol co2/kg bio/s] +rtmr25 = 0.05, 0.05, 0.0, 0.0, 0.0, ! root maintenance respiration at 25c [umol co2/kg bio/s] +grainmr25 = 0.0, 0.0, 0.1, 0.1, 0.1, ! grain maintenance respiration at 25c [umol co2/kg bio/s] + +lfpt_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! fraction of carbohydrate flux to leaf +lfpt_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, ! one row for each of 8 stages +lfpt_s3 = 0.36, 0.4, 0.4, 0.4, 0.4, +lfpt_s4 = 0.1, 0.2, 0.2, 0.2, 0.2, +lfpt_s5 = 0.0, 0.0, 0.0, 0.0, 0.0, +lfpt_s6 = 0.0, 0.0, 0.0, 0.0, 0.0, +lfpt_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, +lfpt_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, + +stpt_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! fraction of carbohydrate flux to stem +stpt_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, ! one row for each of 8 stages +stpt_s3 = 0.24, 0.2, 0.2, 0.2, 0.2, +stpt_s4 = 0.6, 0.5, 0.5, 0.5, 0.5, +stpt_s5 = 0.0, 0.0, 0.15, 0.15, 0.15, +stpt_s6 = 0.0, 0.0, 0.05, 0.05, 0.05, +stpt_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, +stpt_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, + +rtpt_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! fraction of carbohydrate flux to root +rtpt_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, ! one row for each of 8 stages +rtpt_s3 = 0.4, 0.4, 0.4, 0.4, 0.4, +rtpt_s4 = 0.3, 0.3, 0.3, 0.3, 0.3, +rtpt_s5 = 0.05, 0.05, 0.05, 0.05, 0.05, +rtpt_s6 = 0.0, 0.0, 0.05, 0.05, 0.05, +rtpt_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, +rtpt_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, + +grainpt_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! fraction of carbohydrate flux to grain +grainpt_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, ! one row for each of 8 stages +grainpt_s3 = 0.0, 0.0, 0.0, 0.0, 0.0, +grainpt_s4 = 0.0, 0.0, 0.0, 0.0, 0.0, +grainpt_s5 = 0.95, 0.95, 0.8, 0.8, 0.8, +grainpt_s6 = 1.0, 1.0, 0.9, 0.9, 0.9, +grainpt_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, +grainpt_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, + +lfct_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! carbohydrate translocation +lfct_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, +lfct_s3 = 0.0, 0.0, 0.4, 0.4, 0.4, +lfct_s4 = 0.0, 0.0, 0.3, 0.3, 0.3, +lfct_s5 = 0.0, 0.0, 0.05, 0.05, 0.05, +lfct_s6 = 0.0, 0.0, 0.05, 0.05, 0.05, +lfct_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, +lfct_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, + +stct_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! carbohydrate translocation +stct_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, +stct_s3 = 0.0, 0.0, 0.4, 0.4, 0.4, +stct_s4 = 0.0, 0.0, 0.3, 0.3, 0.3, +stct_s5 = 0.0, 0.0, 0.05, 0.05, 0.05, +stct_s6 = 0.0, 0.0, 0.05, 0.05, 0.05, +stct_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, +stct_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, + +rtct_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! carbohydrate translocation +rtct_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, +rtct_s3 = 0.0, 0.0, 0.4, 0.4, 0.4, +rtct_s4 = 0.0, 0.0, 0.3, 0.3, 0.3, +rtct_s5 = 0.0, 0.0, 0.05, 0.05, 0.05, +rtct_s6 = 0.0, 0.0, 0.05, 0.05, 0.05, +rtct_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, +rtct_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, + +bio2lai = 0.015, 0.030, 0.015, 0.015, 0.015, ! leaf are per living leaf biomass [m^2/kg] + +/ + +&noahmp_tiledrain_parameters +!-----------------------------------! +! for simple drainage model ! +!-----------------------------------! +nsoiltype = 19 ! num_soil_types +drain_layer_opt = 4 + ! 0 - from one specified layer by td_depth, + ! 1 - from layers 1 & 2, + ! 2 - from layer layers 1, 2, and 3 + ! 3 - from layer 2 and 3 + ! 4 - from layer layers 3, 4 + ! 5 - from all the four layers +!-------------------------------------------------------------------------------------------------------------------------------------------------------------------- ! +! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ! +!-------------------------------------------------------------------------------------------------------------------------------------------------------------------- ! +tdsmc_fac = 0.90, 0.90, 0.90, 0.90, 0.90, 1.25, 0.90, 1.0, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90 ! corresponds to number of soil types soilparam.tbl +td_depth = 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ! depth of drain tube from the soil surface +td_dc = 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20. ! drainage coefficient (mm d^-1) +!-------------------------------------------------------------------------------------------------------------------------------------------------------------------- ! +! +!-------------------------------------! +! for hooghoudt tile drain model ! +!-------------------------------------! +!-------------------------------------------------------------------------------------------------------------------------------------------------------------------- +td_dcoef = 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07 ! m d^-1, drainage coefficent +td_d = 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00 ! m, depth to impe layer from drain water level (d) +td_adepth = 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00 ! m, actual depth of imp layer from land surface +td_radi = 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07 ! m, effective radius of drains (ro) +td_spac = 60.0, 55.0, 45.0, 20.0, 25.0, 30.0, 40.0, 16.0, 18.0, 50.0, 15.0, 10.0, 35.0, 10.0, 60.0, 60.0, 10.0, 60.0, 60.0 ! m, distance between two drain tubes or tiles (l) +td_ddrain = 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20 ! m, depth of drain +klat_fac = 1.30, 1.80, 2.10, 2.60, 2.90, 2.50, 2.30, 3.00, 2.70, 2.00, 3.10, 3.30, 2.50, 1.00, 1.00, 1.80, 4.00, 1.00, 1.30 ! multiplication factor to lateral hyd.cond +!-------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +/ + +&noahmp_optional_parameters + + !------------------------------------------------------------------------------ + ! saxton and rawls 2006 pedo-transfer function coefficients + !------------------------------------------------------------------------------ + + sr2006_theta_1500t_a = -0.024 ! sand coefficient + sr2006_theta_1500t_b = 0.487 ! clay coefficient + sr2006_theta_1500t_c = 0.006 ! orgm coefficient + sr2006_theta_1500t_d = 0.005 ! sand*orgm coefficient + sr2006_theta_1500t_e = -0.013 ! clay*orgm coefficient + sr2006_theta_1500t_f = 0.068 ! sand*clay coefficient + sr2006_theta_1500t_g = 0.031 ! constant adjustment + + sr2006_theta_1500_a = 0.14 ! theta_1500t coefficient + sr2006_theta_1500_b = -0.02 ! constant adjustment + + sr2006_theta_33t_a = -0.251 ! sand coefficient + sr2006_theta_33t_b = 0.195 ! clay coefficient + sr2006_theta_33t_c = 0.011 ! orgm coefficient + sr2006_theta_33t_d = 0.006 ! sand*orgm coefficient + sr2006_theta_33t_e = -0.027 ! clay*orgm coefficient + sr2006_theta_33t_f = 0.452 ! sand*clay coefficient + sr2006_theta_33t_g = 0.299 ! constant adjustment + + sr2006_theta_33_a = 1.283 ! theta_33t*theta_33t coefficient + sr2006_theta_33_b = -0.374 ! theta_33t coefficient + sr2006_theta_33_c = -0.015 ! constant adjustment + + sr2006_theta_s33t_a = 0.278 ! sand coefficient + sr2006_theta_s33t_b = 0.034 ! clay coefficient + sr2006_theta_s33t_c = 0.022 ! orgm coefficient + sr2006_theta_s33t_d = -0.018 ! sand*orgm coefficient + sr2006_theta_s33t_e = -0.027 ! clay*orgm coefficient + sr2006_theta_s33t_f = -0.584 ! sand*clay coefficient + sr2006_theta_s33t_g = 0.078 ! constant adjustment + + sr2006_theta_s33_a = 0.636 ! theta_s33t coefficient + sr2006_theta_s33_b = -0.107 ! constant adjustment + + sr2006_psi_et_a = -21.67 ! sand coefficient + sr2006_psi_et_b = -27.93 ! clay coefficient + sr2006_psi_et_c = -81.97 ! theta_s33 coefficient + sr2006_psi_et_d = 71.12 ! sand*theta_s33 coefficient + sr2006_psi_et_e = 8.29 ! clay*theta_s33 coefficient + sr2006_psi_et_f = 14.05 ! sand*clay coefficient + sr2006_psi_et_g = 27.16 ! constant adjustment + + sr2006_psi_e_a = 0.02 ! psi_et*psi_et coefficient + sr2006_psi_e_b = -0.113 ! psi_et coefficient + sr2006_psi_e_c = -0.7 ! constant adjustment + + sr2006_smcmax_a = -0.097 ! sand adjustment + sr2006_smcmax_b = 0.043 ! constant adjustment + +/ + +&noahmp_general_parameters + !------------------------------------------------- + ! this part is originally from genparm.tbl + !------------------------------------------------- +slope_data = 0.1, 0.6, 1.0, 0.35, 0.55, 0.8, 0.63, 0.0, 0.0 ! slope factor for soil drainage (9 different slope types) +csoil_data = 2.00e+6 ! soil heat capacity [j m-3 k-1] +refdk_data = 2.0e-6 ! parameter in the surface runoff parameterization +refkdt_data = 3.0 ! parameter in the surface runoff parameterization +frzk_data = 0.15 ! frozen ground parameter +zbot_data = -8.0 ! depth [m] of lower boundary soil temperature +czil_data = 0.1 ! parameter used in the calculation of the roughness length for heat + +/ + +&noahmp_stas_soil_categories + sltype = "stas" ! "stas" or "stas_ruc" + slcats = 19 !num_soil_types +/ + +&noahmp_soil_stas_parameters +! 19 total soil types considered by noahmp +! 1: sand +! 2: loamy sand +! 3: sandy loam +! 4: silt loam +! 5: silt +! 6: loam +! 7: sandy clay loam +! 8: silty clay loam +! 9: clay loam +! 10: sandy clay +! 11: silty clay +! 12: clay +! 13: organic material +! 14: water +! 15: bedrock +! 16: other(land-ice) +! 17: playa +! 18: lava +! 19: white sand +!-------------------------------------------------------------------------------------------------------------------------------------------------------------------- ! +! soil type: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ! +!-------------------------------------------------------------------------------------------------------------------------------------------------------------------- ! + bb = 2.790, 4.260, 4.740, 5.330, 3.860, 5.250, 6.770, 8.720, 8.170, 10.730, 10.390, 11.550, 5.250, 0.000, 2.790, 4.260, 11.550, 2.790, 2.790 + drysmc = 0.010, 0.028, 0.047, 0.084, 0.061, 0.066, 0.069, 0.120, 0.103, 0.100, 0.126, 0.138, 0.066, 0.000, 0.006, 0.028, 0.030, 0.006, 0.010 + maxsmc = 0.339, 0.421, 0.434, 0.476, 0.484, 0.439, 0.404, 0.464, 0.465, 0.406, 0.468, 0.468, 0.439, 1.000, 0.200, 0.421, 0.468, 0.200, 0.339 + refsmc = 0.192, 0.283, 0.312, 0.360, 0.347, 0.329, 0.315, 0.387, 0.382, 0.338, 0.404, 0.412, 0.329, 0.000, 0.170, 0.283, 0.454, 0.170, 0.192 + satpsi = 0.069, 0.036, 0.141, 0.759, 0.955, 0.355, 0.135, 0.617, 0.263, 0.098, 0.324, 0.468, 0.355, 0.000, 0.069, 0.036, 0.468, 0.069, 0.069 + satdk = 4.66e-05, 1.41e-05, 5.23e-06, 2.81e-06, 2.18e-06, 3.38e-06, 4.45e-06, 2.03e-06, 2.45e-06, 7.22e-06, 1.34e-06, 9.74e-07, 3.38e-06, 0.00e+00, 1.41e-04, 1.41e-05, 9.74e-07, 1.41e-04, 4.66e-05 + satdw = 2.65e-05, 5.14e-06, 8.05e-06, 2.39e-05, 1.66e-05, 1.43e-05, 1.01e-05, 2.35e-05, 1.13e-05, 1.87e-05, 9.64e-06, 1.12e-05, 1.43e-05, 0.00e+00, 1.36e-04, 5.14e-06, 1.12e-05, 1.36e-04, 2.65e-05 + wltsmc = 0.010, 0.028, 0.047, 0.084, 0.061, 0.066, 0.069, 0.120, 0.103, 0.100, 0.126, 0.138, 0.066, 0.000, 0.006, 0.028, 0.030, 0.006, 0.010 + qtz = 0.920, 0.820, 0.600, 0.250, 0.100, 0.400, 0.600, 0.100, 0.350, 0.520, 0.100, 0.250, 0.050, 0.600, 0.070, 0.250, 0.600, 0.520, 0.920 + bvic = 0.050, 0.080, 0.090, 0.250, 0.150, 0.180, 0.200, 0.220, 0.230, 0.250, 0.280, 0.300, 0.260, 0.000, 1.000, 1.000, 1.000, 0.350, 0.150 + axaj = 0.009, 0.010, 0.009, 0.010, 0.012, 0.013, 0.014, 0.015, 0.016, 0.015, 0.016, 0.017, 0.012, 0.001, 0.017, 0.017, 0.017, 0.015, 0.009 + bxaj = 0.050, 0.080, 0.090, 0.250, 0.150, 0.180, 0.200, 0.220, 0.230, 0.250, 0.280, 0.300, 0.260, 0.000, 1.000, 1.000, 1.000, 0.350, 0.150 + xxaj = 0.050, 0.080, 0.090, 0.250, 0.150, 0.180, 0.200, 0.220, 0.230, 0.250, 0.280, 0.300, 0.260, 0.000, 1.000, 1.000, 1.000, 0.350, 0.150 + bdvic = 0.050, 0.080, 0.090, 0.250, 0.150, 0.180, 0.200, 0.220, 0.230, 0.250, 0.280, 0.300, 0.260, 0.000, 1.000, 1.000, 1.000, 0.350, 0.150 + bbvic = 1.000, 1.010, 1.020, 1.025, 1.000, 1.000, 1.032, 1.035, 1.040, 1.042, 1.045, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000 + gdvic = 0.050, 0.070, 0.130, 0.200, 0.170, 0.110, 0.260, 0.350, 0.260, 0.300, 0.380, 0.410, 0.500, 0.001, 0.010, 0.001, 0.001, 0.050, 0.020 + +/ + +&noahmp_soil_stas_ruc_parameters +! 19 total soil types considered by noahmp +! 1: sand +! 2: loamy sand +! 3: sandy loam +! 4: silt loam +! 5: silt +! 6: loam +! 7: sandy clay loam +! 8: silty clay loam +! 9: clay loam +! 10: sandy clay +! 11: silty clay +! 12: clay +! 13: organic material +! 14: water +! 15: bedrock +! 16: other(land-ice) +! 17: playa +! 18: lava +! 19: white sand +!-------------------------------------------------------------------------------------------------------------------------------------------------------------------- ! +! soil type: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ! +!-------------------------------------------------------------------------------------------------------------------------------------------------------------------- ! + bb = 4.050, 4.380, 4.900, 5.300, 5.300, 5.390, 7.120, 7.750, 5.390, 10.400, 10.400, 11.400, 5.390, 0.000, 4.050, 4.900, 11.400, 4.050, 4.050 + drysmc = 0.002, 0.035, 0.041, 0.034, 0.034, 0.050, 0.068, 0.060, 0.050, 0.070, 0.070, 0.068, 0.027, 0.000, 0.004, 0.065, 0.030, 0.006, 0.010 + hc = 1.470, 1.410, 1.340, 1.270, 1.270, 1.210, 1.180, 1.320, 1.210, 1.180, 1.150, 1.090, 1.210, 4.180, 2.030, 2.100, 1.410, 1.410, 1.470 + maxsmc = 0.395, 0.410, 0.435, 0.485, 0.485, 0.451, 0.420, 0.477, 0.451, 0.426, 0.492, 0.482, 0.451, 1.000, 0.200, 0.435, 0.468, 0.200, 0.339 + refsmc = 0.174, 0.179, 0.249, 0.369, 0.369, 0.314, 0.299, 0.357, 0.314, 0.316, 0.409, 0.400, 0.314, 1.000, 0.100, 0.249, 0.454, 0.170, 0.236 + satpsi = 0.121, 0.090, 0.218, 0.786, 0.786, 0.478, 0.299, 0.356, 0.478, 0.153, 0.490, 0.405, 0.478, 0.000, 0.121, 0.218, 0.468, 0.069, 0.069 + satdk = 1.76e-04, 1.56e-04, 3.47e-05, 7.20e-06, 7.20e-06, 6.95e-06, 6.30e-06, 1.70e-06, 6.95e-06, 2.17e-06, 1.03e-06, 1.28e-06, 6.95e-06, 0.00e+00, 1.41e-04, 3.47e-05, 9.74e-07, 1.41e-04, 1.76e-04 + satdw = 6.08e-07, 5.14e-06, 8.05e-06, 2.39e-05, 2.39e-05, 1.43e-05, 9.90e-06, 2.37e-05, 1.43e-05, 1.87e-05, 9.64e-06, 1.12e-05, 1.43e-05, 0.00e+00, 1.36e-04, 5.14e-06, 1.12e-05, 1.36e-04, 6.08e-07 + wltsmc = 0.033, 0.055, 0.095, 0.143, 0.143, 0.137, 0.148, 0.170, 0.137, 0.158, 0.190, 0.198, 0.117, 0.000, 0.006, 0.114, 0.030, 0.006, 0.060 + qtz = 0.920, 0.820, 0.600, 0.250, 0.100, 0.400, 0.600, 0.100, 0.400, 0.520, 0.100, 0.250, 0.050, 0.000, 0.600, 0.050, 0.600, 0.520, 0.920 + bvic = 0.050, 0.080, 0.090, 0.100, 0.150, 0.180, 0.200, 0.220, 0.230, 0.250, 0.280, 0.300, 0.260, 0.000, 1.000, 1.000, 1.000, 0.350, 0.150 + axaj = 0.009, 0.010, 0.009, 0.010, 0.012, 0.013, 0.014, 0.015, 0.016, 0.015, 0.016, 0.017, 0.012, 0.001, 0.017, 0.017, 0.017, 0.015, 0.009 + bxaj = 0.050, 0.080, 0.090, 0.250, 0.150, 0.180, 0.200, 0.220, 0.230, 0.250, 0.280, 0.300, 0.260, 0.000, 1.000, 1.000, 1.000, 0.350, 0.150 + xxaj = 0.050, 0.080, 0.090, 0.250, 0.150, 0.180, 0.200, 0.220, 0.230, 0.250, 0.280, 0.300, 0.260, 0.000, 1.000, 1.000, 1.000, 0.350, 0.150 + bdvic = 0.050, 0.080, 0.090, 0.100, 0.150, 0.180, 0.200, 0.220, 0.230, 0.250, 0.280, 0.300, 0.260, 0.000, 1.000, 1.000, 1.000, 0.350, 0.150 + bbvic = 1.000, 1.010, 1.020, 1.025, 1.000, 1.000, 1.032, 1.035, 1.040, 1.042, 1.045, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000 + gdvic = 0.050, 0.070, 0.130, 0.200, 0.170, 0.110, 0.260, 0.350, 0.260, 0.300, 0.380, 0.410, 0.500, 0.001, 0.010, 0.001, 0.001, 0.050, 0.020 + +/ + From b5607f972ca71ddadb66b4b8eabd4d835ec5e009 Mon Sep 17 00:00:00 2001 From: Helin Wei Date: Thu, 20 Jul 2023 17:45:41 -0500 Subject: [PATCH 05/13] meet ShellCheck --- ush/forecast_postdet.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh index daf57b1075..d1088c8b80 100755 --- a/ush/forecast_postdet.sh +++ b/ush/forecast_postdet.sh @@ -192,7 +192,7 @@ EOF fi # NoahMP table - ${NLN} "$HOMEgfs/parm/ufs/land/noahmptable.tbl" "$DATA/noahmptable.tbl" + ${NLN} "${HOMEgfs}/parm/ufs/land/noahmptable.tbl" "${DATA}/noahmptable.tbl" # Files for GWD OROFIX_ugwd=${OROFIX_ugwd:-"${FIX_DIR}/ugwd"} From 89e8f25d9bb0f0759d25267a40b0be2a0c98677a Mon Sep 17 00:00:00 2001 From: Helin Wei Date: Fri, 21 Jul 2023 16:08:18 -0500 Subject: [PATCH 06/13] address comments from Rahul --- parm/ufs/land/noahmptable.tbl | 780 ---------------------------------- sorc/link_workflow.sh | 4 - ush/forecast_postdet.sh | 9 +- 3 files changed, 8 insertions(+), 785 deletions(-) delete mode 100644 parm/ufs/land/noahmptable.tbl diff --git a/parm/ufs/land/noahmptable.tbl b/parm/ufs/land/noahmptable.tbl deleted file mode 100644 index 3ffd5b5320..0000000000 --- a/parm/ufs/land/noahmptable.tbl +++ /dev/null @@ -1,780 +0,0 @@ -&noahmp_usgs_veg_categories - veg_dataset_description = "usgs" - nveg = 27 -/ -&noahmp_usgs_parameters - ! nveg = 27 - ! 1: urban and built-up land - ! 2: dryland cropland and pasture - ! 3: irrigated cropland and pasture - ! 4: mixed dryland/irrigated cropland and pasture - ! 5: cropland/grassland mosaic - ! 6: cropland/woodland mosaic - ! 7: grassland - ! 8: shrubland - ! 9: mixed shrubland/grassland - ! 10: savanna - ! 11: deciduous broadleaf forest - ! 12: deciduous needleleaf forest - ! 13: evergreen broadleaf forest - ! 14: evergreen needleleaf forest - ! 15: mixed forest - ! 16: water bodies - ! 17: herbaceous wetland - ! 18: wooded wetland - ! 19: barren or sparsely vegetated - ! 20: herbaceous tundra - ! 21: wooded tundra - ! 22: mixed tundra - ! 23: bare ground tundra - ! 24: snow or ice - ! 25: playa - ! 26: lava - ! 27: white sand - - isurban = 1 - iswater = 16 - isbarren = 19 - isice = 24 - iscrop = 2 - eblforest = 13 - natural = 5 - lcz_1 = 31 - lcz_2 = 32 - lcz_3 = 33 - lcz_4 = 34 - lcz_5 = 35 - lcz_6 = 36 - lcz_7 = 37 - lcz_8 = 38 - lcz_9 = 39 - lcz_10 = 40 - lcz_11 = 41 - - !--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 - !--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - ch2op = 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, - dleaf = 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, - z0mvt = 1.00, 0.15, 0.15, 0.15, 0.14, 0.50, 0.12, 0.06, 0.09, 0.50, 0.80, 0.85, 1.10, 1.09, 0.80, 0.00, 0.12, 0.50, 0.00, 0.10, 0.30, 0.20, 0.03, 0.00, 0.01, 0.00, 0.00, - hvt = 15.0, 2.00, 2.00, 2.00, 1.50, 8.00, 1.00, 1.10, 1.10, 10.0, 16.0, 18.0, 20.0, 20.0, 16.0, 0.00, 0.50, 10.0, 0.00, 0.50, 4.00, 2.00, 0.50, 0.00, 0.10, 0.00, 0.00, - hvb = 1.00, 0.10, 0.10, 0.10, 0.10, 0.15, 0.05, 0.10, 0.10, 0.10, 11.5, 7.00, 8.00, 8.50, 10.0, 0.00, 0.05, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, - z0mhvt= 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.00, 0.05, 0.05, 0.05, 0.05, 0.00, 0.05, 0.00, 0.00, - den = 0.01, 25.0, 25.0, 25.0, 25.0, 25.0, 100., 10.0, 10.0, 0.02, 0.10, 0.28, 0.02, 0.28, 0.10, 0.01, 10.0, 0.10, 0.01, 1.00, 1.00, 1.00, 1.00, 0.00, 0.01, 0.01, 0.01, - rc = 1.00, 0.08, 0.08, 0.08, 0.08, 0.08, 0.03, 0.12, 0.12, 3.00, 1.40, 1.20, 3.60, 1.20, 1.40, 0.01, 0.10, 1.40, 0.01, 0.30, 0.30, 0.30, 0.30, 0.00, 0.01, 0.01, 0.01, -!mfsno = 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, -! c. he 12/17/2020: optimized mfsno values dependent on land type based on evaluation with snotel swe and modis scf, surface albedo - mfsno = 4.00, 3.00, 3.00, 3.00, 4.00, 4.00, 2.00, 2.00, 2.00, 2.00, 1.00, 1.00, 1.00, 1.00, 1.00, 3.00, 3.00, 3.00, 3.00, 3.50, 3.50, 3.50, 3.50, 2.50, 3.50, 3.50, 3.50, -! c. he 12/17/2020: optimized snow cover factor (m) in scf formulation to replace original constant 2.5*z0,z0=0.002m, based on evaluation with snotel swe and modis scf, surface albedo - scffac= 0.042, 0.014, 0.014, 0.014, 0.026, 0.026, 0.020, 0.018, 0.016, 0.020, 0.008, 0.008, 0.008, 0.008, 0.008, 0.030, 0.020, 0.020, 0.016, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, 0.030, - cbiom = 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, - - ! row 1: vis - ! row 2: near ir - rhol_vis=0.00, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.07, 0.10, 0.10, 0.10, 0.07, 0.10, 0.07, 0.10, 0.00, 0.11, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, - rhol_nir=0.00, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.35, 0.45, 0.45, 0.45, 0.35, 0.45, 0.35, 0.45, 0.00, 0.58, 0.45, 0.00, 0.45, 0.45, 0.45, 0.45, 0.00, 0.45, 0.00, 0.00, - - ! row 1: vis - ! row 2: near ir - rhos_vis=0.00, 0.36, 0.36, 0.36, 0.36, 0.36, 0.36, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.00, 0.36, 0.16, 0.00, 0.16, 0.16, 0.16, 0.16, 0.00, 0.16, 0.00, 0.00, - rhos_nir=0.00, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.00, 0.58, 0.39, 0.00, 0.39, 0.39, 0.39, 0.39, 0.00, 0.39, 0.00, 0.00, - - ! row 1: vis - ! row 2: near ir - taul_vis=0.00, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.00, 0.07, 0.05, 0.00, 0.05, 0.05, 0.05, 0.05, 0.00, 0.05, 0.00, 0.00, - taul_nir=0.00, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.10, 0.10, 0.25, 0.25, 0.10, 0.25, 0.10, 0.25, 0.00, 0.25, 0.25, 0.00, 0.25, 0.25, 0.25, 0.25, 0.00, 0.25, 0.00, 0.00, - - ! row 1: vis - ! row 2: near ir - taus_vis=0.00, 0.220, 0.220, 0.220, 0.220, 0.220, 0.220, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.000, 0.220, 0.001, 0.000, 0.220, 0.001, 0.001, 0.001, 0.000, 0.001, 0.000, 0.000, - taus_nir=0.00, 0.380, 0.380, 0.380, 0.380, 0.380, 0.380, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.000, 0.380, 0.001, 0.000, 0.380, 0.001, 0.001, 0.001, 0.000, 0.001, 0.000, 0.000, - - xl = 0.000, -0.30, -0.30, -0.30, -0.30, -0.30, -0.30, 0.010, 0.250, 0.010, 0.250, 0.010, 0.010, 0.010, 0.250, 0.000, -0.30, 0.250, 0.000, -0.30, 0.250, 0.250, 0.250, 0.000, 0.250, 0.000, 0.000, - ! make cwpvt vegetation dependent according to j. goudriaan, crop micrometeorology: a simulation study (simulation monographs), 1977). c. he, 12/17/2020 - cwpvt = 0.18, 1.67, 1.67, 1.67, 1.67, 0.5, 5.0, 1.0, 2.0, 1.0, 0.67, 0.18, 0.67, 0.18, 0.29, 0.18, 1.67, 0.67, 0.18, 1.67, 0.67, 1.00, 0.18, 0.18, 0.18, 0.18, 0.18, - c3psn = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, - kc25 = 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, - akc = 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, - ko25 = 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, - ako = 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, - avcmx = 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, - aqe = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, - - ltovrc= 0.0, 1.2, 1.2, 1.2, 1.2, 1.30, 0.50, 0.65, 0.70, 0.65, 0.55, 0.2, 0.55, 0.5, 0.5, 0.0, 1.4, 1.4, 0.0, 1.2, 1.3, 1.4, 1.0, 0.0, 1.0, 0.0, 0.0, - dilefc= 0.00, 0.50, 0.50, 0.50, 0.35, 0.20, 0.20, 0.20, 0.50, 0.50, 0.60, 1.80, 0.50, 1.20, 0.80, 0.00, 0.40, 0.40, 0.00, 0.40, 0.30, 0.40, 0.30, 0.00, 0.30, 0.00, 0.00, - dilefw= 0.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.10, 0.20, 0.20, 0.50, 0.20, 0.20, 4.00, 0.20, 0.20, 0.00, 0.20, 0.20, 0.00, 0.20, 0.20, 0.20, 0.20, 0.00, 0.20, 0.00, 0.00, - rmf25 = 0.00, 1.00, 1.40, 1.45, 1.45, 1.45, 1.80, 0.26, 0.26, 0.80, 3.00, 4.00, 0.65, 3.00, 3.00, 0.00, 3.20, 3.20, 0.00, 3.20, 3.00, 3.00, 3.00, 0.00, 3.00, 0.00, 0.00, - sla = 60, 80, 80, 80, 80, 80, 60, 60, 60, 50, 80, 80, 80, 80, 80, 0, 80, 80, 0, 80, 80, 80, 80, 0, 80, 0, 0, - fragr = 0.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.10, 0.20, 0.10, 0.10, 0.00, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, - tmin = 0, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 268, 273, 265, 268, 0, 268, 268, 0, 268, 268, 268, 268, 0, 268, 0, 0, - vcmx25= 0.00, 80.0, 80.0, 80.0, 60.0, 70.0, 40.0, 40.0, 40.0, 40.0, 60.0, 60.0, 60.0, 50.0, 55.0, 0.00, 50.0, 50.0, 0.00, 50.0, 50.0, 50.0, 50.0, 0.00, 50.0, 0.00, 0.00, - tdlef = 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 268, 278, 278, 268, 0, 268, 268, 0, 268, 268, 268, 268, 0, 268, 0, 0, - bp = 1.e15, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 1.e15, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 1.e15, 2.e3, 1.e15, 1.e15, - mp = 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 6., 9., 6., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., - qe25 = 0., 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.00, 0.00, - rms25 = 0.00, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.32, 0.10, 0.64, 0.30, 0.90, 0.80, 0.00, 0.10, 0.10, 0.00, 0.10, 0.10, 0.10, 0.00, 0.00, 0.00, 0.00, 0.00, - rmr25 = 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.20, 0.00, 0.00, 0.01, 0.01, 0.05, 0.05, 0.36, 0.03, 0.00, 0.00, 0.00, 0.00, 2.11, 2.11, 2.11, 0.00, 0.00, 0.00, 0.00, 0.00, - arm = 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, - folnmx= 0.00, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 0.00, 0.00, - wdpool= 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 0.00, 0.00, 1.00, 0.00, 0.00, 1.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, - wrrat = 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 3.00, 3.00, 3.00, 30.0, 30.0, 30.0, 30.0, 30.0, 0.00, 0.00, 30.0, 0.00, 0.00, 3.00, 3.00, 0.00, 0.00, 0.00, 0.00, 0.00, - mrp = 0.00, 0.23, 0.23, 0.23, 0.23, 0.23, 0.17, 0.19, 0.19, 0.40, 0.40, 0.37, 0.23, 0.37, 0.30, 0.00, 0.17, 0.40, 0.00, 0.17, 0.23, 0.20, 0.00, 0.00, 0.20, 0.00, 0.00, - nroot = 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 0, 2, 2, 1, 3, 3, 3, 2, 1, 1, 0, 0, - rgl = 999.0, 100.0, 100.0, 100.0, 100.0, 65.0, 100.0, 100.0, 100.0, 65.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 100.0, 30.0, 999.0, 100.0, 100.0, 100.0, 100.0, 999.0, 100.0, 999.0, 999.0, - rs = 200.0, 40.0, 40.0, 40.0, 40.0, 70.0, 40.0, 300.0, 170.0, 70.0, 100.0, 150.0, 150.0, 125.0, 125.0, 100.0, 40.0, 100.0, 999.0, 150.0, 150.0, 150.0, 200.0, 999.0, 40.0, 999.0, 999.0, - hs = 999.0, 36.25, 36.25, 36.25, 36.25, 44.14, 36.35, 42.00, 39.18, 54.53, 54.53, 47.35, 41.69, 47.35, 51.93, 51.75, 60.00, 51.93, 999.0, 42.00, 42.00, 42.00, 42.00, 999.0, 36.25, 999.0, 999.0, - topt = 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, - rsmax = 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., - rtovrc = 2.e-8,2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, - rswoodc= 3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10,3.e-10, - bf = 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, - wstrc = 100.0,100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, - laimin = 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, - xsamin = 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, - -! monthly values, one row for each month: - sai_jan = 0.0, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.2, 0.2, 0.3, 0.4, 0.3, 0.5, 0.4, 0.4, 0.0, 0.2, 0.3, 0.0, 0.1, 0.2, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, - sai_feb = 0.0, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.2, 0.2, 0.3, 0.4, 0.3, 0.5, 0.4, 0.4, 0.0, 0.2, 0.3, 0.0, 0.1, 0.2, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, - sai_mar = 0.0, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.2, 0.2, 0.3, 0.4, 0.3, 0.5, 0.4, 0.4, 0.0, 0.2, 0.3, 0.0, 0.1, 0.2, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, - sai_apr = 0.0, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.2, 0.2, 0.3, 0.4, 0.4, 0.5, 0.3, 0.4, 0.0, 0.2, 0.3, 0.0, 0.1, 0.2, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, - sai_may = 0.0, 0.2, 0.2, 0.2, 0.3, 0.3, 0.3, 0.2, 0.2, 0.3, 0.4, 0.4, 0.5, 0.4, 0.4, 0.0, 0.3, 0.3, 0.0, 0.1, 0.2, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, - sai_jun = 0.0, 0.3, 0.3, 0.3, 0.4, 0.4, 0.4, 0.2, 0.3, 0.4, 0.4, 0.7, 0.5, 0.5, 0.4, 0.0, 0.4, 0.4, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, - sai_jul = 0.0, 0.4, 0.4, 0.4, 0.6, 0.6, 0.8, 0.4, 0.6, 0.8, 0.9, 1.3, 0.5, 0.5, 0.7, 0.0, 0.6, 0.6, 0.0, 0.4, 0.4, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, - sai_aug = 0.0, 0.5, 0.5, 0.5, 0.9, 0.9, 1.3, 0.6, 0.9, 1.2, 1.2, 1.2, 0.5, 0.6, 0.8, 0.0, 0.9, 0.9, 0.0, 0.6, 0.6, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, - sai_sep = 0.0, 0.4, 0.4, 0.4, 0.7, 1.0, 1.1, 0.8, 1.0, 1.3, 1.6, 1.0, 0.5, 0.6, 1.0, 0.0, 0.7, 1.0, 0.0, 0.7, 0.8, 0.7, 0.0, 0.0, 0.0, 0.0, 0.0, - sai_oct = 0.0, 0.3, 0.3, 0.3, 0.3, 0.8, 0.4, 0.7, 0.6, 0.7, 1.4, 0.8, 0.5, 0.7, 1.0, 0.0, 0.3, 0.8, 0.0, 0.5, 0.7, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, - sai_nov = 0.0, 0.3, 0.3, 0.3, 0.3, 0.4, 0.4, 0.3, 0.3, 0.4, 0.6, 0.6, 0.5, 0.6, 0.5, 0.0, 0.3, 0.4, 0.0, 0.3, 0.3, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, - sai_dec = 0.0, 0.3, 0.3, 0.3, 0.3, 0.3, 0.4, 0.2, 0.3, 0.4, 0.4, 0.5, 0.5, 0.5, 0.4, 0.0, 0.3, 0.4, 0.0, 0.2, 0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, - - lai_jan = 0.0, 0.0, 0.0, 0.0, 0.2, 0.0, 0.4, 0.0, 0.2, 0.3, 0.0, 0.0, 4.5, 4.0, 2.0, 0.0, 0.2, 0.2, 0.0, 0.2, 1.0, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, - lai_feb = 0.0, 0.0, 0.0, 0.0, 0.3, 0.0, 0.5, 0.0, 0.3, 0.3, 0.0, 0.0, 4.5, 4.0, 2.0, 0.0, 0.3, 0.3, 0.0, 0.3, 1.0, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, - lai_mar = 0.0, 0.0, 0.0, 0.0, 0.3, 0.2, 0.6, 0.2, 0.4, 0.5, 0.3, 0.0, 4.5, 4.0, 2.2, 0.0, 0.3, 0.3, 0.0, 0.3, 1.1, 0.7, 0.0, 0.0, 0.0, 0.0, 0.0, - lai_apr = 0.0, 0.0, 0.0, 0.0, 0.4, 0.6, 0.7, 0.6, 0.7, 0.8, 1.2, 0.6, 4.5, 4.0, 2.6, 0.0, 0.4, 0.6, 0.0, 0.4, 1.3, 0.8, 0.0, 0.0, 0.0, 0.0, 0.0, - lai_may = 0.0, 1.0, 1.0, 1.0, 1.1, 2.0, 1.2, 1.5, 1.4, 1.8, 3.0, 1.2, 4.5, 4.0, 3.5, 0.0, 1.1, 2.0, 0.0, 0.6, 1.7, 1.2, 0.0, 0.0, 0.0, 0.0, 0.0, - lai_jun = 0.0, 2.0, 2.0, 2.0, 2.5, 3.3, 3.0, 2.3, 2.6, 3.6, 4.7, 2.0, 4.5, 4.0, 4.3, 0.0, 2.5, 3.3, 0.0, 1.5, 2.1, 1.8, 0.0, 0.0, 0.0, 0.0, 0.0, - lai_jul = 0.0, 3.0, 3.0, 3.0, 3.2, 3.7, 3.5, 2.3, 2.9, 3.8, 4.5, 2.6, 4.5, 4.0, 4.3, 0.0, 3.2, 3.7, 0.0, 1.7, 2.1, 1.8, 0.0, 0.0, 0.0, 0.0, 0.0, - lai_aug = 0.0, 3.0, 3.0, 3.0, 2.2, 3.2, 1.5, 1.7, 1.6, 2.1, 3.4, 1.7, 4.5, 4.0, 3.7, 0.0, 2.2, 3.2, 0.0, 0.8, 1.8, 1.3, 0.0, 0.0, 0.0, 0.0, 0.0, - lai_sep = 0.0, 1.5, 1.5, 1.5, 1.1, 1.3, 0.7, 0.6, 0.7, 0.9, 1.2, 1.0, 4.5, 4.0, 2.6, 0.0, 1.1, 1.3, 0.0, 0.4, 1.3, 0.8, 0.0, 0.0, 0.0, 0.0, 0.0, - lai_oct = 0.0, 0.0, 0.0, 0.0, 0.3, 0.2, 0.6, 0.2, 0.4, 0.5, 0.3, 0.5, 4.5, 4.0, 2.2, 0.0, 0.3, 0.3, 0.0, 0.3, 1.1, 0.7, 0.0, 0.0, 0.0, 0.0, 0.0, - lai_nov = 0.0, 0.0, 0.0, 0.0, 0.3, 0.0, 0.5, 0.0, 0.3, 0.3, 0.0, 0.2, 4.5, 4.0, 2.0, 0.0, 0.3, 0.3, 0.0, 0.2, 1.0, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, - lai_dec = 0.0, 0.0, 0.0, 0.0, 0.2, 0.0, 0.4, 0.0, 0.2, 0.3, 0.0, 0.0, 4.5, 4.0, 2.0, 0.0, 0.2, 0.2, 0.0, 0.2, 1.0, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, - -! five types, one row for each type (bvoc currently not active). - eps1 = 41.87, 0.00, 0.00, 2.52, 0.04, 17.11, 0.02, 21.62, 0.11, 22.80, 46.86, 0.00, 0.00, 0.46, 30.98, 2.31, 1.63, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, - eps2 = 0.98, 0.00, 0.00, 0.16, 0.09, 0.28, 0.05, 0.92, 0.22, 0.59, 0.38, 0.00, 0.00, 3.34, 0.96, 1.47, 1.07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, - eps3 = 1.82, 0.00, 0.00, 0.23, 0.05, 0.81, 0.03, 1.73, 1.26, 1.37, 1.84, 0.00, 0.00, 1.85, 1.84, 1.70, 1.21, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, - eps4 = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, - eps5 = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -/ - -&noahmp_modis_veg_categories - veg_dataset_description = "modified igbp modis noah" - nveg = 20 -/ - -&noahmp_modis_parameters -! 1 'evergreen needleleaf forest' -> usgs 14 -! 2, 'evergreen broadleaf forest' -> usgs 13 -! 3, 'deciduous needleleaf forest' -> usgs 12 -! 4, 'deciduous broadleaf forest' -> usgs 11 -! 5, 'mixed forests' -> usgs 15 -! 6, 'closed shrublands' -> usgs 8 "shrubland" -! 7, 'open shrublands' -> usgs 9 "shrubland/grassland" -! 8, 'woody savannas' -> usgs 8 "shrubland" -! 9, 'savannas' -> usgs 10 -! 10, 'grasslands' -> usgs 7 -! 11 'permanent wetlands' -> avg of usgs 17 and 18 (herb. wooded wetland) -! 12, 'croplands' -> usgs 2 "dryland cropland" -! 13, 'urban and built-up' -> usgs 1 -! 14 'cropland/natural vegetation mosaic' -> usgs 5 "cropland/grassland" -! 15, 'snow and ice' -> usgs 24 -! 16, 'barren or sparsely vegetated' -> usgs 19 -! 17, 'water' -> usgs 16 -! 18, 'wooded tundra' -> usgs 21 -! 19, 'mixed tundra' -> usgs 22 -! 20, 'barren tundra' -> usgs 23 - - isurban = 13 - iswater = 17 - isbarren = 16 - isice = 15 - iscrop = 12 - eblforest = 2 - natural = 14 - lcz_1 = 31 - lcz_2 = 32 - lcz_3 = 33 - lcz_4 = 34 - lcz_5 = 35 - lcz_6 = 36 - lcz_7 = 37 - lcz_8 = 38 - lcz_9 = 39 - lcz_10 = 40 - lcz_11 = 41 - !--------------------------------------------------------------------------------------------------------------------------------------------------------------------- - ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 - !--------------------------------------------------------------------------------------------------------------------------------------------------------------------- - ch2op = 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, - dleaf = 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, - z0mvt = 1.09, 1.10, 0.85, 0.80, 0.80, 0.20, 0.06, 0.60, 0.50, 0.12, 0.30, 0.15, 1.00, 0.14, 0.00, 0.00, 0.00, 0.30, 0.20, 0.03, - hvt = 20.0, 20.0, 18.0, 16.0, 16.0, 1.10, 1.10, 13.0, 10.0, 1.00, 5.00, 2.00, 15.0, 1.50, 0.00, 0.00, 0.00, 4.00, 2.00, 0.50, - hvb = 8.50, 8.00, 7.00, 11.5, 10.0, 0.10, 0.10, 0.10, 0.10, 0.05, 0.10, 0.10, 1.00, 0.10, 0.00, 0.00, 0.00, 0.30, 0.20, 0.10, - z0mhvt= 0.0545, 0.055, 0.047, 0.050, 0.050, 0.182, 0.0545, 0.046, 0.050, 0.120, 0.060, 0.075, 0.067, 0.093, 0.000, 0.000, 0.000, 0.075, 0.100, 0.060, - den = 0.28, 0.02, 0.28, 0.10, 0.10, 10.0, 10.0, 10.0, 0.02, 100., 5.05, 25.0, 0.01, 25.0, 0.00, 0.01, 0.01, 1.00, 1.00, 1.00, - rc = 1.20, 3.60, 1.20, 1.40, 1.40, 0.12, 0.12, 0.12, 3.00, 0.03, 0.75, 0.08, 1.00, 0.08, 0.00, 0.01, 0.01, 0.30, 0.30, 0.30, -!mfsno = 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, 2.50, -! c. he 12/17/2020: optimized mfsno values dependent on land type based on evaluation with snotel swe and modis scf, surface albedo - mfsno = 1.00, 1.00, 1.00, 1.00, 1.00, 2.00, 2.00, 2.00, 2.00, 2.00, 3.00, 3.00, 4.00, 4.00, 2.50, 3.00, 3.00, 3.50, 3.50, 3.50, -! c. he 12/17/2020: optimized snow cover factor (m) in scf formulation to replace original constant 2.5*z0,z0=0.002m, based on evaluation with snotel swe and modis scf, surface albedo -! scffac = 0.008, 0.008, 0.008, 0.008, 0.008, 0.016, 0.016, 0.020, 0.020, 0.020, 0.020, 0.014, 0.042, 0.026, 0.030, 0.016, 0.030, 0.030, 0.030, 0.030, - scffac = 0.005, 0.005, 0.005, 0.005, 0.005, 0.008, 0.008, 0.010, 0.010, 0.010, 0.010, 0.007, 0.021, 0.013, 0.015, 0.008, 0.015, 0.015, 0.015, 0.015, - cbiom = 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, - - ! row 1: vis - ! row 2: near ir - rhol_vis=0.07, 0.10, 0.07, 0.10, 0.10, 0.07, 0.07, 0.07, 0.10, 0.11, 0.105, 0.11, 0.00, 0.11, 0.00, 0.00, 0.00, 0.10, 0.10, 0.10, - rhol_nir=0.35, 0.45, 0.35, 0.45, 0.45, 0.35, 0.35, 0.35, 0.45, 0.58, 0.515, 0.58, 0.00, 0.58, 0.00, 0.00, 0.00, 0.45, 0.45, 0.45, - - ! row 1: vis - ! row 2: near ir - rhos_vis=0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.36, 0.26, 0.36, 0.00, 0.36, 0.00, 0.00, 0.00, 0.16, 0.16, 0.16, - rhos_nir=0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.58, 0.485, 0.58, 0.00, 0.58, 0.00, 0.00, 0.00, 0.39, 0.39, 0.39, - - ! row 1: vis - ! row 2: near ir - taul_vis=0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.07, 0.06, 0.07, 0.00, 0.07, 0.00, 0.00, 0.00, 0.05, 0.05, 0.05, - taul_nir=0.10, 0.25, 0.10, 0.25, 0.25, 0.10, 0.10, 0.10, 0.25, 0.25, 0.25, 0.25, 0.00, 0.25, 0.00, 0.00, 0.00, 0.25, 0.25, 0.25, - - ! row 1: vis - ! row 2: near ir - taus_vis=0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.220, 0.1105, 0.220, 0.000, 0.220, 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, - taus_nir=0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.380, 0.1905, 0.380, 0.000, 0.380, 0.000, 0.000, 0.000, 0.001, 0.001, 0.001, - - xl = 0.010, 0.010, 0.010, 0.250, 0.250, 0.010, 0.010, 0.010, 0.010, -0.30, -0.025, -0.30, 0.000, -0.30, 0.000, 0.000, 0.000, 0.250, 0.250, 0.250, -! make cwpvt vegetation dependent according to j. goudriaan, crop micrometeorology: a simulation study (simulation monographs), 1977). c. he, 12/17/2020 -! cwpvt = 0.18, 0.67, 0.18, 0.67, 0.29, 1.0, 2.0, 1.3, 1.0, 5.0, 1.17, 1.67, 1.67, 1.67, 0.18, 0.18, 0.18, 0.67, 1.0, 0.18, - cwpvt = 0.09, 0.335, 0.09, 0.335, 0.145, 0.5, 1.0, 0.65, 0.5, 2.5, 0.585, 0.835, 0.835, 0.835, 0.09, 0.09, 0.09, 0.335, 0.5, 0.09, - c3psn = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, - kc25 = 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, - akc = 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, - ko25 = 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, - ako = 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, - avcmx = 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, - aqe = 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, - - ltovrc= 0.5, 0.55, 0.2, 0.55, 0.5, 0.65, 0.65, 0.65, 0.65, 0.50, 1.4, 1.6, 0.0, 1.2, 0.0, 0.0, 0.0, 1.3, 1.4, 1.0, - dilefc= 1.20, 0.50, 1.80, 0.60, 0.80, 0.20, 0.20, 0.20, 0.50, 0.20, 0.4, 0.50, 0.00, 0.35, 0.00, 0.00, 0.00, 0.30, 0.40, 0.30, - dilefw= 0.20, 4.00, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.50, 0.10, 0.2, 0.20, 0.00, 0.20, 0.00, 0.00, 0.00, 0.20, 0.20, 0.20, - rmf25 = 3.00, 0.65, 4.00, 3.00, 3.00, 0.26, 0.26, 0.26, 0.80, 1.80, 3.2, 1.00, 0.00, 1.45, 0.00, 0.00, 0.00, 3.00, 3.00, 3.00, - sla = 80, 80, 80, 80, 80, 60, 60, 60, 50, 60, 80, 80, 60, 80, 0, 0, 0, 80, 80, 80, - fragr = 0.10, 0.20, 0.10, 0.20, 0.10, 0.20, 0.20, 0.20, 0.20, 0.20, 0.1, 0.20, 0.00, 0.20, 0.00, 0.10, 0.00, 0.10, 0.10, 0.10, - tmin = 265, 273, 268, 273, 268, 273, 273, 273, 273, 273, 268, 273, 0, 273, 0, 0, 0, 268, 268, 268, - vcmx25= 50.0, 60.0, 60.0, 60.0, 55.0, 40.0, 40.0, 40.0, 40.0, 40.0, 50.0, 80.0, 0.00, 60.0, 0.00, 0.00, 0.00, 50.0, 50.0, 50.0, - tdlef = 278, 278, 268, 278, 268, 278, 278, 278, 278, 278, 268, 278, 278, 278, 0, 0, 0, 268, 268, 268, - bp = 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 2.e3, 1.e15, 2.e3, 1.e15, 2.e3, 1.e15, 2.e3, 2.e3, 2.e3, - mp = 6., 9., 6., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., - qe25 = 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.00, 0.06, 0.00, 0.06, 0.00, 0.06, 0.06, 0.06, - rms25 = 0.90, 0.30, 0.64, 0.10, 0.80, 0.10, 0.10, 0.10, 0.32, 0.10, 0.10, 0.10, 0.00, 0.10, 0.00, 0.00, 0.00, 0.10, 0.10, 0.00, - rmr25 = 0.36, 0.05, 0.05, 0.01, 0.03, 0.00, 0.00, 0.00, 0.01, 1.20, 0.0, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2.11, 2.11, 0.00, - arm = 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, - folnmx= 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 0.00, 1.5, 0.00, 1.5, 0.00, 1.5, 1.5, 1.5, - wdpool= 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 0.00, 0.5, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 1.00, 0.00, - wrrat = 30.0, 30.0, 30.0, 30.0, 30.0, 3.00, 3.00, 3.00, 3.00, 0.00, 15.0, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 3.00, 3.00, 0.00, - mrp = 0.37, 0.23, 0.37, 0.40, 0.30, 0.19, 0.19, 0.19, 0.40, 0.17, 0.285, 0.23, 0.00, 0.23, 0.00, 0.00, 0.00, 0.23, 0.20, 0.00, - nroot = 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 3, 1, 3, 1, 1, 0, 3, 3, 2, - rgl = 30.0, 30.0, 30.0, 30.0, 30.0, 100.0, 100.0, 100.0, 65.0, 100.0, 65.0, 100.0, 999.0, 100.0, 999.0, 999.0, 30.0, 100.0, 100.0, 100.0, - rs = 125.0, 150.0, 150.0, 100.0, 125.0, 300.0, 170.0, 300.0, 70.0, 40.0, 70.0, 40.0, 200.0, 40.0, 999.0, 999.0, 100.0, 150.0, 150.0, 200.0, - hs = 47.35, 41.69, 47.35, 54.53, 51.93, 42.00, 39.18, 42.00, 54.53, 36.35, 55.97, 36.25, 999.0, 36.25, 999.0, 999.0, 51.75, 42.00, 42.00, 42.00, - topt = 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, - rsmax = 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., - rtovrc = 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, 2.e-8, - rswoodc= 3.e-10,3.e-10,3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, 3.e-10, - bf = 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, - wstrc = 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, - laimin = 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, - xsamin = 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, - -! monthly values, one row for each month: - sai_jan = 0.4, 0.5, 0.3, 0.4, 0.4, 0.3, 0.2, 0.4, 0.3, 0.3, 0.3, 0.3, 0.0, 0.3, 0.0, 0.0, 0.0, 0.2, 0.1, 0.0, - sai_feb = 0.4, 0.5, 0.3, 0.4, 0.4, 0.3, 0.2, 0.4, 0.3, 0.3, 0.3, 0.3, 0.0, 0.3, 0.0, 0.0, 0.0, 0.2, 0.1, 0.0, - sai_mar = 0.4, 0.5, 0.3, 0.4, 0.4, 0.3, 0.2, 0.4, 0.3, 0.3, 0.3, 0.3, 0.0, 0.3, 0.0, 0.0, 0.0, 0.2, 0.1, 0.0, - sai_apr = 0.3, 0.5, 0.4, 0.4, 0.4, 0.3, 0.2, 0.4, 0.3, 0.3, 0.3, 0.3, 0.0, 0.3, 0.0, 0.0, 0.0, 0.2, 0.1, 0.0, - sai_may = 0.4, 0.5, 0.4, 0.4, 0.4, 0.3, 0.2, 0.4, 0.3, 0.3, 0.3, 0.3, 0.0, 0.3, 0.0, 0.0, 0.0, 0.2, 0.1, 0.0, - sai_jun = 0.5, 0.5, 0.7, 0.4, 0.4, 0.3, 0.2, 0.4, 0.4, 0.4, 0.4, 0.3, 0.0, 0.4, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, - sai_jul = 0.5, 0.5, 1.3, 0.9, 0.7, 0.6, 0.4, 0.7, 0.8, 0.8, 0.6, 0.4, 0.0, 0.6, 0.0, 0.0, 0.0, 0.4, 0.4, 0.0, - sai_aug = 0.6, 0.5, 1.2, 1.2, 0.8, 0.9, 0.6, 1.2, 1.2, 1.3, 0.9, 0.5, 0.0, 0.9, 0.0, 0.0, 0.0, 0.6, 0.6, 0.0, - sai_sep = 0.6, 0.5, 1.0, 1.6, 1.0, 1.2, 0.8, 1.4, 1.3, 1.1, 0.9, 0.4, 0.0, 0.7, 0.0, 0.0, 0.0, 0.8, 0.7, 0.0, - sai_oct = 0.7, 0.5, 0.8, 1.4, 1.0, 0.9, 0.7, 1.1, 0.7, 0.4, 0.6, 0.3, 0.0, 0.3, 0.0, 0.0, 0.0, 0.7, 0.5, 0.0, - sai_nov = 0.6, 0.5, 0.6, 0.6, 0.5, 0.4, 0.3, 0.5, 0.4, 0.4, 0.4, 0.3, 0.0, 0.3, 0.0, 0.0, 0.0, 0.3, 0.3, 0.0, - sai_dec = 0.5, 0.5, 0.5, 0.4, 0.4, 0.3, 0.2, 0.4, 0.4, 0.4, 0.3, 0.3, 0.0, 0.3, 0.0, 0.0, 0.0, 0.2, 0.2, 0.0, - - lai_jan = 4.0, 4.5, 0.0, 0.0, 2.0, 0.0, 0.0, 0.2, 0.3, 0.4, 0.2, 0.0, 0.0, 0.2, 0.0, 0.0, 0.0, 1.0, 0.6, 0.0, - lai_feb = 4.0, 4.5, 0.0, 0.0, 2.0, 0.0, 0.0, 0.2, 0.3, 0.5, 0.3, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 1.0, 0.6, 0.0, - lai_mar = 4.0, 4.5, 0.0, 0.3, 2.2, 0.3, 0.2, 0.4, 0.5, 0.6, 0.3, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 1.1, 0.7, 0.0, - lai_apr = 4.0, 4.5, 0.6, 1.2, 2.6, 0.9, 0.6, 1.0, 0.8, 0.7, 0.5, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 1.3, 0.8, 0.0, - lai_may = 4.0, 4.5, 1.2, 3.0, 3.5, 2.2, 1.5, 2.4, 1.8, 1.2, 1.5, 1.0, 0.0, 1.1, 0.0, 0.0, 0.0, 1.7, 1.2, 0.0, - lai_jun = 4.0, 4.5, 2.0, 4.7, 4.3, 3.5, 2.3, 4.1, 3.6, 3.0, 2.9, 2.0, 0.0, 2.5, 0.0, 0.0, 0.0, 2.1, 1.8, 0.0, - lai_jul = 4.0, 4.5, 2.6, 4.5, 4.3, 3.5, 2.3, 4.1, 3.8, 3.5, 3.5, 3.0, 0.0, 3.2, 0.0, 0.0, 0.0, 2.1, 1.8, 0.0, - lai_aug = 4.0, 4.5, 1.7, 3.4, 3.7, 2.5, 1.7, 2.7, 2.1, 1.5, 2.7, 3.0, 0.0, 2.2, 0.0, 0.0, 0.0, 1.8, 1.3, 0.0, - lai_sep = 4.0, 4.5, 1.0, 1.2, 2.6, 0.9, 0.6, 1.0, 0.9, 0.7, 1.2, 1.5, 0.0, 1.1, 0.0, 0.0, 0.0, 1.3, 0.8, 0.0, - lai_oct = 4.0, 4.5, 0.5, 0.3, 2.2, 0.3, 0.2, 0.4, 0.5, 0.6, 0.3, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 1.1, 0.7, 0.0, - lai_nov = 4.0, 4.5, 0.2, 0.0, 2.0, 0.0, 0.0, 0.2, 0.3, 0.5, 0.3, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 1.0, 0.6, 0.0, - lai_dec = 4.0, 4.5, 0.0, 0.0, 2.0, 0.0, 0.0, 0.2, 0.3, 0.4, 0.2, 0.0, 0.0, 0.2, 0.0, 0.0, 0.0, 1.0, 0.6, 0.0, - -! five types, one row for each type (bvoc currently not active). - eps1 = 0.46, 0.00, 0.00, 46.86, 30.98, 21.62, 0.11, 21.62, 22.80, 0.02, 0.815, 0.00, 41.87, 0.04, 0.0, 0.0, 2.31, 0.0, 0.0, 0.0, - eps2 = 3.34, 0.00, 0.00, 0.38, 0.96, 0.92, 0.22, 0.92, 0.59, 0.05, 0.535, 0.00, 0.98, 0.09, 0.0, 0.0, 1.47, 0.0, 0.0, 0.0, - eps3 = 1.85, 0.00, 0.00, 1.84, 1.84, 1.73, 1.26, 1.73, 1.37, 0.03, 0.605, 0.00, 1.82, 0.05, 0.0, 0.0, 1.70, 0.0, 0.0, 0.0, - eps4 = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, - eps5 = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, - -/ - -&noahmp_rad_parameters - !-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 soil color index for soil albedo - !-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - albsat_vis = 0.25, 0.23, 0.21, 0.20, 0.19, 0.18, 0.17, 0.16, 0.15, 0.14, 0.13, 0.12, 0.11, 0.10, 0.09, 0.08, 0.07, 0.06, 0.05, 0.04 ! saturated soil albedos - albsat_nir = 0.50, 0.46, 0.42, 0.40, 0.38, 0.36, 0.34, 0.32, 0.30, 0.28, 0.26, 0.24, 0.22, 0.20, 0.18, 0.16, 0.14, 0.12, 0.10, 0.08 ! saturated soil albedos - albdry_vis = 0.36, 0.34, 0.32, 0.31, 0.30, 0.29, 0.28, 0.27, 0.26, 0.25, 0.24, 0.23, 0.22, 0.20, 0.18, 0.16, 0.14, 0.12, 0.10, 0.08 ! dry soil albedos - albdry_nir = 0.61, 0.57, 0.53, 0.51, 0.49, 0.48, 0.45, 0.43, 0.41, 0.39, 0.37, 0.35, 0.33, 0.31, 0.29, 0.27, 0.25, 0.23, 0.21, 0.16 ! dry soil albedos - albice = 0.80, 0.55 ! albedo land ice: 1=vis, 2=nir - alblak = 0.60, 0.40 ! albedo frozen lakes: 1=vis, 2=nir - omegas = 0.8 , 0.4 ! two-stream parameter omega for snow - betads = 0.5 ! two-stream parameter betad for snow - betais = 0.5 ! two-stream parameter betai for snow - eg = 0.97, 0.98 ! emissivity soil surface 1-soil;2-lake - eice = 0.98 ! emissivity ice surface -/ - -&noahmp_global_parameters - -! atmospheric constituants - - co2 = 395.e-06 !co2 partial pressure - o2 = 0.209 !o2 partial pressure - -! runoff parameters used for simtop and simgm: - - timean = 10.5 !gridcell mean topgraphic index (global mean) - fsatmx = 0.38 !maximum surface saturated fraction (global mean) - -! adjustable parameters for snow processes - - z0sno = 0.002 !snow surface roughness length (m) (0.002) - ssi = 0.03 !liquid water holding capacity for snowpack (m3/m3) (0.03) - snow_ret_fac = 5.e-5 !snowpack water release timescale factor (1/s) - snow_emis = 0.95 !snow emissivity (bring from hard-coded value of 1.0 to here) - swemx = 1.00 !new snow mass to fully cover old snow (mm) - !equivalent to 10mm depth (density = 100 kg/m3) - tau0 = 1.e6 !tau0 from yang97 eqn. 10a - grain_growth = 5000. !growth from vapor diffusion yang97 eqn. 10b - extra_growth = 10. !extra growth near freezing yang97 eqn. 10c - dirt_soot = 0.3 !dirt and soot term yang97 eqn. 10d - bats_cosz = 2.0 !zenith angle snow albedo adjustment; b in yang97 eqn. 15 - bats_vis_new = 0.95 !new snow visible albedo - bats_nir_new = 0.65 !new snow nir albedo - bats_vis_age = 0.2 !age factor for diffuse visible snow albedo yang97 eqn. 17 - bats_nir_age = 0.5 !age factor for diffuse nir snow albedo yang97 eqn. 18 - bats_vis_dir = 0.4 !cosz factor for direct visible snow albedo yang97 eqn. 15 - bats_nir_dir = 0.4 !cosz factor for direct nir snow albedo yang97 eqn. 16 - rsurf_snow = 50.0 !surface resistence for snow [s/m] - rsurf_exp = 5.0 !exponent in the shape parameter for soil resistance option 1 - c2_snowcompact = 21.e-3 !overburden snow compaction parameter (m3/kg) cenlin - c3_snowcompact = 2.5e-6 !snow desctructive metamorphism compaction parameter1 [1/s] cenlin - c4_snowcompact = 0.04 !snow desctructive metamorphism compaction parameter2 [1/k] cenlin - c5_snowcompact = 2.0 !snow desctructive metamorphism compaction parameter3 cenlin - dm_snowcompact = 100.0 !upper limit on destructive metamorphism compaction [kg/m3] cenlin - eta0_snowcompact = 0.8e+6 !snow viscosity coefficient [kg-s/m2], anderson1979: 0.52e6~1.38e6 cenlin - snliqmaxfrac = 0.4 !maximum liquid water fraction in snow cenlin - swemaxgla = 5000.0 ! maximum swe allowed at glaciers (mm) cenlin - wslmax = 5000.0 ! maximum lake water storage (mm) cenlin - rous = 0.20 ! specific yield [-] for niu et al. 2007 groundwater scheme (optrunoffsubsurface=1) - cmic = 0.20 ! microprore content (0.0-1.0), 0.0: close to free drainage - snowden_max = 120.0 ! maximum fresh snowfall density (kg/m3) - class_alb_ref = 0.55 ! reference snow albedo in class scheme - class_sno_age = 3600.0 ! snow aging e-folding time (s) in class albedo scheme - class_alb_new = 0.84 ! fresh snow albedo in class scheme - psiwlt = -150.0 !metric potential for wilting point (m) - z0soil = 0.002 ! bare-soil roughness length (m) (i.e., under the canopy) - z0lake = 0.01 ! lake surface roughness length (m) -/ - -&noahmp_irrigation_parameters -irr_frac = 0.10 ! irrigation fraction -irr_har = 20 ! number of days before harvest date to stop irrigation -irr_lai = 0.50 ! minimum lai to trigger irrigation -irr_mad = 0.60 ! management allowable deficit (0-1) -filoss = 0.10 ! fraction of flood irrigation loss (0-1) -sprir_rate = 6.40 ! mm/h, sprinkler irrigation rate -micir_rate = 1.38 ! mm/h, micro irrigation rate -firtfac = 1.00 ! flood application rate factor -ir_rain = 1.00 ! maximum precipitation [mm/hr] to stop irrigation trigger -/ - -&noahmp_crop_parameters - - ! ncrop = 5 - ! 1: corn - ! 2: soybean - ! 3: sorghum - ! 4: rice - ! 5: winter wheat - -default_crop = 0 ! the default crop type(1-5); if zero, use generic dynamic vegetation - -!---------------------------------------------------------- -! 1 2 3 4 5 -!---------------------------------------------------------- - -pltday = 111, 131, 111, 111, 111, ! planting date -hsday = 300, 280, 300, 300, 300, ! harvest date -plantpop = 78.0, 78.0, 78.0, 78.0, 78.0, ! plant density [per ha] - used? -gddtbase = 10.0, 10.0, 10.0, 10.0, 10.0, ! base temperature for gdd accumulation [c] -gddtcut = 30.0, 30.0, 30.0, 30.0, 30.0, ! upper temperature for gdd accumulation [c] -gdds1 = 50.0, 60.0, 50.0, 50.0, 50.0, ! gdd from seeding to emergence -gdds2 = 625.0, 675.0, 718.0, 718.0, 718.0, ! gdd from seeding to initial vegetative -gdds3 = 933.0, 1183.0, 933.0, 933.0, 933.0, ! gdd from seeding to post vegetative -gdds4 = 1103.0, 1253.0, 1103.0, 1103.0, 1103.0, ! gdd from seeding to intial reproductive -gdds5 = 1555.0, 1605.0, 1555.0, 1555.0, 1555.0, ! gdd from seeding to pysical maturity -c3psni = 0.0, 1.0, 1.0, 1.0, 1.0, ! transfer crop-specific photosynthetic parameters -kc25i = 30.0, 30.0, 30.0, 30.0, 30.0, ! zhe zhang -akci = 2.1, 2.1, 2.1, 2.1, 2.1, ! 2020-02-05 -ko25i = 3.e4, 3.e4, 3.e4, 3.e4, 3.e4, ! -akoi = 1.2, 1.2, 1.2, 1.2, 1.2, ! -avcmxi = 2.4, 2.4, 2.4, 2.4, 2.4, ! -vcmx25i = 60.0, 80.0, 60.0, 60.0, 55.0, ! -bpi = 4.e4, 1.e4, 2.e3, 2.e3, 2.e3, ! -mpi = 4., 9., 6., 9., 9., ! -folnmxi = 1.5, 1.5, 1.5, 1.5, 1.5, ! foliage nitrogen concentration when f(n)=1 (%) -qe25i = 0.05, 0.06, 0.06, 0.06, 0.06, ! -aref = 7.0, 7.0, 7.0, 7.0, 7.0, ! reference maximum co2 assimilation rate -psnrf = 0.85, 0.85, 0.85, 0.85, 0.85, ! co2 assimilation reduction factor(0-1) (caused by non-modeling part,e.g.pest,weeds) -i2par = 0.5, 0.5, 0.5, 0.5, 0.5, ! fraction of incoming solar radiation to photosynthetically active radiation -tassim0 = 8.0, 8.0, 8.0, 8.0, 8.0, ! minimum temperature for co2 assimilation [c] -tassim1 = 18.0, 18.0, 18.0, 18.0, 18.0, ! co2 assimilation linearly increasing until temperature reaches t1 [c] -tassim2 = 30.0, 30.0, 30.0, 30.0, 30.0, ! co2 assmilation rate remain at aref until temperature reaches t2 [c] -k = 0.55, 0.55, 0.55, 0.55, 0.55, ! light extinction coefficient -epsi = 12.5, 12.5, 12.5, 12.5, 12.5, ! initial light use efficiency - -q10mr = 2.0, 2.0, 2.0, 2.0, 2.0, ! q10 for maintainance respiration -lefreez = 268, 268, 268, 268, 268, ! characteristic t for leaf freezing [k] - -dile_fc_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! coeficient for temperature leaf stress death [1/s] -dile_fc_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, ! one row for each of 8 stages -dile_fc_s3 = 0.0, 0.0, 0.0, 0.0, 0.0, -dile_fc_s4 = 0.0, 0.0, 0.0, 0.0, 0.0, -dile_fc_s5 = 0.5, 0.5, 0.5, 0.5, 0.5, -dile_fc_s6 = 0.5, 0.5, 0.5, 0.5, 0.5, -dile_fc_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, -dile_fc_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, - -dile_fw_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! coeficient for water leaf stress death [1/s] -dile_fw_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, ! one row for each of 8 stages -dile_fw_s3 = 0.0, 0.0, 0.0, 0.0, 0.0, -dile_fw_s4 = 0.0, 0.0, 0.0, 0.0, 0.0, -dile_fw_s5 = 0.2, 0.2, 0.2, 0.2, 0.2, -dile_fw_s6 = 0.2, 0.2, 0.2, 0.2, 0.2, -dile_fw_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, -dile_fw_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, - -fra_gr = 0.2, 0.2, 0.2, 0.2, 0.2, ! fraction of growth respiration - -lf_ovrc_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! fraction of leaf turnover [1/s] -lf_ovrc_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, ! one row for each of 8 stages -lf_ovrc_s3 = 0.0, 0.0, 0.0, 0.0, 0.0, -lf_ovrc_s4 = 0.0, 0.0, 0.0, 0.0, 0.0, -lf_ovrc_s5 = 0.2, 0.2, 0.48, 0.48, 0.48, -lf_ovrc_s6 = 0.3, 0.3, 0.48, 0.48, 0.48, -lf_ovrc_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, -lf_ovrc_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, - -st_ovrc_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! fraction of stem turnover [1/s] -st_ovrc_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, ! one row for each of 8 stages -st_ovrc_s3 = 0.0, 0.0, 0.0, 0.0, 0.0, -st_ovrc_s4 = 0.0, 0.0, 0.0, 0.0, 0.0, -st_ovrc_s5 = 0.2, 0.12, 0.12, 0.12, 0.12, -st_ovrc_s6 = 0.3, 0.06, 0.06, 0.06, 0.06, -st_ovrc_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, -st_ovrc_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, - -rt_ovrc_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! fraction of root tunrover [1/s] -rt_ovrc_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, ! one row for each of 8 stages -rt_ovrc_s3 = 0.0, 0.0, 0.0, 0.0, 0.0, -rt_ovrc_s4 = 0.0, 0.0, 0.0, 0.0, 0.0, -rt_ovrc_s5 = 0.12, 0.12, 0.12, 0.12, 0.12, -rt_ovrc_s6 = 0.06, 0.06, 0.06, 0.06, 0.06, -rt_ovrc_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, -rt_ovrc_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, - -lfmr25 = 0.8, 1.0, 1.0, 1.0, 1.0, ! leaf maintenance respiration at 25c [umol co2/m**2 /s] -stmr25 = 0.05, 0.05, 0.1, 0.1, 0.1, ! stem maintenance respiration at 25c [umol co2/kg bio/s] -rtmr25 = 0.05, 0.05, 0.0, 0.0, 0.0, ! root maintenance respiration at 25c [umol co2/kg bio/s] -grainmr25 = 0.0, 0.0, 0.1, 0.1, 0.1, ! grain maintenance respiration at 25c [umol co2/kg bio/s] - -lfpt_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! fraction of carbohydrate flux to leaf -lfpt_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, ! one row for each of 8 stages -lfpt_s3 = 0.36, 0.4, 0.4, 0.4, 0.4, -lfpt_s4 = 0.1, 0.2, 0.2, 0.2, 0.2, -lfpt_s5 = 0.0, 0.0, 0.0, 0.0, 0.0, -lfpt_s6 = 0.0, 0.0, 0.0, 0.0, 0.0, -lfpt_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, -lfpt_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, - -stpt_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! fraction of carbohydrate flux to stem -stpt_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, ! one row for each of 8 stages -stpt_s3 = 0.24, 0.2, 0.2, 0.2, 0.2, -stpt_s4 = 0.6, 0.5, 0.5, 0.5, 0.5, -stpt_s5 = 0.0, 0.0, 0.15, 0.15, 0.15, -stpt_s6 = 0.0, 0.0, 0.05, 0.05, 0.05, -stpt_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, -stpt_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, - -rtpt_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! fraction of carbohydrate flux to root -rtpt_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, ! one row for each of 8 stages -rtpt_s3 = 0.4, 0.4, 0.4, 0.4, 0.4, -rtpt_s4 = 0.3, 0.3, 0.3, 0.3, 0.3, -rtpt_s5 = 0.05, 0.05, 0.05, 0.05, 0.05, -rtpt_s6 = 0.0, 0.0, 0.05, 0.05, 0.05, -rtpt_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, -rtpt_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, - -grainpt_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! fraction of carbohydrate flux to grain -grainpt_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, ! one row for each of 8 stages -grainpt_s3 = 0.0, 0.0, 0.0, 0.0, 0.0, -grainpt_s4 = 0.0, 0.0, 0.0, 0.0, 0.0, -grainpt_s5 = 0.95, 0.95, 0.8, 0.8, 0.8, -grainpt_s6 = 1.0, 1.0, 0.9, 0.9, 0.9, -grainpt_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, -grainpt_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, - -lfct_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! carbohydrate translocation -lfct_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, -lfct_s3 = 0.0, 0.0, 0.4, 0.4, 0.4, -lfct_s4 = 0.0, 0.0, 0.3, 0.3, 0.3, -lfct_s5 = 0.0, 0.0, 0.05, 0.05, 0.05, -lfct_s6 = 0.0, 0.0, 0.05, 0.05, 0.05, -lfct_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, -lfct_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, - -stct_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! carbohydrate translocation -stct_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, -stct_s3 = 0.0, 0.0, 0.4, 0.4, 0.4, -stct_s4 = 0.0, 0.0, 0.3, 0.3, 0.3, -stct_s5 = 0.0, 0.0, 0.05, 0.05, 0.05, -stct_s6 = 0.0, 0.0, 0.05, 0.05, 0.05, -stct_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, -stct_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, - -rtct_s1 = 0.0, 0.0, 0.0, 0.0, 0.0, ! carbohydrate translocation -rtct_s2 = 0.0, 0.0, 0.0, 0.0, 0.0, -rtct_s3 = 0.0, 0.0, 0.4, 0.4, 0.4, -rtct_s4 = 0.0, 0.0, 0.3, 0.3, 0.3, -rtct_s5 = 0.0, 0.0, 0.05, 0.05, 0.05, -rtct_s6 = 0.0, 0.0, 0.05, 0.05, 0.05, -rtct_s7 = 0.0, 0.0, 0.0, 0.0, 0.0, -rtct_s8 = 0.0, 0.0, 0.0, 0.0, 0.0, - -bio2lai = 0.015, 0.030, 0.015, 0.015, 0.015, ! leaf are per living leaf biomass [m^2/kg] - -/ - -&noahmp_tiledrain_parameters -!-----------------------------------! -! for simple drainage model ! -!-----------------------------------! -nsoiltype = 19 ! num_soil_types -drain_layer_opt = 4 - ! 0 - from one specified layer by td_depth, - ! 1 - from layers 1 & 2, - ! 2 - from layer layers 1, 2, and 3 - ! 3 - from layer 2 and 3 - ! 4 - from layer layers 3, 4 - ! 5 - from all the four layers -!-------------------------------------------------------------------------------------------------------------------------------------------------------------------- ! -! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ! -!-------------------------------------------------------------------------------------------------------------------------------------------------------------------- ! -tdsmc_fac = 0.90, 0.90, 0.90, 0.90, 0.90, 1.25, 0.90, 1.0, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90, 0.90 ! corresponds to number of soil types soilparam.tbl -td_depth = 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ! depth of drain tube from the soil surface -td_dc = 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20. ! drainage coefficient (mm d^-1) -!-------------------------------------------------------------------------------------------------------------------------------------------------------------------- ! -! -!-------------------------------------! -! for hooghoudt tile drain model ! -!-------------------------------------! -!-------------------------------------------------------------------------------------------------------------------------------------------------------------------- -td_dcoef = 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07 ! m d^-1, drainage coefficent -td_d = 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00 ! m, depth to impe layer from drain water level (d) -td_adepth = 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00 ! m, actual depth of imp layer from land surface -td_radi = 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07, 0.07 ! m, effective radius of drains (ro) -td_spac = 60.0, 55.0, 45.0, 20.0, 25.0, 30.0, 40.0, 16.0, 18.0, 50.0, 15.0, 10.0, 35.0, 10.0, 60.0, 60.0, 10.0, 60.0, 60.0 ! m, distance between two drain tubes or tiles (l) -td_ddrain = 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20, 1.20 ! m, depth of drain -klat_fac = 1.30, 1.80, 2.10, 2.60, 2.90, 2.50, 2.30, 3.00, 2.70, 2.00, 3.10, 3.30, 2.50, 1.00, 1.00, 1.80, 4.00, 1.00, 1.30 ! multiplication factor to lateral hyd.cond -!-------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -/ - -&noahmp_optional_parameters - - !------------------------------------------------------------------------------ - ! saxton and rawls 2006 pedo-transfer function coefficients - !------------------------------------------------------------------------------ - - sr2006_theta_1500t_a = -0.024 ! sand coefficient - sr2006_theta_1500t_b = 0.487 ! clay coefficient - sr2006_theta_1500t_c = 0.006 ! orgm coefficient - sr2006_theta_1500t_d = 0.005 ! sand*orgm coefficient - sr2006_theta_1500t_e = -0.013 ! clay*orgm coefficient - sr2006_theta_1500t_f = 0.068 ! sand*clay coefficient - sr2006_theta_1500t_g = 0.031 ! constant adjustment - - sr2006_theta_1500_a = 0.14 ! theta_1500t coefficient - sr2006_theta_1500_b = -0.02 ! constant adjustment - - sr2006_theta_33t_a = -0.251 ! sand coefficient - sr2006_theta_33t_b = 0.195 ! clay coefficient - sr2006_theta_33t_c = 0.011 ! orgm coefficient - sr2006_theta_33t_d = 0.006 ! sand*orgm coefficient - sr2006_theta_33t_e = -0.027 ! clay*orgm coefficient - sr2006_theta_33t_f = 0.452 ! sand*clay coefficient - sr2006_theta_33t_g = 0.299 ! constant adjustment - - sr2006_theta_33_a = 1.283 ! theta_33t*theta_33t coefficient - sr2006_theta_33_b = -0.374 ! theta_33t coefficient - sr2006_theta_33_c = -0.015 ! constant adjustment - - sr2006_theta_s33t_a = 0.278 ! sand coefficient - sr2006_theta_s33t_b = 0.034 ! clay coefficient - sr2006_theta_s33t_c = 0.022 ! orgm coefficient - sr2006_theta_s33t_d = -0.018 ! sand*orgm coefficient - sr2006_theta_s33t_e = -0.027 ! clay*orgm coefficient - sr2006_theta_s33t_f = -0.584 ! sand*clay coefficient - sr2006_theta_s33t_g = 0.078 ! constant adjustment - - sr2006_theta_s33_a = 0.636 ! theta_s33t coefficient - sr2006_theta_s33_b = -0.107 ! constant adjustment - - sr2006_psi_et_a = -21.67 ! sand coefficient - sr2006_psi_et_b = -27.93 ! clay coefficient - sr2006_psi_et_c = -81.97 ! theta_s33 coefficient - sr2006_psi_et_d = 71.12 ! sand*theta_s33 coefficient - sr2006_psi_et_e = 8.29 ! clay*theta_s33 coefficient - sr2006_psi_et_f = 14.05 ! sand*clay coefficient - sr2006_psi_et_g = 27.16 ! constant adjustment - - sr2006_psi_e_a = 0.02 ! psi_et*psi_et coefficient - sr2006_psi_e_b = -0.113 ! psi_et coefficient - sr2006_psi_e_c = -0.7 ! constant adjustment - - sr2006_smcmax_a = -0.097 ! sand adjustment - sr2006_smcmax_b = 0.043 ! constant adjustment - -/ - -&noahmp_general_parameters - !------------------------------------------------- - ! this part is originally from genparm.tbl - !------------------------------------------------- -slope_data = 0.1, 0.6, 1.0, 0.35, 0.55, 0.8, 0.63, 0.0, 0.0 ! slope factor for soil drainage (9 different slope types) -csoil_data = 2.00e+6 ! soil heat capacity [j m-3 k-1] -refdk_data = 2.0e-6 ! parameter in the surface runoff parameterization -refkdt_data = 3.0 ! parameter in the surface runoff parameterization -frzk_data = 0.15 ! frozen ground parameter -zbot_data = -8.0 ! depth [m] of lower boundary soil temperature -czil_data = 0.1 ! parameter used in the calculation of the roughness length for heat - -/ - -&noahmp_stas_soil_categories - sltype = "stas" ! "stas" or "stas_ruc" - slcats = 19 !num_soil_types -/ - -&noahmp_soil_stas_parameters -! 19 total soil types considered by noahmp -! 1: sand -! 2: loamy sand -! 3: sandy loam -! 4: silt loam -! 5: silt -! 6: loam -! 7: sandy clay loam -! 8: silty clay loam -! 9: clay loam -! 10: sandy clay -! 11: silty clay -! 12: clay -! 13: organic material -! 14: water -! 15: bedrock -! 16: other(land-ice) -! 17: playa -! 18: lava -! 19: white sand -!-------------------------------------------------------------------------------------------------------------------------------------------------------------------- ! -! soil type: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ! -!-------------------------------------------------------------------------------------------------------------------------------------------------------------------- ! - bb = 2.790, 4.260, 4.740, 5.330, 3.860, 5.250, 6.770, 8.720, 8.170, 10.730, 10.390, 11.550, 5.250, 0.000, 2.790, 4.260, 11.550, 2.790, 2.790 - drysmc = 0.010, 0.028, 0.047, 0.084, 0.061, 0.066, 0.069, 0.120, 0.103, 0.100, 0.126, 0.138, 0.066, 0.000, 0.006, 0.028, 0.030, 0.006, 0.010 - maxsmc = 0.339, 0.421, 0.434, 0.476, 0.484, 0.439, 0.404, 0.464, 0.465, 0.406, 0.468, 0.468, 0.439, 1.000, 0.200, 0.421, 0.468, 0.200, 0.339 - refsmc = 0.192, 0.283, 0.312, 0.360, 0.347, 0.329, 0.315, 0.387, 0.382, 0.338, 0.404, 0.412, 0.329, 0.000, 0.170, 0.283, 0.454, 0.170, 0.192 - satpsi = 0.069, 0.036, 0.141, 0.759, 0.955, 0.355, 0.135, 0.617, 0.263, 0.098, 0.324, 0.468, 0.355, 0.000, 0.069, 0.036, 0.468, 0.069, 0.069 - satdk = 4.66e-05, 1.41e-05, 5.23e-06, 2.81e-06, 2.18e-06, 3.38e-06, 4.45e-06, 2.03e-06, 2.45e-06, 7.22e-06, 1.34e-06, 9.74e-07, 3.38e-06, 0.00e+00, 1.41e-04, 1.41e-05, 9.74e-07, 1.41e-04, 4.66e-05 - satdw = 2.65e-05, 5.14e-06, 8.05e-06, 2.39e-05, 1.66e-05, 1.43e-05, 1.01e-05, 2.35e-05, 1.13e-05, 1.87e-05, 9.64e-06, 1.12e-05, 1.43e-05, 0.00e+00, 1.36e-04, 5.14e-06, 1.12e-05, 1.36e-04, 2.65e-05 - wltsmc = 0.010, 0.028, 0.047, 0.084, 0.061, 0.066, 0.069, 0.120, 0.103, 0.100, 0.126, 0.138, 0.066, 0.000, 0.006, 0.028, 0.030, 0.006, 0.010 - qtz = 0.920, 0.820, 0.600, 0.250, 0.100, 0.400, 0.600, 0.100, 0.350, 0.520, 0.100, 0.250, 0.050, 0.600, 0.070, 0.250, 0.600, 0.520, 0.920 - bvic = 0.050, 0.080, 0.090, 0.250, 0.150, 0.180, 0.200, 0.220, 0.230, 0.250, 0.280, 0.300, 0.260, 0.000, 1.000, 1.000, 1.000, 0.350, 0.150 - axaj = 0.009, 0.010, 0.009, 0.010, 0.012, 0.013, 0.014, 0.015, 0.016, 0.015, 0.016, 0.017, 0.012, 0.001, 0.017, 0.017, 0.017, 0.015, 0.009 - bxaj = 0.050, 0.080, 0.090, 0.250, 0.150, 0.180, 0.200, 0.220, 0.230, 0.250, 0.280, 0.300, 0.260, 0.000, 1.000, 1.000, 1.000, 0.350, 0.150 - xxaj = 0.050, 0.080, 0.090, 0.250, 0.150, 0.180, 0.200, 0.220, 0.230, 0.250, 0.280, 0.300, 0.260, 0.000, 1.000, 1.000, 1.000, 0.350, 0.150 - bdvic = 0.050, 0.080, 0.090, 0.250, 0.150, 0.180, 0.200, 0.220, 0.230, 0.250, 0.280, 0.300, 0.260, 0.000, 1.000, 1.000, 1.000, 0.350, 0.150 - bbvic = 1.000, 1.010, 1.020, 1.025, 1.000, 1.000, 1.032, 1.035, 1.040, 1.042, 1.045, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000 - gdvic = 0.050, 0.070, 0.130, 0.200, 0.170, 0.110, 0.260, 0.350, 0.260, 0.300, 0.380, 0.410, 0.500, 0.001, 0.010, 0.001, 0.001, 0.050, 0.020 - -/ - -&noahmp_soil_stas_ruc_parameters -! 19 total soil types considered by noahmp -! 1: sand -! 2: loamy sand -! 3: sandy loam -! 4: silt loam -! 5: silt -! 6: loam -! 7: sandy clay loam -! 8: silty clay loam -! 9: clay loam -! 10: sandy clay -! 11: silty clay -! 12: clay -! 13: organic material -! 14: water -! 15: bedrock -! 16: other(land-ice) -! 17: playa -! 18: lava -! 19: white sand -!-------------------------------------------------------------------------------------------------------------------------------------------------------------------- ! -! soil type: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ! -!-------------------------------------------------------------------------------------------------------------------------------------------------------------------- ! - bb = 4.050, 4.380, 4.900, 5.300, 5.300, 5.390, 7.120, 7.750, 5.390, 10.400, 10.400, 11.400, 5.390, 0.000, 4.050, 4.900, 11.400, 4.050, 4.050 - drysmc = 0.002, 0.035, 0.041, 0.034, 0.034, 0.050, 0.068, 0.060, 0.050, 0.070, 0.070, 0.068, 0.027, 0.000, 0.004, 0.065, 0.030, 0.006, 0.010 - hc = 1.470, 1.410, 1.340, 1.270, 1.270, 1.210, 1.180, 1.320, 1.210, 1.180, 1.150, 1.090, 1.210, 4.180, 2.030, 2.100, 1.410, 1.410, 1.470 - maxsmc = 0.395, 0.410, 0.435, 0.485, 0.485, 0.451, 0.420, 0.477, 0.451, 0.426, 0.492, 0.482, 0.451, 1.000, 0.200, 0.435, 0.468, 0.200, 0.339 - refsmc = 0.174, 0.179, 0.249, 0.369, 0.369, 0.314, 0.299, 0.357, 0.314, 0.316, 0.409, 0.400, 0.314, 1.000, 0.100, 0.249, 0.454, 0.170, 0.236 - satpsi = 0.121, 0.090, 0.218, 0.786, 0.786, 0.478, 0.299, 0.356, 0.478, 0.153, 0.490, 0.405, 0.478, 0.000, 0.121, 0.218, 0.468, 0.069, 0.069 - satdk = 1.76e-04, 1.56e-04, 3.47e-05, 7.20e-06, 7.20e-06, 6.95e-06, 6.30e-06, 1.70e-06, 6.95e-06, 2.17e-06, 1.03e-06, 1.28e-06, 6.95e-06, 0.00e+00, 1.41e-04, 3.47e-05, 9.74e-07, 1.41e-04, 1.76e-04 - satdw = 6.08e-07, 5.14e-06, 8.05e-06, 2.39e-05, 2.39e-05, 1.43e-05, 9.90e-06, 2.37e-05, 1.43e-05, 1.87e-05, 9.64e-06, 1.12e-05, 1.43e-05, 0.00e+00, 1.36e-04, 5.14e-06, 1.12e-05, 1.36e-04, 6.08e-07 - wltsmc = 0.033, 0.055, 0.095, 0.143, 0.143, 0.137, 0.148, 0.170, 0.137, 0.158, 0.190, 0.198, 0.117, 0.000, 0.006, 0.114, 0.030, 0.006, 0.060 - qtz = 0.920, 0.820, 0.600, 0.250, 0.100, 0.400, 0.600, 0.100, 0.400, 0.520, 0.100, 0.250, 0.050, 0.000, 0.600, 0.050, 0.600, 0.520, 0.920 - bvic = 0.050, 0.080, 0.090, 0.100, 0.150, 0.180, 0.200, 0.220, 0.230, 0.250, 0.280, 0.300, 0.260, 0.000, 1.000, 1.000, 1.000, 0.350, 0.150 - axaj = 0.009, 0.010, 0.009, 0.010, 0.012, 0.013, 0.014, 0.015, 0.016, 0.015, 0.016, 0.017, 0.012, 0.001, 0.017, 0.017, 0.017, 0.015, 0.009 - bxaj = 0.050, 0.080, 0.090, 0.250, 0.150, 0.180, 0.200, 0.220, 0.230, 0.250, 0.280, 0.300, 0.260, 0.000, 1.000, 1.000, 1.000, 0.350, 0.150 - xxaj = 0.050, 0.080, 0.090, 0.250, 0.150, 0.180, 0.200, 0.220, 0.230, 0.250, 0.280, 0.300, 0.260, 0.000, 1.000, 1.000, 1.000, 0.350, 0.150 - bdvic = 0.050, 0.080, 0.090, 0.100, 0.150, 0.180, 0.200, 0.220, 0.230, 0.250, 0.280, 0.300, 0.260, 0.000, 1.000, 1.000, 1.000, 0.350, 0.150 - bbvic = 1.000, 1.010, 1.020, 1.025, 1.000, 1.000, 1.032, 1.035, 1.040, 1.042, 1.045, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000 - gdvic = 0.050, 0.070, 0.130, 0.200, 0.170, 0.110, 0.260, 0.350, 0.260, 0.300, 0.380, 0.410, 0.500, 0.001, 0.010, 0.001, 0.001, 0.050, 0.020 - -/ - diff --git a/sorc/link_workflow.sh b/sorc/link_workflow.sh index b5f54013bd..b88fd664e2 100755 --- a/sorc/link_workflow.sh +++ b/sorc/link_workflow.sh @@ -131,10 +131,6 @@ fi #--------------------------------------- #--add files from external repositories #--------------------------------------- -#--copy/link NoahMp table form ccpp-physics repository -cd "${HOMEgfs}/parm/ufs/land" || exit 1 - ${LINK_OR_COPY} "${HOMEgfs}/sorc/ufs_model.fd/FV3/ccpp/physics/physics/noahmptable.tbl" . - cd "${HOMEgfs}/parm/post" || exit 1 for file in postxconfig-NT-GEFS-ANL.txt postxconfig-NT-GEFS-F00.txt postxconfig-NT-GEFS.txt postxconfig-NT-GFS-ANL.txt \ postxconfig-NT-GFS-F00-TWO.txt postxconfig-NT-GFS-F00.txt postxconfig-NT-GFS-FLUX-F00.txt postxconfig-NT-GFS-FLUX.txt \ diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh index d1088c8b80..9d24c1ddd3 100755 --- a/ush/forecast_postdet.sh +++ b/ush/forecast_postdet.sh @@ -192,7 +192,14 @@ EOF fi # NoahMP table - ${NLN} "${HOMEgfs}/parm/ufs/land/noahmptable.tbl" "${DATA}/noahmptable.tbl" + local noahmptablefile="${HOMEgfs}/sorc/ufs_model.fd/FV3/ccpp/physics/physics/noahmptable.tbl" + if [[ ! -f ${noahmptablefile} ]]; then + echo "ERROR: missing noahmp table file ${noahmptablefile}" + echo "Abort!" + exit 1 + else + ${NLN} "${noahmptablefile}" "${DATA}/noahmptable.tbl" + fi # Files for GWD OROFIX_ugwd=${OROFIX_ugwd:-"${FIX_DIR}/ugwd"} From 860b990082c68a953bda58616dc83be94a7bcd0e Mon Sep 17 00:00:00 2001 From: Helin Wei Date: Sat, 22 Jul 2023 07:32:18 -0500 Subject: [PATCH 07/13] modification based on Walter's comments --- sorc/checkout.sh | 2 +- sorc/link_workflow.sh | 4 ++++ ush/forecast_postdet.sh | 5 ++--- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/sorc/checkout.sh b/sorc/checkout.sh index 9cf1dde20b..6533bf6d68 100755 --- a/sorc/checkout.sh +++ b/sorc/checkout.sh @@ -152,7 +152,7 @@ errs=0 checkout "wxflow" "https://github.com/NOAA-EMC/wxflow" "528f5ab" ; errs=$((errs + $?)) checkout "gfs_utils.fd" "https://github.com/NOAA-EMC/gfs-utils" "8965258" ; errs=$((errs + $?)) checkout "ufs_utils.fd" "https://github.com/ufs-community/UFS_UTILS.git" "72a0471" ; errs=$((errs + $?)) -checkout "ufs_model.fd" "https://github.com/ufs-community/ufs-weather-model" "${ufs_model_hash:-bf60924}" ; errs=$((errs + $?)) +checkout "ufs_model.fd" "https://github.com/ufs-community/ufs-weather-model" "${ufs_model_hash:-a2088bf}" ; errs=$((errs + $?)) checkout "verif-global.fd" "https://github.com/NOAA-EMC/EMC_verif-global.git" "c267780" ; errs=$((errs + $?)) if [[ ${checkout_gsi} == "YES" ]]; then diff --git a/sorc/link_workflow.sh b/sorc/link_workflow.sh index b88fd664e2..202624bf08 100755 --- a/sorc/link_workflow.sh +++ b/sorc/link_workflow.sh @@ -131,6 +131,10 @@ fi #--------------------------------------- #--add files from external repositories #--------------------------------------- +#--copy/link NoahMp table form ccpp-physics repository +cd "${HOMEgfs}/parm/ufs" || exit 1 + ${LINK_OR_COPY} "${HOMEgfs}/sorc/ufs_model.fd/FV3/ccpp/physics/physics/noahmptable.tbl" . + cd "${HOMEgfs}/parm/post" || exit 1 for file in postxconfig-NT-GEFS-ANL.txt postxconfig-NT-GEFS-F00.txt postxconfig-NT-GEFS.txt postxconfig-NT-GFS-ANL.txt \ postxconfig-NT-GFS-F00-TWO.txt postxconfig-NT-GFS-F00.txt postxconfig-NT-GFS-FLUX-F00.txt postxconfig-NT-GFS-FLUX.txt \ diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh index 9d24c1ddd3..574ae74e71 100755 --- a/ush/forecast_postdet.sh +++ b/ush/forecast_postdet.sh @@ -192,10 +192,9 @@ EOF fi # NoahMP table - local noahmptablefile="${HOMEgfs}/sorc/ufs_model.fd/FV3/ccpp/physics/physics/noahmptable.tbl" + local noahmptablefile="${HOMEgfs}/parm/ufs/noahmptable.tbl" if [[ ! -f ${noahmptablefile} ]]; then - echo "ERROR: missing noahmp table file ${noahmptablefile}" - echo "Abort!" + echo "FATAL ERROR: missing noahmp table file ${noahmptablefile}" exit 1 else ${NLN} "${noahmptablefile}" "${DATA}/noahmptable.tbl" From 1723679dcab6d016746afe7034b9fb1fe357eeae Mon Sep 17 00:00:00 2001 From: HelinWei-NOAA <48133472+HelinWei-NOAA@users.noreply.github.com> Date: Mon, 24 Jul 2023 08:25:36 -0400 Subject: [PATCH 08/13] Update ush/forecast_postdet.sh Co-authored-by: Walter Kolczynski - NOAA --- ush/forecast_postdet.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh index 574ae74e71..03990dfc9b 100755 --- a/ush/forecast_postdet.sh +++ b/ush/forecast_postdet.sh @@ -191,14 +191,14 @@ EOF IEMS=${IEMS:-1} fi -# NoahMP table - local noahmptablefile="${HOMEgfs}/parm/ufs/noahmptable.tbl" - if [[ ! -f ${noahmptablefile} ]]; then - echo "FATAL ERROR: missing noahmp table file ${noahmptablefile}" - exit 1 - else - ${NLN} "${noahmptablefile}" "${DATA}/noahmptable.tbl" - fi + # NoahMP table + local noahmptablefile="${HOMEgfs}/parm/ufs/noahmptable.tbl" + if [[ ! -f ${noahmptablefile} ]]; then + echo "FATAL ERROR: missing noahmp table file ${noahmptablefile}" + exit 1 + else + ${NLN} "${noahmptablefile}" "${DATA}/noahmptable.tbl" + fi # Files for GWD OROFIX_ugwd=${OROFIX_ugwd:-"${FIX_DIR}/ugwd"} From 830262a7e9f8c65fea65cbced503ce042f2c9413 Mon Sep 17 00:00:00 2001 From: HelinWei-NOAA <48133472+HelinWei-NOAA@users.noreply.github.com> Date: Mon, 24 Jul 2023 08:26:58 -0400 Subject: [PATCH 09/13] Update Externals.cfg --- Externals.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals.cfg b/Externals.cfg index bf67375691..4b2a62930b 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -8,7 +8,7 @@ protocol = git required = True [UFS] -tag = bf60924 +tag = a2088bf local_path = sorc/ufs_model.fd repo_url = https://github.com/ufs-community/ufs-weather-model.git protocol = git From fc4ef6e6900253832408c36a08d4a3b137f82a9f Mon Sep 17 00:00:00 2001 From: Rahul Mahajan Date: Mon, 24 Jul 2023 13:56:17 -0600 Subject: [PATCH 10/13] Update sorc/link_workflow.sh --- sorc/link_workflow.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/link_workflow.sh b/sorc/link_workflow.sh index 202624bf08..30caa50ce9 100755 --- a/sorc/link_workflow.sh +++ b/sorc/link_workflow.sh @@ -133,7 +133,7 @@ fi #--------------------------------------- #--copy/link NoahMp table form ccpp-physics repository cd "${HOMEgfs}/parm/ufs" || exit 1 - ${LINK_OR_COPY} "${HOMEgfs}/sorc/ufs_model.fd/FV3/ccpp/physics/physics/noahmptable.tbl" . +${LINK_OR_COPY} "${HOMEgfs}/sorc/ufs_model.fd/FV3/ccpp/physics/physics/noahmptable.tbl" . cd "${HOMEgfs}/parm/post" || exit 1 for file in postxconfig-NT-GEFS-ANL.txt postxconfig-NT-GEFS-F00.txt postxconfig-NT-GEFS.txt postxconfig-NT-GFS-ANL.txt \ From 5c34fd9eed8356907127df0518c6d6e430d4a48a Mon Sep 17 00:00:00 2001 From: Helin Wei Date: Mon, 24 Jul 2023 15:38:18 -0500 Subject: [PATCH 11/13] update ufs_model hash and suite list --- Externals.cfg | 2 +- sorc/build_ufs.sh | 2 +- sorc/checkout.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index 4b2a62930b..95c165b357 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -8,7 +8,7 @@ protocol = git required = True [UFS] -tag = a2088bf +tag = 4d05445 local_path = sorc/ufs_model.fd repo_url = https://github.com/ufs-community/ufs-weather-model.git protocol = git diff --git a/sorc/build_ufs.sh b/sorc/build_ufs.sh index ae1a5474eb..aa7183c006 100755 --- a/sorc/build_ufs.sh +++ b/sorc/build_ufs.sh @@ -5,7 +5,7 @@ cwd=$(pwd) # Default settings APP="S2SWA" -CCPP_SUITES="FV3_GFS_v16,FV3_GFS_v16_no_nsst,FV3_GFS_v16_ugwpv1,FV3_GFS_v17_p8,FV3_GFS_v16_coupled_nsstNoahmpUGWPv1,FV3_GFS_v17_coupled_p8" # TODO: does the g-w need to build with all these CCPP_SUITES? +CCPP_SUITES="FV3_GFS_v17_p8,FV3_GFS_v17_coupled_p8" # TODO: does the g-w need to build with all these CCPP_SUITES? while getopts ":da:v" option; do case "${option}" in diff --git a/sorc/checkout.sh b/sorc/checkout.sh index 6533bf6d68..3f5d6d4f5f 100755 --- a/sorc/checkout.sh +++ b/sorc/checkout.sh @@ -152,7 +152,7 @@ errs=0 checkout "wxflow" "https://github.com/NOAA-EMC/wxflow" "528f5ab" ; errs=$((errs + $?)) checkout "gfs_utils.fd" "https://github.com/NOAA-EMC/gfs-utils" "8965258" ; errs=$((errs + $?)) checkout "ufs_utils.fd" "https://github.com/ufs-community/UFS_UTILS.git" "72a0471" ; errs=$((errs + $?)) -checkout "ufs_model.fd" "https://github.com/ufs-community/ufs-weather-model" "${ufs_model_hash:-a2088bf}" ; errs=$((errs + $?)) +checkout "ufs_model.fd" "https://github.com/ufs-community/ufs-weather-model" "${ufs_model_hash:-4d05445}" ; errs=$((errs + $?)) checkout "verif-global.fd" "https://github.com/NOAA-EMC/EMC_verif-global.git" "c267780" ; errs=$((errs + $?)) if [[ ${checkout_gsi} == "YES" ]]; then From 30cff531fd38698e17286a64603c34ac1f8fdfe4 Mon Sep 17 00:00:00 2001 From: Helin Wei Date: Mon, 24 Jul 2023 17:16:13 -0500 Subject: [PATCH 12/13] update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 3abc6e6449..c2e98c210d 100644 --- a/.gitignore +++ b/.gitignore @@ -91,6 +91,7 @@ parm/post/postxconfig-NT-GFS-WAFS.txt parm/post/postxconfig-NT-GFS.txt parm/post/postxconfig-NT-gefs-aerosol.txt parm/post/postxconfig-NT-gefs-chem.txt +parm/ufs/noahmptable.tbl parm/wafs # Ignore sorc and logs folders from externals From 5579d117abb5c6fcfdd7e5c8cc55d53c53d16319 Mon Sep 17 00:00:00 2001 From: "Walter.Kolczynski" Date: Wed, 26 Jul 2023 15:40:01 -0500 Subject: [PATCH 13/13] Add mask resolution to sfc fix file names The newest version of the surface fix files includes the mask resolution (`mx.###`) in the file name. This brings them in line with other non-sfc fix files that already include the mask in their filename. Refs #1697 --- parm/ufs/fix/gfs/land.fixed_files.yaml | 96 +++++++++++++------------- ush/forecast_postdet.sh | 22 +++--- 2 files changed, 59 insertions(+), 59 deletions(-) diff --git a/parm/ufs/fix/gfs/land.fixed_files.yaml b/parm/ufs/fix/gfs/land.fixed_files.yaml index d1f9db81dd..d98d66df45 100644 --- a/parm/ufs/fix/gfs/land.fixed_files.yaml +++ b/parm/ufs/fix/gfs/land.fixed_files.yaml @@ -1,58 +1,58 @@ copy: # Files from FIX_orog/C??.mx??_frac/sfc - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).facsf.tile1.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).facsf.tile2.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).facsf.tile3.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).facsf.tile4.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).facsf.tile5.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).facsf.tile6.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).facsf.tile1.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).facsf.tile2.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).facsf.tile3.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).facsf.tile4.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).facsf.tile5.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).facsf.tile6.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).maximum_snow_albedo.tile1.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).maximum_snow_albedo.tile2.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).maximum_snow_albedo.tile3.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).maximum_snow_albedo.tile4.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).maximum_snow_albedo.tile5.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).maximum_snow_albedo.tile6.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).maximum_snow_albedo.tile1.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).maximum_snow_albedo.tile2.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).maximum_snow_albedo.tile3.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).maximum_snow_albedo.tile4.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).maximum_snow_albedo.tile5.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).maximum_snow_albedo.tile6.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).slope_type.tile1.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).slope_type.tile2.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).slope_type.tile3.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).slope_type.tile4.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).slope_type.tile5.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).slope_type.tile6.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).slope_type.tile1.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).slope_type.tile2.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).slope_type.tile3.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).slope_type.tile4.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).slope_type.tile5.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).slope_type.tile6.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).snowfree_albedo.tile1.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).snowfree_albedo.tile2.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).snowfree_albedo.tile3.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).snowfree_albedo.tile4.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).snowfree_albedo.tile5.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).snowfree_albedo.tile6.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).snowfree_albedo.tile1.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).snowfree_albedo.tile2.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).snowfree_albedo.tile3.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).snowfree_albedo.tile4.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).snowfree_albedo.tile5.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).snowfree_albedo.tile6.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).soil_type.tile1.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).soil_type.tile2.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).soil_type.tile3.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).soil_type.tile4.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).soil_type.tile5.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).soil_type.tile6.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).soil_type.tile1.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).soil_type.tile2.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).soil_type.tile3.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).soil_type.tile4.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).soil_type.tile5.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).soil_type.tile6.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).substrate_temperature.tile1.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).substrate_temperature.tile2.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).substrate_temperature.tile3.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).substrate_temperature.tile4.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).substrate_temperature.tile5.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).substrate_temperature.tile6.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).substrate_temperature.tile1.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).substrate_temperature.tile2.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).substrate_temperature.tile3.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).substrate_temperature.tile4.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).substrate_temperature.tile5.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).substrate_temperature.tile6.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_greenness.tile1.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_greenness.tile2.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_greenness.tile3.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_greenness.tile4.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_greenness.tile5.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_greenness.tile6.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).vegetation_greenness.tile1.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).vegetation_greenness.tile2.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).vegetation_greenness.tile3.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).vegetation_greenness.tile4.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).vegetation_greenness.tile5.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).vegetation_greenness.tile6.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_type.tile1.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_type.tile2.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_type.tile3.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_type.tile4.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_type.tile5.nc, $(DATA)/] - - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).vegetation_type.tile6.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).vegetation_type.tile1.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).vegetation_type.tile2.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).vegetation_type.tile3.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).vegetation_type.tile4.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).vegetation_type.tile5.nc, $(DATA)/] + - [$(FIX_orog)/$(atm_res).mx$(ocn_res)_frac/sfc/$(atm_res).mx$(ocn_res).vegetation_type.tile6.nc, $(DATA)/] diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh index 03990dfc9b..b9a2dbd3f3 100755 --- a/ush/forecast_postdet.sh +++ b/ush/forecast_postdet.sh @@ -303,18 +303,18 @@ EOF FNSNOC=${FNSNOC:-"${FIX_DIR}/am/global_snoclim.1.875.grb"} FNZORC=${FNZORC:-"igbp"} FNAISC=${FNAISC:-"${FIX_DIR}/am/IMS-NIC.blended.ice.monthly.clim.grb"} - FNALBC2=${FNALBC2:-"${FIX_SFC}/${CASE}.facsf.tileX.nc"} - FNTG3C=${FNTG3C:-"${FIX_SFC}/${CASE}.substrate_temperature.tileX.nc"} - FNVEGC=${FNVEGC:-"${FIX_SFC}/${CASE}.vegetation_greenness.tileX.nc"} + FNALBC2=${FNALBC2:-"${FIX_SFC}/${CASE}.mx${OCNRES}.facsf.tileX.nc"} + FNTG3C=${FNTG3C:-"${FIX_SFC}/${CASE}.mx${OCNRES}.substrate_temperature.tileX.nc"} + FNVEGC=${FNVEGC:-"${FIX_SFC}/${CASE}.mx${OCNRES}.vegetation_greenness.tileX.nc"} FNMSKH=${FNMSKH:-"${FIX_DIR}/am/global_slmask.t1534.3072.1536.grb"} - FNVMNC=${FNVMNC:-"${FIX_SFC}/${CASE}.vegetation_greenness.tileX.nc"} - FNVMXC=${FNVMXC:-"${FIX_SFC}/${CASE}.vegetation_greenness.tileX.nc"} - FNSLPC=${FNSLPC:-"${FIX_SFC}/${CASE}.slope_type.tileX.nc"} - FNALBC=${FNALBC:-"${FIX_SFC}/${CASE}.snowfree_albedo.tileX.nc"} - FNVETC=${FNVETC:-"${FIX_SFC}/${CASE}.vegetation_type.tileX.nc"} - FNSOTC=${FNSOTC:-"${FIX_SFC}/${CASE}.soil_type.tileX.nc"} - FNSOCC=${FNSOCC:-"${FIX_SFC}/${CASE}.soil_color.tileX.nc"} - FNABSC=${FNABSC:-"${FIX_SFC}/${CASE}.maximum_snow_albedo.tileX.nc"} + FNVMNC=${FNVMNC:-"${FIX_SFC}/${CASE}.mx${OCNRES}.vegetation_greenness.tileX.nc"} + FNVMXC=${FNVMXC:-"${FIX_SFC}/${CASE}.mx${OCNRES}.vegetation_greenness.tileX.nc"} + FNSLPC=${FNSLPC:-"${FIX_SFC}/${CASE}.mx${OCNRES}.slope_type.tileX.nc"} + FNALBC=${FNALBC:-"${FIX_SFC}/${CASE}.mx${OCNRES}.snowfree_albedo.tileX.nc"} + FNVETC=${FNVETC:-"${FIX_SFC}/${CASE}.mx${OCNRES}.vegetation_type.tileX.nc"} + FNSOTC=${FNSOTC:-"${FIX_SFC}/${CASE}.mx${OCNRES}.soil_type.tileX.nc"} + FNSOCC=${FNSOCC:-"${FIX_SFC}/${CASE}.mx${OCNRES}.soil_color.tileX.nc"} + FNABSC=${FNABSC:-"${FIX_SFC}/${CASE}.mx${OCNRES}.maximum_snow_albedo.tileX.nc"} FNSMCC=${FNSMCC:-"${FIX_DIR}/am/global_soilmgldas.statsgo.t${JCAP}.${LONB}.${LATB}.grb"} # If the appropriate resolution fix file is not present, use the highest resolution available (T1534)