@@ -140,6 +140,21 @@ def test_create_empty_file(self):
140140 template .to_netcdf (self .temp_nc_file )
141141 dataset = Dataset (self .temp_nc_file )
142142
143+ def test_create_empty_variable (self ):
144+ template = DatasetTemplate (dimensions = {'X' : 10 })
145+ template .variables ['X' ] = {'dimensions' : ['X' ], 'type' : 'float32' }
146+ self .assertRaises (ValueError , template .to_netcdf , self .temp_nc_file ) # not providing 'data' is an error
147+
148+ del self ._temp_nc_file # Get a new temp file
149+ template .variables ['X' ]['data' ] = None # This is ok, it's a shortcut for all fill values
150+ template .to_netcdf (self .temp_nc_file )
151+
152+ dataset = Dataset (self .temp_nc_file )
153+ dataset .set_auto_mask (True )
154+ dsx = dataset .variables ['X' ]
155+ self .assertIsInstance (dsx [:], np .ma .MaskedArray )
156+ self .assertTrue (dsx [:].mask .all ())
157+
143158 def test_create_file (self ):
144159 template = DatasetTemplate .from_json (TEMPLATE_JSON )
145160 template .variables ['TIME' ]['data' ] = self .values10
@@ -184,6 +199,7 @@ def test_fill_values(self):
184199 template .to_netcdf (self .temp_nc_file )
185200
186201 dataset = Dataset (self .temp_nc_file )
202+ dataset .set_auto_mask (True )
187203 dsx = dataset .variables ['X' ]
188204 self .assertEqual (- 999. , dsx ._FillValue )
189205 self .assertIsInstance (dsx [:], np .ma .MaskedArray )
0 commit comments