Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Update free forecast EXPDIR setup for coupled model #376

Merged
Show file tree
Hide file tree
Changes from 29 commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
a0d4416
Merge in feature/coupled-crow wave and IC config settings
KateFriedman-NOAA Jul 23, 2021
9b052b9
Add new coupled jobs to config.resources
KateFriedman-NOAA Jul 23, 2021
eea9ccd
Merge in feature/coupled-crow config.fcst settings
KateFriedman-NOAA Jul 23, 2021
8b08f4c
Merge in feature/coupled-crow config.base.emc.dyn settings
KateFriedman-NOAA Jul 23, 2021
54a94d4
Add new config.ocnpost
KateFriedman-NOAA Jul 23, 2021
af8f2c1
Adjust permission settings on new config.ocnpost to match other configs
KateFriedman-NOAA Jul 23, 2021
0f3d918
config.fcst updates
KateFriedman-NOAA Jul 23, 2021
f4dab15
config.base updates
KateFriedman-NOAA Jul 23, 2021
10ebc91
Add missing E in DO_CICE variable
KateFriedman-NOAA Jul 26, 2021
b851f87
Add init_chem and mom6ic to job list in config.resources
KateFriedman-NOAA Jul 26, 2021
b7f2286
Retain develop branch setting for WAV_CUR_CDO_SMOOTH (=NO)
KateFriedman-NOAA Jul 26, 2021
4ff10f2
Removing setup_expt_coupled.py - not needed
KateFriedman-NOAA Jul 26, 2021
a78e6f8
Update parm/config/config.base.emc.dyn
KateFriedman-NOAA Jul 26, 2021
ec67e95
Update parm/config/config.base.emc.dyn
KateFriedman-NOAA Jul 26, 2021
dccddf0
Turn off stocastic physics switches in config.fcst
KateFriedman-NOAA Jul 26, 2021
b8de4e0
Change cplgocart variable to DO_GOCART in config.fcst
KateFriedman-NOAA Jul 26, 2021
2ae4bc5
Remove cplwav2atm=.true. from DO_WAVE=YES if-block override
KateFriedman-NOAA Jul 26, 2021
b0a9f22
Revert waveinit walltime back to 10 mins from 15 mins
KateFriedman-NOAA Jul 26, 2021
beb3baf
Move print_esmf and esmf_profile variables from config.base to config…
KateFriedman-NOAA Jul 26, 2021
480e223
Removed nth_remap=2 setting from config.fcst
KateFriedman-NOAA Jul 26, 2021
877a2bf
Adjusted config.wave and config.waveprep settings based on feedback
KateFriedman-NOAA Jul 26, 2021
628ee96
Removed ncks setting in config.ocnpost, will be handled via modules
KateFriedman-NOAA Jul 28, 2021
5d5127e
Multiple updates for config.fcst for variable definitions
KateFriedman-NOAA Jul 28, 2021
5758690
Multiple updates for config.fcst for variable definitions
KateFriedman-NOAA Jul 28, 2021
a6259da
Rename several DO_* variables in config.base
KateFriedman-NOAA Jul 28, 2021
7eec87c
Rework cpl* variable settings based on updated DO_* variables
KateFriedman-NOAA Jul 28, 2021
6c6e88e
Add additional platform BASE_CPLIC paths
KateFriedman-NOAA Jul 28, 2021
06a61a4
Reverting resource adjustments for waveprep and wavepostbndpnt jobs
KateFriedman-NOAA Jul 29, 2021
7c51cd9
Updates to config.base for WAVE_CDUMP and nems_temp variables
KateFriedman-NOAA Jul 29, 2021
0553116
Add ATM to APP case block
KateFriedman-NOAA Jul 29, 2021
be40e27
Update parm/config/config.fcst
KateFriedman-NOAA Jul 29, 2021
84d5ea1
Merge branch 'NOAA-EMC:feature/coupled_sprint' into feature/coupled_s…
KateFriedman-NOAA Jul 30, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 58 additions & 8 deletions parm/config/config.base.emc.dyn
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@ export UTILgfs=$HOMEgfs/util
export EXECgfs=$HOMEgfs/exec
export SCRgfs=$HOMEgfs/scripts

export FIXcice=$HOMEgfs/fix/fix_cice
export FIXmom=$HOMEgfs/fix/fix_mom6
export FIXreg2grb2=$HOMEgfs/fix/fix_reg2grb2

########################################################################

# GLOBAL static environment parameters
Expand Down Expand Up @@ -143,10 +147,8 @@ export OPS_RES="C768" # Do not change
export LEVS=128
export CASE="@CASECTL@"
export CASE_ENKF="@CASEENS@"

