-
Notifications
You must be signed in to change notification settings - Fork 17
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
Update StandardNamesRules.rst: changesurface
prefix to _at_surface
suffix
#72
Conversation
surface
prefix to `_at_surfac…surface
prefix to _at_surface
suffix
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am okay with surface_
prefixes (described below) but will go along with the majority (or a stronger argument).
StandardNamesRules.rst
Outdated
| surface | ||
None. Note that this is a departure from the CF conventions, which use | ||
surface_ as a prefix. This is to maintain consistency with all other | ||
level qualifiers that are used as _at_level-qualifier (i.e. as suffix). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Personally, I am okay with the surface_
variables that define quantities at the surface. This is partially because that is the way CF defines variables (which allows us to follow rule 1 more closely) and partially because in an atmosphere model, surface variables are usually derived from other model variables.
I tend to agree with @gold2718 , and would go a bit further to say I'd prefer to keep the I don't think either way is perfect, and my opinion is that the current imperfection seems livable, and possibly better than the alternative. |
Can the other reviewers from the CCPP framework meeting last week please state what their preferences are? I don't have a strong opinion myself, the reason for creating the draft PR was the discussion that happened last week in the framework meeting. |
I personally prefer consistency within the CCPP names when the CF conventions are inconsistent. The CF conventions for the most part have Looking for other "level" indicators, My preference is to have All of this said, I am a software engineer and not a scientist. If the science community has the After the decision is made on whether Current rule#2: [surface] [component] standard_name [at surface] [in medium] [due_to process] [assuming condition] |
I have to admit that @cacraigucar is making a good point here and that I now tend to agree with the idea of making |
Even though, in my experience, land surface and physics folks tend to use the prefix |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are my thoughts, but in my opinion they represent the consensus of our discussion at today's CCPP framework meeting.
The number one mission of the standard names is to maintain a set of unique variable names so that physical quantities can be unambiguously mapped to each other across applications. In order to be able to maintain a sufficiently detailed, yet unambiguous naming convention that is easily extensible to arbitrary physical quantities as needed, consistency is important. As others have mentioned above, we have inherited an inconsistent set of names from the CF conventions, and so in order to achieve consistency, we will have to break with those inherited conventions.
Furthermore, having consistent rules will keep arguments over the best name for a particular physical quantity to a minimum going forward. Setting a very simple rule to cover a wide range of cases (all variables specific to a particular level must be disambiguated with a suffix _at_[level]
) allows us to keep the rule set as minimal as possible.
@@ -173,6 +173,9 @@ Suffixes | |||
| at_top_of_atmosphere_model | |||
| at_top_of_dry_convection | |||
| **at_interfaces** | |||
| **at_toa** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a difference between "toa" (defined as "top of atmosphere") and "top of atmosphere model"?
This may be worthy of a separate discussion, if so I won't hold up this PR but we can address it later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If that question is directed to me than I don't have a definitive answer for you, sorry.
Thanks for your thoughtful comment @mkavulich - I'll leave it to you to decide whether you want to wait for more approvals/comments or merge it now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given the decision that's apparently been arrived at, I believe Rule number 1, lines 24-27, should be removed or amended as part of this PR since it is no longer true as stated. I think it will be misleading to keep it as-is, especially since it sits at the top of the rule list.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changing the surface
descriptor to a suffix is fine with me. Thanks!
@mkavulich I think we are good to merge. After this PR, someone needs to change all existing standard names in this repo. And then we need to go and clean up the models. |
This adds two names relating to height at surface, and modifies surface_air_pressure for the naming rule change coming in #72.
We are in the midst of our variable renaming code sprint in JEDI this week. We are wondering how a couple of the CCPP names will be changing as a result of this PR, so we can change to the name that will be the standard instead of what is current. The names we're curious about are:
will these become
Because we are "sprinting" this week, a rapid decision on this would be super helpful. We don't need a CCPP PR quickly, but just a handshake agreement on what the new name will be would be great. Thanks! |
If |
Yes, if you ask me |
Any meteorologists or related scientists out there? Two computational scientists with other backgrounds in science need help. |
While I agree that *at_surface is good for variables that might exist at other levels, I also see many standard names beginning with surface, especially fluxes, and it would be too much to enforce such a change to *at_surface. surface_skin_temperature has redundancy issues, but I would either leave it or shorten to skin_temperature. |
If you want input from a third computational scientist and one who only really knows about the ocean: |
It also surprised me that in CF, the word skin only applied to the sea surface, while I did not find a land skin temperature there. |
Meteorologically, surface_skin_temperature is not the same as the skin_temperature. I believe these come from the remote sensing world. |
@dudhia We've unfortunately/fortunately (?) moved past this discussion a couple of weeks ago when there was an overwhelming agreement to do away with the |
Thank you @dustinswales ! This is great information. So do I understand you correctly that Assuming some version of the name |
@ss421 |
@dustinswales Thanks for clarifying. Sorry I misunderstood your initial comment. Given this explanation, it seems to me that One more question while we're on the topic: what is |
@climbfuji there are a lot of fluxes beginning with surface, surface_downwelling etc.. Is the plan to change all of those too? |
Yes, based on the lengthy discussion in #72 and in several meetings, it is. |
@climbfuji OK, not saying it's wrong, just a big change. |
I know, that's why it was such a lengthy discussion. And that's why we asked for many approvals before merging it. |
@dustinswales Thank you! I think figures like this would be very helpful if they were kept in the repository and referenced by the standard name rules / standard name dictionary. There is so much confusion about the terminology "levels", "layers", "interfaces", "surface", ... |
@climbfuji to make it even more confusing.... something to keep in mind, for the ocean (and presumably land, though I'm not a land person) you have the exact same variable names, but going in the opposite vertical direction. Therefore the air surface skin temperature and the ocean surface skin temperature are not the same things (the only variable that should be shared between the components, I think, is the surface temperature that happens at the interface) |
This PR changes the rules (and the rules only) to make
surface
a suffix (at_surface
) rather than a prefix. This proposed change was discussed in last week's CCPP framework meeting and is a departure from the CF conventions, which usesurface_
as a prefix. The motivation for this change is to maintain consistency with all other level qualifiers that are used as_at_level
qualifier (i.e. as suffix).