@@ -100,8 +100,27 @@ def tearDownClass(self):
100100 # Realtime data
101101 def test_ndbc_read_realtime_met (self ):
102102 data , units = wave .io .ndbc .read_file (join (datadir , "46097.txt" ))
103+ cd = np .array (
104+ [
105+ 180 ,
106+ 12.0 ,
107+ np .nan ,
108+ np .nan ,
109+ np .nan ,
110+ np .nan ,
111+ np .nan ,
112+ 1001.0 ,
113+ 6.1 ,
114+ 10.9 ,
115+ np .nan ,
116+ np .nan ,
117+ np .nan ,
118+ np .nan ,
119+ ],
120+ )
103121 expected_index0 = datetime (2019 , 4 , 2 , 13 , 50 )
104122 self .assertSetEqual (set (data .columns ), set (self .expected_columns_metRT ))
123+ np .testing .assert_equal (data .iloc [- 1 ].astype (float ).values , cd )
105124 self .assertEqual (data .index [0 ], expected_index0 )
106125 self .assertEqual (data .shape , (6490 , 14 ))
107126 self .assertEqual (units , self .expected_units_metRT )
@@ -110,8 +129,26 @@ def test_ndbc_read_realtime_met(self):
110129 def test_ndbnc_read_historical_met (self ):
111130 # QC'd monthly data, Aug 2019
112131 data , units = wave .io .ndbc .read_file (join (datadir , "46097h201908qc.txt" ))
132+ cd = np .array (
133+ [
134+ 160.0 ,
135+ 2.7 ,
136+ np .nan ,
137+ np .nan ,
138+ np .nan ,
139+ np .nan ,
140+ np .nan ,
141+ 1014.9 ,
142+ 14.5 ,
143+ 13.4 ,
144+ np .nan ,
145+ np .nan ,
146+ np .nan ,
147+ ]
148+ )
113149 expected_index0 = datetime (2019 , 8 , 1 , 0 , 0 )
114150 self .assertSetEqual (set (data .columns ), set (self .expected_columns_metH ))
151+ np .testing .assert_equal (data .iloc [- 1 ].astype (float ).values , cd )
115152 self .assertEqual (data .index [0 ], expected_index0 )
116153 self .assertEqual (data .shape , (4464 , 13 ))
117154 self .assertEqual (units , self .expected_units_metH )
@@ -127,14 +164,34 @@ def test_ndbc_read_spectral(self):
127164 def test_ndbc_read_cwind_no_units (self ):
128165 data , units = wave .io .ndbc .read_file (join (datadir , "42a01c2003.txt" ))
129166 self .assertEqual (data .shape , (4320 , 5 ))
167+ cd = np .array (
168+ [
169+ [168.0 , 6.1 , np .nan , np .nan , np .nan ],
170+ [153.0 , 5.6 , np .nan , np .nan , np .nan ],
171+ [149.0 , 4.8 , np .nan , np .nan , np .nan ],
172+ [147.0 , 4.1 , np .nan , np .nan , np .nan ],
173+ [151.0 , 4.1 , 169.0 , np .nan , np .nan ],
174+ ]
175+ )
176+ np .testing .assert_equal (data .tail ().values , cd )
130177 self .assertEqual (units , None )
131178
132179 def test_ndbc_read_cwind_units (self ):
133180 data , units = wave .io .ndbc .read_file (join (datadir , "46002c2016.txt" ))
134181 self .assertEqual (data .shape , (28468 , 5 ))
135- self .assertEqual (units , wave .io .ndbc .parameter_units ("cwind" ))
182+ cd = np .array (
183+ [
184+ [303.0 , 6.2 , np .nan , np .nan , np .nan ],
185+ [306.0 , 7.8 , np .nan , np .nan , np .nan ],
186+ [302.0 , 7.6 , np .nan , np .nan , np .nan ],
187+ [293.0 , 6.4 , np .nan , np .nan , np .nan ],
188+ [287.0 , 6.3 , 307.0 , 9.7 , 1819.0 ],
189+ ]
190+ )
191+ np .testing .assert_equal (data .tail ().values , cd )
136192
137193 def test_ndbc_available_data (self ):
194+ # Can't test data values because datafiles are periodically updating
138195 data = wave .io .ndbc .available_data ("swden" , buoy_number = "46029" )
139196 cols = data .columns .tolist ()
140197 exp_cols = ["id" , "year" , "filename" ]
@@ -158,14 +215,18 @@ def test__ndbc_parse_filenames(self):
158215 self .assertListEqual (fnames , self .filenames )
159216
160217 def test_ndbc_request_data (self ):
218+ # Can't test data values because datafiles are periodically updating
161219 filenames = pd .Series (self .filenames [0 ])
162220 ndbc_data = wave .io .ndbc .request_data ("swden" , filenames , to_pandas = False )
163221 self .assertTrue (xr .Dataset (self .swden ).equals (ndbc_data ["1996" ]))
164222
165223 def test_ndbc_request_data_from_dataframe (self ):
224+ # Can't test data values because datafiles are periodically updating
166225 filenames = pd .DataFrame (pd .Series (data = self .filenames [0 ]))
167226 ndbc_data = wave .io .ndbc .request_data ("swden" , filenames )
168- assert_frame_equal (self .swden , ndbc_data ["1996" ])
227+ assert_frame_equal (
228+ self .swden , ndbc_data ["1996" ], check_column_type = False , check_dtype = False
229+ )
169230
170231 def test_ndbc_request_data_filenames_length (self ):
171232 with self .assertRaises (ValueError ):
@@ -221,9 +282,10 @@ def test_ndbc_date_string_to_datetime(self):
221282 def test_ndbc_parameter_units (self ):
222283 parameter = "swden"
223284 units = wave .io .ndbc .parameter_units (parameter )
224- self .assertEqual (units [parameter ], "(m*m) /Hz" )
285+ self .assertEqual (units [parameter ], "m^2 /Hz" )
225286
226287 def test_ndbc_request_directional_data (self ):
288+ # Can't test data values because datafiles are periodically updating
227289 data = self .directional_data
228290 # correct 5 parameters
229291 self .assertEqual (len (data ), 5 )
@@ -236,12 +298,14 @@ def test_ndbc_request_directional_data(self):
236298 self .assertEqual (len (data .frequency ), 47 )
237299
238300 def test_ndbc_create_spread_function (self ):
301+ # Can't test data values because datafiles are periodically updating
239302 directions = np .arange (0 , 360 , 2.0 )
240303 spread = wave .io .ndbc .create_spread_function (self .directional_data , directions )
241304 self .assertEqual (spread .shape , (47 , 180 ))
242305 self .assertEqual (spread .units , "1/Hz/deg" )
243306
244307 def test_ndbc_create_directional_spectrum (self ):
308+ # Can't test data values because datafiles are periodically updating
245309 directions = np .arange (0 , 360 , 2.0 )
246310 spectrum = wave .io .ndbc .create_directional_spectrum (
247311 self .directional_data , directions
@@ -250,6 +314,7 @@ def test_ndbc_create_directional_spectrum(self):
250314 self .assertEqual (spectrum .units , "m^2/Hz/deg" )
251315
252316 def test_plot_directional_spectrum (self ):
317+ # Can't test data values because datafiles are periodically updating
253318 directions = np .arange (0 , 360 , 2.0 )
254319 spectrum = wave .io .ndbc .create_spread_function (
255320 self .directional_data , directions
0 commit comments