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

+Add remapping of auxiliary variables in restarts #233

Merged
merged 4 commits into from
Nov 22, 2022

Conversation

Hallberg-NOAA
Copy link
Member

@Hallberg-NOAA Hallberg-NOAA commented Nov 7, 2022

This PR consists of a series of commits that add the capability, selected at
runtime via the new parameter REMAP_AUXILIARY_VARS, to remap all of the 3-d
variables that are registered for restarts but were not previously remapped.
This PR addresses the issue at github.com//issues/203 in cases
using ALE remapping, but it may also be worthwhile to examine this issue in
non-ALE cases as well. There are several new interfaces and a new runtime
parameter, so the contents of the MOM_parameter_doc files change, but by
default all answers are bitwise identical.

The commits in this PR include:

  • 987a0ef3e +Add REMAP_AUXILIARY_VARS to remap accelerations
  • ba145bff7 +Add ALE_remap_interface_vals and ALE_remap_vertex_vals
  • 949392b2d +Add mask_edges argument to interpolate_column

(This PR was updated via a force-push at 6 AM on 11/18/2022 to correct bugs found during its review.)

@codecov
Copy link

codecov bot commented Nov 7, 2022

Codecov Report

Merging #233 (96741da) into dev/gfdl (56cf125) will decrease coverage by 0.07%.
The diff coverage is 14.85%.

@@             Coverage Diff              @@
##           dev/gfdl     #233      +/-   ##
============================================
- Coverage     37.17%   37.09%   -0.08%     
============================================
  Files           263      263              
  Lines         73221    73368     +147     
  Branches      13638    13672      +34     
============================================
+ Hits          27218    27219       +1     
- Misses        40978    41121     +143     
- Partials       5025     5028       +3     
Impacted Files Coverage Δ
src/core/MOM_open_boundary.F90 24.10% <0.00%> (-0.75%) ⬇️
...c/parameterizations/vertical/MOM_set_viscosity.F90 59.55% <0.00%> (-0.49%) ⬇️
src/ALE/MOM_ALE.F90 45.09% <2.70%> (-3.45%) ⬇️
src/core/MOM_dynamics_split_RK2.F90 62.78% <10.00%> (-0.77%) ⬇️
src/core/MOM.F90 51.23% <14.28%> (-0.17%) ⬇️
src/ALE/MOM_remapping.F90 74.38% <90.90%> (-0.14%) ⬇️
src/framework/MOM_diag_remap.F90 85.71% <100.00%> (ø)

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

@marshallward
Copy link
Member

There's a conflict here, do you want to resolve it? I can do it, but it will create a new commit.

  Added a new logical argument to interpolate_column to specify whether the
interpolated interface values outside of massless layers should be masked to
zero.  Also refactored the code in interpolate_column to separate out the
determination of the interface position from the interpolation and the masking
to facilitate the extension of this code to use higher order interpolation in
planned subsequent changes.  All answers are bitwise identical, although there
is a new mandatory argument for a public interface.
  Added ALE_remap_interface_vals and ALE_remap_vertex_vals to handle the
interpolation of variables that are at the interfaces atop tracer cells or above
the corners of the tracers cells from one grid to another.  Because these are
not yet used (but have been tested in calls that will be added with the next
commit) all answers are bitwise identical, but there are two new publicly
visible routines.
  Added REMAP_AUXILIARY_VARS to control whether to remap the accelerations that
are used in the predictor step of the split RK2 time stepping scheme.  Also
added the new routines remap_dyn_split_rk2_aux_vars, remap_OBC_fields and
remap_vertvisc_aux_vars to do the remapping, and code to call these routines
when REMAP_AUXILIARY_VARS is true. By default, REMAP_AUXILIARY_VARS is false,
and all answers are bitwise identical, but the entire MOM6-examples regression
suite has been run with this set to true, and they do appear to give physically
plausible answers in all cases, partially addressing the issue noted at
github.com/NOAA-GFDL/issues/203.  New entries are added to the
MOM_parameter_doc files, and there are three new publicly visible routines, but
by default answers do not change.
@marshallward
Copy link
Member

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

New parameter:

  • REMAP_AUXILIARY_VARS

@marshallward marshallward merged commit aa44c32 into NOAA-GFDL:dev/gfdl Nov 22, 2022
@Hallberg-NOAA Hallberg-NOAA deleted the remap_aux_vars branch February 2, 2023 13:31
marshallward pushed a commit that referenced this pull request Apr 4, 2023
POSIX: siglongjmp and sigsetjmp_missing fixes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants