Skip to content

Revert GM buoyancy gradient calculation to v1 form#687

Merged
mark-petersen merged 4 commits intoMPAS-Dev:ocean/developfrom
vanroekel:ocean/v1GMbuoyancyGradient
Sep 11, 2020
Merged

Revert GM buoyancy gradient calculation to v1 form#687
mark-petersen merged 4 commits intoMPAS-Dev:ocean/developfrom
vanroekel:ocean/v1GMbuoyancyGradient

Conversation

@vanroekel
Copy link
Contributor

E3SM testing suggests that the new formulation of buoyancy gradient calculation that leverages infrastructure from Redi is at least partly responsible for excessive heat uptake in v2 alpha simulations. This PR will revert those changes back to the v1 formulation.

@xylar
Copy link
Collaborator

xylar commented Sep 8, 2020

@darincomeau is seeing too little sea ice in the northern hemisphere in his SORRM runs. Could this be related?

@milenaveneziani
Copy link
Contributor

@darincomeau: what hash are you using for the SORRM runs?

@jonbob
Copy link
Contributor

jonbob commented Sep 8, 2020

test merge into E3SM passes:
PET_Ln9_PS.ne30_oECv3_ICG.A_WCYCL1850S.anvil_intel
PEM_Ln9_PS.ne30_oECv3_ICG.A_WCYCL1850S.anvil_intel

waiting on:
ERS.T62_oEC60to30v3wLI.GMPAS-DIB-IAF-ISMF.anvil_intel

@milenaveneziani
Copy link
Contributor

@vanroekel: is this the specific MPAS-Model PR that is involved in the new GM buoyancy gradient calculation?:
#633
so, anything before that uses the v1 formulation?

@vanroekel
Copy link
Contributor Author

vanroekel commented Sep 8, 2020

@xylar and @darincomeau it is not clear if the v2 buoyancy gradient would result in too little sea ice. It is possible for sure as upper ocean stratification is pretty strongly affected by the choice.

@milenaveneziani it is before that where it was introduced - #445 , but it was improved in the PR you mention

@darincomeau
Copy link

darincomeau commented Sep 8, 2020

@darincomeau: what hash are you using for the SORRM runs?

@milenaveneziani the hash is b9f3341f2, and the branch is here: https://github.com/E3SM-Project/E3SM/tree/darincomeau/SORRMr2-clubbv2. The branch was split off master on May 29th I believe.

@milenaveneziani
Copy link
Contributor

@darincomeau: so #445 (merged in Apr) was there but not #633.

@jonbob
Copy link
Contributor

jonbob commented Sep 8, 2020

test merge into E3SM also passed:
ERS.T62_oEC60to30v3wLI.GMPAS-DIB-IAF-ISMF.anvil_intel

@milenaveneziani
Copy link
Contributor

so, @darincomeau, @xylar, I agree with @vanroekel that it is hard to say. I think best will be to restart the SORRM runs after v2 ocean is finalized, since so many changes are going in (and out) of v2 beta ocean. But maybe by then we'll have a final SORRM mesh to focus on?

@darincomeau
Copy link

Yeah these runs used GM_closure=N2_dependent, and redi was off, so SORRM reruns are definitely warranted.

@xylar
Copy link
Collaborator

xylar commented Sep 8, 2020

Okay, happy to discuss next steps for SORRM but this PR isn’t the place.

@mark-petersen mark-petersen self-assigned this Sep 9, 2020
Copy link
Contributor

Choose a reason for hiding this comment

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

Some of these new arrays need nVertLevels+1. I can fix that.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

okay, thanks! I could also take a look and fix as well if you'd like

@vanroekel
Copy link
Contributor Author

an update, I've tested this for 20+ years in a B-case and the results are positive. Biases are reduced pretty substantially in terms of heat uptake and MLD bias. @mark-petersen if you could give take a look I'd appreciate it. This one is high priority for WC.

@vanroekel vanroekel marked this pull request as ready for review September 10, 2020 04:39
Copy link
Contributor

@mark-petersen mark-petersen Sep 10, 2020

Choose a reason for hiding this comment

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

