MOM6
|
Initialization for the "Phillips" channel configuration.
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 [m s-1]. v - Meridional velocity [m s-1]. h - Layer thickness in m. (Must be positive.) D - Basin depth in m. (Must be positive.) f - The Coriolis parameter [s-1]. g - The reduced gravity at each interface [m s-2] Rlay - Layer potential density (coordinate variable) [kg m-3]. If ENABLE_THERMODYNAMICS is defined: T - Temperature [degC]. S - Salinity [ppt]. 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) Phillips_initialize_thickness, Phillips_initialize_velocity, Phillips_initialize_topography and Phillips_initialize_sponges that seet up fields that are specific to the Phillips instability test case.
Functions/Subroutines | |
subroutine, public | phillips_initialize_thickness (h, G, GV, US, param_file, just_read_params) |
Initialize the thickness field for the Phillips model test case. More... | |
subroutine, public | phillips_initialize_velocity (u, v, G, GV, US, param_file, just_read_params) |
Initialize the velocity fields for the Phillips model test case. More... | |
subroutine, public | phillips_initialize_sponges (G, GV, US, tv, param_file, CSp, h) |
Sets up the 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 for the Phillips model test case. More... | |
real function | sech (x) |
sech calculates the hyperbolic secant. More... | |
subroutine, public | phillips_initialize_topography (D, G, param_file, max_depth, US) |
Initialize topography. More... | |
subroutine, public phillips_initialization::phillips_initialize_sponges | ( | type(ocean_grid_type), intent(in) | G, |
type(verticalgrid_type), intent(in) | GV, | ||
type(unit_scale_type), intent(in) | US, | ||
type(thermo_var_ptrs), intent(in) | tv, | ||
type(param_file_type), intent(in) | param_file, | ||
type(sponge_cs), pointer | CSp, | ||
real, dimension( g %isd: g %ied, g %jsd: g %jed, gv %ke), intent(in) | h | ||
) |
Sets up the 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 for the Phillips model test case.
[in] | g | The ocean's grid structure. |
[in] | gv | Vertical grid structure |
[in] | us | A dimensional unit scaling type |
[in] | tv | A structure containing pointers to any available thermodynamic fields, potential temperature and salinity or mixed layer density. Absent fields have NULL ptrs. |
[in] | param_file | A structure indicating the open file to parse for model parameter values. |
csp | A pointer that is set to point to the control structure for the sponge module. | |
[in] | h | Thickness field [H ~> m or kg m-2]. |
Definition at line 202 of file Phillips_initialization.F90.
References mom_sponge::initialize_sponge().
Referenced by mom_state_initialization::mom_initialize_state().
subroutine, public phillips_initialization::phillips_initialize_thickness | ( | real, dimension( g %isd: g %ied, g %jsd: g %jed, gv %ke), intent(out) | h, |
type(ocean_grid_type), intent(in) | G, | ||
type(verticalgrid_type), intent(in) | GV, | ||
type(unit_scale_type), intent(in) | US, | ||
type(param_file_type), intent(in) | param_file, | ||
logical, intent(in), optional | just_read_params | ||
) |
Initialize the thickness field for the Phillips model test case.
[in] | g | The ocean's grid structure. |
[in] | gv | The ocean's vertical grid structure. |
[in] | us | A dimensional unit scaling type |
[out] | h | The thickness that is being initialized [H ~> m or kg m-2] |
[in] | param_file | A structure indicating the open file to parse for model parameter values. |
[in] | just_read_params | If present and true, this call will only read parameters without changing h. |
Definition at line 39 of file Phillips_initialization.F90.
subroutine, public phillips_initialization::phillips_initialize_topography | ( | real, dimension(g%isd:g%ied,g%jsd:g%jed), intent(out) | D, |
type(dyn_horgrid_type), intent(in) | G, | ||
type(param_file_type), intent(in) | param_file, | ||
real, intent(in) | max_depth, | ||
type(unit_scale_type), intent(in), optional | US | ||
) |
Initialize topography.
[in] | g | The dynamic horizontal grid type |
[out] | d | Ocean bottom depth in m or Z if US is present |
[in] | param_file | Parameter file structure |
[in] | max_depth | Maximum model depth in the units of D |
[in] | us | A dimensional unit scaling type |
Definition at line 297 of file Phillips_initialization.F90.
Referenced by mom_fixed_initialization::mom_initialize_topography().
subroutine, public phillips_initialization::phillips_initialize_velocity | ( | real, dimension( g %isdb: g %iedb, g %jsd: g %jed, gv %ke), intent(out) | u, |
real, dimension( g %isd: g %ied, g %jsdb: g %jedb, gv %ke), intent(out) | v, | ||
type(ocean_grid_type), intent(in) | G, | ||
type(verticalgrid_type), intent(in) | GV, | ||
type(unit_scale_type), intent(in) | US, | ||
type(param_file_type), intent(in) | param_file, | ||
logical, intent(in), optional | just_read_params | ||
) |
Initialize the velocity fields for the Phillips model test case.
[in] | g | Grid structure |
[in] | gv | Vertical grid structure |
[out] | u | i-component of velocity [L T-1 ~> m s-1] |
[out] | v | j-component of velocity [L T-1 ~> m s-1] |
[in] | us | A dimensional unit scaling type |
[in] | param_file | A structure indicating the open file to parse for modelparameter values. |
[in] | just_read_params | If present and true, this call will only read parameters without changing h. |
Definition at line 121 of file Phillips_initialization.F90.
References sech().
|
private |
sech calculates the hyperbolic secant.
[in] | x | Input value. |
Definition at line 284 of file Phillips_initialization.F90.
Referenced by phillips_initialize_velocity().