namespace coord_adapt

Overview

Regrid columns for the adaptive coordinate. More…

namespace coord_adapt {

// global functions

subroutine, public init_coord_adapt(
    CS CS,
    nk nk,
    coordinateResolution coordinateResolution,
    m_to_H m_to_H
    );

subroutine, public end_coord_adapt(CS CS);

subroutine, public set_adapt_params(
    CS CS,
    adaptTimeRatio adaptTimeRatio,
    adaptAlpha adaptAlpha,
    adaptZoom adaptZoom,
    adaptZoomCoeff adaptZoomCoeff,
    adaptBuoyCoeff adaptBuoyCoeff,
    adaptDrho0 adaptDrho0,
    adaptDoMin adaptDoMin
    );

subroutine, public build_adapt_column(
    CS CS,
    G G,
    GV GV,
    tv tv,
    i i,
    j j,
    zInt zInt,
    tInt tInt,
    sInt sInt,
    h h,
    zNext zNext
    );

} // namespace coord_adapt

Detailed Documentation

Regrid columns for the adaptive coordinate.

Global Functions

subroutine, public init_coord_adapt(
    CS CS,
    nk nk,
    coordinateResolution coordinateResolution,
    m_to_H m_to_H
    )

Initialise an adapt_CS with parameters.

Parameters:

cs

Unassociated pointer to hold the control structure

nk

Number of layers in the grid

coordinateresolution

Nominal near-surface resolution [m] or other units specified with m_to_H

m_to_h

A conversion factor from m to the units of thicknesses

subroutine, public end_coord_adapt(CS CS)

Clean up the coordinate control structure.

Parameters:

cs

The control structure for this module

subroutine, public set_adapt_params(
    CS CS,
    adaptTimeRatio adaptTimeRatio,
    adaptAlpha adaptAlpha,
    adaptZoom adaptZoom,
    adaptZoomCoeff adaptZoomCoeff,
    adaptBuoyCoeff adaptBuoyCoeff,
    adaptDrho0 adaptDrho0,
    adaptDoMin adaptDoMin
    )

This subtroutine can be used to set the parameters for coord_adapt module.

Parameters:

cs

The control structure for this module

adapttimeratio

Ratio of optimisation and diffusion timescales

adaptalpha

Nondimensional coefficient determining how much optimisation to apply

adaptzoom

Near-surface zooming depth [H ~> m or kg m-2]

adaptzoomcoeff

Near-surface zooming coefficient

adaptbuoycoeff

Stratification-dependent diffusion coefficient

adaptdrho0

Reference density difference for stratification-dependent diffusion

adaptdomin

If true, form a HYCOM1-like mixed layer by preventing interfaces from becoming shallower than the depths set by coordinateResolution

subroutine, public build_adapt_column(
    CS CS,
    G G,
    GV GV,
    tv tv,
    i i,
    j j,
    zInt zInt,
    tInt tInt,
    sInt sInt,
    h h,
    zNext zNext
    )

Parameters:

cs

The control structure for this module

g

The ocean’s grid structure

gv

The ocean’s vertical grid structure

tv

A structure pointing to various thermodynamic variables

i

The i-index of the column to work on

j

The j-index of the column to work on

zint

Interface heights [H ~> m or kg m-2].

tint

Interface temperatures [degC]

sint

Interface salinities [ppt]

h

Layer thicknesses [H ~> m or kg m-2]

znext

updated interface positions