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

Function/Subroutine Documentation

function kelvin_initialization/register_kelvin_obc(param_file, CS, US, OBC_Reg) [logical]

Add Kelvin wave to OBC registry.

Parameters:
  • 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

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

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 :: [in] Parameter file structure

  • 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

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 :: [in] layer thickness [H ~> m or kg m-2].

  • time :: [in] model time.

Call to:

mom_error_handler::mom_error