basin_builder module reference

An idealized topography building system.

More…

Functions/Subroutines

basin_builder_topography()

Constructs idealized topography from simple functions.

cone()

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].

scurve()

Returns an s-curve s(x) s.t.

cstprof()

Returns a "coastal" profile [nondim].

dist_line_fixed_x()

Distance between points x,y and a line segment (x0,y0) and (x0,y1) in arbitrary units [A].

dist_line_fixed_y()

Distance between points x,y and a line segment (x0,y0) and (x1,y0) in arbitrary units [A].

angled_coast()

An "angled coast profile" [nondim].

ns_coast()

A "coast profile" applied in an N-S line from lonC,lat0 to lonC,lat1 [nondim].

ew_coast()

A "coast profile" applied in an E-W line from lon0,latC to lon1,latC [nondim].

ns_conic_ridge()

A NS ridge with a cone profile [nondim].

ns_scurve_ridge()

A NS ridge with an scurve profile [nondim].

circ_conic_ridge()

A circular ridge with cutoff conic profile [nondim].

circ_scurve_ridge()

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 structure

  • max_depth :: max_depth [in] Maximum ocean depth in arbitrary units [A]

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:

mom_fixed_initialization::mom_initialize_topography

[source]

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:

circ_conic_ridge ns_conic_ridge

[source]

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:

circ_scurve_ridge cstprof ns_scurve_ridge

[source]

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:

scurve

Called from:

angled_coast ew_coast ns_coast

[source]

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:

dist_line_fixed_y ns_coast ns_conic_ridge ns_scurve_ridge

[source]

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:

dist_line_fixed_x

Called from:

ew_coast

[source]

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:

cstprof

Called from:

basin_builder_topography

[source]

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:

cstprof dist_line_fixed_x

Called from:

basin_builder_topography

[source]

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:

cstprof dist_line_fixed_y

Called from:

basin_builder_topography

[source]

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:

cone dist_line_fixed_x

Called from:

basin_builder_topography

[source]

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:

dist_line_fixed_x scurve

Called from:

basin_builder_topography

[source]

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:

cone

Called from:

basin_builder_topography

[source]

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:

scurve

Called from:

basin_builder_topography

[source]

[source]