Skip to content

Commit

Permalink
Add basic atmos products for GEFS and refactor resources (NOAA-EMC#2216)
Browse files Browse the repository at this point in the history
* Add basic atmos products for GEFS

Adds basic atmosphere products for GEFS members (no mean or spread).

To facilitate the addition of GEFS parameter lists, the existing GFS
lists are renamed. They are also relocated to `parm/products/` direc
tory instead of `parm/post/`. GEFS v12 uses different parameter lists
for different resolutions, but for this implementation, the 0p25 lists
are used for all resolutions. However, to hedge against the final con-
figuration, all of the GEFS parameter lists have been added to parm.
Implementation of different parameter lists for each resolution will
take additional refactoring of the atmos_products job, as it currently
assumes all resolutions use the same lists.

The new GEFS rocoto task is implented as two loops of metatasks (made
possible by PR NOAA-EMC#2189). The member is set at the rocoto level, so the
setting in `config.base` had to be updated to accept a pass-through.
The generation of a forecast hour list is moved up to its own function
in `rocoto.tasks`, separate from the post groups which are not used.
This can be used as a model for future metatasks (or refactoring of old
ones). `rocoto_viewer.py` does function with the nested metatasks,
though only one level of folding is available and the metatask name
is that of the lower metatask (though it encompasses the entire outer
metatask).

Additionally, the GEFS `config.resources` had diverged from the GFS
version, which included not having a section for the atm products job.
This led to the refactoring of the GFS `config.resources`, including
switching to using a `case` statement instead of sequential `elif`.
This refactored script was then copied over to GEFS, replacing the old
one, with all jobs not currently implemented for GEFS removed (except
wave post, whose inclusion is immenent). New blocks can be copied over
from GFS as they are added.

Resolves NOAA-EMC#823
  • Loading branch information
WalterKolczynski-NOAA authored Jan 17, 2024
1 parent fbba174 commit 9046d97
Show file tree
Hide file tree
Showing 29 changed files with 4,254 additions and 985 deletions.
28 changes: 28 additions & 0 deletions parm/config/gefs/config.atmos_products
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#! /usr/bin/env bash

########## config.atmos_products ##########
# atmosphere grib2 products specific

echo "BEGIN: config.atmos_products"

# Get task specific resources
. "${EXPDIR}/config.resources" atmos_products

# No. of forecast hours to process in a single job
export NFHRS_PER_GROUP=3

# Scripts used by this job
export INTERP_ATMOS_MASTERSH="${HOMEgfs}/ush/interp_atmos_master.sh"
export INTERP_ATMOS_SFLUXSH="${HOMEgfs}/ush/interp_atmos_sflux.sh"

export downset=2
export FHOUT_PGBS=${FHOUT_GFS:-3} # Output frequency of supplemental gfs pgb file at 1.0 and 0.5 deg
export FLXGF="NO" # Create interpolated sflux.1p00 file

# paramlist files for the different forecast hours and downsets
export paramlista="${HOMEgfs}/parm/product/gefs.0p25.fFFF.paramlist.a.txt"
export paramlista_anl="${HOMEgfs}/parm/product/gefs.0p25.anl.paramlist.a.txt"
export paramlista_f000="${HOMEgfs}/parm/product/gefs.0p25.f000.paramlist.a.txt"
export paramlistb="${HOMEgfs}/parm/product/gefs.0p25.fFFF.paramlist.b.txt"

echo "END: config.atmos_products"
3 changes: 2 additions & 1 deletion parm/config/gefs/config.base.emc.dyn
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,7 @@ export gfs_cyc=@gfs_cyc@ # 0: no GFS cycle, 1: 00Z only, 2: 00Z and 12Z only, 4:

# GFS output and frequency
export FHMIN_GFS=0
export FHMIN=${FHMIN_GFS}

export FHMAX_GFS_00=120
export FHMAX_GFS_06=120
Expand Down Expand Up @@ -270,7 +271,7 @@ export NMEM_ENS=@NMEM_ENS@

# set default member number memdir for control
# this will be overwritten for the perturbed members
export ENSMEM="000"
export ENSMEM=${ENSMEM:-"000"}
export MEMDIR="mem${ENSMEM}"

export DOIAU="NO" # While we are not doing IAU, we may want to warm start w/ IAU in the future
Expand Down
Loading

0 comments on commit 9046d97

Please sign in to comment.