# Run with CCPP physics
export RUN_CCPP="YES"
export CCPP_SUITE="FV3_GFS_v16"
export ICERES=025
export OCNRES=025

# Surface cycle update frequency
if [[ "$CDUMP" == "gdas" ]] ; then
Expand Down Expand Up @@ -179,12 +181,13 @@ export FHMAX_GFS=$(eval echo \${FHMAX_GFS_$cyc})
export FHOUT_GFS=3
export FHMAX_HF_GFS=0
export FHOUT_HF_GFS=1
export FHRLST="[0, 6, 12, 18, 24, 30, 36, 42, 48]"
export STEP_GFS="24"
export ILPOST=1 # gempak output frequency up to F120

# GFS restart interval in hours
export restart_interval_gfs=0


# I/O QUILTING, true--use Write Component; false--use GFDL FMS
# if quilting=true, choose OUTPUT_GRID as cubed_sphere_grid in netcdf or gaussian_grid
# if gaussian_grid, set OUTPUT_FILE for nemsio or netcdf
Expand Down Expand Up @@ -227,10 +230,57 @@ export lobsdiag_forenkf=".true."
export DO_GLDAS="YES"
export gldas_cyc=00

# run wave component
# APP settings
export APP="ATM"
KateFriedman-NOAA marked this conversation as resolved.
Show resolved Hide resolved

# Defaults:
export DO_COUPLED="NO"
export DO_WAVE="NO"
if [[ "$SDATE" -lt "2019020100" ]]; then DO_WAVE="NO" ; fi # no rtofs in GDA
export WAVE_CDUMP="both"
export DO_OCN="NO"
export DO_ICE="NO"
export DO_AERO="NO"
export CCPP_SUITES="FV3_GFS_v16,FV3_GFS_v16_ugwpv1"
export WAVE_CDUMP="" # When to include wave suite: gdas, gfs, or both
export nems_temp="atm" # For APP=ATM

case "${APP}" in
ATMW)
export DO_COUPLED="YES"
export DO_WAVE="YES"
export WAVE_CDUMP="both"
export nems_temp="leapfrog_atm_wav"
;;
S2S)
export DO_COUPLED="YES"
export DO_OCN="YES"
export DO_ICE="YES"
export CCPP_SUITES="FV3_GFS_v16,FV3_GFS_v16_coupled_nsstNoahmpUGWPv1"
export nems_temp="cpld"
;;
S2SW)
export DO_COUPLED="YES"
export DO_WAVE="YES"
export DO_OCN="YES"
export DO_ICE="YES"
export CCPP_SUITES="FV3_GFS_v16,FV3_GFS_v16_coupled_nsstNoahmpUGWPv1"
export WAVE_CDUMP="both"
export nems_temp="cpld_wave"
;;
ATMAERO)
export DO_COUPLED="YES"
export DO_AERO="YES"
export nems_temp="atm_aer"
;;
*)
echo "Unrecognized APP: ${1}"
exit 1
;;
esac

if [[ "$SDATE" -lt "2019020100" ]]; then # no rtofs in GDA
export DO_WAVE="NO"
echo "WARNING: Wave suite turned off due to lack of RTOFS in GDA for SDATE"
fi

# Microphysics Options: 99-ZhaoCarr, 8-Thompson; 6-WSM6, 10-MG, 11-GFDL
export imp_physics=11
Expand Down
142 changes: 104 additions & 38 deletions parm/config/config.fcst
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,59 @@ if [ $DONST = "YES" ]; then
. $EXPDIR/config.nsst
fi

export print_esmf=".false."
export esmf_profile=".false."

#######################################################################
# COUPLING COMPONENTS
export OCN_model="mom6"
export ICE_model="cice6"
export WAV_model="ww3"
export CHM_model="gsdchem"

# cpl defaults

export cpl=".false."
export cplflx=".false."
export cplice=".false."
export cplgocart=".false."
export cplwav=".false."
export cplwav2atm=".false."

# cpl changes based on APP

if [ $DO_COUPLED = "YES" ]; then
export cpl=".true."
fi
if [ $DO_AERO = "YES" ]; then
export cplgocart=".true."
fi
if [ $DO_ICE = "YES" ]; then
export cplice=".true."
fi
if [ $DO_OCN = "YES" -o $DO_ICE = "YES" ]; then
export cplflx=".true."
fi
if [ $DO_WAVE = "YES" ]; then
export cplwav=".true."
fi

#######################################################################
# COUPLING COMPONENTS
export use_coldstart=".false."

#######################################################################
# CICE parameters
export NX_GLB="1440"
export NY_GLB="1080"
export MESHICE="mesh.mx025.nc"

