3.7.1. pypago.secdiag

Module that handles transport calculation across gridded sections

Functions

baroclinic_calc(section, componame) Computation of baroclinic component
baroclinic_tracer_transport(section, componame) Computation of tracer transport
barotropic_calc(section[, velname]) Calculation of barotropic component
barotropic_tracer_transport(section, componame) Computation of baroptropic tracer transport
barotropic_volume_transport(section[, velname]) Computation of barotropic volume transport
horizontal_calc(section[, velname]) Calculation of horizontal component
net_tracer_trans(section, componame[, velname]) Computation of net tracer transport:
net_volume_trans(section[, velname]) Computation of net volume transport.
overturning_calc(section[, velname]) Computation of overturning component:
overturning_tracer_transport(section, componame) Computation of overturning volume transport:
overturning_volume_transport(section[, velname]) Computation of overturning volume transport:
remove_spatial_mean(section, componame) Correction of a field by removing the mean:
total_tracer_trans(section, componame[, velname]) Computation of total tracer transport, i.e without the net mass transport
pypago.secdiag.baroclinic_calc(section, componame)

Computation of baroclinic component

\[U_{bc} = U_{hor} - U_{bp} \]
Parameters:
Returns:

A numpy array containing the net tracer transport

pypago.secdiag.baroclinic_tracer_transport(section, componame, velname='vecv')

Computation of tracer transport

\[ \begin{align}\begin{aligned}U_{bc} & = U_{hor} - U_{bp} \\T_{bc} & = T_{hor} - T_{bp} \\BC & = \iint_{S} U_{bc} T_{bc} dS\end{aligned}\end{align} \]
Parameters:
  • section (pypago.sections.GridSection) – Gridded section
  • componame (str) – Name of the variable whose transport to compute
  • velname (str) – Name of the velocity field
Returns:

A numpy array containing the net tracer transport

pypago.secdiag.barotropic_calc(section, velname='vecv')

Calculation of barotropic component

\[U_{bar}(l) = \frac{\int_{z=0}^H U_{hor}(z,l) dS(z, l)}{\int_{z=0}^HdS(z, l)}\]
Parameters:
Returns:

A numpy array containing the net tracer transport

pypago.secdiag.barotropic_tracer_transport(section, componame, velname='vecv')

Computation of baroptropic tracer transport

\[ \begin{align}\begin{aligned}U_{bar}(l) & = \frac{\int_{z=0}^H U_{hor}(z,l) dS(z, l)}{\int_{z=0}^HdS(z, l)}\\T_{bar}(l) & = \frac{\int_{z=0}^H T_{hor}(z,l) dS(z, l)}{\int_{z=0}^HdS(z, l)}\\Area(l) & = \int_{z=0}^H dS(z,l)\\BP & = \sum_{l=0}^L U_{bar}(l) T_{bar}(l) Area(l)\end{aligned}\end{align} \]
Parameters:
  • section (pypago.sections.GridSection) – Gridded section
  • componame (str) – Name of the variable whose transport to compute
  • velname (str) – Name of the velocity field
Returns:

A numpy array containing the net tracer transport

pypago.secdiag.barotropic_volume_transport(section, velname='vecv')

Computation of barotropic volume transport

\[ \begin{align}\begin{aligned}Area(l) & = \int_{z=0}^{H} dS(z,l)\\V_{bar}(l) & = U_{bar}(l) Area(l)\end{aligned}\end{align} \]
Parameters:
Returns:

A numpy array containing the net tracer transport

pypago.secdiag.horizontal_calc(section, velname='vecv')

Calculation of horizontal component

\[U_{hor} = U_{nonet} - U_{ovt}\]
Parameters:
Returns:

A numpy array containing the net tracer transport

pypago.secdiag.net_tracer_trans(section, componame, velname='vecv')

Computation of net tracer transport:

\[\iint_{S_{o}} [UT]\ dl\ dz\]
Parameters:
  • section (pypago.sections.GridSection) – Gridded section
  • componame (str) – Name of the variable whose transport to compute
  • velname (str) – Name of the velocity field
Returns:

A numpy array containing the net tracer transport

pypago.secdiag.net_volume_trans(section, velname='vecv')

Computation of net volume transport.

\[\iint_{S_{o}} U\ dl\ dz\]

Note

This function can also be used to compute the net tracer transport across a section if the velname argument is a transport (see also pypago.areadiag.compute_tracer_conv_trans())

Parameters:
Returns:

A numpy array containing the net volume transport

pypago.secdiag.overturning_calc(section, velname='vecv')

Computation of overturning component:

\[U^{ovt}(z) = \dfrac{\int_{l=0}^L U_{nonet}(z, l) dS(z, l)}{\int_{l=0}^L dS(z, l)}\]
Parameters:
pypago.secdiag.overturning_tracer_transport(section, componame, velname='vecv')

Computation of overturning volume transport:

\[ \begin{align}\begin{aligned}U^{ovt}(z) & = \frac{\int_{l=0}^L U_{nonet}(z, l) dS(z, l)}{\int_{l=0}^L dS(z, l)}\\T^{ovt}(z) & = \frac{\int_{l=0}^L T_{nonet}(z, l) dS(z, l)}{\int_{l=0}^L dS(z, l)}\\Area(z) & = \int_{l=0}^L dS(z, l)\\OVT & = \sum_{z=0}^H Area(z) U^{ovt}(z) T^{ovt}(z) \end{aligned}\end{align} \]
Parameters:
pypago.secdiag.overturning_volume_transport(section, velname='vecv')

Computation of overturning volume transport:

\[ \begin{align}\begin{aligned}U^{ovt}(z) & = \frac{\int_{l=0}^L U_{nonet}(z, l) dS(z, l)}{\int_{l=0}^L dS(z, l)}\\Area(z) & = \int_{l=0}^L dS(z, l)\\V_{ovt} & = max_k\left[\sum_{i=0}^{k} U_T^{ovt}(z_k) Area(z_k)\right]\end{aligned}\end{align} \]
Parameters:
pypago.secdiag.remove_spatial_mean(section, componame)

Correction of a field by removing the mean:

\[T_{nonet} = T - \dfrac{\iint_{S_{o}} T\ dl\ dz}{\iint_{S_{o}}dl\ dz}\]
Parameters:
pypago.secdiag.total_tracer_trans(section, componame, velname='vecv')

Computation of total tracer transport, i.e without the net mass transport

\[\iint_{S_{o}} [U_{nonet}T]\ dl\ dz\]
Parameters:
  • section (pypago.sections.GridSection) – Gridded section
  • componame (str) – Name of the variable whose transport to compute
  • velname (str) – Name of the velocity field
Returns:

A numpy array containing the net tracer transport