Skip to content

Add task to process reforecast variables to save on WCOSS2#2680

Merged
WalterKolczynski-NOAA merged 157 commits into
NOAA-EMC:developfrom
EricSinsky-NOAA:feature/extractvars
Jul 23, 2024
Merged

Add task to process reforecast variables to save on WCOSS2#2680
WalterKolczynski-NOAA merged 157 commits into
NOAA-EMC:developfrom
EricSinsky-NOAA:feature/extractvars

Conversation

@EricSinsky-NOAA
Copy link
Copy Markdown
Contributor

@EricSinsky-NOAA EricSinsky-NOAA commented Jun 12, 2024

Description

This PR adds an optional task to the global-workflow to process a subset of ocean, ice, wave and atmosphere products to be saved on WCOSS2 for the GEFSv13 reforecast. This task is designed to process GEFS variables so that specific reforecast product requirements are met. A new variable in config.base called DO_EXTRACTVARS enables this task, which is currently called extractvars. DO_EXTRACTVARS is set to NO by default and is specifically a task designed to be executed for the GEFSv13 reforecast.

Refs #1878

Type of change

  • New feature (adds functionality)

Change characteristics

  • Is this a breaking change (a change in existing functionality)? NO
  • Does this change require a documentation update? NO

How has this been tested?

This has been cloned and tested on WCOSS2. This will need to be tested on Hera and other platforms on which the reforecast may be running.

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
  • My changes generate no new warnings
  • New and existing tests pass with my changes
  • I have made corresponding changes to the documentation if necessary

A rocoto task has been added to process the reforecast variables. A config file has been created for this task. Resources specific to this task have also been added to config.resources.
The topmost extractvars script has been added to the global workflow rocoto subdirectory.
The extractvars job dependency has been updated so that extractvars is triggered by the completion of wave_post_grid.
A new JGLOBAL script has been added for the extractvars task.
Scripts have been added which allow the processing of atmosphere reforecast variables.
Parm files have been added that provide a variable list specific to reforecast variables to be saved on disk.
The extractvars scripts have been simplified.
Corrections were made to some new scripts.
A script has been added to process the ocean and ice variables for the reforecast. Parm files for ocean and ice have also been added.
A script has been added to process the wave variables for the reforecast.
The script that processes waves in the extractvars task has been cleaned up.
The brackets have been fixed in gefs_tasks.py
A wave output frequency variable has been added that allows a specific wave forecast output frequency for data saved on disk.
Shellnorms is set to run on every git push.
An FHMAX variable has been added to the wave script in the extractvars task so that an unbound error can be avoided.
The JGLOBAL_EXTRACTVARS script has been refined.
More scripts have been cleaned up.
The extactvars script has been cleaned up.
@emcbot emcbot added CI-Hera-Failed **Bot use only** CI testing on Hera for this PR has failed CI-Hercules-Running **Bot use only** CI testing on Hercules for this PR is in-progress and removed CI-Hera-Building **Bot use only** CI testing is cloning/building on Hera labels Jul 19, 2024
Comment thread ush/wave_extractvars.sh Outdated

if [[ -f "${infile}" ]]; then #check if input file exists before extraction
# shellcheck disable=SC2312
${WGRIB2} "${infile}" | grep -F -f "${varlist_wav}" | ${WGRIB2} -i "${infile}" -append -grib "${outfile}">/dev/null
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.

Should we be checking the status of this call? The output is being sent to /dev/null.
If there is any issue with this call, it will not be seen.

Comment thread ush/atmos_extractvars.sh Outdated
for infile in "${infile1}" "${infile2}"; do
if [[ -f "${infile}" ]]; then # check if input file exists before extraction
# shellcheck disable=SC2312
${WGRIB2} "${infile}" | grep -F -f "${varlist}" | ${WGRIB2} -i "${infile}" -append -grib "${outfile}" > /dev/null
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.

Same comment as before. Any issue in this call will be sent to /dev/null. It should at least be checked for a exit code 0 to ensure the command was successful before proceeding.

@DavidHuber-NOAA
Copy link
Copy Markdown
Contributor

The runner failed due to disk space restrictions while cloning. This appears to be a restriction on Jenkins, even though it is cloning to Hera. I will investigate this and apply a fix in #2780 before launching again.

@emcbot emcbot removed the CI-Hercules-Running **Bot use only** CI testing on Hercules for this PR is in-progress label Jul 19, 2024
@emcbot
Copy link
Copy Markdown

emcbot commented Jul 19, 2024

Experiment C96_atm3DVar FAILED on Hercules in
/work2/noaa/stmp/CI/HERCULES/2680/RUNTESTS/EXPDIR/C96_atm3DVar_f7357eaa

@emcbot
Copy link
Copy Markdown

emcbot commented Jul 19, 2024

Experiment C96C48_hybatmDA FAILED on Hercules in
/work2/noaa/stmp/CI/HERCULES/2680/RUNTESTS/EXPDIR/C96C48_hybatmDA_f7357eaa

@aerorahul aerorahul self-requested a review July 22, 2024 13:38
Copy link
Copy Markdown
Contributor

@aerorahul aerorahul left a comment

Choose a reason for hiding this comment

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

Changes look good.

@aerorahul aerorahul removed CI-Hera-Failed **Bot use only** CI testing on Hera for this PR has failed CI-Hercules-Failed **Bot use only** CI testing on Hercules for this PR has failed labels Jul 22, 2024
@DavidHuber-NOAA DavidHuber-NOAA added the CI-Hercules-Ready **CM use only** PR is ready for CI testing on Hercules label Jul 22, 2024
@emcbot emcbot added CI-Hercules-Building **Bot use only** CI testing is cloning/building on Hercules and removed CI-Hercules-Ready **CM use only** PR is ready for CI testing on Hercules CI-Hercules-Building **Bot use only** CI testing is cloning/building on Hercules labels Jul 22, 2024
@emcbot
Copy link
Copy Markdown

emcbot commented Jul 22, 2024

CI Passed Hercules at
Built and ran in directory /work2/noaa/stmp/CI/HERCULES/2680


Experiment C48_ATM_68b3e242 Completed 1 Cycles: *SUCCESS* at Mon Jul 22 03:33:16 PM CDT 2024
Experiment C48_S2SW_68b3e242 Completed 1 Cycles: *SUCCESS* at Mon Jul 22 04:24:33 PM CDT 2024
Experiment C96C48_hybatmDA_68b3e242 Completed 3 Cycles: *SUCCESS* at Mon Jul 22 04:46:14 PM CDT 2024
Experiment C96_atm3DVar_68b3e242 Completed 3 Cycles: *SUCCESS* at Mon Jul 22 04:52:11 PM CDT 2024
Experiment C48_S2SWA_gefs_68b3e242 Completed 1 Cycles: *SUCCESS* at Mon Jul 22 05:58:22 PM CDT 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI-Hercules-Passed **Bot use only** CI testing on Hercules for this PR has completed successfully

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants