Skip to content

Commit

Permalink
Add test for BGL MAN in unmerged soundings
Browse files Browse the repository at this point in the history
Implement fix from Unidata/MetPy#2057 to ensure such issues do not crop
up here. Current code should not exhibit this issue, but this will
ensure no regression.
  • Loading branch information
nawendt committed Sep 6, 2021
1 parent e9b37c9 commit cf7088e
Show file tree
Hide file tree
Showing 3 changed files with 153 additions and 0 deletions.
120 changes: 120 additions & 0 deletions tests/data/dl10548_sigw_pres_unmrg_man_bgl.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
PRES,TEMP,DWPT,DRCT,SPED,HGHT
1000.0,-9999.0,-9999.0,-9999.0,-9999.0,165.0
967.0,12.8,12.6,200.0,2.0,453.0
964.0,13.0,12.6,215.0,1.0,478.84
941.0,12.65,11.72,280.0,5.0,679.5
925.0,12.4,11.1,290.0,10.0,822.0
921.0,12.67,10.7,295.0,10.0,858.46
919.0,12.8,10.5,295.16,9.9,876.74
860.0,8.72,7.86,300.0,7.0,1430.41
850.0,8.0,7.4,295.0,6.0,1528.0
841.0,7.41,6.72,290.0,7.0,1615.25
812.0,5.45,4.5,300.0,6.0,1902.87
777.0,3.0,1.7,288.11,5.41,2264.0
754.0,1.93,-0.43,280.0,5.0,2506.15
700.0,-0.7,-5.7,290.0,5.0,3105.0
687.0,-1.62,-6.79,285.0,5.0,3253.22
627.0,-6.1,-12.1,297.98,3.52,3975.8
604.0,-8.3,-11.4,303.29,2.91,4267.05
537.0,-13.3,-20.63,320.0,1.0,5169.25
527.0,-14.1,-22.1,330.53,1.79,5313.48
510.0,-15.9,-28.9,348.9,3.17,5561.29
500.0,-17.3,-27.3,0.0,4.0,5710.0
492.0,-18.3,-22.6,3.06,5.84,5830.51
487.0,-19.0,-24.14,5.0,7.0,5906.48
482.0,-19.7,-25.7,11.85,6.73,5983.23
469.0,-21.3,-21.7,30.0,6.0,6185.37
448.0,-23.85,-25.62,35.0,6.0,6521.12
446.0,-24.1,-26.0,39.94,6.82,6553.91
436.0,-24.85,-30.56,65.0,11.0,6718.6
425.0,-25.7,-35.7,66.48,11.59,6904.18
416.0,-26.9,-31.9,67.72,12.09,7058.73
412.0,-27.5,-39.5,68.29,12.31,7128.24
405.0,-28.3,-43.3,69.28,12.71,7251.15
400.0,-28.9,-41.9,70.0,13.0,7340.0
391.0,-30.1,-35.1,74.44,13.44,7502.46
382.0,-31.3,-39.3,78.98,13.9,7667.89
380.0,-31.61,-39.24,80.0,14.0,7704.79
358.0,-35.1,-38.6,72.8,16.88,8124.07
331.0,-39.7,-47.7,63.33,20.67,8665.68
322.0,-41.38,-47.74,60.0,22.0,8852.52
309.0,-43.9,-47.8,74.56,19.09,9131.83
300.0,-44.7,-50.7,85.0,17.0,9330.0
295.0,-45.53,-51.77,90.0,16.0,9441.55
280.0,-48.1,-55.1,80.0,9.0,9787.9
276.0,-47.31,-59.24,70.0,6.0,9883.19
271.0,-46.31,-64.5,0.0,3.0,10004.25
268.0,-45.7,-67.7,334.19,3.49,10077.97
259.0,-46.09,-68.09,255.0,5.0,10304.97
252.0,-46.41,-68.41,270.0,7.0,10487.05
250.0,-46.5,-68.5,265.0,6.0,10540.0
246.0,-45.7,-70.54,245.0,6.0,10647.54
243.0,-45.1,-72.1,259.94,6.6,10729.34
241.0,-44.84,-71.84,270.0,7.0,10784.71
237.0,-44.3,-71.3,250.04,7.0,10896.83
236.0,-44.36,-71.48,245.0,7.0,10925.06
227.0,-44.91,-73.18,270.0,8.0,11184.62
219.0,-45.42,-74.74,260.0,12.0,11424.14
200.0,-46.7,-78.7,280.0,11.0,12030.0
192.0,-47.18,-79.18,295.0,10.0,12298.19
188.0,-47.43,-79.43,275.0,10.0,12436.51
166.0,-48.9,-80.9,275.0,9.0,13254.14
161.0,-49.26,-81.26,265.0,10.0,13455.06
156.0,-49.64,-81.64,270.0,13.0,13662.33
152.0,-49.94,-81.94,285.0,11.0,13832.98
150.0,-50.1,-82.1,285.0,10.0,13920.0
145.0,-50.38,-82.3,280.0,12.0,14139.9
138.0,-50.8,-82.59,300.0,11.0,14460.84
124.0,-51.7,-83.23,270.0,9.0,15154.71
117.0,-52.18,-83.57,295.0,10.0,15531.62
112.0,-52.55,-83.83,275.0,8.0,15814.91
108.0,-52.85,-84.04,305.0,8.0,16050.8
100.0,-53.5,-84.5,285.0,4.0,16550.0
95.0,-53.27,-84.7,290.0,5.0,16879.32
93.0,-53.17,-84.78,270.0,8.0,17015.93
90.0,-53.03,-84.91,280.0,10.0,17226.46
88.0,-52.93,-85.0,305.0,8.0,17370.74
86.0,-52.82,-85.09,295.0,9.0,17518.35
82.0,-52.61,-85.28,325.0,5.0,17824.14
78.0,-52.39,-85.48,280.0,3.0,18145.22
75.0,-52.21,-85.63,305.0,5.0,18397.04
74.0,-52.15,-85.68,315.0,5.0,18483.22
71.0,-51.96,-85.84,270.0,5.0,18748.93
70.0,-51.9,-85.9,300.0,5.0,18840.0
69.4,-51.5,-85.5,302.97,5.59,18895.99
68.0,-51.92,-85.55,310.0,7.0,19027.63
67.0,-52.23,-85.59,330.0,6.0,19123.33
58.9,-54.9,-85.9,272.77,4.24,19955.65
50.0,-53.1,-86.1,200.0,2.0,21010.0
48.0,-52.88,-86.04,325.0,5.0,21272.92
46.0,-52.64,-85.97,15.0,6.0,21547.02
44.0,-52.4,-85.9,25.0,5.0,21833.32
39.0,-51.74,-85.71,80.0,5.0,22610.23
38.0,-51.6,-85.67,0.0,0.0,22777.53
35.0,-51.14,-85.54,340.0,5.0,23307.18
33.0,-50.82,-85.45,35.0,8.0,23686.15
32.0,-50.65,-85.4,55.0,5.0,23884.34
31.0,-50.48,-85.35,150.0,1.0,24088.82
30.0,-50.3,-85.3,150.0,1.0,24300.0
23.0,-48.18,-84.95,10.0,5.0,26041.31
22.2,-47.9,-84.9,37.87,7.39,26273.32
22.0,-47.95,-84.87,45.0,8.0,26332.87
21.0,-48.22,-84.69,75.0,7.0,26638.96
20.0,-48.5,-84.5,55.0,4.0,26960.0
19.0,-48.7,-84.7,65.0,6.0,27297.1
18.0,-48.9,-84.9,105.0,7.0,27652.42
17.1,-49.1,-85.1,113.97,8.79,27989.52
17.0,-48.92,-85.04,115.0,9.0,28028.39
16.0,-47.07,-84.46,55.0,5.0,28430.19
15.0,-45.11,-83.83,70.0,5.0,28857.92
14.8,-44.7,-83.7,74.69,5.0,28946.89
13.0,-43.58,-83.24,120.0,5.0,29821.16
12.0,-42.88,-82.95,105.0,7.0,30360.8
11.0,-42.13,-82.64,110.0,5.0,30947.43
10.0,-41.3,-82.3,105.0,3.0,31590.0
8.0,-39.08,-80.93,40.0,6.0,33112.93
7.7,-38.7,-80.7,45.72,6.57,33373.79
7.0,-35.85,-78.93,60.0,8.0,34042.73
6.0,-31.25,-76.06,65.0,5.0,35124.66
5.4,-28.1,-74.1,65.0,4.42,35864.15
5.0,-9999.0,-9999.0,65.0,4.0,-9999.0
Binary file added tests/data/dl10548_sigw_pres_unmrg_man_bgl.snd
Binary file not shown.
33 changes: 33 additions & 0 deletions tests/test_soundings.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,3 +108,36 @@ def test_unmerged(gem, gio, station):
np.testing.assert_allclose(gdrct, ddrct, rtol=1e-10, atol=1e-2)
np.testing.assert_allclose(gsped, dsped, rtol=1e-10, atol=1e-2)
np.testing.assert_allclose(ghght, dhght, rtol=1e-10, atol=1e-2)


