Commit graph

439 commits

Author SHA1 Message Date
8e359850f7 Use units.py in hodograph.py 2025-03-17 22:14:46 -04:00
35c8ee27b1 Initial commit of units.py 2025-03-17 22:09:01 -04:00
060d48e0cc Fix longitude adjustment 2025-03-16 16:48:17 -04:00
4a7cac0c0b Slight bounds tweak for SPC outlook date parsing 2025-03-16 12:53:06 -04:00
dc3e915c19 Store probabilities as floats 2025-03-16 01:45:55 -04:00
12442ad084 Ugly hack on polygon discontinuity 2025-03-16 01:15:55 -04:00
de2e3aed9b Ensure polygons have at least three points 2025-03-16 01:15:35 -04:00
671caf01bd Handle longitudes <-99.99 in SPC outlook areas 2025-03-16 00:34:45 -04:00
90993e08d1 Use 99999999 as polygon delimiter 2025-03-16 00:15:40 -04:00
547545a665 Fix bugs, make SPC database bindings work 2025-03-15 23:04:11 -04:00
5b09570b70 Rework spc.py 2025-03-15 22:24:41 -04:00
b884d060b8 Sort parser out a bit more 2025-03-15 18:07:08 -04:00
c0221f30f0 Initial terrible commit of SPC text area parsing 2025-03-15 17:24:10 -04:00
94c28ec374 Fix Python linter issues 2025-03-15 09:50:00 -04:00
adf97b1cd2 Start reference moist adiabat at average of environment and virtual temp 2025-03-15 01:54:09 -04:00
71fcc14c02 Whitespace alignment 2025-03-15 01:52:37 -04:00
fcc6d70678 Fix LFC calculation 2025-03-15 01:41:48 -04:00
19c8990374 This is workable 2025-03-15 01:41:02 -04:00
64fe879d40 Fix LCL, LFC (I think) 2025-03-15 01:32:57 -04:00
4538b3bc84 Fix comparing pairs 2025-03-15 01:32:32 -04:00
0bba56ac30 Hacky, but things just about work 2025-03-15 01:02:47 -04:00
8e483e1325 Calculations are getting there 2025-03-15 00:59:28 -04:00
56d15ef499 reorder 2025-03-15 00:47:01 -04:00
cd679d3fc6 Add option to draw virtual temperature 2025-03-15 00:45:22 -04:00
bba0d9a10e Implement Sounding.follow_virtual_temp() 2025-03-15 00:21:15 -04:00
902ef97302 Implement Series.append() to add onto a Series 2025-03-14 22:46:59 -04:00
73f812a64f That reads slightly better 2025-03-14 22:46:48 -04:00
520d4def79 Make follow_saturated_mixing_ratio() return Series 2025-03-14 22:03:51 -04:00
45e616b39f Use virtual temperature to fix CAPE calculation 2025-03-14 21:10:39 -04:00
cd6bb30167 Implement Series.nearest()
Implement Series.nearest() to allow finding value by nearest key in a
Series object
2025-03-14 20:54:01 -04:00
a186f629d8 Implement virtual_temp() 2025-03-14 19:29:48 -04:00
42b98a8f0c Rename SoundingParameters to SoundingParams 2025-03-14 17:31:10 -04:00
629bee25d9 Move sounding parameters drawing to draw_params() 2025-03-14 17:26:31 -04:00
85ccede7f0 Implement draw_special_isobar()
Implement draw_special_isobar() to draw an orange dashed isobar
2025-03-14 17:18:30 -04:00
5bf5f66180 Implement SkewTOptions class
Implement SkewTOptions class to allow specifying exact items to be
rendered on a Skew-T chart
2025-03-14 17:00:58 -04:00
77fe922d90 Allow choosing chart skew at runtime 2025-03-14 13:09:44 -04:00
933d11ebc7 Implement SeriesIntersection.inverse()
Implement SeriesIntersection.inverse() to return the inverse of the
current intersection type
2025-03-14 11:00:37 -04:00
00828ce417 Vertical whitespace for readability 2025-03-14 10:33:17 -04:00
1f0842fc2a Fix CAPE calculation 2025-03-13 16:31:41 -04:00
f2c28d75e4 Implement follow_dewpoint() 2025-03-13 14:12:13 -04:00
6b94de7784 Remove another unused import 2025-03-13 14:12:06 -04:00
a5758646da Whitespace alignment 2025-03-13 14:11:44 -04:00
aa12ac2381 Split out draw_isobar() 2025-03-13 14:11:34 -04:00
eda84fa990 Implement SkewT.draw_series()
Implement SkewT.draw_series() to plot a Series object
2025-03-13 11:46:48 -04:00
7cc3d2cb42 Remove unnecessary import 2025-03-13 11:46:25 -04:00
ce93b5e7b1 Use a constant factor 2025-03-13 00:48:10 -04:00
8ee17da826 Align constants along decimal point 2025-03-13 00:45:06 -04:00
83e8b1a7c1 Hack: Apply magic numbers to match other charts 2025-03-13 00:32:54 -04:00
0303060343 Remove unused declaration 2025-03-12 23:12:51 -04:00
69f6218f32 Hack: Multiply lapse rate by magic factor of 1.08 2025-03-12 22:53:18 -04:00