Skip to content

yppm

YPiecewiseParabolic

Fortran name is yppm

__call__(q_in, c, q_mean_advected_through_y_interface)

Determine the mean value per area of q_in to be advected along y-interfaces.

This is done by integrating a piecewise-parabolic svbgrid reconstruction of q_in along the y-direction over the segment of gridcell which will be advected.

Multiplying this mean value by the area to be advected through the interface would give the flux of q through that interface.

Parameters:

Name Type Description Default
q_in in

scalar to be integrated

required
c in

Courant number (v*dt/dy) in y-direction defined on y-interfaces, indicates the fraction of the adjacent grid cell which will be advected through the interface in one timestep

required
q_mean_advected_through_y_interface out

defined on y-interfaces. mean value of scalar within the segment of gridcell to be advected through that interface in one timestep, in units of q_in

required

apply_flux(courant, q, fx1, mask)

Parameters:

Name Type Description Default
courant

any value whose sign is the same as the sign of the y-wind on cell corners

required
q

scalar being transported, on y-centers

required
fx1

flux of q in units of q, on y-interfaces

required
mask

fx1 is multiplied by this before being applied

required

compute_al(q, dya)

Interpolate q at interface.

Inputs

q: transported scalar centered along the y-direction dya: dy on A-grid (?)

Returns:

Type Description

q interpolated to y-interfaces

compute_y_flux(q, courant, dya, yflux)

Parameters:

Name Type Description Default
q in
required
courant in
required
dya in
required
yflux out
required

fx1_fn(courant, br, b0, bl)

Parameters:

Name Type Description Default
courant

courant number, v * dt / dy (unitless)

required
br

???

required
b0

br + bl

required
bl

???

required