Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrect octal notation causing ensemble vx to fail #966

Closed
michelleharrold opened this issue Nov 10, 2023 · 0 comments · Fixed by #997
Closed

Incorrect octal notation causing ensemble vx to fail #966

michelleharrold opened this issue Nov 10, 2023 · 0 comments · Fixed by #997
Assignees
Labels
bug Something isn't working

Comments

@michelleharrold
Copy link
Collaborator

Expected behavior

When running verification on ensembles with membership >=8, verification should successfully complete.

Current behavior

The current way for calculating ensmem_indx=$(printf "%0${VX_NDIGITS_ENSMEM_NAMES}d" "${ENSMEM_INDX}") is causing octal issues for members 8 and 9.

Machines affected

Any machine running ensemble verification will be affected.

Steps To Reproduce

Run WE2E test: ufs-srweather-app/tests/WE2E/test_configs/verification/config.MET_ensemble_verification.yaml
But change NUM_ENS_MEMBERS from 2 to 10.

Detailed Description of Fix (optional)

Perhaps there are better ways to address this, but this is one option of addressing the issue: ensmem_indx=$(printf "%0${VX_NDIGITS_ENSMEM_NAMES}d" $(( 10#${ENSMEM_INDX})))

This will need to be updated in exregional_check_post_output.sh, exregional_run_met_pcpcombine.sh, and exregional_run_met_gridstat_or_pointstat_vx.sh.

Thanks to @mkavulich for helping with this!

@michelleharrold michelleharrold added the bug Something isn't working label Nov 10, 2023
@mkavulich mkavulich self-assigned this Nov 16, 2023
MichaelLueken pushed a commit that referenced this issue Jan 11, 2024
…d new winter weather verification test with staged data (#997)

New test
* The new test MET_ensemble_verification_winter_wx is added. This test will exercise a number of yet-untested capabilities in the workflow, including a 10-member ensemble, snowfall verification with staged data (so can be run on all platforms, not just Jet and Hera), and several SPP settings.
* As part of this new test, snowfall observations will now be staged on all tier-1 platforms, as well as netCDF GFS data and other observation types, all for the date 2022020300

Resolved issues
* Incorrect octal notation causing ensemble vx to fail #966 Resolved: In several locations, an explicit conversion is done to ENSMEM_INDX to ensure it is a base-10 integer, to avoid problems with bash interpreting numbers with a leading zero as octal.
* Should "EXPT_SUBDIR" be a mandatory variable? #978 resolved: per discussion in a recent SRW code management meeting, give EXPT_SUBDIR a default value "experiment" to avoid unnecessary complications and work for users. Additionally, the default behavior if an experiment directory already exists is changed to "quit" rather than "delete"
* Issue mentioned in this discussion; the setting fhzero=6 is removed from the weather model namelist for CCPP suite FV3_GFS_v17_p8, which allows precipitation and other accumulations to be made every hour rather than 6 hours (SRW output is always hourly, so this makes sense). Also, update diag_table.FV3_GFS_v17_p8 so that all output files will be hourly
* Per discussion in [release/public-v2.2.0] Fix crontab bug for Cheyenne and Derecho, update PR template for new platforms #939, remove an unnecessary special case in get_crontab_contents.py for Derecho

Other fixes
* Some old files for unsupported/removed CCPP suites are removed
* Add some missing task dependencies for retrieving verification obs

General improvements
* Many improvements to verification obs-pulling task
   * NDAS observations are now retrieved for forecast hour zero, and a better obs file is retrieved for major obs times (00z, 06z, 12z, 18z) per EMC guidance
   * Better in-line comments/documentation
   * Standardize order and messaging for file-on-disk checks across all observation types
* Added explanatory comments for reflectivity field in diag_table files
* Update diag_table.FV3_GFS_v17_p8 so that all output files will be hourly
* Simplify task dependencies that rely on staged verification observations; these "get_obs" tasks should always be run (they check that the data exists before trying to retrieve it), so no need to make the dependency conditional
* Add a check in monitor_jobs.py to ensure the yaml file does not contain duplicate experiment directories
* Make sure the key in the experiment dictionary used by is unique by appending the current date/time to the exptdir name; additionally, set this key as the WORKFLOW_ID variable (so that it could be used in the workflow if necessary).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
2 participants