Skip to content

A design of 4 cycled ecflow definition to be used for NCO SPA tag up meeting#4652

Draft
lgannoaa wants to merge 1 commit intoNOAA-EMC:dev/gfs.v17from
lgannoaa:feature/gfsv17_cycled_ecflow_def
Draft

A design of 4 cycled ecflow definition to be used for NCO SPA tag up meeting#4652
lgannoaa wants to merge 1 commit intoNOAA-EMC:dev/gfs.v17from
lgannoaa:feature/gfsv17_cycled_ecflow_def

Conversation

@lgannoaa
Copy link
Contributor

This draft PR is for NCO SPA to checkout in our weekly meeting.

Copy link

@RussellManser-NCO RussellManser-NCO left a comment

Choose a reason for hiding this comment

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

Hi @lgannoaa, thanks for providing this PR for review. I have commented on specific jobs and families that could be modified. I have some more general comments and questions as well.

I am still considering how prep and init families should be organized. Here are some of my related observations:

  • It appears that multiple jobs and families depend on prep and init jobs
  • Some jobs write to e.g., gfs.$PDY/$cyc/obs and others to directories specific to a step and component. For example, gfs/init/marine/jgfs_marine_bmat_init writes to gfs.$PDY/$cyc/bmatrix/{ocean,ice}
  • Ultimately, I am not sure if it makes sense to reorganize these families to align with the COM structure

Related to the above, I started discussing the ecFlow design with my colleagues on the SPA team. Many of them have more extensive historical context and expertise that may help me provide better guidance. I will pass along feedback as I receive it.

Finally, I only reviewed the 00 cycle. I expect that 06, 12, and 18 are extremely similar, so my comments apply to those cycles as well. If my assumption is wrong, please let me know.

Comment on lines +22 to +25
task jgfs_atmos_prep_fsm
edit RJN 'prep'
trigger :TIME >= 0300 and :TIME < 0330
event 1 release_gfs_atmos_prep

Choose a reason for hiding this comment

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

Does this task perform any work? From what I can see it triggers jgf_atmos_prep between 0300Z and 0330Z. If that is the only work this job is doing, I recommend the following:

  • Include the time triger in jgfs_atmos_prep
  • Remove jgfs_atmos_prep_fsm

Choose a reason for hiding this comment

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

@lgannoaa We discussed that this job will remain while EMC is running GFS v17. When NCO starts running GFS v17, we may revisit this job to see if an ecFlow trigger is more appropriate.

Comment on lines +31 to +34
task jgfs_marine_prep_fsm
edit RJN 'prep'
trigger :TIME >= 0300 and :TIME < 0330
event 1 release_gfs_marine_prepoceanobs

Choose a reason for hiding this comment

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

Similar to the previous comment. If the purpose of jfs_marine_prep_fsm is only to trigger jgfs_marine_prepoceanobs, you can

  • Move the time trigger to gfs_marine_prepoceanobs
  • Remove jgfs_marine_prep_fsm

Choose a reason for hiding this comment

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

@lgannoaa We discussed that this job will remain while EMC is running GFS v17. When NCO starts running GFS v17, we may revisit this job to see if an ecFlow trigger is more appropriate.

Comment on lines +603 to +604
task jgfs_fcst
trigger ../analysis/atmos==complete and ../init/marine==complete and ../analysis/marine==complete

Choose a reason for hiding this comment

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

From discussion on the ecFlow review slides that I shared, I am inferring that jgfs_fcst requires one or more files from prep/wave/jgfs_wave_init. If that is correct, please add a trigger for prep/wave/jgfs_wave_init. CC @JessicaMeixner-NOAA

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes, we need files from jgfs_wave_init for the forecasts.

Choose a reason for hiding this comment

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

Thank you @JessicaMeixner-NOAA. I think adding a trigger for prep/wave/jgfs_wave_init would be beneficial then, @lgannoaa.

Comment on lines +606 to +607
family post
family wave

Choose a reason for hiding this comment

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

From logs at /lfs/h2/emc/gfstemp/emc.global/comroot/retrov17_01_realtime/logs/, it looks like jobs in this family write to gfs.$PDY/$cyc/products/wave/. Would it be appropriate to move the gfs/post/wave family to gfs/products/wave?

This change also seems more consistent with families such as gfs/products/ocean and gfs/products/ice.

Copy link
Contributor

