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

standard name for general heating rate? #22

Open
gold2718 opened this issue Sep 8, 2021 · 13 comments
Open

standard name for general heating rate? #22

gold2718 opened this issue Sep 8, 2021 · 13 comments
Assignees
Labels
enhancement New feature or request question Further information is requested

Comments

@gold2718
Copy link
Collaborator

gold2718 commented Sep 8, 2021

Is it okay to add a standard name for any generic heating rate produced by a scheme? Something simple like heating_rate?

@gold2718 gold2718 added enhancement New feature or request question Further information is requested labels Sep 8, 2021
@grantfirl
Copy link
Collaborator

What is wrong with tendency_of_air_temperature...?

@gold2718
Copy link
Collaborator Author

gold2718 commented Sep 8, 2021

It is a slightly different quantity:

tendency_of_air_temperature = heating_rate_due_to_x / specific_heat_of_dry_air_at_constant_pressure

@grantfirl
Copy link
Collaborator

Ok, sure. I always took them to be synonymous, apparently in error. In case I'm not the only one who has had this misconception, would it be too much to ask to maybe define it in the rules or in the long name (like you did in your comment)? So, units of heating_rate would be J kg-1 s-1?

@gold2718
Copy link
Collaborator Author

gold2718 commented Sep 9, 2021

So, units of heating_rate would be J kg-1 s-1?

Yes

I wonder about having names such as heating_rate_due_to_<x> or tendency_of_air_temperature_due_to_<x> vs. heating_rate or tendency_of_air_temperature.

If I want to have a generic interstitial scheme such as update_air_temperature, I would need input arguments tendency_of_air_temperature and air_temperature. With all the scheme-specific tendency standard names, this seems to not be feasible. How are you currently handling state updates?

@dudhia
Copy link
Collaborator

dudhia commented Sep 9, 2021 via email

@gold2718
Copy link
Collaborator Author

gold2718 commented Sep 9, 2021

the update interstitial could take each in turn

How would you write the metadata for that?

another interstitial could give a total tendency followed by a single update call

How would you write the metadata for that?

@grantfirl
Copy link
Collaborator

grantfirl commented Sep 9, 2021

So, units of heating_rate would be J kg-1 s-1?

Yes

I wonder about having names such as heating_rate_due_to_<x> or tendency_of_air_temperature_due_to_<x> vs. heating_rate or tendency_of_air_temperature.

If I want to have a generic interstitial scheme such as update_air_temperature, I would need input arguments tendency_of_air_temperature and air_temperature. With all the scheme-specific tendency standard names, this seems to not be feasible. How are you currently handling state updates?

I don't see a problem with having a generic heating rate or tendency if necessary. For the UFS, the first half of the suites use process-split and each scheme accumulates its temperature tendency in the tendency_of_air_temperature_due_to_model_physics variable. That tendency is applied in a state-updater interstitial. All schemes afterward update the state directly using the time-split method. All of the tendency_of_air_temperature_due_to_<x> besides the "model_physics" one are purely diagnostic in the UFS.

@grantfirl
Copy link
Collaborator

grantfirl commented Sep 9, 2021

BTW, "tendency_of_air_temperature_due_to_model_physics" was already an existing CF variable, so we thought fit to use it for the accumulator variable for the process-split physics. The "...due_to_model_physics" part might be superfluous, but we wanted to use as many existing CF variables as possible and not add more.

@dudhia
Copy link
Collaborator

dudhia commented Sep 9, 2021 via email

@grantfirl
Copy link
Collaborator

The UFS state updater interstitial was actually one of the few interstitials that was generic (until someone put an if-statement in there regarding a specific MP scheme). It simply took in the accumulated process-split tendencies from whatever physics updated those variables prior to the state updater being called and updates the state variables for use in the immediately following time-split scheme in the SDF. It should work for any SDF that works like: [all process-split schemes, all time-split schemes].

@dudhia
Copy link
Collaborator

dudhia commented Sep 9, 2021 via email

@grantfirl
Copy link
Collaborator

Look for the module GFS_suite_stateout_update in https://github.com/NCAR/ccpp-physics/blob/main/physics/GFS_suite_interstitial.F90

@ligiabernardet
Copy link
Collaborator

@gold2718 This issue seemed to have branched off on various discussions. Returning to the topic discussed in the title, I believe there is agreement that a standard name for heating_rate can be added if a scheme and/or host model needs it. This statement is valid for any new standard name, that is, if new names are needed to represent new variables, they should be added to the dictionary. Unless you (or others) are planning to add the heating rate soon, I think we can close this issue. Please let us know how you'd like to proceed.

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

No branches or pull requests

4 participants