Skip to content

[develop] Eliminate Wave Postprocessing Warnings and Suppress Creation of Empty Output Directories#4752

Open
AntonMFernando-NOAA wants to merge 40 commits intoNOAA-EMC:developfrom
AntonMFernando-NOAA:bug/warning_wave
Open

[develop] Eliminate Wave Postprocessing Warnings and Suppress Creation of Empty Output Directories#4752
AntonMFernando-NOAA wants to merge 40 commits intoNOAA-EMC:developfrom
AntonMFernando-NOAA:bug/warning_wave

Conversation

@AntonMFernando-NOAA
Copy link
Copy Markdown
Contributor

@AntonMFernando-NOAA AntonMFernando-NOAA commented Apr 6, 2026

Description

Type of change

  • Bug fix (fixes something broken)
  • New feature (adds functionality)
  • Maintenance (code refactor, clean-up, new CI test, etc.)

Change characteristics

  • Is this change expected to change outputs (e.g. value changes to existing outputs, new files stored in COM, files removed from COM, filename changes, additions/subtractions to archives)? NO (If YES, please indicate to which system(s))
    • GFS
    • GEFS
    • SFS
    • GCAFS
  • Is this a breaking change (a change in existing functionality)? NO
  • Does this change require a documentation update? NO
  • Does this change require an update to any of the following submodules? NO (If YES, please add a link to any PRs that are pending.)
    • EMC verif-global
    • GDAS
    • GFS-utils
    • GSI
    • GSI-monitor
    • GSI-utils
    • UFS-utils
    • UFS-weather-model
    • wxflow

How has this been tested?

  • Run the global workflow with the C48_S2SW configuration and review the gfs_wavepostsbs_f*.log files on WCOSS2 to confirm that wavepostsbs job warnings are resolved.
  • Test this branch on hera (optional WCOSS2) and compare the results with the develop branch to confirm that the only difference is the absence of empty directories.

Checklist

  • Any dependent changes have been merged and published
  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have documented my code, including function, input, and output descriptions
  • My changes generate no new warnings
  • New and existing tests pass with my changes
  • This change is covered by an existing CI test or a new one has been added
  • Any new scripts have been added to the .github/CODEOWNERS file with owners
  • I have made corresponding changes to the system documentation if necessary

AntonMFernando-NOAA and others added 29 commits March 25, 2026 19:46
… track_dir_out is created before archiving outputs
…directory creation only when files are added to the archive
…section and ensure tarball is always copied to COM in jedi.py
@AntonMFernando-NOAA AntonMFernando-NOAA changed the title Bug/warning wave Eliminate Wave Postprocessing Warnings and Suppress Creation of Empty Output Directories Apr 6, 2026
@AntonMFernando-NOAA
Copy link
Copy Markdown
Contributor Author

AntonMFernando-NOAA commented Apr 8, 2026

@JessicaMeixner-NOAA @DavidHuber-NOAA

  1. After running the full suite on WCOSS2, here are the results: the WMO standard warning has been eliminated, and the output files are identical. Verified with, for example: C48_S2SW_extended/gfs.20210323/12/products/wave/gridded/global.0p16/gfs.t12z.global.0p16.f019.grib2.

  2. The current branch generates all the files produced by the develop branch, with one exception in the C96C48_hybatmsoilDA case: a set of files that are empty. The develop branch creates these empty files, and I’m currently investigating how to reproduce that behavior.

Directory                                                         |  develop  |   branc   | Diff
=============================================================================================================
gdas.20220515/12/products/snow/anlmon                             |     2     |     0     | -2 (Dev has more)
gdas.20220515/18/products/snow/anlmon                             |     2     |     0     | -2 (Dev has more)

@JessicaMeixner-NOAA
Copy link
Copy Markdown
Contributor

@JessicaMeixner-NOAA @DavidHuber-NOAA

  1. After running the full suite on WCOSS2, here are the results: the WMO standard warning has been eliminated, and the output files are identical. Verified with, for example: C48_S2SW_extended/gfs.20210323/12/products/wave/gridded/global.0p16/gfs.t12z.global.0p16.f019.grib2.

