Data Storage

These classes manage derived physical quantities within oopinterface.QGField.

Warning

This is only for internal use of oopinterface.QGField. Users shall access computed quantities via the properties of oopinterface.QGField.

class data_storage.BarotropicFluxTermsStorage(pydim: Union[int, Tuple], fdim: Union[int, Tuple], swapaxis_1: int, swapaxis_2: int, northern_hemisphere_results_only: bool)[source]

This class stores intermediate computed quantities in latitude-longitude 2D grid.

Variables are stored in fortran indexing order: (nlon, nlat)

class data_storage.DerivedQuantityStorage(pydim: Union[int, Tuple], fdim: Union[int, Tuple], swapaxis_1: int, swapaxis_2: int, northern_hemisphere_results_only: bool)[source]

This class manages the storage of derived variables in oopinterface.QGField.

Variables are stored in fortran indexing order for easy communication with f2py modules. To return variables in python indexing order, use the method fortran_to_python() to swap the axes.

class data_storage.DomainAverageStorage(pydim: Union[int, Tuple], fdim: Union[int, Tuple], swapaxis_1: int, swapaxis_2: int, northern_hemisphere_results_only: bool)[source]

This stores global/hemispheric averaged potential temperature and static stability.

Fortran dimension: (kmax)

class data_storage.InterpolatedFieldsStorage(pydim: Union[int, Tuple], fdim: Union[int, Tuple], swapaxis_1: int, swapaxis_2: int, northern_hemisphere_results_only: bool)[source]

This class stores 3D fields on interpolated grids, including:

  • u

  • v

  • theta (potential temperature)

  • avort (absolute vorticity, used as boundary condition to solve for reference state in NHN22)

Fortran dimension: (nlon, nlat, kmax)

exception data_storage.InvalidCallOfSHemVariables[source]

northern_hemisphere_results_only = True. Southern hemispheric variables are not computed.

class data_storage.LWAStorage(pydim: Union[int, Tuple], fdim: Union[int, Tuple], swapaxis_1: int, swapaxis_2: int, northern_hemisphere_results_only: bool)[source]

This class stores 3D LWA field on interpolated grids.

Fortran dimension: (nlon, nlat, kmax)

class data_storage.OutputBarotropicFluxTermsStorage(pydim: Union[int, Tuple], fdim: Union[int, Tuple], swapaxis_1: int, swapaxis_2: int, northern_hemisphere_results_only: bool)[source]

This class stores vertically integrated derived quantities in latitude-longitude 2D grid, including:

  • adv_flux_f1

  • adv_flux_f2

  • adv_flux_f3

  • zonal_adv_flux

  • convergence_zonal_advective_flux

  • divergence_eddy_momentum_flux

  • meridional_heat_flux

Variables are stored in python indexing order: (nlat, nlon)

class data_storage.ReferenceStatesStorage(pydim: Union[int, Tuple], fdim: Union[int, Tuple], swapaxis_1: int, swapaxis_2: int, northern_hemisphere_results_only: bool)[source]

This class stores height-latitude 2D fields on interpolated grids, including:

  • uref

  • qref (it actually stores qref/f, where f is Coriolis paramter)

  • tref (potential temperature reference state)

Fortran dimension: (nlat, kmax)

qref_correct_unit(ylat, omega, python_indexing=True)[source]

This returns Qref of the correct unit to the user. TODO: encapsulate this elsewhere to avoid potential error