def test_container(self): subgrid = python_subgrid.wrapper.SubgridWrapper(mdu=self.mdu) python_subgrid.wrapper.logger.setLevel(logging.DEBUG) subgrid.start() url_template = ('http://opendap.nationaleregenradar.nl/' 'thredds/dodsC/radar/TF0005_A/{year}/{month}/01/' 'RAD_TF0005_A_{year}{month}01000000.h5') container = RainGridContainer(subgrid) RainGrid(subgrid, url_template, memcdf_name='1.nc', initial_value=1.) RainGrid(subgrid, url_template, memcdf_name='2.nc', initial_value=2.) container.update() self.assertEquals(memcdf_value(container.memcdf_name), 0) container.register('1.nc') container.register('2.nc') container.update() self.assertEquals(memcdf_value(container.memcdf_name), 3) container.unregister('1.nc') container.update() self.assertEquals(memcdf_value(container.memcdf_name), 2) container.unregister('2.nc') container.update() self.assertEquals(memcdf_value(container.memcdf_name), 0) self.assertRaises(KeyError, container.unregister, ('2.nc', ))
def test_constant_grid(self): """Add grid to 1 model and then to another one""" with SubgridWrapper(mdu=self.mdu) as subgrid: rain_grid = RainGrid(subgrid, initial_value=9.) subgrid.subscribe_dataset(rain_grid.memcdf_name) with SubgridWrapper(mdu=self._mdu('duifp')) as subgrid: rain_grid2 = RainGrid(subgrid, initial_value=1.) subgrid.subscribe_dataset(rain_grid2.memcdf_name) subgrid.update(-1)
def test_back_orifice_rain(self): """Orifice with rain""" with SubgridWrapper(mdu=self._mdu('brouwersdam')) as subgrid: rain_grid = RainGrid(subgrid, initial_value=9.) subgrid.subscribe_dataset(rain_grid.memcdf_name) for _ in range(5): subgrid.update(-1)
def test_opendap_grid(self): url_template = ('http://opendap.nationaleregenradar.nl/' 'thredds/dodsC/radar/TF0005_A/{year}/{month}/01/' 'RAD_TF0005_A_{year}{month}01000000.h5') memcdf_name = 'precipitation.nc' subgrid = python_subgrid.wrapper.SubgridWrapper(mdu=self.mdu) python_subgrid.wrapper.logger.setLevel(logging.DEBUG) subgrid.start() rain_grid = RainGrid(subgrid, url_template, memcdf_name=memcdf_name, initial_value=9.) subgrid.subscribe_dataset(memcdf_name) rain_grid.fill(1.0) s0 = subgrid.get_nd('s1').copy() v0 = subgrid.get_nd('vol1').copy() for i in range(12): subgrid.update(-1) s1 = subgrid.get_nd('s1').copy() v1 = subgrid.get_nd('vol1').copy() print('shape of dps') print(subgrid.get_nd('dps').shape) print('s0 sum') print(np.sum(s0)) print('s1 sum') print(np.sum(s1)) print('s1-s0 sum') print(np.sum(s1 - s0)) print('v0, v1, v1-v0 sum') print(np.sum(v0)) print(np.sum(v1)) print(np.sum(v1 - v0))
def test_001_load_duifpolder_default_raingrid(self): """test load""" with SubgridWrapper(mdu=self._mdu_path('duifp')) as subgrid: logger.info("loaded duifpolder default") rain_grid = RainGrid(subgrid, '', initial_value=0.) subgrid.subscribe_dataset(rain_grid.memcdf_name) logger.info('apply raingrid') subgrid.update(-1)