Choose a reason for hiding this comment

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

Confirming wave_postsbs writes to gfs/products/wave

Choose a reason for hiding this comment

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

Thank you @JessicaMeixner-NOAA. After discussion with @lgannoaa today, we agreed that this change isn't necessary for an EMC ecFlow parallel run.

Comment on lines +2510 to +2513
family gempak
family atmos
edit WGF 'atmos'
family gempak

Choose a reason for hiding this comment

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

Could this family gfs/gempak/atmos be moved to gfs/products/atmos/gempak? From logs files at /lfs/h2/emc/gfstemp/emc.global/comroot/retrov17_01_realtime the jobs seem to be writing to gfs.$PDY/$cyc/atmos/products/gempak/.

Choose a reason for hiding this comment

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

Similar to comments above, this change is not necessary at this time.

Comment on lines +3756 to +3759
task jgdas_marine_prep_fsm
edit RJN 'prep'
trigger :TIME >= 0300 and :TIME < 0330
event 1 release_gdas_marine_prepoceanobs

Choose a reason for hiding this comment

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

Does jgdas_marine_prep_fsm perform any work besides setting an event to trigger jgdas_marine_prepoceanobs? If not, you can

  • Move the time trigger to jgdas_marine_prepoceanobs
  • Remove jgdas_marine_prep_fsm

Choose a reason for hiding this comment

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

We will keep *_fsm jobs for now. We will re-evaluate if a trigger is more appropriate when NCO starts running GFS v17.

event 207 release_gdas_wave_postsbs_f007
event 208 release_gdas_wave_postsbs_f008
event 209 release_gdas_wave_postsbs_f009
task jgdas_fcst

Choose a reason for hiding this comment

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

Are output files produced by gdas/init/wave/jgdas_wave_init required for jgdas_forecast? If so, please add a trigger here on gdas/init/wave/jgdas_wave_init. CC @JessicaMeixner-NOAA

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes, output from gdas/init/wave/jgdas_wave_init is needed for jgdas_forecast

Choose a reason for hiding this comment

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

Thank you @JessicaMeixner-NOAA. I think adding a trigger for gdas/init/wave/jgdas_wave_init would be beneficial then, @lgannoaa.

Comment on lines +3837 to +3838
family post
family wave

Choose a reason for hiding this comment

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

From logs at /lfs/h2/emc/gfstemp/emc.global/comroot/retrov17_01_realtime/logs/ it looks like these jobs write to gdas.$PDY/$cyc/products/wave/[gridded,station]. Does it make sense to move gdas/post/wave to gdas/product/wave?

Copy link
Contributor

Choose a reason for hiding this comment

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

wave_post_sbs - > gdas.$PDY/$cyc/products/wave/[gridded]

there are wave post point jobs that write to gdas.$PDY/$cyc/products/wave/[station]

Choose a reason for hiding this comment

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

After discussion with @lgannoaa today, we agreed that this change is not necessary for an EMC ecFlow parallel run.

Comment on lines +3929 to +3930
family gempak
family atmos

Choose a reason for hiding this comment

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

Could this family gdas/gempak/atmos/gempak be moved to gdas/products/atmos/gempak? From logs files at /lfs/h2/emc/gfstemp/emc.global/comroot/retrov17_01_realtime/logs the jobs seem to be writing to gdas.$PDY/$cyc/atmos/products/gempak/.

Choose a reason for hiding this comment

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

After discussion with @lgannoaa today, we agreed that this change is not necessary for an EMC ecFlow parallel run.

trigger ../../../forecast/jgfs_fcst_fsm:release_gfs_atmos_goesupp_f384
endfamily //goesupp
endfamily //atmos
family wave

Choose a reason for hiding this comment

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

Perhaps gfs/gempak/wave could be moved to gfs/products/wave/gempak?

Choose a reason for hiding this comment

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

After discussion with @lgannoaa today, we agreed that this change is not necessary for an EMC ecFlow parallel run.

@RussellManser-NCO
Copy link

RussellManser-NCO commented Mar 13, 2026

Thank you for the discussion today, @lgannoaa. This ecFlow definition is in good shape for an EMC ecFlow parallel run. We agreed that there will be future iterations after NCO inspects EMC ecFlow runs. I think the triggers for wave prep/init jobs on forecast jobs are a good idea to add now, but if your workflow is not broken then we can add them later.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants