@@ -285,6 +285,50 @@ def test_create_template_dataset(self):
285285 self .assertEqual (type (ds ["array_variable" ]), xarray .DataArray )
286286 self .assertEqual ("value" , ds .attrs ["metadata1" ])
287287
288+ def test_create_template_dataset_withunc (self ):
289+ dim_sizes = {"dim1" : 25 }
290+
291+ test_variables = {
292+ "array_variable" : {
293+ "dim" : ["dim1" ],
294+ "dtype" : np .float32 ,
295+ "attributes" : {
296+ "standard_name" : "array_variable_std_name" ,
297+ "long_name" : "array_variable_long_name" ,
298+ "units" : "units" ,
299+ "preferred_symbol" : "av" ,
300+ "unc_comps" : ["u_array_variable" ],
301+ },
302+ "encoding" : {"dtype" : np .uint16 , "scale_factor" : 1.0 , "offset" : 0.0 },
303+ },
304+ "u_array_variable" : {
305+ "dim" : ["dim1" ],
306+ "dtype" : np .float32 ,
307+ "attributes" : {
308+ "err_corr" : [
309+ {
310+ "dim" : ["dim1" ],
311+ "form" : "rectangle_absolute" ,
312+ "params" : [1 , 2 ],
313+ "units" : ["m" , "m" ],
314+ },
315+ ],
316+ "standard_name" : "array_variable_std_name" ,
317+ "long_name" : "array_variable_long_name" ,
318+ "units" : "units" ,
319+ "preferred_symbol" : "av" ,
320+ },
321+ },
322+ }
323+
324+ test_metadata = {"metadata1" : "value" }
325+
326+ ds = create_ds (test_variables , dim_sizes , test_metadata )
327+
328+ self .assertEqual (type (ds ), xarray .Dataset )
329+ self .assertEqual (type (ds ["array_variable" ]), xarray .DataArray )
330+ self .assertEqual ("value" , ds .attrs ["metadata1" ])
331+
288332
289333if __name__ == "__main__" :
290334 unittest .main ()
0 commit comments