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

CCPP Framework will no longer support unit "flashes 5 min-1" #1047

Closed
peverwhee opened this issue Dec 19, 2023 · 4 comments
Closed

CCPP Framework will no longer support unit "flashes 5 min-1" #1047

peverwhee opened this issue Dec 19, 2023 · 4 comments
Labels

Comments

@peverwhee
Copy link

Description

All instances of "flashes 5 min-1" should be changed to "min-1" (as "flashes" is also not a standard unit) before the transition from prebuild to capgen can occur. Any conversion/scaling will need to be handled by the host model and/or post-processing.

Steps to Reproduce

Please provide detailed steps for reproducing the issue.

  1. Run the prebuild tests on the feature/capgen branch of NCAR/ccpp-framework

Additional Context

In expanding our framework testing, we discovered that an update to add validation for units has broken the SCM testing because the framework does not recognize "flashes 5 min-1" as a valid unit.

The framework group has decided that, since this is not a standard unit, the framework will not be updated to handle it.

Output

N/A

@peverwhee peverwhee added the bug label Dec 19, 2023
@peverwhee
Copy link
Author

Files that need to be updated (probably not an inclusive list):

  • maximum_hourly_diagnostics.meta
  • GFS_typedefs.meta (from SCM repo)

@mwaxmonsky
Copy link

Some additional details:
The code changes that result in this issue can be seen here: https://github.com/mwaxmonsky/ccpp-framework/tree/feature/capgen.
The corresponding job log with the error can be found here: https://github.com/mwaxmonsky/ccpp-framework/actions/runs/7292708628/job/19874288589.

This is planned to be pulled into feature/capgen of the ccpp-framework and the current process stops at the first file (GFS_typedefs.meta in this case) and changing the units will result in the script stopping at the next file (maximum_hourly_diagnostics.meta).

@SamuelTrahanNOAA
Copy link
Collaborator

There's quite a lot of other files that need to be changed. The UPP, UFS, FV3, SCM, CCPP, and the RRFS scripts all need to be updated for this. You're changing the units of an operational product. We can't break RRFS to fix capgen. I think what needs to happen is:

  1. The variables with new units have a new name.
  2. FV3's GFS_diagnostics.F90 is updated to output the variable under a new name with the new units.
  3. UPP is updated to be able to use either the old or new names.
  4. RRFS parallels and UFS regression tests are updated to use the new names.

All six (seven?) repositories will have to be updated close to the same time to avoid breaking things.

Doing it this way ensures at every step that people will know to update the variable names. In other words, everything breaks or works consistently. You don't end up with units off by a factor of 300 (flashes per second). Instead, you get an error message or a field of missing values.

We need to coordinate this with the people running the RRFS parallel (Ming Hu, Shun Liu) and the UPP code manager (Wen Meng).

@grantfirl
Copy link
Collaborator

This is fixed in ufs-community#182

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants