Skip to content

tracer_2d_1l

TracerAdvection

Performs horizontal advection on tracers.

Corresponds to tracer_2D_1L in the Fortran code.

__call__(tracers, dp1, x_mass_flux, y_mass_flux, x_courant, y_courant)

Apply advection to tracers based on the given courant numbers and mass fluxes.

Note only output values for tracers are used, all other inouts are only such because they are modified for intermediate computation.

Parameters:

Name Type Description Default
tracers inout

tracers to advect according to fluxes during acoustic substeps

required
dp1 in

pressure thickness of atmospheric layers before acoustic substeps

required
x_mass_flux inout

total mass flux in x-direction over acoustic substeps

required
y_mass_flux inout

total mass flux in y-direction over acoustic substeps

required
x_courant inout

accumulated courant number in x-direction

required
y_courant inout

accumulated courant number in y-direction

required

apply_mass_flux(dp1, x_mass_flux, y_mass_flux, rarea, dp2)

Parameters:

Name Type Description Default
dp1 in

initial pressure thickness

required
mfx in

flux of (area * mass * g) in x-direction

required
mfy in

flux of (area * mass * g) in y-direction

required
rarea in

1 / area

required
dp2 out

final pressure thickness

required

apply_tracer_flux(q, dp1, fx, fy, rarea, dp2)

Parameters:

Name Type Description Default
q inout
required
dp1 in
required
fx in
required
fy in
required
rarea in
required
dp2 in
required

divide_fluxes_by_n_substeps(cxd, xfx, mfxd, cyd, yfx, mfyd, n_split)

Divide all inputs in-place by the number of substeps n_split.

Parameters:

Name Type Description Default
cxd inout
required
xfx inout
required
mfxd inout
required
cyd inout
required
yfx inout
required
mfyd inout
required

flux_compute(cx, cy, dxa, dya, dx, dy, sin_sg1, sin_sg2, sin_sg3, sin_sg4, xfx, yfx)

Parameters:

Name Type Description Default
cx in
required
cy in
required
dxa in
required
dya in
required
dx in
required
dy in
required
sin_sg1 in
required
sin_sg2 in
required
sin_sg3 in
required
sin_sg4 in
required
xfx out

x-direction area flux

required
yfx out

y-direction area flux

required