|
MOM6
|
Initialization for the "Neverworld" configuration.
Functions/Subroutines | |
| subroutine, public | neverworld_initialize_topography (D, G, param_file, max_depth) |
| This subroutine sets up the Neverworld test case topography. More... | |
| real function | cosbell (x, L) |
| Returns the value of a cosine-bell function evaluated at x/L. More... | |
| real function | spike (x, L) |
| Returns the value of a sin-spike function evaluated at x/L. More... | |
| real function | cone (x, x0, L, clip) |
| Returns the value of a triangular function centered at x=x0 with value 1 and linearly decreasing to 0 at x=x0+/-L, and 0 otherwise. If clip is present the top of the cone is cut off at "clip", which effectively defaults to 1. More... | |
| real function | scurve (x, x0, L) |
| Returns an s-curve s(x) s.t. s(x0)<=0, s(x0+L)>=1 and cubic in between. More... | |
| real function | cstprof (x, x0, L, lf, bf, sf, sh) |
| Returns a "coastal" profile. More... | |
| real function | dist_line_fixed_x (x, y, x0, y0, y1) |
| Distance between points x,y and a line segment (x0,y0) and (x0,y1). More... | |
| real function | dist_line_fixed_y (x, y, x0, x1, y0) |
| Distance between points x,y and a line segment (x0,y0) and (x1,y0). More... | |
| real function | ns_coast (lon, lat, lon0, lat0, lat1, dlon, sh) |
| A "coast profile" applied in an N-S line from lon0,lat0 to lon0,lat1. More... | |
| real function | ew_coast (lon, lat, lon0, lon1, lat0, dlat, sh) |
| A "coast profile" applied in an E-W line from lon0,lat0 to lon1,lat0. More... | |
| real function | ns_ridge (lon, lat, lon0, lat0, lat1, dlon, rh) |
| A NS ridge. More... | |
| real function | circ_ridge (lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height) |
| A circular ridge. More... | |
| subroutine, public | neverworld_initialize_thickness (h, G, GV, US, param_file, eqn_of_state, P_ref) |
| This subroutine initializes layer thicknesses for the Neverworld test case, by finding the depths of interfaces in a specified latitude-dependent temperature profile with an exponentially decaying thermocline on top of a linear stratification. More... | |
|
private |
A circular ridge.
| [in] | lon | Longitude [degrees_E] |
| [in] | lat | Latitude [degrees_N] |
| [in] | lon0 | Longitude of center of ring [degrees_E] |
| [in] | lat0 | Latitude of center of ring [degrees_N] |
| [in] | ring_radius | Radius of ring [degrees] |
| [in] | ring_thickness | Radial thickness of ring [degrees] |
| [in] | ridge_height | Ridge height as fraction of full depth [nondim] |
Definition at line 223 of file Neverworld_initialization.F90.
|
private |
Returns the value of a triangular function centered at x=x0 with value 1 and linearly decreasing to 0 at x=x0+/-L, and 0 otherwise. If clip is present the top of the cone is cut off at "clip", which effectively defaults to 1.
| [in] | x | non-dimensional coordinate [nondim] |
| [in] | x0 | position of peak [nondim] |
| [in] | l | half-width of base of cone [nondim] |
| [in] | clip | clipping height of cone [nondim] |
Definition at line 113 of file Neverworld_initialization.F90.
|
private |
Returns the value of a cosine-bell function evaluated at x/L.
| [in] | x | non-dimensional position |
| [in] | l | non-dimensional width |
Definition at line 89 of file Neverworld_initialization.F90.
|
private |
Returns a "coastal" profile.
| [in] | x | non-dimensional coordinate [nondim] |
| [in] | x0 | position of peak [nondim] |
| [in] | l | width of profile [nondim] |
| [in] | lf | fraction of width that is "land" [nondim] |
| [in] | bf | fraction of width that is "beach" [nondim] |
| [in] | sf | fraction of width that is "continental slope" [nondim] |
| [in] | sh | depth of shelf as fraction of full depth [nondim] |
Definition at line 135 of file Neverworld_initialization.F90.
|
private |
Distance between points x,y and a line segment (x0,y0) and (x0,y1).
| [in] | x | non-dimensional x-coordinate [nondim] |
| [in] | y | non-dimensional y-coordinate [nondim] |
| [in] | x0 | x-position of line segment [nondim] |
| [in] | y0 | y-position of line segment end[nondim] |
| [in] | y1 | y-position of line segment end[nondim] |
Definition at line 150 of file Neverworld_initialization.F90.
|
private |
Distance between points x,y and a line segment (x0,y0) and (x1,y0).
| [in] | x | non-dimensional x-coordinate [nondim] |
| [in] | y | non-dimensional y-coordinate [nondim] |
| [in] | x0 | x-position of line segment end[nondim] |
| [in] | x1 | x-position of line segment end[nondim] |
| [in] | y0 | y-position of line segment [nondim] |
Definition at line 165 of file Neverworld_initialization.F90.
|
private |
A "coast profile" applied in an E-W line from lon0,lat0 to lon1,lat0.
| [in] | lon | Longitude [degrees_E] |
| [in] | lat | Latitude [degrees_N] |
| [in] | lon0 | Longitude of coast end [degrees_E] |
| [in] | lon1 | Longitude of coast end [degrees_E] |
| [in] | lat0 | Latitude of coast [degrees_N] |
| [in] | dlat | "Radius" of coast profile [degrees] |
| [in] | sh | depth of shelf as fraction of full depth [nondim] |
Definition at line 192 of file Neverworld_initialization.F90.
| subroutine, public neverworld_initialization::neverworld_initialize_thickness | ( | real, dimension(szi_(g),szj_(g),szk_(gv)), 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, | ||
| type(eos_type), pointer | eqn_of_state, | ||
| real, intent(in) | P_ref | ||
| ) |
This subroutine initializes layer thicknesses for the Neverworld test case, by finding the depths of interfaces in a specified latitude-dependent temperature profile with an exponentially decaying thermocline on top of a linear stratification.
| [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. |
| eqn_of_state | Equation of state structure | |
| [in] | p_ref | The coordinate-density reference pressure [R L2 T-2 ~> Pa]. |
Definition at line 243 of file Neverworld_initialization.F90.
| subroutine, public neverworld_initialization::neverworld_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 | ||
| ) |
This subroutine sets up the Neverworld test case topography.
| [in] | g | The dynamic horizontal grid type |
| [out] | d | Ocean bottom depth in the units of depth_max |
| [in] | param_file | Parameter file structure |
| [in] | max_depth | Maximum ocean depth in arbitrary units |
Definition at line 36 of file Neverworld_initialization.F90.
|
private |
A "coast profile" applied in an N-S line from lon0,lat0 to lon0,lat1.
| [in] | lon | Longitude [degrees_E] |
| [in] | lat | Latitude [degrees_N] |
| [in] | lon0 | Longitude of coast [degrees_E] |
| [in] | lat0 | Latitude of coast end [degrees_N] |
| [in] | lat1 | Latitude of coast end [degrees_N] |
| [in] | dlon | "Radius" of coast profile [degrees] |
| [in] | sh | depth of shelf as fraction of full depth [nondim] |
Definition at line 177 of file Neverworld_initialization.F90.
|
private |
A NS ridge.
| [in] | lon | Longitude [degrees_E] |
| [in] | lat | Latitude [degrees_N] |
| [in] | lon0 | Longitude of ridge center [degrees_E] |
| [in] | lat0 | Latitude of ridge end [degrees_N] |
| [in] | lat1 | Latitude of ridge end [degrees_N] |
| [in] | dlon | "Radius" of ridge profile [degrees] |
| [in] | rh | depth of ridge as fraction of full depth [nondim] |
Definition at line 207 of file Neverworld_initialization.F90.
|
private |
Returns an s-curve s(x) s.t. s(x0)<=0, s(x0+L)>=1 and cubic in between.
| [in] | x | non-dimensional coordinate [nondim] |
| [in] | x0 | position of peak [nondim] |
| [in] | l | half-width of base of cone [nondim] |
Definition at line 124 of file Neverworld_initialization.F90.
|
private |
Returns the value of a sin-spike function evaluated at x/L.
| [in] | x | non-dimensional position |
| [in] | l | non-dimensional width |
Definition at line 99 of file Neverworld_initialization.F90.