jgfs_wave_postbndpntbll ecf (v17) Analysis - TerrenceMcGuinness-NOAA/global-workflow GitHub Wiki
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.
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.
#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| 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. |
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
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}/
Uses the EE2-correct pattern: && true + err_exit.
| 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. |
Sources jjob_header.sh -e "wavepostbndpntbll" -c "base wave wavepostgridded wavepostbndpntbll".
-
Shared ex-script: uses
exglobal_wave_post_pnt.sh(same asjgfs_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.
| 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 |
- On-disk v17 worktree:
ecf/scripts/gfs/product/wave/station/jgfs_wave_postbndpntbll.ecf,dev/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL. -
agentcore-mcp-ragMCP (tenantgw_v17):get_change_impact.