Skip to content

Commit

Permalink
code change for running RRFS_A on wcoss2 (NOAA-EMC#481)
Browse files Browse the repository at this point in the history
* Tune v0.3.6 on wocss2 for speeding up ensemble DA to catch the control cycles.
Add grid and reource setup for NA 3km on wcoss2.

* Add configuration file for NA 3km control run and enkf DA run on WCOSS2
Add fix files for NA 3km smoke/dust
Add section to setup NA 3km resources fro WCOSS2.

---------

Co-authored-by: Shun Liu <Shun.Liu@noaa.gov>
Co-authored-by: ming hu <ming.hu@clogin04.cactus.wcoss2.ncep.noaa.gov>
  • Loading branch information
3 people authored Feb 8, 2023
1 parent aeb0fcd commit aca5749
Show file tree
Hide file tree
Showing 16 changed files with 455 additions and 65 deletions.
1 change: 0 additions & 1 deletion fix/smoke_dust/RRFS_NA_3km/CONUS_G2_3km_weight_file.nc

This file was deleted.

1 change: 1 addition & 0 deletions fix/smoke_dust/RRFS_NA_3km/NA.nearest_weigt.nc
1 change: 0 additions & 1 deletion fix/smoke_dust/RRFS_NA_3km/RRFS_CONUS_3km_weight_file.nc

This file was deleted.

1 change: 0 additions & 1 deletion fix/smoke_dust/RRFS_NA_3km/dummy_24hr_smoke.nc

This file was deleted.

1 change: 1 addition & 0 deletions fix/smoke_dust/RRFS_NA_3km/dust12m_data.nc_old
1 change: 0 additions & 1 deletion fix/smoke_dust/RRFS_NA_3km/grid_in.nc

This file was deleted.

1 change: 1 addition & 0 deletions scripts/exregional_nonvarcldanl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ case $MACHINE in
APRUN="mpiexec -n ${IO_LAYOUT_Y} -ppn 16"
ncores=$(( NNODES_RUN_NONVARCLDANL*PPN_RUN_NONVARCLDANL ))
APRUN="mpiexec -n ${ncores} -ppn ${PPN_RUN_NONVARCLDANL}"
APRUN="mpiexec -n 1 -ppn 1"
;;
#
"HERA")
Expand Down
27 changes: 15 additions & 12 deletions ush/config.sh.rrfs_a_c3
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,12 @@ PREDEF_GRID_NAME=RRFS_CONUS_3km

. set_rrfs_config_general.sh

#DO_ENSEMBLE="TRUE"
#DO_ENSFCST="TRUE"
DO_DACYCLE="TRUE"
DO_SURFACE_CYCLE="TRUE"
DO_SPINUP="TRUE"
#DO_SAVE_INPUT="TRUE"
DO_POST_SPINUP="FALSE"
DO_POST_PROD="TRUE"
DO_RETRO="FALSE"
Expand All @@ -23,7 +26,7 @@ RADARREFL_TIMELEVEL=(0)
FH_DFI_RADAR="0.0,0.25,0.5"
DO_SOIL_ADJUST="TRUE"
DO_RADDA="FALSE"
DO_BUFRSND="FALSE"
DO_BUFRSND="TRUE"
USE_FVCOM="TRUE"
PREP_FVCOM="TRUE"

Expand All @@ -35,13 +38,13 @@ BOUNDARY_PROC_GROUP_NUM="72"

# avaialble retro period:
# 20210511-20210531; 20210718-20210801
DATE_FIRST_CYCL="20230120"
DATE_LAST_CYCL="20230131"
DATE_FIRST_CYCL="20230201"
DATE_LAST_CYCL="20230331"
CYCL_HRS=( "00" "12" )
CYCL_HRS_SPINSTART=("03" "15")
CYCL_HRS_PRODSTART=("09" "21")
CYCLEMONTH="01"
CYCLEDAY="20-31"
CYCLEMONTH="02,03"
CYCLEDAY="*"

