################################################################################## # This config file set up most of the defaults for the cfs_v2 cdas step # and post processing. Authored by Shrinivas Moorthi - June 2010 ################################################################################## set -x cfss=${cfss:-/cfs} # prefix for cfs specific directories cfsp=${cfsp:-cfs_} # prefix for cfs specific directories cfsd=${cfsd:-cfs_cdas_} # prefix for cfs specific directories model=${model:-global} ### The Following lines are added by Julia # Options for coupled case (godas) #-------------------------- ASYM_GODAS=YES # For asymmetric godas (default is NO} GODAS_WNDO=10 # Data window for asymmetric godas # #GODAS_DATA_DELAY=2 # In days #PRECIP_DATA_DELAY=48 # in hours (for global lanl) NTHSTACK=4096000000 # stacks for fcst step; default 128000000 idvc_a=${idvc_a:-3} idvc_f=${idvc_f:-3} Apercent=${Apercent:-100} newoz_nrl=${newoz_nrl:-YES} MFCST00GFS=0 fout_a=1 ; # GDAS forecast output frequency (defaults to 3) # Used when gdas_fh is not defined (i.e. no long gdas fcst) fres1=24 ; # Interval for restart write - default=24hr fout1=01 ; # Output frequency default=3hr fzer1=06 ; # Output zeroing interval - default=6hr #fmax1=192 ; # Maximum forecast hour in first segment - default 180hrs #fmax1=48 ; # Maximum forecast hour in first segment - default 180hrs fmax1=09 ; # Maximum forecast hour in first segment - default 180hrs fcyc=24 ; # Surface cycle calling interval # inch_1=168 ; # defaults to 360 ; interval of coupled run km_mom4=40 # Nummber of MOM4 levels ### End added by Julia ############################################################ # Set relevant parameters for the coupled model forecast # ############################################################ # # AM related parameters # --------------------- ### Added by Julia for testing only FIX_AM=${FIX_AM:-$FIXcfs/${cfsp}fix_am} CO2DIR=${CO2DIR:-$FIX_AM/fix_co2_proj} ### End added JCAP=${JCAP:-574} LEVS=${LEVS:-64} LSOIL=${LSOIL:-4} NGPTC=${NGPTC:-30} if [ $JCAP -eq 1148 ] ; then # Linear Grid - SLSI version LONB=${LONB:-2304} ; LATB=${LATB:-1152} ; DELTIM=${DELTIM:-600} elif [ $JCAP -eq 574 ] ; then LONB=${LONB:-1760} ; LATB=${LATB:-880} ; DELTIM=${DELTIM:-120} elif [ $JCAP -eq 382 ] ; then LONB=${LONB:-1152} ; LATB=${LATB:-576} ; DELTIM=${DELTIM:-180} elif [ $JCAP -eq 254 ] ; then LONB=${LONB:-768} ; LATB=${LATB:-384} ; DELTIM=${DELTIM:-300} elif [ $JCAP -eq 190 ] ; then LONB=${LONB:-576} ; LATB=${LATB:-288} ; DELTIM=${DELTIM:-360} elif [ $JCAP -eq 170 ] ; then LONB=${LONB:-512} ; LATB=${LATB:-256} ; DELTIM=${DELTIM:-450} elif [ $JCAP -eq 126 ] ; then LONB=${LONB:-384} ; LATB=${LATB:-190} ; DELTIM=${DELTIM:-600} elif [ $JCAP -eq 62 ] ; then LONB=${LONB:-192} ; LATB=${LATB:-94} ; DELTIM=${DELTIM:-900} fi LONR=${LONR:-$LONB} ; LATR=${LATR:-$LATB} LONF=${LONF:-$LONB} ; LATG=${LATG:-$LATB} if [ $LSOIL -eq 2 ] ; then lsm=${lsm:-0} # This will run OSU LSM option fi lsm=${lsm:-1} ;# lsm=1 is for NOAH land model (=0 for OSU model) ntrac=${ntrac:-3} varid=${varid:-21} numcld=${numcld:-1} im=${im:-$LONB} jm=${jm:-$LATB} iop=${iop:-360} jop=${jop:-181} kop=${kop:-47} KTO=${KTO:-16} IGEN=${IGEN:-197} IGEN_OCNP=${IGEN_OCNP:-197} GENPSICHI=${GENPSICHI:-YES} ivssig=${ivssig:-200509} ivssfc=${ivssfc:-200509} IDVC=${IDVC:-3} #IDVM=${IDVM:-1} IDVM=${IDVM:-11} #IDSL=${IDSL:-1} IDSL=${IDSL:-2} IDVT=${IDVT:-21} FHLWR=${FHLWR:-1} FHSWR=${FHSWR:-1} if [ $LEVS -gt 99 ] ; then ivssig=200509 ; fi THERMODYN_ID=${THERMODYN_ID:-1} SFCPRESS_ID=${SFCPRESS_ID:-1} # if [ $IDVC = 1 ] ; then IDVM=1 ; IDSL=1 ; nvcoord=1 SIGLEVEL1=${SIGLEVEL1:-$FIXGLOBAL/global_siglevel.l$LEVS.txt} elif [ $IDVC = 2 ] ; then IDVM=1 ; IDSL=1 ; nvcoord=2 SIGLEVEL2=${SIGLEVEL2:-$FIXGLOBAL/global_hyblev.l$LEVS.txt} elif [ $IDVC = 3 ] ; then ivssig=200509 #Apercent=${Apercent:-050} Apercent=${Apercent:-100} if [ $Apercent -lt 100 ] ; then SIGLEVEL3=${SIGLEVEL3:-$FIXGLOBAL/global_hyblev3.ipa$Apercent.txt} else SIGLEVEL3=${SIGLEVEL3:-$FIXGLOBAL/global_hyblev3.l$LEVS.txt} fi fi # gfsio_in=${gfsio_in:-.false.} gfsio_out=${gfsio_out:-.false.} LANDICE_OPT=${LANDICE_OPT:-2} CLIMO_FIELDS_OPT=${CLIMO_FIELDS_OPT:-2} if [ $lsm -eq 0 ] ; then # all climo/static fields interpolated from input grid CLIMO_FIELDS_OPT=${CLIMO_FIELDS_OPT:-1} else # Interpolate veg type, soil type and slope type from input grid, all others from sfcsub.f CLIMO_FIELDS_OPT=${CLIMO_FIELDS_OPT:-2} fi ccnorm=${ccnorm:-.false.} climate=${climate:-.false.} mfcstcpl=${mfcstcpl:-0} cnvgwd=${cnvgwd:-${CNVGWD:-.false.}} crtrh=${crtrh:-'0.85,0.85,0.85'} ctei_rm=${ctei_rm:-0.5} IAER=${IAER:-${iaer:-101}} # 111--with stratospheric aerosol, tropospheric aerosol LW, troposphere aerosol SW. ialb=${ialb:-${IALB:-0}} # 0: climatology sw albedo based on surface veg types; # 1: MODIS based land surface albedo ICO2=${ICO2:-${ico2:-2}} # 0--fixed CO2 constant; 1--time varying global mean CO2; 2--changing CO2 ictm=${ictm:-${ICTM:-0}} IEMS=${IEMS:-${iems:-0}} # 0-blackbody ground emission; 1-climatology on one-deg map ISOL=${ISOL:-${isol:-1}} # 0--fixed solar constant; 1--changing solar constant IOVR_LW=${IOVR_LW:-1} # LW cloud overlap : 0 - random, 1 - max/random IOVR_SW=${IOVR_SW:-1} # SW cloud overlap : 0 - random, 1 - max/random ISUBC_LW=${ISUBC_LW:-0} # LW McICA control ISUBC_SW=${ISUBC_SW:-0} # SW McICA control ldiag3d=${ldiag3d:-.false.} lgoc3d=${lgoc3d:-.false.} liope=${liope:-.true.} mom4ice=${mom4ice:-.true.} nsout=${nsout:-0} OUT_VIRTTEMP=${OUT_VIRTTEMP:-.true.} ras=${ras:-.false.} zhao_mic=${zhao_mic:-.true.} ncw=${ncw:-'20,120'} tfiltc=${tfiltc:-0.85} # mstrat=${mstrat:-.true.} newsas=${newsas:-.false.} old_monin=${old_monin:-.true.} RUN_ENTHALPY=${RUN_ENTHALPY:-.true.} sashal=${sashal:-.false.} zflxtvd=${zflxtvd:-.true.} flgmin=${flgmin:-'0.220,0.220'} ##################################################################### # The following are needed to use current GFS as AM ##################################################################### #mstrat=${mstrat:-.false.} #newsas=${newsas:-.true.} #old_monin=${old_monin:-.false.} #RUN_ENTHALPY=${RUN_ENTHALPY:-.false.} #sashal=${sashal:-.true.} #zflxtvd=${zflxtvd:-.true.} #flgmin=${flgmin:-'0.200,0.300'} ##################################################################### CHGRESVARS="IALB=$ialb,ntrac=3,idvc=$IDVC,idvt=$IDVT,idsl=$IDSL,IDVM=$IDVM,$CHGRESVARS" FCSTVARS=${FCSTVARS:-NULL} if [ $FCSTVARS = NULL ] ; then # FCSTVARS="ccnorm=$ccnorm,climate=$climate,cnvgwd=$cnvgwd,crtrh=$crtrh, \ # ctei_rm=$ctei_rm,ISUBC_LW=$ISUBC_LW,ISUBC_SW=$ISUBC_SW, \ # NGPTC=$NGPTC, \ # flgmin=$flgmin,ictm=$ictm,IALB=$ialb,IOVR_LW=$IOVR_LW, \ # IOVR_SW=$IOVR_SW,lsm=$lsm, ictm=$ictm, \ # liope=$liope,mstrat=$mstrat,mom4ice=$mom4ice, \ # ncw=$ncw,newsas=$newsas,nsout=$nsout, \ # old_monin=$old_monin,OUT_VIRTTEMP=$OUT_VIRTTEMP,ras=$ras, \ # RUN_ENTHALPY=$RUN_ENTHALPY,sashal=$sashal.,tfiltc=$tfiltc, \ # zflxtvd=$zflxtvd,zhao_mic=$zhao_mic" FCSTVARS="RUN_ENTHALPY=$RUN_ENTHALPY,LDIAG3D=$ldiag3d,ras=$ras,nsout=$nsout,\ lsm=$lsm,tfiltc=$tfiltc,liope=$liope,zhao_mic=$zhao_mic, \ old_monin=$old_monin,ncw=$ncw,crtrh=$crtrh,flgmin=$flgmin, \ IALB=$ialb,ccnorm=$ccnorm,OUT_VIRTTEMP=$OUT_VIRTTEMP, \ IOVR_LW=$IOVR_LW,IOVR_SW=$IOVR_SW,zflxtvd=$zflxtvd, \ ictm=$ictm,NGPTC=$NGPTC,mstrat=$mstrat,ctei_rm=$ctei_rm," fi # iovr_sw=$IOVR_SW,isubc_lw=$ISUBC_LW,isubc_sw=$ISUBC_SW,lsm=$lsm,\ if [ $ldiag3d = .true. ] ; then FCSTVARS="LDIAG3D=$ldiag3d,$FCSTVARS" ; fi if [ $lgoc3d = .true. ] ; then FHGOC3D=${FHGOC3D:-72} FCSTVARS="LGOC3D=$LGOC3D,FHGOC3D=$FHGOC3D,$FCSTVARS" fi if [ $RUN_ENTHALPY = .true. ] ; then RIlist=${RIlist:-" 287.05, 461.50, 173.2247, 0.0"} CPIlist=${CPIlist:-" 1004.6, 1846.0, 820.2391, 0.0"} TRACERVARS="RI=$RIlist,CPI=$CPIlist," # FCSTVARS="RUN_ENTHALPY=$RUN_ENTHALPY,$FCSTVARS" IDVM=${THERMODYN_ID}${SFCPRESS_ID} IDSL=2 ; nvcoord=3 ; LATCH=${LATCH:-8} fi export SIGLEVEL=$(eval echo \${SIGLEVEL$IDVC}) COUP_FCST=${COUP_FCST:-YES} tasks=${tot_fcst_tasks:-256} # OM related parameters # --------------------- if [ $COUP_FCST = YES ] ; then dt_ocean=${dt_ocean:-1800} dt_cpld=${dt_cpld:-$dt_ocean} dt_aocpl=${dt_aocpl:-$dt_ocean} im_mom4=720 jm_mom4=410 jmtp_mom4=50 imos=160 omres=${omres:-05} # NPROCS_o=${NPROCS_o:-60} # NPROCS_c=1 # NPROCS_a=$((tasks-NPROCS_o-NPROCS_c)) # OCN_DT=${OCN_DT:-3600} # CouplingPeriod=${CouplingPeriod:-$OCN_DT} CouplingPeriod=${CouplingPeriod:-$DELTIM} FSICL=${FSICL:-99999} # # Fix files and parm files for OM # ------------------------------- SNOWNC=${SNOWNC:-$FIX_OCN/SNOW.nc} SSTICECLIM=${SSTICECLIM:-$FIX_OCN/sst_ice_clim.nc} # diagtable=${diagtable:-$PARM_OM/diag_table.hrs} # Hourly output diagtable=${diagtable:-$PARM_OM/diag_table.hr_vdif} # Hourly output # diagtable=${diagtable:-$PARM_OM/diag_table.6hr} # Hourly output diagtable_hrs=${diagtable_hrs:-$PARM_OM/diag_table.hrs_vdif} # diagtable_long=${diagtable_long:-$diagtable} # Hourly output diagtable_long=${diagtable_long:-$PARM_OM/diag_table.hrs_vdif} # Hourly output datatable=${datatable:-$PARM_OM/data_override} # data override table fieldtable=${fieldtable:-$PARM_OM/field_table} # field table namelist=${namelist:-$PARM_OM/namelist} # namelist file do_irestart=${do_irestart:-.true.} # For OM to write multiple restarts dt_rstrt=${dt_rstrt:-10800} # To write 3 hourly ocean restarts grid_mom4ice=${grid_mom4ice:-$FIX_OM/grid_spec_$omres.nc.T$JCAP} chl=${chl:-$FIX_OM/chl_$omres.nc} salt_sfc_restore=${salt_sfc_restore:-$FIX_OM/salt_sfc_restore_$omres.nc} SALTSFCRESTORE=$salt_sfc_restore temp_sfc_restore=${temp_sfc_restore:-$FIX_OM/temp_sfc_restore_$omres.nc} runoff=${runoff:-$FIX_OM/runoff_$omres.nc} ohf_sice=${ohf_sice:-$FIX_OM/ohf_sice.nc} GODAS_FREQ=${GODAS_FREQ:-0} else NPROCS_a=$tasks NPROCS_o=0 NPROCS_c=0 fi ENS_NUM=${ENS_NUM:-1} # This is for uncoupled ensemble runs task_mem=$((NPROCS_a/ENS_NUM)) c=1 while [ $c -le $ENS_NUM ] ; do eval PE$c=$task_mem c=$((c+1)) done ####################################################################### IC_FROM_HPSS=${IC_FROM_HPSS:-NO} if [ $IC_FROM_HPSS = YES ] ; then IC_FROM_DISK=NO ; fi IC_FROM_DISK=${IC_FROM_DISK:-YES} INI_DIR=${INI_DIR:-$DISK_GLOB/noscrub/$userid/cfs_ini} # Specify length of forecast - either in hours or days. LENDAY=${LENDAY:-0} # Length of forecast in days LENHR=${LENHR:-9} # Length of forecast in hours # ############################################# # SETUP CLIM FCST PROCESSING VARIABLES # ############################################# # # Replacing some initial surface fileds (if SFC0=YES) # SFC0=NO PRPC=$FIXcfs/prepobs_prepdata.gdas.parm #prepdata parmfile to time window goes satwnds CTLFILE=${CTLFILE:-$HOMEcfs/parm/${cfsp}parm_am/cfs_cdas_cntrl.parm} FIXDIR2=${FIXDIR2:-$FIXcfs/${cfsp}fix_am} OROGRAPHY=${OROGRAPHY:-$FIXDIR2/global_orography.t$JCAP.grb} SLMASK=${SLMASK:-$FIXDIR2/global_slmask.t$JCAP.grb} MTNVAR=${MTNVAR:-$FIXDIR2/global_mtnvar.t$JCAP.f77} FNOROG=${FNOROG:-$FIXDIR2/global_orography.t$JCAP.grb} FNMASK=${FNMASK:-$FIXDIR2/global_slmask.t$JCAP.grb} FNMSKH=${FNMSKH:-$FIXDIR2/seaice_newland.grb} FNTG3C=${FNTG3C:-$FIXDIR2/global_tg3clim.2.6x1.5.grb} O3FORC=${O3FORC:-$FIXDIR2/global_o3prdlos.f77} O3CLIM=${O3CLIM:-$FIXDIR2/global_o3clim.txt} # ################################### # Define forecast output variables ################################### # FHROT=${FHROT:-0} # Forecast hour to Read One Time level FHOUT=${FHOUT:-1} # Forecast Hour Output Frequency FHRES=${FHRES:-24} # Forecast Hour Restart Frequency FHZER=${FHZER:-6} # Interval to Zero the bucket - must be >= FHOUT FHCYC=${FHCYC:-24} # Surface boundary condition update interval in hours FHDFI=${FHDFI:-3} # Half of the digital filter initialization hours FHDFI_INIT=${FHDFI_INIT:-3} # Same but for cold start FHMAX=${FHMAX:-${LENHR:-9}} ########################################################################### # These are needed only if the current GFS AM is used FHOUT_HF=1 # High Frequency Forecast Output Interval FHMAX_HF=12 # High Frequency Forecast Length (Hours) FHGOC3D=0 # Forecast Output Length for G3D files for GOCART LGOC3D=.false. # Control Variable to output the G3D files for GOCART ########################################################################### RUN_NAME=${RUN_NAME:-cdas_fcst} RECOVERY=${RECOVERY:-$COMDIR/RESTART} RESTART_CONTROL_FILE=${RESTART_CONTROL_FILE:-$RECOVERY/$RUN_NAME.2restart} ########################################### # Define integration parameter and hours # ########################################### FCST_RESTART=YES RESTART_SUBMIT=YES FH_CYCL=${FH_CYCL:-24} INCHOUR=${INCHOUR:-09}