kelvin_initialization module reference

Configures the model for the Kelvin wave experiment.

More…

Data Types

kelvin_obc_cs

Control structure for Kelvin wave open boundaries.

Functions/Subroutines

register_kelvin_obc()

Add Kelvin wave to OBC registry.

kelvin_obc_end()

Clean up the Kelvin wave OBC from registry.

kelvin_initialize_topography()

This subroutine sets up the Kelvin topography and land mask.

kelvin_set_obc_data()

This subroutine sets the properties of flow at open boundary conditions.

Detailed Description

Kelvin = coastally-trapped Kelvin waves from the ROMS examples. Initialize with level surfaces and drive the wave in at the west, radiate out at the east.

Type Documentation

type  kelvin_initialization/kelvin_obc_cs

Control structure for Kelvin wave open boundaries.

Type fields:
  • % mode :: integer Vertical mode.

  • % coast_angle :: real Angle of coastline [rad].

  • % coast_offset1 :: real Longshore distance to coastal angle [L ~> m].

  • % coast_offset2 :: real Offshore distance to coastal angle [L ~> m].

  • % h0 :: real Bottom depth [Z ~> m].

  • % f_0 :: real Coriolis parameter [T-1 ~> s-1].

  • % rho_range :: real Density range [R ~> kg m-3].

  • % rho_0 :: real Mean density [R ~> kg m-3].

  • % wave_period :: real Period of the mode-0 waves [T ~> s].

  • % ssh_amp :: real Amplitude of the sea surface height forcing for mode-0 waves [Z ~> m].

  • % inflow_amp :: real Amplitude of the boundary velocity forcing for internal waves [L T-1 ~> m s-1].

  • % obc_nudging_time :: real The timescale with which the inflowing open boundary velocities are nudged toward their intended values with the Kelvin wave test case [T ~> s], or a negative value to retain the value that is set when the OBC segments are initialized.

  • % indexing_bugs :: logical If true, retain several horizontal indexing bugs that were in the original version of Kelvin_set_OBC_data.

[source]

Function/Subroutine Documentation

function  kelvin_initialization/register_kelvin_obc(param_file, CS, US, OBC_Reg)

Add Kelvin wave to OBC registry.

Parameters:
  • param_file :: param_file [in] parameter file.

  • cs :: Kelvin wave control structure.

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

  • obc_reg :: OBC registry.

Call to:

mom_error_handler::mom_error

[source]

subroutine kelvin_initialization/kelvin_obc_end(CS)

Clean up the Kelvin wave OBC from registry.

Parameters:

cs :: Kelvin wave control structure.

Called from:

mom_boundary_update::obc_register_end

[source]

subroutine kelvin_initialization/kelvin_initialize_topography(D, G, param_file, max_depth, US)

This subroutine sets up the Kelvin topography and land mask.

Parameters:
  • g :: [in] The dynamic horizontal grid type

  • d :: [out] Ocean bottom depth [Z ~> m]

  • param_file :: param_file [in] Parameter file structure

  • max_depth :: max_depth [in] Maximum model depth [Z ~> m]

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

Call to:

mom_error_handler::mom_mesg

Called from:

mom_fixed_initialization::mom_initialize_topography

[source]

subroutine kelvin_initialization/kelvin_set_obc_data(OBC, CS, G, GV, US, h, Time)

This subroutine sets the properties of flow at open boundary conditions.

Parameters:
  • obc :: This open boundary condition type specifies whether, where, and what open boundary conditions are used.

  • cs :: Kelvin wave control structure.

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

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

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

  • h :: h [in] layer thickness [H ~> m or kg m-2].

  • time :: [in] model time.

Call to:

mom_error_handler::mom_error

[source]

[source]