jgfs_wave_postbndpntbll ecf (v17) Analysis - TerrenceMcGuinness-NOAA/global-workflow GitHub Wiki

jgfs_wave_postbndpntbll.ecf (GFS v17)

Branch / tenant: dev/gfs.v17 (gw_v17) Path: ecf/scripts/gfs/product/wave/station/jgfs_wave_postbndpntbll.ecf Analysis date: 2026-06-11 Method: AWS Bedrock AgentCore agentcore-mcp-rag MCP cross-checked against the on-disk v17 worktree.


Summary

jgfs_wave_postbndpntbll.ecf is the NCO production ecFlow task that generates wave boundary-point bulletin products from WaveWatch III model output. These are point-output text bulletins for wave model boundary forcing locations, providing spectral boundary condition data for nested regional wave models. It is a single-instance task per cycle calling JGLOBAL_WAVE_POST_BNDPNTBLL, which drives the shared exglobal_wave_post_pnt.sh script in bulletin mode.


1. The script itself

#PBS -S /bin/bash
#PBS -N gfs_wave_postbndpntbll_%CYC%
#PBS -j oe
#PBS -q %QUEUE%
#PBS -A %PROJ%-%PROJENVIR%
#PBS -l walltime=00:15:00
#PBS -l select=1:mpiprocs=40:ompthreads=1:ncpus=40
#PBS -l place=vscatter:shared
#PBS -l debug=true

model=gfs
export cyc="%CYC%"
%include <head.h>
%include <envir-p1.h>

############################################################
# Load modules
############################################################
source ${HOMEgfs}/dev/ush/load_modules.sh ufswm

module list
############################################################
# CALL executable job script here
############################################################
export CDATE=${PDY}${cyc}
export HOMEglobal=${HOMEgfs}

#### ${HOMEgfs}/dev/job_cards/rocoto/wavepostbndpntbll.sh
${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL
if [ $? -ne 0 ]; then
   ecflow_client --msg="***JOB ${ECF_NAME} ERROR RUNNING J-SCRIPT ***"
   ecflow_client --abort
   exit
fi

%include <tail.h>
%manual

%end

What each part does

Section Role
#PBS directives PBS Pro: 1 node, 40 mpiprocs/cpus, 15-min wall, shared placement.
load_modules.sh ufswm Loads UFS Weather Model modules (needed for WW3 post tools).
No WGF/FHR exports Single-instance per cycle.
${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL The J-Job.

2. Execution chain

ecf/defs/gfs_prod.def : task jgfs_wave_postbndpntbll
  +-- jgfs_wave_postbndpntbll.ecf                      (PBS submit)
       +-- ${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL  (J-Job)
            +-- ${SCRglobal}/exglobal_wave_post_pnt.sh   (shared ex-script)
                 +-- ww3_outp (WW3 point output extraction)
                 +-- Bulletin formatting

3. What the J-Job actually produces

The J-Job runs the shared wave point post-processing script with bulletin-specific flags:

Flag Value Effect
DOSPC_WAV NO Do NOT generate spectral output
DOBLL_WAV YES Generate bulletin output
DOBNDPNT_WAV YES Process boundary points specifically
FHMAX_WAV_PNT ${FHMAX_WAV_IBP} Max forecast hour for boundary points

Output: Wave boundary-point bulletins in ${COMOUT_WAVE_STATION}/

Error handling

Uses the EE2-correct pattern: && true + err_exit.


4. Key environment variables

Variable Origin Meaning
COMIN_WAVE_INIT J-Job (declare -rx) Wave initialization (mod_def files).
COMIN_WAVE_HISTORY J-Job (declare -rx) Wave model history output.
COMOUT_WAVE_STATION J-Job (declare -rx) Output: wave station products.
FHMAX_WAV_IBP config.wavepostbndpntbll Max forecast hour for boundary points.
DOSPC_WAV / DOBLL_WAV / DOBNDPNT_WAV J-Job Processing mode flags.
CFP_VERBOSE J-Job (1) CFP verbosity level.

Configuration

Sources jjob_header.sh -e "wavepostbndpntbll" -c "base wave wavepostgridded wavepostbndpntbll".


5. v17-specific notes

  • Shared ex-script: uses exglobal_wave_post_pnt.sh (same as jgfs_wave_postpnt, jgfs_wave_postbndpnt) with mode flags selecting bulletin behavior.
  • UFS modules required for WW3 point output tools.
  • 40 cpus for parallel processing of boundary point locations.
  • 15-min walltime — relatively fast since boundary points are a subset.
  • Centralized module loading via load_modules.sh ufswm.

6. Change-impact snapshot (from MCP, gw_v17)

Symbol Change type Risk Direct dependents
JGLOBAL_WAVE_POST_BNDPNTBLL behavior LOW (0.10) 0 (suite leaf)
exglobal_wave_post_pnt.sh signature MEDIUM Shared by 3 wave post tasks

Sources

  • On-disk v17 worktree: ecf/scripts/gfs/product/wave/station/jgfs_wave_postbndpntbll.ecf, dev/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL.
  • agentcore-mcp-rag MCP (tenant gw_v17): get_change_impact.
⚠️ **GitHub.com Fallback** ⚠️