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

Dealing with unusual units #63

Open
mkavulich opened this issue Mar 20, 2024 · 2 comments
Open

Dealing with unusual units #63

mkavulich opened this issue Mar 20, 2024 · 2 comments

Comments

@mkavulich
Copy link
Collaborator

There are several standard names, currently listed as having units of "1", which are technically misclassified, but their proper units (ln(Pa)) do not fit into the current list of supported units:

  • ln_air_pressure
  • ln_air_pressure_of_dry_air
  • ln_air_pressure_at_interface
  • ln_air_pressure_of_dry_air_at_interface

If you attempt to use ln(Pa) in the CCPP framework, you are met with the error Invalid 'units' property value, 'ln(Pa)'

There are also several date/time variables which are listed as unit = "1", which seems incorrect as they should have units of time in some way, but it's not clear which:

  • date_and_time_at_model_initialization_in_iso_order
  • date_and_time_at_model_initialization_in_united_states_order
  • date_and_time_of_forecast_in_united_states_order

There may be others I am missing, but this seems like a good start. The ultimate question is, are we okay treating "1" as a grab-bag for units that don't fit nicely into the framework, or should we treat these properly and make sure the CCPP Framework can handle them?

@mkavulich
Copy link
Collaborator Author

After putting far too much thought into this, my proposal is this: add a new category "other" for units, which will allow for edge cases like those with log units mentioned above. These will be treated by the framework with the understanding that they should never be converted (to avoid any problems with future unit conversions). Essentially they will be treated the same as units of "none", but avoiding being technically incorrect.

@mkavulich
Copy link
Collaborator Author

mkavulich commented Apr 29, 2024

@nusbaume @peverwhee @cacraigucar It seems like the more threads I pull on for this subject the more things unravel; when consulting the CF conventions for reference for the new rules I came upon this appendix section which covers the use of parametric log pressure coordinates. It is unclear to me if this is the same as the ln_air_pressure_at_interface used in CESM (i.e. dimensionless pressure factor), or if it truly is in ln(pressure) units; if it's the former, then this issue may be moot since we can use the CF convention guidance, but if it's the latter, then I'll continue with a PR to resolve this. Would one of you be able to help figure his out?

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

No branches or pull requests

1 participant