STARTYEAR=${DATE_FIRST_CYCL:0:4}
STARTMONTH=${DATE_FIRST_CYCL:4:2}
Expand Down Expand Up @@ -70,8 +73,8 @@ POSTPROC_LONG_LEN_HRS="60"
for i in {0..23}; do FCST_LEN_HRS_CYCLES[$i]=18; done
for i in {0..23..6}; do FCST_LEN_HRS_CYCLES[$i]=60; done
DA_CYCLE_INTERV="1"
RESTART_INTERVAL="1 2 3"
RESTART_INTERVAL_LONG="1 2 3"
RESTART_INTERVAL="1 2"
RESTART_INTERVAL_LONG="1 2"

USE_RRFSE_ENS="TRUE"
CYCL_HRS_HYB_FV3LAM_ENS=("00" "01" "02" "03" "04" "05" "06" "07" "08" "09" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "20" "21" "22" "23")
Expand All @@ -94,7 +97,7 @@ TAG="c3v36"

ARCHIVEDIR="/NCEPDEV/emc-meso/1year/emc.lam"
NCL_REGION="conus"
MODEL="RRFS_A"
MODEL="rrfs_a"

#
# In NCO mode, the following don't need to be explicitly set to "FALSE"
Expand All @@ -110,12 +113,12 @@ COMINgfs=""

. set_rrfs_config.sh

STMP="/lfs/h2/emc/stmp/emc.lam/rrfs/${version}/stmp" # Path to directory STMP that mostly contains input files.
STMP="/lfs/h2/emc/stmp/emc.lam/rrfs/${version}" # Path to directory STMP that mostly contains input files.
PTMP="/lfs/h2/emc/ptmp/emc.lam/rrfs/${version}" # Path to directory STMP that mostly contains input files.
NWGES="/lfs/h2/emc/ptmp/emc.lam/rrfs/${version}/nwges/${envir}/${NET}" # Path to directory NWGES that save boundary, cold initial, restart files
NWGES="/lfs/h2/emc/ptmp/emc.lam/rrfs/${version}/nwges" # Path to directory NWGES that save boundary, cold initial, restart files
if [[ ${regional_ensemble_option} == "5" ]]; then
RRFSE_NWGES=="/lfs/h2/emc/ptmp/emc.lam/rrfs/${version}/nwges" # Path to RRFSE directory NWGES that mostly contains ensemble restart files for GSI hybrid.
RRFSE_NWGES="/lfs/h2/emc/ptmp/emc.lam/rrfs/${version}/nwges" # Path to RRFSE directory NWGES that mostly contains ensemble restart files for GSI hybrid.
NUM_ENS_MEMBERS=30 # FV3LAM ensemble size for GSI hybrid analysis
CYCL_HRS_PRODSTART_ENS=( "19" )
CYCL_HRS_PRODSTART_ENS=( "07" "19" )
DO_ENVAR_RADAR_REF="TRUE"
fi
49 changes: 28 additions & 21 deletions ush/config.sh_rrfs_a_enkf_c3
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,17 @@ DO_POST_SPINUP="FALSE"
DO_POST_PROD="FALSE"
#DO_RETRO="TRUE"
DO_NONVAR_CLDANAL="TRUE"
#DO_ENVAR_RADAR_REF="TRUE"
DO_SMOKE_DUST="FALSE"
#DO_REFL2TTEN="FALSE"
#RADARREFL_TIMELEVEL=(0)
#FH_DFI_RADAR="0.0,0.25,0.5"
#DO_SOIL_ADJUST="TRUE"
#DO_RADDA="FALSE"
#DO_BUFRSND="TRUE"
#USE_FVCOM="TRUE"
#PREP_FVCOM="TRUE"

if [[ ${DO_ENSFCST} == "TRUE" ]] ; then
DO_SPINUP="FALSE"
DO_SAVE_DA_OUTPUT="FALSE"
Expand All @@ -41,16 +46,16 @@ BOUNDARY_PROC_GROUP_NUM="4"