def test_unmerged_sigw_pressure_sounding():
"""Test loading an unmerged sounding.
PPBB and PPDD groups will be in pressure coordinates and there will
be MAN levels below the surface.
"""
g = Path(__file__).parent / 'data' / 'dl10548_sigw_pres_unmrg_man_bgl.snd'
d = Path(__file__).parent / 'data' / 'dl10548_sigw_pres_unmrg_man_bgl.csv'

gso = GempakSounding(g).snxarray()
gpres = gso[0].pres.values
gtemp = gso[0].temp.values.squeeze()
gdwpt = gso[0].dwpt.values.squeeze()
gdrct = gso[0].drct.values.squeeze()
gsped = gso[0].sped.values.squeeze()
ghght = gso[0].hght.values.squeeze()

gempak = pd.read_csv(d, na_values=-9999)
dpres = gempak.PRES.values
dtemp = gempak.TEMP.values
ddwpt = gempak.DWPT.values
ddrct = gempak.DRCT.values
dsped = gempak.SPED.values
dhght = gempak.HGHT.values

np.testing.assert_allclose(gpres, dpres, rtol=1e-10, atol=1e-2)
np.testing.assert_allclose(gtemp, dtemp, rtol=1e-10, atol=1e-2)
np.testing.assert_allclose(gdwpt, ddwpt, rtol=1e-10, atol=1e-2)
np.testing.assert_allclose(gdrct, ddrct, rtol=1e-10, atol=1e-2)
np.testing.assert_allclose(gsped, dsped, rtol=1e-10, atol=1e-2)
np.testing.assert_allclose(ghght, dhght, rtol=1e-10, atol=1e-1)

0 comments on commit cf7088e

Please sign in to comment.