pycontrails.models.dry_advection.DryAdvectionParams

class pycontrails.models.dry_advection.DryAdvectionParams(copy_source=True, interpolation_method='linear', interpolation_bounds_error=False, interpolation_fill_value=nan, interpolation_localize=False, interpolation_use_indices=False, interpolation_q_method=None, verify_met=True, downselect_met=True, met_longitude_buffer=(10.0, 10.0), met_latitude_buffer=(10.0, 10.0), met_level_buffer=(40.0, 40.0), met_time_buffer=(np.timedelta64(0, 'h'), np.timedelta64(0, 'h')), dt_integration=np.timedelta64(30, 'm'), max_age=np.timedelta64(20, 'h'), sedimentation_rate=0.0, dz_m=200.0, max_depth=1500.0, width=100.0, depth=100.0, azimuth=0.0)

Bases: AdvectionBuffers

Parameters for the DryAdvection model.

__init__(copy_source=True, interpolation_method='linear', interpolation_bounds_error=False, interpolation_fill_value=nan, interpolation_localize=False, interpolation_use_indices=False, interpolation_q_method=None, verify_met=True, downselect_met=True, met_longitude_buffer=(10.0, 10.0), met_latitude_buffer=(10.0, 10.0), met_level_buffer=(40.0, 40.0), met_time_buffer=(np.timedelta64(0, 'h'), np.timedelta64(0, 'h')), dt_integration=np.timedelta64(30, 'm'), max_age=np.timedelta64(20, 'h'), sedimentation_rate=0.0, dz_m=200.0, max_depth=1500.0, width=100.0, depth=100.0, azimuth=0.0)

Methods

__init__([copy_source, ...])

as_dict()

Convert object to dictionary.

Attributes

azimuth

copy_source

Copy input source data on eval

depth

downselect_met

Downselect input MetDataset` to region around source.

dt_integration

Apply Euler's method with a fixed step size of dt_integration.

dz_m

Difference in altitude between top and bottom layer for stratification calculations, [\(m\)].

interpolation_bounds_error

If True, points lying outside interpolation will raise an error

interpolation_fill_value

Used for outside interpolation value if interpolation_bounds_error is False

interpolation_localize

Experimental.

interpolation_method

Interpolation method.

interpolation_q_method

Experimental.

interpolation_use_indices

Experimental.

max_age

Max age of plume evolution.

max_depth

Upper bound for evolved plume depth, constraining it to realistic values.

met_latitude_buffer

Met latitude buffer [WGS84] for evolution by advection.

met_level_buffer

Met level buffer [\(hPa\)] for evolution by advection.

met_longitude_buffer

Met longitude [WGS84] buffer for evolution by advection.

met_time_buffer

Met time buffer for input to Flight.downselect_met() Only applies when downselect_met is True.

sedimentation_rate

Rate of change of pressure due to sedimentation [\(Pa/s\)]

verify_met

Call _verify_met() on model instantiation.

width

as_dict()

Convert object to dictionary.

We use this method instead of dataclasses.asdict to use a shallow/unrecursive copy. This will return values as Any instead of dict.

Returns:

dict[str, Any] – Dictionary version of self.

azimuth = 0.0
copy_source = True

Copy input source data on eval

depth = 100.0
downselect_met = True

Downselect input MetDataset` to region around source.

dt_integration = np.timedelta64(30,'m')

Apply Euler’s method with a fixed step size of dt_integration. Advected waypoints are interpolated against met data once each dt_integration.

dz_m = 200.0

Difference in altitude between top and bottom layer for stratification calculations, [\(m\)]. Used to approximate derivative of “lagrangian_tendency_of_air_pressure” (upward component of air velocity) with respect to altitude.

interpolation_bounds_error = False

If True, points lying outside interpolation will raise an error

interpolation_fill_value = nan

Used for outside interpolation value if interpolation_bounds_error is False

interpolation_localize = False

Experimental. See pycontrails.core.interpolation.

interpolation_method = 'linear'

Interpolation method. Supported methods include “linear”, “nearest”, “slinear”, “cubic”, and “quintic”. See scipy.interpolate.RegularGridInterpolator for the description of each method. Not all methods are supported by all met grids. For example, the “cubic” method requires at least 4 points per dimension.

interpolation_q_method = None

Experimental. Alternative interpolation method to account for specific humidity lapse rate bias. Must be one of None, "cubic-spline", or "log-q-log-p". If None, no special interpolation is used for specific humidity. The "cubic-spline" method applies a custom stretching of the met interpolation table to account for the specific humidity lapse rate bias. The "log-q-log-p" method interpolates in the log of specific humidity and pressure, then converts back to specific humidity. Only used by models calling to interpolate_met().

interpolation_use_indices = False

Experimental. See pycontrails.core.interpolation.

max_age = np.timedelta64(20,'h')

Max age of plume evolution.

max_depth = 1500.0

Upper bound for evolved plume depth, constraining it to realistic values.

met_latitude_buffer = (10.0, 10.0)

Met latitude buffer [WGS84] for evolution by advection.

met_level_buffer = (40.0, 40.0)

Met level buffer [\(hPa\)] for evolution by advection.

met_longitude_buffer = (10.0, 10.0)

Met longitude [WGS84] buffer for evolution by advection.

met_time_buffer = (np.timedelta64(0,'h'), np.timedelta64(0,'h'))

Met time buffer for input to Flight.downselect_met() Only applies when downselect_met is True.

sedimentation_rate = 0.0

Rate of change of pressure due to sedimentation [\(Pa/s\)]

verify_met = True

Call _verify_met() on model instantiation.

width = 100.0