# avaialble retro period:
# 20210511-20210531; 20210718-20210801
DATE_FIRST_CYCL="20230121"
DATE_LAST_CYCL="20230131"
DATE_FIRST_CYCL="20230201"
DATE_LAST_CYCL="20230331"
CYCL_HRS=( "00" "12" )
CYCL_HRS=( "18" )
CYCL_HRS_SPINSTART=("18")
CYCL_HRS_PRODSTART=("19")
CYCL_HRS_SPINSTART=("06" "18")
CYCL_HRS_PRODSTART=("07" "19")
#CYCL_HRS_STOCH=("00" "12")
#CYCL_HRS_RECENTER=("19")
CYCLEMONTH="01"
CYCLEDAY="21-31"
CYCLEMONTH="02,03"
CYCLEDAY="*"

STARTYEAR=${DATE_FIRST_CYCL:0:4}
STARTMONTH=${DATE_FIRST_CYCL:4:2}
Expand All @@ -62,9 +67,9 @@ ENDDAY=${DATE_LAST_CYCL:6:2}
ENDHOUR="23"

PREEXISTING_DIR_METHOD="upgrade" # "rename"
INITIAL_CYCLEDEF="${DATE_FIRST_CYCL}1800 ${DATE_LAST_CYCL}2300 24:00:00"
INITIAL_CYCLEDEF="${DATE_FIRST_CYCL}1800 ${DATE_LAST_CYCL}2300 12:00:00"
BOUNDARY_CYCLEDEF="${DATE_FIRST_CYCL}1800 ${DATE_LAST_CYCL}2300 06:00:00"
PROD_CYCLEDEF="00 01-05,07-11,13-17,19-23 19-30 ${CYCLEMONTH} ${STARTYEAR} *"
PROD_CYCLEDEF="00 01-05,07-11,13-17,19-23 ${CYCLEDAY} ${CYCLEMONTH} ${STARTYEAR} *"
PRODLONG_CYCLEDEF="${DATE_FIRST_CYCL}0000 ${DATE_LAST_CYCL}2300 06:00:00"
#RECENTER_CYCLEDEF="00 19 * 10 2022 *"
ARCHIVE_CYCLEDEF="${DATE_FIRST_CYCL}1500 ${DATE_LAST_CYCL}2300 24:00:00"
Expand All @@ -77,7 +82,7 @@ if [[ ${DO_ENSFCST} == "TRUE" ]] ; then
PRODLONG_CYCLEDEF="00 01 01 01 2100 *"
fi
if [[ $DO_SPINUP == "TRUE" ]] ; then
SPINUP_CYCLEDEF="${DATE_FIRST_CYCL}1800 ${DATE_LAST_CYCL}2300 24:00:00"
SPINUP_CYCLEDEF="${DATE_FIRST_CYCL}1800 ${DATE_LAST_CYCL}2300 12:00:00"
fi
if [[ $DO_SAVE_DA_OUTPUT == "TRUE" ]] ; then
SAVEDA_CYCLEDEF="${DATE_FIRST_CYCL}1200 ${DATE_LAST_CYCL}2300 12:00:00"
Expand All @@ -88,15 +93,15 @@ FCST_LEN_HRS_SPINUP="1"
POSTPROC_LEN_HRS="1"
#FCST_LEN_HRS_CYCLES=(48 18 18 18 18 18 48 18 18 18 18 18 48 18 18 18 18 18 48 18 18 18 18 18)
for i in {0..23}; do FCST_LEN_HRS_CYCLES[$i]=1; done
for i in {0..23..6}; do FCST_LEN_HRS_CYCLES[$i]=2; done
for i in {0..23..6}; do FCST_LEN_HRS_CYCLES[$i]=1; done
if [[ ${DO_ENSFCST} == "TRUE" ]] ; then
for i in {0..23..12}; do FCST_LEN_HRS_CYCLES[$i]=24; done
POSTPROC_LEN_HRS="24"
for i in {0..23..12}; do FCST_LEN_HRS_CYCLES[$i]=36; done
POSTPROC_LEN_HRS="36"
BOUNDARY_PROC_GROUP_NUM="8"
fi
DA_CYCLE_INTERV="1"
RESTART_INTERVAL="1"
RESTART_INTERVAL_LONG="1 2"
RESTART_INTERVAL_LONG="1"
netcdf_diag=.true.
binary_diag=.false.
NFHOUT="3"
Expand All @@ -118,11 +123,11 @@ FV3GFS_FILE_FMT_ICS="grib2"
FV3GFS_FILE_FMT_LBCS="grib2"

