+Eliminated h_neglect argument to remapping_core_h #705
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.
Eliminated the previously optional
h_neglect
andh_neglect_edge
arguments toremapping_core_h()
andremapping_core_w()
, and added optionalh_neglect
andh_neglect_edge
arguments toinitialize_remapping()
for storage in the remapping control structures. Theanswer_date
,h_neglect
andh_neglect_edge
arguments toALE_remap_scalar()
were also eliminated, as they are no longer used. The new routineopen_boundary_setup_vert()
was added to manage these changes. A newverticalGrid_type
argument was added towave_speed_init()
.The
h_neglect
argument to 29 routines was made non-optional, because there is no way to provide a consistent hard-coded default for a dimensional parameter. The (mostly low-level) routines where this change to a non-optionalh_neglect
was made includebuild_reconstructions_1d()
,P1M_interpolation()
,P3M_interpolation()
,P3M_boundary_extrapolation()
,PLM_reconstruction()
,PLM_boundary_extrapolation()
,PPM_reconstruction()
,PPM_limiter_standard()
,PPM_boundary_extrapolation()
,PQM_reconstruction()
,PQM_limiter()
,PQM_boundary_extrapolation_v1()
,build_hycom1_column()
,build_rho_column()
,bound_edge_values()
,edge_values_explicit_h4()
,edge_values_explicit_h4cw()
,edge_values_implicit_h4()
,edge_slopes_implicit_h3()
,edge_slopes_implicit_h5()
,edge_values_implicit_h6()
,regridding_set_ppolys()
,build_and_interpolate_grid()
,remapByProjection()
,remapByDeltaZ()
, andintegrateReconOnInterval()
.In two modules (
MOM_open_boundary
andMOM_wave_speed
), two separate copies ofremapping_CS
variables were needed to accommodate different negligible thicknesses or units in different remapping calls.In those routines that also have an optional
h_neglect_edge
argument, the default is now set toh_neglect
. Improperly hard-coded dimensional default values forh_neglect
orh_neglect_edge
were eliminated in 16 places as a result of this change, but they were added back in 2 unit testing routines (one of these is archaic and unused) that do not use exercise dimensional rescaling tests.Because the previously optional arguments were already present in all calls from the dev/gfdl or main branches of the MOM6 code, and because the places where arguments have been removed they are balanced by equivalent arguments added to
initialize_remapping()
, all answers are bitwise identical in the regression tests, but this change in interfaces could impact other code that is not in the main branch of MOM6.