I'm pretty surprised these files are identical. Can you share the two paths?

@AntonMFernando-NOAA
Copy link
Copy Markdown
Contributor Author

  1. C48_S2SW_extended/gfs.20210323/12/products/wave/gridded/global.0p16/gfs.t12z.global.0p16.f019.grib2

develop: /lfs/h2/emc/stmp/anton.fernando/RUNTESTS/COMROOT/C48_S2SW_extended_d/gfs.20210323/12/products/wave/gridded/global.0p16/gfs.t12z.global.0p16.f019.grib2
this branch:
/lfs/h2/emc/stmp/anton.fernando/RUNTESTS/COMROOT/C48_S2SW_extended_t/gfs.20210323/12/products/wave/gridded/global.0p16/gfs.t12z.global.0p16.f019.grib2

Ran this command:
cmp -s /lfs/h2/emc/stmp/anton.fernando/RUNTESTS/COMROOT/C48_S2SW_extended_d/gfs.20210323/12/products/wave/gridded/global.0p16/gfs.t12z.global.0p16.f019.grib2 /lfs/h2/emc/stmp/anton.fernando/RUNTESTS/COMROOT/C48_S2SW_extended_t/gfs.20210323/12/products/wave/gridded/global.0p16/gfs.t12z.global.0p16.f019.grib2 && echo "identical" || echo "different"

@JessicaMeixner-NOAA
Copy link
Copy Markdown
Contributor

Thanks for sharing paths @AntonMFernando-NOAA !

@JessicaMeixner-NOAA
Copy link
Copy Markdown
Contributor

Okay - well I see in the log file where the second wgrib2 command was called, but the packing is still the same which seems odd to me:

wgrib2 gfs.t12z.global.0p16.f210.grib2 -packing
1:0:packing=grid point data - complex packing,c1b
2:261755:packing=grid point data - complex packing,c1b
3:1101617:packing=grid point data - complex packing,c1b

@AntonMFernando-NOAA
Copy link
Copy Markdown
Contributor Author

Okay - well I see in the log file where the second wgrib2 command was called, but the packing is still the same which seems odd to me:

wgrib2 gfs.t12z.global.0p16.f210.grib2 -packing
1:0:packing=grid point data - complex packing,c1b
2:261755:packing=grid point data - complex packing,c1b
3:1101617:packing=grid point data - complex packing,c1b

My assumption is that the original input GRIB2 file uses c2 packing, since the command preserves the same packing as the input file. I tested this using simple packing, and it produced a larger file, so this seems like a reasonable alternative.

@AntonMFernando-NOAA
Copy link
Copy Markdown
Contributor Author

  1. The WMO standard warning has been removed, and the output files now match exactly.
  2. The current branch produces all the files generated by the develop branch.
    Opening the PR for full review now.
    @JessicaMeixner-NOAA @DavidHuber-NOAA
    WCOSS2 tests have passed.
Thu Apr  9 15:16:36 UTC 2026
******** C48_ATM_t ********
  commit: 45b62155   branch: bug/warning_wave
   CYCLE         STATE           ACTIVATED              DEACTIVATED     
202103231200        Done    Apr 08 2026 23:50:20    Apr 09 2026 00:45:17

******** C48mx500_3DVarAOWCDA_t ********
  commit: 45b62155   branch: bug/warning_wave
   CYCLE         STATE           ACTIVATED              DEACTIVATED     
202103241800        Done    Apr 08 2026 23:50:21    Apr 09 2026 01:05:16
202103250000        Done    Apr 08 2026 23:50:21    Apr 09 2026 01:25:10

******** C48mx500_hybAOWCDA_t ********
  commit: 45b62155   branch: bug/warning_wave
   CYCLE         STATE           ACTIVATED              DEACTIVATED     
202103241800        Done    Apr 08 2026 23:50:14    Apr 09 2026 00:10:21
202103250000        Done    Apr 08 2026 23:50:14    Apr 09 2026 01:15:14

