ESCOMP / CCPPStandardNames

Repository for community-accepted CCPP Standard Names and search tools
Other
3 stars 16 forks source link

Update units of dimensionless variables #19

Closed climbfuji closed 2 years ago

climbfuji commented 3 years ago

We need to revisit the units of dimensionless variables in the dictionary of standard names. For this, we first need to agree on what the units should be for each of the variables, create or update the documentation, and update the dictionary itself.

At this time, we have the following units for dimensionless variables:

count
index
flag
1
none
kg kg-1
mol mol-1

For each dimensionless variable, we need to determine which unit is appropriate, if an additional unit is required.

Currently, there are mismatches between the units in the dictionary of standard names for variables with unit 1, and the ccpp-physics, fv3atm and scm repositories, which are mostly using none for these variables.

ligiabernardet commented 2 years ago

@climbfuji Has this issue been solved via https://github.com/ESCOMP/CCPPStandardNames/pull/21?

climbfuji commented 2 years ago

@gold2718 @grantfirl @ligiabernardet I am working on this now, and in addition to the mismatch for ccpp_error_message, where capgen will adopt the existing unit none in ccpp-physics/SCM/UFS instead of 1, there is another mismatch:

ccpp-physics/SCM/UFS use

[errflg]
  standard_name = ccpp_error_flag
  long_name = error flag for error handling in CCPP
  units = flag
  dimensions = ()
  type = integer

while capgen uses

[ errflg ]
  standard_name = ccpp_error_code
  long_name = Error flag for error handling in CCPP
  units = 1
  dimensions = ()
  type = integer
  intent = out

I think we agreed on using the capgen version for errflg, correct? This will require changing 120+ metadata files in ccpp-physics/SCM/UFS, but at least this is a straightforward change.

gold2718 commented 2 years ago

I kind of liked flag but 1 is fine as well and more CF-like.