The automated Jenkinson & Collison classification for Python
jcclass is a Python library to derive automated atmospheric surface circulations based on Mean Sea Level Pressure data. The circulations are derived using the Jenkinson and Collison automated classification originally derived from the Lamb Weather types.
Example of the derived circulation types and isobars (hPa) during a given day
How does it work?
The method uses grid-point mean sea level pressure (MSLP) data to obtain numerical values of wind flow and vorticity which can be used to determine Cyclonic and Anticyclonic patterns as well as their dominant advective (direction of wind flow) characteristics. The 16 gridded points are moved along the region in reference to a central point where the dominant circulation type will be designated.
Moving central grid point and 16 gridded points of mean sea level pressure used to compute the circulation type
Computation
Westerly flow
\(W = \frac{1}{2}(P_12 + P_13) - \frac{1}{2}(P_4 + P5)\)
Southerly flow
\(S = sc[\frac{1}{4}(P_5 + 2P_9 + P_{13}) - \frac{1}{4}(P_4 + 2P_8 + P_{12})]\)
Resultant flow
\(F = \sqrt{S^2 + W^2}\)
Westerly shear vorticity
\(ZW = zwb[\frac{1}{2}(P_{15} + P_{16}) - \frac{1}{2}(P_8 + P_9)] - zsc[\frac{1}{2}(P_8 + P_9) - \frac{1}{2}(P_1 + P_2)]\)
Southerly shear vorticity
\(ZS = zwa[\frac{1}{4}(P_6 + 2P_{10} + P_{14}) - \frac{1}{4}(P_5 + 2P_9 + P_{13}) -\frac{1}{4}(P_4 + 2P_8 + P_{12}) + \frac{1}{4}(P_3 + 2P_7 + P_{11}]\)
Total shear vorticity
\(Z = ZW + ZS\)
The flow units are geostrophic, expressed as hPa per 10º latitude; each unit is equivalent to 1.2 knots (0.6 m/s). The geostrophic units are expressed as hPa per 10º latitude; 100 units are equivalent to \(0.55 x 10^{-4} = 0.46\) time the Coriolis parameter.
The latitude dependant constants account for the relative differences between the grid-point spacing in the east-west and north-south direction and are defined as follows (being :math: phi the latitude of the central point):
\(sc = \frac{1}{\cos{\phi}}\)
\(zwa = \frac{\sin{\phi}}{\sin{\phi - 5}}\)
\(zwb = \frac{\sin{}\phi}{\sin{\phi + 5}}\)
\(zsc = \frac{1}{2(\cos^2{\phi})}\)
The rules to define the appropiate Circulation Type (Lamb weather type) are:
The direction of flow is \(\tan^{-1}{(W/S)}\). Add 180º if \(W\) is positive. The appropiate direction is calculated on an eight-point compass allowing 45º per sector. Thus \(W\) occurs between 247.5º and 292.5º
If \(|Z| < F\), flow is essentially straight and corresponds to a Lamb pure directional type (NE, E, SE, S, etc).
If \(|Z| > 2F\), then the pattern is strongly cyclonic \((Z>0)\) or anticyclonic \((Z<0)\). This corresponds to a Lamb’s pure cyclonic and anticyclonic type (A or C).
If \(|Z|\) lies between \(F\) and \(2F\) (\(F < |Z| < 2F\)) then the flow is partly (anti)-cyclonic. The flow is considered a hybrid type and is therefore characterised by both direction and circulation (ANE, AE, ASE, …., AN and CNE, CE, CSE, …, CN)
If \(F < 6\) and \(|Z| < 6\), there is light indeterminate flow, corresponding to Lamb’s unclassified type, represented here as Low Flow type (LF).
Detailed method in Jones et al. (1993) and Otero et al. (2018).
The Circulation Types (CTs)
The application of the automated classification allows to derive 27 synoptic circulations. 26 of them based on the dominant pressure pattern and wind direction plus a Low Flow (LF). This last CT is characterised by days when pressure gradients are to weak and a dominant circulation or advective direction can not be assigned.
The names, abreviations and corresnding code for the CTs is as follows:
Name |
Abreviation |
Coding |
Name |
Abreviation |
Coding |
Name |
Abreviation |
Coding |
---|---|---|---|---|---|---|---|---|
Low Flow |
LF |
-1 |
– |
– |
– |
– |
– |
– |
Anticyclonic |
A |
0 |
– |
– |
– |
Cyclonic |
C |
20 |
Anticyclonic Northeasterly |
ANE |
1 |
Northeasterly |
NE |
11 |
Cyclonic Northeasterly |
CNE |
21 |
Anticyclonic Easterly |
AE |
2 |
Easterly |
E |
12 |
Cyclonic Easterly |
CE |
22 |
Anticyclonic Southeasterly |
ASE |
3 |
Southeasterly |
SE |
13 |
Cyclonic Southeasterly |
CSE |
23 |
Anticyclonic Southerly |
AS |
4 |
Southerly |
S |
14 |
Cyclonic Southerly |
CS |
24 |
Anticyclonic Southwesterly |
ASW |
5 |
Southwesterly |
SW |
15 |
Cyclonic Southwesterly |
CSW |
25 |
Anticyclonic Westerly |
AW |
6 |
Westerly |
W |
16 |
Cyclonic Westerly |
CW |
26 |
Anticyclonic Northwesterly |
ANW |
7 |
Northwesterly |
NW |
17 |
Cyclonic Northwesterly |
CNW |
27 |
Anticyclonic Northerly |
AN |
8 |
Northerly |
N |
18 |
Cyclonic Northerly |
CN |
28 |
The original 27 circulations can be reduced to a set of 11 patterns based on their dominant advection (wind direction), e.g., A previously AE, E and CE would merge into an Easterly (E). The names, abreviations and corresponding codes are as follows:
Name |
Abreviation |
Coding |
---|---|---|
Low Flow |
LF |
-1 |
Anticyclonic |
A |
0 |
Northeasterly |
NE |
1 |
Easterly |
E |
2 |
Southeasterly |
SE |
3 |
Southerly |
S |
4 |
Southwesterly |
SW |
5 |
Westerly |
W |
6 |
Northwesterly |
NW |
7 |
Northerly |
N |
8 |
Cyclonic |
C |
9 |
Working datasets
The current code has been tested and works for the following datasets:
The jcclass can be applied for any other netcdf files with latitude, longitude coordinates named as “lat”, “latitude”, “lon”, “longitude” and MSLP coordinate names as “msl” or “psl”.
Note
If the MSLP coordinate name is not know, the jcclass allows you to input the coordinate name when running the code
Check out the usage section for further information, including the installation procedure.
Note
This project is under active development.