envir="para"
NET="rrfs_a"
TAG="cenkf36"
ARCHIVEDIR="/NCEPDEV/emc-meso/1year/emc.lam"
NCL_REGION="conus"
MODEL="rrfs_b"
NET="rrfs_a"
TAG="cenkf32"
ARCHIVEDIR="/1year/BMC/wrfruc/rrfs_dev1"

if [[ ${DO_ENSEMBLE} == "TRUE" ]]; then
NUM_ENS_MEMBERS=30
Expand All @@ -142,16 +147,18 @@ if [[ ${DO_ENSEMBLE} == "TRUE" ]]; then
# SPPT_MAG=0.5
WTIME_RUN_FCST="04:45:00"
WTIME_MAKE_LBCS="01:30:00"
TAG="cefcst36"
fi
RADAR_REF_THINNING="2"
ARCHIVEDIR="/5year/BMC/wrfruc/rrfs_ens"
NNODES_RUN_RECENTER="3"
PPN_RUN_RECENTER="$(( ${NUM_ENS_MEMBERS} + 1 ))"
PPN_RUN_RECENTER="128"
CLEAN_OLDFCST_HRS="48"
CLEAN_OLDSTMPPOST_HRS="48"
cld_bld_hgt=0.0
l_precip_clear_only=.true.
write_diag_2=.true.
START_TIME_SPINUP="00:30:00"
fi

RUN="rrfs_a"
Expand All @@ -162,13 +169,13 @@ COMINgfs=""

. set_rrfs_config.sh

STMP="/lfs/h2/emc/stmp/emc.lam/rrfs/${version}/stmp" # Path to directory STMP that mostly contains input files.
STMP="/lfs/h2/emc/stmp/emc.lam/rrfs/${version}" # Path to directory STMP that mostly contains input files.
if [[ ${DO_ENSFCST} == "TRUE" ]] ; then
STMP="/lfs/h2/emc/stmp/emc.lam/rrfs/${version}/enfcst" # Path to directory STMP that mostly contains input files.
fi
PTMP="/lfs/h2/emc/ptmp/emc.lam/rrfs/${version}" # Path to directory STMP that mostly contains input files.
NWGES="/lfs/h2/emc/stmp/emc.lam/rrfs/${version}/nwges" # Path to directory NWGES that save boundary, cold initial, restart files
ENSCTRL_STMP="/lfs/h2/emc/stmp/emc.lam/rrfs/${version}/stmp" # Path to directory STMP that mostly contains control input files for ensemble recentering.
NWGES="/lfs/h2/emc/ptmp/emc.lam/rrfs/${version}/nwges" # Path to directory NWGES that save boundary, cold initial, restart files
ENSCTRL_STMP="/lfs/h2/emc/stmp/emc.lam/rrfs/${version}" # Path to directory STMP that mostly contains control input files for ensemble recentering.
ENSCTRL_PTMP="/lfs/h2/emc/ptmp/emc.lam/rrfs/${version}" # Path to directory STMP that mostly contains control input files for ensemble recentering.
ENSCTRL_NWGES="/lfs/h2/emc/stmp/emc.lam/rrfs/${version}/nwges" # Path to directory STMP that mostly contains control input files for ensemble recentering.
ENSCTRL_NWGES="/lfs/h2/emc/ptmp/emc.lam/rrfs/${version}/nwges" # Path to directory STMP that mostly contains control input files for ensemble recentering.

Loading

0 comments on commit aca5749

Please sign in to comment.