Repository navigation
Fix remaining Debug mode compiler warnings - #217
EdwardSafford-NOAA merged 4 commits into
Conversation
Fix debug warnings and run-time failures.
There was a problem hiding this comment.
Pull request overview
This PR targets remaining “Debug” build warnings and runtime failures in the Conventional Monitor components, primarily by tightening array bounds/metadata handling in the time-based ConMon statistics pipeline and cleaning up unused arguments. It also adds operational support for the ursa platform across configs/scripts/modulefiles.
Changes:
- Refactors/modernizes ConMon time-statistics routines (module packaging, assumed-shape arrays, safe type-loop bounds) and adjusts control-file generation call signatures.
- Updates multiple ConMon GrADS programs/readers to remove unused subtype-related arguments and improve NetCDF bookkeeping (file ID tracking).
- Adds ursa support in
parm/Mon_config, the data-extract driver script, and new/updated modulefiles.
Reviewed changes
Copilot reviewed 23 out of 23 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_time.fd/stas2ctl.f90 | Updates creatstas_ctl interface to use nc sizing instead of a fixed count parameter. |
| src/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_time.fd/stas_time.f90 | Wraps stascal in a module and switches key arrays to assumed-shape with safer loop bounds. |
| src/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_time.fd/stas_time_gps.f90 | Makes GPS stats arrays assumed-shape and bounds the type loop using ntype_eff. |
| src/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_time.fd/process_time_data.f90 | Allocates work arrays based on effective type counts and updates calls/interfaces for stats routines. |
| src/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_time.fd/mainconv_time.f90 | Updates creatstas_ctl call sites to match the new signature. |
| src/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_time.fd/conmon_read_diag.F90 | Simplifies NetCDF read interfaces and improves open-status indexing via find_ncdiag_id. |
| src/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sig.fd/grads_sig.f90 | Adds missing external declaration to avoid implicit interface warnings. |
| src/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sfctime.fd/maingrads_sfctime.f90 | Removes unused subtype argument plumbing in sfctime GrADS driver. |
| src/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sfctime.fd/grads_sfctime.f90 | Drops unused isubtype argument and adds missing extern declaration. |
| src/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sfctime.fd/conmon_read_diag.F90 | Aligns NetCDF read routine signatures with updated argument lists. |
| src/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sfc.fd/maingrads_sfc.f90 | Removes unused subtype argument plumbing in sfc GrADS driver. |
| src/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sfc.fd/grads_sfc.f90 | Drops unused isubtype argument. |
| src/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sfc.fd/conmon_read_diag.F90 | Aligns NetCDF read routine signatures with updated argument lists. |
| src/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_mandlev.fd/maingrads_mandlev.f90 | Removes unused subtype argument plumbing in mandlev GrADS driver. |
| src/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_mandlev.fd/grads_mandlev.f90 | Drops unused isubtype argument and adds missing extern declaration. |
| src/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_mandlev.fd/conmon_read_diag.F90 | Aligns NetCDF read routine signatures with updated argument lists. |
| src/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_lev.fd/maingrads_lev.f90 | Removes unused levcard/subtype plumbing in GrADS lev driver interface. |
| src/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_lev.fd/grads_lev.f90 | Drops unused parameters and adds missing extern declaration. |
| src/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_lev.fd/conmon_read_diag.F90 | Aligns NetCDF read routine signatures; minor comment cleanup needed. |
| src/Conventional_Monitor/data_extract/ush/ConMon_DE.sh | Adds missing input checks and introduces an ursa submission branch. |
| parm/Mon_config | Adds ursa to supported platforms and defines its queue/tank/tmp defaults. |
| modulefiles/ursa.intel.lua | Adds/adjusts ursa Intel environment modulefile (currently has a variable name issue). |
| modulefiles/ursa.intel-run.lua | Adds/adjusts ursa runtime modulefile (currently has a variable name issue). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Fix copilot identified issues.
|
All copilot suggested changes have been made. Executables have been rebuilt in both "Debug" and "Release" modes, and both modes have been re-tested on ursa and wcoss2. |
DavidHuber-NOAA
left a comment
There was a problem hiding this comment.
Changes look good. I just had a couple suggestions, but nothing critical. Approve.
Fix indentation.
Reset Radmon_user_settings to default values.
Fix copilot findings.
This PR accomplishes these things:
parm/Mon_configand module files as well as the ConMon's data extraction script.Testing was done on both ursa and wcoss2. Testing on ursa was done as part of development using a small sample of GDAS data. On wcoss2 executables built in both "Debug" and "Release" modes have been tested over separate 3-day periods using operational GDAS data. Results were nominal.
Closes #216