fm35-decoder 1.0__tar.gz → 1.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fm35_decoder-1.0 → fm35_decoder-1.2}/.gitignore +4 -1
- {fm35_decoder-1.0 → fm35_decoder-1.2}/PKG-INFO +54 -31
- {fm35_decoder-1.0 → fm35_decoder-1.2}/README.md +53 -30
- {fm35_decoder-1.0 → fm35_decoder-1.2}/pyproject.toml +1 -1
- fm35_decoder-1.2/src/fm35_decoder/__init__.py +3 -0
- {fm35_decoder-1.0 → fm35_decoder-1.2}/src/fm35_decoder/decoder.py +352 -140
- fm35_decoder-1.2/src/fm35_decoder/table_codes/CL_0513.csv +12 -0
- fm35_decoder-1.2/src/fm35_decoder/table_codes/Nh_2700.csv +12 -0
- fm35_decoder-1.2/src/fm35_decoder/table_codes/Sr_3849.csv +10 -0
- fm35_decoder-1.2/src/fm35_decoder/table_codes/h_1600.csv +12 -0
- {fm35_decoder-1.0 → fm35_decoder-1.2}/src/fm35_decoder/table_codes/rara_3685.csv +47 -103
- fm35_decoder-1.2/src/fm35_decoder/table_codes/sasa_3872.csv +102 -0
- fm35_decoder-1.2/src/fm35_decoder/tables.py +383 -0
- fm35_decoder-1.0/src/fm35_decoder/__init__.py +0 -3
- fm35_decoder-1.0/src/fm35_decoder/table_codes/CL_0513.csv +0 -12
- fm35_decoder-1.0/src/fm35_decoder/table_codes/Nh_2700.csv +0 -12
- fm35_decoder-1.0/src/fm35_decoder/table_codes/Sr_3849.csv +0 -10
- fm35_decoder-1.0/src/fm35_decoder/table_codes/h_1600.csv +0 -12
- fm35_decoder-1.0/src/fm35_decoder/table_codes/sasa_3872.csv +0 -27
- fm35_decoder-1.0/src/fm35_decoder/tables.py +0 -291
- {fm35_decoder-1.0 → fm35_decoder-1.2}/LICENSE +0 -0
- {fm35_decoder-1.0 → fm35_decoder-1.2}/src/fm35_decoder/table_codes/CH_0509.csv +0 -0
- {fm35_decoder-1.0 → fm35_decoder-1.2}/src/fm35_decoder/table_codes/CM_0515.csv +0 -0
- {fm35_decoder-1.0 → fm35_decoder-1.2}/src/fm35_decoder/table_codes/D_0777.csv +0 -0
- {fm35_decoder-1.0 → fm35_decoder-1.2}/src/fm35_decoder/table_codes/T_3931.csv +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: fm35_decoder
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2
|
|
4
4
|
Summary: A Python tool to decode standard FM35 TEMP weather messages from upper-air observations.
|
|
5
5
|
Project-URL: Homepage, https://github.com/luciodaou/fm35_decoder
|
|
6
6
|
Project-URL: Bug Tracker, https://github.com/luciodaou/fm35_decoder/issues
|
|
@@ -55,11 +55,14 @@ ttdd = "TTDD 7312/ 83779 11906 77162 22585 70370 33542 70970 44445 63978 55283 5
|
|
|
55
55
|
df_main, df_special = decode(ttaa, ttbb, ttcc, ttdd)
|
|
56
56
|
|
|
57
57
|
# df_main: Clean vertical sounding profile (Pressure, Height, Temp, DewPoint, WindDir, WindSpeed)
|
|
58
|
-
# df_special: Metadata, Tropopause, Maximum Wind, and Cloud groups
|
|
58
|
+
# df_special: Metadata, Tropopause, Maximum Wind, and Cloud groups, with the part each came from
|
|
59
59
|
print(df_main)
|
|
60
60
|
print(df_special)
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
+
Any argument may also hold a whole bulletin with several parts: `decode(bulletin)` splits it and
|
|
64
|
+
decodes each part once (`split_bulletin` and `route_parts` do the splitting on their own).
|
|
65
|
+
|
|
63
66
|
---
|
|
64
67
|
|
|
65
68
|
## Handling Non-Standard and Extreme Meteorological Data
|
|
@@ -72,6 +75,24 @@ Real-world atmospheric soundings and teletype GTS transmissions frequently conta
|
|
|
72
75
|
In WMO FM 35, when the units digit of wind direction is $5^\circ$ (e.g., $275^\circ$), $500$ is added to the reported wind speed ($fff$) across both standard levels and maximum wind groups ($77P_mP_mP_m$). The decoder accurately separates the $5^\circ$ direction component from the true wind speed, avoiding the common $500\text{ kt}$ speed inflation bug.
|
|
73
76
|
- **Calm Wind ($0^\circ, 0\text{ kt}$)**:
|
|
74
77
|
Calm wind is represented as `WindDir = 0.0, WindSpeed = 0.0`. True non-calm winds blowing from North are assigned `360.0°`.
|
|
78
|
+
- **Wind Groups Follow $I_d$**:
|
|
79
|
+
The header's $I_d$ (Code Table 1734) names the last standard level that carries a wind group ($2$ covers $250$ and $200\text{ hPa}$, $1$ covers $150$ and $100\text{ hPa}$; tens of hPa in Part C). Levels above it are read as `PPhhh TTTDD` only, so the next group is never taken for their wind; with $I_d$ = `/` only the surface has a wind group.
|
|
80
|
+
- **Temperatures That Look Like Indicators**:
|
|
81
|
+
$-66.x$ and $-77.x\,^\circ\text{C}$ (common at $150$ and $100\text{ hPa}$ in the tropics) are coded `66xxx` and `77xxx`, like the maximum wind indicators, and `21212` ($21.2\,^\circ\text{C}$) or `31313` ($-31.3\,^\circ\text{C}$) look like section markers. The group after `PPhhh` is read as the temperature by its position; only groups that cannot be a temperature and depression (`88999`, `77999`, `66999`, `41414`, `52525`, `54545`, `55555`, `56565`, `58585`) end a level early.
|
|
82
|
+
- **Maximum Wind Shear**:
|
|
83
|
+
The cloud section (`41414`) belongs to Part B, so in Parts A and C a `41414` after a maximum wind is the shear group ($14\text{ kt}$ below and above).
|
|
84
|
+
- **Wind Speed Units**:
|
|
85
|
+
`YY` is the day plus $50$ when speeds are in knots and the day itself when they are in m/s. m/s speeds are converted to knots in `df_main`; `df_special` keeps the reported value and unit (`240/23m/s`).
|
|
86
|
+
- **Regional and National Sections**:
|
|
87
|
+
`51515`–`59595` and `61616`–`69696` come last in a part; the groups after them are never read as levels (`55555` stays a significant level in Parts B and D, `66666` a maximum wind at $666\text{ hPa}$).
|
|
88
|
+
- **Part B Without Part A**:
|
|
89
|
+
A `TTBB` decodes on its own: the profile has no heights, which only Parts A and C report. A message with fewer than two temperatures (only the surface) raises `ValueError`.
|
|
90
|
+
- **Part C Special Levels in Tenths of hPa**:
|
|
91
|
+
In `TTCC`, `88PtPtPt` and `77PmPmPm` give the pressure in tenths of a hectopascal (`88906` is $90.6\text{ hPa}$).
|
|
92
|
+
- **Pressures Keep Their Tenths**:
|
|
93
|
+
Part D levels are reported in tenths of a hectopascal, and `df_main` keeps them (`70.7` and `70.0 hPa` stay two levels). Round for display in your own code.
|
|
94
|
+
- **Repeated Sections**:
|
|
95
|
+
The `31313` and cloud sections repeat in every part and are listed once. Tropopause and maximum wind entries are all kept: a sounding may report two tropopauses (one in Part A, one in Part C). The `Part` column of `df_special` tells them apart.
|
|
75
96
|
- **GTS Transmission Sequence Breaks**:
|
|
76
97
|
If network or teletype line noise drops an intermediate significant level in `TTBB` or `TTDD` (e.g., group sequence jumps directly from `22` to `44`), the decoder recovers automatically rather than terminating or discarding the remainder of the sounding.
|
|
77
98
|
- **Negative Geopotential Heights ($1000\text{ hPa}$ below sea level)**:
|
|
@@ -86,14 +107,16 @@ Real-world atmospheric soundings and teletype GTS transmissions frequently conta
|
|
|
86
107
|
## Meteorological Methodology
|
|
87
108
|
|
|
88
109
|
### Vertical Interpolation
|
|
89
|
-
- **Temperature & Dewpoint**: Missing intermediate levels are filled via linear interpolation with respect to the **natural logarithm of pressure** ($\ln P$). This aligns with atmospheric thermodynamics on Skew-T / Log-P diagrams where temperature varies approximately linearly with $\ln P$.
|
|
90
|
-
- **Wind Vectors**: Wind speed and direction are decomposed into orthogonal **$U$ (zonal)** and **$V$ (meridional)** vector components. Each component is interpolated independently in $\ln P$ space before being recombined, preventing boundary artifacts across the $0^\circ/360^\circ$ North transition.
|
|
110
|
+
- **Temperature & Dewpoint**: Missing intermediate levels are filled via linear interpolation with respect to the **natural logarithm of pressure** ($\ln P$), only between two observed levels: nothing is extrapolated above the last observation or below the first (a top level reported as `/////` stays empty). This aligns with atmospheric thermodynamics on Skew-T / Log-P diagrams where temperature varies approximately linearly with $\ln P$.
|
|
111
|
+
- **Wind Vectors**: Wind speed and direction are decomposed into orthogonal **$U$ (zonal)** and **$V$ (meridional)** vector components. Each component is interpolated independently in $\ln P$ space (again only between observed winds) before being recombined, preventing boundary artifacts across the $0^\circ/360^\circ$ North transition. A variable wind keeps its speed and no direction.
|
|
91
112
|
|
|
92
113
|
### Hypsometric Geopotential Calculation
|
|
93
114
|
Missing geopotential heights are computed using the Hypsometric Equation:
|
|
94
115
|
$$Z_2 - Z_1 = \frac{R_d \cdot \bar{T}_v}{g_0} \ln\left(\frac{P_1}{P_2}\right)$$
|
|
95
116
|
The decoder incorporates **virtual temperature ($T_v$)** when moisture data is available, accounting for air density variations in warm and humid tropical boundary layers.
|
|
96
117
|
|
|
118
|
+
A level without a temperature takes one for this calculation only: interpolated in $\ln P$ between observed temperatures, and the top temperature above the last one. Above the last temperature a height is computed only within the limits of Regulation 35.2.2.4 (25 hPa, and a quarter of the level's pressure); further up a level keeps no height unless the report gives it. Under the same rule, a standard level just above the top of the sounding that the report does not hold is added with its geopotential only (`Source` = `Extrapolated`).
|
|
119
|
+
|
|
97
120
|
---
|
|
98
121
|
|
|
99
122
|
## Performance & Architecture
|
|
@@ -108,38 +131,38 @@ The decoder incorporates **virtual temperature ($T_v$)** when moisture data is a
|
|
|
108
131
|
### `df_main` (Vertical Profile)
|
|
109
132
|
```
|
|
110
133
|
Pressure Height Temp DewPoint WindDir WindSpeed
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
134
|
+
1000.0 163 20.4 18.0 10.0 8.0
|
|
135
|
+
938.0 714 21.2 18.8 10.0 8.0
|
|
136
|
+
925.0 843 20.0 18.1 75.0 6.0
|
|
137
|
+
882.0 1249 16.8 16.4 23.0 8.5
|
|
138
|
+
870.0 1366 19.8 13.8 15.0 10.0
|
|
139
|
+
850.0 1570 18.6 13.6 360.0 8.0
|
|
117
140
|
... ... ... ... ... ...
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
141
|
+
30.0 23800 -58.3 -91.3 85.0 35.0
|
|
142
|
+
20.0 26480 -55.2 -89.0 90.0 38.0
|
|
143
|
+
10.0 31020 -44.1 NaN 95.0 42.0
|
|
121
144
|
```
|
|
122
145
|
|
|
123
146
|
### `df_special` (Metadata & Special Levels)
|
|
124
147
|
```
|
|
125
|
-
Symbol Subject Description Value
|
|
126
|
-
h Cloud Base Height 600-1000m (2000-3300ft)
|
|
127
|
-
Nh Cloud Amount 8 oktas
|
|
128
|
-
CL Cloud Low Type Stratus nebulosus and/or Stratus fractus
|
|
129
|
-
CM Cloud Mid Type No CM clouds
|
|
130
|
-
CH Cloud High Type No CH clouds
|
|
131
|
-
sr Solar/Inst Solar Corr
|
|
132
|
-
rara Solar/Inst Sonde Type Vaisala RS41/DigiCORA MW41 (Finland)
|
|
133
|
-
sasa Solar/Inst Tracking
|
|
134
|
-
8GGgg Solar/Inst Time 11:31
|
|
135
|
-
PtPtPt Tropopause Pressure
|
|
136
|
-
TtTtTt Tropopause Temperature -77.1C
|
|
137
|
-
DtDt Tropopause Dewpoint -89.1C
|
|
138
|
-
dtdtftft Tropopause Wind 260/18kt
|
|
139
|
-
PmPmPm Max Wind Pressure 200hPa
|
|
140
|
-
dmdmfmfmfm Max Wind Wind 275/120kt
|
|
141
|
-
vbvb Max Wind Shear Below 14kt
|
|
142
|
-
vava Max Wind Shear Above 14kt
|
|
148
|
+
Symbol Subject Description Value Part
|
|
149
|
+
h Cloud Base Height 600-1000m (2000-3300ft) TTBB
|
|
150
|
+
Nh Cloud Amount 8 oktas TTBB
|
|
151
|
+
CL Cloud Low Type Stratus nebulosus and/or Stratus fractus TTBB
|
|
152
|
+
CM Cloud Mid Type No CM clouds TTBB
|
|
153
|
+
CH Cloud High Type No CH clouds TTBB
|
|
154
|
+
sr Solar/Inst Solar Corr Solar and infrared corrected automatically by radiosonde system TTAA
|
|
155
|
+
rara Solar/Inst Sonde Type Vaisala RS41/DigiCORA MW41 (Finland) TTAA
|
|
156
|
+
sasa Solar/Inst Tracking Automatic satellite navigation TTAA
|
|
157
|
+
8GGgg Solar/Inst Time 11:31 TTAA
|
|
158
|
+
PtPtPt Tropopause Pressure 90.6hPa TTCC
|
|
159
|
+
TtTtTt Tropopause Temperature -77.1C TTCC
|
|
160
|
+
DtDt Tropopause Dewpoint -89.1C TTCC
|
|
161
|
+
dtdtftft Tropopause Wind 260/18kt TTCC
|
|
162
|
+
PmPmPm Max Wind Pressure 200hPa TTAA
|
|
163
|
+
dmdmfmfmfm Max Wind Wind 275/120kt TTAA
|
|
164
|
+
vbvb Max Wind Shear Below 14kt TTAA
|
|
165
|
+
vava Max Wind Shear Above 14kt TTAA
|
|
143
166
|
```
|
|
144
167
|
|
|
145
168
|
---
|
|
@@ -37,11 +37,14 @@ ttdd = "TTDD 7312/ 83779 11906 77162 22585 70370 33542 70970 44445 63978 55283 5
|
|
|
37
37
|
df_main, df_special = decode(ttaa, ttbb, ttcc, ttdd)
|
|
38
38
|
|
|
39
39
|
# df_main: Clean vertical sounding profile (Pressure, Height, Temp, DewPoint, WindDir, WindSpeed)
|
|
40
|
-
# df_special: Metadata, Tropopause, Maximum Wind, and Cloud groups
|
|
40
|
+
# df_special: Metadata, Tropopause, Maximum Wind, and Cloud groups, with the part each came from
|
|
41
41
|
print(df_main)
|
|
42
42
|
print(df_special)
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
+
Any argument may also hold a whole bulletin with several parts: `decode(bulletin)` splits it and
|
|
46
|
+
decodes each part once (`split_bulletin` and `route_parts` do the splitting on their own).
|
|
47
|
+
|
|
45
48
|
---
|
|
46
49
|
|
|
47
50
|
## Handling Non-Standard and Extreme Meteorological Data
|
|
@@ -54,6 +57,24 @@ Real-world atmospheric soundings and teletype GTS transmissions frequently conta
|
|
|
54
57
|
In WMO FM 35, when the units digit of wind direction is $5^\circ$ (e.g., $275^\circ$), $500$ is added to the reported wind speed ($fff$) across both standard levels and maximum wind groups ($77P_mP_mP_m$). The decoder accurately separates the $5^\circ$ direction component from the true wind speed, avoiding the common $500\text{ kt}$ speed inflation bug.
|
|
55
58
|
- **Calm Wind ($0^\circ, 0\text{ kt}$)**:
|
|
56
59
|
Calm wind is represented as `WindDir = 0.0, WindSpeed = 0.0`. True non-calm winds blowing from North are assigned `360.0°`.
|
|
60
|
+
- **Wind Groups Follow $I_d$**:
|
|
61
|
+
The header's $I_d$ (Code Table 1734) names the last standard level that carries a wind group ($2$ covers $250$ and $200\text{ hPa}$, $1$ covers $150$ and $100\text{ hPa}$; tens of hPa in Part C). Levels above it are read as `PPhhh TTTDD` only, so the next group is never taken for their wind; with $I_d$ = `/` only the surface has a wind group.
|
|
62
|
+
- **Temperatures That Look Like Indicators**:
|
|
63
|
+
$-66.x$ and $-77.x\,^\circ\text{C}$ (common at $150$ and $100\text{ hPa}$ in the tropics) are coded `66xxx` and `77xxx`, like the maximum wind indicators, and `21212` ($21.2\,^\circ\text{C}$) or `31313` ($-31.3\,^\circ\text{C}$) look like section markers. The group after `PPhhh` is read as the temperature by its position; only groups that cannot be a temperature and depression (`88999`, `77999`, `66999`, `41414`, `52525`, `54545`, `55555`, `56565`, `58585`) end a level early.
|
|
64
|
+
- **Maximum Wind Shear**:
|
|
65
|
+
The cloud section (`41414`) belongs to Part B, so in Parts A and C a `41414` after a maximum wind is the shear group ($14\text{ kt}$ below and above).
|
|
66
|
+
- **Wind Speed Units**:
|
|
67
|
+
`YY` is the day plus $50$ when speeds are in knots and the day itself when they are in m/s. m/s speeds are converted to knots in `df_main`; `df_special` keeps the reported value and unit (`240/23m/s`).
|
|
68
|
+
- **Regional and National Sections**:
|
|
69
|
+
`51515`–`59595` and `61616`–`69696` come last in a part; the groups after them are never read as levels (`55555` stays a significant level in Parts B and D, `66666` a maximum wind at $666\text{ hPa}$).
|
|
70
|
+
- **Part B Without Part A**:
|
|
71
|
+
A `TTBB` decodes on its own: the profile has no heights, which only Parts A and C report. A message with fewer than two temperatures (only the surface) raises `ValueError`.
|
|
72
|
+
- **Part C Special Levels in Tenths of hPa**:
|
|
73
|
+
In `TTCC`, `88PtPtPt` and `77PmPmPm` give the pressure in tenths of a hectopascal (`88906` is $90.6\text{ hPa}$).
|
|
74
|
+
- **Pressures Keep Their Tenths**:
|
|
75
|
+
Part D levels are reported in tenths of a hectopascal, and `df_main` keeps them (`70.7` and `70.0 hPa` stay two levels). Round for display in your own code.
|
|
76
|
+
- **Repeated Sections**:
|
|
77
|
+
The `31313` and cloud sections repeat in every part and are listed once. Tropopause and maximum wind entries are all kept: a sounding may report two tropopauses (one in Part A, one in Part C). The `Part` column of `df_special` tells them apart.
|
|
57
78
|
- **GTS Transmission Sequence Breaks**:
|
|
58
79
|
If network or teletype line noise drops an intermediate significant level in `TTBB` or `TTDD` (e.g., group sequence jumps directly from `22` to `44`), the decoder recovers automatically rather than terminating or discarding the remainder of the sounding.
|
|
59
80
|
- **Negative Geopotential Heights ($1000\text{ hPa}$ below sea level)**:
|
|
@@ -68,14 +89,16 @@ Real-world atmospheric soundings and teletype GTS transmissions frequently conta
|
|
|
68
89
|
## Meteorological Methodology
|
|
69
90
|
|
|
70
91
|
### Vertical Interpolation
|
|
71
|
-
- **Temperature & Dewpoint**: Missing intermediate levels are filled via linear interpolation with respect to the **natural logarithm of pressure** ($\ln P$). This aligns with atmospheric thermodynamics on Skew-T / Log-P diagrams where temperature varies approximately linearly with $\ln P$.
|
|
72
|
-
- **Wind Vectors**: Wind speed and direction are decomposed into orthogonal **$U$ (zonal)** and **$V$ (meridional)** vector components. Each component is interpolated independently in $\ln P$ space before being recombined, preventing boundary artifacts across the $0^\circ/360^\circ$ North transition.
|
|
92
|
+
- **Temperature & Dewpoint**: Missing intermediate levels are filled via linear interpolation with respect to the **natural logarithm of pressure** ($\ln P$), only between two observed levels: nothing is extrapolated above the last observation or below the first (a top level reported as `/////` stays empty). This aligns with atmospheric thermodynamics on Skew-T / Log-P diagrams where temperature varies approximately linearly with $\ln P$.
|
|
93
|
+
- **Wind Vectors**: Wind speed and direction are decomposed into orthogonal **$U$ (zonal)** and **$V$ (meridional)** vector components. Each component is interpolated independently in $\ln P$ space (again only between observed winds) before being recombined, preventing boundary artifacts across the $0^\circ/360^\circ$ North transition. A variable wind keeps its speed and no direction.
|
|
73
94
|
|
|
74
95
|
### Hypsometric Geopotential Calculation
|
|
75
96
|
Missing geopotential heights are computed using the Hypsometric Equation:
|
|
76
97
|
$$Z_2 - Z_1 = \frac{R_d \cdot \bar{T}_v}{g_0} \ln\left(\frac{P_1}{P_2}\right)$$
|
|
77
98
|
The decoder incorporates **virtual temperature ($T_v$)** when moisture data is available, accounting for air density variations in warm and humid tropical boundary layers.
|
|
78
99
|
|
|
100
|
+
A level without a temperature takes one for this calculation only: interpolated in $\ln P$ between observed temperatures, and the top temperature above the last one. Above the last temperature a height is computed only within the limits of Regulation 35.2.2.4 (25 hPa, and a quarter of the level's pressure); further up a level keeps no height unless the report gives it. Under the same rule, a standard level just above the top of the sounding that the report does not hold is added with its geopotential only (`Source` = `Extrapolated`).
|
|
101
|
+
|
|
79
102
|
---
|
|
80
103
|
|
|
81
104
|
## Performance & Architecture
|
|
@@ -90,38 +113,38 @@ The decoder incorporates **virtual temperature ($T_v$)** when moisture data is a
|
|
|
90
113
|
### `df_main` (Vertical Profile)
|
|
91
114
|
```
|
|
92
115
|
Pressure Height Temp DewPoint WindDir WindSpeed
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
116
|
+
1000.0 163 20.4 18.0 10.0 8.0
|
|
117
|
+
938.0 714 21.2 18.8 10.0 8.0
|
|
118
|
+
925.0 843 20.0 18.1 75.0 6.0
|
|
119
|
+
882.0 1249 16.8 16.4 23.0 8.5
|
|
120
|
+
870.0 1366 19.8 13.8 15.0 10.0
|
|
121
|
+
850.0 1570 18.6 13.6 360.0 8.0
|
|
99
122
|
... ... ... ... ... ...
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
123
|
+
30.0 23800 -58.3 -91.3 85.0 35.0
|
|
124
|
+
20.0 26480 -55.2 -89.0 90.0 38.0
|
|
125
|
+
10.0 31020 -44.1 NaN 95.0 42.0
|
|
103
126
|
```
|
|
104
127
|
|
|
105
128
|
### `df_special` (Metadata & Special Levels)
|
|
106
129
|
```
|
|
107
|
-
Symbol Subject Description Value
|
|
108
|
-
h Cloud Base Height 600-1000m (2000-3300ft)
|
|
109
|
-
Nh Cloud Amount 8 oktas
|
|
110
|
-
CL Cloud Low Type Stratus nebulosus and/or Stratus fractus
|
|
111
|
-
CM Cloud Mid Type No CM clouds
|
|
112
|
-
CH Cloud High Type No CH clouds
|
|
113
|
-
sr Solar/Inst Solar Corr
|
|
114
|
-
rara Solar/Inst Sonde Type Vaisala RS41/DigiCORA MW41 (Finland)
|
|
115
|
-
sasa Solar/Inst Tracking
|
|
116
|
-
8GGgg Solar/Inst Time 11:31
|
|
117
|
-
PtPtPt Tropopause Pressure
|
|
118
|
-
TtTtTt Tropopause Temperature -77.1C
|
|
119
|
-
DtDt Tropopause Dewpoint -89.1C
|
|
120
|
-
dtdtftft Tropopause Wind 260/18kt
|
|
121
|
-
PmPmPm Max Wind Pressure 200hPa
|
|
122
|
-
dmdmfmfmfm Max Wind Wind 275/120kt
|
|
123
|
-
vbvb Max Wind Shear Below 14kt
|
|
124
|
-
vava Max Wind Shear Above 14kt
|
|
130
|
+
Symbol Subject Description Value Part
|
|
131
|
+
h Cloud Base Height 600-1000m (2000-3300ft) TTBB
|
|
132
|
+
Nh Cloud Amount 8 oktas TTBB
|
|
133
|
+
CL Cloud Low Type Stratus nebulosus and/or Stratus fractus TTBB
|
|
134
|
+
CM Cloud Mid Type No CM clouds TTBB
|
|
135
|
+
CH Cloud High Type No CH clouds TTBB
|
|
136
|
+
sr Solar/Inst Solar Corr Solar and infrared corrected automatically by radiosonde system TTAA
|
|
137
|
+
rara Solar/Inst Sonde Type Vaisala RS41/DigiCORA MW41 (Finland) TTAA
|
|
138
|
+
sasa Solar/Inst Tracking Automatic satellite navigation TTAA
|
|
139
|
+
8GGgg Solar/Inst Time 11:31 TTAA
|
|
140
|
+
PtPtPt Tropopause Pressure 90.6hPa TTCC
|
|
141
|
+
TtTtTt Tropopause Temperature -77.1C TTCC
|
|
142
|
+
DtDt Tropopause Dewpoint -89.1C TTCC
|
|
143
|
+
dtdtftft Tropopause Wind 260/18kt TTCC
|
|
144
|
+
PmPmPm Max Wind Pressure 200hPa TTAA
|
|
145
|
+
dmdmfmfmfm Max Wind Wind 275/120kt TTAA
|
|
146
|
+
vbvb Max Wind Shear Below 14kt TTAA
|
|
147
|
+
vava Max Wind Shear Above 14kt TTAA
|
|
125
148
|
```
|
|
126
149
|
|
|
127
150
|
---
|