-
Notifications
You must be signed in to change notification settings - Fork 245
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
Dev master candidate 2018 06 03 #787
Merged
Merged
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
Corrected the code setting p_surf in MOM_ice_shelf so that the ISOMIP test case gives the same answers before and after a separate mec_forcing type structure was added. This restores the answers in two ISOMIP test cases to the previous commit.
Added corrections for the ISOMIP and related test cases at the point in the code where additional problems for this case were introduced.
Added a new element, accumulate_rigidity, to the mech_forcing type to control whether rigidity is reset or accumulated in various ice elements. With this change, the ISOMIP test cases return to acceptable solutions; other cases are unchanged.
Improved the post_data peculiar size error messsages, so that they now give information about which diagnostic is being posted, the understood sizes, and the strange size that has been sent in. All answers are bitwise identical.
Corrected index ranges for reproducing_sum in MOM_tracer_chkinv. Because the tracer array is passed into reproducing sum as an array, it is converted internally to start at 1, per F90 conventions. This is now compensated for in the tracer range arguments. The solutions are identical, as are the tracer inventories if the data domains start at 1, as is common with MOM6.
Added a new element, accumulate_p_surf, to the mech_forcing type, to indicate whether surface pressure has been reset to 0 and can be accumulated across multiple contributions, or whether it should be reset if it is to be changed. All answers in existing test cases are bitwise identical.
Separated the new publicly visibile subroutine add_shelf_forces out of add_shelf_flux, permitting the dynamic forces to be set separately from the thermodynamic forcing. All answers are bitwise identical.
Eliminated the unused triangular finite element subroutines and related arrays. Also added grid-type arguments to numerous internal subroutines, and used this to set array sizes. Eliminated the variable isym and the macros N[IJ]LIMB_SYM_ and [IJ]SUMSTART_INT_. Also eliminated the finite-element shape argument, FE, from some subroutines. All test cases are bitwise identical.
Moved the ice shelf state variables, mass_shelf, area_shelf_h, h_shelf and hmask into a new ice_shelf_state type in the new module MOM_ice_shelf_state, and use this type for these variables in MOM_ice_shelf.F90. The allocation and deallocation of this new type is handled via calls to ice_shelf_state_init and ice_shelf_state_end, respectively. This change will permit the ice shelf dynamics code to be separated out from the rest of the ice shelf code. All answers are bitwise identical.
Use elements of the ice_shelf_state for the thermodynamic fluxes between the ice shelf and the ocean, as seen by the ice shelf. Also made the exchange velocity arrays into local variables. All answers are bitwise identical.
Replaced the excessive use of pointers and allocatable arrays in MOM_ice_shelf.F90 with automatically allocated arrays using information from the grid type to set the array extents. Because pointers are not being used, many of the arguments to the internal subroutines have been changed from pointers to simple arguments with an intent, while other arguments have been added to explicitly pass the arrays being worked on in preparation for splitting out the ice shelf dynamics. The remaining pointers are nullified where they are declared. All answers are bitwise identical.
Created a new ice shelf dynamics control structure, separate from the overall ice shelf control structure, in preparation for moving the ice shelf dynamics into its own module. All answers are bitwise identical, although several internal interfaces are changed.
Made a number of minor changes in MOM_ice_shelf.F90, including renaming a number of excessively long variable names, eliminating unused variables, and adding dOxyGen comments to some arguments and routines, and fixing code indentation in some routines. The suffix _bilinear is no longer needed in subroutine names and has been removed. All answers are bitwise identical.
Correct ISOMIP
Fixes failing readthedocs builds
Insufficient testing of N-S OBCs for all options.
Created a new subroutine, initialize_ice_shelf_dyn, to initialize the ice shelf dynamics control structure. Also commented out the register_diag_field call for ice_surf, which was never actually posted. Moved the IDs for diagnostics related to the ice shelf dynamics into the ice shelf dynamics control structure. Also dOxyGenised the arguments to initialize_ice_shelf. All answers are bitwise identical in the MOM6_examples test cases, but the order of entries in the MOM_parameter_doc files will change with active ice shelf dynamics.
This reverts commit bcb3f12, reversing changes made to 496ab52. - Unfortunately, PR #776 included a merge from dev/ncar as a result of PR #777 and both these PRs were made on branches that were updated subsequent to the instigation of tests. The tests passed but the branches had updates that were not tested. In both cases, the untested updates would not have passed so I am revoked the entirety of #776 in order to recover a working code.
- The creation of legacy_diabatic() was made by putting it into a separate module which require making members of diabatic_CS public. - I've moved legacy_diabatic() into MOM_diabatic_driver.F90 and made diabatic_CS private. This also removes some duplicated code for diagnostics.
- The call to diabatic_driver_end() was commented out.
- deallocation should only happen if allocation was done
Created the new routine update_ice_shelf and moved 7 elements of the ice shelf control structure into the ice shelf dynamics control structure. Also moved several of the post data calls for ice shelf diagnostics into this new routine, so they will only occur with active ice shelf dynamics. All solutions are bitwise identical, but there will be changes in the MOM_parameter_doc and available diagnostics files.
Created a new module for the ice shelf dynamics, separating numerous routines out from MOM_ice_shelf. All answers are bitwise identical, although there are several new publicly visible subroutines.
Fixed a number of instances in MOM_ice_shelf.F90 that did not use the MOM6 standard 2-point indentation. Also removed some trailing white space. All answers are bitwise identical.
Separated out the call to add_shelf_forces from add_shelf_fluxes and eliminated the mech_forcing type argument to add_shelf_fluxes. All answers are bitwise identical.
Made forces into an optional argument for shelf_calc_flux, and then added calls to add_shelf_forces in most places where shelf_calc_flux is called. Also added acculumulate_p_surf as an element in the forcing type, as well as the mech_forcing_type, so that surface pressure can be calculated independently in the two types, and added a new internal routine, add_shelf_pressure, in the MOM_ice_shelf module. All answers are bitwise identical in the test cases.
- The FMS code that compares checksums in files has a dummy argument of dimension(3) but MOM6 was passing a dimension(1) variable. Only the first entry seems to be non-zero which is why things seemed to work BUT in debug mode we were hitting an out-of-array-bounds condition.
Insufficient testing of N-S OBCs for all options.
Private diabatic
Changed dimensions of checksum_file to 3
dOxyGenized numerous arguments and cleaned up code and variable names in various auxiliary ice_shelf code. All answers are bitwise identical.
Added get_ALE_sponge_nz_data and get_ALE_sponge_thicknesses, to provide an interface to get information about the fixed ALE sponge grid. All answers are bitwise identical.
Added dOxyGenized comments the arguments in MOM_ice_shelf_dynamics.F90. Because I do not fully understand the ice-sheet dynamics model, these should be reviewed and revised by someone who understands the ice sheet dynamics solver. All answers in the test cases are bitwise identical.
- This reverts commit 2c9bf18 in order to merge in dev/master which included changes that were reverted. - The revert was temporary until subsequent commits were made to address issues.
- Gaea runtime variability is causing numerous timeouts again so rather than assuming the submitted job succeeds we now test that the last file to be made exists. - Also added 2 minutes to job.
Green light from ESMG.
…On Mon, Jun 4, 2018 at 4:16 PM, Alistair Adcroft ***@***.***> wrote:
This PR to dev/master includes fixes for the various reverts made last
week when we got ahead of ourselves inadvertently.
There are not too many differences here:
- The lion's share of changes are in src/ice_shelf/ which is not
widely used.
- The next biggest difference is moving legacy_diabatic_driver() back
in to MOM_diabatic_driver.F90 after we gave inaccurate suggestions.
- The majority of the rest are documentation or cleanup.
@kshedstrom <https://github.com/kshedstrom> Can you check you fix is
still in here? (I can see it but that's not the same as it working for
you...)
@gustavo-marques <https://github.com/gustavo-marques> Likewise, double
check I didn't lose anything of yours.
We'll wait for thumbs up from the usual suspects...
------------------------------
You can view, comment on, or merge this pull request online at:
NOAA-GFDL#787
Commit Summary
- fix get_posterior_tracer interface
- Merge branch 'dev/gfdl' of https://github.com/NOAA-GFDL/MOM6 into
DA_update
- Insufficient testing of N-S OBCs for all options.
- *)Corrected ISOMIP with mech_forcing type structure
- Merge branch 'correct_ISOMIP' into +Added ice_rigidity
- +*Added forces%accumulate_rigidity
- Merge commit 'a1c5679ffcbadf9041c18ff7787ed71d563564de' into
correct_ISOMIP_2
- Merge commit '327df246b61d712e906e6ba99200bb1738ba6f8a' into
correct_ISOMIP_2
- Merge branch 'dev/gfdl' into correct_ISOMIP_2
- Improved post_data peculiar size error messsages
- Corrected MOM_tracer_chkinv index ranges
- Merge branch 'Hallberg-correct_ISOMIP_2' into refactor_ice_shelf
- +Added forces%accumulate_p_surf
- +Added add_shelf_forces
- +Eliminated unused triangular element routines
- +Create and use ice_shelf_state
- +Use ice_shelf_state for fluxes to ice shelf
- +Reduce pointer use in MOM_ice_shelf
- +Created ice shelf dynamics control structure
- Merge remote-tracking branch 'gfdl/dev/gfdl' into dev/esmg
- Fixes failing readthedocs builds
- Simple code clean-up in MOM_ice_shelf.F90
- Merge remote-tracking branch 'ncar/dev/ncar' into dev/esmg
- Merge remote-tracking branch 'ncar/dev/ncar' into dev/esmg
- fix for openmp
- Merge pull request #775 from Hallberg-NOAA/correct_ISOMIP_2
- Merge pull request #778 from adcroft/fix-readthedocs-fails
- Merge pull request #776 from ESMG/dev/esmg
- Merge pull request #780 from Zhi-Liang/user/z1l/fix_openmp
- Merge pull request #773 from MJHarrison-GFDL/DA_update
- +Created initialize_ice_shelf_dyn
- Revert "Merge pull request #776 from ESMG/dev/esmg"
- Insufficient testing of N-S OBCs for all options.
- Make diabatic_CS private again
- Call diabatic_driver_end()
- Avoid SEGV in CVMIX_*_end()
- +Added update_ice_shelf
- +Created MOM_ice_shelf_dynamics
- Cleaned up the indenting in MOM_ice_shelf.F90
- +Extracted add_shelf_forces from add_shelf_fluxes
- +Changed arguments to shelf_calc_flux
- Changed dimensions of checksum_file to 3
- Merge pull request #781 from adcroft/recover-N-S-obcs-on-dev-esmg
- Merge pull request #782 from adcroft/private-diabatic
- Merge branch 'dev/gfdl' into refactor_ice_shelf
- Merge pull request #785 from adcroft/fix-restart-checksum-dimension
- dOxyGenized arguments in MOM_ice_shelf code
- +Added subroutines to get ALE sponge grid info
- dOxyGenized arguments in MOM_ice_shelf_dynamics
- Fixed trailing white space
- Merge pull request #786 from Hallberg-NOAA/refactor_ice_shelf
- Revert "Revert "Merge pull request #776 from ESMG/dev/esmg""
- Merge branch 'dev/master' into dev/gfdl
- Test for submitting job success
File Changes
- *M* .gitlab-ci.yml
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-0> (3)
- *M* config_src/coupled_driver/MOM_surface_forcing.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-1> (8)
- *M* config_src/coupled_driver/ocean_model_MOM.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-2> (36)
- *M* config_src/mct_driver/ocn_comp_mct.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-3> (10)
- *M* config_src/solo_driver/MOM_driver.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-4> (12)
- *M* src/core/MOM.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-5> (5)
- *M* src/core/MOM_forcing_type.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-6> (11)
- *M* src/core/MOM_grid.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-7> (4)
- *M* src/core/MOM_open_boundary.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-8> (12)
- *M* src/framework/MOM_diag_mediator.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-9> (90)
- *M* src/framework/MOM_domains.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-10> (50)
- *M* src/framework/MOM_restart.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-11> (4)
- *M* src/ice_shelf/MOM_ice_shelf.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-12> (6226)
- *A* src/ice_shelf/MOM_ice_shelf_dynamics.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-13> (4153)
- *M* src/ice_shelf/MOM_ice_shelf_initialize.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-14> (167)
- *A* src/ice_shelf/MOM_ice_shelf_state.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-15> (101)
- *M* src/ice_shelf/MOM_marine_ice.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-16> (3)
- *D* src/ice_shelf/shelf_triangular_FEstuff.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-17> (731)
- *M* src/ice_shelf/user_shelf_init.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-18> (123)
- *M* src/ocean_data_assim/MOM_oda_driver.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-19> (25)
- *M* src/parameterizations/vertical/MOM_ALE_sponge.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-20> (192)
- *M* src/parameterizations/vertical/MOM_CVMix_conv.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-21> (2)
- *M* src/parameterizations/vertical/MOM_CVMix_shear.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-22> (2)
- *M* src/parameterizations/vertical/MOM_diabatic_driver.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-23> (1303)
- *D* src/parameterizations/vertical/MOM_legacy_diabatic_driver.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-24> (1660)
- *M* src/tracer/MOM_tracer_registry.F90
<https://github.com/NOAA-GFDL/MOM6/pull/787/files#diff-25> (12)
Patch Links:
- https://github.com/NOAA-GFDL/MOM6/pull/787.patch
- https://github.com/NOAA-GFDL/MOM6/pull/787.diff
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<NOAA-GFDL#787>, or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAbIHhkIdku2KSI2kh4Xd3gU0m-40xSfks5t5c37gaJpZM4UZ95E>
.
|
I approve this PR. |
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 to dev/master includes fixes for the various reverts made last week when we got ahead of ourselves inadvertently.
There are not too many differences here:
@kshedstrom Can you check you fix is still in here? (I can see it but that's not the same as it working for you...)
@gustavo-marques Likewise, double check I didn't lose anything of yours.
We'll wait for thumbs up from the usual suspects...