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

Go to the source code of this file.

Modules

module  mom_state_initialization
 Initialization functions for state variables, u, v, h, T and S.
 

Functions/Subroutines

subroutine, public mom_state_initialization::mom_initialize_state (u, v, h, tv, Time, G, GV, US, PF, dirs, restart_CS, ALE_CSp, tracer_Reg, sponge_CSp, ALE_sponge_CSp, OBC, Time_in)
 Initialize temporally evolving fields, either as initial conditions or by reading them from a restart (or saves) file. More...
 
subroutine mom_state_initialization::initialize_thickness_from_file (h, G, GV, US, param_file, file_has_thickness, just_read_params)
 Reads the layer thicknesses or interface heights from a file. More...
 
subroutine mom_state_initialization::adjustetatofitbathymetry (G, GV, US, eta, h)
 Adjust interface heights to fit the bathymetry and diagnose layer thickness. More...
 
subroutine mom_state_initialization::initialize_thickness_uniform (h, G, GV, param_file, just_read_params)
 Initializes thickness to be uniform. More...
 
subroutine mom_state_initialization::initialize_thickness_list (h, G, GV, US, param_file, just_read_params)
 Initialize thickness from a 1D list. More...
 
subroutine mom_state_initialization::initialize_thickness_search
 Search density space for location of layers (not implemented!) More...
 
subroutine mom_state_initialization::convert_thickness (h, G, GV, US, tv)
 Converts thickness from geometric to pressure units. More...
 
subroutine mom_state_initialization::depress_surface (h, G, GV, US, param_file, tv, just_read_params)
 Depress the sea-surface based on an initial condition file. More...
 
subroutine mom_state_initialization::trim_for_ice (PF, G, GV, US, ALE_CSp, tv, h, just_read_params)
 Adjust the layer thicknesses by cutting away the top of each model column at the depth where the hydrostatic pressure matches an imposed surface pressure read from file. More...
 
subroutine mom_state_initialization::cut_off_column_top (nk, tv, GV, US, G_earth, depth, min_thickness, T, T_t, T_b, S, S_t, S_b, p_surf, h, remap_CS, z_tol)
 Adjust the layer thicknesses by removing the top of the water column above the depth where the hydrostatic pressure matches p_surf. More...
 
subroutine mom_state_initialization::initialize_velocity_from_file (u, v, G, US, param_file, just_read_params)
 Initialize horizontal velocity components from file. More...
 
subroutine mom_state_initialization::initialize_velocity_zero (u, v, G, param_file, just_read_params)
 Initialize horizontal velocity components to zero. More...
 
subroutine mom_state_initialization::initialize_velocity_uniform (u, v, G, US, param_file, just_read_params)
 Sets the initial velocity components to uniform. More...
 
subroutine mom_state_initialization::initialize_velocity_circular (u, v, G, US, param_file, just_read_params)
 Sets the initial velocity components to be circular with no flow at edges of domain and center. More...
 
real function my_psi (ig, jg)
 Returns the value of a circular stream function at (ig,jg) More...
 
subroutine mom_state_initialization::initialize_temp_salt_from_file (T, S, G, param_file, just_read_params)
 Initializes temperature and salinity from file. More...
 
subroutine mom_state_initialization::initialize_temp_salt_from_profile (T, S, G, param_file, just_read_params)
 Initializes temperature and salinity from a 1D profile. More...
 
subroutine mom_state_initialization::initialize_temp_salt_fit (T, S, G, GV, US, param_file, eqn_of_state, P_Ref, just_read_params)
 Initializes temperature and salinity by fitting to density. More...
 
subroutine mom_state_initialization::initialize_temp_salt_linear (T, S, G, param_file, just_read_params)
 Initializes T and S with linear profiles according to reference surface layer salinity and temperature and a specified range. More...
 
subroutine mom_state_initialization::initialize_sponges_file (G, GV, US, use_temperature, tv, param_file, CSp, ALE_CSp, Time)
 This subroutine sets the inverse restoration time (Idamp), and the values towards which the interface heights and an arbitrary number of tracers should be restored within each sponge. The interface height is always subject to damping, and must always be the first registered field. More...
 
subroutine mom_state_initialization::set_velocity_depth_max (G)
 This subroutine sets the 4 bottom depths at velocity points to be the maximum of the adjacent depths. More...
 
subroutine mom_state_initialization::compute_global_grid_integrals (G, US)
 Subroutine to pre-compute global integrals of grid quantities for later use in reporting diagnostics. More...
 
subroutine mom_state_initialization::set_velocity_depth_min (G)
 This subroutine sets the 4 bottom depths at velocity points to be the minimum of the adjacent depths. More...
 
subroutine mom_state_initialization::mom_temp_salt_initialize_from_z (h, tv, G, GV, US, PF, just_read_params)
 This subroutine determines the isopycnal or other coordinate interfaces and layer potential temperatures and salinities directly from a z-space file on a latitude-longitude grid. More...
 
subroutine mom_state_initialization::mom_state_init_tests (G, GV, US, tv)
 Run simple unit tests. More...
 

Variables

character(len=40) mom_state_initialization::mdl = "MOM_state_initialization"
 This module's name. More...
 

Function/Subroutine Documentation

◆ my_psi()

real function initialize_velocity_circular::my_psi ( integer  ig,
integer  jg 
)
private

Returns the value of a circular stream function at (ig,jg)

Parameters
igGlobal i-index
jgGlobal j-index

Definition at line 1415 of file MOM_state_initialization.F90.

1415  integer :: ig !< Global i-index
1416  integer :: jg !< Global j-index
1417  ! Local variables
1418  real :: x, y, r
1419 
1420  x = 2.0*(g%geoLonBu(ig,jg)-g%west_lon) / g%len_lon - 1.0 ! -1<x<1
1421  y = 2.0*(g%geoLatBu(ig,jg)-g%south_lat) / g%len_lat - 1.0 ! -1<y<1
1422  r = sqrt( x**2 + y**2 ) ! Circular stream function is a function of radius only
1423  r = min(1.0, r) ! Flatten stream function in corners of box
1424  my_psi = 0.5*(1.0 - cos(dpi*r))
1425  my_psi = my_psi * (circular_max_u*g%len_lon*1e3 / dpi) ! len_lon is in km

Referenced by mom_state_initialization::initialize_velocity_circular().

Here is the caller graph for this function:
my_psi
real function my_psi(ig, jg)
Returns the value of a circular stream function at (ig,jg)
Definition: MOM_state_initialization.F90:1415