-
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
Enable UFS-GOCART integration #664
Enable UFS-GOCART integration #664
Conversation
to prevent floating point runtime errors.
in SAMF deep convection scheme.
in SAMF shallow convection scheme.
uninitialized elements of cloud base mass flux array.
coupling with aerosol component if available (cplflx=.true.).
exported to the coupled aerosol component.
3D non-convective liquid and ice precipitation fluxes.
when aerosol diffusion is enabled.
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 good, just one tiny change to revert.
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 good, will approve when the regression testing is done. Thanks!
values when coupling with chemistry model.
@@ -91,7 +92,7 @@ subroutine samfdeepcnv_aerosols(im, ix, km, itc, ntc, ntr, delt, | |||
|
|||
do k = 1, km | |||
do i = 1, im | |||
xmbp(i,k) = g * xmb(i) / delp(i,k) | |||
if (cnvflg(i)) xmbp(i,k) = g * xmb(i) / delp(i,k) |
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.
Just a question: I understand that it is better for memory access to have the nested loop in k,i order, but does inserting the IF statement within the inner loop change the computational performance in practice such that the loop order should be reversed? I.e. Does the benefit of ordering the loop k,i overcome the expense of running IF i*k times? (Also repeated below)
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.
The cost (CPU cycles) associated with memory access is usually much larger than the cost of branching inside loops due to optimized branch prediction available in modern processors.
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.
Thanks for the explanation!
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 good. One comment about inserting an i-dependent IF statement within a nested k,i loop.
@SMoorthi-emc please take a look at the RAS changes: 7f6e45e - thanks! |
Dom,
I assume "itc" is the starting address and "ntc" is the ending address
of chemistry variables, to be subjected to scavenging.
So, itc is >2 and ntc could be <=ntr and the dimension of "fscav) would be
(ntc-itc+1).
If so, don't you think it should be "fscav_(itc:ntc) = fscav"?
For example, say there is only "one" chemistry variable. Then itc=ntc
right?
Moorthi
…On Wed, Jun 30, 2021 at 2:00 PM Dom Heinzeller ***@***.***> wrote:
@SMoorthi-emc <https://github.com/SMoorthi-emc> please take a look at the
RAS changes: 7f6e45e
<7f6e45e>
- thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#664 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALLVRYW5BKNSMKNUMEY3TM3TVNLVLANCNFSM45MSYEOA>
.
--
Dr. Shrinivas Moorthi
Research Meteorologist
Modeling and Data Assimilation Branch
Environmental Modeling Center / National Centers for Environmental
Prediction
5830 University Research Court - (W/NP23), College Park MD 20740 USA
Tel: (301)683-3718
e-mail: ***@***.***
Phone: (301) 683-3718 Fax: (301) 683-3718
|
physics/rascnv.F90
Outdated
endif | ||
if (itc > 0 .and. ntc > 0) then | ||
if (ntr >= itc + ntc - 3) then | ||
fscav_(itc:ntc-1) = fscav |
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.
Of course, Moorthi. Thanks for catching it, I updated the code. |
This PR introduces changes required to integrate the NASA GOCART model into the UFS (#663) along with a few bug fixes.
Added features:
Fixes:
cplflx
is.true.
and coupling with aerosol component is enabled.Regression test log files for the following platforms available at https://github.com/rmontuoro/ufs-weather-model/tree/feature/gocart: