-
Notifications
You must be signed in to change notification settings - Fork 118
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
Rename CCPP_interstitial (to GFDL_interstitial) #181
Rename CCPP_interstitial (to GFDL_interstitial) #181
Conversation
@junwang-noaa @bensonr Would you be able to give me some feedback on the proposed name change for the CCPP interstitial data container? Thanks very much! |
I am thinking maybe slowPhys_interstitial (or GFSSlowPhys_interstitial) and fastPhys_interstitial? It's not clear to me what GFS_interestitial and GFDL_insterstitial mean. Also I agree cdata_dycore is the data used in dycore, it's easier to understand than cdata_tile. |
@@ -299,11 +299,11 @@ subroutine fv_dynamics(npx, npy, npz, nq_tot, ng, bdt, consv_te, fill, | |||
real :: time_total | |||
integer :: seconds, days | |||
|
|||
ccpp_associate: associate( cappa => CCPP_interstitial%cappa, & |
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 don't understand this syntax here. What is going on?
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.
This association was done so that we didn't have to change the entire code and replace cappa
with CCPP_interstitial%cappa
everywhere. This was especially important when IPD and CCPP coexisted in the UFS, as we had to switch between the two builds.
Previously, in the IPD, and still the case in the dev/gfdl branch (I think), cappa
is a local (module) variable in fv_dynamics.F90
. In the CCPP implementation, it is part of the DDT currently called CCPP_interstitial
. When CCPP was implemented first as a dynamic build option, this was the only way to pass cappa
to the saturation adjustment in CCPP. Later, the dynamic build was phased out. It would be possible to rearrange things a bit, although I don't think we can use cappa
as a local variable in fv_dynamics.F90
as it is for the dev/gfdl branch. It could be a module variable in separate Fortran module.
@bensor and I talked a while ago about a possible refactoring of the physics implementations with the goal to have a generic interface to call physics in the FV3 dycore, and then the two backends GFDL physics and CCPP physics. Unfortunately, we haven't made any progress on that. But this would be a good opportunity to revisit the CCPP implementation.
Hi, Dom. So ccpp_associate is some sort of dynamic data type?
Thanks,
Lucas
…On Mon, Apr 4, 2022 at 11:34 AM Dom Heinzeller ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In model/fv_dynamics.F90
<#181 (comment)>
:
> @@ -299,11 +299,11 @@ subroutine fv_dynamics(npx, npy, npz, nq_tot, ng, bdt, consv_te, fill,
real :: time_total
integer :: seconds, days
- ccpp_associate: associate( cappa => CCPP_interstitial%cappa, &
This association was done so that we didn't have to change the entire code
and replace cappa with CCPP_interstitial%cappa everywhere. This was
especially important when IPD and CCPP coexisted in the UFS, as we had to
switch between the two builds.
Previously, in the IPD, and still the case in the dev/gfdl branch (I
think), cappa is a local (module) variable in fv_dynamics.F90. In the
CCPP implementation, it is part of the DDT currently called
CCPP_interstitial. When CCPP was implemented first as a dynamic build
option, this was the only way to pass cappa to the saturation adjustment
in CCPP. Later, the dynamic build was phased out. It would be possible to
rearrange things a bit, although I don't think we can use cappa as a
local variable in fv_dynamics.F90 as it is for the dev/gfdl branch. It
could be a module variable in separate Fortran module.
@bensor <https://github.com/bensor> and I talked a while ago about a
possible refactoring of the physics implementations with the goal to have a
generic interface to call physics in the FV3 dycore, and then the two
backends GFDL physics and CCPP physics. Unfortunately, we haven't made any
progress on that. But this would be a good opportunity to revisit the CCPP
implementation.
—
Reply to this email directly, view it on GitHub
<#181 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AMUQRVFKIB47BJNNVWCQSQDVDMDYLANCNFSM5RFZPVCA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Ahhhh, no, that’s just a label for the “associate" statement like you can do for “if”, “do” etc.
… On Apr 4, 2022, at 11:49 AM, lharris4 ***@***.***> wrote:
Hi, Dom. So ccpp_associate is some sort of dynamic data type?
Thanks,
Lucas
On Mon, Apr 4, 2022 at 11:34 AM Dom Heinzeller ***@***.***>
wrote:
> ***@***.**** commented on this pull request.
> ------------------------------
>
> In model/fv_dynamics.F90
> <#181 (comment)>
> :
>
> > @@ -299,11 +299,11 @@ subroutine fv_dynamics(npx, npy, npz, nq_tot, ng, bdt, consv_te, fill,
> real :: time_total
> integer :: seconds, days
>
> - ccpp_associate: associate( cappa => CCPP_interstitial%cappa, &
>
> This association was done so that we didn't have to change the entire code
> and replace cappa with CCPP_interstitial%cappa everywhere. This was
> especially important when IPD and CCPP coexisted in the UFS, as we had to
> switch between the two builds.
>
> Previously, in the IPD, and still the case in the dev/gfdl branch (I
> think), cappa is a local (module) variable in fv_dynamics.F90. In the
> CCPP implementation, it is part of the DDT currently called
> CCPP_interstitial. When CCPP was implemented first as a dynamic build
> option, this was the only way to pass cappa to the saturation adjustment
> in CCPP. Later, the dynamic build was phased out. It would be possible to
> rearrange things a bit, although I don't think we can use cappa as a
> local variable in fv_dynamics.F90 as it is for the dev/gfdl branch. It
> could be a module variable in separate Fortran module.
>
> @bensor <https://github.com/bensor> and I talked a while ago about a
> possible refactoring of the physics implementations with the goal to have a
> generic interface to call physics in the FV3 dycore, and then the two
> backends GFDL physics and CCPP physics. Unfortunately, we haven't made any
> progress on that. But this would be a good opportunity to revisit the CCPP
> implementation.
>
> —
> Reply to this email directly, view it on GitHub
> <#181 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AMUQRVFKIB47BJNNVWCQSQDVDMDYLANCNFSM5RFZPVCA>
> .
> You are receiving this because you commented.Message ID:
> ***@***.***>
>
—
Reply to this email directly, view it on GitHub <#181 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AB5C2RLGR2ED4JZK55RFIZ3VDMTT7ANCNFSM5RFZPVCA>.
You are receiving this because you authored the thread.
|
OK. Thanks.
On Mon, Apr 4, 2022 at 1:51 PM Dom Heinzeller ***@***.***>
wrote:
… Ahhhh, no, that’s just a label for the “associate" statement like you can
do for “if”, “do” etc.
> On Apr 4, 2022, at 11:49 AM, lharris4 ***@***.***> wrote:
>
>
> Hi, Dom. So ccpp_associate is some sort of dynamic data type?
>
> Thanks,
> Lucas
>
> On Mon, Apr 4, 2022 at 11:34 AM Dom Heinzeller ***@***.***>
> wrote:
>
> > ***@***.**** commented on this pull request.
> > ------------------------------
> >
> > In model/fv_dynamics.F90
> > <
#181 (comment)
>
> > :
> >
> > > @@ -299,11 +299,11 @@ subroutine fv_dynamics(npx, npy, npz, nq_tot,
ng, bdt, consv_te, fill,
> > real :: time_total
> > integer :: seconds, days
> >
> > - ccpp_associate: associate( cappa => CCPP_interstitial%cappa, &
> >
> > This association was done so that we didn't have to change the entire
code
> > and replace cappa with CCPP_interstitial%cappa everywhere. This was
> > especially important when IPD and CCPP coexisted in the UFS, as we had
to
> > switch between the two builds.
> >
> > Previously, in the IPD, and still the case in the dev/gfdl branch (I
> > think), cappa is a local (module) variable in fv_dynamics.F90. In the
> > CCPP implementation, it is part of the DDT currently called
> > CCPP_interstitial. When CCPP was implemented first as a dynamic build
> > option, this was the only way to pass cappa to the saturation
adjustment
> > in CCPP. Later, the dynamic build was phased out. It would be possible
to
> > rearrange things a bit, although I don't think we can use cappa as a
> > local variable in fv_dynamics.F90 as it is for the dev/gfdl branch. It
> > could be a module variable in separate Fortran module.
> >
> > @bensor <https://github.com/bensor> and I talked a while ago about a
> > possible refactoring of the physics implementations with the goal to
have a
> > generic interface to call physics in the FV3 dycore, and then the two
> > backends GFDL physics and CCPP physics. Unfortunately, we haven't made
any
> > progress on that. But this would be a good opportunity to revisit the
CCPP
> > implementation.
> >
> > —
> > Reply to this email directly, view it on GitHub
> > <
#181 (comment)
>,
> > or unsubscribe
> > <
https://github.com/notifications/unsubscribe-auth/AMUQRVFKIB47BJNNVWCQSQDVDMDYLANCNFSM5RFZPVCA
>
> > .
> > You are receiving this because you commented.Message ID:
> > ***@***.***>
> >
> —
> Reply to this email directly, view it on GitHub <
#181 (comment)>,
or unsubscribe <
https://github.com/notifications/unsubscribe-auth/AB5C2RLGR2ED4JZK55RFIZ3VDMTT7ANCNFSM5RFZPVCA
>.
> You are receiving this because you authored the thread.
>
—
Reply to this email directly, view it on GitHub
<#181 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AMUQRVBGNC25MDFSTMKICILVDMTZDANCNFSM5RFZPVCA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
@laurenchilutti We are now working on Dom's PR, may I ask if this PR is ready for commit? |
@junwang-noaa We are waiting on 2 more reviews. Once its approved I can merge it in. @bensonr @lharris4 Can you please leave a review on this? Thanks. |
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.
Looks fine to me.
@junwang-noaa This PR is now ready for commit. |
…ed_sphere into feature/rename_ccpp_interstitial
Thanks for the reviews. Please merge this PR, regression testing is complete. |
Thanks! |
Rename CCPP_interstitial to GFDL_interstitial (NOAA-GFDL#181)
Description
I would like to rename
CCPP_interstitial
into something more meaningful for the fv3atm atmospheric model. The term is confusing, because fv3atm hasGFS_interstitial
for the GFS (slow/traditional physics), andCCPP_interstitial
for the FV3 dycore (fast/tightly coupled physics). Both of them are interstitial data types required by CCPP and they are defined in a module calledCCPP_typedefs.F90
.For now, I changed it to
GFDL_interstitial
but I am not 100% happy with this name and I would welcome suggestions for a better name. This PR shows the small extent of these changes.Related, I would like to consider renaming the CCPP variable
cdata_tile
to something more meaningful, for examplecdata_dycore
? There are two othercdata
variables in fv3atm,cdata_block
(when blocked data is passed) andcdata_domain
(when all blocks are passed as one contiguous data).Fixes NOAA-EMC/fv3atm#507.
How Has This Been Tested?
Tested with the ufs-weather-model regression tests, see ufs-community/ufs-weather-model#1130
Checklist:
Please check all whether they apply or not