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

Handle vertical levels generically #1103

Open
jfrost-mo opened this issue Jan 30, 2025 · 4 comments
Open

Handle vertical levels generically #1103

jfrost-mo opened this issue Jan 30, 2025 · 4 comments
Labels
enhancement New feature or request

Comments

@jfrost-mo
Copy link
Member

What problem does your feature request solve?

There are multiple kinds of vertical levels, such as pressure or model level. This is exacerbated in LFRic world, where we also have half_levels and full_levels, and the names are different. This prevents recipes that handle vertical levels from being model agnostic.

Describe the solution you'd like

We should have a lookup for the vertical coordinate in a cube, similar to the get_cube_yxcoordnames utility function. This will allow operators to correctly handle any cube without regard to the vertical levels. Then a single recipe and rose-edit entry can be added.

Describe alternatives you've considered

Pressure should probably be handled separately, at least in rose edit, as it would be more meaningful to select specific pressure values than for other levels.

@jfrost-mo jfrost-mo added the enhancement New feature or request label Jan 30, 2025
@jwarner8
Copy link
Contributor

I think there are only finite combinations of coordinate name for vertical levels. We also want to ensure operators understand 'pressure' coordinates, 'model level' coordinates, and 'height' coordinates appropriately as the way they interact with each will differ. I am going to create a fix for the LFRic 'pressure_levels' as a callback for now.

@jfrost-mo
Copy link
Member Author

Do we know if there is a reason that LFRic outputs pressure_levels here, rather than the CF compliant pressure?

@jwarner8
Copy link
Contributor

Do we know if there is a reason that LFRic outputs pressure_levels here, rather than the CF compliant pressure?

Possibly to make the distinction between a variable pressure and the coordinate itself. Though usually a variable would be more descriptive and be called 'air_pressure or surface_pressure

@jwarner8
Copy link
Contributor

jwarner8 commented Feb 3, 2025

Anne comment on why 'pressure_levels' is used: "It was just what was used in the rose-stem lfric output file and is also consistent with the global lfric suite. So not particularly chosen by us. If you can work with pressure_levels, then I'd be in favour of going with that, as I'm keen to be as consistent with other practices as possible."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants