Skip to content

dev/master candidate 2018-07-16 from dev/gfdl#823

Merged
adcroft merged 301 commits into
dev/masterfrom
dev-master-candidate-2018-07-16
Jul 26, 2018
Merged

dev/master candidate 2018-07-16 from dev/gfdl#823
adcroft merged 301 commits into
dev/masterfrom
dev-master-candidate-2018-07-16

Conversation

@adcroft

@adcroft adcroft commented Jul 16, 2018

Copy link
Copy Markdown
Collaborator

This is a humongous pull request (177 files, 301 commits) but it is almost all doxumentation (doxygen + comments). There are three content changes:

This is a PR to dev/master so needs evaluation by relevant parties. We'll wait for review/thumbs up before we merge into dev/master.

Hallberg-NOAA and others added 30 commits June 15, 2018 13:57
- Need to test non-Boussinesq mode.
- Moved setting of (constant) mod_Leith to outside of loops
- Moved calculation of div_xx to after calculation of h_u,h_v
- Used h_u,h_v in div_xx (avoids repeated computations)
- Put calculation of div_xx, vort_xy into a conditional block
- Aligned comments with code
- The logic for constructing viscosity involved nested if's and
  alternate pathways.
- This refactor avoids large pathway branches and has not nested
  if's, thereby simplifying the logic:
  - The only case where extra steps occur are when Smagorinsky and
    Leith are both disabled and better_bound is enabled. In this case
    more conditionals are encountered sequentially.
- Added comments to:
  - indicate contributions that are resolution scaled or not;
  - indicate contributions that are additive rather than maxed.
- Added equations for anisotropic viscosity (yet to be implemented)
- Also corrected missing factor of 1/2 in documentation of isotropic
  viscosity.
- Added parameters to control anisotropic viscosity
- Added allocatable storage for factors in the anisotropic stress tensor
- Set factors for i-oriented tensor
- Actual viscosity not used yet
- Adds text to parameter_doc files in some OBC cases.
- The tension component of the stress tensor has an enhanced viscosity
  made from an offset + a rotated component.
  - The rotated component is often zero hence writing as ( 1 - stuff )
    resolves to a constant offset where appropriate.
- Added run-time specification of n1,n2 for mode 0
- The logic for constructing viscosity involved nested if's and
  alternate pathways.
- This refactor avoids large pathway branches and has not nested
  if's, thereby simplifying the logic:
  - The only case where extra steps occur are when Smagorinsky and
    Leith are both disabled and better_bound is enabled. In this case
    more conditionals are encountered sequentially.
- Added comments to:
  - indicate contributions that are resolution scaled or not;
  - indicate contributions that are additive rather than maxed.
  Added the new module MOM_full_convection to homogenize temperature and
salinity in regions of static instability.  All answers are bitwise identical,
but a new public interface has been added.
  Cleaned up the MOM_kappa_shear code in preparation for adding the code to do
the shear-mixing calculations at the vertices, includign dOxyGenizing the
comments describing the elements of the Kappa_shear_CS, compacting some openMP
directives, and eliminating duplicate comments describing arguments.  All
answers are bitwise identical.
  Cleaned up the allocation and restart registry calls for the persistent
elements of the visc type, including always setting visc%Kv_slow, as the comment
indicated should be done but was not.  The allocate calls now use safe_alloc_ptr
and the restart registration calls avoid the use of a vardesc type.  All answers
are bitwise identical.
Doxygenize hor_visc_CS + refactor of horizontal_viscosity()
Refactored construction of Laplacian viscosity
adcroft and others added 22 commits July 11, 2018 08:31
- Added blank lines after title sentence in description of types
  so that the full annotated list of types is readable.
- Also removed a legacy boiler plate.
- Single quotes throw the pre-processor off when expanding
  the ALLOCABLE_ macro.
  Added dOxygen comments describing the whole MOM_variables and MOM_verticalGrid
modules.  All answers are bitwise identical.
  Added dOxygen comments describing the whole MOM module and several subroutines
within this module. All answers are bitwise identical.
  Added dOxygen comments describing the whole module and removed duplicate
older-style argument documentation comments from MOM_checksum_packages.F90.  All
answers are bitwise identical.
  Added dOxygen comments describing the whole module and several routines in
MOM_dynamics_unsplit.F90 and MOM_dynamics_unsplit_RK2.F90, and consolidated
multiline comments with multiline declarations that dOxyGen would interpret
incorrectly.  All answers are bitwise identical.
  Added dOxygen comments describing the whole MOM_transribe_grid module.  All
answers are bitwise identical.
…/vertical

- Using an older version of doxygen detected a lot of modules which
  were missing the one-liner at the top.
  Added dOxygen comments describing the various equation of state modules and
the parameters used by these modules.  All answers are bitwise identical.
  Added dOxygen comments describing the various tracer package modules,
including extended documentation at the end of these modules.  All answers are
bitwise identical.
  Added dOxygen comments describing the various MOM6 framework modules,
including extended documentation at the end of some of these modules.  All
answers are bitwise identical.
module DoxyGenization in the MOM6/src/core directory
Module DoxyGenization in the EOS, tracer and framework code
- The duplicate files in solo_driver and coupled_driver cause
  conflicts when running doxygen. This configuration change
  avoids the duplicate files in coupled_driver.
- Using the older version of doxygen revealed numerous modules without
  either the header summary line or any doxumentation at all.
  The newer versions are deliberately silent on these omissions.
Fixes doxygen configuration and missing module one-liners
@kshedstrom

Copy link
Copy Markdown
Collaborator

I approve this PR.

@adcroft

adcroft commented Jul 23, 2018

Copy link
Copy Markdown
Collaborator Author

@gustavo-marques

Copy link
Copy Markdown
Collaborator

MOM6-examples run on Cheyenne give identical answers to those from Gaea (only intel). No change in answers for MOM6-cases/cesm/T62_g16.

I approve this PR.

@jiandewang

jiandewang commented Jul 24, 2018 via email

Copy link
Copy Markdown
Collaborator

@adcroft adcroft merged commit 82a8f79 into dev/master Jul 26, 2018
@adcroft adcroft deleted the dev-master-candidate-2018-07-16 branch October 15, 2018 21:44
Hallberg-NOAA pushed a commit to marshallward/MOM6 that referenced this pull request Feb 13, 2025
* Reorder optional input arguments in set_dtbt

Change the order of optional input arguments of subroutine set_dtbt so
that they are grouped logically. The decription of the subroutine is
also updated.

* Add runtime parameter SET_DTBT_USE_BT_CONT

The runtime parameter allows to use BT_CONT optional input argument in
subroutine set_dtbt if BT_CONT type is available.

Originally, when BT_CONT is used, set_dtbt is estimated with zero
surface height. The eta optinoal input argument has no effect since it
only works with NONLINEAR_BT_CONTINUITY is true, which is by default
false when BT_CONT is used.

The added option allows accurate estimate of dtbt when the mean surface
height of the domain is not at the same level, while maintains old
answers.

Also, an unused field calc_dtbt in type MOM_dyn_split_RK2_CS is removed.

* Minor fixes on setting dtbt in barotropic_init

* Fix a bug that local variable calc_dtbt is not initialized.
* Rename dtbt_tmp to dtbt_restart for clarity
* Add a comment about the usage of subroutine call set_dtbt
* Remove an unused input argument eta in barotropic_init
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.

6 participants