forked from E3SM-Project/E3SM
-
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
Add temperature and salinity to ocean extrapolation #124
Open
alexolinhager
wants to merge
8
commits into
develop
Choose a base branch
from
alexolinhager/add_salt_temp_extrapolation
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains 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
… check for invalid TF values
…nd added check for invalid TF values" This reverts commit 93c7ad7.
This commit makes adjustments to how the seafloor and inland seas (locations below sea level not connected to the global ocean) are handled for extraplation. The adjustments are applied primarily to availOceanMask, which is the mask of to where ocean data should be extrapolated. Changes made: * Adjust availOceanMask to extend one layer below the seafloor (needed so that facemelting has a valid value one level below the seafloor for interpolation to the seafloor elevation) * to support this, generate error if ismip6shelfMelt_zBndsOcean is not populated, because that field is needed for the seafloor detection * Adjust availOceanMask to ignore inland seas - we will not attempt to flood fill into areas below sea level that are not connected to the open ocean. * to support this, create mask of marine locations connected to global open ocean * Adjustment to where invalid values are assigned to avoid inserting them in inland seas. This will give inland seas either the value from the ocean data if it exists, or else TF=0
Eliminates 100s of repetitive log messages per timestep
Makes changes to mpas_li_ocean_extrap.F to enable the choice to either extrapolate thermal forcing (original implementation) or extrapolate both ocean salinity and temperature. In the latter case, thermal forcing will eventually be recalculated after the extrapolation process. The option to extrapolate salt/temp is activated by setting config_recalculate_thermal_forcing to true.
@@ -165,7 +167,7 @@ subroutine li_ocean_extrap_solve(domain, err) | |||
do iter = 1, nCellsExtra | |||
do iCell = 1, nCellsSolve | |||
if ( growOceanMaskHoriz(iCell) == 1 .and. seedOceanMaskHorizOld(iCell) == 0 ) then | |||
do iNeighbor = 1, nEdgesOnCell(iCell) | |||
do iNeighbor /TFoce= 1, nEdgesOnCell(iCell) |
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.
is this a typo?
Add recalculate_thermal_forcing subroutine to ocean extrapolation. By setting config_recalculate_thermal_forcing to true, the user can now choose to calculate thermal forcing at the glacier face using any of the methods outlined in Hager et al. (2024). If config_recalculate_thermal_forcing is false then MALI will default to using the extrapolated version of ismip6shelfMelt_3dThermalForcing from the input file.
alexolinhager
force-pushed
the
alexolinhager/add_salt_temp_extrapolation
branch
from
September 25, 2024 21:19
3f6736d
to
735add8
Compare
Moves consolidation of 3d thermal forcing profiles into 2d scalars, previously done in mpas_li_ocean_extrap.F, to mpas_li_iceshelf_melt.F. This is done to be consistent with MALI configurations that do not use the ocean extrapolation framework.
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.
Makes edits to the existing ocean thermal forcing extrapolation framework so that either user can choose to either extrapolate ocean thermal forcing, or ocean temperature and salinity. If the case of the latter, ocean thermal forcing is then recalculated following extrapolation according to the method declared in the namelist files (<< add those options here once code is written >>). Temperature and salinity will be extrapolated instead of thermal forcing is
config_recalculate_thermal_forcing
is set to.true.
.