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

Missing enkfgdas_echgres dependency for metatask eanm #3165

Open
RussTreadon-NOAA opened this issue Dec 13, 2024 · 3 comments · May be fixed by #3202
Open

Missing enkfgdas_echgres dependency for metatask eanm #3165

RussTreadon-NOAA opened this issue Dec 13, 2024 · 3 comments · May be fixed by #3202
Assignees
Labels
bug Something isn't working

Comments

@RussTreadon-NOAA
Copy link
Contributor

What is wrong?

enkf.yaml.j2 lists _echgres.log as a required archive file to archive. However, metatask eanm only has a dependency on enkfgdas_epmn. Thus, enkfgdas_earc00 will fail if the enkfgdas_epmn dependency is satisfied before enkfgdas_echgres completes.

What should have happened?

enkfgdas_earc00 should not fail.

What machines are impacted?

All or N/A

What global-workflow hash are you using?

0db859e

Steps to reproduce

  1. install g-w develop
  2. trigger g-w CI which includes gdas and enkfgdas cycles
  3. force enkfgdas_echgres to NOT run
  4. let metatask enkfgdas_epmn finish
  5. rocotoboot enkgdas_earc00

The enkfgdas_earc00 job will fail with a FileNotFound message. For example,

FileNotFoundError: FATAL ERROR: Required file, directory, or glob logs/2021122018/enkfgdas_echgres.log not found!
+ JGDAS_ENKF_ARCHIVE[1]: postamble JGDAS_ENKF_ARCHIVE 1734113838 1

Additional information

No response

Do you have a proposed solution?

The following change to workflow/rocoto/gfs_tasks.py adds enkfgdas_echgres as a dependency to metatask enkfgdas_eamn

@@ -2898,6 +2898,8 @@ class GFSTasks(Tasks):
         deps = []
         dep_dict = {'type': 'metatask', 'name': f'{self.run}_epmn'}
         deps.append(rocoto.add_dependency(dep_dict))
+        dep_dict = {'type': 'task', 'name': 'enkfgdas_echgres'}
+        deps.append(rocoto.add_dependency(dep_dict))
         dependencies = rocoto.create_dependency(dep=deps)

         earcenvars = self.envars.copy()

When the revised gfs_tasks.py is used to generate the xml, we get the following dependencies for metatask enkfgdas_eamn

                <dependency>
                        <metataskdep metatask="enkfgdas_epmn"/>
                        <taskdep task="enkfgdas_echgres"/>
                </dependency>
@RussTreadon-NOAA RussTreadon-NOAA added bug Something isn't working triage Issues that are triage labels Dec 13, 2024
@WalterKolczynski-NOAA WalterKolczynski-NOAA removed the triage Issues that are triage label Dec 16, 2024
@mingshichen-noaa
Copy link
Contributor

mingshichen-noaa commented Dec 17, 2024 via email

@aerorahul
Copy link
Contributor

#3201 is likely a duplicate of this issue.
#3202 will resolve this issue.

@aerorahul aerorahul linked a pull request Jan 3, 2025 that will close this issue
22 tasks
@aerorahul
Copy link
Contributor

The proposed solution in the issue description needs to be encapsulated in an <and> </and> condition to yield a valid rocoto dependency.

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.

4 participants