Skip to content

Recalculation of DTBT can span coupled timesteps#752

Merged
adcroft merged 9 commits into
mom-ocean:dev/gfdlfrom
Hallberg-NOAA:correct_reset_dtbt
Apr 25, 2018
Merged

Recalculation of DTBT can span coupled timesteps#752
adcroft merged 9 commits into
mom-ocean:dev/gfdlfrom
Hallberg-NOAA:correct_reset_dtbt

Conversation

@Hallberg-NOAA
Copy link
Copy Markdown
Collaborator

Eliminated the requirement to recalculate DTBT every coupled timestep, and added DTBT
to the restart files to retain reproducibility across restarts. By default if DTBT is set dynamically,
it is still calculated every coupled timestep, but explicitly setting DTBT_RESET_PERIOD to be
longer than the coupled timestep now results in less frequent updates to DTBT.
Also modified the log_param documentation of DTBT_RESET_PERIOD to reflect this
new behavior. This could change answers, but it just happens that the values of
DTBT are not changed with the existing suite of test cases. This PR also includes
several other minor miscellaneous changes. The MOM_parameter_doc files are
altered by this change.

  Removed a number of unused module use statements and the unused variable
missing Removed CS%missing from MOM.F90. Also shortened some variable names
and cleaned up the spacing on the comments describing the MOM_control_struct.
All answers are bitwise identical.
  The code augmenting the rigidity due to icebergs used a mismatch of the
minimum and maximum berg masses in the two directions.  This has been corrected
to use the minimum in both directions.  Also, a double divide by a constant in
setting the iceberg mass source due to frazil was changed to  multiplication by
the reciprocal of their product.  Two new optional arguments, update_dyn and
update_thermo, were added to update_ocean_model, although they are not yet used,
and the initial comments describing update_ocean_model were partially cleaned
up.  All solutions in test cases are bitwise identical, but there can be answer
changes if the icebergs are used and ICEBERGS_APPLY_RIGID_BOUNDARY is true.
  MOM_KPP.F90 would not compile if openMP is used, due to oversights in a recent
update.  This has now been fixed. All answers are bitwise identical.
  MOM_vert_friction.F90 would not compile if openMP is used, due to oversights
in a recent update.  This has now been fixed.  Also compacted some logically
connected loops.  All answers are bitwise identical.
  Reordered argument declarations for initialize_ALE_sponge_fixed to avoid
errors that can arise in size declarations with some compilers.  All answers
are bitwise identical.
  Added optional salt argument to allocate_forcing_type to cause
fluxes%salt_flux to be allocated and initialized to 0.  All answers are bitwise
identical.
  Added code to recalculate DTBT at a regular interval that may span forcing
timesteps.  Also added DTBT to the list of fields saved in the restart files.
With this change, there is one fewer argument to step_MOM_dynamics, and there is
one additional argument to barotropic_init and initialize_dyn_split_RK2. All
answers are bitwise identical.
  Eliminated the requirement to recalculate DTBT every coupled timestep.  By
default, this still happens, but explicitly setting DTBT_RESET_PERIOD to be
longer than the coupled timestep now results in less frequent updates to DTBT.
Also modified the log_param documentation of DTBT_RESET_PERIOD to reflect this
new behavior.  This could change answers, but it just happens that the values of
DTBT are not changed with the existing suite of test cases.  The
MOM_parameter_doc files are altered by this change.

CS%dtbt_fraction = 0.98 ; if (dtbt_input < 0.0) CS%dtbt_fraction = -dtbt_input

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😄

@adcroft
Copy link
Copy Markdown
Collaborator

adcroft commented Apr 24, 2018

@adcroft adcroft merged commit a268e5f into mom-ocean:dev/gfdl Apr 25, 2018
@Hallberg-NOAA Hallberg-NOAA deleted the correct_reset_dtbt branch May 7, 2018 15:37
marshallward pushed a commit to breichl/MOM6 that referenced this pull request May 8, 2025
* Try again at fix_obc_maskingdepth patch

 - "git rebase" made a conflicted mess

* Fix for even number of OBC turns.

 - not that turns other than 0, 1 is supported elsewhere for OBCs.

 This still has issue mom-ocean#5 from a comment in mom-ocean#752:

 Some experimentation with the rotate_OBC subroutines. Dr Neumann's test
 uses boundary data of the value=const type. Copying the buffer_dst from
 OBC_in to CS%OBC gets some of these across, also the tracer reservoir
 values. However, the tracer reservoir values get overwritten by an
 interior tracer value between the first call to step_MOM_dynamics and
 the second.

* Trying to fix internal OBC rotations, not sure

* Fixing next round of rotated OBC issues

* Fix up some logic for turns = 2 or 3.

 - Note that this is still not supported, as specificed in MOM.F90.

* Adding back in the deallocate on some OBC arrays
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