Skip to content
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

+Document axis and other units in user modules #275

Merged
merged 11 commits into from
Dec 20, 2022

Conversation

Hallberg-NOAA
Copy link
Member

The series of commits in this PR adds or modify units arguments to 22 get_param calls in 14 user or tracer modules, and it uses elements of the ocean_grid_type to specify the units of some horizontal position related variables or to determine the domain size. It also includes a commit that cleans up the internal tide debugging source locations and another that adds 6 new runtime parameters to replace hard-coded values in the ISOMIP configuration. These commits also add comments describing many internal real variables and their units in these same files. All answers and output are bitwise identical, but there are changes in some of the MOM_parameter_doc files.

This series of commits includes many of the changes that are required to make the units argument mandatory for calls to get_param_real. The changes in each file are independent of each other, and the public interfaces do not change.

The commits in this PR include:

  • c002974f9 +Document units in dye_example
  • 522fe7395 +Document variable units in shelfwave_initialization
  • e23bd1f15 +Rescale default salinity in dumbbell_initialization
  • 19f7d9ad3 +Document units in adjustment_initialization
  • 6109aba1a +Document units in RGC_initialization & RGC_tracer
  • a22801c7c +Document units in Neverworld_initialization
  • 14672c8a7 +Standard seamount_initialization axis unit docs
  • 590b2555d +Document and rescale ISOMIP parameters
  • f67883df0 +Standardize user module axis unit documentation
  • ba5e51c9a (+)Correct units of INTERNAL_TIDE_SOURCE_X params

@codecov
Copy link

codecov bot commented Dec 15, 2022

Codecov Report

Merging #275 (84ae62d) into dev/gfdl (46a6159) will increase coverage by 0.00%.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##           dev/gfdl     #275   +/-   ##
=========================================
  Coverage     37.10%   37.11%           
=========================================
  Files           263      263           
  Lines         73491    73485    -6     
  Branches      13696    13696           
=========================================
  Hits          27272    27272           
+ Misses        41191    41185    -6     
  Partials       5028     5028           
Impacted Files Coverage Δ
src/diagnostics/MOM_wave_structure.F90 0.00% <ø> (ø)
...meterizations/vertical/MOM_internal_tide_input.F90 0.00% <0.00%> (ø)
src/tracer/RGC_tracer.F90 0.00% <0.00%> (ø)
src/tracer/dye_example.F90 0.00% <0.00%> (ø)
src/tracer/oil_tracer.F90 0.00% <ø> (ø)
src/user/BFB_surface_forcing.F90 0.00% <0.00%> (ø)
src/user/ISOMIP_initialization.F90 0.00% <0.00%> (ø)
src/user/Neverworld_initialization.F90 0.00% <0.00%> (ø)
src/user/RGC_initialization.F90 0.00% <0.00%> (ø)
src/user/adjustment_initialization.F90 0.00% <0.00%> (ø)
... and 6 more

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

  Corrected and documents the units for the INTERNAL_TIDE_SOURCE_[XY] runtime
parameters, and corrected the (unused) INTERNAL_TIDE_SOURCE_[XY] parameters
as read by wave_structure_init to INTERNAL_TIDE_SOURCE_[IJ] and then commented
this unused debugging code out.  All answers are bitwise identical, but the
MOM_parameter_doc files could change in cases that call int_tide_input_init
or wave_structure_init.
  Standardized documentation of axis-related variable units in user modules.
Some of these use the new G%x_ax_unit_short elements to automatically write the
AXIS_UNITS-dependent units into the MOM_parameter_doc files.  All answers are
bitwise identical but there are minor changes in some MOM_parameter_doc files.
  Made 6 of the parameters describing the ISOMIP configuration into runtime
parameters that are read in and rescaled via get_param calls to read
ISOMIP_MAX_BEDROCK, ISOMIP_TROUGH_DEPTH, ISOMIP_BEDROCK_LENGTH,
ISOMIP_TROUGH_WIDTH, ISOMIP_DOMAIN_WIDTH and ISOMIP_SIDE_WIDTH.  Several of the
internal variables in ISOMIP_initialize_topography were also rescaled for
dimensional consistency testing, and the units of the internal variables in
this same routine were documented.  In addition, the default values for the
ISOMIP temperatures and salinities were also rescaled.  All answers are bitwise
identical, but there are 6 new runtime parameters in the MOM_input files for the
ISOMIP test cases.
  Standardized documentation of axis-related variable units and applied
dimensional scaling factors to parameters that are read in for use as defaults
for other variables in seamount_initialization, including using the new
G%x_ax_unit_short elements to automatically write the AXIS_UNITS-dependent units
into the MOM_parameter_doc files.  Also added comments describing the internal
variables in the same module.  All answers are bitwise identical but there are
minor changes in some MOM_parameter_doc files.
  Added units arguments to 2 get_param calls in Neverworld_initialization.  This
commit also adds comments describing many internal real variables and their
units in this same module.  All answers and output are bitwise identical, but
there are minor changes in the MOM_parameter_doc files.
  Added units arguments to 3 get_param calls in the two RGC modules.  Also use
elements of the ocean_grid_type to specify the units of some horizontal position
related variables and to determine the domain size, rather than using separate
get_param calls for LENLAT or LENLAT.  This commit also adds comments describing
many internal real variables and their units in RGC_tracer.F90.  All answers and
output are bitwise identical, but there are minor changes in the
MOM_parameter_doc files for cases that use the RGC routines.
  Add units arguments to 3 get_param calls and modified them in 4 others in
adjustment_initialization, using elements of the ocean_grid_type to specify the
units of some horizontal position related variables.  This commit also adds
comments describing many internal real variables and their units in this same
file.  All answers and output are bitwise identical, but there are minor changes
in the MOM_parameter_doc files.
  Added an argument documenting the units of S_REF and another rescaling it in
dumbbell_initialize_thickness.  The units of several other arguments or internal
variables in this same file were also described in revised comments.  All
answers and output are bitwise identical.
  Added or modified units arguments for 4 get_param calls in
shelfwave_initialization, although until a full grid_type is provided to the
various register OBC calls, the axis units will have to be hard-coded rather
than using the fields from the grid_type.  Also added or revised comments
documenting various internal or control structure variables and their units.
All answers and output are bitwise identical, but there are minor changes
in the MOM_parameter_doc files.
  Added units arguments to 4 get_param calls in dye_example.  This commit also
adds comments describing the units of several internal real variables in this
same file.  All answers and output are bitwise identical, but there are minor
changes in the MOM_parameter_doc files of cases that use this tracer package.
@marshallward
Copy link
Member

Gaea regression: https://gitlab.gfdl.noaa.gov/ogrp/MOM6/-/pipelines/17756 ✔️ 🟡

@marshallward marshallward merged commit dba12c1 into NOAA-GFDL:dev/gfdl Dec 20, 2022
@Hallberg-NOAA Hallberg-NOAA deleted the user_axis_units branch February 2, 2023 13:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants