Add ISOLATE_MASS_WEIGHT_PGF option to PGF calculation#811
Closed
claireyung wants to merge 2 commits intoNOAA-GFDL:dev/gfdlfrom
Closed
Add ISOLATE_MASS_WEIGHT_PGF option to PGF calculation#811claireyung wants to merge 2 commits intoNOAA-GFDL:dev/gfdlfrom
claireyung wants to merge 2 commits intoNOAA-GFDL:dev/gfdlfrom
Conversation
This commit adds the runtime parameter ISOLATE_MASS_WEIGHT_PGF with default value False. If true, then the PGF calculation is modified so that MASS_WEIGHT_IN_PRESSURE_GRADIENT cannot affect cells above and below through the summation of intx_dpa or intx_dza (and y equivalents). This summation can cause problems near the grounding line of ice shelves, even with RESET_INTXPA_INTEGRAL (which was a workaround for this problem), if there is no suitable grid cell in the entire column that is non-vanished and non-tilted. This code recalculates intx_dpa without MASS_WEIGHT_IN_PRESSURE_GRADIENT and uses that non-weighted version for the calculation of intx_pa in subsequent cells,but still retains intx_dpa potentially affected by MASS_WEIGHT_IN_PRESSURE_GRADIENT in the PFu and PFv calculation to retain its desired effect near vanished, sloped layers susceptible to grid-scale noise. Currently the code is very inefficient. As of now, if ISOLATE_MASS_WEIGHT_PGF = True, and MWIPG = True, it calculates the density integrals twice (one with and one without MWIPG). This involves lots of eqn of state calls so slows the model down a lot. This should be improved (though I don’t have a better idea right now). Default answers should not change since default is False, keeping original intx_dpa and allowing MWIPG in one cell to affect cells above/below.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This commit adds the runtime parameter
ISOLATE_MASS_WEIGHT_PGFwithdefault value False. If true, then the PGF calculation is modified
so that
MASS_WEIGHT_IN_PRESSURE_GRADIENTcannot affect cells above andbelow through the summation of intx_dpa or intx_dza (and y equivalents).
This summation can cause problems near the grounding line of ice shelves,
even with
RESET_INTXPA_INTEGRAL(which was a workaround for this problem),if there is no suitable grid cell in the entire column that is
non-vanished and non-tilted. This code recalculates intx_dpa without
MASS_WEIGHT_IN_PRESSURE_GRADIENTand uses that non-weighted version forthe calculation of intx_pa in subsequent cells,but still
retains intx_dpa potentially affected by
MASS_WEIGHT_IN_PRESSURE_GRADIENTin the PFu and PFv calculation to retain its desired effect near vanished,
sloped layers susceptible to grid-scale noise.
The result is that in the ISOMIP+ test case, combined with #810
velocities near the grounding line are reduced to 10^(-12)m/s.
Currently the code is very inefficient. As of now, if
ISOLATE_MASS_WEIGHT_PGF= True, and MWIPG = True, it calculates ALL the density integrals twice (one with
and one without MWIPG). This involves lots of eqn of state calls so slows the
model down a lot. This should be improved (though I don’t have a better
idea right now).
Default answers should not change since default is False, keeping original
intx_dpa and allowing MWIPG in one cell to affect cells above/below.
I would appreciate suggestions to optimise this code!!