Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions src/core/MOM_open_boundary.F90
Original file line number Diff line number Diff line change
Expand Up @@ -448,9 +448,8 @@ subroutine open_boundary_config(G, US, param_file, OBC)
character(len=200) :: config1 ! String for OBC_USER_CONFIG
real :: Lscale_in, Lscale_out ! parameters controlling tracer values at the boundaries [L ~> m]
integer :: default_answer_date ! The default setting for the various ANSWER_DATE flags.
logical :: check_reconstruction, check_remapping, force_bounds_in_subcell
logical :: check_remapping, force_bounds_in_subcell
logical :: om4_remap_via_sub_cells ! If true, use the OM4 remapping algorithm
character(len=64) :: remappingScheme
! This include declares and sets the variable "version".
# include "version_variable.h"

Expand Down Expand Up @@ -676,10 +675,12 @@ subroutine open_boundary_config(G, US, param_file, OBC)
enddo

call get_param(param_file, mdl, "REMAPPING_SCHEME", OBC%remappingScheme, &
default=remappingDefaultScheme, do_not_log=.true.)
call get_param(param_file, mdl, "OBC_REMAPPING_SCHEME", OBC%remappingScheme, &
"This sets the reconstruction scheme used "//&
"for vertical remapping for all variables. "//&
"for OBC vertical remapping for all variables. "//&
"It can be one of the following schemes: \n"//&
trim(remappingSchemesDoc), default=remappingDefaultScheme,do_not_log=.true.)
trim(remappingSchemesDoc), default=OBC%remappingScheme)
call get_param(param_file, mdl, "FATAL_CHECK_RECONSTRUCTIONS", OBC%check_reconstruction, &
"If true, cell-by-cell reconstructions are checked for "//&
"consistency and if non-monotonicity or an inconsistency is "//&
Expand Down
7 changes: 5 additions & 2 deletions src/ocean_data_assim/MOM_oda_driver.F90
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ subroutine init_oda(Time, G, GV, US, diag_CS, CS)
call get_param(PF, mdl, "INPUTDIR", inputdir)
call get_param(PF, mdl, "ODA_REMAPPING_SCHEME", remap_scheme, &
"This sets the reconstruction scheme used "//&
"for vertical remapping for all variables. "//&
"for vertical remapping for all ODA variables. "//&
"It can be one of the following schemes: "//&
trim(remappingSchemesDoc), default="PPM_H4")
call get_param(PF, mdl, "DEFAULT_ANSWER_DATE", default_answer_date, &
Expand Down Expand Up @@ -324,7 +324,10 @@ subroutine init_oda(Time, G, GV, US, diag_CS, CS)
default="ZSTAR", fail_if_missing=.false.)
call get_param(PF, mdl, "REMAPPING_USE_OM4_SUBCELLS", om4_remap_via_sub_cells, &
do_not_log=.true., default=.true.)

call get_param(PF, mdl, "ODA_REMAPPING_USE_OM4_SUBCELLS", om4_remap_via_sub_cells, &
"If true, use the OM4 remapping-via-subcells algorithm for ODA. "//&
"See REMAPPING_USE_OM4_SUBCELLS for more details. "//&
"We recommend setting this option to false.", default=om4_remap_via_sub_cells)
call initialize_regridding(CS%regridCS, CS%GV, CS%US, dG%max_depth,PF,'oda_driver',coord_mode,'','')

h_neglect = set_h_neglect(GV, CS%answer_date, h_neglect_edge)
Expand Down
20 changes: 14 additions & 6 deletions src/ocean_data_assim/MOM_oda_incupd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ module MOM_oda_incupd
use MOM_grid, only : ocean_grid_type
use MOM_io, only : vardesc, var_desc
use MOM_remapping, only : remapping_cs, remapping_core_h, initialize_remapping
use MOM_remapping, only : remappingSchemesDoc
use MOM_restart, only : register_restart_field, register_restart_pair, MOM_restart_CS
use MOM_restart, only : restart_init, save_restart, query_initialized
use MOM_spatial_means, only : global_i_mean
Expand Down Expand Up @@ -184,22 +185,29 @@ subroutine initialize_oda_incupd( G, GV, US, param_file, CS, data_h, nz_data, re
"use U,V increments.", &
default=.true.)
call get_param(param_file, mdl, "REMAPPING_SCHEME", remapScheme, &
"This sets the reconstruction scheme used "//&
" for vertical remapping for all variables.", &
default="PLM", do_not_log=.true.)
call get_param(param_file, mdl, "ODA_REMAPPING_SCHEME", remapScheme, &
"This sets the reconstruction scheme used "//&
"for vertical remapping for all ODA variables. "//&
"It can be one of the following schemes: "//&
trim(remappingSchemesDoc), default=remapScheme)

!The default should be REMAP_BOUNDARY_EXTRAP
call get_param(param_file, mdl, "BOUNDARY_EXTRAPOLATION", bndExtrapolation, &
"When defined, a proper high-order reconstruction "//&
"scheme is used within boundary cells rather "//&
"than PCM. E.g., if PPM is used for remapping, a "//&
"PPM reconstruction will also be used within boundary cells.", &
default=.false., do_not_log=.true.)
call get_param(param_file, mdl, "ODA_BOUNDARY_EXTRAP", bndExtrapolation, &
"If true, values at the interfaces of boundary cells are "//&
"extrapolated instead of piecewise constant", default=bndExtrapolation)
call get_param(param_file, mdl, "ODA_INCUPD_DATA_ONGRID", CS%incupdDataOngrid, &
"When defined, the incoming oda_incupd data are "//&
"assumed to be on the model horizontal grid " , &
default=.true.)
call get_param(param_file, mdl, "REMAPPING_USE_OM4_SUBCELLS", om4_remap_via_sub_cells, &
do_not_log=.true., default=.true.)
call get_param(param_file, mdl, "ODA_REMAPPING_USE_OM4_SUBCELLS", om4_remap_via_sub_cells, &
"If true, use the OM4 remapping-via-subcells algorithm for ODA. "//&
"See REMAPPING_USE_OM4_SUBCELLS for more details. "//&
"We recommend setting this option to false.", default=om4_remap_via_sub_cells)

CS%nz = GV%ke

Expand Down
26 changes: 14 additions & 12 deletions src/parameterizations/vertical/MOM_ALE_sponge.F90
Original file line number Diff line number Diff line change
Expand Up @@ -215,16 +215,17 @@ subroutine initialize_ALE_sponge_fixed(Iresttime, G, GV, param_file, CS, data_h,
default=.false.)

call get_param(param_file, mdl, "REMAPPING_SCHEME", remapScheme, &
"This sets the reconstruction scheme used "//&
" for vertical remapping for all variables.", &
default="PLM", do_not_log=.true.)
call get_param(param_file, mdl, "SPONGE_REMAPPING_SCHEME", remapScheme, &
"This sets the reconstruction scheme used "//&
"for vertical remapping for all SPONGE variables.", default=remapScheme)

!This default should be from REMAP_BOUNDARY_EXTRAP
call get_param(param_file, mdl, "BOUNDARY_EXTRAPOLATION", bndExtrapolation, &
"When defined, a proper high-order reconstruction "//&
"scheme is used within boundary cells rather "//&
"than PCM. E.g., if PPM is used for remapping, a "//&
"PPM reconstruction will also be used within boundary cells.", &
default=.false., do_not_log=.true.)
call get_param(param_file, mdl, "SPONGE_BOUNDARY_EXTRAP", bndExtrapolation, &
"If true, values at the interfaces of SPONGE boundary cells are "//&
"extrapolated instead of piecewise constant", default=bndExtrapolation)
call get_param(param_file, mdl, "DEFAULT_ANSWER_DATE", default_answer_date, &
"This sets the default value for the various _ANSWER_DATE parameters.", &
default=99991231)
Expand Down Expand Up @@ -495,15 +496,16 @@ subroutine initialize_ALE_sponge_varying(Iresttime, G, GV, US, param_file, CS, I
"Apply sponges in u and v, in addition to tracers.", &
default=.false.)
call get_param(param_file, mdl, "REMAPPING_SCHEME", remapScheme, &
"This sets the reconstruction scheme used "//&
" for vertical remapping for all variables.", &
default="PLM", do_not_log=.true.)
call get_param(param_file, mdl, "SPONGE_REMAPPING_SCHEME", remapScheme, &
"This sets the reconstruction scheme used "//&
"for vertical remapping for all SPONGE variables.", default=remapScheme)
!This default should be from REMAP_BOUNDARY_EXTRAP
call get_param(param_file, mdl, "BOUNDARY_EXTRAPOLATION", bndExtrapolation, &
"When defined, a proper high-order reconstruction "//&
"scheme is used within boundary cells rather "//&
"than PCM. E.g., if PPM is used for remapping, a "//&
"PPM reconstruction will also be used within boundary cells.", &
default=.false., do_not_log=.true.)
call get_param(param_file, mdl, "SPONGE_BOUNDARY_EXTRAP", bndExtrapolation, &
"If true, values at the interfaces of SPONGE boundary cells are "//&
"extrapolated instead of piecewise constant", default=bndExtrapolation)
call get_param(param_file, mdl, "VARYING_SPONGE_MASK_THICKNESS", CS%varying_input_dz_mask, &
"An input file thickness below which the target values with "//&
"time-varying sponges are replaced by the value above.", &
Expand Down