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 early cycle earc dependency #3244

Closed
TravisElless-NOAA opened this issue Jan 21, 2025 · 3 comments · Fixed by #3246
Closed

Incorrect early cycle earc dependency #3244

TravisElless-NOAA opened this issue Jan 21, 2025 · 3 comments · Fixed by #3246
Assignees
Labels
bug Something isn't working

Comments

@TravisElless-NOAA
Copy link
Contributor

What is wrong?

PR #3202 added a chgres dependency to the earc job. However, since the chgres job is not included in the early cycle tasks, this dependency results in the early cycle earc job failing to launch.

What should have happened?

The early cycle earc task should not have a chgres dependency

What machines are impacted?

All or N/A

What global-workflow hash are you using?

01eeb24

Steps to reproduce

  1. Create an experiment which runs the early cycle enkf (set EUPD_CYC="BOTH" in config.base)
  2. Check dependencies for enkfgfs_eamn in xml file

Additional information

No response

Do you have a proposed solution?

The chgres dependency should only be included for the late cycle earc task.

@TravisElless-NOAA TravisElless-NOAA added bug Something isn't working triage Issues that are triage labels Jan 21, 2025
@aerorahul
Copy link
Contributor

@TravisElless-NOAA
Should we run the echgres job in the early cycle? I think we will need that for the GEFS initialization, no?

@aerorahul
Copy link
Contributor

@TravisElless-NOAA
It is not difficult to add echgres dependency only to the RUN=enkfgdas:

diff --git i/workflow/rocoto/gfs_tasks.py w/workflow/rocoto/gfs_tasks.py
index 768512ba..08d260fe 100644
--- i/workflow/rocoto/gfs_tasks.py
+++ w/workflow/rocoto/gfs_tasks.py
@@ -2919,12 +2919,14 @@ class GFSTasks(Tasks):
         deps = []
         if 'enkfgdas' in self.run:
             dep_dict = {'type': 'metatask', 'name': f'{self.run}_epmn'}
-        else:
+            deps.append(rocoto.add_dependency(dep_dict))
+            dep_dict = {'type': 'task', 'name': f'{self.run}_echgres'}
+            deps.append(rocoto.add_dependency(dep_dict))
+            dependencies = rocoto.create_dependency(dep_condition='and', dep=deps)
+        else:  # early cycle enkf run (enkfgfs)
             dep_dict = {'type': 'task', 'name': f'{self.run}_esfc'}
-        deps.append(rocoto.add_dependency(dep_dict))
-        dep_dict = {'type': 'task', 'name': f'{self.run}_echgres'}
-        deps.append(rocoto.add_dependency(dep_dict))
-        dependencies = rocoto.create_dependency(dep_condition='and', dep=deps)
+            deps.append(rocoto.add_dependency(dep_dict))
+            dependencies = rocoto.create_dependency(dep=deps)

         earcenvars = self.envars.copy()
         earcenvars.append(rocoto.create_envar(name='ENSGRP', value='#grp#'))

Would you mind giving this patch a try in your test for early cycle?
The current CI tests do not have an early cycle EnKF test, so won't be able to test easily with current setups.
Thanks!

@TravisElless-NOAA
Copy link
Contributor Author

My understanding of the chgres job is that it changes forecast field resolution for the current cycle's forecast. Since we are not running a forecast job in the early cycle there is nothing for this job to do. Any ensres forecast history files needed for a current analcalc job will still come from the chgres job in the previous late cycle.

This suggested change does indeed create the correct this dependency issue.

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
Development

Successfully merging a pull request may close this issue.

3 participants