ESCOMP / CCPPStandardNames

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

Clarification regarding `_at_interface` suffix #61

Closed svahl991 closed 5 months ago

svahl991 commented 6 months ago

I wanted to clarify the meaning of the _at_interface suffix. Rule #4 of the standard name rules states:

By default (when not specified otherwise), variables are grid means or centers (defined by the host). If a variable is defined at a different physical location, a qualifier should be used to denote this. For example, for variables representing quantities at the interface between grid cells vertically, use at_interface.

So if a model has n grid cells vertically, then <variable> has n vertical levels. But how many vertical levels does <variable>_at_interface have? n-1, n, or n+1? Are both the model top and bottom (surface) of the model included in <variable>_at_interface? Neither? Or just one or the other? Which?

I notice there are also naming suffixes for at_top_of_atmosphere_model and at_surface_adjacent_layer, so does that mean those locations are not included in _at_interface?

I ask because in my work on JEDI I think I have uncovered that different organizations see <variable>_at_interface differently, with one group seeing the surface as a separate layer that is not included in _at_interface (but they do include the model top). Another group appears to include both model top and surface in _at_interface.

dudhia commented 6 months ago

From my perspective the number of interface layers is n+1, surface and top included. I would regard this as more common.

On Tue, Mar 12, 2024 at 4:05 PM Steve Vahl @.***> wrote:

I wanted to clarify the meaning of the _at_interface suffix. Rule #4 https://github.com/ESCOMP/CCPPStandardNames/issues/4 of the standard name rules states:

By default (when not specified otherwise), variables are grid means or centers (defined by the host). If a variable is defined at a different physical location, a qualifier should be used to denote this. For example, for variables representing quantities at the interface between grid cells vertically, use at_interface.

So if a model has n grid cells vertically, then has n vertical levels. But how many vertical levels does _at_interface have? n-1, n, or n+1? Are both the model top and bottom (surface) of the model included in _at_interface? Neither? Or just one or the other? Which?

I notice there are also naming suffixes for at_top_of_atmosphere_model and at_surface_adjacent_layer, so does that mean those locations are not included in _at_interface?

I ask because in my work on JEDI I think I have uncovered that different organizations see _at_interface differently, with one group seeing the surface as a separate layer that is not included in _at_interface (but they do include the model top). Another group appears to include both model top and surface in _at_interface.

— Reply to this email directly, view it on GitHub https://github.com/ESCOMP/CCPPStandardNames/issues/61, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEIZ77G5TIZBGBMLMHDC2ALYX533BAVCNFSM6AAAAABETBVIVOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGE4DENZXGA4DMMA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

nusbaume commented 6 months ago

I agree with @dudhia, in that at least for the NCAR models the number of interface layers is n+1, including both the bottom and top.

Also the at_top_of_atmsophere_model and at_surface_adjacent_layer suffixes are usually reserved for 2-D quantities where it is unclear from the dimensions alone where they are located vertically. However the 3-D equivalents of those variables could certainly be _at_interface. Hopefully that makes sense?

svahl991 commented 6 months ago

There seems to be agreement from most people I've heard from that _at_interface should have n+1 levels and include both the bottom (surface) and the top of the model. However, I recently met with some people from the Met Office and confirmed that the typical usage of _at_interface in their models does not include the surface and only has n levels. We thought maybe they will need to use a new suffix, something like _at_interface_excluding_surface. What do people think of that idea? Does anyone have other ideas?

@MayeulDestouches @ss421

MayeulDestouches commented 6 months ago

Thanks @svahl991 for your suggestion. I think there is not other option than having another suffix for this use case... The suffix _at_interface_excluding_surface is explicit, although a bit long. Given this vertical structure includes the top interface of each layer, another option could be _at_top_interfaces.

MayeulDestouches commented 6 months ago

Following an offline discussion with @ss421 and @svahl991, I plan to open a PR to clarify the rules on suffixes related to vertical grid information. This would include a new _at_top_interfaces suffix, as proposed in my previous comment.

@dudhia, @nusbaume, @climbfuji, @gold2718, @mkavulich, would you be happy with this?

nusbaume commented 6 months ago

@MayeulDestouches That plan sounds good to me. Thanks for the heads up!

MayeulDestouches commented 5 months ago

I close this issue, as it has been solved by #65.