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

Convert forecast-only stage_ic job to python #2650

Closed
5 tasks done
KateFriedman-NOAA opened this issue Jun 3, 2024 · 1 comment · Fixed by #2651
Closed
5 tasks done

Convert forecast-only stage_ic job to python #2650

KateFriedman-NOAA opened this issue Jun 3, 2024 · 1 comment · Fixed by #2651
Assignees
Labels
feature New feature or request

Comments

@KateFriedman-NOAA
Copy link
Member

KateFriedman-NOAA commented Jun 3, 2024

What new functionality do you need?

The existing stage_ic job in forecast-only mode needs to be converted from shell to python. This should improve and enhance the job capabilities and make it more extensible.

This is a subtask of issue #2475.

What are the requirements for the new functionality?

Existing job functionality should be retained but converted to python and yaml.

Acceptance Criteria

Job still performs the same tasks.

TODO

  • update jobs/JGLOBAL_STAGE_IC to use .py version of ex-script
  • rename scripts/exglobal_stage_ic.sh to scripts/exglobal_stage_ic.py and convert to python
  • create ush/python/pygfs/task/stage.py and populate with defs for staging
  • create parm/stage and create yaml files within for each stage mode
  • check stage_ic job setup and dependencies
@KateFriedman-NOAA
Copy link
Member Author

Will take care of as part of PR for issue #2475. Closing as not needed.

WalterKolczynski-NOAA added a commit that referenced this issue Aug 20, 2024
This PR converts the staging job from shell to python and introduces the
use of yaml.

Changes in this PR:

1. Rename `scripts/exglobal_stage_ic.sh` to
`scripts/exglobal_stage_ic.py`.
2. Update `jobs/JGLOBAL_STAGE_IC` to use `.py` script extension. Move
`COM*` variable declarations and member loop down into yaml and python
respectively. Move `GDATE/gPDY/gcyc` settings up to JJOB from ex-script
and replace with newer cycle variables (as done in forecast job).
3. Create `parm/stage` folder to hold newly created `stage.yaml.j2`,
which both mimics forecast-only functionality in existing
`scripts/exglobal_stage_ic.sh` and adds functionality for cycled mode.
4. Create `ush/python/pygfs/task/stage.py` to house staging job python
functions for call from `scripts/exglobal_stage_ic.py`.
5. Remove `stage_ic` job rocoto dependencies from xml. Do not need and
removes area of duplicate maintenance.
6. Add cycled staging jobs for gdas and enkf suites.
7. Rename `model_data` to `model` for issue #2686

There will now be distinct `stage_ic` jobs for each `RUN`:
`gdasstage_ic`, `gfsstage_ic`, `enkfgdasstage_ic`, `stage_ic` (for
gefs).

Related work was done to set up new symlink folder structure under
supported platform `ICSDIR` folder for use by updated staging job.

Resolves #2475
Resolves #2650
Resolves #2686

---------

Co-authored-by: Rahul Mahajan <[email protected]>
Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
Co-authored-by: David Huber <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant