-
Notifications
You must be signed in to change notification settings - Fork 153
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
GFDL MP fast physics calls through CCPP #114
Conversation
…pp-physics-gfdlmp-fast-processes
…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
…t_adj (at top of fv_dynamics in FV3)
…'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
fv_sat_adj_run standard name questions:
|
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)? |
@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). |
That sounds reasonable to me, will follow what is in SCM. |
There was a problem hiding this 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.
…pp-physics-gfdlmp-fast-processes
…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
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. |
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.