basin_builder module reference¶
An idealized topography building system.
Functions/Subroutines¶
Constructs idealized topography from simple functions. |
|
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. |
|
Returns an s-curve s(x) s.t. |
|
Returns a “coastal” profile. |
|
Distance between points x,y and a line segment (x0,y0) and (x0,y1). |
|
Distance between points x,y and a line segment (x0,y0) and (x1,y0). |
|
An “angled coast profile”. |
|
A “coast profile” applied in an N-S line from lonC,lat0 to lonC,lat1. |
|
A “coast profile” applied in an E-W line from lon0,latC to lon1,latC. |
|
A NS ridge with a cone profile. |
|
A NS ridge with an scurve profile. |
|
A circular ridge with cutoff conic profile. |
|
A circular ridge with cutoff scurve profile. |
Detailed Description¶
An idealized topography building system.
Function/Subroutine Documentation¶
-
subroutine
basin_builder/
basin_builder_topography
(D, G, param_file, max_depth)¶ Constructs idealized topography from simple functions.
- Parameters:
g :: [in] The dynamic horizontal grid type
d :: [out] Ocean bottom depth in the units of depth_max
param_file :: [in] Parameter file structure
max_depth :: [in] Maximum ocean depth in arbitrary units
- Call to:
angled_coast
circ_conic_ridge
circ_scurve_ridge
ew_coast
mom_string_functions::lowercase
mdl
mom_error_handler::mom_error
mom_error_handler::mom_mesg
ns_coast
ns_conic_ridge
ns_scurve_ridge
- Called from:
-
function
basin_builder/
cone
(x, x0, L, clip) [real]¶ 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.
- Parameters:
x :: [in] non-dimensional coordinate [nondim]
x0 :: [in] position of peak [nondim]
l :: [in] half-width of base of cone [nondim]
clip :: [in] clipping height of cone [nondim]
- Called from:
-
function
basin_builder/
scurve
(x, x0, L) [real]¶ Returns an s-curve s(x) s.t. s(x0)<=0, s(x0+L)>=1 and cubic in between.
- Parameters:
x :: [in] non-dimensional coordinate [nondim]
x0 :: [in] position of peak [nondim]
l :: [in] half-width of base of cone [nondim]
- Called from:
-
function
basin_builder/
cstprof
(x, x0, L, lf, bf, sf, sh) [real]¶ Returns a “coastal” profile.
- Parameters:
x :: [in] non-dimensional coordinate [nondim]
x0 :: [in] position of peak [nondim]
l :: [in] width of profile [nondim]
lf :: [in] fraction of width that is “land” [nondim]
bf :: [in] fraction of width that is “beach” [nondim]
sf :: [in] fraction of width that is “continental slope” [nondim]
sh :: [in] depth of shelf as fraction of full depth [nondim]
- Call to:
- Called from:
-
function
basin_builder/
dist_line_fixed_x
(x, y, x0, y0, y1) [real]¶ Distance between points x,y and a line segment (x0,y0) and (x0,y1).
- Parameters:
x :: [in] non-dimensional x-coordinate [nondim]
y :: [in] non-dimensional y-coordinate [nondim]
x0 :: [in] x-position of line segment [nondim]
y0 :: [in] y-position of line segment end[nondim]
y1 :: [in] y-position of line segment end[nondim]
- Called from:
-
function
basin_builder/
dist_line_fixed_y
(x, y, x0, x1, y0) [real]¶ Distance between points x,y and a line segment (x0,y0) and (x1,y0).
- Parameters:
x :: [in] non-dimensional x-coordinate [nondim]
y :: [in] non-dimensional y-coordinate [nondim]
x0 :: [in] x-position of line segment end[nondim]
x1 :: [in] x-position of line segment end[nondim]
y0 :: [in] y-position of line segment [nondim]
- Call to:
- Called from:
-
function
basin_builder/
angled_coast
(lon, lat, lon_eq, lat_mer, dr, sh) [real]¶ An “angled coast profile”.
- Parameters:
lon :: [in] Longitude [degrees_E]
lat :: [in] Latitude [degrees_N]
lon_eq :: [in] Longitude intersection with Equator [degrees_E]
lat_mer :: [in] Latitude intersection with Prime Meridian [degrees_N]
dr :: [in] “Radius” of coast profile [degrees]
sh :: [in] depth of shelf as fraction of full depth [nondim]
- Call to:
- Called from:
-
function
basin_builder/
ns_coast
(lon, lat, lonC, lat0, lat1, dlon, sh) [real]¶ A “coast profile” applied in an N-S line from lonC,lat0 to lonC,lat1.
- Parameters:
lon :: [in] Longitude [degrees_E]
lat :: [in] Latitude [degrees_N]
lonc :: [in] Longitude of coast [degrees_E]
lat0 :: [in] Latitude of coast end [degrees_N]
lat1 :: [in] Latitude of coast end [degrees_N]
dlon :: [in] “Radius” of coast profile [degrees]
sh :: [in] depth of shelf as fraction of full depth [nondim]
- Call to:
- Called from:
-
function
basin_builder/
ew_coast
(lon, lat, latC, lon0, lon1, dlat, sh) [real]¶ A “coast profile” applied in an E-W line from lon0,latC to lon1,latC.
- Parameters:
lon :: [in] Longitude [degrees_E]
lat :: [in] Latitude [degrees_N]
latc :: [in] Latitude of coast [degrees_N]
lon0 :: [in] Longitude of coast end [degrees_E]
lon1 :: [in] Longitude of coast end [degrees_E]
dlat :: [in] “Radius” of coast profile [degrees]
sh :: [in] depth of shelf as fraction of full depth [nondim]
- Call to:
- Called from:
-
function
basin_builder/
ns_conic_ridge
(lon, lat, lonC, lat0, lat1, dlon, rh) [real]¶ A NS ridge with a cone profile.
- Parameters:
lon :: [in] Longitude [degrees_E]
lat :: [in] Latitude [degrees_N]
lonc :: [in] Longitude of ridge center [degrees_E]
lat0 :: [in] Latitude of ridge end [degrees_N]
lat1 :: [in] Latitude of ridge end [degrees_N]
dlon :: [in] “Radius” of ridge profile [degrees]
rh :: [in] depth of ridge as fraction of full depth [nondim]
- Call to:
- Called from:
-
function
basin_builder/
ns_scurve_ridge
(lon, lat, lonC, lat0, lat1, dlon, rh) [real]¶ A NS ridge with an scurve profile.
- Parameters:
lon :: [in] Longitude [degrees_E]
lat :: [in] Latitude [degrees_N]
lonc :: [in] Longitude of ridge center [degrees_E]
lat0 :: [in] Latitude of ridge end [degrees_N]
lat1 :: [in] Latitude of ridge end [degrees_N]
dlon :: [in] “Radius” of ridge profile [degrees]
rh :: [in] depth of ridge as fraction of full depth [nondim]
- Call to:
- Called from:
-
function
basin_builder/
circ_conic_ridge
(lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height) [real]¶ A circular ridge with cutoff conic profile.
- Parameters:
lon :: [in] Longitude [degrees_E]
lat :: [in] Latitude [degrees_N]
lon0 :: [in] Longitude of center of ring [degrees_E]
lat0 :: [in] Latitude of center of ring [degrees_N]
ring_radius :: [in] Radius of ring [degrees]
ring_thickness :: [in] Radial thickness of ring [degrees]
ridge_height :: [in] Ridge height as fraction of full depth [nondim]
- Call to:
- Called from:
-
function
basin_builder/
circ_scurve_ridge
(lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height) [real]¶ A circular ridge with cutoff scurve profile.
- Parameters:
lon :: [in] Longitude [degrees_E]
lat :: [in] Latitude [degrees_N]
lon0 :: [in] Longitude of center of ring [degrees_E]
lat0 :: [in] Latitude of center of ring [degrees_N]
ring_radius :: [in] Radius of ring [degrees]
ring_thickness :: [in] Radial thickness of ring [degrees]
ridge_height :: [in] Ridge height as fraction of full depth [nondim]
- Call to:
- Called from: