neverworld_initialization module reference

Initialization for the “Neverworld” configuration.

More…

Functions/Subroutines

neverworld_initialize_topography()

This subroutine sets up the Neverworld test case topography.

cosbell()

Returns the value of a cosine-bell function evaluated at x/L [nondim].

spike()

Returns the value of a sin-spike function evaluated at x/L [nondim].

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

ns_coast()

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

ew_coast()

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

ns_ridge()

A NS ridge [nondim].

circ_ridge()

A circular ridge [nondim].

neverworld_initialize_thickness()

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.

Detailed Description

Initialization for the “Neverworld” configuration.

Function/Subroutine Documentation

subroutine neverworld_initialization/neverworld_initialize_topography(D, G, param_file, max_depth)

This subroutine sets up the Neverworld test case topography.

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:

cosbell mom_error_handler::mom_mesg spike

Called from:

mom_fixed_initialization::mom_initialize_topography

[source]

function  neverworld_initialization/cosbell(x, L)

Returns the value of a cosine-bell function evaluated at x/L [nondim].

Parameters:
  • x :: x [in] Position in arbitrary units [A]

  • l :: [in] Width in arbitrary units [A]

Called from:

neverworld_initialize_topography

[source]

function  neverworld_initialization/spike(x, L)

Returns the value of a sin-spike function evaluated at x/L [nondim].

Parameters:
  • x :: x [in] Position in arbitrary units [A]

  • l :: [in] Width in arbitrary units [A]

Called from:

neverworld_initialize_thickness neverworld_initialize_topography

[source]

function  neverworld_initialization/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_ridge ns_ridge

[source]

function  neverworld_initialization/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:

cstprof

[source]

function  neverworld_initialization/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:

ew_coast ns_coast

[source]

function  neverworld_initialization/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_ridge

[source]

function  neverworld_initialization/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  neverworld_initialization/ns_coast(lon, lat, lon0, lat0, lat1, dlon, sh)

A “coast profile” applied in an N-S line from lon0,lat0 to lon0,lat1 [nondim].

Parameters:
  • lon :: lon [in] Longitude [degrees_E]

  • lat :: lat [in] Latitude [degrees_N]

  • lon0 :: lon0 [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

[source]

function  neverworld_initialization/ew_coast(lon, lat, lon0, lon1, lat0, dlat, sh)

A “coast profile” applied in an E-W line from lon0,lat0 to lon1,lat0 [nondim].

Parameters:
  • lon :: lon [in] Longitude [degrees_E]

  • lat :: lat [in] Latitude [degrees_N]

  • lon0 :: lon0 [in] Longitude of coast end [degrees_E]

  • lon1 :: lon1 [in] Longitude of coast end [degrees_E]

  • lat0 :: lat0 [in] Latitude of coast [degrees_N]

  • 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

[source]

function  neverworld_initialization/ns_ridge(lon, lat, lon0, lat0, lat1, dlon, rh)

A NS ridge [nondim].

Parameters:
  • lon :: lon [in] Longitude [degrees_E]

  • lat :: lat [in] Latitude [degrees_N]

  • lon0 :: lon0 [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

[source]

function  neverworld_initialization/circ_ridge(lon, lat, lon0, lat0, ring_radius, ring_thickness, ridge_height)

A circular ridge [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

[source]

subroutine neverworld_initialization/neverworld_initialize_thickness(h, depth_tot, G, GV, US, param_file, 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.

Parameters:
  • g :: [in] The ocean’s grid structure.

  • gv :: [in] The ocean’s vertical grid structure.

  • us :: [in] A dimensional unit scaling type

  • h :: h [out] The thickness that is being initialized [Z ~> m]

  • depth_tot :: depth_tot [in] The nominal total depth of the ocean [Z ~> m]

  • param_file :: param_file [in] A structure indicating the open file to parse for model parameter values.

  • p_ref :: [in] The coordinate-density reference pressure [R L2 T-2 ~> Pa].

Call to:

mom_error_handler::mom_mesg spike

Called from:

mom_state_initialization::mom_initialize_state

[source]

[source]