Go to the documentation of this file.
14 implicit none ;
private
16 #include <MOM_memory.h>
21 #include "version_variable.h"
33 character(len=40) :: mdl =
"supercritical_set_OBC_data"
36 integer :: isd, ied, jsd, jed, isdb, iedb, jsdb, jedb
39 if (.not.
associated(obc))
call mom_error(fatal,
'supercritical_initialization.F90: '// &
40 'supercritical_set_OBC_data() was called but OBC type was not initialized!')
42 call get_param(param_file, mdl,
"SUPERCRITICAL_ZONAL_FLOW", zonal_flow, &
43 "Constant zonal flow imposed at upstream open boundary.", &
44 units=
"m/s", default=8.57, scale=g%US%m_s_to_L_T)
46 do l=1, obc%number_of_segments
47 segment => obc%segment(l)
48 if (.not. segment%on_pe) cycle
49 if (segment%gradient) cycle
50 if (segment%oblique .and. .not. segment%nudged .and. .not. segment%Flather) cycle
52 if (segment%is_E_or_W)
then
53 jsd = segment%HI%jsd ; jed = segment%HI%jed
54 isdb = segment%HI%IsdB ; iedb = segment%HI%IedB
56 do j=jsd,jed ;
do i=isdb,iedb
57 if (segment%specified .or. segment%nudged)
then
58 segment%normal_vel(i,j,k) = zonal_flow
60 if (segment%specified)
then
61 segment%normal_trans(i,j,k) = zonal_flow * g%dyCu(i,j)
65 do j=jsd,jed ;
do i=isdb,iedb
66 segment%normal_vel_bt(i,j) = zonal_flow
69 isd = segment%HI%isd ; ied = segment%HI%ied
70 jsdb = segment%HI%JsdB ; jedb = segment%HI%JedB
71 do j=jsdb,jedb ;
do i=isd,ied
72 segment%normal_vel_bt(i,j) = 0.0
Wraps the FMS time manager functions.
Provides a transparent vertical ocean grid type and supporting routines.
An overloaded interface to log version information about modules.
integer, parameter, public obc_simple
Indicates the use of a simple inflow open boundary.
Contains a shareable dynamic type for describing horizontal grids and metric data and utilty routines...
subroutine, public mom_mesg(message, verb, all_print)
This provides a convenient interface for writing an informative comment.
A structure that can be parsed to read and document run-time parameters.
An overloaded interface to read and log the values of various types of parameters.
subroutine, public supercritical_set_obc_data(OBC, G, param_file)
This subroutine sets the properties of flow at open boundary conditions.
Describes the vertical ocean grid, including unit conversion factors.
Controls where open boundary conditions are applied.
The MOM6 facility to parse input files for runtime parameters.
Provides the ocean grid type.
logical function, public is_root_pe()
This returns .true. if the current PE is the root PE.
subroutine, public mom_error(level, message, all_print)
This provides a convenient interface for writing an mpp_error message with run-time filter based on a...
integer, parameter, public obc_none
Indicates the use of no open boundary.
The "super critical" configuration.
Open boundary segment data structure.
Routines for error handling and I/O management.
Describes the horizontal ocean grid with only dynamic memory arrays.
Ocean grid type. See mom_grid for details.