#!/bin/ksh -x ########## config.fcst ########## # Forecast specific echo "BEGIN: config.fcst" # Source model specific information that is resolution dependent . $EXPDIR/config.fv3 $CASE # Get task specific resources . $EXPDIR/config.resources fcst if [ $DONST = "YES" ]; then . $EXPDIR/config.nsst fi export FORECASTSH="$HOMEgfs/scripts/exglobal_fcst_nemsfv3gfs.sh" export FCSTEXECDIR="$HOMEgfs/exec" #export FCSTEXECDIR="$HOMEfv3gfs/NEMS/exe" export FCSTEXEC="global_fv3gfs.x" export npe_fv3=$npe_fcst # This is model resolution dependent, see note above if [[ "$CDUMP" == "gfs" ]] ; then export npe_fv3=$npe_fcst_gfs export layout_x=$layout_x_gfs export layout_y=$layout_y_gfs export WRITE_GROUP=$WRITE_GROUP_GFS export WRTTASK_PER_GROUP=$WRTTASK_PER_GROUP_GFS 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) fi # Model configuration export TYPE="nh" export MONO="non-mono" # Use stratosphere h2o physics export h2o_phys=".true." # Options of stratosphere O3 physics reaction coefficients export new_o3forc="YES" # do_ugwp=T: use unified CGWD and OGWD, and turbulent orographic form drag (TOFD) # do_ugwp=F: use unified CGWD but old OGWD, TOFD is not uded. export do_ugwp=".false." export do_tofd=".true." export launch_level=$(echo "$LEVS/2.35" |bc) # Sponge layer settings for L127 if [ $LEVS = "128" ]; then 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 export hybedmf=".false." export satmedmf=".true." export isatmedmf=1 tbf="" if [ $satmedmf = ".true." ]; then tbf="_satmedmf" ; fi # Land surface model. (2--NoahMP, landice=F); (1--Noah, landice=T) export lsm=1 if [ $lsm -eq 2 ]; then export lheatstrg=".false." export landice=".false." else export lheatstrg=".true." export landice=".true." fi # Radiation options export IAER=5111 ;#spectral band mapping method for aerosol optical properties 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 icliq_sw=2 ;#cloud optical coeffs from AER's newer version v3.9-v4.0 for hu and stamnes # Microphysics configuration export dnats=0 export cal_pre=".true." export do_sat_adj=".false." export random_clds=".true." if [ $imp_physics -eq 99 ]; then # ZhaoCarr export ncld=1 export FIELD_TABLE="$HOMEgfs/parm/parm_fv3diag/field_table_zhaocarr${tbf}" export nwat=2 elif [ $imp_physics -eq 6 ]; then # WSM6 export ncld=2 export FIELD_TABLE="$HOMEgfs/parm/parm_fv3diag/field_table_wsm6${tbf}" export nwat=6 elif [ $imp_physics -eq 8 ]; then # Thompson export ncld=2 export FIELD_TABLE="$HOMEgfs/parm/parm_fv3diag/field_table_thompson${tbf}" export nwat=6 elif [ $imp_physics -eq 11 ]; then # GFDL export ncld=5 export FIELD_TABLE="$HOMEgfs/parm/parm_fv3diag/field_table_gfdl${tbf}" export nwat=6 export dnats=1 export cal_pre=".false." export do_sat_adj=".true." export random_clds=".false." export lgfdlmprad=".true." export effr_in=".true." export reiflag=2 export hord_mt_nh_nonmono=5 export hord_xx_nh_nonmono=5 export vtdm4_nh_nonmono=0.02 export nord=2 export dddmp=0.1 export d4_bg=0.12 else echo "Unknown microphysics option, ABORT!" fi #--------------------------------------------------------------------- # ideflate: netcdf zlib lossless compression (0-9): 0 no compression # nbits: netcdf lossy compression level (0-32): 0 lossless export ideflate=1 export nbits=14 export ishuffle=0 # compression for RESTART files written by FMS export shuffle=1 export deflate_level=1 # Disable the use of coupler.res; get model start time from model_configure export USE_COUPLER_RES="NO" 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" else export DIAG_TABLE="$HOMEgfs/parm/parm_fv3diag/diag_table_da_orig" fi # Write restart files at next assimilation time export restart_interval=${restart_interval:-6} # For IAU, write restarts at beginning of window also if [ $DOIAU = "YES" ]; then export restart_interval=3; fi elif [[ "$CDUMP" == "gfs" ]] ; then # GFS cycle specific parameters # Write more variables to output if [ $QUILTING = ".true." -a $OUTPUT_GRID = "gaussian_grid" ]; then export DIAG_TABLE="$HOMEgfs/parm/parm_fv3diag/diag_table" else export DIAG_TABLE="$HOMEgfs/parm/parm_fv3diag/diag_table_orig" fi # Write gfs restart files to rerun fcst from any break point export restart_interval=${restart_interval_gfs:-0} fi # 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" 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 echo "END: config.fcst"