Bug fix for reading First_direction from restart#18
Merged
Hallberg-NOAA merged 2 commits intoDec 6, 2021
Conversation
* A bug on reading parameter First_direction from the restart is fixed. Previously, it only works when rotate_index is .true. * A FATAL error is now issued when both ROTATE_INDEX and ALTERNATE_FIRST_DIRECTION are .true. This should only be treated as a temporary patch. * Local variable first_direction in initialize_MOM is slightly repurposed to exclude any modication by rotate_index turns. This helps clarify the meaning of First_direction in restart files, making it independent from index rotation.
Codecov Report
@@ Coverage Diff @@
## dev/gfdl #18 +/- ##
=========================================
Coverage 29.17% 29.17%
=========================================
Files 240 240
Lines 71488 71493 +5
=========================================
+ Hits 20854 20856 +2
- Misses 50634 50637 +3
Continue to review full report at Codecov.
|
Hallberg-NOAA
approved these changes
Dec 6, 2021
Member
There was a problem hiding this comment.
I have carefully examined this PR, and I agree that these changes do properly correct a bug and adds an appropriate error for cases that are not yet being handled. This PR has passed TC testing and it passed pipeline testing at https://gitlab.gfdl.noaa.gov/ogrp/MOM6/-/pipelines/14277.
This was referenced Jan 29, 2022
marshallward
pushed a commit
that referenced
this pull request
Jul 2, 2022
* initial hooks for stochastic EOS modifications * remove debug statements * add documentation * Change ampltiude from 0.39 to sqrt(.39) * remove global_indexing logic from stoch_eos_init * switch to using MOM_random and add restart capability * update random sequence to update each each time-step * remove tseed0 from MOM_random (leftover from debugging) * Added necessary submodules and S^2, T^2 diagnostics to MOM_diagnostics * Added diagnostics for outputting variables related to the stochastic parameterization. * Diagnostics in MOM_PressureForce_FV updated for stochastic (rather than deterministic) Stanley SGS T variance parameterization. * Added parentheses for reproducibility. * Changed diagnostics to account for possible absence of stoch_eos_pattern in MOM_PressureForce_FV, when deterministic parameterization is on. * remove mom6_da_hooks and geoKdTree from pkg * add stochastic compoment to MOM_thickness_diffuse * fix array size declaration and post_data * Corrected indexing of loops in MOM_calc_varT * Changed how parameterization of SGS T variance (deterministic and stochastic) is switched on in PGF and thickness diffusion codes * Corrected a few typos * Cleaned up indices, redundant diagnostic, printing * Fixed diagnostic IDs * Fixed diagnostics typo * Corrected indices in calculation of tv%varT * Minor index fix * Corrected bug in pressure in Stanley diagnostics * Fixed whitespace error * Stoch eos clock (#5) *Added a clock for the Stanley parameterization Co-authored-by: jkenigson <jkenigso@gmail.com> * add halo update to random pattern * Update MOM_stoch_eos.F90 Fix bug for looping over compute domain (is -> isc etc.) * Avoid unnessary computations on halo (MOM_stoch_eos) and code clean-up (MOM_thickness_diffuse) * Removed halo updates before determ param calc * Update MOM_stoch_eos.F90 Removed unnecessary code * Bug - indices are transposed * Changed Stanley stochastic coefficient from exp(X) to exp(aX) (#9) * Changed Stanley stochastic coefficient from exp(X) to exp(aX) * Extra spaces removed * Stoch eos init fix (#10) * Don't bother calculating tv%varT if stanley_coeff<0 * Missing then added * Merge Ian Grooms Tvar Discretization (#11) * Update MOM_stoch_eos.F90 In progress updating stencil for$ | dx \times \nabla T|^2$ calculation * New discretization of |dx\circ\nablaT|^2 Co-authored-by: Ian Grooms <ian.grooms@colorado.edu> * Multiplied tvar%SGS by grid cell thickness ratio * Added limiter for tv%varT * Stoch eos ncar linear disc (#12) * Update MOM_stoch_eos.F90 In progress updating stencil for$ | dx \times \nabla T|^2$ calculation * New discretization of |dx\circ\nablaT|^2 * AR1 timescale land mask Adds land mask to the computation of the AR1 decorrelation time * Update dt in call to MOM_stoch_eos_run The call to `MOM_stoch_eos_run` (which time steps the noise) is from within `step_MOM_dynamics`. `step_MOM_dynamics` advances on time step `dt` (per line 957), but the noise is updated using `dt_thermo`. It seems more appropriate to update the noise using `dt`, since it gets called from within `step_MOM_dynamics`. * Fixed the units for r_sm_H * Remove vestigial declarations The variables `hl`, `Tl`, `mn_T`, `mn_T2`, and `r_sm_H` are no longer used, so I removed their declarations and an OMP private clause Co-authored-by: Ian Grooms <ian.grooms@colorado.edu> * Update MOM_thickness_diffuse.F90 Changed index for soft convention * Update CVMix-src * Ensure use_varT, etc., initialized * Don't register stanley diagnostics if scheme is off * Stanley density second derivs at h pts (#15) * Change discretization of Stanley correction (drho_dT_dT at h points) * Limit Stanley noise, shrink limiting value * Revert t variance discretization * Reverted variable declarations * Stanley scheme in mixed_layer_restrat, vert_fill in stoch_eos, code cleanup (#19) * Test Stanley EOS param in mixed_layer_restrat * Fix size of TS cov, S var in Stanley calculate_density calls * Test move stanley scheme initialization * Added missing openMP directives * Revert Stanley tvar discretization (#18) * Perform vertical filling in calculation of T variance * Variable declaration syntax error, remove scaling from get_param * Fix call to vert_fill_TS * Code cleanup, whitespace cleanup Co-authored-by: Jessica Kenigson <jessicak@cheyenne1.cheyenne.ucar.edu> * Use Stanley (2020) variance; scheme off at coast * Comment clean-up * Remove factor of 0.5 in Tvar * Don't calculate Stanley diagnostics on halo * Change start indices in stanley_density_1d * Stanley param in MOM_isopycnal_slopes (#22) Stanley param in MOM_isopycnal_slopes and thickness diffuse index fix * Set eady flag to true if use_stored_slopes is true * Cleanup, docs, whitespace * Docs and whitespace * Docs and whitespace * Docs and whitespace * Whitespace cleanup * Whitespace cleanup * Clean up whitespace * Docs cleanup * use_stanley * Update MOM_lateral_mixing_coeffs.F90 * Adds link to another TEOS10 module * Set Stanley off for testing * Line continuation Co-authored-by: Phil Pegion <38869668+pjpegion@users.noreply.github.com> Co-authored-by: Philip Pegion <Philip.Pegion@noaa.gov> Co-authored-by: Jessica Kenigson <jessicak@cheyenne6.cheyenne.ucar.edu> Co-authored-by: Jessica Kenigson <jessicak@cheyenne3.cheyenne.ucar.edu> Co-authored-by: jkenigson <jkenigso@gmail.com> Co-authored-by: jskenigson <jessica.kenigson@colorado.edu> Co-authored-by: Jessica Kenigson <jessicak@cheyenne1.cheyenne.ucar.edu> Co-authored-by: Jessica Kenigson <jessicak@cheyenne5.cheyenne.ucar.edu> Co-authored-by: Philip Pegion <ppegion@Philips-MacBook-Pro.local> Co-authored-by: Jessica Kenigson <jessicak@cheyenne4.cheyenne.ucar.edu>
theresa-cordero
added a commit
to theresa-cordero/MOM6
that referenced
this pull request
Nov 18, 2024
Remove eqn_of_state from generic tracer interfaces because the photoacclimation mixed layer depth is now calculated in MOM6 and passed to MOM6. Co-authored-by: Theresa Morrison <Theresa.Morrison@gaea53.ncrc.gov>
theresa-cordero
added a commit
to theresa-cordero/MOM6
that referenced
this pull request
Nov 18, 2024
Remove eqn_of_state from generic tracer interfaces because the photoacclimation mixed layer depth is now calculated in MOM6 and passed to MOM6. Co-authored-by: Theresa Morrison <Theresa.Morrison@gaea53.ncrc.gov>
This file contains hidden or 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
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 address issue mom-ocean#1546 .
First_directionis not correctly read from restart files. Previously, the code was only added in an if-block that rotate_index is true.FIRST_DIRECTIONfrom MOM_input and float fieldFirst_directionwritten to and read from the restart files have a physical meaning, i.e. their meanings and values should be independent from index rotation.first_directionin subroutineinitialize_MOMis slightly repurposed. Now it is only used to store parameterFIRST_DIRECTIONread from MOM_input. In this way, the modification of "turns" toG%first_directionis more explicit.CS%first_dir_restartis moved after state initialization to increase readability.FATALerror is now raised when bothROTATE_INDEXandALTERNATE_FIRST_DIRECTIONare true. This is mainly to avoid the potential ambiguous meaning of first_direction. It is probably not ideal but can be changed in the future if needed. (e.g. One can addturnsparameter to the control structure and use it to updateCS%first_dir_restartevery dynamical time step.)