forked from NOAA-EMC/global-workflow
-
Notifications
You must be signed in to change notification settings - Fork 0
jgfs_marine_bmat ecf (v17) Analysis
Terry McGuinness edited this page Jun 11, 2026
·
2 revisions
Branch / tenant: dev/gfs.v17 (gw_v17)
Path: ecf/scripts/gfs/analysis/marine/jgfs_marine_bmat.ecf
Analysis date: 2026-06-11
Method: AWS Bedrock AgentCore agentcore-mcp-rag MCP cross-checked against the on-disk v17 worktree.
jgfs_marine_bmat.ecf is the NCO production ecFlow task that computes the marine background error covariance matrix (B-matrix) for the ocean/ice data assimilation. This is a computationally intensive task using ensemble statistics to characterize background uncertainty. It calls JGLOBAL_MARINE_BMAT.
| Section | Detail |
|---|---|
| PBS resources | 8 nodes, 64 cpus/node = 512 MPI ranks, 500 GB/node, exclusive host, 30-min wall |
| Modules |
load_modules.sh ufsda (JEDI/SOCA stack) |
| J-Job | JGLOBAL_MARINE_BMAT |
| Rocoto breadcrumb | marinebmat.sh |
jgfs_marine_bmat.ecf
+-- JGLOBAL_MARINE_BMAT
+-- exglobal_marine_bmat.py (Python/pygfs)
+-- Computes ocean B-matrix from ensemble spread
+-- Computes ice B-matrix
+-- Uses SOCA/OOPS bump operators
| Variable | Meaning |
|---|---|
COMIN_OCEAN_BMATRIX |
Output: ocean B-matrix |
COMIN_ICE_BMATRIX |
Output: ice B-matrix |
Sources jjob_header.sh -e "marinebmat" -c "base marineanl marinebmat" (inferred from pattern).
- Heavy resources: 8 nodes x 64 cpus = 512 ranks with 500 GB per node. This is one of the most memory-intensive DA tasks.
- Exclusive host placement — full-node allocation.
-
Python-based driver using
pygfsand SOCA/OOPS B-matrix computation. -
JEDI/SOCA: loads
ufsdamodules. - Part of marine DA chain: after
anl_init/bmat_init, beforeanlvar.
| Symbol | Risk | Notes |
|---|---|---|
JGLOBAL_MARINE_BMAT |
MEDIUM | Feeds B-matrix to marine variational solver |
- On-disk v17 worktree:
ecf/scripts/gfs/analysis/marine/jgfs_marine_bmat.ecf. - MCP (tenant
gw_v17): on-disk analysis.