-
Notifications
You must be signed in to change notification settings - Fork 3
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
Update depth-dependent ice-shelf basal melt parameterization and add variability input field #103
base: develop
Are you sure you want to change the base?
Conversation
Add Registry and ice shelf melt driver changes to support new calculate_aislens_melt_variability_adjustment subroutine call
76bb23d
to
cfe4264
Compare
Add linear draft-dependent (spatial dependence) basal melt adjustment for AISLENS generator.
Add slopeGen and interceptGen coefficients for the draft dependence
…melt generator Define draft dependence function variables for calculating floatingBasalMassBalAdjustment in aislens basalMassBal adjustment subroutine
Define slopeGen, interceptGen, zDraft variables as part of aislens package
98a86c9
to
bb469c4
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.
@mshiv , thanks for putting this PR together. After looking over it again, I have a few more requests. Also, please update the description of the PR (on the main PR page below the PR title) with a few details:
- describe how/why the slope and intercept are fields rather than namelist options
- describe the new
floatingBasalMassBalAdjustment
field, which is not directly related to the depth-dependent melt param. - explain that this new method is replacing the 'seroussi' option
Co-authored-by: Matt Hoffman <[email protected]>
Co-authored-by: Matt Hoffman <[email protected]>
Rename interceptGen to draftDepenBasalMeltAlpha0 Rename slopeGen to draftDepenBasalMeltAlpha1 This will allow for easier changes to the functional form used in the draft dependence melt parameterization
Update variables for the basal_melt_draft_dependence subroutine: rename: interceptGen -> draftDepenBasalMeltAlpha0 and slopeGen -> draftDepenBasalMeltAlpha1 Update definitions Add the above variables and floatingBasalMassBalAdjustment to input and restart streams.
Is there a configuration that makes this equivalent to
All other tests passed validation and baseline comparison. |
@@ -1224,6 +1220,15 @@ is the value of that variable from the *previous* time level! | |||
<var name="floatingBasalMassBal" type="real" dimensions="nCells Time" units="kg m^{-2} s^{-1}" | |||
description="Potential basal mass balance on floating regions" | |||
/> | |||
<var name="floatingBasalMassBalAdjustment" type="real" dimensions="nCells Time" units="kg m^{-2} s^{-1}" default_value="0.0" |
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.
It's not clear what the difference is between floatingBasalMassBalAdjustment
and draftDepenBasalMeltAlpha0
. The descriptions need more detail. For which cases is floatingBasalMassBalAdjustment
used?
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.
Technically, they are similar in that they are both added to the product of draft
and draftDepenBasalMeltAlpha1
. Main difference is that draftDepenBasalMeltAlpha0
(and draftDepenBasalMeltAlpha1
) is time independent while floatingBasalMassBalAdjustment
can be time dependent, with the latter being read in via a forcing file input stream.
draftDepenBasalMeltAlpha0
and draftDepenBasalMeltAlpha1
are maps derived via a regression of basal melt with draft.
floatingBasalMassBalAdjustment
is treated as an optional additional basal melt forcing value - in the context of the AISLENS experiments, it includes time varying basal melt forcing that can have secular/seasonal trends and variability, or a combination of them. Will update the main description above as well.
components/mpas-albany-landice/src/mode_forward/mpas_li_iceshelf_melt.F
Outdated
Show resolved
Hide resolved
components/mpas-albany-landice/src/mode_forward/mpas_li_iceshelf_melt.F
Outdated
Show resolved
Hide resolved
components/mpas-albany-landice/src/mode_forward/mpas_li_iceshelf_melt.F
Outdated
Show resolved
Hide resolved
! Shut off melt at an arbitrary shallow depth to discourage ice from disappearing. | ||
if ( (li_mask_is_floating_ice(cellMask(iCell))) .and. (lowerSurface(iCell) < -10.0_RKIND) ) then | ||
if ( li_mask_is_floating_ice(cellMask(iCell))) then |
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.
To be completely accurate, this should probably treat dynamic and non-dynamic cells differently. Melt rates for non-dynamic cells should probably be calculated using the draft values from neighboring dynamic cells. @matthewhoffman, what do you think?
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 think we should probably be doing that, but if we include that, it should probably be done for all melt options. Looks like we sort of say we are doing that at line 586 but it's not actually doing it. Or maybe it should happen where BMB is actually applied, using the dynamic mask that exists at that point. I think that should be a separate PR, given it would change the application of all melt rate methods.
Delete stray comments from previously defined seroussi method Co-authored-by: Trevor Hillebrand <[email protected]>
Co-authored-by: Trevor Hillebrand <[email protected]>
Update components/mpas-albany-landice/src/mode_forward/mpas_li_iceshelf_melt.F Co-authored-by: Trevor Hillebrand <[email protected]>
That might require a rewrite of draft_dependence to include the |
This PR replaces an existing ice shelf basal melt parameterization method and adds a basal melt variability input field, both in support of test cases where MALI is forced directly from the basal melt variable.
draftDepenBasalMeltAlpha0
(intercept parameter) anddraftDepenBasalMeltAlpha1
(slope parameter).floatingBasalMassBal
) variable.floatingBasalMassBalAdjustment
is defined, also as a user-defined input field.floatingBasalMassBal
, this adjustment field can be used to add basal melt forcing components that are not draft dependent. For example: linear trend, seasonality, internal climate variability components.