******** C48_S2SWA_gefs_t ********
  commit: 45b62155   branch: bug/warning_wave
   CYCLE         STATE           ACTIVATED              DEACTIVATED     
202103231200        Done    Apr 08 2026 23:50:21    Apr 09 2026 01:10:23

******** C48_S2SW_extended_t ********
  commit: 45b62155   branch: bug/warning_wave
   CYCLE         STATE           ACTIVATED              DEACTIVATED     
202103231200        Done    Apr 08 2026 23:54:18    Apr 09 2026 02:20:19
202103231800        Done    Apr 08 2026 23:54:18    Apr 09 2026 02:16:03

******** C96_atm3DVar_extended_t ********
  commit: 45b62155   branch: bug/warning_wave
   CYCLE         STATE           ACTIVATED              DEACTIVATED     
202112201800        Done    Apr 08 2026 23:54:21    Apr 09 2026 02:15:45
202112210000        Done    Apr 08 2026 23:54:21    Apr 09 2026 04:35:13
202112210600        Done    Apr 08 2026 23:54:21    Apr 09 2026 05:25:17
202112211200        Done    Apr 09 2026 02:20:20    Apr 09 2026 06:55:14
202112211800        Done    Apr 09 2026 04:40:15    Apr 09 2026 09:30:17

******** C96C48_hybatmDA_t ********
  commit: 45b62155   branch: bug/warning_wave
   CYCLE         STATE           ACTIVATED              DEACTIVATED     
202112201800        Done    Apr 08 2026 23:50:18    Apr 09 2026 00:10:14
202112210000        Done    Apr 08 2026 23:50:18    Apr 09 2026 02:00:10
202112210600        Done    Apr 08 2026 23:50:18    Apr 09 2026 01:50:20

******** C96C48_hybatmsnowDA_t ********
  commit: 45b62155   branch: bug/warning_wave
   CYCLE         STATE           ACTIVATED              DEACTIVATED     
202112201200        Done    Apr 08 2026 23:54:01    Apr 09 2026 00:15:16
202112201800        Done    Apr 08 2026 23:54:01    Apr 09 2026 02:05:17
202112210000        Done    Apr 08 2026 23:54:01    Apr 09 2026 01:55:17

******** C96C48_hybatmsoilDA_t ********
  commit: 45b62155   branch: bug/warning_wave
   CYCLE         STATE           ACTIVATED              DEACTIVATED     
202205150600        Done    Apr 08 2026 23:50:54    Apr 09 2026 00:15:16
202205151200        Done    Apr 08 2026 23:50:54    Apr 09 2026 02:05:08
202205151800        Done    Apr 08 2026 23:50:54    Apr 09 2026 02:00:55

******** C96C48mx500_S2SW_cyc_gfs_t ********
  commit: 45b62155   branch: bug/warning_wave
   CYCLE         STATE           ACTIVATED              DEACTIVATED     
202112201200        Done    Apr 08 2026 23:54:10    Apr 09 2026 01:35:52
202112201800        Done    Apr 08 2026 23:54:10    Apr 09 2026 02:40:21
202112210000        Done    Apr 08 2026 23:54:10    Apr 09 2026 03:00:14
202112211800        Done    Apr 09 2026 01:40:20    Apr 09 2026 03:10:19

******** C96C48_ufsgsi_hybatmDA_t ********
  commit: 45b62155   branch: bug/warning_wave
   CYCLE         STATE           ACTIVATED              DEACTIVATED     
202402231800        Done    Apr 08 2026 23:54:08    Apr 09 2026 00:15:35
202402240000        Done    Apr 08 2026 23:54:08    Apr 09 2026 02:20:20
202402240600        Done    Apr 08 2026 23:54:08    Apr 09 2026 02:05:16

******** C96C48_ufs_hybatmDA_t ********
  commit: 45b62155   branch: bug/warning_wave
   CYCLE         STATE           ACTIVATED              DEACTIVATED     
