Commit graph

40 commits

Author SHA1 Message Date
2724e7e28f Use 0.6 skew 2025-03-09 21:58:00 -04:00
52a5dceddf Begin moist, dry adiabats at 1000mb 2025-03-09 20:25:02 -04:00
9337ba3eb0 Add 0.7 skew factor to look more like other charts 2025-03-09 20:13:00 -04:00
3087fc1c9e Do not render intermediate isobars 2025-03-09 19:50:46 -04:00
5b33653dcf Move cmp() to SeriesIntersection 2025-03-09 13:16:25 -04:00
53ea99803e Move parameter derivation to sounding.py 2025-03-08 12:03:07 -05:00
5894fb5d68 Initial implementation of derived LCL and LFC params 2025-03-07 20:46:13 -05:00
e18ca9be1f Remove useless cairo.stroke() after show_text() 2025-03-06 09:18:04 -05:00
ac2e17e61f Remove implicit dewpoint argument 2025-03-05 16:30:19 -05:00
c0ed20cce5 Reimplement draw_adiabat() with loft_parcel() 2025-03-05 16:13:50 -05:00
796257194b Make draw_adiabat() take fn to find lapsse rate 2025-03-05 13:48:08 -05:00
ff18a8821a Ensure adiabats terminate at minimum pressure 2025-03-05 11:09:18 -05:00
9af9bd2b51 Color moist adiabats differently 2025-03-05 09:12:57 -05:00
bc9a2977a5 Initial implementation of moist adiabat plotting (it sucks) 2025-03-05 00:35:21 -05:00
929e6b4351 Hardcode lapse() to perform dry lapse 2025-03-04 22:57:01 -05:00
706a1cf41e Implement rendering of dry adiabats 2025-03-04 21:52:00 -05:00
f562664ecf Pass Sounding objects, not lists of SoundingSample 2025-02-26 17:30:32 -05:00
37c5b1f77a Skip plotting invalid samples 2025-02-25 21:37:45 -05:00
b4223248e5 Mass rename 'coord' columns to 'location' 2025-02-25 11:40:12 -05:00
1bf5f3eabe Add constants for lapse rates 2025-02-24 19:29:35 -05:00
a5879df512 Use Context.save(), Context.restore() stack 2025-02-24 12:17:06 -05:00
9e3c30f487 Draw dashed isotherms 2025-02-24 12:16:33 -05:00
298bbe6357 Shift isobar legends down by 50mb 2025-02-24 11:48:02 -05:00
dcf2f2034c Implement separate class for rendering Skew-T legends 2025-02-24 11:28:35 -05:00
eaa23d4b41 Adjust bottom legend min/max temperature more sensibly 2025-02-24 10:21:26 -05:00
a1d22f68fa Rename SkewTGraph.pressure_y() to pressure_to_y() 2025-02-24 10:01:39 -05:00
0157437cb5 Reset clipping at end of SkewTGraph.draw() 2025-02-24 09:56:25 -05:00
d7831ab71a Implement SkewTGraph.sample_to_screen()
Implement SkewTGraph.sample_to_screen() to convert a sample value to
X/Y coordinates
2025-02-24 09:47:02 -05:00
1edb4f8c2f Rename SkewT to SkewTGraph 2025-02-24 00:57:22 -05:00
60158d6f55 Set clipping region to snip isotherms 2025-02-24 00:21:19 -05:00
2fbf648ce6 Forgot about that 2025-02-24 00:07:32 -05:00
253a25499b Hacky, but in a different way 2025-02-24 00:05:17 -05:00
1cb8875053 Rip out hardcoded isotherms (for now) 2025-02-23 23:45:46 -05:00
094a2908e2 Simplify temperature/dewpoint callback 2025-02-23 21:41:15 -05:00
8240597ddb Move function to be closer to its caller 2025-02-23 21:37:24 -05:00
d564391d6b Render both temperature and dewpoint on Skew-T 2025-02-23 21:20:30 -05:00
85c4dc0411 s/pressure_lines/isobars/ 2025-02-23 17:20:14 -05:00
b818671816 That's better 2025-02-23 17:12:58 -05:00
d5294e111d Slowly refactor skew_t.py into reusability 2025-02-23 17:00:19 -05:00
b96bc12660 Initial shitty commit of skew-T chart rendering 2025-02-23 15:26:52 -05:00