MOM6
user_initialization.F90 File Reference
#include <MOM_memory.h>
#include "version_variable.h"
Include dependency graph for user_initialization.F90:

Go to the source code of this file.

Modules

module  user_initialization
 By Robert Hallberg, April 1994 - June 2002 *

  • 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 are initialized * here are: * u - Zonal velocity in m s-1. * v - Meridional velocity in m s-1. * h - Layer thickness in m. (Must be positive.) * GbathyT - Basin depth in m. (Must be positive.) * GCoriolisBu - The Coriolis parameter, in s-1. * GVg_prime - The reduced gravity at each interface, in m s-2. * GVRlay - Layer potential density (coordinate variable), kg m-3. * If ENABLE_THERMODYNAMICS is defined: * T - Temperature in C. * S - Salinity in psu. * If BULKMIXEDLAYER is defined: * Rml - Mixed layer and buffer layer potential densities in * units of 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. *
  • Forcing-related fields (taux, tauy, buoy, ustar, etc.) are set * in MOM_surface_forcing.F90. *
  • 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. *
  • Macros written all in capital letters are defined in MOM_memory.h. *
  • A small fragment of the grid is shown below: *
  • j+1 x ^ x ^ x At x: q, CoriolisBu * j+1 > o > o > At ^: v, tauy * j x ^ x ^ x At >: u, taux * j > o > o > At o: h, bathyT, buoy, tr, T, S, Rml, ustar * j-1 x ^ x ^ x * i-1 i i+1 At x & ^: * i i+1 At > & o: *
  • The boundaries always run through q grid points (x). *.

 

Functions/Subroutines

subroutine, public user_initialization::user_set_coord (Rlay, g_prime, GV, param_file, eqn_of_state)
 Set vertical coordinates. More...
 
subroutine, public user_initialization::user_initialize_topography (D, G, param_file, max_depth)
 Initialize topography. More...
 
subroutine, public user_initialization::user_initialize_thickness (h, G, param_file, T, just_read_params)
 initialize thicknesses. More...
 
subroutine, public user_initialization::user_initialize_velocity (u, v, G, param_file, just_read_params)
 initialize velocities. More...
 
subroutine, public 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(:,:,:). More...
 
subroutine, public user_initialization::user_initialize_sponges (G, use_temperature, tv, param_file, CSp, h)
 Set up the sponges. More...
 
subroutine, public user_initialization::user_set_obc_data (OBC, tv, G, param_file, tr_Reg)
 This subroutine sets the properties of flow at open boundary conditions. More...
 
subroutine, public user_initialization::user_set_rotation (G, param_file)
 
subroutine user_initialization::write_user_log (param_file)
 Write output about the parameter values being used. More...
 

Variables

logical user_initialization::first_call = .true.