202402231800        Done    Apr 08 2026 23:54:06    Apr 09 2026 00:15:35
202402240000        Done    Apr 08 2026 23:54:06    Apr 09 2026 02:20:34
202402240600        Done    Apr 08 2026 23:54:06    Apr 09 2026 02:00:52

******** C96_gcafs_cycled_noDA_t ********
  commit: 45b62155   branch: bug/warning_wave
   CYCLE         STATE           ACTIVATED              DEACTIVATED     
202112201200        Done    Apr 08 2026 23:54:14    Apr 09 2026 00:15:11
202112201800        Done    Apr 08 2026 23:54:14    Apr 09 2026 02:16:02
202112210000        Done    Apr 08 2026 23:54:14    Apr 09 2026 01:05:37

******** C96_gcafs_cycled_t ********
  commit: 45b62155   branch: bug/warning_wave
   CYCLE         STATE           ACTIVATED              DEACTIVATED     
202112201200        Done    Apr 08 2026 23:54:12    Apr 09 2026 00:15:41
202112201800        Done    Apr 08 2026 23:54:12    Apr 09 2026 02:30:12
202112210000        Done    Apr 08 2026 23:54:12    Apr 09 2026 01:35:11

******** C96mx100_S2S_t ********
  commit: 45b62155   branch: bug/warning_wave
   CYCLE         STATE           ACTIVATED              DEACTIVATED     
199405010000        Done    Apr 08 2026 23:54:16    Apr 09 2026 01:25:39

Copy link
Copy Markdown
Contributor

@AndrewEichmann-NOAA AndrewEichmann-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These seem to be getting rid of directories that are still used for the coupled marine


mkdir -m 775 -p "${COMOUT_OCEAN_ANALYSIS}"
mkdir -m 775 -p "${COMOUT_ICE_ANALYSIS}"
mkdir -m 775 -p "${COMOUT_ICE_RESTART}"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is still used

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AndrewEichmann-NOAA JGLOBAL_MARINE_ANALYSIS_FINALIZE declares the variable but never actually uses it. The real usage happens in the FORECAST job via CICE_out() in ush/forecast_postdet.sh.

This PR, included the directory creation inside if [[ -s "${cmdfile}" ]] (L780 and L910). This means the directory is only created when there are actual CICE or MOM6 restart files to copy.


declare -rx COMOUT_CONF="${ROTDIR}/${RUN}.${PDY}/${cyc}/ensstat/conf"

if [[ ! -d "${COMOUT_OCEAN_LETKF}" ]]; then mkdir -p "${COMOUT_OCEAN_LETKF}"; fi
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not always used right now, but is when marine LETKF runs. This is expected to be the default

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AndrewEichmann-NOAA These directories are created by the Python workflow engine (via the YAML mkdir: list). So removing the shell mkdir has no effect.

Copy link
Copy Markdown
Contributor

@JessicaMeixner-NOAA JessicaMeixner-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for sorting out the wave postprocessing warnings.

We might need to make a couple adjustments for that in the dev/gfsv17 branch.

@AntonMFernando-NOAA
Copy link
Copy Markdown
Contributor Author

Thanks for sorting out the wave postprocessing warnings.

We might need to make a couple adjustments for that in the dev/gfsv17 branch.

Thanks, @JessicaMeixner-NOAA! Let me know if you want me to add these adjustments to dev/gfsv17 branch.

@DavidHuber-NOAA
Copy link
Copy Markdown
Contributor

Launching CI on Ursa.

@emcbot emcbot added CI-Ursa-Ready **CM use only** PR is ready for CI testing on Ursa CI-Ursa-Building **Bot use only** CI testing is cloning/building on Ursa CI-Ursa-Running **Bot use only** CI testing on Ursa for this PR is in-progress and removed CI-Ursa-Ready **CM use only** PR is ready for CI testing on Ursa CI-Ursa-Building **Bot use only** CI testing is cloning/building on Ursa labels Apr 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI-Ursa-Running **Bot use only** CI testing on Ursa for this PR is in-progress

Projects

None yet

6 participants