Core hierarchy#
Core submodule of aeolus package.
- class aeolus.core.AtmoSim(cubes=None, name='', description='', planet='', const_dir=None, model=Model [99 fields], model_type=None, timestep=None, vert_coord=None, coord_check=False)[source]#
Bases:
AtmoSimBase
Main class for dealing with a atmospheric model simulation output.
Used to store and calculate atmospheric fields from gridded model output. Derived quantities are stored as cached properties to save time.
- sigma_p#
Calculate sigma (normalised pressure coordinate) from a cube of pressure.
\[\sigma = p / p_{sfc}\]- Parameters:
cubelist (iris.cube.CubeList) – Input list of cubes.
model (aeolus.model.Model, optional) – Model class with relevant variable names.
- wind_speed#
Calculate the wind speed (magnitude of the wind vector).
\[\sqrt{u^2 + v^2 + w^2}\]- Parameters:
args (iris.cube.Cube) – Cubes of u, v, w wind components.
- Return type:
- toa_net_energy#
Calculate domain-average TOA energy flux.
- Parameters:
cubelist (iris.cube.CubeList) – Input list of cubes.
model (aeolus.model.Model, optional) – Model class with relevant variable names.
- Returns:
Cube of total TOA downward energy flux.
- Return type:
- sfc_water_balance#
Calculate domain-average precipitation minus evaporation.
- Parameters:
cubelist (iris.cube.CubeList) – Input list of cubes.
const (aeolus.const.const.ConstContainer, optional) – Must have a scalar cube of condensible_density as an attribute. If not given, attempt is made to retrieve it from cube attributes.
model (aeolus.model.Model, optional) – Model class with relevant variable names.
- Returns:
Cube of total surface downward water flux (P-E).
- Return type:
- class aeolus.core.AtmoSimBase(cubes=None, name='', description='', planet='', const_dir=None, model=Model [99 fields], model_type=None, timestep=None, vert_coord=None, coord_check=False)[source]#
Bases:
object
Base class for creating atmospheric model simulation classes in aeolus.
Used to store and calculate atmospheric fields from gridded model output. Derived quantities are stored as cached properties to save time.
Assumes the data are in spherical coordinates on a regular lat-lon grid.
- const#
Physical constants used in calculations for this run.
- Type:
aeolus.const.ConstContainer
- model#
Model class with relevant coordinate and variable names.
- Type:
aeolus.model.Model, optional
- __init__(cubes=None, name='', description='', planet='', const_dir=None, model=Model [99 fields], model_type=None, timestep=None, vert_coord=None, coord_check=False)[source]#
Instantiate an AtmoSimBase object.
- Parameters:
cubes (iris.cube.CubeList) – Atmospheric fields.
name (str, optional) – The name or label of this AtmoSim.
description (str, optional) – This is not used internally; solely for the user’s information.
planet (str, optional) – Planet configuration used to get appropriate physical constants. If not given, Earth physical constants are initialised.
const_dir (pathlib.Path, optional) – Path to a folder with files with constants for a specific planet.
model (aeolus.model.Model, optional) – Model class with relevant coordinate and variable names.
model_type (str, optional) – Type of the model run, global or LAM.
timestep (int, optional) – Model time step in s.
vert_coord (str, optional) – Character identificator for the model’s vertical coordinate. “z” - data on “level_height” “p” - data on pressure levels
coord_check (bool, optional) – Check if all cubes have the same set of coordinates.
- extract(constraints)[source]#
Subset AtmoSim using iris constraints.
- Parameters:
constraints (iris.Constraint or iterable of constraints) – A single constraint or an iterable.