forked from MPAS-Dev/MPAS-Model
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Merge seaice/develop into cice/icebergs #8
Open
darincomeau
wants to merge
2,402
commits into
cice/icebergs
Choose a base branch
from
darincomeau/cice/icebergs/seaice_develop_merge_20190404
base: cice/icebergs
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
Merge seaice/develop into cice/icebergs #8
darincomeau
wants to merge
2,402
commits into
cice/icebergs
from
darincomeau/cice/icebergs/seaice_develop_merge_20190404
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
Consequentially removes memory leak in halo reuse.
Consequentially removes memory leak in halo reuse.
According to comment in #1501 config_pool entries created in halo exchanges are no longer used and can be removed. Config_pool entries when ported to halo data structure reuse also cause a memory leak. According to comment in #1502 the code builds and passes testing.
According to comment in #1501 config_pool entries created in halo exchanges are no longer used and can be removed. Config_pool entries when ported to halo data structure reuse also cause a memory leak. According to comment in #1502 the code builds and passes testing.
This merge moves the 'm_hybi' and 'm_ps' fields to the 'diag_physics' pool. Previously, 'm_ps' was in the 'state' pool, and 'm_hybi' was in the 'mesh' pool. The new location of these fields better fits with their role in the model, since 'm_ps' really isn't part of the model prognostic state, and 'm_hybi' isn't part of the MPAS mesh description. * atmosphere/move_m_ps_and_m_hybi: Move 'm_hybi' and 'm_ps' to the 'diag_physics' pool Conflicts: src/core_atmosphere/physics/mpas_atmphys_camrad_init.F src/core_atmosphere/physics/mpas_atmphys_driver_radiation_lw.F src/core_atmosphere/physics/mpas_atmphys_driver_radiation_sw.F src/core_atmosphere/physics/mpas_atmphys_init.F
This merge removes the unused physics_addtend routine with no change to results. Prior to the MPAS v5.0 release, the physics_addtend routine was replaced by the physics_get_tend routine in order to allow us to obtain tendencies from physics schemes only once per full dynamics step. When the physics_get_tend routine was introduced, the physics_addtend routine was left in the mpas_atmphys_todynamics.F file. We can now safely remove this routine. * atmosphere/remove_physics_addtend: Remove unused 'physics_addtend' routine Conflicts: src/core_atmosphere/physics/mpas_atmphys_todynamics.F
* develop: Remove calls to config pool from halo exchanges. Fix PEP8 in COMPASS output scripts Break lines longer than 79 char. into multiple lines Modify white space for PEP8 compliance Add vim mode line Remove "naked" except statements Remove semicolons and the end of lines Change from % string formatting to .format() syntax break imports into single lines Change not {exp1} == {exp2} to {exp1} != {exp2} Change tabs to spaces in COMPASS scripts Add timing capability for test cases
* develop: Remove calls to config pool from halo exchanges. Fix PEP8 in COMPASS output scripts Break lines longer than 79 char. into multiple lines Modify white space for PEP8 compliance Add vim mode line Remove "naked" except statements Remove semicolons and the end of lines Change from % string formatting to .format() syntax break imports into single lines Change not {exp1} == {exp2} to {exp1} != {exp2} Change tabs to spaces in COMPASS scripts Add timing capability for test cases
Runs using these two fields were incorrect on restart.
If the BMB field exists in places where the ice is grounded, the current analysis member calculations related to floatingBasalMassBal will include those values in the calculation. This commit restricts the calculation of related stats to just floating ice. In the long term, it would be more accurate to add a new model field (e.g. floatingBasalMassBalApplied) that stores only what value was actually applied - this would also catch against the situation where the prescribed BMB was greater than the amount of ice in a cell. Similar terms for SMB should be added.
Conservation check in the thermal solver has been changed from an error to a warning. The conservation check in vertical_remap was already a warning but included a 'stop' command which caused the model to hang in a confusing-to-interpret way, making a horrible bug. The 'stop' statement is removed.
…ions Current definition only includes grounded ice to floating ice.
This routine checks the velocity field after the solve is complete. Any ice moving faster than 100,000 m/yr is assumed to be an iceberg and removed. The removed ice is sent to calving.
After eigencalving is complete, remove cells that now have less than a certain thickness threshold left. This was found to be needed to obtain calving fronts that don't oscillate wildly and creep up the coast. This addition to eigencalving is mentioned in Feldman & Levermann, PNAS (2015).
The regional stats calving flux calculation was incorrectly applying a mask for current ice exent. Most places with calving no longer have ice by the end of the time step, so those locations would be excluded from this calculation! This fix remove that mask from the calculation.
…ded ice This commit includes a number of minor but significant adjustments to the eigencalving functionality. 1. Change thickness-threshold to only apply to cells on the calving front. This required updating the geometry and mask before applying the thickness threshold. That in turn required rearranging how the data-calving option is implemented in the calving module, because eigencalving needs to make multiple 'passes' of calving, applying it to the thickness and mask each time. 2. Mask definitions in the mask and calving modules have been updated. Specifically, if a dynamic floating margin is adjacent to non-ice land, then it should not be treated as a calving margin. Before this fix, holes were developing in shelves near the grounding line in some place of relatively stagnant flow. Once established, these holes would eventually grow to consume the entire shelf from the inside out. 3. Eigencalving now includes an operation to remove abandoned floating ice that can get cut off from the shelf (i.e. icebergs). The cleanup operation is not completely effective at removing icebergs immediately, but in practice find most of them, and what it does not find immediately is often garbage collected later as they thin from basal melting. All of these changes were required to get AIS 20km spinups with eigencalving to behave stably and reasonably.
This merge corrects an error in deriving the water vapor mixing ratio field (QV) from relative humidity (RH) for real-data cases. Under the assumption that real-data intermediate files were produced by the WPS's ungrib program, we should always assume that the RH field is with respect to liquid water, since this is what WRF's real.exe program assumes and what the WPS ungrib.exe produces. Thanks to The Weather Company for uncovering this issue. * atmosphere/fix_RH_wrt_liquid_water: When deriving QV from RH, always assume RH is w.r.t. liquid water
…== nCells+1 Following the changes in the previous commit, the comment describing the computation of the edge normal direction when cell1 == nCells+1 needed to be updated to correctly state that the normal vector points from the edge location to the cellsOnEdge(2,iEdge) (i.e., "cell2") location.
One script is used to set the values of the eigencalving parameter, either by calibration from an existing output file or with specified uniform values per region. The other script was used to create plots of spin-up time-series used in the description paper.
This merge corrects the sign of edgeNormalVectors for positive inflow boundary edges. For edges that represent positive normal inflow along the boundary of a mesh, i.e., for edges where (cellsOnEdge(1,iEdge) == nCells+1), the mpas_initialize_vectors subroutine had incorrectly computed the value of the edgeNormalVectors field due to the transposition of the iEdge and cell2 locations in the difference. * framework/fix_edgeNormalVectors_sign: Update comment describing the direction of normal vectors when cell1 == nCells+1 Correct the sign of edgeNormalVectors for positive inflow boundary edges
…istry.xml The "units" attribute for scalar tendencies (e.g., tend_qv, tend_qc, etc.) in the Registry.xml file incorrectly identified these fields as being specified in kg kg^{-1} s^{-1}, when in fact the units are kg m^{-3} s^{-1}. Further, these tendencies are divided by d(zeta)/dz, so that the meters in the units refer to meters in the computational grid rather than the physical grid. Note that current physics schemes in MPAS return scalar tendencies in kg kg^{-1} s^{-1}, and these are converted to units of kg m^{-3} s^{-1} in the physics_get_tend routine by multiplication by rho_zz. This commit only addresses the previously incorrect units and description attributes in the Registry.xml file; there is no impact on model results.
This merge corrects the "units" and "description" attributes for scalar tendencies in the atmosphere core's Registry.xml file. The "units" attribute for scalar tendencies (e.g., tend_qv, tend_qc, etc.) in the Registry.xml file incorrectly identified these fields as being specified in kg kg^{-1} s^{-1}, when in fact the units are kg m^{-3} s^{-1}. Further, these tendencies are divided by d(zeta)/dz, so that the meters in the units refer to meters in the computational grid rather than the physical grid. Note that current physics schemes in MPAS return scalar tendencies in kg kg^{-1} s^{-1}, and these are converted to units of kg m^{-3} s^{-1} in the physics_get_tend routine via multiplication by rho_zz. This merge only fixes the previously incorrect units and description attributes in the Registry.xml file; there is no impact on model results. * atmosphere/fix_scalar_tend_units: Correct the "units" attribute for scalar tendencies in atmosphere Registry.xml
This merge corrects an issue in the computation of the initial QV field for MPAS-Atmosphere; it fixes a bug in the computation of the edgeNormalVectors field; and it corrects the units and descriptions of scalar tendencies in MPAS-Atmosphere. * hotfix-v5.3: Correct the "units" attribute for scalar tendencies in atmosphere Registry.xml Update comment describing the direction of normal vectors when cell1 == nCells+1 When deriving QV from RH, always assume RH is w.r.t. liquid water Correct the sign of edgeNormalVectors for positive inflow boundary edges Update version number to v5.3
…eanup' into azamat/seaice/improve-threading-fluxes (PR amametjanov#1) Moved tracer arrays out of the tracer object for clarity.
…uxes Merge in updates from PR MPAS-Dev#125
…omments for commented out debugging lines.
…meau/cice/icebergs/seaice_develop_merge_20190404. Minimal changes made to resolve conflicts. Does not compile.
…s from Registry (one from prognostic, one from data).
Code now compiles and passes standard_physics testsuite; fails icebergs testsuite. |
…ulation. Code now passes iceberg testing with config_use_berg_advection = false (fails when true).
…ve (mistakenly removed from earlier commit).
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 PR merges seaice/develop
70a3396
into cice/icebergs.Initial commit resolves conflicts only. Code does not compile.