Commit graph

415 commits

Author SHA1 Message Date
0293905b74 Implement formula for LCL 2025-02-24 19:19:56 -05:00
aa0977c04b Ensure humidity is populated in IGRA reader 2025-02-24 19:19:32 -05:00
ab84e0e919 Whitespace 2025-02-24 17:25:31 -05:00
dc4e6f3423 Initial commit of sounding.py 2025-02-24 17:25:18 -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
d2417b2000 Do not take dewpoint depression as dewpoint 2025-02-23 21:48:17 -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
fa90b89742 Fix corner case on parsing IGRA sounding elapsed time 2025-02-23 21:20:47 -05:00
d564391d6b Render both temperature and dewpoint on Skew-T 2025-02-23 21:20:30 -05:00
bfff79c929 Regex readability improvements 2025-02-23 21:06:12 -05:00
a5259dda99 Initial implementation of IGRA data parser 2025-02-23 20:00:13 -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
6d784cb100 Rename from nexrad-archive to xmet 2025-02-22 13:53:54 -05:00
4f91172984 Fix order 2025-02-21 20:46:10 -05:00
b1401a86c8 Set AFOS message WFO from product/wfo string 2025-02-21 17:17:05 -05:00
9badc86e33 Do not attempt to guess zero VTEC timestamps 2025-02-21 16:30:47 -05:00
3fa26aca83 Implement WFO database table, class 2025-02-21 16:29:51 -05:00
d46de60200 Whitespace 2025-02-21 02:31:21 -05:00
c4458bbd63 Fix VTEC timestamp handling where either part is zero time 2025-02-21 02:18:58 -05:00
280845bf27 Make VTEC columns nullable; add nexrad-archive-afos-ingest 2025-02-21 00:30:52 -05:00
1876749907 Fully implement parsing of hydrological VTEC events 2025-02-21 00:10:49 -05:00
584642b61c Fix multi-line polygons 2025-02-20 16:38:31 -05:00
77804f5e1d Fix polygon parser bug 2025-02-20 13:42:41 -05:00
0aff86bc57 Rename parse_shape() to parse_poly() 2025-02-20 13:38:09 -05:00
44bd511347 Further simplify code 2025-02-20 13:35:56 -05:00
52978b267f Refactor parser into AFOSMessageParser
Refactor parser into AFOSMessageParser to reduce cyclomatic complexity
2025-02-20 12:02:29 -05:00
451a63d067 Anticipate the whims of nerdy forecasters 2025-02-20 01:07:06 -05:00
a9bdab632d Become more aggressive in parsing 2025-02-20 00:58:16 -05:00
33ac8386b1 s/event/message/ re: ASOS messages 2025-02-19 23:27:35 -05:00
d4c2585ec2 Fix typo 2025-02-19 23:27:26 -05:00
c12d250d3e Abandon Coord class in favor of shapely.Point 2025-02-19 23:16:35 -05:00
469adad888 Ensure a few more fields are initialized 2025-02-19 22:04:32 -05:00
c0257863ee Fix additional ASOS parsing issues 2025-02-19 21:48:54 -05:00
04c5692df1 Fix VTEC timestamp parsing 2025-02-19 21:27:51 -05:00