Skip to content

Cleanup of symlinks for wxflow, etc., use of DATAoutput for model, update to triggers for wavepost jobs, and other misc. stuff #3833

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

Open
wants to merge 9 commits into
base: develop
Choose a base branch
from

Conversation

aerorahul
Copy link
Contributor

Description

This PR collects a few things. Specifically it:

  • removes softlinks to wxflow and relies on the setting of PYTHONPATH if wxflow is not available as an importable module. This will streamline when wxflow is part of a virtualenv or loaded via spack-stack
  • moves the links of soca and ufsda into ush/python which is added to PYTHONPATH. This applies consistency for all importable python modules
  • uses DATAoutput for writing model output into. In particular, it creates and writes to FV3ATM_OUTPUT, MOM6_OUTPUT, CICE_OUTPUT and WW3_OUTPUT. In addition, WW3 restarts are written to WW3_RESTART
  • uses log.points and log.wave_grid files for triggering wave post-processing jobs instead of binary output from the next forecast output time.

Type of change

  • Bug fix (fixes something broken)
  • New feature (adds functionality)
  • Maintenance (code refactor, clean-up, new CI test, etc.)

Change characteristics

  • Is this a breaking change (a change in existing functionality)? NO
  • Does this change require a documentation update? NO
  • Does this change require an update to any of the following submodules? NO

How has this been tested?

Ongoing on GaeaC6

Checklist

  • Any dependent changes have been merged and published
  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have documented my code, including function, input, and output descriptions
  • My changes generate no new warnings
  • New and existing tests pass with my changes
  • This change is covered by an existing CI test or a new one has been added
  • Any new scripts have been added to the .github/CODEOWNERS file with owners
  • I have made corresponding changes to the system documentation if necessary

seconds=$(to_seconds "${vdate:8:2}0000") # convert HHMMSS to seconds
ww3_restart_ufs_file="ufs.cpld.ww3.r.${vdate:0:4}-${vdate:4:2}-${vdate:6:2}-${seconds}.nc"
ww3_netcdf_restart_file="${vdate:0:8}.${vdate:8:2}0000.restart.ww3.nc"
${NLN} "${DATArestart}/WW3_RESTART/${ww3_netcdf_restart_file}" "${ww3_restart_ufs_file}"
Copy link
Contributor

Choose a reason for hiding this comment

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

This portion of the code changed file formats from how the model is writing it out to the more readable YYYYMMDD.HH0000.restart.ww3.nc file name structure. I think we might need additional changes if this is removed, but maybe I'm not thinking through everything?

Do you have output of the extended S2SW test on WCOSS2 and/or the low res gfs cycled test so I can take a look at the output/logs or do I need to run these tests?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I am running tests on Gaea C6. The logs for low res gfs cycled test will drop into /gpfs/f6/drsa-precip3/world-shared/Rahul.Mahajan/RUNTESTS/COMROOT/C96C48mx500_S2SW_cyc_gfs_tlc. Feel free to look around and let me know if you find something out of place. I too, will keep an eye.

I removed this portion of the code because the model is now configured to write the WW3 restarts directly into DATArestart/WW3_RESTART instead of in DATA and then linking the restart file from DATA into DATArestart/WW3_RESTART

It is possible that the model in segment 2 (or RERUN=YES) needs to know what the right restart filename for WW3 is. As soon as my tests conclude, I will know that and will make a fix if one is needed.

Copy link
Contributor

Choose a reason for hiding this comment

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

https://github.com/NOAA-EMC/global-workflow/blob/develop/ush/forecast_det.sh#L101-L106 uses the more readable (my preferred) naming convention of the WW3 restart files.

This also uses the more readable format of restarts: https://github.com/NOAA-EMC/global-workflow/blob/develop/ush/forecast_postdet.sh#L501-L530

The code section above these lines also wouldn't work depending on if it's a re-run or you are copying to COM.

@DavidNew-NOAA
Copy link
Contributor

Looks good but needs more descriptive title

@aerorahul aerorahul changed the title TLC Cleanup of symlinks for wxflow, etc., use of DATAoutput for model, update to triggers for wavepost jobs, and other misc. stuff Jun 26, 2025
@DavidNew-NOAA
Copy link
Contributor

Looks good but needs more descriptive title

That was just a little joke from the DA team

Copy link
Member

@KateFriedman-NOAA KateFriedman-NOAA left a comment

Choose a reason for hiding this comment

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

Looks good. I like the consolidation of those wavepost job definitions. Thanks @aerorahul !

Copy link
Collaborator

@TerrenceMcGuinness-NOAA TerrenceMcGuinness-NOAA left a comment

Choose a reason for hiding this comment

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

Ready to TLC

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.

6 participants