[config]

NET={ENV[NET|-hafs]}
RUN={ENV[RUN|-hfsa]}

## Experiment name
EXPT=HAFS

# SUBEXPT={EXPT}
# storm={ENV[STORM]}
# basin1=l
# stormlat=31.5
# stormlon=-73.7
# domlat=25.0
# domlon=-75.3

# If domlon and domlat are not set, where to put the parent domain center?
#   storm: centered at current storm center according to tcvitals
#   auto:  automatically determined based on storm's current and 72-h forecast locations
parent_domain_center=auto

## The storm label: storm1, storm2, etc.
stormlabel=storm{storm_num}
# Useful when running multiple storms in a workflow.
global_stormlabel=storm{global_storm_num}

cycling_interval=6.0 ;; Cycling interval in hours
NHRS=126             ;; Length of the forecast in hours
NBDYHRS=3            ;; Interval in hours of the input lateral boundary conditions
NOUTHRS=3            ;; Interval in hours of the atmospheric model output
NHRS_ENS=6	         ;; Length of the forecast in hours for ensda members
NBDYHRS_ENS=6        ;; Interval in hours of the input lateral boundary conditions for ensda members
NOUTHRS_ENS=3        ;; Interval in hours of the atmospheric model output for ensda members

ENS_SIZE=4           ;; The ensemble size for the ensda system
ENS_FCST_SIZE=0      ;; The ensemble size for the ensemble forecast members which will run the full NHRS forecasts
GRID_RATIO_ENS=1     ;; Grid resolution ratio of the ensda system to the high-resolution deterministic system, to be used by GSI

GFSVER=PROD2021      ;; GFS version
ictype=gfsnetcdf     ;; Input initial condition type: gfsnetcdf, gfsgrib2_master, gfsgrib2_0p25, gfsgrib2ab_0p25, gfsgrib2_0p50, gfsgrib2_1p00
bctype=gfsgrib2ab_0p25 ;; Input boundary condition type
ictype_ens=gfsnetcdf ;; Input initial condition type for ensembles
bctype_ens=gfsnetcdf ;; Input boundary condition type for ensembles

vcoord_file_target_grid={PARMhafs}/levels/hafs_hyblev.l{LEVS}.txt ;; Vertical level distributions with ak, bk values
halo_blend=20        ;; Number of rows for lateral boundary blending for the regional configuration
use_orog_gsl=yes     ;; Use gsl orography files or not

# Enable or disable parts of the workflow
run_atm_mvnest=yes   ;; Run moving-nesting configuration
run_atm_mvnest_ens=no
run_atm_init=yes     ;; Run one time-step forecast, post, product for model initialization
run_atm_init_fgat=yes
run_atm_init_ens=no
run_atm_merge=no     ;; Use the merge method for warm-cycling
run_atm_merge_fgat=no
run_atm_merge_ens=no
run_atm_vi=yes       ;; Vortex Initialization (VI)
run_atm_vi_fgat=yes  ;; VI for FGAT
run_atm_vi_ens=no    ;; VI for ensembles (to be implemented)
run_gsi=yes          ;; GSI and FGAT initialization
gsi_d01=no           ;; GSI for domain 01
gsi_d02=yes          ;; GSI for domain 02
gsi_d03=no           ;; GSI for domain 03 (not implemented/applicable yet)
run_analysis_merge=yes
run_analysis_merge_ens=no
run_fgat=yes         ;; Enable FGAT in DA
run_envar=yes        ;; Run GSI with hybrid EnVar with either GDAS ensembles or regional ensembles
run_ensda=no         ;; Run ensemble data assimilation system
run_enkf=no          ;; Run self-cycled ensemble data assimilation system with EnKF analysis
run_wave=no          ;; Wave coupling
wave_model=ww3       ;; Wave model
run_ocean=yes        ;; Ocean coupling
ocean_model=mom6     ;; Ocean model
ocean_domain=auto    ;; automatically choose ocean domain based on storm basin/ID
run_datm=no          ;; Data atmosphere using CDEPS
run_docn=no          ;; Data ocean using CDEPS
run_dwav=no          ;; Data waves using CDEPS
run_gempak=no        ;; Do we run GEMPAK
run_hrdgraphics=no   ;; Run HRD graphics
run_emcgraphics=no   ;; Run EMC graphics
make_mesh_atm=no     ;; Generate DATM mesh in workflow (only for run_datm=yes)
make_mesh_ocn=no     ;; Generate DOCN mesh in workflow (only for run_docn=yes)

# warm_start_opt: 0, coldstart from chgres; 1, warmstart from init; 2, warmstart from prior cycle's restart files;
#                 3, warmstart from vortex initialization; 4, warmstart from DA based vortex relocation;
#                 5, warmstart from DA analysis.
#                 Note: currently, this option will be overwritten by the run_atm_init, run_atm_merge, run_atm_vi,
#                 run_gsi, run_analysis_merge options, if incompatible.
warm_start_opt=0     ;; Warm start option

# Scrub options
scrub=no             ;; Do we delete temporary files? (placeholder)
scrub_com=yes        ;; Do we scrub the com directory?
scrub_work=yes       ;; Do we scrub the work directory?

[prelaunch]
# Per-forecast-center configurations
rsmc_overrides=no      ;; read parm/hafs_JTWC.conf and parm/hafs_NHC.conf
rsmc_conf={PARMhafs}/{RUN}_{RSMC}.conf  ;; File to read for rsmc_overrides
# Per-basin configurations: read no_basin_conf if basin_conf is missing
basin_overrides=yes    ;; read parm/hafs_(basin).conf
# File to read for recognized basins when basin_overrides is enabled
basin_conf={PARMhafs}/{RUN}_{vit.pubbasin2}.conf
# File to read for unrecognized basins when basin_overrides is enabled
no_basin_conf={PARMhafs}/{RUN}_other_basins.conf