@vanroekel in the current PR, dzdxEdge and drhoDzTopOfEdge are allocated and set to zero but never used. I can take them out, but can you double check that not using them was intentional, rather than a copy and paste error?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@mark-petersen this was a copy-paste error Thanks for catching that!

@mark-petersen mark-petersen force-pushed the ocean/v1GMbuoyancyGradient branch from a2f4ce5 to 1ca85f2 Compare September 10, 2020 19:56
@mark-petersen
Copy link
Contributor

rebased, fixed index out of bounds errors. Now passes nightly regression with gnu debug.

@mark-petersen
Copy link
Contributor

@mattdturner This PR changes several loops to an older formulation from last year. Could you look at the OMP pragmas around the revised loops for this PR? We need to make sure it retains the newer format since #513.

@mattdturner
Copy link
Collaborator

There were some missing !$omp parallel regions around some of the loops. I added them, and the thread test PASSes on Cori w/ intel + debug.

Approved based on this test, and the other testing by @mark-petersen

@mark-petersen
Copy link
Contributor

Thanks @mattdturner. I also ran a test with gnu 6 debug, passes all.

mark-petersen added a commit that referenced this pull request Sep 10, 2020
Revert GM buoyancy gradient calculation to v1 form #687

E3SM testing suggests that the new formulation of buoyancy gradient
calculation that leverages infrastructure from Redi is at least partly
responsible for excessive heat uptake in v2 alpha simulations. This PR
will revert those changes back to the v1 formulation.
mark-petersen added a commit that referenced this pull request Sep 10, 2020
Fixes limiting on redi k33 #684
Fixes surface buoyancy forcing calculation #690
Revert GM buoyancy gradient calculation to v1 form #687
@mark-petersen mark-petersen self-requested a review September 10, 2020 23:24
Copy link
Contributor

@mark-petersen mark-petersen left a comment

Choose a reason for hiding this comment

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

Reviewed code, passes stand-alone tests. Testing in E3SM now, but @vanroekel has tested as well.

@mark-petersen mark-petersen merged commit 1f7abcc into MPAS-Dev:ocean/develop Sep 11, 2020
mark-petersen added a commit that referenced this pull request Sep 11, 2020
Fixes limiting on redi k33 #684
Fixes surface buoyancy forcing calculation #690
Revert GM buoyancy gradient calculation to v1 form #687
jonbob added a commit to E3SM-Project/E3SM that referenced this pull request Sep 14, 2020
This PR brings in a new mpas-source submodule with changes only to the
ocean core, plus scripts updates corresponding to Registry changes in
the ocean. It includes three changes to improve ocean heat uptake:
* Fixes limiting on redi k33 (MPAS-Dev/MPAS-Model/pull/684);
* Fixes surface buoyancy forcing calculation
  (MPAS-Dev/MPAS-Model/pull/690); and
* Revert GM buoyancy gradient calculation to v1 form
  (MPAS-Dev/MPAS-Model/pull/687).

[NML]
[non-BFB]
jonbob added a commit to E3SM-Project/E3SM that referenced this pull request Sep 15, 2020
Update mpas-source: GM/Redi and surface buoyancy fixes

This PR brings in a new mpas-source submodule with changes only to the
ocean core, plus scripts updates corresponding to Registry changes in
the ocean. It includes three changes to improve ocean heat uptake:
* Fixes limiting on redi k33 (MPAS-Dev/MPAS-Model/pull/684);
* Fixes surface buoyancy forcing calculation
  (MPAS-Dev/MPAS-Model/pull/690); and
* Revert GM buoyancy gradient calculation to v1 form
  (MPAS-Dev/MPAS-Model/pull/687).

[NML]
[non-BFB]
mark-petersen added a commit to mark-petersen/MPAS-Model that referenced this pull request Jan 11, 2021
…an/develop

Revert GM buoyancy gradient calculation to v1 form MPAS-Dev#687

E3SM testing suggests that the new formulation of buoyancy gradient
calculation that leverages infrastructure from Redi is at least partly
responsible for excessive heat uptake in v2 alpha simulations. This PR
will revert those changes back to the v1 formulation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants