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

Add miscellaneous atmosphere variables #71

Merged
merged 7 commits into from
Sep 19, 2024
Merged

Conversation

svahl991
Copy link
Collaborator

@svahl991 svahl991 commented Sep 9, 2024

This adds some new variable names, used in the JEDI system, that are mostly usual variants of existing CCPP variable names. They concern winds, temperature, and relative humidity.

Perhaps the newest concept introduced here is surface_wind_from_direction. I did not find any other existing CCPP variable names with direction expressed in degrees like this one. removed from this PR

@svahl991
Copy link
Collaborator Author

svahl991 commented Sep 9, 2024

Tagging @BenjaminTJohnson since some of these variables are used with CRTM.

@BenjaminTJohnson
Copy link

@mkavulich My interpretation is that surface variables try to be at the surface, not 2m or 10m above the surface if something closer is available. We do frequently use 2m or sometimes 10m variables to replace surface variables, but the strict definition of "surface" is the value exactly at the boundary (e.g., the temperature of the land, ocean, ice, snow, etc.). Having said that, "surface wind speed" is subject to all sorts of qualifications of what the actual physical interpretation is, but my understanding is that "surface wind speed" should be: "the available wind speed information that is closest to the surface". If one only has 2m and 10m wind speed from the model, then you should probably use the 2m as the surface wind speed.

If we want to get into semantics, and maybe we do, then we may wish to differentiate "near surface" from "surface" and "surface on the atmosphere side" vs. "surface on the surface side". If you think of the surface as a boundary: one can approach that boundary "below" (e.g., from the ocean depths toward the ocean surface) vs. approaching it from "above" (e.g., from the atmosphere down to the ocean surface). One clear example is temperature profile in the upper ocean, vs. temperature profile in the lower atmosphere.

@mikecooke77
Copy link

For RTTOV the explanation @BenjaminTJohnson has given is also true. The surface T for instance is used to calculate the near surface layer contribution to the radiance. The model generally produces 2m values apart from winds which are normally 10m.

As discussed previously RTTOV also has a skin temperature which can vary per channel and represents the temperature of the surface.

@svahl991
Copy link
Collaborator Author

Given the responses above , I think it's been established that the "surface" variables, at least in principle, represent a different concept than the "2m" and "10m" variables, and so are worthy of their own names being added to CCPP. And having surface_* at the front of the variable names instead of *_at_surface as a suffix, is also the consistent way to go. So I don't think any required changes to the contents of this PR have been identified.

@climbfuji
Copy link
Collaborator

We had a discussion between the CCPP standard names maintainers and the suggestion was to avoid the inconsistency that variables at the "surface" (whatever that is) have surface_xyz while every other level (layer, interface, ...) is added as a suffix. See #72 for a draft PR

Copy link
Collaborator

@gold2718 gold2718 left a comment

Choose a reason for hiding this comment

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

LGTM
I do see that this will need to be revisited if #72 is accepted as is.

@svahl991
Copy link
Collaborator Author

svahl991 commented Sep 16, 2024

So, to make sure I understand, rather than change this PR, the plan is to accept it as it is for now, and then if/when #72 is accepted, all the variables that currently start with surface_* will be changed to *_at_surface?

On a related note, I have been wondering about the status of the issue regarding the tagging of the naming standards since they seem to be pretty fluid.

@climbfuji
Copy link
Collaborator

As far as I understand, you hardcode the CCPP standard names into the actual C++ code. Therefore, you need to decide whether you want to have this merged and then change your standard names later when/if #72 is merged, or you want to do this all at once. (I don't have a preference, but if you want to merge this PR first then I will approve with a note that those names will liekly be changed alongside others.)

@svahl991
Copy link
Collaborator Author

As far as I understand, you hardcode the CCPP standard names into the actual C++ code. Therefore, you need to decide whether you want to have this merged and then change your standard names later when/if #72 is merged, or you want to do this all at once. (I don't have a preference, but if you want to merge this PR first then I will approve with a note that those names will liekly be changed alongside others.)

Given that we do hardcode CCPP names into JEDI C++ code, and that it takes non-trivial coordinated effort to change them, and that it is only going to become more difficult to change them as JEDI becomes operational in more organizations, I would prefer do this all at once if #72 is going to be merged. We will be having a code sprint the week of Oct. 7 where we will updating many variable names in JEDI. So if it is highly probable that #72 will go through, we will probably want to switch to the new names during that sprint. If it is possible for us to know the fate of #72 before our sprint (even if it is not fully completed), that would be helpful.

Tagging @shlyaeva

@svahl991
Copy link
Collaborator Author

Given the ongoing discussion regarding #72, I have now removed all variables with the surface_* prefix from this PR. I will submit another PR for those variable names when #72 is sorted out, hopefully soon. But I didn't want that issue to hold up progress on getting the other names in this PR added.

@climbfuji
Copy link
Collaborator

Can we have one more approval before we merge, please?

Copy link
Collaborator

@ss421 ss421 left a comment

Choose a reason for hiding this comment

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

Changes look good to me. Thankyou @svahl991

@climbfuji climbfuji merged commit dcd6d17 into ESCOMP:main Sep 19, 2024
3 checks passed
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.

7 participants