#######################################################################

export FORECASTSH="$HOMEgfs/scripts/exglobal_forecast.sh"
export FCSTEXECDIR="$HOMEgfs/exec"
export FCSTEXEC="global_fv3gfs.x"
export FCSTEXEC="ufs_model"

export npe_fv3=$npe_fcst

if [[ "$CDUMP" == "gfs" ]] ; then
Expand All @@ -30,19 +80,30 @@ if [[ "$CDUMP" == "gfs" ]] ; then
fi

if [ $QUILTING = ".true." ]; then
export npe_fv3=$(echo " $npe_fv3 + $WRITE_GROUP * $WRTTASK_PER_GROUP" | bc)
export npe_fcst=$npe_fv3
export npe_fcst_gfs=$(echo " $npe_fcst_gfs + $WRITE_GROUP_GFS * $WRTTASK_PER_GROUP_GFS" | bc)
export npe_fv3=$(echo " $npe_fv3 + $WRITE_GROUP * $WRTTASK_PER_GROUP" | bc)
export npe_fcst=$npe_fv3
export npe_fcst_gfs=$(echo " $npe_fcst_gfs + $WRITE_GROUP_GFS * $WRTTASK_PER_GROUP_GFS" | bc)
export ATMPETS=$(echo " $layout_x * $layout_y * 6 + $WRITE_GROUP * $WRTTASK_PER_GROUP" | bc)
else
export ATMPETS=$(echo " $layout_x * $layout_y * 6" |bc)
fi

if [ $DO_WAVE = "YES" ] ; then
export npe_fcst=$((npe_fcst + npe_wav))
if [ "$WAVE_CDUMP" = "gfs" -o "$WAVE_CDUMP" = "both" ]; then
export npe_fcst_gfs=$((npe_fcst_gfs + npe_wav_gfs))
if [ "$CDUMP" = "gfs" ]; then npe_wav=$npe_wav_gfs ; fi
export npe_fcst_gfs=$((npe_fcst_gfs + npe_wav_gfs))
if [ "$CDUMP" = "gfs" ]; then npe_wav=$npe_wav_gfs ; fi
fi
fi

# Additional PE Mapping
export MEDPETS=$(echo " $layout_x * $layout_y * 6" |bc)
export OCNPETS="220"
export ICEPETS="80"
export WAVPETS="160"
export CHMPETS="1700"

#######################################################################
# Model configuration
export TYPE="nh"
export MONO="non-mono"
Expand All @@ -59,16 +120,18 @@ export do_ugwp=".false."
export do_tofd=".true."
export launch_level=$(echo "$LEVS/2.35" |bc)

export n_sponge=42
export d2_bg_k1=0.20
export d2_bg_k2=0.04

# Sponge layer settings for L127
# Sponge layer settings
export tau=10.0
export rf_cutoff=7.5e2
export d2_bg_k1=0.20
export d2_bg_k2=0.04
export dz_min=2
export n_sponge=42
if [ $LEVS = "128" -a "$CDUMP" = "gdas" ]; then
export tau=5.0
export rf_cutoff=1.0e3
export d2_bg_k1=0.20
export d2_bg_k2=0.0
export tau=5.0
export rf_cutoff=1.0e3
export d2_bg_k1=0.20
export d2_bg_k2=0.0
fi

# PBL/turbulance schemes
Expand All @@ -94,7 +157,13 @@ export iovr_lw=3 ;#de-correlation length cloud overlap method (Barker, 2008)
export iovr_sw=3 ;#de-correlation length cloud overlap method (Barker, 2008)
export iovr=3 ;#de-correlation length cloud overlap method (Barker, 2008)
export icliq_sw=2 ;#cloud optical coeffs from AER's newer version v3.9-v4.0 for hu and stamnes
export isubc_sw=2
export isubc_lw=2

export IALB=1
export IEMS=1
export ISOL=2
export ICO2=2

# Microphysics configuration
export dnats=0
Expand Down Expand Up @@ -133,13 +202,24 @@ elif [ $imp_physics -eq 11 ]; then # GFDL
export hord_xx_nh_nonmono=5
export vtdm4_nh_nonmono=0.02
export nord=2
export dddmp=0.1
export d4_bg=0.12
export dddmp=0.1

else
echo "Unknown microphysics option, ABORT!"

fi

#coupling settings
export FRAC_GRID=".true."
export cplmode="nems_frac"
export psm_bc="1"

export min_lakeice="0.15"
export min_seaice="1e-11"

export FSICL="99999"

#---------------------------------------------------------------------

