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
Separate GIS and AIS coupling modes #136
Open
matthewhoffman
wants to merge
133
commits into
MALI-Dev:master
Choose a base branch
from
E3SM-Project:matthewhoffman/mali/separate-gis-ais-modes
base: master
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.
Open
Separate GIS and AIS coupling modes #136
matthewhoffman
wants to merge
133
commits into
MALI-Dev:master
from
E3SM-Project:matthewhoffman/mali/separate-gis-ais-modes
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
Do not update FCT masks between RK stages. The masking for FCT is now calculated in the first RK stage and not updated again in the time step.
and re-arrange an if-loop for improving efficiency
Also include a place holder for Algorithm 4
correction is applied to the TF field. Also include (unrelated) clean-ups
such that smoothing happens synchronously with horizontal extrapolation and with a local weight for a cell, where the local weight value gets defined depending on the cell's validity.
when the extrapolation scheme is on
Also make the invalid value a config option
Only recalculate layerNormalVelocity when using RK time integration. Recalculating when using forward Euler integration led to an inconstency in edgeMask because of face-melting. This commit leads to a slight inconsistency between forward Euler and RK treatments, which should be fixed in the future, likely by moving face-melting to after advection and before the velocity solve, similar to the treatment of calving.
…/develop Even though we do a velocity solve during each Runge-Kutta stage, those updated velocities were not being used for advection because layerNormalVelocity was not being updated after each velocity solve. This merge fixes that major bug in RK time integration. * trhille/mali/fix_layerNormalVelocity_bug: Only recalculate layerNormalVelocity when using RK time integration Update layerNormalVelocity in each RK stage
The ISMIP6 code for interpolating TF vertically does not give correct values for depths below the deepest data z-level. This commit handles that case by using the deepest TF value corrected by the freezing temperature depth-dependence. It also handles the less critical situation of depths above the shallowest data level by using the shallowest value unmodified.
"disabling" might be misleading because these flags "maximize" cloud fraction by setting them to 1 everywhere
* Moved to its own folder * Do not add scripts subdir when building EAMxx * Move data/*yaml in query-cf-database folder
The folder eamxx/data no longer exists, and did not contain any input data for EAM in the first place
These flags change the input P3 cloud fraction by setting them to 1 everywhere. Currently they default to False, but we will likely enable them as part of the effort to address the popcorn convection problem. [BFB]
Co-authored-by: Xylar Asay-Davis <xylarstorm@gmail.com>
…evelop The ISMIP6 code for interpolating TF vertically does not give correct values for depths below the deepest data z-level. This commit handles that case by using the deepest TF value corrected by the freezing temperature depth-dependence. It also handles the less critical situation of depths above the shallowest data level by using the shallowest value unmodified. * origin/matthewhoffman/mali/tf-vert-interp-fix: Update error message Update zOcean error check Improve error checking in ocean extrap Fix new indexing error introduced trying to fix indexing errors Fix indexing errors Modify TFocean vertical interpolation for depths outside of data range
OCN to GLC thermal forcing coupling This pull request introduces coupling from OCN to GLC to pass thermal forcing at a prescribed ocean depth (300 m) from MPAS-Ocean to MALI, where MALI uses it to calculate grounded marine melting through an existing 'facemelting' parameterization. Facemelting as a function of ocean thermal state is a critical OCN/GLC coupling for Greenland, but it is relevant to Antarctica as well. This OCN-GLC thermal forcing coupling is activated whenever OCN is present and GLC is active. This PR has pieces in MPAS-Ocean, the coupler, and MALI: * In MPAS-Ocean, a new avgThermalForcingAtCritDepth field is added and calculated. The depth at which to calculate the thermal forcing is namelist configurable. The default is 300 m. * In MALI, the field passed from the coupler is collected in ismip6_2dThermalForcing and used in the existing facemelting parameterization. Namelist and streams are updated to use facemelting in all simulations and output relevant variables. For compsets where TF is not being coupled, it will have values of 0 and result in no facemelting being applied; it is safe to have this option generally turned on. * In the coupler, a new remapping object is created that handles the TF mapping independently of any other fields passed from OCN to GLC. New mapping files are added. Any coupling variables related to the existing ice-shelf coupling now include the 'shelf' suffix and all coupling variables related to this new thermal-forcing coupling have the 'tf' suffix. * A new compset is created that is a standard G-case but with active MALI. New mapping files are added between the relevant grids for the new mapper. * The new OCN2GLC_TF_SMAPNAME mapping should be a nearest source to destination mapping with the MPAS-Ocean source mesh masked to only include grid cells that are deeper than the critical depth to avoid extrapolating undefined values. A tool to generate that map file is added to MPAS-Dev/MPAS-Tools * Two new model_grids are added that are compatible with this feature and include the special mapping file required: TL319_IcoswISC30E3r5_gis1to10kmR2 and TL319_oQU240wLI_gis20 * The new coupling is controlled by a new namelist option in MPAS-Ocean: config_glc_thermal_forcing_coupling_mode It defaults to 'off' and there are no compsets that explicitly set it for now, making this a stealth feature. [NML] for new mappings, new ocean variable [non-BFB] for configurations with active MALI
…6861) Doing some cleaning: these files were built along with eamxx in certain conditions, despite being never used.
Merge remote-tracking branch 'MALI-Dev/develop' into matthewhoffman/mali/separate-gis-ais-modes * MALI-Dev/develop: (84 commits) Update error message Update zOcean error check Improve error checking in ocean extrap Fix new indexing error introduced trying to fix indexing errors Fix indexing errors Modify TFocean vertical interpolation for depths outside of data range Only recalculate layerNormalVelocity when using RK time integration Update layerNormalVelocity in each RK stage Remove variables that are not needed for restarts Update variable descriptions in Registry Clean up variable names Minor cleanup from code review Fix segfault in hydro init due to using cellMask before accessing it Remove effectivePressureSGH from ocean connection Apply suggestions/debugging from review Replace verbose per-iteration log message with a summary Handle seafloor and lakes in extrapolation module Revert "Modified which ocean layers are picked for creating TFocean and added check for invalid TF values" Modified which ocean layers are picked for creating TFocean and added check for invalid TF values Modified ocean extrapolation routine to take in a 3d ocean cavity mask ...
matthewhoffman
force-pushed
the
matthewhoffman/mali/separate-gis-ais-modes
branch
from
January 8, 2025 03:11
c41f3ed
to
bc49872
Compare
This commit revises the previous commit to use a more specific naming convention and also adds it as a new command line argument to build-namelist.
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 is a discussion PR for creating separate GIS and AIS coupling modes.
Needs to be rebased after E3SM-Project#6632 is merged.