Skip to main content

PyPI version

colindex2

A Python package for detecting and tracking atmospheric disturbances. It is primarily designed to capture upper-tropospheric systems, such as cutoff lows, and to define their intensity indices.

  • Snapshot-based: Capable of extracting features directly from snapshots.

  • Early-stage tracking: Seamlessly trace disturbances from their initial phase along with continuous feature parameter transitions.

  • Global and scale-selective: Extract disturbances within any size range, across all latitudes and vertical levels.

  • Mesh-agnostic: Independent of data mesh structures (since v2.11).

Reference

Install

pip install colindex2

Dependecies are...

numpy pandas polars scipy xarray matplotlib cartopy

Tutorial

Try quick tutorial

How to execute

Two different ways are available using python functions or command lines

Python functions: documents

Shell commands

Add -h to see documets.

    1. Generate data_settings.py
gen_data_settings
detect z.nc
    1. Run tracking
track

or, you can do doth if multiple timesteps are included in input, as follows:

detect z.nc -track
  • Find and make each tracking data
find_track ./d01 L 300 a

Directory structure of outputs

current_dir/
|
└── d01/  # default name
    |
    ├── AS/yyyymm  # 2D averaged slope function
    |       └── AS-{ty}-{yyyymmddhhTT}-{llll}.nc (or .grd)
    |
    ├── V/yyyymm   # point values after detection, will be used for tracking
    |       └── V-{ty}-{yyyymmddhhTT}-{llll}.csv
    |
    ├── Vt/yyyymm  # intermediate data (you can remove after all processes finished)
    |       └── V-{ty}-{yyyymmddhhTT}-{llll}.csv
    |
    ├── Vtc/yyyymm # final point values after tracking
    |       └── V-{ty}-{yyyymmddhhTT}-{llll}.csv
    |
    ├── T/  # all-in-one tracking data
    |       ├── T-{ty}-{yyyy}-{llll}.csv  # for long_term=True in Track()
    |       └── T-{ty}-{llll}.csv  # for long_term=False in Track() (default)
    |
    └── ID/  # continuous csv for a specific track whose id is `ID`
        └── {ty}-{l}-{yyyymm}-{ID}.csv

where, ty is L (cyclone) or H (anticyclone), yyyymmddhhTT is timestep, llll is level in 4 digits, and l is level.

Parameter list for Vct and T outputs

Names Description
time Time.
ty 0 for lows and troughs,
1 for highs and ridges.
lev Level of the input field.
lat, lon Central coorditates in latitude and longitude.
valV Value of input field on the center
valX Value of the nearest local minimum (maximum) of input field for a low (high).
lonX,latX Latitude and longitude of the nearest local extremum if any, otherwise this value will be 999.9
So Optimal slope [m/100 km]. Intensity of depresion (circular geostrophic wind speed).
ro Optimal radius [r km]. Size of depression (as a radius of its surrounding circulation).
Do Optimal depth [m]. Vertical depth of depression.
SBG Background slope [m/100 km].
SBGang Angle of Background slope vector [radian]. 0 for east.
m, n Zonal, meridional components of SBG, respectivelly [m/100 km].
SR Slope ratio. Less (more) than 1.34 tends to correspond to a closed-contour (open-contour) system. See K21 for detail discussions.
ex Distinction between closed and open systems.
1 (there is a extremum within ro*0.65) for lows/highs
0 for troughs/ridges. cf. ex2 below.
EE Eccentricity (1 for pure isotropic, smaller values for oval shape).
EEang Angle of the long axis from east [radian].
XX Zonal discrete laplacian with a step of ro [m/(100 km)**2]. Small value means the feature has weak zonal concavity. 0.5 might be a good value to exclude sub-tropical large ridges.
ID Identification number. It is assigned after tracking. ID will be initialized in every new year's day when long_term=True in Track()
MERGE Merge lysis flag.
0 for being tracked successfully,
-1 for soritary lysis,
-2 for being merged from someone,
-3 for lysis at the end of analysis,
-4 for being involved in the secondary process (see Fig. S2 in KH25),
other int for the object ID of its merge lysis.
SPLIT Split genesis flag.
0 for being tracked successfully,
-1 for soritary genesis,
-2 for being splitting and producing someone,
-3 for genesis at the start of analysis,
-4 for being involved in the secondary process (see Fig. S2 in KH25),
other int for the object ID of its split genesis.
DIST Moving distance in a timestep [km]. Central difference. When merge/split/genesis/lysis, value will be missing.
SPEED Moving speed [m/s]. DIST/timestep.
DIR Moving direction [radian]. 0 for east.
_ DC Accumulated duration [timestep] including before split.
DU Duration [hour].
XS Sequential duration being ex=1 (lows/highs). cf. XSSR below.
QS Quasi-stational (QS) duration [hour]. The conditions for QS are controlled by the options in Track() as follows:
- QS_min_intensity
- QS_min_radius
- QS_min_overlap_ratio
TOTDIST Accumulated moving distance [km].
MAX 1 for the maximum development timestep (maximum So).
MAXSo So when MAX.
exGEN Closed system genesys (ex changed from 0 to 1 in this timestep).
exLYS Closed system lysis (ex changed from 1 to 0 in the next timestep).
ex2 Distinction between "sequential" closed and open systems for more than 36 hour (Munoz et al. 2020), i.e., XS >= 36 hour.
1 ("sequential" closed system)
0 (others)
XSSR Sequential duration being SR<1.34 (theoretical local extrema condition without 8-stencil comparison like ex).
exSR As with ex2, but it matches XSSR >= 36 hour rather than XS.
1 ("theoretical" and "sequential" closed system)
0 (others)

Metadata

Release files for colindex2 2.12.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for colindex2 2.12.3
File Size Uploaded
colindex2-2.12.3.tar.gz 43.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for colindex2 2.12.3
File Interpreter ABI Platform
colindex2-2.12.3-py3-none-any.whl Python 3 none any Details

Total release size: 85.9 kB

Release files / colindex2-2.12.3.tar.gz

Download URL colindex2-2.12.3.tar.gz
Size 43.4 kB
Tags Source
SHA-256 checksum
How to use checksums
2d6ea57230649379ba2ad9aa7d240f920ef4009886c5d4fff4a8386756b86cd9
BLAKE2b-256 checksum
How to use checksums
a9e4a46217972b513dab42d0a751eb9f395d22c239272202d577677304e1e24a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / colindex2-2.12.3-py3-none-any.whl

Download URL colindex2-2.12.3-py3-none-any.whl
Size 42.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3023e1a5970e8767fe215c62a8c28e5daf7deae2acec4cd481baad7f7d9bd854
BLAKE2b-256 checksum
How to use checksums
283186e3c0671f9035d57cfd13e4003a72a033685924770bd3f1a8f70818bd4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

2.12.4

2 release files

This release

2.12.3 This release

2 release files

2.12.2

2 release files

2.12.1

2 release files

2.11.4

2 release files

2.11.3

2 release files

2.11.2

2 release files

2.11.0

2 release files

2.10.5

2 release files

2.10.3

2 release files

2.10.2

2 release files

2.10.1

2 release files

2.9.3

2 release files

2.9.2

2 release files

2.9.1

2 release files

2.9.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page