# ideflate: netcdf zlib lossless compression (0-9): 0 no compression
Expand Down Expand Up @@ -186,7 +266,6 @@ if [[ "$CDUMP" == "gdas" ]] ; then # GDAS cycle specific parameters

# Variables used in DA cycling
if [ $QUILTING = ".true." -a $OUTPUT_GRID = "gaussian_grid" ]; then
##export DIAG_TABLE="$HOMEgfs/parm/parm_fv3diag/diag_table_da"
export DIAG_TABLE="$HOMEgfs/parm/parm_fv3diag/diag_table_aod"
else
export DIAG_TABLE="$HOMEgfs/parm/parm_fv3diag/diag_table_da_orig"
Expand Down Expand Up @@ -255,31 +334,18 @@ elif [[ "$CDUMP" == "gfs" ]] ; then # GFS cycle specific parameters
export io_layout="1,1"
fi


fi

## Debug load balancing
# export KEEPDATA="YES"
# export ESMF_RUNTIME_PROFILE=ON
# export ESMF_RUNTIME_PROFILE_OUTPUT=SUMMARY


# Regrid tiles to global Gaussian grid in NEMSIO
export REGRID_NEMSIO_SH="$HOMEgfs/ush/fv3gfs_regrid_nemsio.sh"
if [ $DONST = YES ]; then
export REGRID_NEMSIO_TBL="$HOMEgfs/parm/parm_fv3diag/variable_table_da.txt"
else
export REGRID_NEMSIO_TBL="$HOMEgfs/parm/parm_fv3diag/variable_table_da_nonsst.txt"
if [ $DO_AERO = "YES" ]; then # temporary settings for aerosol coupling
export DIAG_TABLE="$HOMEgfs/parm/parm_fv3diag/diag_table_aer"
export FIELD_TABLE="$HOMEgfs/parm/parm_fv3diag/field_table_aer"
export CHM_CFGDIR="not_set"
export CHM_INPDIR="not_set"
export dnats="$(( $dnats + 0 ))"
elif [[ $DO_COUPLED == "YES" ]] ; then # coupled model
KateFriedman-NOAA marked this conversation as resolved.
Show resolved Hide resolved
export DIAG_TABLE="$HOMEgfs/parm/parm_fv3diag/diag_table_cpl"
fi

# Remap tiles to global latlon grid in NetCDF
export REMAPSH="$HOMEgfs/ush/fv3gfs_remap.sh"
export master_grid="0p25deg" # 1deg 0p5deg 0p25deg 0p125deg etc
export npe_remap=$((npe_fcst < 240 ? npe_fcst : 240))

# Global latlon NetCDF to nemsio utility parameters
export NC2NEMSIOSH="$HOMEgfs/ush/fv3gfs_nc2nemsio.sh"

# Remember config.efcs will over-ride these values for ensemble forecasts
# if these variables are re-defined there.
# Otherwise, the ensemble forecast will inherit from config.fcst
Expand Down
24 changes: 13 additions & 11 deletions parm/config/config.fv3ic
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
#!/bin/ksh -x

########## config.fv3ic ##########
# Convert GFS initial conditions into FV3 initial conditions

echo "BEGIN: config.fv3ic"

# Task and thread configuration
export wtime_fv3ic="00:30:00"
export npe_fv3ic=1
export npe_node_fv3ic=1
export nth_fv3ic=${NTHREADS_CHGRES:-24}
if [ $machine = HERA ]; then
export npe_fv3ic=4
export npe_node_fv3ic=4
export nth_fv3ic=1
fi
if [[ "$machine" == "WCOSS_DELL_P3" ]]; then
BASE_CPLIC="/gpfs/dell2/emc/modeling/noscrub/Walter.Kolczynski/global-workflow/IC"
elif [[ "$machine" == "HERA" ]]; then
BASE_CPLIC="/scratch2/NCEPDEV/climate/climpara/S2S/IC"
elif [[ "$machine" == "ORION" ]]; then
BASE_CPLIC="/work/noaa/global/wkolczyn/noscrub/global-workflow/IC"
fi

export ORIGIN_ROOT=$BASE_CPLIC
export CPL_ATMIC=CFSRfracL127
export CPL_ICEIC=CPC
export CPL_OCNIC=CPC3Dvar
export CPL_WAVIC=CFSRwave20200925

echo "END: config.fv3ic"
13 changes: 13 additions & 0 deletions parm/config/config.ocnpost
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/ksh -x

########## config.ocnpost ##########

echo "BEGIN: config.ocnpost"

# Convert nemsio files to grib files using post job
#-------------------------------------------

# No. of concurrent post jobs [0 implies sequential]
export NPOSTGRP=1

echo "END: config.ocnpost"
Loading