user_initialization module reference¶
A template of a user to code up customized initial conditions.
Functions/Subroutines¶
Set vertical coordinates. |
|
Initialize topography. |
|
initialize thicknesses. |
|
initialize velocities. |
|
This function puts the initial layer temperatures and salinities into T(:,:,:) and S(:,:,:). |
|
Set up the sponges. |
|
This subroutine sets the properties of flow at open boundary conditions. |
|
Write output about the parameter values being used. |
Detailed Description¶
This subroutine initializes the fields for the simulations. The one argument passed to initialize, Time, is set to the current time of the simulation. The fields which might be initialized here are:
u - Zonal velocity [Z T-1 ~> m s-1].
v - Meridional velocity [Z T-1 ~> m s-1].
h - Layer thickness [H ~> m or kg m-2]. (Must be positive.)
GbathyT - Basin depth [Z ~> m]. (Must be positive.)
GCoriolisBu - The Coriolis parameter [T-1 ~> s-1].
GVg_prime - The reduced gravity at each interface [L2 Z-1 T-2 ~> m s-2].
GVRlay - Layer potential density (coordinate variable) [R ~> kg m-3]. If ENABLE_THERMODYNAMICS is defined:
T - Temperature [degC].
S - Salinity [psu]. If BULKMIXEDLAYER is defined:
Rml - Mixed layer and buffer layer potential densities [R ~> kg m-3]. If SPONGE is defined:
A series of subroutine calls are made to set up the damping rates and reference profiles for all variables that are damped in the sponge.
Any user provided tracer code is also first linked through this subroutine.
These variables are all set in the set of subroutines (in this file) USER_initialize_bottom_depth, USER_initialize_thickness, USER_initialize_velocity, USER_initialize_temperature_salinity, USER_initialize_mixed_layer_density, USER_initialize_sponges, USER_set_coord, and USER_set_ref_profile.
The names of these subroutines should be self-explanatory. They start with “USER_” to indicate that they will likely have to be modified for each simulation to set the initial conditions and boundary conditions. Most of these take two arguments: an integer argument specifying whether the fields are to be calculated internally or read from a NetCDF file; and a string giving the path to that file. If the field is initialized internally, the path is ignored.
Function/Subroutine Documentation¶
-
subroutine
user_initialization/
user_set_coord
(Rlay, g_prime, GV, US, param_file, eqn_of_state)¶ Set vertical coordinates.
- Parameters
gv :: [in] The ocean’s vertical grid structure
rlay :: [out] Layer potential density [R ~> kg m-3].
g_prime :: [out] The reduced gravity at each interface [L2 Z-1 T-2 ~> m s-2].
us :: [in] A dimensional unit scaling type
param_file :: [in] A structure indicating the open file to parse for model parameter values.
eqn_of_state :: Equation of state structure
- Call to
first_call
mom_error_handler::mom_error
write_user_log
- Called from
-
subroutine
user_initialization/
user_initialize_topography
(D, G, param_file, max_depth, US)¶ Initialize topography.
- Parameters
g :: [in] The dynamic horizontal grid type
d :: [out] Ocean bottom depth in m or Z if US is present
param_file :: [in] Parameter file structure
max_depth :: [in] Maximum model depth in the units of D
us :: [in] A dimensional unit scaling type
- Call to
first_call
mom_error_handler::mom_error
write_user_log
- Called from
-
subroutine
user_initialization/
user_initialize_thickness
(h, G, GV, param_file, just_read_params)¶ initialize thicknesses.
- Parameters
g :: [in] The ocean’s grid structure.
gv :: [in] The ocean’s vertical grid structure.
h :: [out] The thicknesses being initialized [H ~> m or kg m-2].
param_file :: [in] A structure indicating the open file to parse for model parameter values.
just_read_params :: [in] If present and true, this call will only read parameters without changing h.
- Call to
first_call
mom_error_handler::mom_error
write_user_log
-
subroutine
user_initialization/
user_initialize_velocity
(u, v, G, US, param_file, just_read_params)¶ initialize velocities.
- Parameters
g :: [in] Ocean grid structure.
u :: [out] i-component of velocity [L T-1 ~> m s-1]
v :: [out] j-component of velocity [L T-1 ~> m s-1]
us :: [in] A dimensional unit scaling type
param_file :: [in] A structure indicating the open file to parse for model parameter values.
just_read_params :: [in] If present and true, this call will only read parameters without changing h.
- Call to
first_call
mom_error_handler::mom_error
write_user_log
-
subroutine
user_initialization/
user_init_temperature_salinity
(T, S, G, param_file, eqn_of_state, just_read_params)¶ This function puts the initial layer temperatures and salinities into T(:,:,:) and S(:,:,:).
- Parameters
g :: [in] Ocean grid structure.
t :: [out] Potential temperature [degC].
s :: [out] Salinity [ppt].
param_file :: [in] A structure indicating the open file to parse for model parameter values.
eqn_of_state :: Equation of state structure
just_read_params :: [in] If present and true, this call will only read parameters without changing T & S.
- Call to
first_call
mom_error_handler::mom_error
write_user_log
-
subroutine
user_initialization/
user_initialize_sponges
(G, GV, use_temp, tv, param_file, CSp, h)¶ Set up the sponges.
- Parameters
g :: [in] Ocean grid structure.
gv :: [in] The ocean’s vertical grid structure.
use_temp :: [in] If true, temperature and salinity are state variables.
tv :: [in] A structure containing pointers to any available thermodynamic fields, potential temperature and salinity or mixed layer density. Absent fields have NULL ptrs.
param_file :: [in] A structure indicating the open file to parse for model parameter values.
csp :: A pointer to the sponge control structure.
h :: [in] Layer thicknesses [H ~> m or kg m-2].
- Call to
first_call
mom_error_handler::mom_error
write_user_log
- Called from
-
subroutine
user_initialization/
user_set_obc_data
(OBC, tv, G, param_file, tr_Reg)¶ This subroutine sets the properties of flow at open boundary conditions.
- Parameters
obc :: This open boundary condition type specifies whether, where, and what open boundary conditions are used.
tv :: [in] A structure containing pointers to any available thermodynamic fields, including potential temperature and salinity or mixed layer density. Absent fields have NULL ptrs.
g :: [in] The ocean’s grid structure.
param_file :: [in] A structure indicating the open file to parse for model parameter values.
tr_reg :: Tracer registry.
- Call to
first_call
write_user_log
-
subroutine
user_initialization/
user_set_rotation
(G, param_file)¶ - Parameters
g :: [inout] The ocean’s grid structure
param_file :: [in] A structure to parse for run-time parameters
- Call to
first_call
mom_error_handler::mom_error
write_user_log
-
subroutine
user_initialization/
write_user_log
(param_file)¶ Write output about the parameter values being used.
- Parameters
param_file :: [in] A structure indicating the open file to parse for model parameter values.
- Call to
first_call
- Called from
user_init_temperature_salinity
user_initialize_sponges
user_initialize_thickness
user_initialize_topography
user_initialize_velocity
user_set_coord
user_set_obc_data
user_set_rotation