-
Notifications
You must be signed in to change notification settings - Fork 168
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
Update snow obs preprocessing job #2946
base: develop
Are you sure you want to change the base?
Update snow obs preprocessing job #2946
Conversation
Replace it with a direct read from BUFR at runtime.
workflow/rocoto/gfs_cycled_xml.py
Outdated
if self._app_config.do_jedisnowda: | ||
sdate_snocvr = self._base['SDATE'] | ||
edate_snocvr = self._base['EDATE'] | ||
interval_snocvr = to_timedelta(f"24:00:00H") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
interval_snocvr = to_timedelta(f"24:00:00H") | |
interval_snocvr = to_timedelta('24H') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Made changes. Thanks.
workflow/rocoto/gfs_tasks.py
Outdated
task_dict = {'task_name': task_name, | ||
'resources': resources, | ||
'dependency': dependencies, | ||
'envars': self.envars, | ||
'cycledef': self.run.replace('enkf', ''), | ||
'command': f'{self.HOMEgfs}/jobs/rocoto/prepsnowobs.sh', | ||
'cycledef': cycledef, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
'cycledef': cycledef, | |
'cycledef': 'gdas_prep_snocvr', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Made changes as suggested. Thanks.
workflow/rocoto/gfs_tasks.py
Outdated
|
||
deps = [] | ||
dep_dict = {'type': 'task', 'name': f'{self.run}prep'} | ||
deps.append(rocoto.add_dependency(dep_dict)) | ||
dependencies = rocoto.create_dependency(dep=deps) | ||
|
||
resources = self.get_resource('prepsnowobs') | ||
task_name = f'{self.run}prepsnowobs' | ||
cycledef = 'gdas_prep_snocvr' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cycledef = 'gdas_prep_snocvr' |
workflow/rocoto/gfs_tasks.py
Outdated
@@ -591,7 +592,10 @@ def prepsnowobs(self): | |||
def snowanl(self): | |||
|
|||
deps = [] | |||
dep_dict = {'type': 'task', 'name': f'{self.run}prepsnowobs'} | |||
if f'@H' == '00': |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@H
is a rocoto thing, so this doesn't have any meaning to python when this function is run and this won't work as-is. #2928 is adding support for the undocumented rocoto dependency <taskvalid>
. Once that is in, we can use it to make a dependency that works here:
<or>
<and>
<not><taskvalid task="{self.run}prepsnowcover"/></not>
<taskdep task="{self.run}prep"/>
</and>
<taskdep task="{self.run}prepsnowcover"/>
</or>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @WalterKolczynski-NOAA for the information. Your introduced <taskvalid>
above is exactly what we want here. For now, I made some changes here for a place holder.
<or>
<taskdep task="gdasprep"/>
<taskdep task="gdasprepsnowcover"/>
</or>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@WalterKolczynski-NOAA Do you want me to wait for your PR #2928 or proceed to review this PR? I can update to use <taskvalid>
after your PR is merged. Please let me know. Thanks.
@jiaruidong2017 can you resolve conflicts and then, if all his comments are addressed, re-request review from @WalterKolczynski-NOAA ? |
…2017/global-workflow into feature/ims_snowcover
@WalterKolczynski-NOAA The I conducted the test run, and the run was successful. Would you please review this PR? Thanks. |
CI Failed on Hera in Build# 3
|
Experiment C48_ATM FAILED on Hera in Build# 4 in |
Experiment C96C48_hybatmaerosnowDA FAILED on Hera in Build# 4 with error logs:
Follow link here to view the contents of the above file(s): (link) |
Experiment C96C48_hybatmaerosnowDA FAILED on Hera in Build# 4 in |
CI Failed on Hera in Build# 4
Experiment C48mx500_3DVarAOWCDA_ed78b8c4 Terminated with tasks failed and dead at Thu Oct 24 17:01:00 UTC 2024 |
It seems the |
@DavidHuber-NOAA Thanks for checking this. I don't why the I have generated the |
@jiaruidong2017 My apologies, you are correct. It did get written to the XML, but rocotostat does not show the task. I wonder if there is an issue with the dependencies. |
Ah, I see the issue. The cycledefs for the task is incorrect. It reads
but should be
|
Description
This PR modifies the workflow XML configuration so that the prep snow obs job only runs on the 00z cycle.
This PR also renames the
snow_obs
andsnowobs
to thesnowcover
for highlighting the input IMS data source as snow cover.Resolves (#2902)
Type of change
Change characteristics
How has this been tested?
Checklist