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 [nondim]. |
|
Returns an s-curve s(x) s.t. |
|
Returns a "coastal" profile [nondim]. |
|
Distance between points x,y and a line segment (x0,y0) and (x0,y1) in arbitrary units [A]. |
|
Distance between points x,y and a line segment (x0,y0) and (x1,y0) in arbitrary units [A]. |
|
An "angled coast profile" [nondim]. |
|
A "coast profile" applied in an N-S line from lonC,lat0 to lonC,lat1 [nondim]. |
|
A "coast profile" applied in an E-W line from lon0,latC to lon1,latC [nondim]. |
|
A NS ridge with a cone profile [nondim]. |
|
A NS ridge with an scurve profile [nondim]. |
|
A circular ridge with cutoff conic profile [nondim]. |
|
A circular ridge with cutoff scurve profile [nondim]. |
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 [A]
param_file ::
param_file[in] Parameter file structuremax_depth ::
max_depth[in] Maximum ocean depth in arbitrary units [A]
- Call to:
angled_coastcirc_conic_ridgecirc_scurve_ridgeew_coastmom_string_functions::lowercasemdlmom_error_handler::mom_errormom_error_handler::mom_mesgns_coastns_conic_ridgens_scurve_ridge- Called from:
- function basin_builder/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 [nondim]. If clip is present the top of the cone is cut off at “clip”, which effectively defaults to 1.
- Parameters:
x ::
x[in] Coordinate in arbitrary units [A]x0 ::
x0[in] position of peak in arbitrary units [A]l :: [in] half-width of base of cone in arbitrary units [A]
clip ::
clip[in] clipping height of cone [nondim]
- Called from:
- function basin_builder/scurve(x, x0, L)
Returns an s-curve s(x) s.t. s(x0)<=0, s(x0+L)>=1 and cubic in between [nondim].
- Parameters:
x ::
x[in] Coordinate in arbitrary units [A]x0 ::
x0[in] position of peak in arbitrary units [A]l :: [in] half-width of base of cone in arbitrary units [A]
- Called from:
- function basin_builder/cstprof(x, x0, L, lf, bf, sf, sh)
Returns a “coastal” profile [nondim].
- Parameters:
x ::
x[in] Coordinate in arbitrary units [A]x0 ::
x0[in] position of peak in arbitrary units [A]l :: [in] width of profile in arbitrary units [A]
lf ::
lf[in] fraction of width that is “land” [nondim]bf ::
bf[in] fraction of width that is “beach” [nondim]sf ::
sf[in] fraction of width that is “continental slope” [nondim]sh ::
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)
Distance between points x,y and a line segment (x0,y0) and (x0,y1) in arbitrary units [A].
- Parameters:
x ::
x[in] X-coordinate in arbitrary units [A]y ::
y[in] Y-coordinate in arbitrary units [A]x0 ::
x0[in] x-position of line segment in arbitrary units [A]y0 ::
y0[in] y-position of line segment end in arbitrary units [A]y1 ::
y1[in] y-position of line segment end in arbitrary units [A]
- Called from:
- function basin_builder/dist_line_fixed_y(x, y, x0, x1, y0)
Distance between points x,y and a line segment (x0,y0) and (x1,y0) in arbitrary units [A].
- Parameters:
x ::
x[in] X-coordinate in arbitrary units [A]y ::
y[in] Y-coordinate in arbitrary units [A]x0 ::
x0[in] x-position of line segment end in arbitrary units [A]x1 ::
x1[in] x-position of line segment end in arbitrary units [A]y0 ::
y0[in] y-position of line segment in arbitrary units [A]
- Call to:
- Called from:
- function basin_builder/angled_coast(lon, lat, lon_eq, lat_mer, dr, sh)
An “angled coast profile” [nondim].
- Parameters:
lon ::
lon[in] Longitude [degrees_E]lat ::
lat[in] Latitude [degrees_N]lon_eq ::
lon_eq[in] Longitude intersection with Equator [degrees_E]lat_mer ::
lat_mer[in] Latitude intersection with Prime Meridian [degrees_N]dr ::
dr[in] “Radius” of coast profile [degrees]sh ::
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)
A “coast profile” applied in an N-S line from lonC,lat0 to lonC,lat1 [nondim].
- Parameters:
lon ::
lon[in] Longitude [degrees_E]lat ::
lat[in] Latitude [degrees_N]lonc :: [in] Longitude of coast [degrees_E]
lat0 ::
lat0[in] Latitude of coast end [degrees_N]lat1 ::
lat1[in] Latitude of coast end [degrees_N]dlon ::
dlon[in] “Radius” of coast profile [degrees]sh ::
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)
A “coast profile” applied in an E-W line from lon0,latC to lon1,latC [nondim].
- Parameters:
lon ::
lon[in] Longitude [degrees_E]lat ::
lat[in] Latitude [degrees_N]latc :: [in] Latitude of coast [degrees_N]
lon0 ::
lon0[in] Longitude of coast end [degrees_E]lon1 ::
lon1[in] Longitude of coast end [degrees_E]dlat ::
dlat[in] “Radius” of coast profile [degrees]sh ::
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)
A NS ridge with a cone profile [nondim].
- Parameters:
lon ::
lon[in] Longitude [degrees_E]lat ::
lat[in] Latitude [degrees_N]lonc :: [in] Longitude of ridge center [degrees_E]
lat0 ::
lat0[in] Latitude of ridge end [degrees_N]lat1 ::
lat1[in] Latitude of ridge end [degrees_N]dlon ::
dlon[in] “Radius” of ridge profile [degrees]rh ::
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)
A NS ridge with an scurve profile [nondim].
- Parameters:
lon ::
lon[in] Longitude [degrees_E]lat ::
lat[in] Latitude [degrees_N]lonc :: [in] Longitude of ridge center [degrees_E]
lat0 ::
lat0[in] Latitude of ridge end [degrees_N]lat1 ::
lat1[in] Latitude of ridge end [degrees_N]dlon ::
dlon[in] “Radius” of ridge profile [degrees]rh ::
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)
A circular ridge with cutoff conic profile [nondim].
- Parameters:
lon ::
lon[in] Longitude [degrees_E]lat ::
lat[in] Latitude [degrees_N]lon0 ::
lon0[in] Longitude of center of ring [degrees_E]lat0 ::
lat0[in] Latitude of center of ring [degrees_N]ring_radius ::
ring_radius[in] Radius of ring [degrees]ring_thickness ::
ring_thickness[in] Radial thickness of ring [degrees]ridge_height ::
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)
A circular ridge with cutoff scurve profile [nondim].
- Parameters:
lon ::
lon[in] Longitude [degrees_E]lat ::
lat[in] Latitude [degrees_N]lon0 ::
lon0[in] Longitude of center of ring [degrees_E]lat0 ::
lat0[in] Latitude of center of ring [degrees_N]ring_radius ::
ring_radius[in] Radius of ring [degrees]ring_thickness ::
ring_thickness[in] Radial thickness of ring [degrees]ridge_height ::
ridge_height[in] Ridge height as fraction of full depth [nondim]
- Call to:
- Called from: