Update with MOM6 folk#1
Merged
Merged
Conversation
- adds to MOM_parameter_doc.all - has both dye and supercritical-type flow input - dyed_obc and dyed_channel have NUM_DYE_TRACERS dyes, runtime parameter - only invoke vertical diffusion for nz > 1
- Needs OBC tracer registry - Needs boundary update call
- Exchange is not needed because we set OBC values in halos. - Also added check for nz==1 in vertical diffusion.
to dyed channel.
Added a new function, transport_remap_grid_needed, that indicates whether it is necessary to calculate the diagnostic grids for transports, and then only call diag_update_remap_grids if it is necessary. Without this change, the model will fail to run if no transports are being remapped but any other diagnostic fields are being remapped. If the model does run, all answers are bitwise identical.
Rescaled thickness weighting in global_layer_mean and global_volume_mean to avoid overflow or underflow for extreme values of H_to_m. This does not change answers, but makes the code more robust. All answers are bitwise identical.
Corrected a required argument name and comment in int_density_dz_generic_plm from H_subroundoff to dz_subroundoff to reflect the fact that the argument dz_neglect is a geometric height difference, not a thickness (in m or kg m-2 or whatever) difference. Also added a fatal argument if anyone very tries to use int_density_dz_generic_plm_analytic, which from inspection simply can not be right, but thankfully appears not to be used ever. All answers are bitwise identical.
Replaced the hard-coded parameter LARGE_VAL inside of MOM_entrain_diffusive with an equivalent parameter that is rescaled appropriately when H_TO_M is changed. All answers are bitwise identical when H_TO_M=1, but answers can change slightly for very small values of H_TO_M. All existing test cases are bitwise identical.
Corrected the accumulation of one of the work terms contributing to GMwork and MEKE%GM_src so that it now gives answers that are robust to changes in H_TO_M. Also corrected the units written out with 6 diagnostic diffusivities, so available_diags files will change. Answers remain unchanged if H_TO_M=1, and no test case solutions change.
Corrected the unit conversion from H to m inside of the calculation of SkinBuoyFlux, so it now works properly when H_to_m is not 1. Also cleaned up this calculation to avoid the use of array syntax in calculations. This will change answers in test cases that use some variants of ePBL with H_TO_M not equal to 1, but answers do not change in existing test cases.
Corrected the calculation of the modal structure when H_to_m is not 1. This particular code failed because remapping_core_h requires that the input and output grids use the same units. This can change answers, but does not change any of the existing test cases.
Corrected the rescaling of Coef_x and Coef_y when doing checksums and only report these checksums if the arrays are in use. All answers are bitwise identical.
Changed H_subroundoff to dz_neglect in a call to int_density_dz_generic_plm, reflecting the fact that this particular argument is for an actual vertical geopotential height difference, which will not scale the same way as the internal representation of thickness. This changes answers if H_TO_M is not 1, but answers are bitwise identical in all existing test cases.
Corrected an expression that combined two variables with units of H and m in ePBL. This code is only exercised with certain options for the shape of the diffusivity, and all existing test cases are bitwise identical.
Corrected the unit conversion from H to m inside of the calculation of SkinBuoyFlux, so it now works properly when H_to_m is not 1. Also cleaned up this calculation to avoid the use of array syntax in calculations. This will change answers in test cases that use some variants of ePBL with H_TO_M not equal to 1, but answers do not change in existing test cases.
Changed the value for a tiny amount of TKE from 1e-300 to 1e-150 to avoid underflow when H_to_m is much less than 1 in one sensitivity calculation as a part of an iteration in the mechanical entrainment portion of the bulk mixed layer code. This does not change any answer in existing test cases.
Added new optional arguments for the thicknesses to neglect to all of the
remapping code where a neglected thickness is used.
The subroutines that were changed include: remapping_core_h, remapping_core_w,
build_reconstructions_1d, {PCM, PLM,PPM,PQM}_reconstruction,
{PLM,PPM}_boundary_extrapolation, edge_values_..., edge_slopes_...,
build_and_interpolate_grid, remapByProjection, remapByDeltaZ,
integrateReconOnInterval, build_{rho,hycom1,SLight}_column, and
build_rho_column_iteratively.
The internal work routines P3M_interpolation and {PPM,P3M}_limiter have new
required arguments. Also, to accomodate the new optional h_neglect arguments,
internally h_neglect was renamed hNeglect in many places. This change will
enable this code to reproduce across changes in the internal representation of
thickness, once the optional arguments are used. All answers are bitwise
identical.
https://www.gfdl.noaa.gov/modeling-tabular-icebergs/ passed and code looks good.
Set values of h_neglect and h_neglect edge that are consistent with the internal representation of thickness in MOM6, and added these arguments to the underlying regridding code. Altered routines include ALE_regrid_accelerated, pressure_gradient_plm, pressure_gradient_ppm, remap_all_state_vars, ALE_remap_scalar, build_rho_grid, build_grid_HyCOM1, and build_grid_SLight. Also shortened some internal variable names. All answers are bitwise identical in the test cases.
Rescale the negligible thickness used in some of the neutral_diffusion routines, including adding a new optional argument for edge remapping, so that answers do not change with the value of H_TO_M. Also reformatted many of the unit test calls to avoid overly long lines. All answers are bitwise identical when H_TO_M=1, and no test cases answers change.
Perform the conversion of thicknesses into the internal H unit representation inside of all of the intialization routines, allowing things like ALE remapping to work correctly during initialization. This affects a large number of routines for initializing thickness, temperatures and salinities, and velocities. With these changes (and changes to ALE), all MOM6 test cases now give the same initial values regardless of the scaling of H. All answers in the existing test cases are bitwise identical.
New dyed_channel OBC option
hlkong
pushed a commit
that referenced
this pull request
Jul 11, 2018
removed copy_profiles, using linked profiles in ensemble_filter
hlkong
pushed a commit
that referenced
this pull request
Aug 19, 2018
Pull latest MOM6 changes into dev/gfdl fork
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.
No description provided.