forked from NOAA-EMC/MOM6
-
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
Update ocn_stoch branch with dev/emc #9
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
Added new RL2_T2_to_Pa and W_m2_to_RZ3_T3 elements to the unit_scale_type for code simplification and clarity. Also corrected spelling errors in the get_param descriptions of 5 scaling factors, which will change comments in the MOM_parameter_doc.debugging files. All answers are bitwise identical.
Replaced products of scaling factors (like US%R_to_kg_m3*US%L_T_to_m_s**2) with combined scaling factors (like US%RL2_T2_to_Pa) to simplfy and clarify the code. All answers are bitwise idenical.
Rescaled the units of forces%p_surf, fluxes%p_surf, forces%p_surf_full and fluxes%p_surf_full and related surface pressure variables to [R L2 T-2 ~> Pa] for expanded dimensional consistency testing. All answers are bitwise identical, although there are changes to the rescaled units of elements to two transparent data types.
- Writing bad results to stderr and good results to stdout means there is no one place to see all results. This puts all results to stdout and in addition writes fails to stderr. - Note that MOM_lateral_boundary_diffusion is incorrectly passing and so the posting to stderr is temporarily commented out (to avoid cluttering all our testing).
Revised the dimensional rescaling of ice_shelf_CS%g_Earth to match GV%g_Earth and ice_shelf_dyn_CS%g_Earth to minimize confusion when examining different parts of the code. Also cancelled out pairs of unit conversion factors when setting the ice shelf contributions to fluxes%p_surf and forces%p_surf. All answers are bitwise identical.
- Following @marshallward's suggestion we now use stderr and stdout for directing messages in unit tests. These are set from output_unit and error_unit in iso_fortran_env rather than FMS/mpp.F90. The latter is normally used, and should be for error/warning/note messaging, but in the unit tests we need to be in direct control of where messages appear.
Direct unit-test results to stdout/stderr appropriately
Added a new optional pres_scale argument to the calculate_TFreeze interfaces to rescale pressures for dimensional consistency testing. All answers are bitwise identical.
Use the new pres_scale argument to TFreeze and pass rescaled pressures to calculate_TFreeze and several instances of calculate_density. All answers are bitwise identical.
Added variants of calculate_density routines that use a hor_index_type to specify array extents and unit_scale_types for dimensional consistency testing, further overloading existing interfaces. Also replaced the recently added rho_scale and pres_scale arguments to int_density_dz with an optional unit_scale_type argument, and modified calls to use this new argument. All answers are bitwise identical, but there are changes to external interfaces.
Revised numerous calls to calculate_density and calculate_density_derivs to use the new form with domain extents indicated by a hor_index_type argument. Internal density variables were also rescaled in a few cases. All answers are bitwise identical.
Rescaled the units of tv%P_Ref to [R L2 T-2] for expanded dimensional consistency testing. In some cases, other pressure variables were also rescaled and calls to calculate_density are recast into the simpler G%HI forms. All answers are bitwise identical, but the scaled units of an element of a transparent type were rescaled.
Rescaled the reference pressure arguments to 3 set_coord routines, 5 initialization routines, and kappa_shear_column. Also removed the unused pres argument to convert_temp_salt_for_TEOS10 and replaced its ocean_grid_type argument with a hor_index_type. All answers are bitwise identical.
Replaced the remaining pres_scale arguments the various calculate_density and calc_spec_vol routines in MOM_EOS.F90 with new optional unit_scale_type arguments. When the scale and US arguments are present, density is scaled by the product of the indicated scaling factors. Calls to these routines in 11 files were modified accordingly. All answers are bitwise identical.
Corrected pressure unit documentation in comments in 5 files. Also fixed punctuation in comments in MOM_EOS.F90. All answers are bitwise identical.
Rescaled internal pressure, specific volume and energy variables in MOM_diapyc_energy_req.F90. This file is mostly used for testing, and all answers are bitwise identical.
Rescaled pressures in 17 calculate_density or related calls and internal pressure variables in MOM_diabatic_aux. All answers are bitwise identical.
Corrected a rescaling bug in calculate_spec_vol_derivs_H1_1d, but as this code was not yet being exercised, there are no answer changes. Also modified applyBoundaryFluxesInOut to use this fixed routine. All answers are bitwise identical.
Redirected complicated equation of state routines to all work via the same 1-d array versions of the code. This shortens the MOM_EOS.F90 code even as new routines are added under the same overloaded interfaces. All answers are bitwise identical.
Rescaled the units of the pressure, density, and gravitational acceleration arguments to find_depth_of_pressure_in_cell, frac_dp_at_pos, trim_for_ice and cut_off_column_top for dimensional consistency testing and code simplification. One change corrected an omitted scaling factor when the optional z_tol argument is omitted, but this does not impact any solutions as this argument is present in all active cases. Also cleaned up some bizarre error messages starting with 'Blurgh!', which is apparently an artificial expletive invented to circumvent censors, but has now been censored and replaced with a more informative message. All answers are bitwise identical, but the units of some arguments have changed and there are new unit_scale_type arguments to some routines.
Fix multi-restart files in NUOPC cap
* Fix grid metrics * Fix averaging expression to get the kinetic energy at a vorticity point * Fix loop ranges
* use flag to control lag startup * additional log msg cleanup * clarify restart_mode control
…didate-ncar-2020-08-11 Dev master candidate NCAR 2020-08-11
…update-to-GFDL-20200811 solve minor conflict in config_src/nuopc_driver/mom_cap.F90 (on restart file handling) src/framework/MOM_restart.F90 (remove empty line) this is corresponding to GFDL 20200909 commit (hash # eb57e51) based on dev-master-candidate-ncar-2020-08-11
…-20200811 Feature/update to gfdl 20200909 commit
update my fork
pjpegion
pushed a commit
that referenced
this pull request
Feb 1, 2021
Feature/logcleanup (NOAA-EMC#20)
pjpegion
pushed a commit
that referenced
this pull request
Apr 12, 2021
Remove AC_CHECK_FILE for legacy MOM_memory.h
pjpegion
pushed a commit
that referenced
this pull request
Jul 13, 2022
Note that most of these commits are from previously squashed pull requests, and this PR is restoring them. - 6360dbb Merge branch 'main' into main_to_dev - bac8031 Merge pull request mom-ocean#1566 from jiandewang/EMC-FMS-mixed-mode-20220411 - e532d86 Merge pull request NOAA-EMC#88 from marshallward/missing_attrib_with_class_bugfix - d380f1d An alternate fix to class(*) issues with FMS 2022-01 - 8ecf333 Merge pull request NOAA-EMC#87 from jiandewang/feature/update-to-main-20220317 - ba37f94 Merge remote-tracking branch 'FSU/main' into feature/update-to-main-20220317 this is corresponding to MOM6 main 20220317 commit (hash # 399a7db) - 44313d9 Merge pull request NOAA-EMC#85 from jiandewang/feature/update-to-main-20220217 - 966707f Merge remote-tracking branch 'GFDL/main' into feature/update-to-main-20220217 this is corresponding to MOM6 main branch 20220217 commit (hash # 6f6d4d6), which originally based on GFDL-candidate-20220129 - 32c0e1e Merge pull request NOAA-EMC#81 from jiandewang/feature/update-to-main-20211220 - 9642b1d delete external/OCEAN_stochastic_phyiscs directory as Phil re-coded in external/stochastic_physics directory - e7c9ada solve minor conflict in mom_cap.F90 mom_ocean_model_nuopc.F90 and MOM_energetic_PBL.F90, add two new files: src/parameterizations/stochastic/MOM_stochastics.F90 and config_src/external/stochastic_physics/stochastic_physics.F90 - 90d5961 Merge pull request NOAA-EMC#78 from jiandewang/feature/update-to-GFDL-20211019 - fd02017 Merge remote-tracking branch 'GFDL/main' into feature/update-to-GFDL-20211019 - 36f17eb Merge pull request NOAA-EMC#72 from pjpegion/ocn_stoch_july2021 - a9a957e return a more accurate error message in MOM_stochasics - 56bb41e Merge branch 'ocn_stoch_july2021' of https://github.com/pjpegion/MOM6 into ocn_stoch_july2021 - ca2ae1c update to dev/emc - 14ca4a1 Merge pull request NOAA-EMC#76 from jiandewang/feature/update-to-GFDL-20210914 - 29016c2 Merge remote-tracking branch 'GFDL/main' into feature/update-to-GFDL-20210914 merge GFDL main 20210914 commit (hash # c09e199) - a8577df Merge branch 'NOAA-EMC:dev/emc' into ocn_stoch_july2021 - f8a8e4c update to gfdl 20210806 (NOAA-EMC#74) - 16e6af0 update to dev/emc - 237a510 add comments - 1b4273d revert logic wrt increments - 5b2040e add logic to remove incrments from restart if outside IAU window - c5f2b72 add write_stoch_restart_ocn to MOM_stochastics - bdf2dc7 doxygen cleanup - 8bc4acc move stochastics to external directory - a3fa3a1 Merge remote-tracking branch 'upstream/dev/emc' into ocn_stoch_july2021 - e4bc007 stochastic physics re-write - 202cbd4 update to dev/emc - 61717ee Merge remote-tracking branch 'origin/dev/emc' into ocn_stoch - 565e0bb remove debug statements - a4c0411 Merge remote-tracking branch 'upstream/dev/emc' into ocn_stoch - 689a73f remove PE_here from mom_ocean_model_nuopc.F90 - 8afe969 clean up of mom_ocean_model_nuopc.F90 - 25ed4fc revert MOM_domains.F90 - b8d9888 place stochastic array in fluxes container and make SPPT specific arrays allocatable - d984a7e remove stochastics container - eb88219 clean up of code for MOM6 coding standards - 6e3ea1b correct coupled_driver/ocean_model_MOM.F90 and other cleanup - 0b99c1f make stochastics optional - 85023f8 Merge remote-tracking branch 'upstream/dev/emc' into ocn_stoch - 80f9f44 clean up MOM_domains - 5443f8e remove blank link in MOM_diagnostics - 1727d9a re-write of stochastic code to remove CPP directives - 600ebf9 Merge remote-tracking branch 'upstream/dev/emc' into ocn_stoch - 6bb9d0b fix non stochastic ePBL calculation - 1d7ffa3 clean up code - 040e1f1 Merge pull request #13 from NOAA-EMC/dev/emc - 2cba995 Merge branch 'dev/emc' into ocn_stoch - 1dc0f4f Merge remote-tracking branch 'upstream/dev/emc' into dev/emc - 4bd9b9e clean up debug statements - 25ed5ef additions for stochy restarts - a2a374b add stochy_restart writing to mom_cap - 0c15f4c Update MOM_diabatic_driver.F90 - 167a62e Merge pull request #12 from pjpegion/dev/emc - bd477a9 Update MOM_diabatic_driver.F90 - 7212400 Update MOM_diabatic_driver.F90 - 7de295c cleanup of code and enhancement of ePBL perts - cd06356 Merge pull request #11 from NOAA-EMC/dev/emc - 9896d61 Merge pull request #9 from pjpegion/dev/emc_merge - 0a62737 Merge branch 'ocn_stoch' into dev/emc_merge - 3cad1ba Merge pull request #8 from NOAA-EMC/dev/emc - c2aa2a8 updates from dev/emc - 182ef34 additions for stochastic physics and ePBL perts - 671c714 Merge pull request #1 from NOAA-EMC/dev/emc
pjpegion
added a commit
that referenced
this pull request
Aug 25, 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 (NOAA-EMC#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 (NOAA-EMC#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 (NOAA-EMC#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 (NOAA-EMC#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>
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.
No description provided.