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

GFDL MP fast physics calls through CCPP #114

Merged
merged 13 commits into from
Jul 10, 2018

Conversation

climbfuji
Copy link
Collaborator

This PR introduces the necessary changes for the GFDL MP fast physics as described in NCAR/ccpp-framework#95. For further details and dependencies please see there.

mzhangw and others added 11 commits May 15, 2018 10:41
…fast physics; remove physics/gfdl_qs_init.F90 (now part pf gfdl_fv_sat_adj as fv_sat_adj_init)
…he non-CCPP version in FV3/gfsphysics/physics, ifdef out all sections that are not needed for gfdl_fv_sat_adj
…'s fv_sat_adj a work routine fv_sat_adj_work; fv_sat_adj_run includes additional code from fv_mapz.F90 to be able to loop over entire columns and not horizontal slices
@grantfirl
Copy link
Collaborator

fv_sat_adj_run standard name questions:

  1. zvir is named "moist_gas_constant"; I'm not sure that I like this name. Maybe "virtual_temperature_constant" or something? This is actually in physcons.F90 as "con_fvirt". For what it's worth, I have a standard name of "ratio_of_vapor_to_dry_air_gas_constants_minus_one" in the gmtb_scm_physical_constants.f90 table. Whatever is used, we should strive to be consistent.
  2. pkz -- what is "pe" in the standard name? potential energy?

@grantfirl
Copy link
Collaborator

I'm not familiar with the code before this, but I'm a bit confused by fv_sat_adj_work versus fv_sat_adj_run. It seems that fv_sat_adj_run is the "driver" for the actual scheme that is "fv_sat_adj_work". I'm guessing that fv_sat_adj_run was necessary to have the inputs/outputs be on the same domain as other schemes (i.e. a set of columns instead of a different array configuration)?

@climbfuji
Copy link
Collaborator Author

@grantfirl yes the issue is that the _work routine (original fv_sat_adj) runs over slabs, i.e. individual z-layers. This is not what CCPP is supposed to do (entire columns) and makes it also difficult wrt parallelization (threading).

@climbfuji
Copy link
Collaborator Author

That sounds reasonable to me, will follow what is in SCM.

Copy link
Collaborator

@grantfirl grantfirl left a comment

Choose a reason for hiding this comment

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

I'll approve with the caveat that it may be necessary to update the mentioned standard names afterwards.

climbfuji added 2 commits July 9, 2018 14:47
…stant to ratio_of_vapor_to_dry_air_gas_constants_minus_one_default_kind and from finite-volume_mean_pe_raised_to_the_power_of_kappa to finite-volume_mean_edge_pressure_raised_to_the_power_of_kappa
@climbfuji
Copy link
Collaborator Author

UPDATE: I changed the standard_name from moist_gas_constant to ratio_of_vapor_to_dry_air_gas_constants_minus_one_default_kind and from finite-volume_mean_pe_raised_to_the_power_of_kappa to finite-volume_mean_edge_pressure_raised_to_the_power_of_kappa. I could not use ratio_of_vapor_to_dry_air_gas_constants_minus_one from GFS_typedefs.F90 because of a kind mismatch (default in fv_sat_adj, kind_phys in GFS_typedefs.F90). I will raise an issue to discuss this further, since gfdl_fv_sat_adj is compiled with default real = 8, and in addition the new features in ccpp-framework should prevent mixing types by checking them in the caps at runtime.

@climbfuji climbfuji merged commit 9eb2ddf into NCAR:master Jul 10, 2018
@climbfuji climbfuji deleted the ccpp-physics-gfdlmp-fast-processes branch July 10, 2018 02:37
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.

3 participants