-
Notifications
You must be signed in to change notification settings - Fork 319
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
Enhance inactive top cells feature #840
Enhance inactive top cells feature #840
Conversation
@vanroekel Do you know of a test case I can use to test the changes I made to |
@@ -1188,6 +1190,7 @@ subroutine ocn_tracer_ecosys_surface_flux_compute(activeTracers, ecosysTracers, | |||
BGC_forcing%SST(column) = activeTracers(indexTemperature,iLevelSurface,iCell) | |||
BGC_forcing%SSS(column) = activeTracers(indexSalinity,iLevelSurface,iCell) | |||
|
|||
! the 1 indices may need to be changed to iLevelSurface |
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.
@maltrud Do you know whether the 1 index in ecosysTracers(ecosysIndices%*,1,iCell)
should refer to the surface index (i.e., minLevelCell
)?
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 following six lines are a rearrangement of index order:
(k,iCell,iTracer) <--- (iTracer,k,iCell)
but only for a single column, and only for the top layer. I'm sure this is for the BGC interface API.
@cbegeman I agree that all 1 indices in the next six lines should be replaced with iLevelSurface
. I think a shorter index name like kTop
would be more readable. Perhaps kSurface
.
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.
@mark-petersen Thanks! These changes are in 9d189a2. With this commit, it passes the nightly test suite.
@cbegeman the shortwave absorption variable code is never tested (not since I. added it a number of years ago). I'd like to switch it on but it hasn't been high priority. For testing we would have to rerun the init phase of the COMPASS global ocean test case for each resolution and move them to the input data repo. Then we would have to do the testing by hand. I don't think that should be part of your responsibility in this PR. I'd propose a few possibilities
I think my choice would be (2). What do you think? |
TESTINGE3SM Baseline: PASS comparison with baseline
PASS (without comparison with baseline)
Standalone
PASS
PASS except for |
@vanroekel Thanks for this context. I think that you'll find option (2) to be reasonable, as the code changes are pretty straightforward and aren't extensive in these routines. The changes to shortwave_absorption_variable can be found in this commit: 9230b88. Let me know what you think. |
The changes to Also, thanks for running the new Watercycle configuration on compy, I appreciate it! |
@cbegeman, I know I still owe you some testing on Anvil and Chrysalis. I'll get to that as soon as I can, hopefully this evening. |
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.
a6dddf4
to
5ee6382
Compare
@mattdturner Thanks for your review! I made that fix to |
Add subpool calls Revert RK4 New=Cur subpool retrievals for minLevel* Use minLevelCell for velocityZonal,Meridional
faf2897
to
9255673
Compare
@mark-petersen RK4 is now fixed. It passes nightly + z_level_dev standalone cases on Grizzly with intel17. I'll be retesting cvmix since we had some changes there. |
cvmix tests @xylar, it's ready for any testing you want to do. I'll start with Cori and Compy E3SM tests. |
@xylar This branch still passes all compy and cori tests listed above as well as the nightly ocean test suite on Grizzly. I got a build error at |
f9e02c3
to
19dc7d9
Compare
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.
My testing all when great (see #840 (comment)). The one standalone test where there are diffs (ocean/sub_ice_shelf_2D/5km/iterative_init/
) is clearly an optimization thing and it's not a configuration representative of anything we run production runs with so I'm fine with just "blessing" the changes.
@xylar Thank you for all your testing efforts! |
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.
Reviewed visually and read past comments. Passes nightly regression suite on last commit
9d189a2 with intel 19 and gnu 5.3, both debug and optimized on grizzly, and bfb match with ocean/develop
on both. Also, analytic comparison and convergence test for Redi terms are correct and match bfb with previous.
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.
@vanroekel Thanks for all your input! |
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.
Previous comments addressed. Approve based on visual inspection, testing by others.
Enhance inactive top cells feature #840
Enhance inactive top cells feature MPAS-Dev#840
Here, we extend the capability for Inactive top cells introduced by #825 to apply to additional model configurations besides those needed to run a basic ice shelf test case. More detail about the scope of this development is documented in #811.
The variable
minLevelCell
and relatedminLevelEdge*
andminLevelVertex*
variables are added by analogy withmaxLevel*
variables. By default, there are no inactive top cells andminLevel*
= 1. The main code changes are to k-loop limits and designating surface quantities as those atminLevel*
.