Coming From X-STILT#
PYSTILT has the main pieces of X-STILT’s column and satellite workflow: column and slant receptors, sounding selection, averaging kernels, and pressure weighting. In X-STILT you configure one large script. In PYSTILT these pieces are Python functions and objects that you combine in your own script. PYSTILT does not try to copy every X-STILT feature. The table shows the ones that have an equivalent.
X-STILT concept |
X-STILT API / file |
PYSTILT equivalent |
|---|---|---|
Column receptor ( |
|
|
Slant column ( |
|
|
Sounding selection (near-field + background) |
|
|
Jittered receptors in a pixel ( |
|
|
Overpass grouping |
|
|
Vertical weighting (AK × PWF) |
|
|
Per-sounding averaging kernels ( |
|
|
First-order chemistry |
|
|
Column footprint outputs |
X-STILT column products |
standard PYSTILT footprints from column or slant receptors |
Product readers (OCO-2/3, TROPOMI, TCCON) |
|
|
Transport error on the modelled column ( |
|
|
Modelled enhancement from an inventory ( |
|
|
Wind error statistics from radiosondes and surface stations |
|
|
Mixing-height scaling for the vertical transport error ( |
|
|
Background from trajectory endpoints ( |
|
|
Emission-error propagation ( |
|
the same product as the enhancement, |
Satellite-derived plume background ( |
|
|
Moving a workflow over#
Write a reader that turns your product into a DataFrame with one row per sounding (see Adding your own instrument in Satellite And Column Observations).
Group the soundings by overpass and select the ones to run with the helpers above.
Build one receptor per row. For slant columns, use
slant_points.Build the averaging-kernel table with
averaging_kernel_tableand save it in the project. Then listaveraging_kernel(withtable:) andpressure_weightingundertransformsinconfig.yaml.