oceanmodeling / ufs-coastal-app

UFS Coastal Application is a NUOPC based application implemented following UFS best practices to couple coastal ocean models and other domains (Sea Ice, Atmosphere, Wave, Inland Hydrology, ...)
https://oceanmodeling.github.io/ufs-coastal-app/
Other
1 stars 2 forks source link

Workflow exploration: Current UFS Apps using uwtools (SRW, MRW, HAFS, others?) #6

Open saeed-moghimi-noaa opened 3 weeks ago

saeed-moghimi-noaa commented 3 weeks ago

@Armaghan-NOAA

Would you please provide updates on which UFS workflow you are looking at?

Please share:

Thanks

Armaghan-NOAA commented 3 weeks ago

I’m looking into this repository: https://github.com/ufs-community/uwtools/

here is a summary of what I have learned do far:

1. Getting Started - Installation Conda Installation:

Building Locally:

2. Using the Command-Line Interface (CLI) Basic Commands - Validate Configuration

Render Mode:

Rocoto Integration - Create Rocoto XML:

3. API Reference - Using Modules FV3 Module:

fv3.run_fv3(config_file="fv3_config.yaml")

4. Configuring with UW YAML - Structured Configurations Example Workflow Configuration (workflow.yaml):

Update YAML Values:

5. Drivers Running NWP Components Preparing a Run Directory:

Submitting a Job:

Developer & Contributor Guide - Setting Up Development Environment Creating a Bash Shell:

Running Code Quality Checks:

Forking and Pull Requests:

Make your changes

Building Docs Locally:

Example Workflow: Here's a simple example combining these steps into a workflow:

By following these steps, we can set up, manage, and execute NWP workflows using Unified Workflow Tools.

saeed-moghimi-noaa commented 3 weeks ago

Please see this post: https://www.linkedin.com/posts/noaaepic_uifcw24-activity-7206726107838984192-G-1O?utm_source=share&utm_medium=member_desktop

janahaddad commented 3 weeks ago

Moving my previous notes from here to continue progress updates... let's use this issue to track this topic. Note I'm also changing issue title a bit.

@Armaghan-NOAA a few other general workflow related questions/lines of inquiry that you might be interested in pursuing:

Other questions that have come to mind:

I think a useful outcome of your workflow explorations would be to generate a "Backlog of (possible) Objectives" inspired by what you learn from these existing (even if currently half-baked) tools. We can then look at that list as a team or subteam (NHC team, UFS Coastal team, STOFS Ops team) and decide if it's worth testing out for each project...

Let me know what you think! I'll set up a time to review next week when you've had some tinme to explore the apps above

Armaghan-NOAA commented 3 weeks ago

Moving my previous notes from here to continue progress updates... let's use this issue to track this topic. Note I'm also changing issue title a bit.

@Armaghan-NOAA a few other general workflow related questions/lines of inquiry that you might be interested in pursuing:

Other questions that have come to mind:

  • Is there is any overlap in the Rocoto and Ecflow workflow management?

    • How much of those two tools is currently at the app-level and how much is being used from UWtools?
  • It looks like these 3 apps are set up very similarly to what you've shown us for STOFS with j-jobs, ush directory, etc. To what extent is the similarity?
  • How exactly is UWtools being tested in each of these apps? It looks like they are all just trying things out at this stage, and it's unclear to what level they have a stable workflow at this point. But it would be useful to know which of the apps is using many/most/all capabilities of UWtools and how.

    • E.g., looks like MRW app is importing uwtools in python scripts? is that the primary method?

I think a useful outcome of your workflow explorations would be to generate a "Backlog of (possible) Objectives" inspired by what you learn from these existing (even if currently half-baked) tools. We can then look at that list as a team or subteam (NHC team, UFS Coastal team, STOFS Ops team) and decide if it's worth testing out for each project...

Let me know what you think! I'll set up a time to review next week when you've had some tinme to explore the apps above

  • meeting to review Monday 6/17
  • Armaghan is currently reviewing differences between Ecflow and Rocoto in the three Apps above

Thanks Jana for moving the notes here.

Armaghan-NOAA commented 3 weeks ago

Please see this post: https://www.linkedin.com/posts/noaaepic_uifcw24-activity-7206726107838984192-G-1O?utm_source=share&utm_medium=member_desktop

Thanks Saeed! This seems so interesting. I registered for that.

janahaddad commented 3 weeks ago

Other note from a duplicate issue https://github.com/noaa-ocs-modeling/SurgeTeamCoordination/issues/469 :

A reference would be a discussion @uturuncoglu had: ufs-community/uwtools#478

janahaddad commented 3 weeks ago

https://christopherwharrop.github.io/rocoto/ from @SorooshMani-NOAA

janahaddad commented 2 weeks ago

from @Armaghan-NOAA :

On Github they included rocoto: https://github.com/ufs-community/uwtools/blob/main/src/uwtools/rocoto.py

on their hpc system they have ecflow as well. you can find this from a discussion page: https://github.com/ufs-community/uwtools/pull/460

search for ecflow in this page you'll find: File "/work2/02441/bcash/frontera/workflow/ecflow/bin/uw_stage_model_files.py", line 36, in

janahaddad commented 2 weeks ago

@christinaholtNOAA would you recommend starting with SRW app to explore how uwtools is currently being used?

Armaghan-NOAA commented 1 week ago

I started writing a technical report on the workflow exploration: https://docs.google.com/document/d/1we9MKOyzl7xjzs7y2WsAosRQdZlUt_ocNXgAmA8qnjg/edit#heading=h.gjdgxs

I appreciate your feedbacks!

christinaholtNOAA commented 1 week ago

@janahaddad, I'm sorry for the delayed response. I am in the process of preparing a video on how to run a global uncoupled cold start forecast using our chgres_cube and fv3 drivers. That might be one place to start, and we can let you all know as soon as that video is available (expected in the next couple of weeks to share privately, and a few additional weeks for it to be posted publicly on YouTube).

We have also been working with NOAA GSL to incorporate some of the uwtools in an MPAS App that runs cold start forecasts. You could see that early work here: https://github.com/NOAA-GSL/mpas_app. We have the basics of a the framework in visual form in a poster we're presenting this week at the MPAS Workshop. (I've attached the PDF here: MPAS Workshop 2024.pdf)

Our UW Team is targeting a full SRW integration during this EPIC PI (in the upcoming 10-12 weeks), so it might not be the best place to start since the integration is currently limited to only a couple of configuration layer tools in the UFS Community supported version.

janahaddad commented 1 week ago

@christinaholtNOAA thanks for your feedback and this background/info -- I somehow completely missed MPAS as an app in the UFS system. Definitely looking forward to the how-to video!