From 8cf5e0a188e2f603a4d57706b27471e94a57e3ff Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 27 Apr 2023 14:58:53 +0200 Subject: [PATCH 001/192] Add geodataframe to centroids: first commit --- climada/hazard/centroids/centr.py | 295 ++++++------------------------ 1 file changed, 61 insertions(+), 234 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 6fe5a69a4a..8ac385f16d 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -79,26 +79,22 @@ class Centroids(): Attributes ---------- - meta : dict, optional - rasterio meta dictionary containing raster properties: width, height, crs and transform - must be present at least. The affine ransformation needs to be shearless (only stretching) - and have positive x- and negative y-orientation. - lat : np.array, optional - latitude of size size - lon : np.array, optional - longitude of size size - geometry : gpd.GeoSeries, optional - contains lat and lon crs. Might contain geometry points for lat and lon + lat : np.array + latitudes + lon : np.array + longitudes + crs : str, optional + coordinate reference system, default is WGS84 area_pixel : np.array, optional - area of size size + areas dist_coast : np.array, optional - distance to coast of size size + distances to coast on_land : np.array, optional - on land (True) and on sea (False) of size size + on land (True) and on sea (False) region_id : np.array, optional - country region code of size size + region numeric codes elevation : np.array, optional - elevation of size size + elevations """ vars_check = {'lat', 'lon', 'geometry', 'area_pixel', 'dist_coast', @@ -107,10 +103,9 @@ class Centroids(): def __init__( self, - lat: Optional[np.ndarray] = None, - lon: Optional[np.ndarray] = None, - geometry: Optional[gpd.GeoSeries] = None, - meta: Optional[Dict[Any, Any]] = None, + lat: np.ndarray, + lon: np.ndarray, + crs: str = DEF_CRS, area_pixel: Optional[np.ndarray] = None, on_land: Optional[np.ndarray] = None, region_id: Optional[np.ndarray] = None, @@ -121,18 +116,12 @@ def __init__( Parameters ---------- - lat : np.array, optional + lat : np.array latitude of size size. Defaults to empty array - lon : np.array, optional + lon : np.array longitude of size size. Defaults to empty array - geometry : gpd.GeoSeries, optional - contains lat and lon crs. Might contain geometry points for lat and lon. - Defaults to empty gpd.Geoseries with crs=DEF_CRS - meta : dict, optional - rasterio meta dictionary containing raster properties: width, height, crs and - transform must be present at least. The affine ransformation needs to be - shearless (only stretching) and have positive x- and negative y-orientation. - Defaults to empty dict() + crs : str + coordinate reference system area_pixel : np.array, optional area of size size. Defaults to empty array on_land : np.array, optional @@ -144,38 +133,39 @@ def __init__( dist_coast : np.array, optional distance to coast of size size. Defaults to empty array """ + self.gdf = gpd.GeoDataFrame({ + 'geometry': gpd.points_from_xy(lon, lat, crs=crs), + 'on_land' : on_land, + 'region_id' : region_id, + 'elevation' : elevation, + 'area_pixel' : area_pixel, + 'dist_coast' : dist_coast, + }) - self.lat = lat if lat is not None else np.array([]) - self.lon = lon if lon is not None else np.array([]) - self.geometry = geometry if geometry is not None else gpd.GeoSeries(crs=DEF_CRS) - self.meta = meta if meta is not None else dict() - self.area_pixel = area_pixel if area_pixel is not None else np.array([]) - self.on_land = on_land if on_land is not None else np.array([]) - self.region_id = region_id if region_id is not None else np.array([]) - self.elevation = elevation if elevation is not None else np.array([]) - self.dist_coast = dist_coast if dist_coast is not None else np.array([]) - - def check(self): - """Check integrity of stored information. - - Checks that either `meta` attribute is set, or `lat`, `lon` and `geometry.crs`. - Checks sizes of (optional) data attributes.""" - n_centr = self.size - for var_name, var_val in self.__dict__.items(): - if var_name in self.vars_check: - if var_val.size > 0 and var_val.size != n_centr: - raise ValueError(f'Wrong {var_name} size: {n_centr} != {var_val.size}.') - if self.meta: - for name in ['width', 'height', 'crs', 'transform']: - if name not in self.meta.keys(): - raise ValueError('Missing meta information: %s' % name) - xres, xshear, _xoff, yshear, yres, _yoff = self.meta['transform'][:6] - if xshear != 0 or yshear != 0: - raise ValueError('Affine transformations with shearing components are not ' - 'supported.') - if yres > 0 or xres < 0: - raise ValueError('Affine transformations with positive y-orientation ' - 'or negative x-orientation are not supported.') + @property + def lat(): + return self.gdf.geometry.y + @property + def lon(): + return self.gdf.geometry.x + @property + def geometry(): + return self.gdf['geometry'] + @property + def on_land(): + return self.gdf['on_land'] + @property + def region_id(): + return self.gdf['region_id'] + @property + def elevation(): + return self.gdf['elevation'] + @property + def area_pixel(): + return self.gdf['area_pixel'] + @property + def dist_coast(): + return self.gdf['dist_coast'] def equal(self, centr): """Return True if two centroids equal, False otherwise @@ -189,16 +179,7 @@ def equal(self, centr): ------- eq : bool """ - if self.meta and centr.meta: - return (u_coord.equal_crs(self.meta['crs'], centr.meta['crs']) - and self.meta['height'] == centr.meta['height'] - and self.meta['width'] == centr.meta['width'] - and self.meta['transform'] == centr.meta['transform']) - return (u_coord.equal_crs(self.crs, centr.crs) - and self.lat.shape == centr.lat.shape - and self.lon.shape == centr.lon.shape - and np.allclose(self.lat, centr.lat) - and np.allclose(self.lon, centr.lon)) + return self.gdf.equals(centr.gdf) @staticmethod def from_base_grid(land=False, res_as=360, base_file=None): @@ -240,107 +221,6 @@ def from_base_grid(land=False, res_as=360, base_file=None): centroids.check() return centroids - @classmethod - def from_geodataframe(cls, gdf, geometry_alias='geom'): - """Create Centroids instance from GeoDataFrame. - - The geometry, lat, and lon attributes are set from the GeoDataFrame.geometry attribute, - while the columns are copied as attributes to the Centroids object in the form of - numpy.ndarrays using pandas.Series.to_numpy. The Series dtype will thus be respected. - - Columns named lat or lon are ignored, as they would overwrite the coordinates extracted - from the point features. If the geometry attribute bears an alias, it can be dropped by - setting the geometry_alias parameter. - - If the GDF includes a region_id column, but no on_land column, then on_land=True is - inferred for those centroids that have a set region_id. - - Example - ------- - >>> gdf = geopandas.read_file('centroids.shp') - >>> gdf.region_id = gdf.region_id.astype(int) # type coercion - >>> centroids = Centroids.from_geodataframe(gdf) - - Parameters - ---------- - gdf : GeoDataFrame - Where the geometry column needs to consist of point features. See above for details on - processing. - geometry_alias : str, opt - Alternate name for the geometry column; dropped to avoid duplicate assignment. - - Returns - ------- - centr : Centroids - Centroids with data from given GeoDataFrame - """ - geometry = gdf.geometry - lat = gdf.geometry.y.to_numpy(copy=True) - lon = gdf.geometry.x.to_numpy(copy=True) - centroids = cls(lat=lat, lon=lon, geometry=geometry) - - for col in gdf.columns: - if col in [geometry_alias, 'geometry', 'lat', 'lon']: - continue # skip these, because they're already set above - val = gdf[col].to_numpy(copy=True) - setattr(centroids, col, val) - - if centroids.on_land.size == 0: - try: - centroids.on_land = ~np.isnan(centroids.region_id) - except KeyError: - pass - - return centroids - - def set_raster_from_pix_bounds(self, *args, **kwargs): - """This function is deprecated, use Centroids.from_pix_bounds instead.""" - LOGGER.warning("The use of Centroids.set_raster_from_pix_bounds is deprecated. " - "Use Centroids.from_pix_bounds instead.") - self.__dict__ = Centroids.from_pix_bounds(*args, **kwargs).__dict__ - - @classmethod - def from_pix_bounds(cls, xf_lat, xo_lon, d_lat, d_lon, n_lat, n_lon, crs=DEF_CRS): - """Create Centroids object with meta attribute according to pixel border data. - - Parameters - ---------- - xf_lat : float - upper latitude (top) - xo_lon : float - left longitude - d_lat : float - latitude step (negative) - d_lon : float - longitude step (positive) - n_lat : int - number of latitude points - n_lon : int - number of longitude points - crs : dict() or rasterio.crs.CRS, optional - CRS. Default: DEF_CRS - - Returns - ------- - centr : Centroids - Centroids with meta according to given pixel border data. - """ - meta = { - 'dtype': 'float32', - 'width': n_lon, - 'height': n_lat, - 'crs': crs, - 'transform': rasterio.Affine(d_lon, 0.0, xo_lon, 0.0, d_lat, xf_lat), - } - - return cls(meta=meta) - - def set_raster_from_pnt_bounds(self, *args, **kwargs): - """This function is deprecated, use Centroids.from_pnt_bounds instead.""" - LOGGER.warning("The use of Centroids.set_raster_from_pnt_bounds is deprecated. " - "Use Centroids.from_pnt_bounds instead.") - self.__dict__ = Centroids.from_pnt_bounds(*args, **kwargs).__dict__ - @classmethod def from_pnt_bounds(cls, points_bounds, res, crs=DEF_CRS): """Create Centroids object with meta attribute according to points border data. @@ -370,35 +250,6 @@ def from_pnt_bounds(cls, points_bounds, res, crs=DEF_CRS): } return cls(meta=meta) - def set_lat_lon(self, *args, **kwargs): - """This function is deprecated, use Centroids.from_lat_lon instead.""" - LOGGER.warning("The use of Centroids.set_lat_lon is deprecated. " - "Use Centroids.from_lat_lon instead.") - self.__dict__ = Centroids.from_lat_lon(*args, **kwargs).__dict__ - - @classmethod - def from_lat_lon(cls, lat, lon, crs=DEF_CRS): - """Create Centroids object from given latitude, longitude and CRS. - - Parameters - ---------- - lat : np.array - latitude - lon : np.array - longitude - crs : dict() or rasterio.crs.CRS, optional - CRS. Default: DEF_CRS - - Returns - ------- - centr : Centroids - Centroids with points according to given coordinates - """ - lat = np.asarray(lat) - lon = np.asarray(lon) - geometry = gpd.GeoSeries(crs=crs) - return cls(lat=lat, lon=lon, geometry=geometry) - def set_raster_file(self, file_name, band=None, **kwargs): """This function is deprecated, use Centroids.from_raster_file and Centroids.values_from_raster_files instead.""" @@ -506,17 +357,6 @@ def values_from_raster_files(self, file_names, band=None, src_crs=None, window=F return sparse.vstack(values, format='csr') - - def set_vector_file(self, file_name, inten_name=None, **kwargs): - """This function is deprecated, use Centroids.from_vector_file - and Centroids.values_from_vector_files instead.""" - LOGGER.warning("The use of Centroids.set_vector_file is deprecated. " - "Use Centroids.from_vector_file and " - "Centroids.values_from_vector_files instead.") - if not self.geometry.any(): - self.__dict__ = Centroids.from_vector_file(file_name, **kwargs).__dict__ - return self.values_from_vector_files([file_name], val_names=inten_name, **kwargs) - @classmethod def from_vector_file(cls, file_name, dst_crs=None): """Create Centroids object from vector file (any format supported by fiona). @@ -533,9 +373,13 @@ def from_vector_file(cls, file_name, dst_crs=None): centr : Centroids Centroids with points according to the given vector file """ - lat, lon, geometry, _ = u_coord.read_vector( - file_name, [], dst_crs=dst_crs) - return cls(lat=lat, lon=lon, geometry=geometry) + data_frame = gpd.read_file(file_name) + if dst_crs is None: + geometry = data_frame.geometry + else: + geometry = data_frame.geometry.to_crs(dst_crs) + lat, lon = geometry[:].y.values, geometry[:].x.values + return cls(lat=lat, lon=lon, dst_crs) def values_from_vector_files(self, file_names, val_names=None, dst_crs=None): """Read intensity or other data from vector files, making sure that geometry is compatible. @@ -576,12 +420,6 @@ def values_from_vector_files(self, file_names, val_names=None, dst_crs=None): return sparse.vstack(values, format='csr') - def read_mat(self, *args, **kwargs): - """This function is deprecated, use Centroids.from_mat instead.""" - LOGGER.warning("The use of Centroids.read_mat is deprecated." - "Use Centroids.from_mat instead.") - self.__dict__ = Centroids.from_mat(*args, **kwargs).__dict__ - @classmethod def from_mat(cls, file_name, var_names=None): """Read centroids from CLIMADA's MATLAB version. @@ -621,27 +459,20 @@ def from_mat(cls, file_name, var_names=None): try: cen_lat = np.squeeze(cent[var_names['var_name']['lat']]) cen_lon = np.squeeze(cent[var_names['var_name']['lon']]) - centr = cls.from_lat_lon(cen_lat, cen_lon) - try: - centr.dist_coast = np.squeeze(cent[var_names['var_name']['dist_coast']]) + dist_coast = np.squeeze(cent[var_names['var_name']['dist_coast']]) except KeyError: pass try: - centr.region_id = np.squeeze(cent[var_names['var_name']['region_id']]) + region_id = np.squeeze(cent[var_names['var_name']['region_id']]) except KeyError: pass + centr = cls.(cen_lat, cen_lon, dist_coast=dist_coast, region_id=region_id) except KeyError as err: raise KeyError("Not existing variable: %s" % str(err)) from err return centr - def read_excel(self, *args, **kwargs): - """This function is deprecated, use Centroids.from_excel instead.""" - LOGGER.warning("The use of Centroids.read_excel is deprecated." - "Use Centroids.from_excel instead.") - self.__dict__ = Centroids.from_excel(*args, **kwargs).__dict__ - @classmethod def from_excel(cls, file_name, var_names=None): """Generate a new centroids object from an excel file with column names in var_names. @@ -680,10 +511,6 @@ def from_excel(cls, file_name, var_names=None): return centr - def clear(self): - """Clear vector and raster data.""" - self.__init__() - def append(self, centr): """Append centroids points. From 89b40517b7203f7c5c376eac81022dbfe41183a6 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Wed, 21 Jun 2023 17:19:10 +0200 Subject: [PATCH 002/192] Remove raster methods, obsolete methods, and fix some. --- climada/hazard/centroids/centr.py | 868 +++++++++++------------------- 1 file changed, 300 insertions(+), 568 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 7e6b1020c4..8aefb25a55 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -95,22 +95,22 @@ class Centroids(): region numeric codes elevation : np.array, optional elevations + kwargs: dicts of np.arrays, optional + any further desired properties of centroids. Is passed to the + GeoDataFrame constructor """ - vars_check = {'lat', 'lon', 'geometry', 'area_pixel', 'dist_coast', - 'on_land', 'region_id', 'elevation'} - """Variables whose size will be checked""" - def __init__( self, - lat: np.ndarray, lon: np.ndarray, + lat: np.ndarray, crs: str = DEF_CRS, - area_pixel: Optional[np.ndarray] = None, - on_land: Optional[np.ndarray] = None, region_id: Optional[np.ndarray] = None, + on_land: Optional[np.ndarray] = None, + dist_coast: Optional[np.ndarray] = None, elevation: Optional[np.ndarray] = None, - dist_coast: Optional[np.ndarray] = None + area_pixel: Optional[np.ndarray] = None, + **kwargs: Optional[dict] = None ): """Initialization @@ -133,93 +133,91 @@ def __init__( dist_coast : np.array, optional distance to coast of size size. Defaults to empty array """ - self.gdf = gpd.GeoDataFrame({ + attr_dict = { 'geometry': gpd.points_from_xy(lon, lat, crs=crs), - 'on_land' : on_land, 'region_id' : region_id, + 'on_land' : on_land, + 'dist_coast' : dist_coast, 'elevation' : elevation, 'area_pixel' : area_pixel, - 'dist_coast' : dist_coast, - }) + } + if kwargs: + attr_dict = dict(**attr_dict, **kwargs) + self.gdf = gpd.GeoDataFrame(attr_dict, crs=crs) - @property - def lat(): + @property`` + def lat(self): return self.gdf.geometry.y + @property - def lon(): + def lon(self): return self.gdf.geometry.x + @property - def geometry(): + def geometry(self): return self.gdf['geometry'] + @property - def on_land(): + def on_land(self): return self.gdf['on_land'] + @property - def region_id(): + def region_id(self): return self.gdf['region_id'] + @property - def elevation(): + def elevation(self): return self.gdf['elevation'] + @property - def area_pixel(): + def area_pixel(self): return self.gdf['area_pixel'] + @property - def dist_coast(): + def dist_coast(self): return self.gdf['dist_coast'] - def equal(self, centr): + @property + def crs(self): + return self.gdf.crs + + @property + def size(self): + return self.gdf.shape[0] + + @property + def shape(self): + """Get shape assuming rastered data.""" + return (np.unique(self.lat).size, np.unique(self.lon).size) + + @property + def total_bounds(self): + """Get total bounds (minx, miny, maxx, maxy).""" + return self.gdf.total_bounds + + @property + def coord(self): + """Get [lat, lon] array.""" + return np.stack([self.lat, self.lon], axis=1) + + def __eq__(self, other): """Return True if two centroids equal, False otherwise Parameters ---------- - centr : Centroids + other : Centroids centroids to compare Returns ------- eq : bool """ - return self.gdf.equals(centr.gdf) + return self.gdf.equals(other.gdf) & u_coord.equal_crs(self.crs, other.crs) - @staticmethod - def from_base_grid(land=False, res_as=360, base_file=None): - """Initialize from base grid data provided with CLIMADA + @classmethod + def from_gdf(cls, gdf): + return cls(lon=gdf.x, lat=gdf.y, crs=gdf.crs, **gdf.drop('geometry').to_dict()) - Parameters - ---------- - land : bool, optional - If True, restrict to grid points on land. Default: False. - res_as : int, optional - Base grid resolution in arc-seconds (one of 150, 360). Default: 360. - base_file : str, optional - If set, read this file instead of one provided with climada. - """ - if base_file is None: - base_file = NATEARTH_CENTROIDS[res_as] - - centroids = Centroids.from_hdf5(base_file) - if centroids.meta: - xres, xshear, xoff, yshear, yres, yoff = centroids.meta['transform'][:6] - shape = (centroids.meta['height'], centroids.meta['width']) - if yres > 0: - # make sure y-orientation is negative - centroids.meta['transform'] = rasterio.Affine(xres, xshear, xoff, yshear, - -yres, yoff + (shape[0] - 1) * yres) - # flip y-axis in data arrays - for name in ["region_id", "dist_coast"]: - if not hasattr(centroids, name): - continue - data = getattr(centroids, name) - if data.size == 0: - continue - setattr(centroids, name, np.flipud(data.reshape(shape)).reshape(-1)) - if land: - land_reg_ids = list(range(1, 1000)) - land_reg_ids.remove(10) # Antarctica - centroids = centroids.select(reg_id=land_reg_ids) - - centroids.check() - return centroids @classmethod def from_pnt_bounds(cls, points_bounds, res, crs=DEF_CRS): @@ -242,284 +240,14 @@ def from_pnt_bounds(cls, points_bounds, res, crs=DEF_CRS): Centroids with meta according to given points border data. """ rows, cols, ras_trans = u_coord.pts_to_raster_meta(points_bounds, (res, -res)) - meta = { - 'width': cols, - 'height': rows, - 'crs': crs, - 'transform': ras_trans, - } - return cls(meta=meta) - - def set_raster_file(self, file_name, band=None, **kwargs): - """This function is deprecated, use Centroids.from_raster_file - and Centroids.values_from_raster_files instead.""" - LOGGER.warning("The use of Centroids.set_raster_file is deprecated. " - "Use Centroids.from_raster_file and " - "Centroids.values_from_raster_files instead.") - if not self.meta: - self.__dict__ = Centroids.from_raster_file(file_name, **kwargs).__dict__ - return self.values_from_raster_files([file_name], band=band, **kwargs) - - @classmethod - def from_raster_file(cls, file_name, src_crs=None, window=None, - geometry=None, dst_crs=None, transform=None, width=None, - height=None, resampling=Resampling.nearest): - """Create a new Centroids object from a raster file - - Select region using window or geometry. Reproject input by providing - dst_crs and/or (transform, width, height). - - Parameters - ---------- - file_name : str - path of the file - src_crs : crs, optional - source CRS. Provide it if error without it. - window : rasterio.windows.Window, optional - window to read - geometry : list of shapely.geometry, optional - consider pixels only within these shapes - dst_crs : crs, optional - reproject to given crs - transform : rasterio.Affine - affine transformation to apply - wdith : float - number of lons for transform - height : float - number of lats for transform - resampling : rasterio.warp,.Resampling optional - resampling function used for reprojection to dst_crs - - Returns - ------- - centr : Centroids - Centroids with meta attribute according to the given raster file - """ - meta, _ = u_coord.read_raster( - file_name, [1], src_crs, window, geometry, dst_crs, - transform, width, height, resampling) - return cls(meta=meta) - - def values_from_raster_files(self, file_names, band=None, src_crs=None, window=None, - geometry=None, dst_crs=None, transform=None, width=None, - height=None, resampling=Resampling.nearest): - """Read raster of bands and set 0 values to the masked ones. - - Each band is an event. Select region using window or geometry. Reproject input by proving - dst_crs and/or (transform, width, height). - - Parameters - ---------- - file_names : str - path of the file - band : list(int), optional - band number to read. Default: [1] - src_crs : crs, optional - source CRS. Provide it if error without it. - window : rasterio.windows.Window, optional - window to read - geometry : list of shapely.geometry, optional - consider pixels only within these shapes - dst_crs : crs, optional - reproject to given crs - transform : rasterio.Affine - affine transformation to apply - wdith : float - number of lons for transform - height : float - number of lats for transform - resampling : rasterio.warp,.Resampling optional - resampling function used for reprojection to dst_crs - - Raises - ------ - ValueError - - Returns - ------- - inten : scipy.sparse.csr_matrix - Each row is an event. - """ - if band is None: - band = [1] - - values = [] - for file_name in file_names: - tmp_meta, data = u_coord.read_raster( - file_name, band, src_crs, window, geometry, dst_crs, - transform, width, height, resampling) - if (tmp_meta['crs'] != self.meta['crs'] - or tmp_meta['transform'] != self.meta['transform'] - or tmp_meta['height'] != self.meta['height'] - or tmp_meta['width'] != self.meta['width']): - raise ValueError('Raster data is inconsistent with contained raster.') - values.append(sparse.csr_matrix(data)) - - return sparse.vstack(values, format='csr') - - @classmethod - def from_vector_file(cls, file_name, dst_crs=None): - """Create Centroids object from vector file (any format supported by fiona). + x_grid, y_grid = u_coord.raster_to_meshgrid(ras_trans, cols, rows) + return cls(lat=y_grid, lon=x_grid, crs=crs) - Parameters - ---------- - file_name : str - vector file with format supported by fiona and 'geometry' field. - dst_crs : crs, optional - reproject to given crs - Returns - ------- - centr : Centroids - Centroids with points according to the given vector file - """ - data_frame = gpd.read_file(file_name) - if dst_crs is None: - geometry = data_frame.geometry - else: - geometry = data_frame.geometry.to_crs(dst_crs) - lat, lon = geometry[:].y.values, geometry[:].x.values - return cls(lat=lat, lon=lon, dst_crs) - - def values_from_vector_files(self, file_names, val_names=None, dst_crs=None): - """Read intensity or other data from vector files, making sure that geometry is compatible. - - If the geometry of the shapes in any of the given files does not agree with the - geometry of this Centroids instance, a ValueError is raised. - - Parameters - ---------- - file_names : list(str) - vector files with format supported by fiona and 'geometry' field. - val_names : list(str), optional - list of names of the columns of the values. Default: ['intensity'] - dst_crs : crs, optional - reproject to given crs - - Raises - ------ - ValueError - - Returns - ------- - values : scipy.sparse.csr_matrix - Sparse array of shape (len(val_name), len(geometry)). - """ - if val_names is None: - val_names = ['intensity'] - - values = [] - for file_name in file_names: - tmp_lat, tmp_lon, tmp_geometry, data = u_coord.read_vector( - file_name, val_names, dst_crs=dst_crs) - if not (u_coord.equal_crs(tmp_geometry.crs, self.geometry.crs) - and np.allclose(tmp_lat, self.lat) - and np.allclose(tmp_lon, self.lon)): - raise ValueError('Vector data inconsistent with contained vector.') - values.append(sparse.csr_matrix(data)) - - return sparse.vstack(values, format='csr') - - @classmethod - def from_mat(cls, file_name, var_names=None): - """Read centroids from CLIMADA's MATLAB version. - - Parameters - ---------- - file_name : str - absolute or relative file name - var_names : dict, optional - name of the variables - - Raises - ------ - KeyError - - Returns - ------- - centr : Centroids - Centroids with data from the given file - """ - LOGGER.info('Reading %s', file_name) - if var_names is None: - var_names = DEF_VAR_MAT - - cent = u_hdf5.read(file_name) - # Try open encapsulating variable FIELD_NAMES - num_try = 0 - for field in var_names['field_names']: - try: - cent = cent[field] - break - except KeyError: - num_try += 1 - if num_try == len(var_names['field_names']): - LOGGER.warning("Variables are not under: %s.", var_names['field_names']) - - try: - cen_lat = np.squeeze(cent[var_names['var_name']['lat']]) - cen_lon = np.squeeze(cent[var_names['var_name']['lon']]) - try: - dist_coast = np.squeeze(cent[var_names['var_name']['dist_coast']]) - except KeyError: - pass - try: - region_id = np.squeeze(cent[var_names['var_name']['region_id']]) - except KeyError: - pass - centr = cls.(cen_lat, cen_lon, dist_coast=dist_coast, region_id=region_id) - except KeyError as err: - raise KeyError("Not existing variable: %s" % str(err)) from err - - return centr - - @classmethod - def from_excel(cls, file_name, var_names=None): - """Generate a new centroids object from an excel file with column names in var_names. - - Parameters - ---------- - file_name : str - absolute or relative file name - var_names : dict, default - name of the variables - - Raises - ------ - KeyError - - Returns - ------- - centr : Centroids - Centroids with data from the given file - """ - LOGGER.info('Reading %s', file_name) - if var_names is None: - var_names = DEF_VAR_EXCEL - - try: - dfr = pd.read_excel(file_name, var_names['sheet_name']) - centr = cls.from_lat_lon(dfr[var_names['col_name']['lat']], - dfr[var_names['col_name']['lon']]) - try: - centr.region_id = dfr[var_names['col_name']['region_id']] - except KeyError: - pass - - except KeyError as err: - raise KeyError("Not existing variable: %s" % str(err)) from err - - return centr def append(self, centr): """Append centroids points. - If centr or self are rasters they are converted to points first using - Centroids.set_meta_to_lat_lon. Note that self is modified in-place, - and meta is set to {}. Thus, raster information in self is lost. - - Note: this is a wrapper for centroids.union. - Parameters ---------- centr : Centroids @@ -529,28 +257,19 @@ def append(self, centr): -------- union : Union of Centroid objects. """ - self.__dict__.update(self.union(centr).__dict__) + self.gdf = pd.concat([self.gdf, centr.gdf]) def union(self, *others): """ Create the union of centroids from the inputs. - The centroids are combined together point by point. - Rasters are converted to points and raster information is lost - in the output. All centroids must have the same CRS. - - In any case, the attribute .geometry is computed for all centroids. - This requires a CRS to be defined. If Centroids.crs is None, the - default DEF_CRS is set for all centroids (self and others). + All centroids must have the same CRS. When at least one centroids has one of the following property defined, it is also computed for all others. .area_pixel, .dist_coast, .on_land, .region_id, .elevetaion' - !Caution!: the input objects (self and others) are modified in place. - Missing properties are added, existing ones are not overwritten. - Parameters ---------- others : any number of climada.hazard.Centroids() @@ -566,23 +285,16 @@ def union(self, *others): ValueError """ # restrict to non-empty centroids - cent_list = [c for c in (self,) + others if c.size > 0 or c.meta] # pylint: disable=no-member + cent_list = [c for c in (self,) + others if c.size > 0] # pylint: disable=no-member if len(cent_list) == 0 or len(others) == 0: return copy.deepcopy(self) # check if all centroids are identical - if all([cent_list[0].equal(cent) for cent in cent_list[1:]]): + if all([cent_list[0] == cent for cent in cent_list[1:]]): return copy.deepcopy(cent_list[0]) - # convert all raster centroids to point centroids - for cent in cent_list: - if cent.meta and not cent.lat.any(): - cent.set_meta_to_lat_lon() - # make sure that all Centroids have the same CRS for cent in cent_list: - if cent.crs is None: - cent.geometry = cent.geometry.set_crs(DEF_CRS) if not u_coord.equal_crs(cent.crs, cent_list[0].crs): raise ValueError('In a union, all Centroids need to have the same CRS: ' f'{cent.crs} != {cent_list[0].crs}') @@ -629,16 +341,7 @@ def get_closest_point(self, x_lon, y_lat, scheduler=None): idx_close : int Index of centroid in internal ordering of centroids. """ - if self.meta: - if not self.lat.size or not self.lon.size: - self.set_meta_to_lat_lon() - i_lat, i_lon = rasterio.transform.rowcol(self.meta['transform'], x_lon, y_lat) - i_lat = np.clip(i_lat, 0, self.meta['height'] - 1) - i_lon = np.clip(i_lon, 0, self.meta['width'] - 1) - close_idx = int(i_lat * self.meta['width'] + i_lon) - else: - self.set_geometry_points(scheduler) - close_idx = self.geometry.distance(Point(x_lon, y_lat)).values.argmin() + close_idx = self.geometry.distance(Point(x_lon, y_lat)).values.argmin() return self.lon[close_idx], self.lat[close_idx], close_idx def set_region_id(self, scheduler=None): @@ -650,8 +353,8 @@ def set_region_id(self, scheduler=None): used for dask map_partitions. “threads”, “synchronous” or “processes” """ ne_geom = self._ne_crs_geom(scheduler) - LOGGER.debug('Setting region_id %s points.', str(self.lat.size)) - self.region_id = u_coord.get_country_code( + LOGGER.debug('Setting region_id %s points.', str(self.size)) + self.gdf.region_id = u_coord.get_country_code( ne_geom.geometry[:].y.values, ne_geom.geometry[:].x.values) def set_area_pixel(self, min_resol=1.0e-8, scheduler=None): @@ -664,26 +367,15 @@ def set_area_pixel(self, min_resol=1.0e-8, scheduler=None): scheduler : str used for dask map_partitions. “threads”, “synchronous” or “processes” """ - if self.meta: - if hasattr(self.meta['crs'], 'linear_units') and \ - str.lower(self.meta['crs'].linear_units) in ['m', 'metre', 'meter']: - self.area_pixel = np.zeros((self.meta['height'], self.meta['width'])) - self.area_pixel *= abs(self.meta['transform'].a) * abs(self.meta['transform'].e) - return - if abs(abs(self.meta['transform'].a) - - abs(self.meta['transform'].e)) > 1.0e-5: - raise ValueError('Area can not be computed for not squared pixels.') - res = self.meta['transform'].a - else: - res = u_coord.get_resolution(self.lat, self.lon, min_resol=min_resol) - res = np.abs(res).min() - self.set_geometry_points(scheduler) + + res = u_coord.get_resolution(self.lat, self.lon, min_resol=min_resol) + res = np.abs(res).min() LOGGER.debug('Setting area_pixel %s points.', str(self.lat.size)) xy_pixels = self.geometry.buffer(res / 2).envelope if PROJ_CEA == self.geometry.crs: - self.area_pixel = xy_pixels.area.values + self.gdf.area_pixel = xy_pixels.area.values else: - self.area_pixel = xy_pixels.to_crs(crs={'proj': 'cea'}).area.values + self.gdf.area_pixel = xy_pixels.to_crs(crs={'proj': 'cea'}).area.values def set_area_approx(self, min_resol=1.0e-8): """Set `area_pixel` attribute for every pixel or point (approximate area in m*m). @@ -733,9 +425,7 @@ def set_elevation(self, topo_path): topo_path : str Path to a raster file containing gridded elevation data. """ - if not self.coord.size: - self.set_meta_to_lat_lon() - self.elevation = u_coord.read_raster_sample(topo_path, self.lat, self.lon) + self.gdf.elevation = u_coord.read_raster_sample(topo_path, self.lat, self.lon) def set_dist_coast(self, signed=False, precomputed=False, scheduler=None): """Set dist_coast attribute for every pixel or point in meters. @@ -749,18 +439,13 @@ def set_dist_coast(self, signed=False, precomputed=False, scheduler=None): scheduler : str Used for dask map_partitions. "threads", "synchronous" or "processes" """ - if (not self.lat.size or not self.lon.size) and not self.meta: - LOGGER.warning('No lat/lon, no meta, nothing to do!') - return if precomputed: - if not self.lat.size or not self.lon.size: - self.set_meta_to_lat_lon() - self.dist_coast = u_coord.dist_to_coast_nasa( + self.gdf.dist_coast = u_coord.dist_to_coast_nasa( self.lat, self.lon, highres=True, signed=signed) else: ne_geom = self._ne_crs_geom(scheduler) - LOGGER.debug('Computing distance to coast for %s centroids.', str(self.lat.size)) - self.dist_coast = u_coord.dist_to_coast(ne_geom, signed=signed) + LOGGER.debug('Computing distance to coast for %s centroids.', str(self.size)) + self.gdf.dist_coast = u_coord.dist_to_coast(ne_geom, signed=signed) def set_on_land(self, scheduler=None): """Set on_land attribute for every pixel or point. @@ -772,26 +457,19 @@ def set_on_land(self, scheduler=None): """ ne_geom = self._ne_crs_geom(scheduler) LOGGER.debug('Setting on_land %s points.', str(self.lat.size)) - self.on_land = u_coord.coord_on_land( + self.gdf.on_land = u_coord.coord_on_land( ne_geom.geometry[:].y.values, ne_geom.geometry[:].x.values) - def remove_duplicate_points(self): - """Return Centroids with removed duplicated points + @classmethod + def remove_duplicate_points(cls, centroids): + """Return a copy of centroids with removed duplicated points Returns ------- - cen : Centroids - Sub-selection of this object. + : Centroids + Sub-selection of centroids withtout duplicates """ - if not self.lat.any() and not self.meta: - return self - if self.lat.size > 0: - coords_view = self.coord.astype(np.float64).view(dtype='float64,float64') - sel_cen = np.sort(np.unique(coords_view, return_index=True)[1]) - else: - geom_wkb = self.geometry.apply(lambda geom: geom.wkb) - sel_cen = geom_wkb.drop_duplicates().index - return self.select(sel_cen=sel_cen) + return cls().from_gdf(centroids.gdf.drop_duplicates()) def select(self, reg_id=None, extent=None, sel_cen=None): """Return Centroids with points in the given reg_id or within mask @@ -864,33 +542,6 @@ def select_mask(self, reg_id=None, extent=None): ) return sel_cen - def set_lat_lon_to_meta(self, min_resol=1.0e-8): - """Compute meta from lat and lon values. - - Parameters - ---------- - min_resol : float, optional - Minimum centroids resolution to use in the raster. Default: 1.0e-8. - """ - res = u_coord.get_resolution(self.lon, self.lat, min_resol=min_resol) - rows, cols, ras_trans = u_coord.pts_to_raster_meta(self.total_bounds, res) - LOGGER.debug('Resolution points: %s', str(res)) - self.meta = { - 'width': cols, - 'height': rows, - 'crs': self.crs, - 'transform': ras_trans, - } - - def set_meta_to_lat_lon(self): - """Compute lat and lon of every pixel center from meta raster.""" - if self.meta: - xgrid, ygrid = u_coord.raster_to_meshgrid( - self.meta['transform'], self.meta['width'], self.meta['height']) - self.lon = xgrid.flatten() - self.lat = ygrid.flatten() - self.geometry = gpd.GeoSeries(crs=self.meta['crs']) - def plot(self, axis=None, figsize=(9, 13), **kwargs): """Plot centroids scatter points over earth. @@ -951,11 +602,219 @@ def calc_pixels_polygons(self, scheduler=None): self.set_geometry_points(scheduler) return self.geometry.buffer(self.meta['transform'].a / 2).envelope - def empty_geometry_points(self): - """Removes all points in geometry. - Useful when centroids is used in multiprocessing function.""" - self.geometry = gpd.GeoSeries(crs=self.geometry.crs) + ''' + I/O methods + ''' + + + def set_raster_file(self, file_name, band=None, **kwargs): + """This function is deprecated, use Centroids.from_raster_file + and Centroids.values_from_raster_files instead.""" + LOGGER.warning("The use of Centroids.set_raster_file is deprecated. " + "Use Centroids.from_raster_file and " + "Centroids.values_from_raster_files instead.") + if not self.meta: + self.__dict__ = Centroids.from_raster_file(file_name, **kwargs).__dict__ + return self.values_from_raster_files([file_name], band=band, **kwargs) + + @classmethod + def from_raster_file(cls, file_name, src_crs=None, window=None, + geometry=None, dst_crs=None, transform=None, width=None, + height=None, resampling=Resampling.nearest): + """Create a new Centroids object from a raster file + + Select region using window or geometry. Reproject input by providing + dst_crs and/or (transform, width, height). + + Parameters + ---------- + file_name : str + path of the file + src_crs : crs, optional + source CRS. Provide it if error without it. + window : rasterio.windows.Window, optional + window to read + geometry : list of shapely.geometry, optional + consider pixels only within these shapes + dst_crs : crs, optional + reproject to given crs + transform : rasterio.Affine + affine transformation to apply + wdith : float + number of lons for transform + height : float + number of lats for transform + resampling : rasterio.warp,.Resampling optional + resampling function used for reprojection to dst_crs + + Returns + ------- + centr : Centroids + Centroids with meta attribute according to the given raster file + """ + meta, _ = u_coord.read_raster( + file_name, [1], src_crs, window, geometry, dst_crs, + transform, width, height, resampling) + return cls(meta=meta) + + def values_from_raster_files(self, file_names, band=None, src_crs=None, window=None, + geometry=None, dst_crs=None, transform=None, width=None, + height=None, resampling=Resampling.nearest): + """Read raster of bands and set 0 values to the masked ones. + + Each band is an event. Select region using window or geometry. Reproject input by proving + dst_crs and/or (transform, width, height). + + Parameters + ---------- + file_names : str + path of the file + band : list(int), optional + band number to read. Default: [1] + src_crs : crs, optional + source CRS. Provide it if error without it. + window : rasterio.windows.Window, optional + window to read + geometry : list of shapely.geometry, optional + consider pixels only within these shapes + dst_crs : crs, optional + reproject to given crs + transform : rasterio.Affine + affine transformation to apply + wdith : float + number of lons for transform + height : float + number of lats for transform + resampling : rasterio.warp,.Resampling optional + resampling function used for reprojection to dst_crs + + Raises + ------ + ValueError + + Returns + ------- + inten : scipy.sparse.csr_matrix + Each row is an event. + """ + if band is None: + band = [1] + + values = [] + for file_name in file_names: + tmp_meta, data = u_coord.read_raster( + file_name, band, src_crs, window, geometry, dst_crs, + transform, width, height, resampling) + if (tmp_meta['crs'] != self.meta['crs'] + or tmp_meta['transform'] != self.meta['transform'] + or tmp_meta['height'] != self.meta['height'] + or tmp_meta['width'] != self.meta['width']): + raise ValueError('Raster data is inconsistent with contained raster.') + values.append(sparse.csr_matrix(data)) + + return sparse.vstack(values, format='csr') + + @classmethod + def from_vector_file(cls, file_name, dst_crs=None): + """Create Centroids object from vector file (any format supported by fiona). + + Parameters + ---------- + file_name : str + vector file with format supported by fiona and 'geometry' field. + dst_crs : crs, optional + reproject to given crs + + Returns + ------- + centr : Centroids + Centroids with points according to the given vector file + """ + data_frame = gpd.read_file(file_name) + if dst_crs is None: + geometry = data_frame.geometry + else: + geometry = data_frame.geometry.to_crs(dst_crs) + lat, lon = geometry[:].y.values, geometry[:].x.values + return cls(lat=lat, lon=lon, crs=dst_crs) + + def values_from_vector_files(self, file_names, val_names=None, dst_crs=None): + """Read intensity or other data from vector files, making sure that geometry is compatible. + + If the geometry of the shapes in any of the given files does not agree with the + geometry of this Centroids instance, a ValueError is raised. + + Parameters + ---------- + file_names : list(str) + vector files with format supported by fiona and 'geometry' field. + val_names : list(str), optional + list of names of the columns of the values. Default: ['intensity'] + dst_crs : crs, optional + reproject to given crs + + Raises + ------ + ValueError + + Returns + ------- + values : scipy.sparse.csr_matrix + Sparse array of shape (len(val_name), len(geometry)). + """ + if val_names is None: + val_names = ['intensity'] + + values = [] + for file_name in file_names: + tmp_lat, tmp_lon, tmp_geometry, data = u_coord.read_vector( + file_name, val_names, dst_crs=dst_crs) + if not (u_coord.equal_crs(tmp_geometry.crs, self.geometry.crs) + and np.allclose(tmp_lat, self.lat) + and np.allclose(tmp_lon, self.lon)): + raise ValueError('Vector data inconsistent with contained vector.') + values.append(sparse.csr_matrix(data)) + + return sparse.vstack(values, format='csr') + + @classmethod + def from_excel(cls, file_name, var_names=None): + """Generate a new centroids object from an excel file with column names in var_names. + + Parameters + ---------- + file_name : str + absolute or relative file name + var_names : dict, default + name of the variables + + Raises + ------ + KeyError + + Returns + ------- + centr : Centroids + Centroids with data from the given file + """ + LOGGER.info('Reading %s', file_name) + if var_names is None: + var_names = DEF_VAR_EXCEL + + try: + dfr = pd.read_excel(file_name, var_names['sheet_name']) + centr = cls.from_lat_lon(dfr[var_names['col_name']['lat']], + dfr[var_names['col_name']['lon']]) + try: + centr.region_id = dfr[var_names['col_name']['region_id']] + except KeyError: + pass + + except KeyError as err: + raise KeyError("Not existing variable: %s" % str(err)) from err + + return centr def write_hdf5(self, file_data): """Write centroids attributes into hdf5 format. @@ -1060,77 +919,6 @@ def _from_hdf5(cls, data): setattr(centr, centr_name, np.array(data.get(centr_name))) return centr - @property - def crs(self): - """Get CRS of raster or vector.""" - if self.meta: - return self.meta['crs'] - if self.geometry.crs: - return self.geometry.crs - return DEF_CRS - - @property - def size(self): - """Get number of pixels or points.""" - if self.meta: - return int(self.meta['height'] * self.meta['width']) - return self.lat.size - - @property - def shape(self): - """Get shape of rastered data.""" - try: - if self.meta: - return (self.meta['height'], self.meta['width']) - return (np.unique(self.lat).size, np.unique(self.lon).size) - except AttributeError: - return () - - @property - def total_bounds(self): - """Get total bounds (left, bottom, right, top).""" - if self.meta: - left = self.meta['transform'].xoff - right = left + self.meta['transform'][0] * self.meta['width'] - if left > right: - left, right = right, left - top = self.meta['transform'].yoff - bottom = top + self.meta['transform'][4] * self.meta['height'] - if bottom > top: - bottom, top = top, bottom - return left, bottom, right, top - return self.lon.min(), self.lat.min(), self.lon.max(), self.lat.max() - - @property - def coord(self): - """Get [lat, lon] array.""" - return np.stack([self.lat, self.lon], axis=1) - - def set_geometry_points(self, scheduler=None): - """Set `geometry` attribute with Points from `lat`/`lon` attributes. - - Parameters - ---------- - scheduler : str - used for dask map_partitions. “threads”, “synchronous” or “processes” - """ - def apply_point(df_exp): - return df_exp.apply((lambda row: Point(row.longitude, row.latitude)), axis=1) - if not self.geometry.size: - LOGGER.info('Convert centroids to GeoSeries of Point shapes.') - if (not self.lat.any() or not self.lon.any()) and self.meta: - self.set_meta_to_lat_lon() - if not scheduler: - self.geometry = gpd.GeoSeries( - gpd.points_from_xy(self.lon, self.lat), crs=self.geometry.crs) - else: - import dask.dataframe as dd - from multiprocessing import cpu_count - ddata = dd.from_pandas(self, npartitions=cpu_count()) - self.geometry = (ddata - .map_partitions(apply_point, meta=Point) - .compute(scheduler=scheduler)) - def _ne_crs_geom(self, scheduler=None): """Return `geometry` attribute in the CRS of Natural Earth. @@ -1143,62 +931,6 @@ def _ne_crs_geom(self, scheduler=None): ------- geo : gpd.GeoSeries """ - if not self.lat.size or not self.lon.size: - self.set_meta_to_lat_lon() - if u_coord.equal_crs(self.geometry.crs, u_coord.NE_CRS) and self.geometry.size: - return self.geometry - self.set_geometry_points(scheduler) - return self.geometry.to_crs(u_coord.NE_CRS) - - def __deepcopy__(self, memo): - """Avoid error deep copy in gpd.GeoSeries by setting only the crs.""" - cls = self.__class__ - result = cls.__new__(cls) - memo[id(self)] = result - for key, value in self.__dict__.items(): - if key == 'geometry': - setattr(result, key, gpd.GeoSeries(crs=self.geometry.crs)) - else: - setattr(result, key, copy.deepcopy(value, memo)) - return result - - -def generate_nat_earth_centroids(res_as=360, path=None, dist_coast=False): - """Generate hdf5 file containing Centroids of given resolution. - - For reproducibility, this is the function that generates the centroids files in - `NATEARTH_CENTROIDS`. These files are provided with CLIMADA so that this function should never - be called! - - Parameters - ---------- - res_as : int - Resolution of file in arc-seconds. Default: 360. - path : str, optional - If set, write resulting hdf5 file here instead of the default location. - dist_coast : bool, optional - If True, read distance from a NASA dataset (see util.coordinates.dist_to_coast_nasa). - Default: False. - """ - if path is None and res_as not in [150, 360]: - raise ValueError("Only 150 and 360 arc-seconds are supported!") - - res_deg = res_as / 3600 - lat_dim = np.arange(-90 + res_deg, 90, res_deg) - lon_dim = np.arange(-180 + res_deg, 180 + res_deg, res_deg) - lon, lat = [ar.ravel() for ar in np.meshgrid(lon_dim, lat_dim)] - natids = np.uint16(u_coord.get_country_code(lat, lon, gridded=False)) - - cen = Centroids.from_lat_lon(lat, lon) - cen.region_id = natids - cen.set_lat_lon_to_meta() - cen.lat = np.array([]) - cen.lon = np.array([]) - - if path is None: - path = NATEARTH_CENTROIDS[res_as] - - if dist_coast: - cen.set_dist_coast(precomputed=True, signed=False) - cen.dist_coast = np.float16(cen.dist_coast) - cen.write_hdf5(path) + if u_coord.equal_crs(self.gdfgeometry.crs, u_coord.NE_CRS): + return self.gdf.geometry + return self.gdf.geometry.to_crs(u_coord.NE_CRS) From 70ea2fb477821d7bdf5795c79cd93268e2bd121b Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Wed, 21 Jun 2023 17:49:00 +0200 Subject: [PATCH 003/192] Remove test for removed methods --- climada/hazard/centroids/test/test_centr.py | 44 --------------------- 1 file changed, 44 deletions(-) diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index cb859e7fc5..9b925a04d6 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -47,13 +47,6 @@ def test_mat_pass(self): self.assertEqual(centroids.coord[n_centroids - 1][0], 30) self.assertEqual(centroids.coord[n_centroids - 1][1], -75) - def test_mat_global_pass(self): - """Test read GLB_CENTROIDS_MAT""" - centroids = Centroids.from_mat(GLB_CENTROIDS_MAT) - - self.assertEqual(centroids.region_id[1062443], 35) - self.assertEqual(centroids.region_id[170825], 28) - def test_centroid_pass(self): """Read a centroid excel file correctly.""" centroids = Centroids.from_excel(HAZ_TEMPLATE_XLS) @@ -66,27 +59,6 @@ def test_centroid_pass(self): self.assertEqual(centroids.coord[n_centroids - 1][0], -24.7) self.assertEqual(centroids.coord[n_centroids - 1][1], 33.88) - def test_base_grid(self): - """Read new centroids using from_base_grid, then select by extent.""" - centroids = Centroids.from_base_grid(land=True, res_as=150) - self.assertEqual(centroids.lat.size, 8858035) - self.assertTrue(np.all(np.diff(centroids.lat) <= 0)) - - count_sandwich = np.sum(centroids.region_id == 239) - self.assertEqual(count_sandwich, 321) - - count_sgi = centroids.select( - reg_id=239, - extent=(-39, -34.7, -55.5, -53.6) # south georgia island - ).size - self.assertEqual(count_sgi, 296) - - # test negative latitudinal orientation by testing that northern hemisphere (Russia) - # is listed before southern hemisphere (South Africa) - russia_max_idx = (centroids.region_id == 643).nonzero()[0].max() - safrica_min_idx = (centroids.region_id == 710).nonzero()[0].min() - self.assertTrue(russia_max_idx < safrica_min_idx) - def test_geodataframe(self): """Test that constructing a valid Centroids instance from gdf works.""" gdf = gpd.GeoDataFrame(pd.read_excel(HAZ_TEMPLATE_XLS)) @@ -99,13 +71,11 @@ def test_geodataframe(self): gdf['geom'] = gdf.geometry # this should have no effect on centroids centroids = Centroids.from_geodataframe(gdf) - centroids.check() self.assertEqual(centroids.geometry.size, 45) self.assertEqual(centroids.lon[0], 32.57) self.assertEqual(centroids.lat[0], -25.95) self.assertEqual(centroids.elevation.size, 45) - self.assertEqual(centroids.on_land.sum(), 44) self.assertIsInstance(centroids.geometry, gpd.GeoSeries) self.assertIsInstance(centroids.geometry.total_bounds, np.ndarray) @@ -167,20 +137,6 @@ def test_union(self): np.testing.assert_array_equal(cent.lon, [0, -1, -2, 3, 1, 2]) - def test_union_meta(self): - cent1 = Centroids.from_pnt_bounds((-1, -1, 0, 0), res=1) - cent2 = Centroids.from_pnt_bounds((0, 0, 1, 1), res=1) - cent3 = Centroids.from_lat_lon(np.array([1]), np.array([1])) - - cent = cent1.union(cent2) - np.testing.assert_array_equal(cent.lat, [0, 0, -1, -1, 1, 1, 0]) - np.testing.assert_array_equal(cent.lon, [-1, 0, -1, 0, 0, 1, 1]) - - cent = cent3.union(cent1) - np.testing.assert_array_equal(cent.lat, [1, 0, 0, -1, -1]) - np.testing.assert_array_equal(cent.lon, [1, -1, 0, -1, 0]) - - # Execute Tests if __name__ == "__main__": TESTS = unittest.TestLoader().loadTestsFromTestCase(TestCentroidsReader) From e34bc0f3bc61a2635fb6c5c73367b933a187e1a3 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Wed, 21 Jun 2023 17:49:13 +0200 Subject: [PATCH 004/192] Fix from geodataframe method --- climada/hazard/centroids/centr.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 8aefb25a55..fac98a6265 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -30,10 +30,10 @@ import matplotlib.pyplot as plt import numpy as np import pandas as pd -from pyproj.crs import CRS +from pyproj.crs.crs import CRS import rasterio -from rasterio.warp import Resampling from scipy import sparse +from rasterio.warp import Resampling from shapely.geometry.point import Point from climada.util.constants import (DEF_CRS, @@ -110,7 +110,7 @@ def __init__( dist_coast: Optional[np.ndarray] = None, elevation: Optional[np.ndarray] = None, area_pixel: Optional[np.ndarray] = None, - **kwargs: Optional[dict] = None + **kwargs ): """Initialization @@ -143,15 +143,15 @@ def __init__( } if kwargs: attr_dict = dict(**attr_dict, **kwargs) - self.gdf = gpd.GeoDataFrame(attr_dict, crs=crs) + self.gdf = gpd.GeoDataFrame(data=attr_dict, crs=crs) - @property`` + @property def lat(self): - return self.gdf.geometry.y + return self.gdf.geometry.y.values @property def lon(self): - return self.gdf.geometry.x + return self.gdf.geometry.x.values @property def geometry(self): @@ -215,8 +215,8 @@ def __eq__(self, other): return self.gdf.equals(other.gdf) & u_coord.equal_crs(self.crs, other.crs) @classmethod - def from_gdf(cls, gdf): - return cls(lon=gdf.x, lat=gdf.y, crs=gdf.crs, **gdf.drop('geometry').to_dict()) + def from_geodataframe(cls, gdf): + return cls(lon=gdf.geometry.x.values, lat=gdf.geometry.y.values, crs=gdf.crs, **gdf.drop(columns=['geometry']).to_dict(orient='list')) @classmethod @@ -244,7 +244,6 @@ def from_pnt_bounds(cls, points_bounds, res, crs=DEF_CRS): return cls(lat=y_grid, lon=x_grid, crs=crs) - def append(self, centr): """Append centroids points. @@ -308,7 +307,7 @@ def union(self, *others): getattr(Centroids, fun_name)(cent) # create new Centroids object and set concatenated attributes - centroids = Centroids() + centroids = Centroids(None, None) for attr_name, attr_val in vars(cent_list[0]).items(): if isinstance(attr_val, np.ndarray) and attr_val.ndim == 1: attr_val_list = [getattr(cent, attr_name) for cent in cent_list] From 02b4a8b96db3c218e5251c4afe254d7675129024 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 22 Jun 2023 08:45:45 +0200 Subject: [PATCH 005/192] Remove set meta to lat lon --- climada/hazard/centroids/centr.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index fac98a6265..708269aaf2 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -258,7 +258,6 @@ def append(self, centr): """ self.gdf = pd.concat([self.gdf, centr.gdf]) - def union(self, *others): """ Create the union of centroids from the inputs. @@ -493,9 +492,6 @@ def select(self, reg_id=None, extent=None, sel_cen=None): if sel_cen is None: sel_cen = self.select_mask(reg_id=reg_id, extent=extent) - if not self.lat.size or not self.lon.size: - self.set_meta_to_lat_lon() - centr = Centroids.from_lat_lon(self.lat[sel_cen], self.lon[sel_cen], self.geometry.crs) if self.area_pixel.size: centr.area_pixel = self.area_pixel[sel_cen] From 5ede9bd90f740de8f9ec0b7303491f9c4c8244a3 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 29 Jun 2023 15:16:57 +0200 Subject: [PATCH 006/192] Update all I/O methods --- climada/hazard/centroids/centr.py | 501 ++++---------------- climada/hazard/centroids/test/test_centr.py | 76 ++- 2 files changed, 137 insertions(+), 440 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 708269aaf2..f07b79cb35 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -23,16 +23,14 @@ import logging from pathlib import Path from typing import Optional, Dict, Any +import warnings import cartopy.crs as ccrs import geopandas as gpd -import h5py import matplotlib.pyplot as plt import numpy as np import pandas as pd from pyproj.crs.crs import CRS -import rasterio -from scipy import sparse from rasterio.warp import Resampling from shapely.geometry.point import Point @@ -67,6 +65,10 @@ 'region_id': 'region_id', 'lat': 'latitude', 'lon': 'longitude', + 'on_land': 'on_land', + 'dist_coast': 'dist_coast', + 'elevation': 'elevation', + ' area_pixel': 'area_pixel' } } """Excel variable names""" @@ -102,8 +104,8 @@ class Centroids(): def __init__( self, - lon: np.ndarray, - lat: np.ndarray, + longitude: np.ndarray, + latitude: np.ndarray, crs: str = DEF_CRS, region_id: Optional[np.ndarray] = None, on_land: Optional[np.ndarray] = None, @@ -134,13 +136,18 @@ def __init__( distance to coast of size size. Defaults to empty array """ attr_dict = { - 'geometry': gpd.points_from_xy(lon, lat, crs=crs), - 'region_id' : region_id, - 'on_land' : on_land, - 'dist_coast' : dist_coast, - 'elevation' : elevation, - 'area_pixel' : area_pixel, + 'geometry': gpd.points_from_xy(longitude, latitude, crs=crs), } + if region_id is not None: + attr_dict['region_id'] = region_id + if on_land is not None: + attr_dict['on_land'] = on_land + if dist_coast is not None: + attr_dict['dist_coast'] = dist_coast + if elevation is not None: + attr_dict['elevation'] = elevation + if area_pixel is not None: + attr_dict['area_pixel'] = area_pixel if kwargs: attr_dict = dict(**attr_dict, **kwargs) self.gdf = gpd.GeoDataFrame(data=attr_dict, crs=crs) @@ -216,8 +223,7 @@ def __eq__(self, other): @classmethod def from_geodataframe(cls, gdf): - return cls(lon=gdf.geometry.x.values, lat=gdf.geometry.y.values, crs=gdf.crs, **gdf.drop(columns=['geometry']).to_dict(orient='list')) - + return cls(longitude=gdf.geometry.x.values, latitude=gdf.geometry.y.values, crs=gdf.crs, **gdf.drop(columns=['geometry']).to_dict(orient='list')) @classmethod def from_pnt_bounds(cls, points_bounds, res, crs=DEF_CRS): @@ -243,7 +249,6 @@ def from_pnt_bounds(cls, points_bounds, res, crs=DEF_CRS): x_grid, y_grid = u_coord.raster_to_meshgrid(ras_trans, cols, rows) return cls(lat=y_grid, lon=x_grid, crs=crs) - def append(self, centr): """Append centroids points. @@ -252,10 +257,17 @@ def append(self, centr): centr : Centroids Centroids to append. The centroids need to have the same CRS. + Raises + ------ + ValueError + See Also -------- union : Union of Centroid objects. """ + if not u_coord.equal_crs(self.crs, centr.crs): + raise ValueError( + "The centroids have different Coordinate-Reference-Systems (CRS)") self.gdf = pd.concat([self.gdf, centr.gdf]) def union(self, *others): @@ -264,10 +276,6 @@ def union(self, *others): The centroids are combined together point by point. All centroids must have the same CRS. - When at least one centroids has one of the following property - defined, it is also computed for all others. - .area_pixel, .dist_coast, .on_land, .region_id, .elevetaion' - Parameters ---------- others : any number of climada.hazard.Centroids() @@ -278,45 +286,13 @@ def union(self, *others): centroids : Centroids Centroids containing the union of the centroids in others. - Raises - ------ - ValueError """ - # restrict to non-empty centroids - cent_list = [c for c in (self,) + others if c.size > 0] # pylint: disable=no-member - if len(cent_list) == 0 or len(others) == 0: - return copy.deepcopy(self) - - # check if all centroids are identical - if all([cent_list[0] == cent for cent in cent_list[1:]]): - return copy.deepcopy(cent_list[0]) - - # make sure that all Centroids have the same CRS - for cent in cent_list: - if not u_coord.equal_crs(cent.crs, cent_list[0].crs): - raise ValueError('In a union, all Centroids need to have the same CRS: ' - f'{cent.crs} != {cent_list[0].crs}') - - # set attributes that are missing in some but defined in others - for attr in ["geometry", "area_pixel", "dist_coast", "on_land", "region_id", "elevation"]: - if np.any([getattr(cent, attr).size > 0 for cent in cent_list]): - for cent in cent_list: - if not getattr(cent, attr).size > 0: - fun_name = f"set_{attr}{'_points' if attr == 'geometry' else ''}" - getattr(Centroids, fun_name)(cent) - - # create new Centroids object and set concatenated attributes - centroids = Centroids(None, None) - for attr_name, attr_val in vars(cent_list[0]).items(): - if isinstance(attr_val, np.ndarray) and attr_val.ndim == 1: - attr_val_list = [getattr(cent, attr_name) for cent in cent_list] - setattr(centroids, attr_name, np.hstack(attr_val_list)) - elif isinstance(attr_val, gpd.GeoSeries): - attr_val_list = [getattr(cent, attr_name) for cent in cent_list] - setattr(centroids, attr_name, pd.concat(attr_val_list, ignore_index=True)) - - # finally, remove duplicate points - return centroids.remove_duplicate_points() + centroids = copy.deepcopy(self) + for cent in others: + centroids.append(cent) + + # remove duplicate points + return Centroids.remove_duplicate_points(centroids) def get_closest_point(self, x_lon, y_lat, scheduler=None): """Returns closest centroid and its index to a given point. @@ -385,35 +361,22 @@ def set_area_approx(self, min_resol=1.0e-8): min_resol : float, optional if centroids are points, use this minimum resolution in lat and lon. Default: 1.0e-8 """ - if self.meta: - if hasattr(self.meta['crs'], 'linear_units') and \ - str.lower(self.meta['crs'].linear_units) in ['m', 'metre', 'meter']: - self.area_pixel = np.zeros((self.meta['height'], self.meta['width'])) - self.area_pixel *= abs(self.meta['transform'].a) * abs(self.meta['transform'].e) - return - res_lat, res_lon = self.meta['transform'].e, self.meta['transform'].a - lat_unique = np.arange(self.meta['transform'].f + res_lat / 2, - self.meta['transform'].f + self.meta['height'] * res_lat, - res_lat) - lon_unique_len = self.meta['width'] - res_lat = abs(res_lat) - else: - res_lat, res_lon = np.abs( - u_coord.get_resolution(self.lat, self.lon, min_resol=min_resol)) - lat_unique = np.array(np.unique(self.lat)) - lon_unique_len = len(np.unique(self.lon)) - if PROJ_CEA == self.geometry.crs: - self.area_pixel = np.repeat(res_lat * res_lon, lon_unique_len) - return - - LOGGER.debug('Setting area_pixel approx %s points.', str(self.lat.size)) + res_lat, res_lon = np.abs( + u_coord.get_resolution(self.lat, self.lon, min_resol=min_resol)) + lat_unique = np.array(np.unique(self.lat)) + lon_unique_len = len(np.unique(self.lon)) + if PROJ_CEA == self.geometry.crs: + self.gdf.area_pixel = np.repeat(res_lat * res_lon, lon_unique_len) + return None + + LOGGER.debug('Setting area_pixel approx %s points.', str(self.size)) res_lat = res_lat * ONE_LAT_KM * 1000 res_lon = res_lon * ONE_LAT_KM * 1000 * np.cos(np.radians(lat_unique)) area_approx = np.repeat(res_lat * res_lon, lon_unique_len) if area_approx.size == self.size: - self.area_pixel = area_approx + self.gdf.area_pixel = area_approx else: - raise ValueError('Pixel area of points can not be computed.') + raise ValueError('Pixel area of points cannot be computed.') def set_elevation(self, topo_path): """Set elevation attribute for every pixel or point in meters. @@ -467,82 +430,15 @@ def remove_duplicate_points(cls, centroids): : Centroids Sub-selection of centroids withtout duplicates """ - return cls().from_gdf(centroids.gdf.drop_duplicates()) - - def select(self, reg_id=None, extent=None, sel_cen=None): - """Return Centroids with points in the given reg_id or within mask - - Parameters - ---------- - reg_id : int - region to filter according to region_id values - extent : tuple - Format (min_lon, max_lon, min_lat, max_lat) tuple. - If min_lon > lon_max, the extend crosses the antimeridian and is - [lon_max, 180] + [-180, lon_min] - Borders are inclusive. - sel_cen : np.array - 1-dim mask, overrides reg_id and extent - - Returns - ------- - cen : Centroids - Sub-selection of this object - """ - if sel_cen is None: - sel_cen = self.select_mask(reg_id=reg_id, extent=extent) - - centr = Centroids.from_lat_lon(self.lat[sel_cen], self.lon[sel_cen], self.geometry.crs) - if self.area_pixel.size: - centr.area_pixel = self.area_pixel[sel_cen] - if self.region_id.size: - centr.region_id = self.region_id[sel_cen] - if self.on_land.size: - centr.on_land = self.on_land[sel_cen] - if self.dist_coast.size: - centr.dist_coast = self.dist_coast[sel_cen] - return centr - - def select_mask(self, reg_id=None, extent=None): - """ - Make mask of selected centroids - - Parameters - ---------- - reg_id : int - region to filter according to region_id values - extent : tuple - Format (min_lon, max_lon, min_lat, max_lat) tuple. - If min_lon > lon_max, the extend crosses the antimeridian and is - [lon_max, 180] + [-180, lon_min] - Borders are inclusive. - - Returns - ------- - sel_cen : 1d array of booleans - 1d mask of selected centroids + return cls.from_geodataframe(centroids.gdf.drop_duplicates()) - """ - sel_cen = np.ones(self.size, dtype=bool) - if reg_id is not None: - sel_cen &= np.isin(self.region_id, reg_id) - if extent is not None: - lon_min, lon_max, lat_min, lat_max = extent - lon_max += 360 if lon_min > lon_max else 0 - lon_normalized = u_coord.lon_normalize( - self.lon.copy(), center=0.5 * (lon_min + lon_max)) - sel_cen &= ( - (lon_normalized >= lon_min) & (lon_normalized <= lon_max) & - (self.lat >= lat_min) & (self.lat <= lat_max) - ) - return sel_cen - - def plot(self, axis=None, figsize=(9, 13), **kwargs): + #TODO replace with nice Geodataframe util plot method. + def plot(self, ax=None, figsize=(9, 13), **kwargs): """Plot centroids scatter points over earth. Parameters ---------- - axis : matplotlib.axes._subplots.AxesSubplot, optional + ax : matplotlib.axes._subplots.AxesSubplot, optional axis to use figsize: (float, float), optional figure size for plt.subplots @@ -554,48 +450,21 @@ def plot(self, axis=None, figsize=(9, 13), **kwargs): ------- axis : matplotlib.axes._subplots.AxesSubplot """ - if self.meta and not self.coord.size: - self.set_meta_to_lat_lon() - pad = np.abs(u_coord.get_resolution(self.lat, self.lon)).min() - proj_data, _ = u_plot.get_transformation(self.crs) proj_plot = proj_data if isinstance(proj_data, ccrs.PlateCarree): # use different projections for plot and data to shift the central lon in the plot xmin, ymin, xmax, ymax = u_coord.latlon_bounds(self.lat, self.lon, buffer=pad) proj_plot = ccrs.PlateCarree(central_longitude=0.5 * (xmin + xmax)) - else: - xmin, ymin, xmax, ymax = (self.lon.min() - pad, self.lat.min() - pad, - self.lon.max() + pad, self.lat.max() + pad) - if not axis: - _, axis, _fontsize = u_plot.make_map(proj=proj_plot, figsize=figsize) + if ax is None: + ax = self.gdf.copy().to_crs(proj_plot).plot(figsize=figsize, **kwargs) + else: + self.gdf.copy().to_crs(proj_plot).plot(figsize=figsize, **kwargs) - axis.set_extent((xmin, xmax, ymin, ymax), crs=proj_data) - u_plot.add_shapes(axis) - axis.scatter(self.lon, self.lat, transform=proj_data, **kwargs) + u_plot.add_shapes(ax) plt.tight_layout() - return axis - - def calc_pixels_polygons(self, scheduler=None): - """Return a gpd.GeoSeries with a polygon for every pixel - - Parameters - ---------- - scheduler : str - used for dask map_partitions. “threads”, “synchronous” or “processes” - - Returns - ------- - geo : gpd.GeoSeries - """ - if not self.meta: - self.set_lat_lon_to_meta() - if abs(abs(self.meta['transform'].a) - - abs(self.meta['transform'].e)) > 1.0e-5: - raise ValueError('Area can not be computed for not squared pixels.') - self.set_geometry_points(scheduler) - return self.geometry.buffer(self.meta['transform'].a / 2).envelope + return ax ''' @@ -603,16 +472,6 @@ def calc_pixels_polygons(self, scheduler=None): ''' - def set_raster_file(self, file_name, band=None, **kwargs): - """This function is deprecated, use Centroids.from_raster_file - and Centroids.values_from_raster_files instead.""" - LOGGER.warning("The use of Centroids.set_raster_file is deprecated. " - "Use Centroids.from_raster_file and " - "Centroids.values_from_raster_files instead.") - if not self.meta: - self.__dict__ = Centroids.from_raster_file(file_name, **kwargs).__dict__ - return self.values_from_raster_files([file_name], band=band, **kwargs) - @classmethod def from_raster_file(cls, file_name, src_crs=None, window=None, geometry=None, dst_crs=None, transform=None, width=None, @@ -651,64 +510,9 @@ def from_raster_file(cls, file_name, src_crs=None, window=None, meta, _ = u_coord.read_raster( file_name, [1], src_crs, window, geometry, dst_crs, transform, width, height, resampling) - return cls(meta=meta) - - def values_from_raster_files(self, file_names, band=None, src_crs=None, window=None, - geometry=None, dst_crs=None, transform=None, width=None, - height=None, resampling=Resampling.nearest): - """Read raster of bands and set 0 values to the masked ones. - - Each band is an event. Select region using window or geometry. Reproject input by proving - dst_crs and/or (transform, width, height). - - Parameters - ---------- - file_names : str - path of the file - band : list(int), optional - band number to read. Default: [1] - src_crs : crs, optional - source CRS. Provide it if error without it. - window : rasterio.windows.Window, optional - window to read - geometry : list of shapely.geometry, optional - consider pixels only within these shapes - dst_crs : crs, optional - reproject to given crs - transform : rasterio.Affine - affine transformation to apply - wdith : float - number of lons for transform - height : float - number of lats for transform - resampling : rasterio.warp,.Resampling optional - resampling function used for reprojection to dst_crs + lat, lon = _meta_to_lat_lon(meta) + return cls(lon=lon, lat=lat, crs=dst_crs) - Raises - ------ - ValueError - - Returns - ------- - inten : scipy.sparse.csr_matrix - Each row is an event. - """ - if band is None: - band = [1] - - values = [] - for file_name in file_names: - tmp_meta, data = u_coord.read_raster( - file_name, band, src_crs, window, geometry, dst_crs, - transform, width, height, resampling) - if (tmp_meta['crs'] != self.meta['crs'] - or tmp_meta['transform'] != self.meta['transform'] - or tmp_meta['height'] != self.meta['height'] - or tmp_meta['width'] != self.meta['width']): - raise ValueError('Raster data is inconsistent with contained raster.') - values.append(sparse.csr_matrix(data)) - - return sparse.vstack(values, format='csr') @classmethod def from_vector_file(cls, file_name, dst_crs=None): @@ -726,63 +530,21 @@ def from_vector_file(cls, file_name, dst_crs=None): centr : Centroids Centroids with points according to the given vector file """ - data_frame = gpd.read_file(file_name) - if dst_crs is None: - geometry = data_frame.geometry - else: - geometry = data_frame.geometry.to_crs(dst_crs) - lat, lon = geometry[:].y.values, geometry[:].x.values - return cls(lat=lat, lon=lon, crs=dst_crs) - - def values_from_vector_files(self, file_names, val_names=None, dst_crs=None): - """Read intensity or other data from vector files, making sure that geometry is compatible. - - If the geometry of the shapes in any of the given files does not agree with the - geometry of this Centroids instance, a ValueError is raised. - - Parameters - ---------- - file_names : list(str) - vector files with format supported by fiona and 'geometry' field. - val_names : list(str), optional - list of names of the columns of the values. Default: ['intensity'] - dst_crs : crs, optional - reproject to given crs - - Raises - ------ - ValueError - - Returns - ------- - values : scipy.sparse.csr_matrix - Sparse array of shape (len(val_name), len(geometry)). - """ - if val_names is None: - val_names = ['intensity'] - values = [] - for file_name in file_names: - tmp_lat, tmp_lon, tmp_geometry, data = u_coord.read_vector( - file_name, val_names, dst_crs=dst_crs) - if not (u_coord.equal_crs(tmp_geometry.crs, self.geometry.crs) - and np.allclose(tmp_lat, self.lat) - and np.allclose(tmp_lon, self.lon)): - raise ValueError('Vector data inconsistent with contained vector.') - values.append(sparse.csr_matrix(data)) + centroids = cls.from_geodataframe(gpd.read_file(file_name)) + if dst_crs is not None: + centroids.to_crs(dst_crs, inplace=True) + return centroids - return sparse.vstack(values, format='csr') @classmethod - def from_excel(cls, file_name, var_names=None): + def from_excel(cls, file_name, crs): """Generate a new centroids object from an excel file with column names in var_names. Parameters ---------- file_name : str absolute or relative file name - var_names : dict, default - name of the variables Raises ------ @@ -793,76 +555,38 @@ def from_excel(cls, file_name, var_names=None): centr : Centroids Centroids with data from the given file """ - LOGGER.info('Reading %s', file_name) - if var_names is None: - var_names = DEF_VAR_EXCEL - - try: - dfr = pd.read_excel(file_name, var_names['sheet_name']) - centr = cls.from_lat_lon(dfr[var_names['col_name']['lat']], - dfr[var_names['col_name']['lon']]) - try: - centr.region_id = dfr[var_names['col_name']['region_id']] - except KeyError: - pass + df = pd.read_excel(file_name) + centroids = cls(**df.to_dict(orient='list'), crs=crs) + return centroids - except KeyError as err: - raise KeyError("Not existing variable: %s" % str(err)) from err - - return centr - - def write_hdf5(self, file_data): - """Write centroids attributes into hdf5 format. + def write_hdf5(self, file_name): + """Write data frame and metadata in hdf5 format Parameters ---------- - file_data : str or h5 - If string, path to write data. If h5 object, the datasets will be generated there. + file_name : str + (path and) file name to write to. """ - if isinstance(file_data, str): - LOGGER.info('Writing %s', file_data) - with h5py.File(file_data, 'w') as data: - self._write_hdf5(data) - else: - self._write_hdf5(file_data) - - def _write_hdf5(self, data): - str_dt = h5py.special_dtype(vlen=str) - for centr_name, centr_val in self.__dict__.items(): - if isinstance(centr_val, np.ndarray): - data.create_dataset(centr_name, data=centr_val, compression="gzip") - elif centr_name == 'meta' and centr_val: - centr_meta = data.create_group(centr_name) - for key, value in centr_val.items(): - if value is None: - LOGGER.info("Skip writing Centroids.meta['%s'] for it is None.", key) - elif key not in ('crs', 'transform'): - if not isinstance(value, str): - centr_meta.create_dataset(key, (1,), data=value, dtype=type(value)) - else: - hf_str = centr_meta.create_dataset(key, (1,), dtype=str_dt) - hf_str[0] = value - elif key == 'transform': - centr_meta.create_dataset( - key, (6,), - data=[value.a, value.b, value.c, value.d, value.e, value.f], - dtype=float) - elif centr_name == 'geometry': - LOGGER.debug("Skip writing Centroids.geometry") - else: - LOGGER.info("Skip writing Centroids.%s:%s, it's neither an array nor a non-empty" - " meta object", centr_name, centr_val.__class__.__name__) - hf_str = data.create_dataset('crs', (1,), dtype=str_dt) - hf_str[0] = CRS.from_user_input(self.crs).to_wkt() - - def read_hdf5(self, *args, **kwargs): - """This function is deprecated, use Centroids.from_hdf5 instead.""" - LOGGER.warning("The use of Centroids.read_hdf5 is deprecated." - "Use Centroids.from_hdf5 instead.") - self.__dict__ = Centroids.from_hdf5(*args, **kwargs).__dict__ + LOGGER.info('Writing %s', file_name) + store = pd.HDFStore(file_name, mode='w') + pandas_df = pd.DataFrame(self.gdf) + for col in pandas_df.columns: + if str(pandas_df[col].dtype) == "geometry": + pandas_df[col] = np.asarray(self.gdf[col]) + + # Avoid pandas PerformanceWarning when writing HDF5 data + with warnings.catch_warnings(): + warnings.simplefilter("ignore", category=pd.errors.PerformanceWarning) + # Write dataframe + store.put('centroids', pandas_df) + + store.get_storer('centroids').attrs.metadata = {'crs': CRS.from_user_input(self.crs).to_wkt()} + + store.close() + @classmethod - def from_hdf5(cls, file_data): + def from_hdf5(cls, file_name): """Create a centroids object from a HDF5 file. Parameters @@ -875,44 +599,18 @@ def from_hdf5(cls, file_data): centr : Centroids Centroids with data from the given file """ - if isinstance(file_data, (str, Path)): - LOGGER.info('Reading %s', file_data) - with h5py.File(file_data, 'r') as data: - return cls._from_hdf5(data) - else: - return cls._from_hdf5(file_data) + if not Path(file_name).is_file(): + raise FileNotFoundError(str(file_name)) + + with pd.HDFStore(file_name, mode='r') as store: + metadata = store.get_storer('centroids').attrs.metadata + # in previous versions of CLIMADA and/or geopandas, the CRS was stored in '_crs'/'crs' + crs = metadata.get('crs') + gdf = gpd.GeoDataFrame(store['centroids'], crs=crs) + + return cls.from_geodataframe(gdf) + - @classmethod - def _from_hdf5(cls, data): - centr = None - crs = DEF_CRS - if data.get('crs'): - crs = u_coord.to_crs_user_input(data.get('crs')[0]) - if data.get('lat') and data.get('lat').size: - centr = cls.from_lat_lon( - np.array(data.get('lat')), - np.array(data.get('lon')), - crs=crs) - elif data.get('latitude') and data.get('latitude').size: - centr = cls.from_lat_lon( - np.array(data.get('latitude')), - np.array(data.get('longitude')), - crs=crs) - else: - centr_meta = data.get('meta') - meta = dict() - meta['crs'] = crs - for key, value in centr_meta.items(): - if key != 'transform': - meta[key] = value[0] - else: - meta[key] = rasterio.Affine(*value) - centr = cls(meta=meta) - - for centr_name in data.keys(): - if centr_name not in ('crs', 'lat', 'lon', 'meta'): - setattr(centr, centr_name, np.array(data.get(centr_name))) - return centr def _ne_crs_geom(self, scheduler=None): """Return `geometry` attribute in the CRS of Natural Earth. @@ -929,3 +627,10 @@ def _ne_crs_geom(self, scheduler=None): if u_coord.equal_crs(self.gdfgeometry.crs, u_coord.NE_CRS): return self.gdf.geometry return self.gdf.geometry.to_crs(u_coord.NE_CRS) + +def _meta_to_lat_lon(meta): + """Compute lat and lon of every pixel center from meta raster.""" + xgrid, ygrid = u_coord.raster_to_meshgrid( + meta['transform'], meta['width'], meta['height'] + ) + return ygrid.flatten(), xgrid.flatten() diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index 9b925a04d6..4c75ddcb3a 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -29,6 +29,9 @@ from climada.hazard.centroids.centr import Centroids from climada.util.constants import GLB_CENTROIDS_MAT, HAZ_TEMPLATE_XLS import climada.hazard.test as hazard_test +from climada.util.constants import DEF_CRS +import climada.util.coordinates as u_coord + HAZ_TEST_MAT = Path(hazard_test.__file__).parent / 'data' / 'atl_prob_no_name.mat' @@ -36,20 +39,9 @@ class TestCentroidsReader(unittest.TestCase): """Test read functions Centroids""" - def test_mat_pass(self): - """Read a centroid mat file correctly.""" - centroids = Centroids.from_mat(HAZ_TEST_MAT) - - n_centroids = 100 - self.assertEqual(centroids.coord.shape, (n_centroids, 2)) - self.assertEqual(centroids.coord[0][0], 21) - self.assertEqual(centroids.coord[0][1], -84) - self.assertEqual(centroids.coord[n_centroids - 1][0], 30) - self.assertEqual(centroids.coord[n_centroids - 1][1], -75) - def test_centroid_pass(self): """Read a centroid excel file correctly.""" - centroids = Centroids.from_excel(HAZ_TEMPLATE_XLS) + centroids = Centroids.from_excel(HAZ_TEMPLATE_XLS, crs=DEF_CRS) n_centroids = 45 self.assertEqual(centroids.coord.shape[0], n_centroids) @@ -61,40 +53,40 @@ def test_centroid_pass(self): def test_geodataframe(self): """Test that constructing a valid Centroids instance from gdf works.""" - gdf = gpd.GeoDataFrame(pd.read_excel(HAZ_TEMPLATE_XLS)) - gdf.geometry = gpd.points_from_xy( - gdf['longitude'], gdf['latitude'] - ) - gdf['elevation'] = np.random.rand(gdf.geometry.size) - gdf['region_id'] = np.zeros(gdf.geometry.size) - gdf['region_id'][0] = np.NaN - gdf['geom'] = gdf.geometry # this should have no effect on centroids + crs = DEF_CRS + lat = np.arange(170, 180) + lon = np.arange(-50, -40) + elevation = np.repeat(1, 10) + region_id = np.arange(1, 11) + extra = np.repeat(str('a'), 10) + + gdf = gpd.GeoDataFrame({ + 'geometry' : gpd.points_from_xy(lon, lat), + 'elevation' : elevation, + 'region_id' : region_id, + 'extra' : extra + }, crs=crs) centroids = Centroids.from_geodataframe(gdf) - self.assertEqual(centroids.geometry.size, 45) - self.assertEqual(centroids.lon[0], 32.57) - self.assertEqual(centroids.lat[0], -25.95) - self.assertEqual(centroids.elevation.size, 45) - self.assertIsInstance(centroids.geometry, gpd.GeoSeries) - self.assertIsInstance(centroids.geometry.total_bounds, np.ndarray) + for name, array in zip(['lat', 'lon', 'elevation', 'region_id'], + [lat, lon, elevation, region_id]): + np.testing.assert_array_equal(array, getattr(centroids, name)) + np.testing.assert_array_equal(extra, centroids.gdf.extra.values) + self.assertTrue(u_coord.equal_crs(centroids.crs, crs)) class TestCentroidsWriter(unittest.TestCase): - def test_write_hdf5(self): - tmpfile = 'test_write_hdf5.out.hdf5' - xf_lat, xo_lon, d_lat, d_lon, n_lat, n_lon = 5, 6.5, -0.08, 0.12, 4, 5 - centr = Centroids.from_pix_bounds(xf_lat, xo_lon, d_lat, d_lon, n_lat, n_lon) - with self.assertLogs('climada.hazard.centroids.centr', level='INFO') as cm: - centr.write_hdf5(tmpfile) - self.assertEqual(1, len(cm.output)) - self.assertIn(f"Writing {tmpfile}", cm.output[0]) - centr.meta['nodata'] = None - with self.assertLogs('climada.hazard.centroids.centr', level='INFO') as cm: - centr.write_hdf5(tmpfile) - self.assertEqual(2, len(cm.output)) - self.assertIn("Skip writing Centroids.meta['nodata'] for it is None.", cm.output[1]) + def test_read_write_hdf5(self): + tmpfile = Path('test_write_hdf5.out.hdf5') + latitude = np.arange(0,10) + longitude = np.arange(-10,0) + crs = DEF_CRS + centroids_w = Centroids(latitude=latitude, longitude=longitude, crs=crs) + centroids_w.write_hdf5(tmpfile) + centroids_r = Centroids.from_hdf5(tmpfile) + self.assertTrue(centroids_w == centroids_r) Path(tmpfile).unlink() @@ -103,14 +95,14 @@ class TestCentroidsMethods(unittest.TestCase): def test_union(self): lat, lon = np.array([0, 1]), np.array([0, -1]) on_land = np.array([True, True]) - cent1 = Centroids(lat=lat, lon=lon, on_land=on_land) + cent1 = Centroids(latitude=lat, longitude=lon, on_land=on_land) lat2, lon2 = np.array([2, 3]), np.array([-2, 3]) on_land2 = np.array([False, False]) - cent2 = Centroids(lat=lat2, lon=lon2, on_land=on_land2) + cent2 = Centroids(latitude=lat2, longitude=lon2, on_land=on_land2) lat3, lon3 = np.array([-1, -2]), np.array([1, 2]) - cent3 = Centroids(lat=lat3,lon=lon3) + cent3 = Centroids(latitude=lat3,longitude=lon3) cent = cent1.union(cent2) np.testing.assert_array_equal(cent.lat, [0, 1, 2, 3]) From 98a898e2328908d331fb0a788598a1d8c079bae6 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Fri, 14 Jul 2023 13:34:44 +0200 Subject: [PATCH 007/192] Remove area pixel --- climada/hazard/centroids/centr.py | 71 ++++++------------------------- 1 file changed, 13 insertions(+), 58 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index f07b79cb35..225480a629 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -82,9 +82,9 @@ class Centroids(): Attributes ---------- lat : np.array - latitudes + latitudes in the chosen crs (can be any unit) lon : np.array - longitudes + longitudes in the chosen crs (can be any unit) crs : str, optional coordinate reference system, default is WGS84 area_pixel : np.array, optional @@ -111,7 +111,6 @@ def __init__( on_land: Optional[np.ndarray] = None, dist_coast: Optional[np.ndarray] = None, elevation: Optional[np.ndarray] = None, - area_pixel: Optional[np.ndarray] = None, **kwargs ): """Initialization @@ -146,8 +145,6 @@ def __init__( attr_dict['dist_coast'] = dist_coast if elevation is not None: attr_dict['elevation'] = elevation - if area_pixel is not None: - attr_dict['area_pixel'] = area_pixel if kwargs: attr_dict = dict(**attr_dict, **kwargs) self.gdf = gpd.GeoDataFrame(data=attr_dict, crs=crs) @@ -176,10 +173,6 @@ def region_id(self): def elevation(self): return self.gdf['elevation'] - @property - def area_pixel(self): - return self.gdf['area_pixel'] - @property def dist_coast(self): return self.gdf['dist_coast'] @@ -328,55 +321,11 @@ def set_region_id(self, scheduler=None): """ ne_geom = self._ne_crs_geom(scheduler) LOGGER.debug('Setting region_id %s points.', str(self.size)) - self.gdf.region_id = u_coord.get_country_code( - ne_geom.geometry[:].y.values, ne_geom.geometry[:].x.values) - - def set_area_pixel(self, min_resol=1.0e-8, scheduler=None): - """Set `area_pixel` attribute for every pixel or point (area in m*m). - - Parameters - ---------- - min_resol : float, optional - if centroids are points, use this minimum resolution in lat and lon. Default: 1.0e-8 - scheduler : str - used for dask map_partitions. “threads”, “synchronous” or “processes” - """ - - res = u_coord.get_resolution(self.lat, self.lon, min_resol=min_resol) - res = np.abs(res).min() - LOGGER.debug('Setting area_pixel %s points.', str(self.lat.size)) - xy_pixels = self.geometry.buffer(res / 2).envelope - if PROJ_CEA == self.geometry.crs: - self.gdf.area_pixel = xy_pixels.area.values + if u_coord.equal_crs(self.crs, 'epsg:4326'): + self.gdf.region_id = u_coord.get_country_code( + ne_geom.geometry[:].y.values, ne_geom.geometry[:].x.values) else: - self.gdf.area_pixel = xy_pixels.to_crs(crs={'proj': 'cea'}).area.values - - def set_area_approx(self, min_resol=1.0e-8): - """Set `area_pixel` attribute for every pixel or point (approximate area in m*m). - - Values are differentiated per latitude. Faster than `set_area_pixel`. - - Parameters - ---------- - min_resol : float, optional - if centroids are points, use this minimum resolution in lat and lon. Default: 1.0e-8 - """ - res_lat, res_lon = np.abs( - u_coord.get_resolution(self.lat, self.lon, min_resol=min_resol)) - lat_unique = np.array(np.unique(self.lat)) - lon_unique_len = len(np.unique(self.lon)) - if PROJ_CEA == self.geometry.crs: - self.gdf.area_pixel = np.repeat(res_lat * res_lon, lon_unique_len) - return None - - LOGGER.debug('Setting area_pixel approx %s points.', str(self.size)) - res_lat = res_lat * ONE_LAT_KM * 1000 - res_lon = res_lon * ONE_LAT_KM * 1000 * np.cos(np.radians(lat_unique)) - area_approx = np.repeat(res_lat * res_lon, lon_unique_len) - if area_approx.size == self.size: - self.gdf.area_pixel = area_approx - else: - raise ValueError('Pixel area of points cannot be computed.') + raise NotImplementedError('The region id can only be assigned if the crs is epsg:4326') def set_elevation(self, topo_path): """Set elevation attribute for every pixel or point in meters. @@ -396,10 +345,13 @@ def set_dist_coast(self, signed=False, precomputed=False, scheduler=None): signed : bool If True, use signed distances (positive off shore and negative on land). Default: False. precomputed : bool - If True, use precomputed distances (from NASA). Default: False. + If True, use precomputed distances (from NASA). Works only for crs=epsg:4326 + Default: False. scheduler : str Used for dask map_partitions. "threads", "synchronous" or "processes" """ + if not u_coord.equal_crs(self.crs, 'epsg:4326'): + raise NotImplementedError('The distance to coast can only be assigned if the crs is epsg:4326') if precomputed: self.gdf.dist_coast = u_coord.dist_to_coast_nasa( self.lat, self.lon, highres=True, signed=signed) @@ -416,6 +368,9 @@ def set_on_land(self, scheduler=None): scheduler : str used for dask map_partitions. “threads”, “synchronous” or “processes” """ + if not u_coord.equal_crs(self.crs, 'epsg:4326'): + raise NotImplementedError('The on land property can only be assigned if the crs is epsg:4326') + ne_geom = self._ne_crs_geom(scheduler) LOGGER.debug('Setting on_land %s points.', str(self.lat.size)) self.gdf.on_land = u_coord.coord_on_land( From c77a2d935ed33c5c96ea23a0b8e3e41083ad35f4 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Mon, 17 Jul 2023 14:55:34 +0200 Subject: [PATCH 008/192] Add method to compute the area per pixel (not attribute) --- climada/hazard/centroids/centr.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 225480a629..9f3fa56169 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -565,7 +565,34 @@ def from_hdf5(cls, file_name): return cls.from_geodataframe(gdf) + def area_pixel(self, min_resol=1.0e-8, scheduler=None): + """Computes the area per centroid in the CEA projection + assuming that the centroids define a regular grid of pixels + (area in m*m). + Parameters + ---------- + min_resol : float, optional + Use this minimum resolution in lat and lon. Is passed to the + method climada.util.coordinates.get_resolution. + Default: 1.0e-8 + scheduler : str + used for dask map_partitions. “threads”, “synchronous” or “processes” + + See also + -------- + climada.util.coordinates.get_resolution + """ + + res = u_coord.get_resolution(self.lat, self.lon, min_resol=min_resol) + res = np.abs(res).min() + LOGGER.debug('Setting area_pixel %s points.', str(self.lat.size)) + xy_pixels = self.geometry.buffer(res / 2).envelope + if PROJ_CEA == self.geometry.crs: + area_pixel = xy_pixels.area.values + else: + area_pixel = xy_pixels.to_crs(crs={'proj': 'cea'}).area.values + return area_pixel def _ne_crs_geom(self, scheduler=None): """Return `geometry` attribute in the CRS of Natural Earth. From 913c0f1b93fd3905a65dd2043c783f9205a999d4 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 18 Jul 2023 10:36:13 +0200 Subject: [PATCH 009/192] Make get_area_pixel --- climada/hazard/centroids/centr.py | 57 ++++++++++++++++--------------- climada/hazard/storm_europe.py | 8 ++--- 2 files changed, 33 insertions(+), 32 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 9f3fa56169..a4b41b6ac6 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -421,6 +421,35 @@ def plot(self, ax=None, figsize=(9, 13), **kwargs): plt.tight_layout() return ax + def get_area_pixel(self, min_resol=1.0e-8, scheduler=None): + """Computes the area per centroid in the CEA projection + assuming that the centroids define a regular grid of pixels + (area in m*m). + + Parameters + ---------- + min_resol : float, optional + Use this minimum resolution in lat and lon. Is passed to the + method climada.util.coordinates.get_resolution. + Default: 1.0e-8 + scheduler : str + used for dask map_partitions. “threads”, “synchronous” or “processes” + + See also + -------- + climada.util.coordinates.get_resolution + """ + + res = u_coord.get_resolution(self.lat, self.lon, min_resol=min_resol) + res = np.abs(res).min() + LOGGER.debug('Setting area_pixel %s points.', str(self.lat.size)) + xy_pixels = self.geometry.buffer(res / 2).envelope + if PROJ_CEA == self.geometry.crs: + area_pixel = xy_pixels.area.values + else: + area_pixel = xy_pixels.to_crs(crs={'proj': 'cea'}).area.values + return area_pixel + ''' I/O methods @@ -565,34 +594,6 @@ def from_hdf5(cls, file_name): return cls.from_geodataframe(gdf) - def area_pixel(self, min_resol=1.0e-8, scheduler=None): - """Computes the area per centroid in the CEA projection - assuming that the centroids define a regular grid of pixels - (area in m*m). - - Parameters - ---------- - min_resol : float, optional - Use this minimum resolution in lat and lon. Is passed to the - method climada.util.coordinates.get_resolution. - Default: 1.0e-8 - scheduler : str - used for dask map_partitions. “threads”, “synchronous” or “processes” - - See also - -------- - climada.util.coordinates.get_resolution - """ - - res = u_coord.get_resolution(self.lat, self.lon, min_resol=min_resol) - res = np.abs(res).min() - LOGGER.debug('Setting area_pixel %s points.', str(self.lat.size)) - xy_pixels = self.geometry.buffer(res / 2).envelope - if PROJ_CEA == self.geometry.crs: - area_pixel = xy_pixels.area.values - else: - area_pixel = xy_pixels.to_crs(crs={'proj': 'cea'}).area.values - return area_pixel def _ne_crs_geom(self, scheduler=None): """Return `geometry` attribute in the CRS of Natural Earth. diff --git a/climada/hazard/storm_europe.py b/climada/hazard/storm_europe.py index d74bf9545a..c4625a1a7d 100644 --- a/climada/hazard/storm_europe.py +++ b/climada/hazard/storm_europe.py @@ -572,7 +572,6 @@ def _centroids_from_nc(file_name): lats, lons = np.array([np.repeat(lats, len(lons)), np.tile(lons, len(lats))]) cent = Centroids.from_lat_lon(lats, lons) - cent.set_area_pixel() cent.set_on_land() return cent @@ -672,18 +671,19 @@ def calc_ssi(self, method='dawkins', intensity=None, on_land=True, intensity = intensity.multiply(intensity > self.intensity_thres) cent = self.centroids + area_pixel = cent.get_area_pixel() if sel_cen is not None: pass elif on_land is True: sel_cen = cent.on_land else: # select all centroids - sel_cen = np.ones_like(cent.area_pixel, dtype=bool) + sel_cen = np.ones_like(area_pixel, dtype=bool) ssi = np.zeros(intensity.shape[0]) if method == 'dawkins': - area_c = cent.area_pixel / 1000 / 1000 * sel_cen + area_c = area_pixel / 1000 / 1000 * sel_cen for i, inten_i in enumerate(intensity): ssi_i = area_c * inten_i.power(3).todense().T # matrix crossproduct (row x column vector) @@ -691,7 +691,7 @@ def calc_ssi(self, method='dawkins', intensity=None, on_land=True, elif method == 'wisc_gust': for i, inten_i in enumerate(intensity[:, sel_cen]): - area = np.sum(cent.area_pixel[inten_i.indices]) / 1000 / 1000 + area = np.sum(area_pixel[inten_i.indices]) / 1000 / 1000 inten_mean = np.mean(inten_i) ssi[i] = area * np.power(inten_mean, 3) From 5ec2859d5147822c8214e45cecbce2769b6014e8 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 18 Jul 2023 10:36:27 +0200 Subject: [PATCH 010/192] Remove not often used dist_coast and elevation --- climada/hazard/centroids/centr.py | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index a4b41b6ac6..d92f3508a4 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -109,8 +109,6 @@ def __init__( crs: str = DEF_CRS, region_id: Optional[np.ndarray] = None, on_land: Optional[np.ndarray] = None, - dist_coast: Optional[np.ndarray] = None, - elevation: Optional[np.ndarray] = None, **kwargs ): """Initialization @@ -141,8 +139,6 @@ def __init__( attr_dict['region_id'] = region_id if on_land is not None: attr_dict['on_land'] = on_land - if dist_coast is not None: - attr_dict['dist_coast'] = dist_coast if elevation is not None: attr_dict['elevation'] = elevation if kwargs: @@ -169,14 +165,6 @@ def on_land(self): def region_id(self): return self.gdf['region_id'] - @property - def elevation(self): - return self.gdf['elevation'] - - @property - def dist_coast(self): - return self.gdf['dist_coast'] - @property def crs(self): return self.gdf.crs @@ -218,6 +206,11 @@ def __eq__(self, other): def from_geodataframe(cls, gdf): return cls(longitude=gdf.geometry.x.values, latitude=gdf.geometry.y.values, crs=gdf.crs, **gdf.drop(columns=['geometry']).to_dict(orient='list')) + @classmethod + def from_exposures(cls, exposures): + gdf = exposures.gdf[['geometry', 'region_id']] + return cls.from_geodtaframe(gdf) + @classmethod def from_pnt_bounds(cls, points_bounds, res, crs=DEF_CRS): """Create Centroids object with meta attribute according to points border data. @@ -327,7 +320,7 @@ def set_region_id(self, scheduler=None): else: raise NotImplementedError('The region id can only be assigned if the crs is epsg:4326') - def set_elevation(self, topo_path): + def get_elevation(self, topo_path): """Set elevation attribute for every pixel or point in meters. Parameters @@ -335,9 +328,9 @@ def set_elevation(self, topo_path): topo_path : str Path to a raster file containing gridded elevation data. """ - self.gdf.elevation = u_coord.read_raster_sample(topo_path, self.lat, self.lon) + return u_coord.read_raster_sample(topo_path, self.lat, self.lon) - def set_dist_coast(self, signed=False, precomputed=False, scheduler=None): + def get_dist_coast(self, signed=False, precomputed=False, scheduler=None): """Set dist_coast attribute for every pixel or point in meters. Parameters @@ -353,12 +346,12 @@ def set_dist_coast(self, signed=False, precomputed=False, scheduler=None): if not u_coord.equal_crs(self.crs, 'epsg:4326'): raise NotImplementedError('The distance to coast can only be assigned if the crs is epsg:4326') if precomputed: - self.gdf.dist_coast = u_coord.dist_to_coast_nasa( + return u_coord.dist_to_coast_nasa( self.lat, self.lon, highres=True, signed=signed) else: ne_geom = self._ne_crs_geom(scheduler) LOGGER.debug('Computing distance to coast for %s centroids.', str(self.size)) - self.gdf.dist_coast = u_coord.dist_to_coast(ne_geom, signed=signed) + return u_coord.dist_to_coast(ne_geom, signed=signed) def set_on_land(self, scheduler=None): """Set on_land attribute for every pixel or point. From e2ac9b7a09cd37a96e4db11735fa48628bcfac7a Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Mon, 7 Aug 2023 18:01:46 +0200 Subject: [PATCH 011/192] Remove unused meta --- climada/hazard/base.py | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index 918978c04e..852da0287e 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -2430,25 +2430,15 @@ def change_centroids(self, centroids, threshold=NEAREST_NEIGHBOR_THRESHOLD): haz_new_cent = copy.deepcopy(self) haz_new_cent.centroids = centroids - # indices for mapping matrices onto common centroids - if centroids.meta: - new_cent_idx = u_coord.match_grid_points( - self.centroids.lon, self.centroids.lat, - centroids.meta['width'], centroids.meta['height'], - centroids.meta['transform']) - if -1 in new_cent_idx: - raise ValueError("At least one hazard centroid is out of" - "the raster defined by centroids.meta." - " Please choose a larger raster.") - else: - new_cent_idx = u_coord.match_coordinates( - self.centroids.coord, centroids.coord, threshold=threshold - ) - if -1 in new_cent_idx: - raise ValueError("At least one hazard centroid is at a larger " - f"distance than the given threshold {threshold} " - "from the given centroids. Please choose a " - "larger threshold or enlarge the centroids") + + new_cent_idx = u_coord.match_coordinates( + self.centroids.coord, centroids.coord, threshold=threshold + ) + if -1 in new_cent_idx: + raise ValueError("At least one hazard centroid is at a larger " + f"distance than the given threshold {threshold} " + "from the given centroids. Please choose a " + "larger threshold or enlarge the centroids") if np.unique(new_cent_idx).size < new_cent_idx.size: raise ValueError("At least two hazard centroids are mapped to the same " From 5dd4ffe1c0bb1e60ab67b1bb60d5c512f3a9306f Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Mon, 7 Aug 2023 18:02:32 +0200 Subject: [PATCH 012/192] Change Centroids call to new signature --- climada/hazard/base.py | 10 +- climada/hazard/centroids/centr.py | 86 +++++++++++-- climada/hazard/centroids/test/test_centr.py | 6 +- climada/hazard/centroids/test/test_vec_ras.py | 106 +++------------- climada/hazard/storm_europe.py | 2 +- climada/hazard/tc_tracks.py | 2 +- climada/hazard/test/test_base.py | 118 ++++-------------- 7 files changed, 122 insertions(+), 208 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index 852da0287e..9e7d1d411f 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -230,7 +230,7 @@ def __init__(self, """ self.tag = TagHazard(haz_type, **tag_kwargs) self.units = units - self.centroids = centroids if centroids is not None else Centroids() + self.centroids = centroids if centroids is not None else Centroids(np.empty(0), np.empty(0)) # following values are defined for each event self.event_id = event_id if event_id is not None else np.array([], int) self.frequency = frequency if frequency is not None else np.array( @@ -283,7 +283,6 @@ def check(self): ------ ValueError """ - self.centroids.check() self._check_events() @classmethod @@ -762,8 +761,10 @@ def from_xarray_raster( ) # Transform coordinates into centroids - centroids = Centroids.from_lat_lon( - data[coords["latitude"]].values, data[coords["longitude"]].values, crs=crs, + centroids = Centroids( + latitude=data[coords["latitude"]].values, + longitude=data[coords["longitude"]].values, + crs=crs, ) def to_csr_matrix(array: xr.DataArray) -> sparse.csr_matrix: @@ -1392,7 +1393,6 @@ def select(self, event_names=None, event_id=None, date=None, orig=None, LOGGER.info('No hazard centroids within extent and region') return None - sel_cen = sel_cen.nonzero()[0] for (var_name, var_val) in self.__dict__.items(): if isinstance(var_val, np.ndarray) and var_val.ndim == 1 \ and var_val.size > 0: diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index d92f3508a4..83b394dbd0 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -127,10 +127,8 @@ def __init__( on land (True) and on sea (False) of size size. Defaults to empty array region_id : np.array, optional country region code of size size, Defaults to empty array - elevation : np.array, optional - elevation of size size. Defaults to empty array - dist_coast : np.array, optional - distance to coast of size size. Defaults to empty array + kwargs: + columns of values to passed to the geodataframe constructor """ attr_dict = { 'geometry': gpd.points_from_xy(longitude, latitude, crs=crs), @@ -139,8 +137,6 @@ def __init__( attr_dict['region_id'] = region_id if on_land is not None: attr_dict['on_land'] = on_land - if elevation is not None: - attr_dict['elevation'] = elevation if kwargs: attr_dict = dict(**attr_dict, **kwargs) self.gdf = gpd.GeoDataFrame(data=attr_dict, crs=crs) @@ -204,7 +200,12 @@ def __eq__(self, other): @classmethod def from_geodataframe(cls, gdf): - return cls(longitude=gdf.geometry.x.values, latitude=gdf.geometry.y.values, crs=gdf.crs, **gdf.drop(columns=['geometry']).to_dict(orient='list')) + return cls( + longitude=gdf.geometry.x.values, + latitude=gdf.geometry.y.values, + crs=gdf.crs, + **gdf.drop(columns=['geometry']).to_dict(orient='list') + ) @classmethod def from_exposures(cls, exposures): @@ -233,7 +234,7 @@ def from_pnt_bounds(cls, points_bounds, res, crs=DEF_CRS): """ rows, cols, ras_trans = u_coord.pts_to_raster_meta(points_bounds, (res, -res)) x_grid, y_grid = u_coord.raster_to_meshgrid(ras_trans, cols, rows) - return cls(lat=y_grid, lon=x_grid, crs=crs) + return cls(latitude=y_grid.flatten(), longitude=x_grid.flatten(), crs=crs) def append(self, centr): """Append centroids points. @@ -321,7 +322,7 @@ def set_region_id(self, scheduler=None): raise NotImplementedError('The region id can only be assigned if the crs is epsg:4326') def get_elevation(self, topo_path): - """Set elevation attribute for every pixel or point in meters. + """Return elevation attribute for every pixel or point in meters. Parameters ---------- @@ -331,7 +332,7 @@ def get_elevation(self, topo_path): return u_coord.read_raster_sample(topo_path, self.lat, self.lon) def get_dist_coast(self, signed=False, precomputed=False, scheduler=None): - """Set dist_coast attribute for every pixel or point in meters. + """Get dist_coast attribute for every pixel or point in meters. Parameters ---------- @@ -366,7 +367,7 @@ def set_on_land(self, scheduler=None): ne_geom = self._ne_crs_geom(scheduler) LOGGER.debug('Setting on_land %s points.', str(self.lat.size)) - self.gdf.on_land = u_coord.coord_on_land( + self.gdf['on_land'] = u_coord.coord_on_land( ne_geom.geometry[:].y.values, ne_geom.geometry[:].x.values) @classmethod @@ -380,6 +381,65 @@ def remove_duplicate_points(cls, centroids): """ return cls.from_geodataframe(centroids.gdf.drop_duplicates()) + def select(self, reg_id=None, extent=None, sel_cen=None): + """Return Centroids with points in the given reg_id or within mask + + Parameters + ---------- + reg_id : int + region to filter according to region_id values + extent : tuple + Format (min_lon, max_lon, min_lat, max_lat) tuple. + If min_lon > lon_max, the extend crosses the antimeridian and is + [lon_max, 180] + [-180, lon_min] + Borders are inclusive. + sel_cen : np.array + 1-dim mask, overrides reg_id and extent + + Returns + ------- + cen : Centroids + Sub-selection of this object + """ + if sel_cen is None: + sel_cen = self.select_mask(reg_id=reg_id, extent=extent) + + return Centroids.from_geodataframe(self.gdf[sel_cen]) + + def select_mask(self, reg_id=None, extent=None): + """ + Make mask of selected centroids + + Parameters + ---------- + reg_id : int + region to filter according to region_id values + extent : tuple + Format (min_lon, max_lon, min_lat, max_lat) tuple. + If min_lon > lon_max, the extend crosses the antimeridian and is + [lon_max, 180] + [-180, lon_min] + Borders are inclusive. + + Returns + ------- + sel_cen : 1d array of booleans + 1d mask of selected centroids + + """ + sel_cen = np.ones(self.size, dtype=bool) + if reg_id is not None: + sel_cen &= np.isin(self.region_id, reg_id) + if extent is not None: + lon_min, lon_max, lat_min, lat_max = extent + lon_max += 360 if lon_min > lon_max else 0 + lon_normalized = u_coord.lon_normalize( + self.lon.copy(), center=0.5 * (lon_min + lon_max)) + sel_cen &= ( + (lon_normalized >= lon_min) & (lon_normalized <= lon_max) & + (self.lat >= lat_min) & (self.lat <= lat_max) + ) + return sel_cen + #TODO replace with nice Geodataframe util plot method. def plot(self, ax=None, figsize=(9, 13), **kwargs): """Plot centroids scatter points over earth. @@ -488,7 +548,7 @@ def from_raster_file(cls, file_name, src_crs=None, window=None, file_name, [1], src_crs, window, geometry, dst_crs, transform, width, height, resampling) lat, lon = _meta_to_lat_lon(meta) - return cls(lon=lon, lat=lat, crs=dst_crs) + return cls(longitude=lon, latitude=lat, crs=dst_crs) @classmethod @@ -600,7 +660,7 @@ def _ne_crs_geom(self, scheduler=None): ------- geo : gpd.GeoSeries """ - if u_coord.equal_crs(self.gdfgeometry.crs, u_coord.NE_CRS): + if u_coord.equal_crs(self.gdf.geometry.crs, u_coord.NE_CRS): return self.gdf.geometry return self.gdf.geometry.to_crs(u_coord.NE_CRS) diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index 4c75ddcb3a..a120cb6484 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -56,21 +56,19 @@ def test_geodataframe(self): crs = DEF_CRS lat = np.arange(170, 180) lon = np.arange(-50, -40) - elevation = np.repeat(1, 10) region_id = np.arange(1, 11) extra = np.repeat(str('a'), 10) gdf = gpd.GeoDataFrame({ 'geometry' : gpd.points_from_xy(lon, lat), - 'elevation' : elevation, 'region_id' : region_id, 'extra' : extra }, crs=crs) centroids = Centroids.from_geodataframe(gdf) - for name, array in zip(['lat', 'lon', 'elevation', 'region_id'], - [lat, lon, elevation, region_id]): + for name, array in zip(['lat', 'lon', 'region_id'], + [lat, lon, region_id]): np.testing.assert_array_equal(array, getattr(centroids, name)) np.testing.assert_array_equal(extra, centroids.gdf.extra.values) self.assertTrue(u_coord.equal_crs(centroids.crs, crs)) diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index fa55ffe2a8..9846845473 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -327,22 +327,6 @@ def test_equal_pass(self): class TestRaster(unittest.TestCase): """Test CentroidsRaster class""" - def test_from_pix_bounds_pass(self): - """Test from_pix_bounds""" - xf_lat, xo_lon, d_lat, d_lon, n_lat, n_lon = 10, 5, -0.5, 0.2, 20, 25 - centr = Centroids.from_pix_bounds(xf_lat, xo_lon, d_lat, d_lon, n_lat, n_lon) - self.assertTrue(u_coord.equal_crs(centr.meta['crs'], DEF_CRS)) - self.assertEqual(centr.meta['width'], n_lon) - self.assertEqual(centr.meta['height'], n_lat) - self.assertAlmostEqual(centr.meta['transform'][0], d_lon) - self.assertAlmostEqual(centr.meta['transform'][1], 0.0) - self.assertAlmostEqual(centr.meta['transform'][2], xo_lon) - self.assertAlmostEqual(centr.meta['transform'][3], 0.0) - self.assertAlmostEqual(centr.meta['transform'][4], d_lat) - self.assertAlmostEqual(centr.meta['transform'][5], xf_lat) - self.assertTrue('lat' in centr.__dict__.keys()) - self.assertTrue('lon' in centr.__dict__.keys()) - def test_from_pnt_bounds_pass(self): """Test from_pnt_bounds""" left, bottom, right, top = 5, 0, 10, 10 @@ -428,7 +412,7 @@ def test_area_pass(self): self.assertTrue( np.allclose(centr_ras.area_pixel, np.ones(60 * 50) * 0.009000000000000341 * 0.009000000000000341)) - +''' def test_area_approx(self): """Test set_area_approx""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) @@ -439,6 +423,7 @@ def test_area_approx(self): self.assertEqual(np.unique(centr_ras.area_pixel).size, 60) self.assertTrue(np.array_equal((approx_dim / np.unique(centr_ras.area_pixel)).astype(int), np.ones(60))) +''' def test_size_pass(self): """Test size property""" @@ -496,29 +481,13 @@ def test_set_meta_to_lat_lon_pass(self): self.assertAlmostEqual(np.diff(centr.lat).max(), meta['transform'][4]) self.assertTrue(u_coord.equal_crs(geometry.crs, centr.geometry.crs)) - def test_append_equal_pass(self): - """Append raster""" - centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - centr_bis = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - centr_bis.append(centr_ras) - self.assertAlmostEqual(centr_bis.meta['crs'], DEF_CRS) - self.assertAlmostEqual(centr_bis.meta['transform'].c, -69.33714959699981) - self.assertAlmostEqual(centr_bis.meta['transform'].a, 0.009000000000000341) - self.assertAlmostEqual(centr_bis.meta['transform'].b, 0.0) - self.assertAlmostEqual(centr_bis.meta['transform'].f, 10.42822096697894) - self.assertAlmostEqual(centr_bis.meta['transform'].d, 0.0) - self.assertAlmostEqual(centr_bis.meta['transform'].e, -0.009000000000000341) - self.assertEqual(centr_bis.meta['height'], 60) - self.assertEqual(centr_bis.meta['width'], 50) - def test_equal_pass(self): """Test equal""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) centr_bis = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(51, 61, 10, 10)) - self.assertFalse(centr_ras.equal(centr_bis)) - self.assertFalse(centr_bis.equal(centr_ras)) - self.assertTrue(centr_ras.equal(centr_ras)) - self.assertTrue(centr_bis.equal(centr_bis)) + self.assertFalse(centr_ras == centr_bis) + self.assertTrue(centr_ras == centr_ras) + self.assertTrue(centr_bis == centr_bis) class TestCentroids(unittest.TestCase): @@ -528,11 +497,9 @@ def test_centroids_check_pass(self): """Test vector data in Centroids""" data_vec = data_vector() lat, lon, geometry = data_vec - centr = Centroids(lat=lat, lon=lon, geometry=geometry) - centr.check() + centr = Centroids(latitude=lat, longitude=lon, crs=geometry.crs) self.assertTrue(u_coord.equal_crs(centr.crs, data_vec[2].crs)) - self.assertIsInstance(centr.total_bounds, tuple) for i in range(4): self.assertEqual(centr.total_bounds[i], data_vec[2].total_bounds[i]) @@ -544,50 +511,6 @@ def test_centroids_check_pass(self): self.assertTrue(np.array_equal(centr.coord, np.array([VEC_LAT, VEC_LON]).transpose())) self.assertEqual(centr.size, VEC_LON.size) - centr.area_pixel = np.array([1]) - with self.assertRaises(ValueError): - centr.check() - - centr.area_pixel = np.array([]) - centr.dist_coast = np.array([1]) - with self.assertRaises(ValueError): - centr.check() - - centr.dist_coast = np.array([]) - centr.on_land = np.array([1]) - with self.assertRaises(ValueError): - centr.check() - - centr.on_land = np.array([]) - centr.region_id = np.array([1]) - with self.assertRaises(ValueError): - centr.check() - - centr.region_id = np.array([]) - centr.lat = np.array([1]) - with self.assertRaises(ValueError): - centr.check() - - centr.lat = np.array([]) - centr.lon = np.array([1]) - with self.assertRaises(ValueError): - centr.check() - - centr.lon = np.array([]) - centr.geometry = gpd.GeoSeries(Point(0,0)) - with self.assertRaises(ValueError) as raised: - centr.check() - self.assertEqual(str(raised.exception), 'Wrong geometry size: 0 != 1.') - - meta = { - 'width': 10, - 'height': 20, - 'transform': rasterio.Affine(0.1, 0, 0, 0, 0.1, 0), - 'crs': DEF_CRS, - } - cen = Centroids(meta=meta) - with self.assertRaises(ValueError): - cen.check() class TestReader(unittest.TestCase): """Test Centroids setter vector and raster methods""" @@ -680,12 +603,11 @@ class TestCentroidsFuncs(unittest.TestCase): """Test Centroids methods""" def test_select_pass(self): """Test Centroids.select method""" - centr = Centroids.from_lat_lon(VEC_LAT, VEC_LON) - - centr.region_id = np.zeros(VEC_LAT.size) - centr.region_id[[100, 200]] = 10 + region_id = np.zeros(VEC_LAT.size) + region_id[[100, 200]] = 10 + centr = Centroids(latitude=VEC_LAT, longitude=VEC_LON, region_id=region_id) - fil_centr = centr.select(10) + fil_centr = centr.select(reg_id=10) self.assertEqual(fil_centr.size, 2) self.assertEqual(fil_centr.lat[0], VEC_LAT[100]) self.assertEqual(fil_centr.lat[1], VEC_LAT[200]) @@ -695,10 +617,10 @@ def test_select_pass(self): def test_select_extent_pass(self): """Test select extent""" - centr = Centroids.from_lat_lon( - np.array([-5, -3, 0, 3, 5]), np.array([-180, -175, -170, 170, 175])) - centr.check() - centr.region_id = np.zeros(len(centr.lat)) + centr = Centroids( + latitude=np.array([-5, -3, 0, 3, 5]), + longitude=np.array([-180, -175, -170, 170, 175]), + region_id=np.zeros(5)) ext_centr = centr.select(extent=[-175, -170, -5, 5]) np.testing.assert_array_equal(ext_centr.lon, np.array([-175, -170])) np.testing.assert_array_equal(ext_centr.lat, np.array([-3, 0])) diff --git a/climada/hazard/storm_europe.py b/climada/hazard/storm_europe.py index c4625a1a7d..a51a2f87d1 100644 --- a/climada/hazard/storm_europe.py +++ b/climada/hazard/storm_europe.py @@ -571,7 +571,7 @@ def _centroids_from_nc(file_name): if create_meshgrid: lats, lons = np.array([np.repeat(lats, len(lons)), np.tile(lons, len(lats))]) - cent = Centroids.from_lat_lon(lats, lons) + cent = Centroids(latitude=lats, longitude=lons) cent.set_on_land() return cent diff --git a/climada/hazard/tc_tracks.py b/climada/hazard/tc_tracks.py index ccf959920e..66554bc9f0 100644 --- a/climada/hazard/tc_tracks.py +++ b/climada/hazard/tc_tracks.py @@ -1215,7 +1215,7 @@ def generate_centroids(self, res_deg, buffer_deg): lat = np.arange(bounds[1] + 0.5 * res_deg, bounds[3], res_deg) lon = np.arange(bounds[0] + 0.5 * res_deg, bounds[2], res_deg) lon, lat = [ar.ravel() for ar in np.meshgrid(lon, lat)] - return Centroids.from_lat_lon(lat, lon) + return Centroids(latitude=lat, longitude=lon) def plot(self, axis=None, figsize=(9, 13), legend=True, adapt_fontsize=True, **kwargs): """Track over earth. Historical events are blue, probabilistic black. diff --git a/climada/hazard/test/test_base.py b/climada/hazard/test/test_base.py index 3900f8f7b5..91e672446f 100644 --- a/climada/hazard/test/test_base.py +++ b/climada/hazard/test/test_base.py @@ -66,8 +66,8 @@ def dummy_hazard(): "TC", intensity=intensity, fraction=fraction, - centroids=Centroids.from_lat_lon( - np.array([1, 3, 5]), np.array([2, 4, 6])), + centroids=Centroids( + latitude=np.array([1, 3, 5]), longitude=np.array([2, 4, 6])), event_id=np.array([1, 2, 3, 4]), event_name=['ev1', 'ev2', 'ev3', 'ev4'], date=np.array([1, 2, 3, 4]), @@ -84,8 +84,11 @@ class TestLoader(unittest.TestCase): def setUp(self): """Test fixure: Build a valid hazard""" - centroids = Centroids.from_lat_lon(np.array([1, 3]), np.array([2, 3])) - centroids.region_id = np.array([1, 2]) + centroids = Centroids( + latitude=np.array([1, 3]), + longitude=np.array([2, 3]), + region_id = np.array([1, 2]) + ) self.hazard = Hazard( "TC", centroids=centroids, @@ -116,12 +119,6 @@ def test_init_empty_fraction(self): np.testing.assert_array_equal(hazard.fraction.shape, hazard.intensity.shape) self.assertEqual(hazard.fraction.nnz, 0) # No nonzero entries - def test_check_wrongCentroids_fail(self): - """Wrong hazard definition""" - self.hazard.centroids.region_id = np.array([1, 2, 3, 4]) - with self.assertRaises(ValueError): - self.hazard.check() - def test_check_wrongFreq_fail(self): """Wrong hazard definition""" self.hazard.frequency = np.array([1, 2]) @@ -251,7 +248,7 @@ def test_same_events_same(self): duplicate events, initial events are obtained with 0 intensity and fraction in new appended centroids.""" haz1 = dummy_hazard() - centroids = Centroids.from_lat_lon(np.array([7, 9, 11]), np.array([8, 10, 12])) + centroids = Centroids(latitude=np.array([7, 9, 11]), longitude=np.array([8, 10, 12])) fraction = sparse.csr_matrix([[0.22, 0.32, 0.44], [0.11, 0.11, 0.11], [0.32, 0.11, 0.99], @@ -526,7 +523,7 @@ def test_select_date_invalid_pass(self): def test_select_reg_id_pass(self): """Test select region of centroids.""" haz = dummy_hazard() - haz.centroids.region_id = np.array([5, 7, 9]) + haz.centroids.gdf['region_id'] = np.array([5, 7, 9]) sel_haz = haz.select(date=(2, 4), orig=False, reg_id=9) self.assertTrue(np.array_equal(sel_haz.centroids.coord.squeeze(), @@ -759,8 +756,8 @@ def test_all_different_extend(self): orig=np.ones((4,)), file_name='file2.mat', description='Description 2', - centroids=Centroids.from_lat_lon( - np.array([7, 9, 11]), np.array([8, 10, 12])), + centroids=Centroids( + latitude=np.array([7, 9, 11]), longitude=np.array([8, 10, 12])), event_id=np.array([5, 6, 7, 8]), event_name=['ev5', 'ev6', 'ev7', 'ev8'], frequency=np.array([0.9, 0.75, 0.75, 0.22]), @@ -816,8 +813,8 @@ def test_same_events_append(self): haz2 = Hazard('TC', file_name='file2.mat', description='Description 2', - centroids=Centroids.from_lat_lon( - np.array([7, 9, 11]), np.array([8, 10, 12])), + centroids=Centroids( + latitude=np.array([7, 9, 11]), longitude=np.array([8, 10, 12])), event_id=haz1.event_id, event_name=haz1.event_name.copy(), frequency=haz1.frequency, @@ -869,8 +866,8 @@ def test_concat_pass(self): haz_1 = Hazard("TC", file_name='file1.mat', description='Description 1', - centroids=Centroids.from_lat_lon( - np.array([1, 3, 5]), np.array([2, 4, 6])), + centroids=Centroids( + latitude=np.array([1, 3, 5]), longitude=np.array([2, 4, 6])), event_id=np.array([1]), event_name=['ev1'], date=np.array([1]), @@ -884,8 +881,8 @@ def test_concat_pass(self): haz_2 = Hazard("TC", file_name='file2.mat', description='Description 2', - centroids=Centroids.from_lat_lon( - np.array([1, 3, 5]), np.array([2, 4, 6])), + centroids=Centroids( + latitude=np.array([1, 3, 5]), longitude=np.array([2, 4, 6])), event_id=np.array([1]), event_name=['ev2'], date=np.array([2]), @@ -953,7 +950,7 @@ def test_change_centroids(self): """Set new centroids for hazard""" lat, lon = np.array([0, 1]), np.array([0, -1]) on_land = np.array([True, True]) - cent1 = Centroids(lat=lat, lon=lon, on_land=on_land) + cent1 = Centroids(latitude=lat, longitude=lon, on_land=on_land) haz_1 = Hazard('TC', file_name='file1.mat', @@ -971,7 +968,7 @@ def test_change_centroids(self): lat2, lon2 = np.array([0, 1, 3]), np.array([0, -1, 3]) on_land2 = np.array([True, True, False]) - cent2 = Centroids(lat=lat2, lon=lon2, on_land=on_land2) + cent2 = Centroids(latitude=lat2, longitude=lon2, on_land=on_land2) haz_2 = haz_1.change_centroids(cent2) @@ -985,9 +982,9 @@ def test_change_centroids(self): self.assertEqual(haz_2.tag.description, 'Description 1') """Test error for projection""" - lat3, lon3 = np.array([0.5, 3]), np.array([-0.5, 3]) + lat3, lon3 = np.array([0.5, 3, 1]), np.array([-0.5, 3, 1]) on_land3 = np.array([True, True, False]) - cent3 = Centroids(lat=lat3, lon=lon3, on_land=on_land3) + cent3 = Centroids(latitude=lat3, longitude=lon3, on_land=on_land3) with self.assertRaises(ValueError) as cm: haz_1.change_centroids(cent3, threshold=100) @@ -998,7 +995,7 @@ def test_change_centroids_raster(self): """Set new centroids for hazard""" lat, lon = np.array([0, 1]), np.array([0, -1]) on_land = np.array([True, True]) - cent1 = Centroids(lat=lat, lon=lon, on_land=on_land) + cent1 = Centroids(latitude=lat, longitude=lon, on_land=on_land) haz_1 = Hazard('TC', file_name='file1.mat', @@ -1017,8 +1014,6 @@ def test_change_centroids_raster(self): """Test with raster centroids""" cent4 = Centroids.from_pnt_bounds(points_bounds=(-1, 0, 0, 1), res=1) - cent4.lat, cent1.lon = np.array([0, 1]), np.array([0, -1]) - cent4.on_land = np.array([True, True]) haz_4 = haz_1.change_centroids(cent4) @@ -1149,67 +1144,6 @@ def test_hazard_pass(self): self.assertEqual(hazard.tag.description, description) self.assertEqual(hazard.tag.haz_type, 'TC') -class TestReaderMat(unittest.TestCase): - """Test reader functionality of the ExposuresExcel class""" - - def test_hazard_pass(self): - """Read a hazard mat file correctly.""" - # Read demo excel file - hazard = Hazard.from_mat(HAZ_TEST_MAT) - - # Check results - n_events = 14450 - n_centroids = 100 - - self.assertEqual(hazard.units, 'm/s') - - self.assertEqual(hazard.centroids.coord.shape, (n_centroids, 2)) - - self.assertEqual(hazard.event_id.dtype, int) - self.assertEqual(hazard.event_id.shape, (n_events,)) - - self.assertEqual(hazard.frequency.dtype, float) - self.assertEqual(hazard.frequency.shape, (n_events,)) - - self.assertEqual(hazard.frequency_unit, DEF_FREQ_UNIT) - - self.assertEqual(hazard.intensity.dtype, float) - self.assertEqual(hazard.intensity.shape, (n_events, n_centroids)) - self.assertEqual(hazard.intensity[12, 46], 12.071393519949979) - self.assertEqual(hazard.intensity[13676, 49], 17.228323602220616) - - self.assertEqual(hazard.fraction.dtype, float) - self.assertEqual(hazard.fraction.shape, (n_events, n_centroids)) - self.assertEqual(hazard.fraction[8454, 98], 1) - self.assertEqual(hazard.fraction[85, 54], 0) - - self.assertEqual(len(hazard.event_name), n_events) - self.assertEqual(hazard.event_name[124], 125) - - self.assertEqual(len(hazard.date), n_events) - self.assertEqual(dt.datetime.fromordinal(hazard.date[0]).year, 1851) - self.assertEqual(dt.datetime.fromordinal(hazard.date[0]).month, 6) - self.assertEqual(dt.datetime.fromordinal(hazard.date[0]).day, 25) - self.assertEqual(dt.datetime.fromordinal(hazard.date[78]).year, 1852) - self.assertEqual(dt.datetime.fromordinal(hazard.date[78]).month, 9) - self.assertEqual(dt.datetime.fromordinal(hazard.date[78]).day, 22) - self.assertEqual(dt.datetime.fromordinal(hazard.date[-1]).year, 2011) - self.assertEqual(dt.datetime.fromordinal(hazard.date[-1]).month, 11) - self.assertEqual(dt.datetime.fromordinal(hazard.date[-1]).day, 6) - - self.assertTrue(hazard.orig[0]) - self.assertTrue(hazard.orig[11580]) - self.assertTrue(hazard.orig[4940]) - self.assertFalse(hazard.orig[3551]) - self.assertFalse(hazard.orig[10651]) - self.assertFalse(hazard.orig[4818]) - - # tag hazard - self.assertEqual(hazard.tag.file_name, str(HAZ_TEST_MAT)) - self.assertEqual(hazard.tag.description, - ' TC hazard event set, generated 14-Nov-2017 10:09:05') - self.assertEqual(hazard.tag.haz_type, 'TC') - class TestHDF5(unittest.TestCase): """Test reader functionality of the ExposuresExcel class""" @@ -1250,8 +1184,8 @@ def test_reproject_vector_pass(self): event_name=['1'], intensity=sparse.csr_matrix(np.array([0.5, 0.2, 0.1])), fraction=sparse.csr_matrix(np.array([0.5, 0.2, 0.1]) / 2), - centroids=Centroids.from_lat_lon( - np.array([1, 2, 3]), np.array([1, 2, 3])),) + centroids=Centroids( + latitude=np.array([1, 2, 3]), longitude=np.array([1, 2, 3])),) haz_fl.check() haz_fl.reproject_vector(dst_crs='epsg:2202') @@ -1273,8 +1207,8 @@ def test_vector_to_raster_pass(self): event_name=['1'], intensity=sparse.csr_matrix(np.array([0.5, 0.2, 0.1])), fraction=sparse.csr_matrix(np.array([0.5, 0.2, 0.1]) / 2), - centroids=Centroids.from_lat_lon( - np.array([1, 2, 3]), np.array([1, 2, 3])),) + centroids=Centroids( + latitude=np.array([1, 2, 3]), longitude=np.array([1, 2, 3])),) haz_fl.check() haz_fl.vector_to_raster() From 950a722f32d22a7bd6b83c95efc7b4c1728f3354 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 8 Aug 2023 14:32:35 +0200 Subject: [PATCH 013/192] Remove vector - raster hazard methods --- climada/hazard/base.py | 42 ++------------------------------ climada/hazard/test/test_base.py | 31 ----------------------- 2 files changed, 2 insertions(+), 71 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index 9e7d1d411f..9af5957d97 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -1160,55 +1160,17 @@ def reproject_raster(self, dst_crs=False, transform=None, width=None, height=Non fraction.reshape(self.size, dst_meta['height'] * dst_meta['width'])) self.check() - def reproject_vector(self, dst_crs, scheduler=None): + def reproject_vector(self, dst_crs): """Change current point data to a a given projection Parameters ---------- dst_crs : crs reproject to given crs - scheduler : str, optional - used for dask map_partitions. “threads”, - “synchronous” or “processes” """ - self.centroids.set_geometry_points(scheduler) - self.centroids.geometry = self.centroids.geometry.to_crs(dst_crs) - self.centroids.lat = self.centroids.geometry[:].y - self.centroids.lon = self.centroids.geometry[:].x + self.centroids.gdf.to_crs(dst_crs, inplace=True) self.check() - def raster_to_vector(self): - """Change current raster to points (center of the pixels)""" - self.centroids.set_meta_to_lat_lon() - self.centroids.meta = dict() - self.check() - - def vector_to_raster(self, scheduler=None): - """Change current point data to a raster with same resolution - - Parameters - ---------- - scheduler : str, optional - used for dask map_partitions. “threads”, - “synchronous” or “processes” - """ - points_df = gpd.GeoDataFrame() - points_df['latitude'] = self.centroids.lat - points_df['longitude'] = self.centroids.lon - val_names = ['val' + str(i_ev) for i_ev in range(2 * self.size)] - for i_ev, inten_name in enumerate(val_names): - if i_ev < self.size: - points_df[inten_name] = np.asarray(self.intensity[i_ev, :].toarray()).reshape(-1) - else: - points_df[inten_name] = np.asarray(self.fraction[i_ev - self.size, :].toarray()). \ - reshape(-1) - raster, meta = u_coord.points_to_raster(points_df, val_names, - crs=self.centroids.geometry.crs, - scheduler=scheduler) - self.intensity = sparse.csr_matrix(raster[:self.size, :, :].reshape(self.size, -1)) - self.fraction = sparse.csr_matrix(raster[self.size:, :, :].reshape(self.size, -1)) - self.centroids = Centroids(meta=meta) - self.check() def read_mat(self, *args, **kwargs): """This function is deprecated, use Hazard.from_mat.""" diff --git a/climada/hazard/test/test_base.py b/climada/hazard/test/test_base.py index 91e672446f..f0a49b9032 100644 --- a/climada/hazard/test/test_base.py +++ b/climada/hazard/test/test_base.py @@ -1197,37 +1197,6 @@ def test_reproject_vector_pass(self): self.assertTrue(np.allclose(haz_fl.intensity.toarray(), np.array([0.5, 0.2, 0.1]))) self.assertTrue(np.allclose(haz_fl.fraction.toarray(), np.array([0.5, 0.2, 0.1]) / 2)) - def test_vector_to_raster_pass(self): - """Test vector_to_raster""" - haz_fl = Hazard('FL', - event_id=np.array([1]), - date=np.array([1]), - frequency=np.array([1]), - orig=np.array([1]), - event_name=['1'], - intensity=sparse.csr_matrix(np.array([0.5, 0.2, 0.1])), - fraction=sparse.csr_matrix(np.array([0.5, 0.2, 0.1]) / 2), - centroids=Centroids( - latitude=np.array([1, 2, 3]), longitude=np.array([1, 2, 3])),) - haz_fl.check() - - haz_fl.vector_to_raster() - self.assertTrue(u_coord.equal_crs(haz_fl.centroids.meta['crs'], 'epsg:4326')) - self.assertAlmostEqual(haz_fl.centroids.meta['transform'][0], 1.0) - self.assertAlmostEqual(haz_fl.centroids.meta['transform'][1], 0) - self.assertAlmostEqual(haz_fl.centroids.meta['transform'][2], 0.5) - self.assertAlmostEqual(haz_fl.centroids.meta['transform'][3], 0) - self.assertAlmostEqual(haz_fl.centroids.meta['transform'][4], -1.0) - self.assertAlmostEqual(haz_fl.centroids.meta['transform'][5], 3.5) - self.assertEqual(haz_fl.centroids.meta['height'], 3) - self.assertEqual(haz_fl.centroids.meta['width'], 3) - self.assertEqual(haz_fl.centroids.lat.size, 0) - self.assertEqual(haz_fl.centroids.lon.size, 0) - self.assertTrue(haz_fl.intensity.min() >= 0) - self.assertTrue(haz_fl.intensity.max() <= 0.5) - self.assertTrue(haz_fl.fraction.min() >= 0) - self.assertTrue(haz_fl.fraction.max() <= 0.5 / 2) - class TestClear(unittest.TestCase): """Test clear method""" From 923b066e2d2f21e3b49627677a67125894248f80 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 8 Aug 2023 14:32:47 +0200 Subject: [PATCH 014/192] Restore legacy excell reader --- climada/hazard/centroids/centr.py | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 83b394dbd0..cb7be7ca45 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -573,15 +573,17 @@ def from_vector_file(cls, file_name, dst_crs=None): centroids.to_crs(dst_crs, inplace=True) return centroids - +#TODO: this method is badly written but kept for backwards compatibility. It should be improved. @classmethod - def from_excel(cls, file_name, crs): + def from_excel(cls, file_name, var_names=None): """Generate a new centroids object from an excel file with column names in var_names. Parameters ---------- file_name : str absolute or relative file name + var_names : dict, default + name of the variables Raises ------ @@ -592,9 +594,25 @@ def from_excel(cls, file_name, crs): centr : Centroids Centroids with data from the given file """ - df = pd.read_excel(file_name) - centroids = cls(**df.to_dict(orient='list'), crs=crs) - return centroids + if var_names is None: + var_names = DEF_VAR_EXCEL + + try: + dfr = pd.read_excel(file_name, var_names['sheet_name']) + try: + region_id = dfr[var_names['col_name']['region_id']] + except KeyError: + region_id = None + pass + + except KeyError as err: + raise KeyError("Not existing variable: %s" % str(err)) from err + + return cls( + longitude=dfr[var_names['col_name']['lon']], + latitude=dfr[var_names['col_name']['lat']], + region_id=region_id + ) def write_hdf5(self, file_name): """Write data frame and metadata in hdf5 format From abfff600e7768d49eaf3a27f9ea5aeb55ea59007 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 8 Aug 2023 14:33:37 +0200 Subject: [PATCH 015/192] Remove clear method --- climada/hazard/base.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index 9af5957d97..df1fc1c948 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -266,16 +266,6 @@ def get_default(cls, attribute): 'frequency_unit': DEF_FREQ_UNIT, }.get(attribute) - def clear(self): - """Reinitialize attributes (except the process Pool).""" - for (var_name, var_val) in self.__dict__.items(): - if isinstance(var_val, np.ndarray) and var_val.ndim == 1: - setattr(self, var_name, np.array([], dtype=var_val.dtype)) - elif isinstance(var_val, sparse.csr_matrix): - setattr(self, var_name, sparse.csr_matrix(np.empty((0, 0)))) - elif not isinstance(var_val, Pool): - setattr(self, var_name, self.get_default(var_name) or var_val.__class__()) - def check(self): """Check dimension of attributes. From 8e360e67b84ac8c5331e3b35c27a96ef308d78e7 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 8 Aug 2023 14:34:04 +0200 Subject: [PATCH 016/192] Remove clear test --- climada/hazard/test/test_base.py | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/climada/hazard/test/test_base.py b/climada/hazard/test/test_base.py index f0a49b9032..2043399227 100644 --- a/climada/hazard/test/test_base.py +++ b/climada/hazard/test/test_base.py @@ -1198,38 +1198,6 @@ def test_reproject_vector_pass(self): self.assertTrue(np.allclose(haz_fl.fraction.toarray(), np.array([0.5, 0.2, 0.1]) / 2)) -class TestClear(unittest.TestCase): - """Test clear method""" - - def test_clear(self): - """Clear method clears everything""" - haz1 = Hazard.from_excel(HAZ_TEMPLATE_XLS, haz_type='TC') - haz1.units = "m" - haz1.frequency_unit = "1/m" - haz1.foo = np.arange(10) - haz1.clear() - self.assertEqual(list(vars(haz1.tag).values()), ['', '', '']) - self.assertEqual(haz1.units, '') - self.assertEqual(haz1.frequency_unit, DEF_FREQ_UNIT) - self.assertEqual(haz1.centroids.size, 0) - self.assertEqual(len(haz1.event_name), 0) - for attr in vars(haz1).keys(): - if attr not in ['tag', 'units', 'event_name', 'pool', 'frequency_unit']: - self.assertEqual(getattr(haz1, attr).size, 0) - self.assertIsNone(haz1.pool) - - def test_clear_pool(self): - """Clear method should not clear a process pool""" - haz1 = Hazard.from_excel(HAZ_TEMPLATE_XLS, haz_type='TC') - pool = Pool(nodes=2) - haz1.pool = pool - haz1.check() - haz1.clear() - self.assertEqual(haz1.pool, pool) - pool.close() - pool.join() - pool.clear() - def dummy_step_impf(haz): from climada.entity import ImpactFunc intensity = (0, 1, haz.intensity.max()) From 73c43927e85d42ec863e5dabe7167c2742094e94 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 8 Aug 2023 14:43:26 +0200 Subject: [PATCH 017/192] Update read/write centroids in hazard --- climada/hazard/base.py | 8 ++++---- climada/hazard/centroids/centr.py | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index df1fc1c948..32b375545c 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -1774,7 +1774,7 @@ def write_hdf5(self, file_name, todense=False): str_dt = h5py.special_dtype(vlen=str) for (var_name, var_val) in self.__dict__.items(): if var_name == 'centroids': - self.centroids.write_hdf5(hf_data.create_group(var_name)) + pass elif var_name == 'tag': hf_str = hf_data.create_dataset('haz_type', (1,), dtype=str_dt) hf_str[0] = var_val.haz_type @@ -1809,6 +1809,7 @@ def write_hdf5(self, file_name, todense=False): "%s being set to its default value.", var_name, var_val.__class__.__name__, var_name ) + self.centroids.write_hdf5(file_name, mode='a') def read_hdf5(self, *args, **kwargs): """This function is deprecated, use Hazard.from_hdf5.""" @@ -1841,8 +1842,7 @@ def from_hdf5(cls, file_name): if var_name != 'tag' and var_name not in hf_data.keys(): continue if var_name == 'centroids': - hazard_kwargs["centroids"] = Centroids.from_hdf5( - hf_data.get(var_name)) + continue elif var_name == 'tag': hazard_kwargs["haz_type"] = u_hdf5.to_string( hf_data.get('haz_type')[0]) @@ -1868,7 +1868,7 @@ def from_hdf5(cls, file_name): u_hdf5.to_string, np.array(hf_data.get(var_name)).tolist())] else: hazard_kwargs[var_name] = hf_data.get(var_name) - + hazard_kwargs["centroids"] = Centroids.from_hdf5(file_name) # Now create the actual object we want to return! return cls(**hazard_kwargs) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index cb7be7ca45..7e8d4e6f71 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -614,7 +614,7 @@ def from_excel(cls, file_name, var_names=None): region_id=region_id ) - def write_hdf5(self, file_name): + def write_hdf5(self, file_name, mode='w'): """Write data frame and metadata in hdf5 format Parameters @@ -623,7 +623,7 @@ def write_hdf5(self, file_name): (path and) file name to write to. """ LOGGER.info('Writing %s', file_name) - store = pd.HDFStore(file_name, mode='w') + store = pd.HDFStore(file_name, mode=mode) pandas_df = pd.DataFrame(self.gdf) for col in pandas_df.columns: if str(pandas_df[col].dtype) == "geometry": From 0dc0abb7338822d166bc3dad9d67096a80494a26 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 8 Aug 2023 17:23:06 +0200 Subject: [PATCH 018/192] Support empty on land or region id --- climada/hazard/centroids/centr.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 7e8d4e6f71..c5008754e8 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -155,11 +155,15 @@ def geometry(self): @property def on_land(self): - return self.gdf['on_land'] + if 'on_land' in self.gdf.columns.values: + return self.gdf['on_land'] + return None @property def region_id(self): - return self.gdf['region_id'] + if 'region_id' in self.gdf.columns.values: + return self.gdf['region_id'] + return None @property def crs(self): From c2f626a219d73a9014b734067120ea7cc50db985 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 8 Aug 2023 17:23:24 +0200 Subject: [PATCH 019/192] Check for empty region id --- climada/hazard/storm_europe.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/climada/hazard/storm_europe.py b/climada/hazard/storm_europe.py index a51a2f87d1..0bc38b6088 100644 --- a/climada/hazard/storm_europe.py +++ b/climada/hazard/storm_europe.py @@ -788,7 +788,7 @@ def generate_prob_storms(self, reg_id=528, spatial_shift=4, ssi_args=None, """ # bool vector selecting the targeted centroids if reg_id is not None: - if self.centroids.region_id.size == 0: + if not self.centroids.region_id: self.centroids.set_region_id() if not isinstance(reg_id, list): reg_id = [reg_id] From bdf77d21a0c1165ff85c09cace8d79dd786dfbfb Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 8 Aug 2023 18:10:12 +0200 Subject: [PATCH 020/192] Set region id correctly --- climada/hazard/centroids/centr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index c5008754e8..55afccb41c 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -320,7 +320,7 @@ def set_region_id(self, scheduler=None): ne_geom = self._ne_crs_geom(scheduler) LOGGER.debug('Setting region_id %s points.', str(self.size)) if u_coord.equal_crs(self.crs, 'epsg:4326'): - self.gdf.region_id = u_coord.get_country_code( + self.gdf['region_id'] = u_coord.get_country_code( ne_geom.geometry[:].y.values, ne_geom.geometry[:].x.values) else: raise NotImplementedError('The region id can only be assigned if the crs is epsg:4326') From cf0128d44d40c01a263840a5674f9245b6a15835 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 8 Aug 2023 18:10:34 +0200 Subject: [PATCH 021/192] Remove scheduler --- climada/hazard/centroids/centr.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 55afccb41c..f54818acdd 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -478,7 +478,7 @@ def plot(self, ax=None, figsize=(9, 13), **kwargs): plt.tight_layout() return ax - def get_area_pixel(self, min_resol=1.0e-8, scheduler=None): + def get_area_pixel(self, min_resol=1.0e-8): """Computes the area per centroid in the CEA projection assuming that the centroids define a regular grid of pixels (area in m*m). @@ -489,8 +489,6 @@ def get_area_pixel(self, min_resol=1.0e-8, scheduler=None): Use this minimum resolution in lat and lon. Is passed to the method climada.util.coordinates.get_resolution. Default: 1.0e-8 - scheduler : str - used for dask map_partitions. “threads”, “synchronous” or “processes” See also -------- From 4f40deff08387bdb0c323bb020bf47b8fd66a0da Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 8 Aug 2023 18:10:46 +0200 Subject: [PATCH 022/192] Add docstring --- climada/hazard/centroids/centr.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index f54818acdd..4a2a3bcef6 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -685,7 +685,18 @@ def _ne_crs_geom(self, scheduler=None): return self.gdf.geometry.to_crs(u_coord.NE_CRS) def _meta_to_lat_lon(meta): - """Compute lat and lon of every pixel center from meta raster.""" + """Compute lat and lon of every pixel center from meta raster. + + Parameters + ---------- + meta : _type_ + meta description of raster + + Returns + ------- + (np.ndarray, np.ndarray) + latitudes, longitudes + """ xgrid, ygrid = u_coord.raster_to_meshgrid( meta['transform'], meta['width'], meta['height'] ) From 5f520fb9c96a5eb0552efdf590bd93126768f922 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 8 Aug 2023 18:10:58 +0200 Subject: [PATCH 023/192] Add legacy read hdf5 --- climada/hazard/centroids/centr.py | 47 +++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 4a2a3bcef6..b0d1b641cb 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -25,6 +25,7 @@ from typing import Optional, Dict, Any import warnings +import h5py import cartopy.crs as ccrs import geopandas as gpd import matplotlib.pyplot as plt @@ -659,14 +660,50 @@ def from_hdf5(cls, file_name): if not Path(file_name).is_file(): raise FileNotFoundError(str(file_name)) - with pd.HDFStore(file_name, mode='r') as store: - metadata = store.get_storer('centroids').attrs.metadata - # in previous versions of CLIMADA and/or geopandas, the CRS was stored in '_crs'/'crs' - crs = metadata.get('crs') - gdf = gpd.GeoDataFrame(store['centroids'], crs=crs) + try: + with pd.HDFStore(file_name, mode='r') as store: + metadata = store.get_storer('centroids').attrs.metadata + # in previous versions of CLIMADA and/or geopandas, the CRS was stored in '_crs'/'crs' + crs = metadata.get('crs') + gdf = gpd.GeoDataFrame(store['centroids'], crs=crs) + except TypeError: + with h5py.File(file_name, 'r') as data: + gdf = cls._legacy_from_hdf5(data.get('centroids')) return cls.from_geodataframe(gdf) + @classmethod + def _legacy_from_hdf5(cls, data): + crs = DEF_CRS + if data.get('crs'): + crs = u_coord.to_crs_user_input(data.get('crs')[0]) + if data.get('lat') and data.get('lat').size: + latitude = np.array(data.get('lat')) + longitude = np.array(data.get('lon')) + elif data.get('latitude') and data.get('latitude').size: + latitude = np.array(data.get('latitude')) + longitude = np.array(data.get('longitude')) + else: + centr_meta = data.get('meta') + meta = dict() + meta['crs'] = crs + for key, value in centr_meta.items(): + if key != 'transform': + meta[key] = value[0] + else: + meta[key] = rasterio.Affine(*value) + latitude, longitude = _meta_to_lat_lon(meta) + + extra_values = {} + for centr_name in data.keys(): + if centr_name not in ('crs', 'lat', 'lon', 'meta'): + extra_values[centr_name] = np.array(data.get(centr_name)) + + return gpd.GeoDataFrame( + extra_values, + geometry=gpd.points_from_xy(x=longitude, y=latitude, crs=crs) + ) + def _ne_crs_geom(self, scheduler=None): """Return `geometry` attribute in the CRS of Natural Earth. From 7c24df05d5072fefbbe2a9ac7059a79eea8a397a Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 8 Aug 2023 18:11:09 +0200 Subject: [PATCH 024/192] Replace incorrect dot product --- climada/hazard/storm_europe.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/climada/hazard/storm_europe.py b/climada/hazard/storm_europe.py index 0bc38b6088..727cbc227c 100644 --- a/climada/hazard/storm_europe.py +++ b/climada/hazard/storm_europe.py @@ -685,7 +685,7 @@ def calc_ssi(self, method='dawkins', intensity=None, on_land=True, if method == 'dawkins': area_c = area_pixel / 1000 / 1000 * sel_cen for i, inten_i in enumerate(intensity): - ssi_i = area_c * inten_i.power(3).todense().T + ssi_i = inten_i.power(3).dot(area_c) # matrix crossproduct (row x column vector) ssi[i] = ssi_i.item(0) From e4bb789c8877f49bb2ce5d608d260339a340c904 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Fri, 11 Aug 2023 15:14:53 +0200 Subject: [PATCH 025/192] Remove meta in assign centroids --- climada/util/coordinates.py | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/climada/util/coordinates.py b/climada/util/coordinates.py index f915fd0b3b..6045c8f4c3 100644 --- a/climada/util/coordinates.py +++ b/climada/util/coordinates.py @@ -1121,15 +1121,10 @@ def match_centroids(coord_gdf, centroids, distance='euclidean', # no error is raised and it is assumed that the user set the crs correctly pass - if centroids.meta: - assigned = match_grid_points( - coord_gdf.longitude.values, coord_gdf.latitude.values, - centroids.meta['width'], centroids.meta['height'], - centroids.meta['transform']) - else: - assigned = match_coordinates( - np.stack([coord_gdf.latitude.values, coord_gdf.longitude.values], axis=1), - centroids.coord, distance=distance, threshold=threshold) + assigned = match_coordinates( + np.stack([coord_gdf.latitude.values, coord_gdf.longitude.values], axis=1), + centroids.coord, distance=distance, threshold=threshold + ) return assigned @numba.njit From 3df5a4bd8fb433ee2efa5ff93e0ff7fa24fe44aa Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Fri, 11 Aug 2023 15:15:03 +0200 Subject: [PATCH 026/192] Remove matlab test file --- climada/engine/test/test_cost_benefit.py | 28 ++++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/climada/engine/test/test_cost_benefit.py b/climada/engine/test/test_cost_benefit.py index a166d41e0b..87bd1deb43 100644 --- a/climada/engine/test/test_cost_benefit.py +++ b/climada/engine/test/test_cost_benefit.py @@ -37,14 +37,14 @@ HAZ_TEST_MAT = get_test_file('atl_prob_no_name') ENT_TEST_MAT = get_test_file('demo_today', file_format='MAT-file') - +HAZ_TEST_TC :Path = get_test_file('test_tc_florida') class TestSteps(unittest.TestCase): """Test intermediate steps""" def test_calc_impact_measures_pass(self): """Test _calc_impact_measures against reference value""" - self.assertTrue(HAZ_TEST_MAT.is_file(), "{} is not a file".format(HAZ_TEST_MAT)) - hazard = Hazard.from_mat(HAZ_TEST_MAT) + self.assertTrue(HAZ_TEST_TC.is_file(), "{} is not a file".format(HAZ_TEST_TC)) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) self.assertTrue(ENT_TEST_MAT.is_file(), "{} is not a file".format(ENT_TEST_MAT)) entity = Entity.from_mat(ENT_TEST_MAT) @@ -230,7 +230,7 @@ def test_cb_one_meas_fut_pass(self): def test_calc_cb_no_change_pass(self): """Test _calc_cost_benefit without present value against reference value""" - hazard = Hazard.from_mat(HAZ_TEST_MAT) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) entity = Entity.from_mat(ENT_TEST_MAT) entity.measures._data['TC'] = entity.measures._data.pop('XX') for meas in entity.measures.get_measure('TC'): @@ -267,7 +267,7 @@ def test_calc_cb_no_change_pass(self): def test_calc_cb_change_pass(self): """Test _calc_cost_benefit with present value against reference value""" - hazard = Hazard.from_mat(HAZ_TEST_MAT) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) entity = Entity.from_mat(ENT_TEST_MAT) entity.measures._data['TC'] = entity.measures._data.pop('XX') for meas in entity.measures.get_measure('TC'): @@ -438,7 +438,7 @@ def test_norm_value(self): def test_combine_fut_pass(self): """Test combine_measures with present and future""" - hazard = Hazard.from_mat(HAZ_TEST_MAT) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) entity = Entity.from_excel(ENT_DEMO_TODAY) entity.check() entity.exposures.ref_year = 2018 @@ -498,7 +498,7 @@ def test_combine_fut_pass(self): def test_combine_current_pass(self): """Test combine_measures with only future""" - hazard = Hazard.from_mat(HAZ_TEST_MAT) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) entity = Entity.from_excel(ENT_DEMO_TODAY) entity.check() entity.exposures.ref_year = 2018 @@ -538,7 +538,7 @@ def test_combine_current_pass(self): def test_apply_transf_current_pass(self): """Test apply_risk_transfer with only future""" - hazard = Hazard.from_mat(HAZ_TEST_MAT) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) entity = Entity.from_excel(ENT_DEMO_TODAY) entity.check() entity.exposures.ref_year = 2018 @@ -588,7 +588,7 @@ def test_apply_transf_current_pass(self): def test_apply_transf_cost_fact_pass(self): """Test apply_risk_transfer with only future annd cost factor""" - hazard = Hazard.from_mat(HAZ_TEST_MAT) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) entity = Entity.from_excel(ENT_DEMO_TODAY) entity.check() entity.exposures.ref_year = 2018 @@ -636,7 +636,7 @@ def test_apply_transf_cost_fact_pass(self): def test_apply_transf_future_pass(self): """Test apply_risk_transfer with present and future""" - hazard = Hazard.from_mat(HAZ_TEST_MAT) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) entity = Entity.from_excel(ENT_DEMO_TODAY) entity.check() entity.exposures.ref_year = 2018 @@ -692,7 +692,7 @@ def test_apply_transf_future_pass(self): def test_remove_measure(self): """Test remove_measure method""" - hazard = Hazard.from_mat(HAZ_TEST_MAT) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) entity = Entity.from_excel(ENT_DEMO_TODAY) entity.check() entity.exposures.ref_year = 2018 @@ -720,7 +720,7 @@ class TestCalc(unittest.TestCase): def test_calc_change_pass(self): """Test calc with future change""" # present - hazard = Hazard.from_mat(HAZ_TEST_MAT) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) entity = Entity.from_excel(ENT_DEMO_TODAY) entity.exposures.gdf.rename(columns={'impf_': 'impf_TC'}, inplace=True) entity.check() @@ -777,7 +777,7 @@ def test_calc_change_pass(self): def test_calc_no_change_pass(self): """Test calc without future change""" - hazard = Hazard.from_mat(HAZ_TEST_MAT) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) entity = Entity.from_excel(ENT_DEMO_TODAY) entity.check() entity.exposures.ref_year = 2018 @@ -808,7 +808,7 @@ class TestRiskFuncs(unittest.TestCase): def test_impact(self): ent = Entity.from_excel(ENT_DEMO_TODAY) ent.check() - hazard = Hazard.from_mat(HAZ_TEST_MAT) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) impact = ImpactCalc(ent.exposures, ent.impact_funcs, hazard).impact() return impact From 72064461cd2e4f3c6bc5a3cd2fed0f138bd74beb Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 15 Aug 2023 12:11:18 +0200 Subject: [PATCH 027/192] Update set lat/lon --- climada/engine/test/test_forecast.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/climada/engine/test/test_forecast.py b/climada/engine/test/test_forecast.py index 3ca7f06e52..4327c79c0e 100644 --- a/climada/engine/test/test_forecast.py +++ b/climada/engine/test/test_forecast.py @@ -109,14 +109,12 @@ def test_Forecast_plot(self): HAZ_DIR.joinpath('storm_europe_cosmoe_forecast_vmax_testfile.nc'), run_datetime=dt.datetime(2018,1,1), event_date=dt.datetime(2018,1,3)) - haz1.centroids.lat += 0.6 - haz1.centroids.lon -= 1.2 + haz1.centroids.gdf.geometry.translate(-1.2, 0.6) haz2 = StormEurope.from_cosmoe_file( HAZ_DIR.joinpath('storm_europe_cosmoe_forecast_vmax_testfile.nc'), run_datetime=dt.datetime(2018,1,1), event_date=dt.datetime(2018,1,3)) - haz2.centroids.lat += 0.6 - haz2.centroids.lon -= 1.2 + haz2.centroids.gdf.geometry.translate(-1.2, 0.6) #exposure data = {} data['latitude'] = haz1.centroids.lat From d4d5e02fa8fc7835d1aef99ddfe805760b568ea2 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 15 Aug 2023 12:19:41 +0200 Subject: [PATCH 028/192] Update test with init --- climada/entity/exposures/test/test_base.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/climada/entity/exposures/test/test_base.py b/climada/entity/exposures/test/test_base.py index 9fa2fdd183..bc2118d519 100644 --- a/climada/entity/exposures/test/test_base.py +++ b/climada/entity/exposures/test/test_base.py @@ -132,7 +132,8 @@ def test_assign_raster_pass(self): 'width': 20, 'height': 10, 'transform': rasterio.Affine(1.5, 0.0, -20, 0.0, -1.4, 8) } - haz = Hazard('FL', centroids=Centroids(meta=meta)) + y, x = Centroids._meta_to_lat_lon(meta) + haz = Hazard('FL', centroids=Centroids(x, y)) # explicit points with known results (see `expected_result` for details) exp = Exposures(crs=DEF_CRS) @@ -197,7 +198,7 @@ def test_affected_total_value(self): ) exp = Exposures(gdf, crs=4326) intensity = sp.sparse.csr_matrix(np.array([[0, 0, 1, 10, 2], [-1, 0, 0, 1, 2]])) - cent = Centroids(lat=np.array([1, 2, 3, 4]), lon=np.array([-1, -2, -3, -4])) + cent = Centroids(latitude=np.array([1, 2, 3, 4]), longitude=np.array([-1, -2, -3, -4])) haz = Hazard( haz_type=haz_type, centroids=cent, intensity=intensity, event_id=[1, 2] ) From 178e62450284ae763e029b5c39780bf8eaf9d489 Mon Sep 17 00:00:00 2001 From: climada Date: Fri, 1 Sep 2023 12:35:46 +0000 Subject: [PATCH 029/192] 'Automated update v4.0.0' --- CHANGELOG.md | 29 +++++++++++------------------ climada/_version.py | 2 +- doc/misc/README.md | 8 +++++++- setup.py | 2 +- 4 files changed, 20 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ade22ac4ba..f08796e9fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,8 @@ # Changelog -## Unreleased +## 4.0.0 -Release date: YYYY-MM-DD - -Code freeze date: YYYY-MM-DD +Release date: 2023-09-01 ### Dependency Updates @@ -63,7 +61,7 @@ Removed: - 'Extra' requirements `doc`, `test`, and `dev` for Python package [#712](https://github.com/CLIMADA-project/climada_python/pull/712) - Added method `Exposures.centroids_total_value` to replace the functionality of `Exposures.affected_total_value`. This method is temporary and deprecated. [#702](https://github.com/CLIMADA-project/climada_python/pull/702) - New method `climada.util.api_client.Client.purge_cache`: utility function to remove outdated files from the local file system to free disk space. - ([#737](https://github.com/CLIMADA-project/climada_python/pull/737)) +([#737](https://github.com/CLIMADA-project/climada_python/pull/737)) - New attribute `climada.hazard.Hazard.haz_type`: used for assigning impacts to hazards. In previous versions this information was stored in the now removed `climada.hazard.tag.Tag` class. [#736](https://github.com/CLIMADA-project/climada_python/pull/736) - New attribute `climada.entity.exposures.Exposures.description`: used for setting the default title in plots from plotting mathods `plot_hexbin` and `plot_scatter`. In previous versions this information was stored in the deprecated `climada.entity.tag.Tag` class. [#756](https://github.com/CLIMADA-project/climada_python/pull/756) - Added advanced examples in unsequa tutorial for coupled input variables and for handling efficiently the loading of multiple large files [#766](https://github.com/CLIMADA-project/climada_python/pull/766) @@ -119,14 +117,14 @@ Removed: - `Centroids.set_raster_from_pix_bounds` [#721](https://github.com/CLIMADA-project/climada_python/pull/721) - `requirements/env_developer.yml` environment specs. Use 'extra' requirements when installing the Python package instead [#712](https://github.com/CLIMADA-project/climada_python/pull/712) - The `climada.entitity.tag.Tag` class, together with `Impact.tag`, `Exposures.tag`, `ImpactFuncSet.tag`, `MeasuresSet.tag`, `Hazard.tag` attributes. - This may break backwards-compatibility with respect to the files written and read by the `Impact` class. - [#736](https://github.com/CLIMADA-project/climada_python/pull/736), - [#743](https://github.com/CLIMADA-project/climada_python/pull/743), - [#753](https://github.com/CLIMADA-project/climada_python/pull/753), - [#754](https://github.com/CLIMADA-project/climada_python/pull/754), - [#756](https://github.com/CLIMADA-project/climada_python/pull/756), - [#767](https://github.com/CLIMADA-project/climada_python/pull/767), - [#779](https://github.com/CLIMADA-project/climada_python/pull/779) +This may break backwards-compatibility with respect to the files written and read by the `Impact` class. +[#736](https://github.com/CLIMADA-project/climada_python/pull/736), +[#743](https://github.com/CLIMADA-project/climada_python/pull/743), +[#753](https://github.com/CLIMADA-project/climada_python/pull/753), +[#754](https://github.com/CLIMADA-project/climada_python/pull/754), +[#756](https://github.com/CLIMADA-project/climada_python/pull/756), +[#767](https://github.com/CLIMADA-project/climada_python/pull/767), +[#779](https://github.com/CLIMADA-project/climada_python/pull/779) - `impact.tot_value` attribute removed from unsequa module [#763](https://github.com/CLIMADA-project/climada_python/pull/763) ## v3.3.2 @@ -155,10 +153,6 @@ Patch-relaese with altered base config file so that the basic installation test Release date: 2023-02-17 -Code freeze date: 2023-02-05 - -### Description - ### Dependency Changes new: @@ -248,4 +242,3 @@ updated: - `climada.enginge.impact.Impact.calc()` and `climada.enginge.impact.Impact.calc_impact_yearset()` [#436](https://github.com/CLIMADA-project/climada_python/pull/436). -### Removed diff --git a/climada/_version.py b/climada/_version.py index 1571c99a75..d6497a814c 100644 --- a/climada/_version.py +++ b/climada/_version.py @@ -1 +1 @@ -__version__ = '3.3.2-dev' +__version__ = '4.0.0' diff --git a/doc/misc/README.md b/doc/misc/README.md index cc314f610d..369cecb583 100644 --- a/doc/misc/README.md +++ b/doc/misc/README.md @@ -15,7 +15,13 @@ This is the Python (3.8+) version of CLIMADA - please see https://github.com/dav ## Getting started -CLIMADA runs on Windows, macOS and Linux. It can be installed from sources or - in case of climada_python - directly with pip. See the [installation guide](https://climada-python.readthedocs.io/en/latest/guide/install.html) for instructions. +CLIMADA runs on Windows, macOS and Linux. +The released versions of the CLIMADA core can be installed directly through Anaconda: +```shell +conda install -c conda-forge climada +``` +It is **highly recommended** to install CLIMADA into a **separate** Anaconda environment. +See the [installation guide](https://climada-python.readthedocs.io/en/latest/guide/install.html) for further information. Follow the [tutorial](https://climada-python.readthedocs.io/en/latest/tutorial/1_main_climada.html) `climada_python-x.y.z/doc/tutorial/1_main_climada.ipynb` in a Jupyter Notebook to see what can be done with CLIMADA and how. diff --git a/setup.py b/setup.py index 875e7756c6..1454840beb 100644 --- a/setup.py +++ b/setup.py @@ -33,7 +33,7 @@ setup( name='climada', - version='3.3.2-dev', + version='4.0.0', description='CLIMADA in Python', From a94d7af197e5194f56671f450d5a0ed8a5b75a42 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Fri, 22 Sep 2023 11:25:30 +0200 Subject: [PATCH 030/192] Add note on method --- climada/hazard/centroids/centr.py | 1 + 1 file changed, 1 insertion(+) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index b0d1b641cb..9fecfb4488 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -326,6 +326,7 @@ def set_region_id(self, scheduler=None): else: raise NotImplementedError('The region id can only be assigned if the crs is epsg:4326') + # NOT REALLY AN ELEVATION FUNCTION, JUST READ RASTER def get_elevation(self, topo_path): """Return elevation attribute for every pixel or point in meters. From e41191dd72958f893369e921b45d80a65ee2936a Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 27 Sep 2023 13:37:55 +0200 Subject: [PATCH 031/192] changelog: for 4.0.1 --- CHANGELOG.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3807a753ee..dc49a0905b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,28 @@ # Changelog -## 4.0.0 +## Unreleased -Release date: 2023-09-01 +Release date: YYYY-MM-DD + +Code freeze date: YYYY-MM-DD ### Description ### Dependency Changes +Added: + +- `matplotlib-base` None → >=3.8 + +Changed: + +- `geopandas` >=0.13 → >=0.14 +- `pandas` >=1.5,<2.0 → >=2.1 + +Removed: + +- `matplotlib` >=3.7 + ### Added ### Changed From e41222210bfb99e92829c0a86f1db2f31355abf5 Mon Sep 17 00:00:00 2001 From: climada Date: Wed, 27 Sep 2023 11:47:33 +0000 Subject: [PATCH 032/192] 'Automated update v4.0.1' --- CHANGELOG.md | 14 ++------------ climada/_version.py | 2 +- setup.py | 2 +- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dc49a0905b..5d4d531498 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,8 @@ # Changelog -## Unreleased +## 4.0.1 -Release date: YYYY-MM-DD - -Code freeze date: YYYY-MM-DD - -### Description +Release date: 2023-09-27 ### Dependency Changes @@ -23,8 +19,6 @@ Removed: - `matplotlib` >=3.7 -### Added - ### Changed - Rearranged file-system structure: `data` directory moved into `climada` package directory. [#781](https://github.com/CLIMADA-project/climada_python/pull/781) @@ -33,10 +27,6 @@ Removed: - `climada.util.coordinates.get_country_code` bug, occurring with non-standard longitudinal coordinates around the anti-meridian. [#770](https://github.com/CLIMADA-project/climada_python/issues/770) -### Deprecated - -### Removed - ## 4.0.0 Release date: 2023-09-01 diff --git a/climada/_version.py b/climada/_version.py index d6497a814c..1a3bef5327 100644 --- a/climada/_version.py +++ b/climada/_version.py @@ -1 +1 @@ -__version__ = '4.0.0' +__version__ = '4.0.1' diff --git a/setup.py b/setup.py index 7cccbdad96..82dd437c05 100644 --- a/setup.py +++ b/setup.py @@ -33,7 +33,7 @@ setup( name='climada', - version='4.0.1-dev', + version='4.0.1', description='CLIMADA in Python', From cbab08e4e1a933bbba9918145704008e643bd62b Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 28 Sep 2023 13:47:01 +0200 Subject: [PATCH 033/192] Add from_meta class method --- climada/entity/exposures/test/test_base.py | 3 +-- climada/hazard/centroids/centr.py | 20 +++++++++++++++++++- climada/hazard/centroids/test/test_centr.py | 2 +- climada/util/test/test_coordinates.py | 4 ++-- 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/climada/entity/exposures/test/test_base.py b/climada/entity/exposures/test/test_base.py index 2a0bc41e25..fdc84dccb3 100644 --- a/climada/entity/exposures/test/test_base.py +++ b/climada/entity/exposures/test/test_base.py @@ -131,8 +131,7 @@ def test_assign_raster_pass(self): 'width': 20, 'height': 10, 'transform': rasterio.Affine(1.5, 0.0, -20, 0.0, -1.4, 8) } - y, x = Centroids._meta_to_lat_lon(meta) - haz = Hazard('FL', centroids=Centroids(x, y)) + haz = Hazard('FL', centroids=Centroids.from_meta(meta)) # explicit points with known results (see `expected_result` for details) exp = Exposures(crs=DEF_CRS) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 9fecfb4488..39a203dfa5 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -554,6 +554,24 @@ def from_raster_file(cls, file_name, src_crs=None, window=None, lat, lon = _meta_to_lat_lon(meta) return cls(longitude=lon, latitude=lat, crs=dst_crs) + @classmethod + def from_meta(cls, meta): + """initiate centroids from meta raster definition + + Parameters + ---------- + meta : dict + meta description of raster + + Returns + ------- + Centroid + Centroids initialized for raster described by meta. + """ + crs = meta['crs'] + lat, lon = _meta_to_lat_lon(meta) + return cls(longitude=lon, latitude=lat, crs=crs) + @classmethod def from_vector_file(cls, file_name, dst_crs=None): @@ -727,7 +745,7 @@ def _meta_to_lat_lon(meta): Parameters ---------- - meta : _type_ + meta : dict meta description of raster Returns diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index a120cb6484..53503d80ac 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -41,7 +41,7 @@ class TestCentroidsReader(unittest.TestCase): def test_centroid_pass(self): """Read a centroid excel file correctly.""" - centroids = Centroids.from_excel(HAZ_TEMPLATE_XLS, crs=DEF_CRS) + centroids = Centroids.from_excel(HAZ_TEMPLATE_XLS) n_centroids = 45 self.assertEqual(centroids.coord.shape[0], n_centroids) diff --git a/climada/util/test/test_coordinates.py b/climada/util/test/test_coordinates.py index 46c39456d5..1784e1a586 100644 --- a/climada/util/test/test_coordinates.py +++ b/climada/util/test/test_coordinates.py @@ -526,7 +526,7 @@ def test_match_centroids(self): 'width': 20, 'height': 10, 'transform': rasterio.Affine(1.5, 0.0, -20, 0.0, -1.4, 8) } - centroids = Centroids(meta=meta) + centroids = Centroids.from_meta(meta=meta) df = pd.DataFrame({ 'longitude': np.array([ -20.1, -20.0, -19.8, -19.0, -18.6, -18.4, @@ -613,7 +613,7 @@ def test_match_centroids(self): u_coord.match_centroids(gdf, centroids) self.assertIn('Set hazard and GeoDataFrame to same CRS first!', str(cm.exception)) - + def test_dist_sqr_approx_pass(self): """Test approximate distance helper function.""" lats1 = 45.5 From 5aeb35e64f8fce1173b0e9dc817fcfbe27da0365 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 28 Sep 2023 16:15:53 +0200 Subject: [PATCH 034/192] Update centroids init --- climada/entity/exposures/test/test_base.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/climada/entity/exposures/test/test_base.py b/climada/entity/exposures/test/test_base.py index fdc84dccb3..802550ad22 100644 --- a/climada/entity/exposures/test/test_base.py +++ b/climada/entity/exposures/test/test_base.py @@ -60,7 +60,6 @@ def test_assign_pass(self): np_rand = np.random.RandomState(123456789) haz = Hazard.from_raster([HAZ_DEMO_FL], haz_type='FL', window=Window(10, 20, 50, 60)) - haz.raster_to_vector() ncentroids = haz.centroids.size exp = Exposures(crs=haz.centroids.crs) @@ -74,8 +73,8 @@ def test_assign_pass(self): # make sure that it works for both float32 and float64 for test_dtype in [np.float64, np.float32]: - haz.centroids.lat = haz.centroids.lat.astype(test_dtype) - haz.centroids.lon = haz.centroids.lon.astype(test_dtype) + haz.centroids.gdf.lat = haz.centroids.lat.astype(test_dtype) + haz.centroids.gdf.lon = haz.centroids.lon.astype(test_dtype) exp.assign_centroids(haz) self.assertEqual(exp.gdf.shape[0], len(exp.gdf[INDICATOR_CENTR + 'FL'])) np.testing.assert_array_equal(exp.gdf[INDICATOR_CENTR + 'FL'].values, expected_result) @@ -171,6 +170,9 @@ def test_assign_raster_same_pass(self): np.testing.assert_array_equal(exp.gdf[INDICATOR_CENTR + 'FL'].values, np.arange(haz.centroids.size, dtype=int)) +# Test fails because exposures stores the crs in the meta attribute as rasterio object, +# while the centroids stores the crs in the geodataframe, which is not a rasterio object. +# The comparison in assign_centroids then fails. def test_assign_large_hazard_subset_pass(self): """Test assign_centroids with raster hazard""" exp = Exposures.from_raster(HAZ_DEMO_FL, window=Window(10, 20, 50, 60)) @@ -178,7 +180,6 @@ def test_assign_large_hazard_subset_pass(self): exp.gdf.longitude[[0, 1]] = exp.gdf.longitude[[1, 0]] exp.check() haz = Hazard.from_raster([HAZ_DEMO_FL], haz_type='FL') - haz.raster_to_vector() exp.assign_centroids(haz) assigned_centroids = haz.centroids.select(sel_cen=exp.gdf[INDICATOR_CENTR + 'FL'].values) np.testing.assert_array_equal(assigned_centroids.lat, exp.gdf.latitude) From fb374d3ac944d132e8b3771945047facd1faf5e1 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 28 Sep 2023 16:16:13 +0200 Subject: [PATCH 035/192] Update read raster intensity / fraction data --- climada/entity/exposures/base.py | 13 ++--- climada/hazard/base.py | 83 +++++++++++++++++++++++++++---- climada/hazard/centroids/centr.py | 8 +-- 3 files changed, 82 insertions(+), 22 deletions(-) diff --git a/climada/entity/exposures/base.py b/climada/entity/exposures/base.py index 0f12cfc868..5e1f9f1515 100644 --- a/climada/entity/exposures/base.py +++ b/climada/entity/exposures/base.py @@ -498,7 +498,7 @@ def from_raster(cls, file_name, band=1, src_crs=None, window=None, -------- Exposures """ - exp = cls() + meta, value = u_coord.read_raster(file_name, [band], src_crs, window, geometry, dst_crs, transform, width, height, resampling) @@ -507,14 +507,11 @@ def from_raster(cls, file_name, band=1, src_crs=None, window=None, lry = uly + meta['height'] * yres x_grid, y_grid = np.meshgrid(np.arange(ulx + xres / 2, lrx, xres), np.arange(uly + yres / 2, lry, yres)) + return cls( + {'longitude': x_grid.flatten(), 'latitude': y_grid.flatten(), 'value': value.reshape(-1)} + , meta=meta, crs= meta['crs'] + ) - if exp.crs is None: - exp.set_crs() - exp.gdf['longitude'] = x_grid.flatten() - exp.gdf['latitude'] = y_grid.flatten() - exp.gdf['value'] = value.reshape(-1) - exp.meta = meta - return exp def plot_scatter(self, mask=None, ignore_zero=False, pop_name=True, buffer=0.0, extend='neither', axis=None, figsize=(9, 13), diff --git a/climada/hazard/base.py b/climada/hazard/base.py index 28b279af42..62330de474 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -340,14 +340,15 @@ def from_raster(cls, files_intensity, files_fraction=None, attrs=None, if haz_type is not None: hazard_kwargs["haz_type"] = haz_type - centroids = Centroids.from_raster_file( + centroids, meta = Centroids.from_raster_file( files_intensity[0], src_crs=src_crs, window=window, geometry=geometry, dst_crs=dst_crs, - transform=transform, width=width, height=height, resampling=resampling) + transform=transform, width=width, height=height, resampling=resampling, return_meta=True) + if pool: chunksize = max(min(len(files_intensity) // pool.ncpus, 1000), 1) inten_list = pool.map( - centroids.values_from_raster_files, - [[f] for f in files_intensity], + _values_from_raster_files, + [[f] for f in files_intensity], itertools.repeat(meta), itertools.repeat(band), itertools.repeat(src_crs), itertools.repeat(window), itertools.repeat(geometry), itertools.repeat(dst_crs), itertools.repeat(transform), @@ -356,8 +357,8 @@ def from_raster(cls, files_intensity, files_fraction=None, attrs=None, intensity = sparse.vstack(inten_list, format='csr') if files_fraction is not None: fract_list = pool.map( - centroids.values_from_raster_files, - [[f] for f in files_fraction], + _values_from_raster_files, + [[f] for f in files_fraction], itertools.repeat(meta), itertools.repeat(band), itertools.repeat(src_crs), itertools.repeat(window), itertools.repeat(geometry), itertools.repeat(dst_crs), itertools.repeat(transform), @@ -365,13 +366,13 @@ def from_raster(cls, files_intensity, files_fraction=None, attrs=None, itertools.repeat(resampling), chunksize=chunksize) fraction = sparse.vstack(fract_list, format='csr') else: - intensity = centroids.values_from_raster_files( - files_intensity, band=band, src_crs=src_crs, window=window, geometry=geometry, + intensity = _values_from_raster_files( + files_intensity, meta=meta, band=band, src_crs=src_crs, window=window, geometry=geometry, dst_crs=dst_crs, transform=transform, width=width, height=height, resampling=resampling) if files_fraction is not None: - fraction = centroids.values_from_raster_files( - files_fraction, band=band, src_crs=src_crs, window=window, geometry=geometry, + fraction = _values_from_raster_files( + files_fraction, meta=meta, band=band, src_crs=src_crs, window=window, geometry=geometry, dst_crs=dst_crs, transform=transform, width=width, height=height, resampling=resampling) @@ -2491,3 +2492,65 @@ def _get_fraction(self, cent_idx=None): if cent_idx is None: return self.fraction return self.fraction[:, cent_idx] + + +#Function to read intensity/fraction values from raster files +#No a method to allow for parallel computing +def _values_from_raster_files(file_names, meta, band=None, src_crs=None, window=None, + geometry=None, dst_crs=None, transform=None, width=None, + height=None, resampling=Resampling.nearest): + """Read raster of bands and set 0 values to the masked ones. + + Each band is an event. Select region using window or geometry. Reproject input by proving + dst_crs and/or (transform, width, height). + + Parameters + ---------- + file_names : str + path of the file + meta : dict + description of the centroids raster + band : list(int), optional + band number to read. Default: [1] + src_crs : crs, optional + source CRS. Provide it if error without it. + window : rasterio.windows.Window, optional + window to read + geometry : list of shapely.geometry, optional + consider pixels only within these shapes + dst_crs : crs, optional + reproject to given crs + transform : rasterio.Affine + affine transformation to apply + wdith : float + number of lons for transform + height : float + number of lats for transform + resampling : rasterio.warp,.Resampling optional + resampling function used for reprojection to dst_crs + + Raises + ------ + ValueError + + Returns + ------- + inten : scipy.sparse.csr_matrix + Each row is an event. + """ + if band is None: + band = [1] + + values = [] + for file_name in file_names: + tmp_meta, data = u_coord.read_raster( + file_name, band, src_crs, window, geometry, dst_crs, + transform, width, height, resampling) + if (tmp_meta['crs'] != meta['crs'] + or tmp_meta['transform'] != meta['transform'] + or tmp_meta['height'] != meta['height'] + or tmp_meta['width'] != meta['width']): + raise ValueError('Raster data is inconsistent with contained raster.') + values.append(sparse.csr_matrix(data)) + + return sparse.vstack(values, format='csr') diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 39a203dfa5..39599e8d89 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -512,11 +512,10 @@ def get_area_pixel(self, min_resol=1.0e-8): I/O methods ''' - @classmethod def from_raster_file(cls, file_name, src_crs=None, window=None, geometry=None, dst_crs=None, transform=None, width=None, - height=None, resampling=Resampling.nearest): + height=None, resampling=Resampling.nearest, return_meta=False): """Create a new Centroids object from a raster file Select region using window or geometry. Reproject input by providing @@ -552,7 +551,9 @@ def from_raster_file(cls, file_name, src_crs=None, window=None, file_name, [1], src_crs, window, geometry, dst_crs, transform, width, height, resampling) lat, lon = _meta_to_lat_lon(meta) - return cls(longitude=lon, latitude=lat, crs=dst_crs) + if return_meta: + return cls(longitude=lon, latitude=lat, crs=meta['crs']), meta + return cls(longitude=lon, latitude=lat, crs=meta['crs']) @classmethod def from_meta(cls, meta): @@ -572,7 +573,6 @@ def from_meta(cls, meta): lat, lon = _meta_to_lat_lon(meta) return cls(longitude=lon, latitude=lat, crs=crs) - @classmethod def from_vector_file(cls, file_name, dst_crs=None): """Create Centroids object from vector file (any format supported by fiona). From 2390c5a12edfdf09ad774f116d851d0694eb3da2 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Fri, 29 Sep 2023 11:37:47 +0200 Subject: [PATCH 036/192] undo changelog duplications --- CHANGELOG.md | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 263e5aec5b..483fe8bc75 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,23 +1,16 @@ # Changelog -## 4.0.1 - -Release date: 2023-09-27 - -### Dependency Changes - -Added: +## Unreleased -- `matplotlib-base` None → >=3.8 +Release date: YYYY-MM-DD -Changed: +Code freeze date: YYYY-MM-DD -- `geopandas` >=0.13 → >=0.14 -- `pandas` >=1.5,<2.0 → >=2.1 +### Description -Removed: +### Dependency Changes -- `matplotlib` >=3.7 +### Added ### Changed From 315f7d96f043cd4b3c3bc0b81143afb98dad2695 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Fri, 13 Oct 2023 11:40:00 +0200 Subject: [PATCH 037/192] Update test for points outside of raster within threshold --- climada/entity/exposures/test/test_base.py | 4 ++-- climada/util/test/test_coordinates.py | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/climada/entity/exposures/test/test_base.py b/climada/entity/exposures/test/test_base.py index 802550ad22..6fe15d3930 100644 --- a/climada/entity/exposures/test/test_base.py +++ b/climada/entity/exposures/test/test_base.py @@ -150,9 +150,9 @@ def test_assign_raster_pass(self): expected_result = [ # constant y-value, varying x-value - -1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 1, # constant x-value, varying y-value - -1, 0, 0, 20, + 0, 0, 0, 20, # out of bounds: topleft, top, topright, right, bottomright, bottom, bottomleft, left -1, -1, -1, -1, -1, -1, -1, -1, # some explicit points within the raster diff --git a/climada/util/test/test_coordinates.py b/climada/util/test/test_coordinates.py index 1784e1a586..a1eb4ed02c 100644 --- a/climada/util/test/test_coordinates.py +++ b/climada/util/test/test_coordinates.py @@ -547,9 +547,9 @@ def test_match_centroids(self): expected_result = [ # constant y-value, varying x-value - -1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 1, # constant x-value, varying y-value - -1, 0, 0, 20, + 0, 0, 0, 20, # out of bounds: topleft, top, topright, right, bottomright, bottom, bottomleft, left -1, -1, -1, -1, -1, -1, -1, -1, # some explicit points within the raster @@ -569,11 +569,11 @@ def test_match_centroids(self): coords_to_assign = np.array([(2.1, 3), (0, 0), (0, 2), (0.9, 1.0), (0, -179.9)]) centroids = Centroids( - lat=coords_to_assign[:, 0], - lon=coords_to_assign[:, 1], - geometry = gpd.GeoSeries(crs=DEF_CRS) + latitude=coords_to_assign[:, 0], + longitude=coords_to_assign[:, 1], + crs=DEF_CRS ) - centroids_empty = Centroids() + centroids_empty = Centroids(latitude=np.array([]), longitude=np.array([])) expected_results = [ # test with different thresholds (in km) @@ -604,9 +604,9 @@ def test_match_centroids(self): coords_to_assign = np.array([(2.1, 3), (0, 0), (0, 2), (0.9, 1.0), (0, -179.9)]) centroids = Centroids( - lat=[1100000,1200000], - lon=[2500000,2600000], - geometry = gpd.GeoSeries(crs='EPSG:2056') + latitude=[1100000,1200000], + longitude=[2500000,2600000], + crs='EPSG:2056' ) with self.assertRaises(ValueError) as cm: From 2b1ac74a2763c4a0b7b2ac02089d89c7c9be74dc Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Fri, 13 Oct 2023 11:40:30 +0200 Subject: [PATCH 038/192] Docstring and cosmetics --- climada/hazard/centroids/centr.py | 14 ++++++++++++++ climada/hazard/centroids/test/test_centr.py | 2 +- climada/util/coordinates.py | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 39599e8d89..c54363e576 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -214,6 +214,20 @@ def from_geodataframe(cls, gdf): @classmethod def from_exposures(cls, exposures): + """ + Generate centroids form the location of an exposures. + + Parameters + ---------- + exposures : Exposure + exposures from which to take the centroids location + and region_id (if defined) + + Returns + ------- + Centroids + Centroids built from the exposures + """ gdf = exposures.gdf[['geometry', 'region_id']] return cls.from_geodtaframe(gdf) diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index 53503d80ac..e84ce7bc61 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -27,7 +27,7 @@ from climada import CONFIG from climada.hazard.centroids.centr import Centroids -from climada.util.constants import GLB_CENTROIDS_MAT, HAZ_TEMPLATE_XLS +from climada.util.constants import HAZ_TEMPLATE_XLS import climada.hazard.test as hazard_test from climada.util.constants import DEF_CRS import climada.util.coordinates as u_coord diff --git a/climada/util/coordinates.py b/climada/util/coordinates.py index 8a110063ca..172affc381 100644 --- a/climada/util/coordinates.py +++ b/climada/util/coordinates.py @@ -1073,7 +1073,7 @@ def match_coordinates(coords, coords_to_assign, distance="euclidean", def match_centroids(coord_gdf, centroids, distance='euclidean', threshold=NEAREST_NEIGHBOR_THRESHOLD): """Assign to each gdf coordinate point its closest centroids's coordinate. - If disatances > threshold in points' distances, -1 is returned. + If distances > threshold in points' distances, -1 is returned. If centroids are in a raster and coordinate point is outside of it ``-1`` is assigned Parameters From bab8c70238420c38658ae05e2fc735717f8352fd Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Fri, 13 Oct 2023 11:42:58 +0200 Subject: [PATCH 039/192] Add to default crs method --- climada/hazard/centroids/centr.py | 36 ++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index c54363e576..cf3abe2b12 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -203,8 +203,29 @@ def __eq__(self, other): """ return self.gdf.equals(other.gdf) & u_coord.equal_crs(self.crs, other.crs) + def to_default_crs(self): + """ + Project the current centroids to the default CRS (epsg4326) + Modifies the object in place. + """ + self.gdf.to_crs(DEF_CRS, inplace=True) + @classmethod def from_geodataframe(cls, gdf): + """Initialize centroids from a geodataframe + + Parameters + ---------- + gdf : GeoDataFrame + Input geodataframe with centroids as points + in the geometry column. All other columns are + attached to the centroids geodataframe. + + Returns + ------- + Centroids + Centroids built from the geodataframe. + """ return cls( longitude=gdf.geometry.x.values, latitude=gdf.geometry.y.values, @@ -338,7 +359,10 @@ def set_region_id(self, scheduler=None): self.gdf['region_id'] = u_coord.get_country_code( ne_geom.geometry[:].y.values, ne_geom.geometry[:].x.values) else: - raise NotImplementedError('The region id can only be assigned if the crs is epsg:4326') + raise NotImplementedError( + 'The region id can only be assigned if the crs is epsg:4326' + 'Please use .to_default_crs to change to epsg:4326' + ) # NOT REALLY AN ELEVATION FUNCTION, JUST READ RASTER def get_elevation(self, topo_path): @@ -365,7 +389,10 @@ def get_dist_coast(self, signed=False, precomputed=False, scheduler=None): Used for dask map_partitions. "threads", "synchronous" or "processes" """ if not u_coord.equal_crs(self.crs, 'epsg:4326'): - raise NotImplementedError('The distance to coast can only be assigned if the crs is epsg:4326') + raise NotImplementedError( + 'The distance to coast can only be assigned if the crs is epsg:4326' + 'Please use .to_default_crs to change to epsg:4326' + ) if precomputed: return u_coord.dist_to_coast_nasa( self.lat, self.lon, highres=True, signed=signed) @@ -383,7 +410,10 @@ def set_on_land(self, scheduler=None): used for dask map_partitions. “threads”, “synchronous” or “processes” """ if not u_coord.equal_crs(self.crs, 'epsg:4326'): - raise NotImplementedError('The on land property can only be assigned if the crs is epsg:4326') + raise NotImplementedError( + 'The on land property can only be assigned if the crs is epsg:4326' + 'Please use .to_default_crs to change to epsg:4326' + ) ne_geom = self._ne_crs_geom(scheduler) LOGGER.debug('Setting on_land %s points.', str(self.lat.size)) From fe969758cd3cb98ee41688acb9d032900b5d933c Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Fri, 13 Oct 2023 11:49:18 +0200 Subject: [PATCH 040/192] Fix legacy from hdf5 for empty extra values --- climada/hazard/centroids/centr.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index cf3abe2b12..1ea1d048ff 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -760,7 +760,9 @@ def _legacy_from_hdf5(cls, data): extra_values = {} for centr_name in data.keys(): if centr_name not in ('crs', 'lat', 'lon', 'meta'): - extra_values[centr_name] = np.array(data.get(centr_name)) + values = np.array(data.get(centr_name)) + if latitude.size != 0 and values.size != 0 : + extra_values[centr_name] = values return gpd.GeoDataFrame( extra_values, From a4cf3ced493ac71a482c58564c169029c0c7246f Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Fri, 13 Oct 2023 11:55:29 +0200 Subject: [PATCH 041/192] Update legacy from_hdf5 to exclude 'latitude'/'longitude' from extra --- climada/hazard/centroids/centr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 1ea1d048ff..58c95699e9 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -759,7 +759,7 @@ def _legacy_from_hdf5(cls, data): extra_values = {} for centr_name in data.keys(): - if centr_name not in ('crs', 'lat', 'lon', 'meta'): + if centr_name not in ('crs', 'lat', 'lon', 'meta', 'latitude', 'longitude'): values = np.array(data.get(centr_name)) if latitude.size != 0 and values.size != 0 : extra_values[centr_name] = values From b22677f9751ec46e8950746007dc87ece9ae79ac Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 21 Nov 2023 11:04:23 +0100 Subject: [PATCH 042/192] Update centroids.select to work properly with mask and indices --- climada/entity/exposures/test/test_base.py | 4 ++-- climada/hazard/centroids/centr.py | 17 +++++++++++------ 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/climada/entity/exposures/test/test_base.py b/climada/entity/exposures/test/test_base.py index 6fe15d3930..5ce6ec3938 100644 --- a/climada/entity/exposures/test/test_base.py +++ b/climada/entity/exposures/test/test_base.py @@ -182,8 +182,8 @@ def test_assign_large_hazard_subset_pass(self): haz = Hazard.from_raster([HAZ_DEMO_FL], haz_type='FL') exp.assign_centroids(haz) assigned_centroids = haz.centroids.select(sel_cen=exp.gdf[INDICATOR_CENTR + 'FL'].values) - np.testing.assert_array_equal(assigned_centroids.lat, exp.gdf.latitude) - np.testing.assert_array_equal(assigned_centroids.lon, exp.gdf.longitude) + np.testing.assert_array_equal(np.unique(assigned_centroids.lat), np.unique(exp.gdf.latitude)) + np.testing.assert_array_equal(np.unique(assigned_centroids.lon), np.unique(exp.gdf.longitude)) def test_affected_total_value(self): haz_type = "RF" diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 58c95699e9..cf57b910c0 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -444,24 +444,30 @@ def select(self, reg_id=None, extent=None, sel_cen=None): [lon_max, 180] + [-180, lon_min] Borders are inclusive. sel_cen : np.array - 1-dim mask, overrides reg_id and extent + 1-dim mask or 1-dim centroids indices, complements reg_id and extent Returns ------- cen : Centroids Sub-selection of this object """ - if sel_cen is None: - sel_cen = self.select_mask(reg_id=reg_id, extent=extent) + if sel_cen.dtype.kind == 'i': #is integer + sel_cen_bool = np.zeros(self.size, dtype=bool) + sel_cen_bool[np.unique(sel_cen)] = True + else: + sel_cen_bool = sel_cen + sel_cen_mask = self.select_mask(sel_cen=sel_cen_bool, reg_id=reg_id, extent=extent) + return Centroids.from_geodataframe(self.gdf[sel_cen_mask]) - return Centroids.from_geodataframe(self.gdf[sel_cen]) - def select_mask(self, reg_id=None, extent=None): + def select_mask(self, sel_cen, reg_id=None, extent=None): """ Make mask of selected centroids Parameters ---------- + sel_cen: np.array(bool) + boolean array mask for centroids reg_id : int region to filter according to region_id values extent : tuple @@ -476,7 +482,6 @@ def select_mask(self, reg_id=None, extent=None): 1d mask of selected centroids """ - sel_cen = np.ones(self.size, dtype=bool) if reg_id is not None: sel_cen &= np.isin(self.region_id, reg_id) if extent is not None: From 1946bca41da219053cdcb6810b4c223278514692 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 21 Nov 2023 16:46:54 +0100 Subject: [PATCH 043/192] Fix forecast translate bug --- climada/engine/test/test_forecast.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/climada/engine/test/test_forecast.py b/climada/engine/test/test_forecast.py index 2986ad3ceb..ef249ae203 100644 --- a/climada/engine/test/test_forecast.py +++ b/climada/engine/test/test_forecast.py @@ -110,12 +110,12 @@ def test_Forecast_plot(self): HAZ_DIR.joinpath('storm_europe_cosmoe_forecast_vmax_testfile.nc'), run_datetime=dt.datetime(2018,1,1), event_date=dt.datetime(2018,1,3)) - haz1.centroids.gdf.geometry.translate(-1.2, 0.6) + haz1.centroids.gdf.geometry = haz1.centroids.gdf.geometry.translate(-1.2, 0.6) haz2 = StormEurope.from_cosmoe_file( HAZ_DIR.joinpath('storm_europe_cosmoe_forecast_vmax_testfile.nc'), run_datetime=dt.datetime(2018,1,1), event_date=dt.datetime(2018,1,3)) - haz2.centroids.gdf.geometry.translate(-1.2, 0.6) + haz2.centroids.gdf.geometry = haz2.centroids.gdf.geometry.translate(-1.2, 0.6) #exposure data = {} data['latitude'] = haz1.centroids.lat From b2c0c7467f8a91b55ba7ebf9786a851b5e411671 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 21 Nov 2023 17:17:17 +0100 Subject: [PATCH 044/192] Remove _set_centroids --- climada/hazard/base.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index c2313950b9..963a81d084 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -1475,7 +1475,6 @@ def plot_rp_intensity(self, return_periods=(25, 50, 100, 250), axis, inten_stats: matplotlib.axes._subplots.AxesSubplot, np.ndarray intenstats is return_periods.size x num_centroids """ - self._set_coords_centroids() inten_stats = self.local_exceedance_inten(np.array(return_periods)) colbar_name = 'Intensity (' + self.units + ')' title = list() @@ -1521,7 +1520,6 @@ def plot_intensity(self, event=None, centr=None, smooth=True, axis=None, adapt_f ------ ValueError """ - self._set_coords_centroids() col_label = f'Intensity ({self.units})' crs_epsg, _ = u_plot.get_transformation(self.centroids.geometry.crs) if event is not None: @@ -1571,7 +1569,6 @@ def plot_fraction(self, event=None, centr=None, smooth=True, axis=None, ------ ValueError """ - self._set_coords_centroids() col_label = 'Fraction' if event is not None: if isinstance(event, str): @@ -1863,11 +1860,6 @@ def from_hdf5(cls, file_name): # Now create the actual object we want to return! return cls(**hazard_kwargs) - def _set_coords_centroids(self): - """If centroids are raster, set lat and lon coordinates""" - if self.centroids.meta and not self.centroids.coord.size: - self.centroids.set_meta_to_lat_lon() - def _events_set(self): """Generate set of tuples with (event_name, event_date)""" ev_set = set() From 6226bff8633f239adfd1ae76a35e24d1e000b24d Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 21 Nov 2023 17:46:30 +0100 Subject: [PATCH 045/192] Remove reproject raster --- climada/hazard/base.py | 65 ------------------------------------------ 1 file changed, 65 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index 963a81d084..62fbc3c482 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -1081,71 +1081,6 @@ def _attrs_to_kwargs(attrs: Dict[str, Any], num_events: int) -> Dict[str, Any]: return kwargs - def reproject_raster(self, dst_crs=False, transform=None, width=None, height=None, - resampl_inten=Resampling.nearest, resampl_fract=Resampling.nearest): - """Change current raster data to other CRS and/or transformation - - Parameters - ---------- - dst_crs: crs, optional - reproject to given crs - transform: rasterio.Affine - affine transformation to apply - wdith: float - number of lons for transform - height: float - number of lats for transform - resampl_inten: rasterio.warp,.Resampling optional - resampling function used for reprojection to dst_crs for intensity - resampl_fract: rasterio.warp,.Resampling optional - resampling function used for reprojection to dst_crs for fraction - """ - if not self.centroids.meta: - raise ValueError('Raster not set') - if not dst_crs: - dst_crs = self.centroids.meta['crs'] - if transform and not width or transform and not height: - raise ValueError('Provide width and height to given transformation.') - if not transform: - transform, width, height = calculate_default_transform( - self.centroids.meta['crs'], dst_crs, self.centroids.meta['width'], - self.centroids.meta['height'], self.centroids.meta['transform'][2], - (self.centroids.meta['transform'][5] - + self.centroids.meta['height'] * self.centroids.meta['transform'][4]), - (self.centroids.meta['transform'][2] - + self.centroids.meta['width'] * self.centroids.meta['transform'][0]), - self.centroids.meta['transform'][5]) - dst_meta = self.centroids.meta.copy() - dst_meta.update({'crs': dst_crs, 'transform': transform, - 'width': width, 'height': height - }) - intensity = np.zeros((self.size, dst_meta['height'], dst_meta['width'])) - fraction = np.zeros((self.size, dst_meta['height'], dst_meta['width'])) - kwargs = {'src_transform': self.centroids.meta['transform'], - 'src_crs': self.centroids.meta['crs'], - 'dst_transform': transform, 'dst_crs': dst_crs, - 'resampling': resampl_inten} - for idx_ev, inten in enumerate(self.intensity.toarray()): - reproject( - source=np.asarray(inten.reshape((self.centroids.meta['height'], - self.centroids.meta['width']))), - destination=intensity[idx_ev, :, :], - **kwargs) - kwargs.update(resampling=resampl_fract) - for idx_ev, fract in enumerate(self.fraction.toarray()): - reproject( - source=np.asarray( - fract.reshape((self.centroids.meta['height'], - self.centroids.meta['width']))), - destination=fraction[idx_ev, :, :], - **kwargs) - self.centroids.meta = dst_meta - self.intensity = sparse.csr_matrix( - intensity.reshape(self.size, dst_meta['height'] * dst_meta['width'])) - self.fraction = sparse.csr_matrix( - fraction.reshape(self.size, dst_meta['height'] * dst_meta['width'])) - self.check() - def reproject_vector(self, dst_crs): """Change current point data to a a given projection From dc8d638a2762305bcfc2d910afdcd25d44d86acb Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 21 Nov 2023 17:46:53 +0100 Subject: [PATCH 046/192] Remove test hazard raster --- climada/test/test_hazard.py | 48 +------------------------------------ 1 file changed, 1 insertion(+), 47 deletions(-) diff --git a/climada/test/test_hazard.py b/climada/test/test_hazard.py index d82ab1da37..c257831a29 100644 --- a/climada/test/test_hazard.py +++ b/climada/test/test_hazard.py @@ -308,62 +308,16 @@ def test_write_read_pass(self): ) self.assertIsInstance(haz_read.fraction, sparse.csr_matrix) - def test_raster_to_vector_pass(self): + def test_read_raster_pass(self): """Test raster_to_vector method""" haz_fl = Hazard.from_raster([HAZ_DEMO_FL], haz_type="FL") - haz_fl.check() - meta_orig = haz_fl.centroids.meta inten_orig = haz_fl.intensity fract_orig = haz_fl.fraction - haz_fl.raster_to_vector() - - self.assertEqual(haz_fl.centroids.meta, dict()) - self.assertAlmostEqual( - haz_fl.centroids.lat.min(), - meta_orig["transform"][5] - + meta_orig["height"] * meta_orig["transform"][4] - - meta_orig["transform"][4] / 2, - ) - self.assertAlmostEqual( - haz_fl.centroids.lat.max(), - meta_orig["transform"][5] + meta_orig["transform"][4] / 2, - ) - self.assertAlmostEqual( - haz_fl.centroids.lon.max(), - meta_orig["transform"][2] - + meta_orig["width"] * meta_orig["transform"][0] - - meta_orig["transform"][0] / 2, - ) - self.assertAlmostEqual( - haz_fl.centroids.lon.min(), - meta_orig["transform"][2] + meta_orig["transform"][0] / 2, - ) - self.assertTrue(u_coord.equal_crs(haz_fl.centroids.crs, meta_orig["crs"])) self.assertTrue(np.allclose(haz_fl.intensity.data, inten_orig.data)) self.assertTrue(np.allclose(haz_fl.fraction.data, fract_orig.data)) - def test_reproject_raster_pass(self): - """Test reproject_raster reference.""" - - haz_fl = Hazard.from_raster([HAZ_DEMO_FL]) - haz_fl.check() - - haz_fl.reproject_raster(dst_crs="epsg:2202") - - self.assertEqual(haz_fl.intensity.shape, (1, 1046408)) - self.assertIsInstance(haz_fl.intensity, sparse.csr_matrix) - self.assertIsInstance(haz_fl.fraction, sparse.csr_matrix) - self.assertEqual(haz_fl.fraction.shape, (1, 1046408)) - self.assertTrue(u_coord.equal_crs(haz_fl.centroids.meta["crs"], "epsg:2202")) - self.assertEqual(haz_fl.centroids.meta["width"], 968) - self.assertEqual(haz_fl.centroids.meta["height"], 1081) - self.assertEqual(haz_fl.fraction.min(), 0) - self.assertEqual(haz_fl.fraction.max(), 1) - self.assertEqual(haz_fl.intensity.min(), -9999) - self.assertTrue(haz_fl.intensity.max() < 4.7) - # Execute Tests if __name__ == "__main__": From 7002a52417ad6177d3c18c969aac57bd7e234980 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 21 Nov 2023 17:51:15 +0100 Subject: [PATCH 047/192] Update naming for plot fraction centroids --- climada/hazard/base.py | 33 +++++++++++++++------------------ climada/test/test_plot.py | 26 +++++++------------------- 2 files changed, 22 insertions(+), 37 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index 62fbc3c482..963cbe2887 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -1664,22 +1664,19 @@ def write_raster(self, file_name, intensity=True): variable = self.intensity if not intensity: variable = self.fraction - if self.centroids.meta: - u_coord.write_raster(file_name, variable.toarray(), self.centroids.meta) - else: - pixel_geom = self.centroids.calc_pixels_polygons() - profile = self.centroids.meta - profile.update(driver='GTiff', dtype=rasterio.float32, count=self.size) - with rasterio.open(file_name, 'w', **profile) as dst: - LOGGER.info('Writing %s', file_name) - for i_ev in range(variable.shape[0]): - raster = rasterize( - [(x, val) for (x, val) in - zip(pixel_geom, np.array(variable[i_ev, :].toarray()).reshape(-1))], - out_shape=(profile['height'], profile['width']), - transform=profile['transform'], fill=0, - all_touched=True, dtype=profile['dtype'], ) - dst.write(raster.astype(profile['dtype']), i_ev + 1) + pixel_geom = self.centroids.calc_pixels_polygons() + profile = self.centroids.meta + profile.update(driver='GTiff', dtype=rasterio.float32, count=self.size) + with rasterio.open(file_name, 'w', **profile) as dst: + LOGGER.info('Writing %s', file_name) + for i_ev in range(variable.shape[0]): + raster = rasterize( + [(x, val) for (x, val) in + zip(pixel_geom, np.array(variable[i_ev, :].toarray()).reshape(-1))], + out_shape=(profile['height'], profile['width']), + transform=profile['transform'], fill=0, + all_touched=True, dtype=profile['dtype'], ) + dst.write(raster.astype(profile['dtype']), i_ev + 1) def write_hdf5(self, file_name, todense=False): """Write hazard in hdf5 format. @@ -1892,7 +1889,7 @@ def _centr_plot(self, centr_idx, mat_var, col_name, axis=None, **kwargs): except IndexError as err: raise ValueError(f'Wrong centroid id: {centr_idx}.') from err array_val = mat_var[:, centr_pos].toarray() - title = f'Centroid {centr_idx}: ({coord[centr_pos, 0]}, {coord[centr_pos, 1]})' + title = f'Centroid {centr_idx}: ({np.around(coord[centr_pos, 0],3)}, {np.around(coord[centr_pos, 1],3)})' elif centr_idx < 0: max_inten = np.asarray(np.sum(mat_var, axis=0)).reshape(-1) centr_pos = np.argpartition(max_inten, centr_idx)[centr_idx:] @@ -1900,7 +1897,7 @@ def _centr_plot(self, centr_idx, mat_var, col_name, axis=None, **kwargs): array_val = mat_var[:, centr_pos].toarray() title = (f'{np.abs(centr_idx)}-largest Centroid. {centr_pos}:' - f' ({coord[centr_pos, 0]}, {coord[centr_pos, 1]})') + f' ({np.around(coord[centr_pos, 0], 3)}, {np.around(coord[centr_pos, 1], 3)})') else: array_val = np.max(mat_var, axis=1).toarray() title = f'{self.haz_type} max intensity at each event' diff --git a/climada/test/test_plot.py b/climada/test/test_plot.py index 888a696ab2..8ec9732293 100644 --- a/climada/test/test_plot.py +++ b/climada/test/test_plot.py @@ -81,34 +81,22 @@ def test_hazard_intensity_pass(self): def test_hazard_fraction_pass(self): """Generate all possible plots of the hazard fraction.""" - hazard = Hazard.from_mat(HAZ_DEMO_MAT) + hazard = Hazard.from_raster([HAZ_DEMO_FL, HAZ_DEMO_FL]) hazard.event_name = [""] * hazard.event_id.size - hazard.event_name[35] = "NNN_1185106_gen5" - hazard.event_name[11897] = "GORDON_gen7" - myax = hazard.plot_fraction(event=36) - self.assertIn('Event ID 36: NNN_1185106_gen5', myax.get_title()) - - myax = hazard.plot_fraction(event=-1) - self.assertIn('1-largest Event. ID 11898: GORDON_gen7', myax.get_title()) + hazard.event_name[0] = "NNN_1185106_gen5" + myax = hazard.plot_fraction(event=1) + self.assertIn('Event ID 1: NNN_1185106_gen5', myax.get_title()) - myax = hazard.plot_fraction(centr=59) - self.assertIn('Centroid 59: (30.0, -79.0)', myax.get_title()) - - myax = hazard.plot_fraction(centr=-1) - self.assertIn('1-largest Centroid. 79: (30.0, -77.0)', myax.get_title()) + myax = hazard.plot_fraction(centr=1) + self.assertIn('Centroid 1: (10.424, -69.324)', myax.get_title()) def test_hazard_rp_intensity(self): """"Plot exceedance intensity maps for different return periods""" - hazard = Hazard.from_mat(HAZ_DEMO_MAT) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) (axis1, axis2), _ = hazard.plot_rp_intensity([25, 50]) self.assertEqual('Return period: 25 years', axis1.get_title()) self.assertEqual('Return period: 50 years', axis2.get_title()) - def test_hazard_centroids(self): - """Plot centroids scatter points over earth.""" - centroids = Centroids.from_base_grid() - centroids.plot() - def test_exposures_value_pass(self): """Plot exposures values.""" myexp = pd.read_excel(ENT_DEMO_TODAY) From 73ee79e476d791790cd51c221a9e2909b9a9dd43 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 21 Nov 2023 17:51:40 +0100 Subject: [PATCH 048/192] Replace HAZ_DEMO_MAT with HAZ_TEST_TC --- climada/entity/measures/test/test_base.py | 20 ++++++++++++-------- climada/hazard/test/test_base.py | 4 ---- climada/test/test_calibration.py | 13 +++++++++---- climada/test/test_plot.py | 15 ++++++++++++--- 4 files changed, 33 insertions(+), 19 deletions(-) diff --git a/climada/entity/measures/test/test_base.py b/climada/entity/measures/test/test_base.py index a232a07348..688a27f6ee 100644 --- a/climada/entity/measures/test/test_base.py +++ b/climada/entity/measures/test/test_base.py @@ -34,12 +34,16 @@ from climada.entity.measures.base import Measure, IMPF_ID_FACT from climada.util.constants import EXP_DEMO_H5, HAZ_DEMO_H5 import climada.util.coordinates as u_coord -import climada.hazard.test as hazard_test +from climada.test import get_test_file import climada.entity.exposures.test as exposures_test DATA_DIR = CONFIG.measures.test_data.dir() -HAZ_TEST_MAT = Path(hazard_test.__file__).parent / 'data' / 'atl_prob_no_name.mat' +HAZ_TEST_TC :Path = get_test_file('test_tc_florida') +""" +Hazard test file from Data API: Hurricanes from 1851 to 2011 over Florida with 100 centroids. +Fraction is empty. Format: HDF5. +""" ENT_TEST_MAT = Path(exposures_test.__file__).parent / 'data' / 'demo_today.mat' class TestApply(unittest.TestCase): @@ -78,7 +82,7 @@ def test_cutoff_hazard_pass(self): meas = MeasureSet.from_mat(ENT_TEST_MAT) act_1 = meas.get_measure(name='Seawall')[0] - haz = Hazard.from_mat(HAZ_TEST_MAT) + haz = Hazard.from_hdf5(HAZ_TEST_TC) exp = Exposures.from_mat(ENT_TEST_MAT) exp.gdf.rename(columns={'impf': 'impf_TC'}, inplace=True) exp.check() @@ -112,7 +116,7 @@ def test_cutoff_hazard_region_pass(self): act_1 = meas.get_measure(name='Seawall')[0] act_1.exp_region_id = [1] - haz = Hazard.from_mat(HAZ_TEST_MAT) + haz = Hazard.from_hdf5(HAZ_TEST_TC) exp = Exposures.from_mat(ENT_TEST_MAT) exp.gdf['region_id'] = np.zeros(exp.gdf.shape[0]) exp.gdf.region_id.values[10:] = 1 @@ -246,7 +250,7 @@ def test_filter_exposures_pass(self): imp_set = ImpactFuncSet.from_mat(ENT_TEST_MAT) - haz = Hazard.from_mat(HAZ_TEST_MAT) + haz = Hazard.from_hdf5(HAZ_TEST_TC) exp.assign_centroids(haz) new_exp = copy.deepcopy(exp) @@ -329,7 +333,7 @@ def test_filter_exposures_pass(self): def test_apply_ref_pass(self): """Test apply method: apply all measures but insurance""" - hazard = Hazard.from_mat(HAZ_TEST_MAT) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) entity = Entity.from_mat(ENT_TEST_MAT) entity.measures._data['TC'] = entity.measures._data.pop('XX') @@ -365,7 +369,7 @@ def test_apply_ref_pass(self): def test_calc_impact_pass(self): """Test calc_impact method: apply all measures but insurance""" - hazard = Hazard.from_mat(HAZ_TEST_MAT) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) entity = Entity.from_mat(ENT_TEST_MAT) entity.exposures.gdf.rename(columns={'impf': 'impf_TC'}, inplace=True) @@ -399,7 +403,7 @@ def test_calc_impact_pass(self): def test_calc_impact_transf_pass(self): """Test calc_impact method: apply all measures and insurance""" - hazard = Hazard.from_mat(HAZ_TEST_MAT) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) entity = Entity.from_mat(ENT_TEST_MAT) entity.exposures.gdf.rename(columns={'impf': 'impf_TC'}, inplace=True) diff --git a/climada/hazard/test/test_base.py b/climada/hazard/test/test_base.py index 31464e353a..a7d3f67f1a 100644 --- a/climada/hazard/test/test_base.py +++ b/climada/hazard/test/test_base.py @@ -41,10 +41,6 @@ """ Directory for writing (and subsequent reading) of temporary files created during tests. """ -HAZ_TEST_MAT :Path = Path(hazard_test.__file__).parent.joinpath('data', 'atl_prob_no_name.mat') -""" -Hazard test file from Git repository. Fraction is 1. Format: matlab. -""" HAZ_TEST_TC :Path = get_test_file('test_tc_florida') """ Hazard test file from Data API: Hurricanes from 1851 to 2011 over Florida with 100 centroids. diff --git a/climada/test/test_calibration.py b/climada/test/test_calibration.py index a2b819aaa8..6850d0bbed 100644 --- a/climada/test/test_calibration.py +++ b/climada/test/test_calibration.py @@ -29,8 +29,13 @@ from climada.engine.calibration_opt import calib_instance from climada.util.constants import ENT_DEMO_TODAY import climada.hazard.test as hazard_test +from climada.test import get_test_file -HAZ_TEST_MAT = Path(hazard_test.__file__).parent.joinpath('data', 'atl_prob_no_name.mat') +HAZ_TEST_TC :Path = get_test_file('test_tc_florida') +""" +Hazard test file from Data API: Hurricanes from 1851 to 2011 over Florida with 100 centroids. +Fraction is empty. Format: HDF5. +""" DATA_FOLDER = CONFIG.test_data.dir() @@ -44,7 +49,7 @@ def test_calib_instance(self): ent.check() # Read default hazard file - hazard = Hazard.from_mat(HAZ_TEST_MAT) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) # get impact function from set imp_func = ent.impact_funcs.get_func(hazard.haz_type, @@ -56,10 +61,10 @@ def test_calib_instance(self): # create input frame df_in = pd.DataFrame.from_dict({'v_threshold': [25.7], 'other_param': [2], - 'hazard': [HAZ_TEST_MAT]}) + 'hazard': [HAZ_TEST_TC]}) df_in_yearly = pd.DataFrame.from_dict({'v_threshold': [25.7], 'other_param': [2], - 'hazard': [HAZ_TEST_MAT]}) + 'hazard': [HAZ_TEST_TC]}) # Compute the impact over the whole exposures df_out = calib_instance(hazard, ent.exposures, imp_func, df_in) diff --git a/climada/test/test_plot.py b/climada/test/test_plot.py index 8ec9732293..be5c9d928a 100644 --- a/climada/test/test_plot.py +++ b/climada/test/test_plot.py @@ -26,19 +26,28 @@ import matplotlib.pyplot as plt import pandas as pd import contextily as ctx +from pathlib import Path from climada.engine.unsequa import UncOutput from climada.engine import ImpactCalc, ImpactFreqCurve, CostBenefit from climada.entity import (Entity, ImpactFuncSet, Exposures, DiscRates, ImpfTropCyclone, Measure, MeasureSet) from climada.hazard import Hazard, Centroids -from climada.util.constants import HAZ_DEMO_MAT, ENT_DEMO_TODAY, TEST_UNC_OUTPUT_COSTBEN +from climada.util.constants import ENT_DEMO_TODAY, TEST_UNC_OUTPUT_COSTBEN, HAZ_DEMO_FL from climada.util.api_client import Client +from climada.test import get_test_file apiclient = Client() ds = apiclient.get_dataset_info(name=TEST_UNC_OUTPUT_COSTBEN, status='test_dataset') _target_dir, [test_unc_output_costben] = apiclient.download_dataset(ds) + +HAZ_TEST_TC :Path = get_test_file('test_tc_florida') +""" +Hazard test file from Data API: Hurricanes from 1851 to 2011 over Florida with 100 centroids. +Fraction is empty. Format: HDF5. +""" + class TestPlotter(unittest.TestCase): """Test plot functions.""" @@ -47,7 +56,7 @@ def setUp(self): def test_hazard_intensity_pass(self): """Generate all possible plots of the hazard intensity.""" - hazard = Hazard.from_mat(HAZ_DEMO_MAT) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) hazard.event_name = [""] * hazard.event_id.size hazard.event_name[35] = "NNN_1185106_gen5" hazard.event_name[3898] = "NNN_1190604_gen8" @@ -128,7 +137,7 @@ def test_impact_pass(self): """Plot impact exceedence frequency curves.""" myent = Entity.from_excel(ENT_DEMO_TODAY) myent.exposures.check() - myhaz = Hazard.from_mat(HAZ_DEMO_MAT) + myhaz = Hazard.from_hdf5(HAZ_TEST_TC) myhaz.event_name = [""] * myhaz.event_id.size myimp = ImpactCalc(myent.exposures, myent.impact_funcs, myhaz).impact() ifc = myimp.calc_freq_curve() From 0cabeac82f0cc15836006b1ee202b65cbc58cb51 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Wed, 22 Nov 2023 12:13:56 +0100 Subject: [PATCH 049/192] Replace mat file with hdf5 test file --- climada/test/test_hazard.py | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/climada/test/test_hazard.py b/climada/test/test_hazard.py index c257831a29..2007526782 100644 --- a/climada/test/test_hazard.py +++ b/climada/test/test_hazard.py @@ -30,15 +30,18 @@ from climada.hazard.base import Hazard from climada.hazard.centroids import Centroids from climada.hazard.storm_europe import StormEurope -from climada.util.constants import (HAZ_DEMO_FL, WS_DEMO_NC) +from climada.util.constants import (HAZ_DEMO_FL, WS_DEMO_NC, DEF_CRS) from climada.util.api_client import Client from climada.util import coordinates as u_coord -import climada.hazard.test as hazard_test +from climada.test import get_test_file DATA_DIR = CONFIG.test_data.dir() -# Hazard test file from Git repository. Fraction is 1. Format: matlab. -HAZ_TEST_MAT :Path = Path(hazard_test.__file__).parent.joinpath('data', 'atl_prob_no_name.mat') +HAZ_TEST_TC :Path = get_test_file('test_tc_florida') +""" +Hazard test file from Data API: Hurricanes from 1851 to 2011 over Florida with 100 centroids. +Fraction is empty. Format: HDF5. +""" class TestCentroids(unittest.TestCase): """Test centroids functionalities""" @@ -47,7 +50,6 @@ def test_read_write_raster_pass(self): """Test write_raster: Hazard from raster data""" haz_fl = Hazard.from_raster([HAZ_DEMO_FL]) haz_fl.haz_type = 'FL' - haz_fl.check() self.assertEqual(haz_fl.intensity.shape, (1, 1032226)) self.assertEqual(haz_fl.intensity.min(), -9999.0) @@ -59,6 +61,7 @@ def test_read_write_raster_pass(self): haz_fl.haz_type = 'FL' self.assertTrue(np.allclose(haz_fl.intensity.toarray(), haz_read.intensity.toarray())) self.assertEqual(np.unique(np.array(haz_fl.fraction.toarray())).size, 2) + DATA_DIR.joinpath('test_write_hazard.tif').unlink() def test_read_raster_pool_pass(self): """Test from_raster constructor with pool""" @@ -83,8 +86,9 @@ def test_read_write_vector_pass(self): event_name=['1'], intensity=sparse.csr_matrix(np.array([0.5, 0.2, 0.1])), fraction=sparse.csr_matrix(np.array([0.5, 0.2, 0.1]) / 2), - centroids=Centroids.from_lat_lon( - np.array([1, 2, 3]), np.array([1, 2, 3])),) + centroids=Centroids( + latitude=np.array([1, 2, 3]), longitude=np.array([1, 2, 3]), crs=DEF_CRS) + ) haz_fl.check() haz_fl.write_raster(DATA_DIR.joinpath('test_write_hazard.tif')) @@ -104,8 +108,9 @@ def test_write_fraction_pass(self): event_name=['1'], intensity=sparse.csr_matrix(np.array([0.5, 0.2, 0.1])), fraction=sparse.csr_matrix(np.array([0.5, 0.2, 0.1]) / 2), - centroids=Centroids.from_lat_lon( - np.array([1, 2, 3]), np.array([1, 2, 3])),) + centroids=Centroids( + latitude=np.array([1, 2, 3]),longitude=np.array([1, 2, 3]), crs=DEF_CRS) + ) haz_fl.check() haz_fl.write_raster(DATA_DIR.joinpath('test_write_hazard.tif'), intensity=False) @@ -270,7 +275,7 @@ def test_write_read_pass(self): file_name = str(DATA_DIR.joinpath("test_haz.h5")) # Read demo matlab file - hazard = Hazard.from_mat(HAZ_TEST_MAT) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) hazard.event_name = list(map(str, hazard.event_name)) for todense_flag in [False, True]: if todense_flag: From 3729248ad191795e55c25a7317aeb082dacb68be Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Wed, 22 Nov 2023 16:50:07 +0100 Subject: [PATCH 050/192] Rewrite write raster method for hazard --- climada/hazard/base.py | 93 ++++++++++++++++++----- climada/test/test_hazard.py | 147 ++++++++++++++++++++++++++---------- 2 files changed, 179 insertions(+), 61 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index 963cbe2887..12c5900394 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -1651,32 +1651,85 @@ def size(self): """Return number of events.""" return self.event_id.size - def write_raster(self, file_name, intensity=True): - """Write intensity or fraction as GeoTIFF file. Each band is an event + def write_raster(self, file_name, variable='intensity', output_resolution=None): + """Write intensity or fraction as GeoTIFF file. Each band is an event. + Output raster is always a regular grid (same resolution for lat/lon). + + Note that is output_resolution is not None, the data is rasterized to that + resolution. This is an expensive operation. For hazards that are already + a raster, output_resolution=None saves on this raster which is efficient. + + If you want to save both fraction and intensity, create two separate files. + These can then be read together with the from_raster method. Parameters ---------- file_name: str file name to write in tif format - intensity: bool - if True, write intensity, otherwise write fraction + variable: str + if 'intensity', write intensity, if 'fraction' write fraction. + Default is 'intensity' + output_resolution: int + If not None, the data is rasterized to this resolution. + Default is None (resolution is estimated from the data). + + See also + -------- + from_raster: + method to read intensity and fraction raster files. """ - variable = self.intensity - if not intensity: - variable = self.fraction - pixel_geom = self.centroids.calc_pixels_polygons() - profile = self.centroids.meta - profile.update(driver='GTiff', dtype=rasterio.float32, count=self.size) - with rasterio.open(file_name, 'w', **profile) as dst: - LOGGER.info('Writing %s', file_name) - for i_ev in range(variable.shape[0]): - raster = rasterize( - [(x, val) for (x, val) in - zip(pixel_geom, np.array(variable[i_ev, :].toarray()).reshape(-1))], - out_shape=(profile['height'], profile['width']), - transform=profile['transform'], fill=0, - all_touched=True, dtype=profile['dtype'], ) - dst.write(raster.astype(profile['dtype']), i_ev + 1) + + if variable == 'intensity': + var_to_write = self.intensity + elif variable =='fraction': + var_to_write = self.fraction + else: + raise ValueError( + f"The variable {variable} is not valid. Please use 'intensity' or 'fraction'." + ) + + centroids = self.centroids + + res = np.abs(u_coord.get_resolution(centroids.lat, centroids.lon)).min() + xmin, ymin, xmax, ymax = centroids.gdf.total_bounds + + if output_resolution: + res = output_resolution + + # construct raster + rows, cols, ras_trans = u_coord.pts_to_raster_meta( + (xmin, ymin, xmax, ymax), (res, -res) + ) + meta = { + 'crs': self.centroids.crs, + 'height': rows, + 'width': cols, + 'transform': ras_trans, + } + meta.update(driver='GTiff', dtype=rasterio.float32, count=self.size) + + if rows*cols == centroids.shape[0]: + u_coord.write_raster(file_name, var_to_write.toarray(), meta) + else: + geometry = centroids.gdf.geometry.buffer(distance=res/2, resolution=1, cap_style=3) + #resolution=1, cap_style=3: squared buffers + #https://shapely.readthedocs.io/en/latest/manual.html#object.buffer + with rasterio.open(file_name, 'w', **meta) as dst: + LOGGER.info('Writing %s', file_name) + for i_ev in range(self.size): + raster = rasterio.features.rasterize( + ( + (geom, value) + for geom, value + in zip(geometry, var_to_write[i_ev].toarray().flatten()) + ), + out_shape=(meta['height'], meta['width']), + transform=meta['transform'], + fill=0, + all_touched=True, + dtype=meta['dtype'] + ) + dst.write(raster.astype(meta['dtype']), i_ev + 1) def write_hdf5(self, file_name, todense=False): """Write hazard in hdf5 format. diff --git a/climada/test/test_hazard.py b/climada/test/test_hazard.py index 2007526782..c55dac5d9b 100644 --- a/climada/test/test_hazard.py +++ b/climada/test/test_hazard.py @@ -55,7 +55,7 @@ def test_read_write_raster_pass(self): self.assertEqual(haz_fl.intensity.min(), -9999.0) self.assertAlmostEqual(haz_fl.intensity.max(), 4.662774085998535) - haz_fl.write_raster(DATA_DIR.joinpath('test_write_hazard.tif')) + haz_fl.write_raster(DATA_DIR.joinpath('test_write_hazard.tif'), variable='intensity') haz_read = Hazard.from_raster([DATA_DIR.joinpath('test_write_hazard.tif')]) haz_fl.haz_type = 'FL' @@ -77,53 +77,118 @@ def test_read_raster_pool_pass(self): pool.join() def test_read_write_vector_pass(self): - """Test write_raster: Hazard from vector data""" - haz_fl = Hazard('FL', - event_id=np.array([1]), - date=np.array([1]), - frequency=np.array([1]), - orig=np.array([1]), - event_name=['1'], - intensity=sparse.csr_matrix(np.array([0.5, 0.2, 0.1])), - fraction=sparse.csr_matrix(np.array([0.5, 0.2, 0.1]) / 2), - centroids=Centroids( - latitude=np.array([1, 2, 3]), longitude=np.array([1, 2, 3]), crs=DEF_CRS) - ) - haz_fl.check() + """Test write_raster: Rasterize intensity from vector data""" + haz_fl = Hazard( + 'FL', + event_id=np.array([1]), + date=np.array([1]), + frequency=np.array([1]), + orig=np.array([1]), + event_name=['1'], + intensity=sparse.csr_matrix(np.array([0.11, 0.22, 0.33, 0.31])), + fraction=sparse.csr_matrix(np.array([0, 1, 2, 3]) ), + centroids=Centroids( + longitude=np.array([1, 2, 3, 3]), latitude=np.array([1, 2, 3, 1]), crs=DEF_CRS + ) + ) - haz_fl.write_raster(DATA_DIR.joinpath('test_write_hazard.tif')) + haz_fl.write_raster(DATA_DIR.joinpath('test_write_hazard.tif'), variable='intensity') haz_read = Hazard.from_raster([DATA_DIR.joinpath('test_write_hazard.tif')], haz_type='FL') self.assertEqual(haz_read.intensity.shape, (1, 9)) - self.assertTrue(np.allclose(np.unique(np.array(haz_read.intensity.toarray())), - np.array([0.0, 0.1, 0.2, 0.5]))) - - def test_write_fraction_pass(self): - """Test write_raster with fraction""" - haz_fl = Hazard('FL', - event_id=np.array([1]), - date=np.array([1]), - frequency=np.array([1]), - orig=np.array([1]), - event_name=['1'], - intensity=sparse.csr_matrix(np.array([0.5, 0.2, 0.1])), - fraction=sparse.csr_matrix(np.array([0.5, 0.2, 0.1]) / 2), - centroids=Centroids( - latitude=np.array([1, 2, 3]),longitude=np.array([1, 2, 3]), crs=DEF_CRS) - ) - haz_fl.check() - haz_fl.write_raster(DATA_DIR.joinpath('test_write_hazard.tif'), intensity=False) + output_raster = np.array([ + [1, 3], [2, 3], [3, 3], + [1, 2], [2, 2], [3, 2], + [1, 1], [2, 1], [3, 1] + ]) + output_instensity = np.array([ + 0, 0, 0.33, + 0, 0.22, 0, + 0.11, 0, 0.31 + ]) + + np.testing.assert_array_equal( + haz_read.centroids.lon, + output_raster[:, 0] + ) + np.testing.assert_array_equal( + haz_read.centroids.lat, + output_raster[:, 1] + ) + np.testing.assert_array_almost_equal( + haz_read.intensity.toarray().flatten(), + output_instensity + ) - haz_read = Hazard.from_raster([DATA_DIR.joinpath('test_write_hazard.tif')], - files_fraction=[DATA_DIR.joinpath('test_write_hazard.tif')], - haz_type='FL') - self.assertEqual(haz_read.intensity.shape, (1, 9)) + DATA_DIR.joinpath('test_write_hazard.tif').unlink() + + def test_read_write_vector_fraction_pass(self): + """Test write_raster: Rasterize fraction from vector data""" + haz_fl = Hazard( + 'FL', + event_id=np.array([1]), + date=np.array([1]), + frequency=np.array([1]), + orig=np.array([1]), + event_name=['1'], + intensity=sparse.csr_matrix(np.array([-0.11, -0.22, -0.33, -0.31])), + fraction=sparse.csr_matrix(np.array([0.11, 0.22, 0.33, 0.31])), + centroids=Centroids( + longitude=np.array([1, 2, 3, 3]), latitude=np.array([1, 2, 3, 1]), crs=DEF_CRS + ) + ) + + intensity_file = DATA_DIR.joinpath('test_write_hazard_intensity.tif') + fraction_file = DATA_DIR.joinpath('test_write_hazard_fraction.tif') + + haz_fl.write_raster(fraction_file, variable='fraction') + haz_fl.write_raster(intensity_file, variable='intensity') + + haz_read = Hazard.from_raster( + [intensity_file], [fraction_file], haz_type='FL' + ) self.assertEqual(haz_read.fraction.shape, (1, 9)) - self.assertTrue(np.allclose(np.unique(np.array(haz_read.fraction.toarray())), - np.array([0.0, 0.05, 0.1, 0.25]))) - self.assertTrue(np.allclose(np.unique(np.array(haz_read.intensity.toarray())), - np.array([0.0, 0.05, 0.1, 0.25]))) + self.assertEqual(haz_read.intensity.shape, (1, 9)) + + + output_raster = np.array([ + [1, 3], [2, 3], [3, 3], + [1, 2], [2, 2], [3, 2], + [1, 1], [2, 1], [3, 1] + ]) + output_fraction = np.array([ + 0, 0, 0.33, + 0, 0.22, 0, + 0.11, 0, 0.31 + ]) + + output_intensity = np.array([ + 0, 0, -0.33, + 0, -0.22, 0, + -0.11, 0, -0.31 + ]) + + np.testing.assert_array_equal( + haz_read.centroids.lon, + output_raster[:, 0] + ) + np.testing.assert_array_equal( + haz_read.centroids.lat, + output_raster[:, 1] + ) + np.testing.assert_array_almost_equal( + haz_read.fraction.toarray().flatten(), + output_fraction + ) + np.testing.assert_array_almost_equal( + haz_read.intensity.toarray().flatten(), + output_intensity + ) + + DATA_DIR.joinpath(intensity_file).unlink() + DATA_DIR.joinpath(fraction_file).unlink() + class TestStormEurope(unittest.TestCase): From 6c3d1ac3eec52e36750f69e676327b205f66105d Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Wed, 22 Nov 2023 17:09:14 +0100 Subject: [PATCH 051/192] Add a default for sel_cen in mask --- climada/hazard/centroids/centr.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index cf57b910c0..c6a5633152 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -460,7 +460,7 @@ def select(self, reg_id=None, extent=None, sel_cen=None): return Centroids.from_geodataframe(self.gdf[sel_cen_mask]) - def select_mask(self, sel_cen, reg_id=None, extent=None): + def select_mask(self, sel_cen=None, reg_id=None, extent=None): """ Make mask of selected centroids @@ -482,6 +482,8 @@ def select_mask(self, sel_cen, reg_id=None, extent=None): 1d mask of selected centroids """ + if sel_cen is None: + sel_cen = np.ones(self.size, dtype=bool) if reg_id is not None: sel_cen &= np.isin(self.region_id, reg_id) if extent is not None: From 8b15107395e12cac8203b6c894a71296a9d6d3bb Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Wed, 22 Nov 2023 17:34:08 +0100 Subject: [PATCH 052/192] Correct indent typos --- climada/hazard/centroids/test/test_vec_ras.py | 12 ------------ climada/hazard/test/test_base.py | 7 +++---- 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index f1174bac00..a93b7a509e 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -412,18 +412,6 @@ def test_area_pass(self): self.assertTrue( np.allclose(centr_ras.area_pixel, np.ones(60 * 50) * 0.009000000000000341 * 0.009000000000000341)) -''' - def test_area_approx(self): - """Test set_area_approx""" - centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - centr_ras.set_area_approx() - approx_dim = (centr_ras.meta['transform'][0] * 111 * 1000 - * centr_ras.meta['transform'][0] * 111 * 1000) - self.assertEqual(centr_ras.area_pixel.size, centr_ras.size) - self.assertEqual(np.unique(centr_ras.area_pixel).size, 60) - self.assertTrue(np.array_equal((approx_dim / np.unique(centr_ras.area_pixel)).astype(int), - np.ones(60))) -''' def test_size_pass(self): """Test size property""" diff --git a/climada/hazard/test/test_base.py b/climada/hazard/test/test_base.py index a7d3f67f1a..b44d3a5727 100644 --- a/climada/hazard/test/test_base.py +++ b/climada/hazard/test/test_base.py @@ -825,11 +825,10 @@ def test_concat_pass(self): frequency_unit='1/week', fraction=sparse.csr_matrix([[0.02, 0.03, 0.04]]), intensity=sparse.csr_matrix([[0.2, 0.3, 0.4]]), - units='m/s',) + units='m/s') haz_2 = Hazard("TC", - latitude=np.array([1, 3, 5]), longitude=np.array([2, 4, 6])), - centroids=Centroids( + centroids=Centroids(latitude=np.array([1, 3, 5]), longitude=np.array([2, 4, 6])), event_id=np.array([1]), event_name=['ev2'], date=np.array([2]), @@ -838,7 +837,7 @@ def test_concat_pass(self): frequency_unit='1/week', fraction=sparse.csr_matrix([[1.02, 1.03, 1.04]]), intensity=sparse.csr_matrix([[1.2, 1.3, 1.4]]), - units='m/s',) + units='m/s') haz = Hazard.concat([haz_1, haz_2]) From f3af2ddcfa19ff8bb96167c66f7ba8f83d3c7ac8 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 23 Nov 2023 09:54:45 +0100 Subject: [PATCH 053/192] Change duplicate test function name --- climada/hazard/test/test_trop_cyclone.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/climada/hazard/test/test_trop_cyclone.py b/climada/hazard/test/test_trop_cyclone.py index a52fedc5e5..34b1b6bd08 100644 --- a/climada/hazard/test/test_trop_cyclone.py +++ b/climada/hazard/test/test_trop_cyclone.py @@ -467,7 +467,7 @@ def test_apply_criterion_track(self): np.allclose(tc.intensity[2, :].toarray(), tc_cc.intensity[2, :].toarray())) self.assertTrue(np.allclose(tc.frequency, tc_cc.frequency)) - def test_apply_criterion_track(self): + def test_apply_criterion_track2(self): """Test _apply_criterion function.""" criterion = [{'basin': 'NA', 'category': [1, 2, 3, 4, 5], 'year': 2100, 'change': 1.045, 'variable': 'intensity'} From 5888dea6f4acfbcbd6631ce1184b6165a3ce0286 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 23 Nov 2023 09:55:00 +0100 Subject: [PATCH 054/192] Replace mat file with hdf5 --- climada/hazard/test/test_trop_cyclone.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/climada/hazard/test/test_trop_cyclone.py b/climada/hazard/test/test_trop_cyclone.py index 34b1b6bd08..adacc97a9c 100644 --- a/climada/hazard/test/test_trop_cyclone.py +++ b/climada/hazard/test/test_trop_cyclone.py @@ -43,8 +43,7 @@ TEST_TRACK = DATA_DIR.joinpath("trac_brb_test.csv") TEST_TRACK_SHORT = DATA_DIR.joinpath("trac_short_test.csv") -CENTR_TEST_BRB = Centroids.from_mat(DATA_DIR.joinpath('centr_brb_test.mat')) - +CENTR_TEST_BRB = Centroids.from_hdf5(DATA_DIR.joinpath('centr_brb_test.hdf5')) class TestReader(unittest.TestCase): """Test loading funcions from the TropCyclone class""" From e22c857686a0930131ac319a61bfd6b6a3d6cf88 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 23 Nov 2023 10:14:39 +0100 Subject: [PATCH 055/192] Remove unused mat file import --- climada/hazard/centroids/test/test_centr.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index e84ce7bc61..a8de7c55d4 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -33,9 +33,6 @@ import climada.util.coordinates as u_coord -HAZ_TEST_MAT = Path(hazard_test.__file__).parent / 'data' / 'atl_prob_no_name.mat' - - class TestCentroidsReader(unittest.TestCase): """Test read functions Centroids""" From 847736b27a18527057285f4d7f13836157e2129e Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 23 Nov 2023 10:43:39 +0100 Subject: [PATCH 056/192] Add legacy code to read old centroid hdf5 files. --- climada/hazard/centroids/centr.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index c6a5633152..29e42cc881 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -729,7 +729,6 @@ def from_hdf5(cls, file_name): """ if not Path(file_name).is_file(): raise FileNotFoundError(str(file_name)) - try: with pd.HDFStore(file_name, mode='r') as store: metadata = store.get_storer('centroids').attrs.metadata @@ -739,6 +738,9 @@ def from_hdf5(cls, file_name): except TypeError: with h5py.File(file_name, 'r') as data: gdf = cls._legacy_from_hdf5(data.get('centroids')) + except KeyError: + with h5py.File(file_name, 'r') as data: + gdf = cls._legacy_from_hdf5(data) return cls.from_geodataframe(gdf) From 756c587554a34f189cf654bceb55be7a7c4de62d Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 23 Nov 2023 10:51:30 +0100 Subject: [PATCH 057/192] Update access to centroids dist coast in gdf --- climada/hazard/trop_cyclone.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/climada/hazard/trop_cyclone.py b/climada/hazard/trop_cyclone.py index bdd1b98977..8df455a9ef 100644 --- a/climada/hazard/trop_cyclone.py +++ b/climada/hazard/trop_cyclone.py @@ -273,9 +273,9 @@ def from_tracks( coastal_idx = (np.abs(centroids.lat) <= max_latitude).nonzero()[0] else: # Select centroids which are inside max_dist_inland_km and lat <= max_latitude - if not centroids.dist_coast.size: - centroids.set_dist_coast() - coastal_idx = ((centroids.dist_coast <= max_dist_inland_km * 1000) + if 'dist_coast' not in centroids.gdf: + centroids.gdf['dist_coast'] = centroids.get_dist_coast() + coastal_idx = ((centroids.gdf.dist_coast.values <= max_dist_inland_km * 1000) & (np.abs(centroids.lat) <= max_latitude)).nonzero()[0] # Filter early with a larger threshold, but inaccurate (lat/lon) distances. From e0150007c3c9c2874f595e7bea85413429169377 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Thu, 23 Nov 2023 16:30:00 +0100 Subject: [PATCH 058/192] test_trop_cyclone: get test centroids from data api --- climada/hazard/test/test_trop_cyclone.py | 5 ++++- climada/util/api_client.py | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/climada/hazard/test/test_trop_cyclone.py b/climada/hazard/test/test_trop_cyclone.py index adacc97a9c..72507793d7 100644 --- a/climada/hazard/test/test_trop_cyclone.py +++ b/climada/hazard/test/test_trop_cyclone.py @@ -29,6 +29,7 @@ import xarray as xr from climada.util import ureg +from climada.util.api_client import Client from climada.hazard.tc_tracks import TCTracks from climada.hazard.trop_cyclone import ( TropCyclone, get_close_centroids, _vtrans, _B_holland_1980, _bs_holland_2008, @@ -43,7 +44,9 @@ TEST_TRACK = DATA_DIR.joinpath("trac_brb_test.csv") TEST_TRACK_SHORT = DATA_DIR.joinpath("trac_short_test.csv") -CENTR_TEST_BRB = Centroids.from_hdf5(DATA_DIR.joinpath('centr_brb_test.hdf5')) +CENTR_TEST_BRB = Centroids.from_hdf5( + Client().get_dataset_file(name='centr_test_brb', status='test_dataset')) + class TestReader(unittest.TestCase): """Test loading funcions from the TropCyclone class""" diff --git a/climada/util/api_client.py b/climada/util/api_client.py index 9bdf0537c8..eb1ac17d25 100644 --- a/climada/util/api_client.py +++ b/climada/util/api_client.py @@ -1072,3 +1072,25 @@ def rm_empty_dirs(directory: Path): except OSError: # raised when the directory is not empty pass rm_empty_dirs(target_dir) + + def get_dataset_file(self, **kwargs): + """Convenience method. Combines ``get_dataset`` and ``download_dataset``. + Returns the path to a single file if the dataset has only one, + otherwise throws an error. + + Parameters + ---------- + **kwargs + arguments for get_dataset and download_dataset + + Returns + ------- + Path + """ + download_arguments = { + 'target_dir': kwargs.pop('target_dir', SYSTEM_DIR), + 'organize_path': kwargs.pop('organize_path', True), + } + dsi = self.get_dataset_info(**kwargs) + _, [test_file] = self.download_dataset(dsi, **download_arguments) + return test_file From cfecf10a845b010b953f79bcca689abf0054da0c Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Fri, 24 Nov 2023 09:48:16 +0100 Subject: [PATCH 059/192] Add method to estimate meta raster from centroids --- climada/hazard/base.py | 17 +----------- climada/hazard/centroids/centr.py | 46 +++++++++++++++++++++++++++---- 2 files changed, 41 insertions(+), 22 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index 12c5900394..d65fa6c500 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -1690,22 +1690,7 @@ def write_raster(self, file_name, variable='intensity', output_resolution=None): centroids = self.centroids - res = np.abs(u_coord.get_resolution(centroids.lat, centroids.lon)).min() - xmin, ymin, xmax, ymax = centroids.gdf.total_bounds - - if output_resolution: - res = output_resolution - - # construct raster - rows, cols, ras_trans = u_coord.pts_to_raster_meta( - (xmin, ymin, xmax, ymax), (res, -res) - ) - meta = { - 'crs': self.centroids.crs, - 'height': rows, - 'width': cols, - 'transform': ras_trans, - } + meta = centroids.get_meta(self, resolution=output_resolution) meta.update(driver='GTiff', dtype=rasterio.float32, count=self.size) if rows*cols == centroids.shape[0]: diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 29e42cc881..1632b69a41 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -451,11 +451,13 @@ def select(self, reg_id=None, extent=None, sel_cen=None): cen : Centroids Sub-selection of this object """ - if sel_cen.dtype.kind == 'i': #is integer - sel_cen_bool = np.zeros(self.size, dtype=bool) - sel_cen_bool[np.unique(sel_cen)] = True - else: - sel_cen_bool = sel_cen + sel_cen_bool = sel_cen + #if needed, convert indices to bool + if sel_cen is not None: + if sel_cen.dtype.kind == 'i': #is integer + sel_cen_bool = np.zeros(self.size, dtype=bool) + sel_cen_bool[np.unique(sel_cen)] = True + sel_cen_mask = self.select_mask(sel_cen=sel_cen_bool, reg_id=reg_id, extent=extent) return Centroids.from_geodataframe(self.gdf[sel_cen_mask]) @@ -643,7 +645,7 @@ def from_vector_file(cls, file_name, dst_crs=None): centroids = cls.from_geodataframe(gpd.read_file(file_name)) if dst_crs is not None: - centroids.to_crs(dst_crs, inplace=True) + centroids.gdf.geometry.to_crs(dst_crs, inplace=True) return centroids #TODO: this method is badly written but kept for backwards compatibility. It should be improved. @@ -795,6 +797,38 @@ def _ne_crs_geom(self, scheduler=None): return self.gdf.geometry return self.gdf.geometry.to_crs(u_coord.NE_CRS) + def get_meta(self, resolution=None): + """ + Returns a meta raster based on the centroids bounds. + + When resolution is None it is estimated from the centroids + by assuming that they form a regular raster. + + Parameters + ---------- + resolution : int, optional + Resolution of the raster. + By default None (resolution is estimated from centroids) + + Returns + ------- + meta: dict + meta raster representation of the centroids + """ + if resolution is None: + resolution = np.abs(u_coord.get_resolution(self.lat, self.lon)).min() + xmin, ymin, xmax, ymax = self.gdf.total_bounds + rows, cols, ras_trans = u_coord.pts_to_raster_meta( + (xmin, ymin, xmax, ymax), (resolution, -resolution) + ) + meta = { + 'crs': self.crs, + 'height': rows, + 'width': cols, + 'transform': ras_trans, + } + return meta + def _meta_to_lat_lon(meta): """Compute lat and lon of every pixel center from meta raster. From 510f53fc6031b8a815ae6d1a0775fc76e2d1378f Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Fri, 24 Nov 2023 16:42:31 +0100 Subject: [PATCH 060/192] Remove unecessary conversion to ne_geom --- climada/hazard/centroids/centr.py | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 1632b69a41..8481abfc60 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -345,7 +345,7 @@ def get_closest_point(self, x_lon, y_lat, scheduler=None): close_idx = self.geometry.distance(Point(x_lon, y_lat)).values.argmin() return self.lon[close_idx], self.lat[close_idx], close_idx - def set_region_id(self, scheduler=None): + def set_region_id(self): """Set region_id as country ISO numeric code attribute for every pixel or point. Parameters @@ -353,11 +353,10 @@ def set_region_id(self, scheduler=None): scheduler : str used for dask map_partitions. “threads”, “synchronous” or “processes” """ - ne_geom = self._ne_crs_geom(scheduler) LOGGER.debug('Setting region_id %s points.', str(self.size)) if u_coord.equal_crs(self.crs, 'epsg:4326'): self.gdf['region_id'] = u_coord.get_country_code( - ne_geom.geometry[:].y.values, ne_geom.geometry[:].x.values) + self.lat, self.lon) else: raise NotImplementedError( 'The region id can only be assigned if the crs is epsg:4326' @@ -375,7 +374,7 @@ def get_elevation(self, topo_path): """ return u_coord.read_raster_sample(topo_path, self.lat, self.lon) - def get_dist_coast(self, signed=False, precomputed=False, scheduler=None): + def get_dist_coast(self, signed=False, precomputed=False): """Get dist_coast attribute for every pixel or point in meters. Parameters @@ -385,8 +384,6 @@ def get_dist_coast(self, signed=False, precomputed=False, scheduler=None): precomputed : bool If True, use precomputed distances (from NASA). Works only for crs=epsg:4326 Default: False. - scheduler : str - Used for dask map_partitions. "threads", "synchronous" or "processes" """ if not u_coord.equal_crs(self.crs, 'epsg:4326'): raise NotImplementedError( @@ -397,11 +394,11 @@ def get_dist_coast(self, signed=False, precomputed=False, scheduler=None): return u_coord.dist_to_coast_nasa( self.lat, self.lon, highres=True, signed=signed) else: - ne_geom = self._ne_crs_geom(scheduler) + ne_geom = self._ne_crs_geom() LOGGER.debug('Computing distance to coast for %s centroids.', str(self.size)) return u_coord.dist_to_coast(ne_geom, signed=signed) - def set_on_land(self, scheduler=None): + def set_on_land(self,): """Set on_land attribute for every pixel or point. Parameters @@ -415,10 +412,10 @@ def set_on_land(self, scheduler=None): 'Please use .to_default_crs to change to epsg:4326' ) - ne_geom = self._ne_crs_geom(scheduler) LOGGER.debug('Setting on_land %s points.', str(self.lat.size)) self.gdf['on_land'] = u_coord.coord_on_land( - ne_geom.geometry[:].y.values, ne_geom.geometry[:].x.values) + self.lat, self.lon + ) @classmethod def remove_duplicate_points(cls, centroids): @@ -781,14 +778,9 @@ def _legacy_from_hdf5(cls, data): ) - def _ne_crs_geom(self, scheduler=None): + def _ne_crs_geom(self): """Return `geometry` attribute in the CRS of Natural Earth. - Parameters - ---------- - scheduler : str - used for dask map_partitions. “threads”, “synchronous” or “processes” - Returns ------- geo : gpd.GeoSeries From e108432a773732e0b64ef28fbbea342262da1b00 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Fri, 24 Nov 2023 16:42:44 +0100 Subject: [PATCH 061/192] Add good lat/lon values for unit test --- climada/hazard/centroids/test/test_vec_ras.py | 218 +++++------------- 1 file changed, 55 insertions(+), 163 deletions(-) diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index a93b7a509e..a564637222 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -36,193 +36,85 @@ DATA_DIR = CONFIG.hazard.test_data.dir() + +# Note: the coordinates are not directly on the cities, the region id and on land +# otherwise do not work correctly. It is only the closest point. VEC_LON = np.array([ - -59.6250000000000, -59.6250000000000, -59.6250000000000, -59.5416666666667, -59.5416666666667, - -59.4583333333333, -60.2083333333333, -60.2083333333333, -60.2083333333333, -60.2083333333333, - -60.2083333333333, -60.2083333333333, -60.2083333333333, -60.2083333333333, -60.2083333333333, - -60.2083333333333, -60.2083333333333, -60.2083333333333, -60.2083333333333, -60.2083333333333, - -60.2083333333333, -60.1250000000000, -60.1250000000000, -60.1250000000000, -60.1250000000000, - -60.1250000000000, -60.1250000000000, -60.1250000000000, -60.1250000000000, -60.1250000000000, - -60.1250000000000, -60.1250000000000, -60.1250000000000, -60.1250000000000, -60.1250000000000, - -60.1250000000000, -60.1250000000000, -60.0416666666667, -60.0416666666667, -60.0416666666667, - -60.0416666666667, -60.0416666666667, -60.0416666666667, -60.0416666666667, -60.0416666666667, - -60.0416666666667, -60.0416666666667, -60.0416666666667, -60.0416666666667, -60.0416666666667, - -60.0416666666667, -60.0416666666667, -60.0416666666667, -59.9583333333333, -59.9583333333333, - -59.9583333333333, -59.9583333333333, -59.9583333333333, -59.9583333333333, -59.9583333333333, - -59.9583333333333, -59.9583333333333, -59.9583333333333, -59.9583333333333, -59.9583333333333, - -59.9583333333333, -59.9583333333333, -59.9583333333333, -59.9583333333333, -59.8750000000000, - -59.8750000000000, -59.8750000000000, -59.8750000000000, -59.8750000000000, -59.8750000000000, - -59.8750000000000, -59.8750000000000, -59.8750000000000, -59.8750000000000, -59.8750000000000, - -59.8750000000000, -59.8750000000000, -59.8750000000000, -59.8750000000000, -59.8750000000000, - -59.7916666666667, -59.7916666666667, -59.7916666666667, -59.7916666666667, -59.7916666666667, - -59.7916666666667, -59.7916666666667, -59.7916666666667, -59.7916666666667, -59.7916666666667, - -59.7916666666667, -59.7916666666667, -59.7916666666667, -59.7916666666667, -59.7916666666667, - -59.7916666666667, -59.7083333333333, -59.7083333333333, -59.7083333333333, -59.7083333333333, - -59.7083333333333, -59.7083333333333, -59.7083333333333, -59.7083333333333, -59.7083333333333, - -59.7083333333333, -59.7083333333333, -59.7083333333333, -59.7083333333333, -59.7083333333333, - -59.7083333333333, -59.7083333333333, -59.6250000000000, -59.6250000000000, -59.6250000000000, - -59.6250000000000, -59.6250000000000, -59.6250000000000, -59.6250000000000, -59.6250000000000, - -59.6250000000000, -59.6250000000000, -59.6250000000000, -59.6250000000000, -59.6250000000000, - -59.5416666666667, -59.5416666666667, -59.5416666666667, -59.5416666666667, -59.5416666666667, - -59.5416666666667, -59.5416666666667, -59.5416666666667, -59.5416666666667, -59.5416666666667, - -59.5416666666667, -59.5416666666667, -59.5416666666667, -59.5416666666667, -59.4583333333333, - -59.4583333333333, -59.4583333333333, -59.4583333333333, -59.4583333333333, -59.4583333333333, - -59.4583333333333, -59.4583333333333, -59.4583333333333, -59.4583333333333, -59.4583333333333, - -59.4583333333333, -59.4583333333333, -59.4583333333333, -59.4583333333333, -59.3750000000000, - -59.3750000000000, -59.3750000000000, -59.3750000000000, -59.3750000000000, -59.3750000000000, - -59.3750000000000, -59.3750000000000, -59.3750000000000, -59.3750000000000, -59.3750000000000, - -59.3750000000000, -59.3750000000000, -59.3750000000000, -59.3750000000000, -59.3750000000000, - -59.2916666666667, -59.2916666666667, -59.2916666666667, -59.2916666666667, -59.2916666666667, - -59.2916666666667, -59.2916666666667, -59.2916666666667, -59.2916666666667, -59.2916666666667, - -59.2916666666667, -59.2916666666667, -59.2916666666667, -59.2916666666667, -59.2916666666667, - -59.2916666666667, -59.2083333333333, -59.2083333333333, -59.2083333333333, -59.2083333333333, - -59.2083333333333, -59.2083333333333, -59.2083333333333, -59.2083333333333, -59.2083333333333, - -59.2083333333333, -59.2083333333333, -59.2083333333333, -59.2083333333333, -59.2083333333333, - -59.2083333333333, -59.2083333333333, -59.1250000000000, -59.1250000000000, -59.1250000000000, - -59.1250000000000, -59.1250000000000, -59.1250000000000, -59.1250000000000, -59.1250000000000, - -59.1250000000000, -59.1250000000000, -59.1250000000000, -59.1250000000000, -59.1250000000000, - -59.1250000000000, -59.1250000000000, -59.1250000000000, -59.0416666666667, -59.0416666666667, - -59.0416666666667, -59.0416666666667, -59.0416666666667, -59.0416666666667, -59.0416666666667, - -59.0416666666667, -59.0416666666667, -59.0416666666667, -59.0416666666667, -59.0416666666667, - -59.0416666666667, -59.0416666666667, -59.0416666666667, -58.9583333333333, -58.9583333333333, - -58.9583333333333, -58.9583333333333, -58.9583333333333, -58.9583333333333, -58.9583333333333, - -58.9583333333333, -58.9583333333333, -58.9583333333333, -58.9583333333333, -58.9583333333333, - -58.9583333333333, -58.9583333333333, -61.0416666666667, -61.0416666666667, -61.0416666666667, - -61.0416666666667, -61.0416666666667, -61.0416666666667, -61.0416666666667, -60.6250000000000, - -60.6250000000000, -60.6250000000000, -60.6250000000000, -60.6250000000000, -60.6250000000000, - -60.6250000000000, -60.2083333333333, -60.2083333333333, -60.2083333333333, -60.2083333333333, - -59.7916666666667, -59.7916666666667, -59.7916666666667, -59.7916666666667, -59.3750000000000, - -59.3750000000000, -59.3750000000000, -59.3750000000000, -58.9583333333333, -58.9583333333333, - -58.9583333333333, -58.9583333333333, -58.5416666666667, -58.5416666666667, -58.5416666666667, - -58.5416666666667, -58.5416666666667, -58.5416666666667, -58.5416666666667, -58.1250000000000, - -58.1250000000000, -58.1250000000000, -58.1250000000000, -58.1250000000000, -58.1250000000000, - -58.1250000000000, + -175.1883, #Tonga, Nuku'alofa, TON, 776 + 178.433, #Fidji, Suva, FJI, 242 + 18.95, #Norway, Tromso, NOR, 578 + 0, # Ocean, 0 + 166.6778, #Antarctica, McMurdo station, ATA, 010 + -78.5833 #Ecuador, Quito, ECU, 218 ]) VEC_LAT = np.array([ - 13.125, 13.20833333, 13.29166667, 13.125, 13.20833333, 13.125, 12.625, 12.70833333, - 12.79166667, 12.875, 12.95833333, 13.04166667, 13.125, 13.20833333, 13.29166667, 13.375, - 13.45833333, 13.54166667, 13.625, 13.70833333, 13.79166667, 12.54166667, 12.625, 12.70833333, - 12.79166667, 12.875, 12.95833333, 13.04166667, 13.125, 13.20833333, 13.29166667, 13.375, - 13.45833333, 13.54166667, 13.625, 13.70833333, 13.79166667, 12.54166667, 12.625, 12.70833333, - 12.79166667, 12.875, 12.95833333, 13.04166667, 13.125, 13.20833333, 13.29166667, 13.375, - 13.45833333, 13.54166667, 13.625, 13.70833333, 13.79166667, 12.54166667, 12.625, 12.70833333, - 12.79166667, 12.875, 12.95833333, 13.04166667, 13.125, 13.20833333, 13.29166667, 13.375, - 13.45833333, 13.54166667, 13.625, 13.70833333, 13.79166667, 12.54166667, 12.625, 12.70833333, - 12.79166667, 12.875, 12.95833333, 13.04166667, 13.125, 13.20833333, 13.29166667, 13.375, - 13.45833333, 13.54166667, 13.625, 13.70833333, 13.79166667, 12.54166667, 12.625, 12.70833333, - 12.79166667, 12.875, 12.95833333, 13.04166667, 13.125, 13.20833333, 13.29166667, 13.375, - 13.45833333, 13.54166667, 13.625, 13.70833333, 13.79166667, 12.54166667, 12.625, 12.70833333, - 12.79166667, 12.875, 12.95833333, 13.04166667, 13.125, 13.20833333, 13.29166667, 13.375, - 13.45833333, 13.54166667, 13.625, 13.70833333, 13.79166667, 12.54166667, 12.625, 12.70833333, - 12.79166667, 12.875, 12.95833333, 13.04166667, 13.375, 13.45833333, 13.54166667, 13.625, - 13.70833333, 13.79166667, 12.54166667, 12.625, 12.70833333, 12.79166667, 12.875, 12.95833333, - 13.04166667, 13.29166667, 13.375, 13.45833333, 13.54166667, 13.625, 13.70833333, 13.79166667, - 12.54166667, 12.625, 12.70833333, 12.79166667, 12.875, 12.95833333, 13.04166667, 13.20833333, - 13.29166667, 13.375, 13.45833333, 13.54166667, 13.625, 13.70833333, 13.79166667, 12.54166667, - 12.625, 12.70833333, 12.79166667, 12.875, 12.95833333, 13.04166667, 13.125, 13.20833333, - 13.29166667, 13.375, 13.45833333, 13.54166667, 13.625, 13.70833333, 13.79166667, 12.54166667, - 12.625, 12.70833333, 12.79166667, 12.875, 12.95833333, 13.04166667, 13.125, 13.20833333, - 13.29166667, 13.375, 13.45833333, 13.54166667, 13.625, 13.70833333, 13.79166667, 12.54166667, - 12.625, 12.70833333, 12.79166667, 12.875, 12.95833333, 13.04166667, 13.125, 13.20833333, - 13.29166667, 13.375, 13.45833333, 13.54166667, 13.625, 13.70833333, 13.79166667, 12.54166667, - 12.625, 12.70833333, 12.79166667, 12.875, 12.95833333, 13.04166667, 13.125, 13.20833333, - 13.29166667, 13.375, 13.45833333, 13.54166667, 13.625, 13.70833333, 13.79166667, 12.54166667, - 12.625, 12.70833333, 12.79166667, 12.875, 12.95833333, 13.04166667, 13.125, 13.20833333, - 13.29166667, 13.375, 13.45833333, 13.54166667, 13.625, 13.70833333, 12.54166667, 12.625, - 12.70833333, 12.79166667, 12.875, 12.95833333, 13.04166667, 13.125, 13.20833333, 13.29166667, - 13.375, 13.45833333, 13.54166667, 13.625, 11.875, 12.29166667, 12.70833333, 13.125, - 13.54166667, 13.95833333, 14.375, 11.875, 12.29166667, 12.70833333, 13.125, 13.54166667, - 13.95833333, 14.375, 11.875, 12.29166667, 13.95833333, 14.375, 11.875, 12.29166667, - 13.95833333, 14.375, 11.875, 12.29166667, 13.95833333, 14.375, 11.875, 12.29166667, - 13.95833333, 14.375, 11.875, 12.29166667, 12.70833333, 13.125, 13.54166667, 13.95833333, - 14.375, 11.875, 12.29166667, 12.70833333, 13.125, 13.54166667, 13.95833333, 14.375 + -21.1736, #Tonga, Nuku'alofa + -18.133, #Fidji, Suvaå + 69.6833, #Norway, Tromso + 0, #Ocean + -77.85, #Antarctica, McMurdo station + -0.25, #Ecuador, Quito ]) +ON_LAND = np.array([True, True, True, False, True, True]) +REGION_ID = np.array([776, 242, 578, 0, 10, 218]) -def data_vector(): - vec_data = gpd.GeoDataFrame({ - 'geometry': [Point(lon, lat) for lon, lat in zip(VEC_LON, VEC_LAT)], - 'lon': VEC_LON, - 'lat': VEC_LAT - }, crs='epsg:32632') - return vec_data.lat.values, vec_data.lon.values, vec_data.geometry +TEST_CRS = 'EPSG:4326' +ALT_CRS = 'eps:32632' #Europe class TestVector(unittest.TestCase): """Test CentroidsVector class""" - def test_from_lat_lon_pass(self): - """Test from_lat_lon""" - centr = Centroids.from_lat_lon(VEC_LAT, VEC_LON) - self.assertTrue(np.allclose(centr.lat, VEC_LAT)) - self.assertTrue(np.allclose(centr.lon, VEC_LON)) - self.assertTrue(u_coord.equal_crs(centr.crs, DEF_CRS)) - self.assertTrue(u_coord.equal_crs(centr.geometry.crs, DEF_CRS)) - self.assertEqual(centr.geometry.size, 0) + def setUp(self): + self.centr = Centroids(latitude=VEC_LAT,longitude=VEC_LON, crs=TEST_CRS) - centr.set_area_pixel() - self.assertEqual(centr.geometry.size, centr.lat.size) + def test_init_pass(self): + """Test from_lat_lon""" + self.assertTrue(np.allclose(self.centr.lat, VEC_LAT)) + self.assertTrue(np.allclose(self.centr.lon, VEC_LON)) + self.assertTrue(u_coord.equal_crs(self.centr.crs, DEF_CRS)) + self.assertTrue(u_coord.equal_crs(self.centr.geometry.crs, DEF_CRS)) def test_ne_crs_geom_pass(self): """Test _ne_crs_geom""" - lat, lon, geometry = data_vector() - centr = Centroids(lat=lat, lon=lon, geometry=geometry) - xy_vec = centr._ne_crs_geom() - lon, lat = xy_vec.geometry[:].x.values, xy_vec.geometry[:].y.values - self.assertAlmostEqual(4.51072194, lon[0]) - self.assertAlmostEqual(0.00011838, lat[0]) - self.assertAlmostEqual(4.5107354, lon[-1]) - self.assertAlmostEqual(0.0001297, lat[-1]) + natural_earth_geom = self.centr._ne_crs_geom() + self.assertEqual(natural_earth_geom.crs, u_coord.NE_CRS) def test_dist_coast_pass(self): """Test set_dist_coast""" - lat, lon, geometry = data_vector() - centr = Centroids(lat=lat, lon=lon, geometry=geometry) - centr.geometry.crs = 'epsg:4326' - centr.set_dist_coast() - self.assertAlmostEqual(2594.2070842031694, centr.dist_coast[1]) - self.assertAlmostEqual(166295.87602398323, centr.dist_coast[-2]) + dist_coast = self.centr.get_dist_coast()\ + # Just checking that the output doesnt change over time. + REF_VALUES = np.array([ + 5.55578093e+05, 1.64066475e+03, 2.00703835e+03, + 4.82264614e+02, 4.50037266e+03, 1.08610274e+05 + ]) + np.testing.assert_array_almost_equal(dist_coast, REF_VALUES, decimal=3) def test_region_id_pass(self): """Test set_region_id""" - lat, lon, geometry = data_vector() - geometry.crs = 'epsg:4326' - centr = Centroids(lat=lat, lon=lon, geometry=geometry) - centr.set_region_id() - self.assertEqual(np.count_nonzero(centr.region_id), 6) - self.assertEqual(centr.region_id[0], 52) # 052 for barbados + self.centr.set_region_id() + np.testing.assert_array_equal( + self.centr.region_id, + REGION_ID + ) def test_on_land(self): """Test set_on_land""" - lat, lon, geometry = data_vector() - geometry.crs = 'epsg:4326' - centr = Centroids(lat=lat, lon=lon, geometry=geometry) - centr.set_on_land() - centr.set_region_id() - centr.region_id[centr.region_id > 0] = 1 - self.assertTrue(np.array_equal(centr.on_land.astype(int), - centr.region_id)) + self.centr.set_on_land() + np.testing.assert_array_equal( + self.centr.on_land, + ON_LAND + ) def test_remove_duplicate_pass(self): """Test remove_duplicate_points""" - lat, lon, geometry = data_vector() - geometry.crs = 'epsg:4326' - centr = Centroids(lat=lat, lon=lon, geometry=geometry) - # create duplicates manually: - centr.geometry.values[100] = centr.geometry.values[101] - centr.geometry.values[120] = centr.geometry.values[101] - centr.geometry.values[5] = Point([-59.7, 12.5]) - centr.geometry.values[133] = Point([-59.7, 12.5]) - centr.geometry.values[121] = Point([-59.7, 12.5]) - centr.lon = centr.geometry.apply(lambda pt: pt.x).values - centr.lat = centr.geometry.apply(lambda pt: pt.y).values - self.assertEqual(centr.size, 296) - rem_centr = centr.remove_duplicate_points() - self.assertEqual(centr.size, 296) - self.assertEqual(rem_centr.size, 292) - rem2_centr = rem_centr.remove_duplicate_points() - self.assertEqual(rem_centr.size, 292) - self.assertEqual(rem2_centr.size, 292) + centr = Centroids(latitude = np.hstack([VEC_LAT, VEC_LAT]), + longitude = np.hstack([VEC_LON , VEC_LON]), + crs=TEST_CRS) + self.assertTrue(centr.gdf.shape[0] == 2*self.centr.gdf.shape[0]) + rem_centr = Centroids.remove_duplicate_points(centr) + self.assertTrue(self.centr == rem_centr) def test_area_pass(self): """Test set_area""" @@ -236,7 +128,7 @@ def test_area_pass(self): 'lat': yy.flatten(), }, crs={'proj': 'cea'}) - centr = Centroids.from_lat_lon(vec_data.lat.values, vec_data.lon.values) + centr = Centroids(latitude=vec_data.lat.values, longitude=vec_data.lon.values) centr.geometry = vec_data.geometry centr.set_area_pixel() self.assertTrue(np.allclose(centr.area_pixel, np.ones(centr.size))) @@ -264,7 +156,7 @@ def test_set_lat_lon_to_meta_pass(self): """Test set_lat_lon_to_meta""" lat, lon, geometry = data_vector() geometry.crs = 'epsg:4326' - centr = Centroids(lat=lat, lon=lon, geometry=geometry) + centr = Centroids(latitude=lat, longitude=lon, crs='epsg:4326') centr.set_lat_lon_to_meta() self.assertTrue(u_coord.equal_crs(centr.meta['crs'], 'epsg:4326')) @@ -281,7 +173,7 @@ def test_get_pixel_polygons_pass(self): """Test calc_pixels_polygons""" lat, lon, geometry = data_vector() geometry.crs = 'epsg:4326' - centr = Centroids(lat=lat, lon=lon, geometry=geometry) + centr = Centroids(latitude=lat, longitude=lon, geometry=geometry) poly = centr.calc_pixels_polygons() self.assertIsInstance(poly[0], Polygon) self.assertTrue(np.allclose(poly.centroid[:].y.values, centr.lat)) From 5571755a2f4f9a490bff4f7a114bdb423e9c7344 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 29 Nov 2023 13:44:42 +0100 Subject: [PATCH 062/192] centroids.centr.write_hdf5: eliminate side effect --- climada/hazard/centroids/centr.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 8481abfc60..f7a7938448 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -696,7 +696,8 @@ def write_hdf5(self, file_name, mode='w'): """ LOGGER.info('Writing %s', file_name) store = pd.HDFStore(file_name, mode=mode) - pandas_df = pd.DataFrame(self.gdf) + pandas_df = pd.DataFrame(self.gdf, copy=True) # the default, `copy=False`, alters the + # DataFrame's Block data of `self.gdf`. for col in pandas_df.columns: if str(pandas_df[col].dtype) == "geometry": pandas_df[col] = np.asarray(self.gdf[col]) From baf88a000cca1c7240c1c90ba6c5f32f9a2b54d0 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 29 Nov 2023 14:36:40 +0100 Subject: [PATCH 063/192] centroids.centr.write_hdf5: elimination of side effect futile for pandas>=2.1 --- climada/hazard/centroids/centr.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index f7a7938448..8481abfc60 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -696,8 +696,7 @@ def write_hdf5(self, file_name, mode='w'): """ LOGGER.info('Writing %s', file_name) store = pd.HDFStore(file_name, mode=mode) - pandas_df = pd.DataFrame(self.gdf, copy=True) # the default, `copy=False`, alters the - # DataFrame's Block data of `self.gdf`. + pandas_df = pd.DataFrame(self.gdf) for col in pandas_df.columns: if str(pandas_df[col].dtype) == "geometry": pandas_df[col] = np.asarray(self.gdf[col]) From 5b3711675b17d68c3420e4a5eda009bcbcef122c Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 29 Nov 2023 18:44:23 +0100 Subject: [PATCH 064/192] centroids.test.TestCentroidsFuns.test_select_pass: adapt to downsized LAT/LON arrays --- climada/hazard/centroids/test/test_vec_ras.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index a564637222..d0aa747776 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -487,15 +487,15 @@ class TestCentroidsFuncs(unittest.TestCase): def test_select_pass(self): """Test Centroids.select method""" region_id = np.zeros(VEC_LAT.size) - region_id[[100, 200]] = 10 + region_id[[2, 4]] = 10 centr = Centroids(latitude=VEC_LAT, longitude=VEC_LON, region_id=region_id) fil_centr = centr.select(reg_id=10) self.assertEqual(fil_centr.size, 2) - self.assertEqual(fil_centr.lat[0], VEC_LAT[100]) - self.assertEqual(fil_centr.lat[1], VEC_LAT[200]) - self.assertEqual(fil_centr.lon[0], VEC_LON[100]) - self.assertEqual(fil_centr.lon[1], VEC_LON[200]) + self.assertEqual(fil_centr.lat[0], VEC_LAT[2]) + self.assertEqual(fil_centr.lat[1], VEC_LAT[4]) + self.assertEqual(fil_centr.lon[0], VEC_LON[2]) + self.assertEqual(fil_centr.lon[1], VEC_LON[4]) self.assertTrue(np.array_equal(fil_centr.region_id, np.ones(2) * 10)) def test_select_extent_pass(self): From 78811c5ed93790cdd9a1593e71804effc6cb980a Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 29 Nov 2023 19:10:08 +0100 Subject: [PATCH 065/192] test_vec_ras: fix TestCentroids.test_centroids_check_pass --- climada/hazard/centroids/test/test_vec_ras.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index d0aa747776..d243b3d3e8 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -61,7 +61,7 @@ REGION_ID = np.array([776, 242, 578, 0, 10, 218]) TEST_CRS = 'EPSG:4326' -ALT_CRS = 'eps:32632' #Europe +ALT_CRS = 'epsg:32632' #Europe class TestVector(unittest.TestCase): """Test CentroidsVector class""" @@ -375,13 +375,11 @@ class TestCentroids(unittest.TestCase): def test_centroids_check_pass(self): """Test vector data in Centroids""" - data_vec = data_vector() - lat, lon, geometry = data_vec - centr = Centroids(latitude=lat, longitude=lon, crs=geometry.crs) + centr = Centroids(latitude=VEC_LAT, longitude=VEC_LON, crs=ALT_CRS) - self.assertTrue(u_coord.equal_crs(centr.crs, data_vec[2].crs)) - for i in range(4): - self.assertEqual(centr.total_bounds[i], data_vec[2].total_bounds[i]) + self.assertTrue(u_coord.equal_crs(centr.crs, CRS.from_user_input(ALT_CRS))) + self.assertEqual(list(centr.total_bounds), + [VEC_LON.min(), VEC_LAT.min(), VEC_LON.max(), VEC_LAT.max()]) self.assertIsInstance(centr.lat, np.ndarray) self.assertIsInstance(centr.lon, np.ndarray) From 84de9bf21184bf71575e267cabfba889e8f1afee Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 29 Nov 2023 19:15:40 +0100 Subject: [PATCH 066/192] test_vec_ras: remove TestReader.test_write_read_points_h5 as it is redundant to and covered by test_centr.TestCentroidsWriter.test_read_write_hdf5 --- climada/hazard/centroids/test/test_vec_ras.py | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index d243b3d3e8..0759e2475e 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -466,19 +466,6 @@ def test_write_read_raster_h5(self): self.assertAlmostEqual(centr_read.meta['transform'].f, centr.meta['transform'].f) self.assertTrue(u_coord.equal_crs(centr_read.meta['crs'], centr.meta['crs'])) - def test_write_read_points_h5(self): - file_name = str(DATA_DIR.joinpath('test_centr.h5')) - - centr = Centroids.from_lat_lon(VEC_LAT, VEC_LON) - centr.write_hdf5(file_name) - - centr_read = Centroids.from_hdf5(file_name) - self.assertFalse(centr_read.meta) - self.assertTrue(centr_read.lat.size) - self.assertTrue(centr_read.lon.size) - self.assertTrue(np.allclose(centr_read.lat, centr.lat)) - self.assertTrue(np.allclose(centr_read.lon, centr.lon)) - self.assertTrue(u_coord.equal_crs(centr_read.crs, centr.crs)) class TestCentroidsFuncs(unittest.TestCase): """Test Centroids methods""" From 1ab1b69d9e938d9bfbacc90e10629f40f4db1a63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sarah=20H=C3=BClsen?= <49907095+sarah-hlsn@users.noreply.github.com> Date: Mon, 4 Dec 2023 14:06:56 +0100 Subject: [PATCH 067/192] fix typo in from_exposures method --- climada/hazard/centroids/centr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 8481abfc60..00a7af1966 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -250,7 +250,7 @@ def from_exposures(cls, exposures): Centroids built from the exposures """ gdf = exposures.gdf[['geometry', 'region_id']] - return cls.from_geodtaframe(gdf) + return cls.from_geodataframe(gdf) @classmethod def from_pnt_bounds(cls, points_bounds, res, crs=DEF_CRS): From 19b02a563d7a479b9a75eeb51cf1a87ec5612b03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sarah=20H=C3=BClsen?= <49907095+sarah-hlsn@users.noreply.github.com> Date: Mon, 4 Dec 2023 15:37:42 +0100 Subject: [PATCH 068/192] centroids.centr.from_csv: write class method --- climada/hazard/centroids/centr.py | 33 ++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 00a7af1966..54c1565d6e 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -74,6 +74,12 @@ } """Excel variable names""" +DEF_VAR_CSV = { + 'lat': 'latitude', + 'lon': 'longitude', +} +"""CSV variable names""" + LOGGER = logging.getLogger(__name__) @@ -236,7 +242,7 @@ def from_geodataframe(cls, gdf): @classmethod def from_exposures(cls, exposures): """ - Generate centroids form the location of an exposures. + Generate centroids from the location of an exposures. Parameters ---------- @@ -251,6 +257,31 @@ def from_exposures(cls, exposures): """ gdf = exposures.gdf[['geometry', 'region_id']] return cls.from_geodataframe(gdf) + + #TODO: Check whether other variables are necessary, e.g. dist to coast + @classmethod + def from_csv(cls, file_path, crs=DEF_CRS, var_names=DEF_VAR_CSV): + """ + Generate centroids from a csv file. + + Parameters + ---------- + file_path : str + path to csv file to be read + crs : dict() or rasterio.crs.CRS, optional + CRS. Default: DEF_CRS + var_names : dict, default + name of the variables + + Returns + ------- + Centroids + Centroids built from the csv file + """ + df = pd.read_csv(file_path) + geometry = gpd.points_from_xy(df[var_names['lat']], df[var_names['lon']]) + gdf = gpd.GeoDataFrame(df, crs=crs, geometry=geometry) + return cls.from_geodataframe(gdf) @classmethod def from_pnt_bounds(cls, points_bounds, res, crs=DEF_CRS): From 5e4e03d0f3461bfdca95ed47f9185d40af9cf932 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sarah=20H=C3=BClsen?= <49907095+sarah-hlsn@users.noreply.github.com> Date: Tue, 5 Dec 2023 09:13:39 +0100 Subject: [PATCH 069/192] centroids.centr.from_csv: correct order of xy --- climada/hazard/centroids/centr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 54c1565d6e..9992e1231c 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -279,7 +279,7 @@ def from_csv(cls, file_path, crs=DEF_CRS, var_names=DEF_VAR_CSV): Centroids built from the csv file """ df = pd.read_csv(file_path) - geometry = gpd.points_from_xy(df[var_names['lat']], df[var_names['lon']]) + geometry = gpd.points_from_xy(df[var_names['lon']], df[var_names['lat']]) gdf = gpd.GeoDataFrame(df, crs=crs, geometry=geometry) return cls.from_geodataframe(gdf) From a42624727d79c2ef4d448b39b1d45e9c0aac6b6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sarah=20H=C3=BClsen?= <49907095+sarah-hlsn@users.noreply.github.com> Date: Tue, 5 Dec 2023 09:47:56 +0100 Subject: [PATCH 070/192] centroids.centr.from_excel: update method for gdf --- climada/hazard/centroids/centr.py | 75 +++++++++++++++++-------------- 1 file changed, 42 insertions(+), 33 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 9992e1231c..a61f6ff836 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -257,31 +257,6 @@ def from_exposures(cls, exposures): """ gdf = exposures.gdf[['geometry', 'region_id']] return cls.from_geodataframe(gdf) - - #TODO: Check whether other variables are necessary, e.g. dist to coast - @classmethod - def from_csv(cls, file_path, crs=DEF_CRS, var_names=DEF_VAR_CSV): - """ - Generate centroids from a csv file. - - Parameters - ---------- - file_path : str - path to csv file to be read - crs : dict() or rasterio.crs.CRS, optional - CRS. Default: DEF_CRS - var_names : dict, default - name of the variables - - Returns - ------- - Centroids - Centroids built from the csv file - """ - df = pd.read_csv(file_path) - geometry = gpd.points_from_xy(df[var_names['lon']], df[var_names['lat']]) - gdf = gpd.GeoDataFrame(df, crs=crs, geometry=geometry) - return cls.from_geodataframe(gdf) @classmethod def from_pnt_bounds(cls, points_bounds, res, crs=DEF_CRS): @@ -675,6 +650,37 @@ def from_vector_file(cls, file_name, dst_crs=None): if dst_crs is not None: centroids.gdf.geometry.to_crs(dst_crs, inplace=True) return centroids + + #TODO: Check whether other variables are necessary, e.g. dist to coast + @classmethod + def from_csv(cls, file_path, crs=None, var_names=None): + """ + Generate centroids from a csv file with column names in var_names. + + Parameters + ---------- + file_path : str + path to csv file to be read + crs : dict() or rasterio.crs.CRS, optional + CRS. Default: DEF_CRS + var_names : dict, default + name of the variables. Default: DEF_VAR_CSV + + Returns + ------- + Centroids + Centroids with data from the given csv file + """ + if crs is None: + crs = DEF_CRS + + if var_names is None: + var_names = DEF_VAR_CSV + + df = pd.read_csv(file_path) + geometry = gpd.points_from_xy(df[var_names['lon']], df[var_names['lat']]) + gdf = gpd.GeoDataFrame(df, crs=crs, geometry=geometry) + return cls.from_geodataframe(gdf) #TODO: this method is badly written but kept for backwards compatibility. It should be improved. @classmethod @@ -685,6 +691,8 @@ def from_excel(cls, file_name, var_names=None): ---------- file_name : str absolute or relative file name + crs : dict() or rasterio.crs.CRS, optional + CRS. Default: DEF_CRS var_names : dict, default name of the variables @@ -695,15 +703,18 @@ def from_excel(cls, file_name, var_names=None): Returns ------- centr : Centroids - Centroids with data from the given file + Centroids with data from the given excel file """ + if crs is None: + crs = DEF_VAR_EXCEL + if var_names is None: var_names = DEF_VAR_EXCEL try: - dfr = pd.read_excel(file_name, var_names['sheet_name']) + df = pd.read_excel(file_name, var_names['sheet_name']) try: - region_id = dfr[var_names['col_name']['region_id']] + region_id = df[var_names['col_name']['region_id']] except KeyError: region_id = None pass @@ -711,11 +722,9 @@ def from_excel(cls, file_name, var_names=None): except KeyError as err: raise KeyError("Not existing variable: %s" % str(err)) from err - return cls( - longitude=dfr[var_names['col_name']['lon']], - latitude=dfr[var_names['col_name']['lat']], - region_id=region_id - ) + geometry = gpd.points_from_xy(df[var_names['lon']], df[var_names['lat']]) + gdf = gpd.GeoDataFrame(df, crs=crs, geometry=geometry) + return cls.from_geodataframe(gdf) def write_hdf5(self, file_name, mode='w'): """Write data frame and metadata in hdf5 format From c60e50f58e764879eb999ae6cc599810dec0288e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sarah=20H=C3=BClsen?= <49907095+sarah-hlsn@users.noreply.github.com> Date: Tue, 5 Dec 2023 10:56:23 +0100 Subject: [PATCH 071/192] centroids.centr. update csv and excel methods --- climada/hazard/centroids/centr.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index a61f6ff836..8d7b998454 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -653,7 +653,7 @@ def from_vector_file(cls, file_name, dst_crs=None): #TODO: Check whether other variables are necessary, e.g. dist to coast @classmethod - def from_csv(cls, file_path, crs=None, var_names=None): + def from_csv(cls, file_path, crs=DEF_CRS, var_names=None): """ Generate centroids from a csv file with column names in var_names. @@ -671,9 +671,6 @@ def from_csv(cls, file_path, crs=None, var_names=None): Centroids Centroids with data from the given csv file """ - if crs is None: - crs = DEF_CRS - if var_names is None: var_names = DEF_VAR_CSV @@ -684,7 +681,7 @@ def from_csv(cls, file_path, crs=None, var_names=None): #TODO: this method is badly written but kept for backwards compatibility. It should be improved. @classmethod - def from_excel(cls, file_name, var_names=None): + def from_excel(cls, file_name, crs= DEF_CRS, var_names=None): """Generate a new centroids object from an excel file with column names in var_names. Parameters @@ -705,9 +702,6 @@ def from_excel(cls, file_name, var_names=None): centr : Centroids Centroids with data from the given excel file """ - if crs is None: - crs = DEF_VAR_EXCEL - if var_names is None: var_names = DEF_VAR_EXCEL From ae6a0ccc59c802243632ebe712c0a4af667adaa9 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 5 Dec 2023 14:57:31 +0100 Subject: [PATCH 072/192] Update tests in test_vec_ras --- climada/hazard/centroids/test/test_vec_ras.py | 64 ++++--------------- 1 file changed, 12 insertions(+), 52 deletions(-) diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index 0759e2475e..0c73c9544d 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -222,39 +222,17 @@ class TestRaster(unittest.TestCase): def test_from_pnt_bounds_pass(self): """Test from_pnt_bounds""" left, bottom, right, top = 5, 0, 10, 10 - centr = Centroids.from_pnt_bounds((left, bottom, right, top), 0.2) - self.assertTrue(u_coord.equal_crs(centr.meta['crs'], DEF_CRS)) - self.assertEqual(centr.meta['width'], 26) - self.assertEqual(centr.meta['height'], 51) - self.assertAlmostEqual(centr.meta['transform'][0], 0.2) - self.assertAlmostEqual(centr.meta['transform'][1], 0.0) - self.assertAlmostEqual(centr.meta['transform'][2], 5 - 0.2 / 2) - self.assertAlmostEqual(centr.meta['transform'][3], 0.0) - self.assertAlmostEqual(centr.meta['transform'][4], -0.2) - self.assertAlmostEqual(centr.meta['transform'][5], 10 + 0.2 / 2) - self.assertTrue('lat' in centr.__dict__.keys()) - self.assertTrue('lon' in centr.__dict__.keys()) + centr = Centroids.from_pnt_bounds((left, bottom, right, top), 0.2, crs=DEF_CRS) + self.assertTrue(u_coord.equal_crs(centr.crs, DEF_CRS)) def test_read_all_pass(self): """Test centr_ras data""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - self.assertAlmostEqual(centr_ras.meta['crs'], DEF_CRS) - self.assertAlmostEqual(centr_ras.meta['transform'].c, -69.33714959699981) - self.assertAlmostEqual(centr_ras.meta['transform'].a, 0.009000000000000341) - self.assertAlmostEqual(centr_ras.meta['transform'].b, 0.0) - self.assertAlmostEqual(centr_ras.meta['transform'].f, 10.42822096697894) - self.assertAlmostEqual(centr_ras.meta['transform'].d, 0.0) - self.assertAlmostEqual(centr_ras.meta['transform'].e, -0.009000000000000341) - self.assertEqual(centr_ras.meta['height'], 60) - self.assertEqual(centr_ras.meta['width'], 50) - - inten_ras = centr_ras.values_from_raster_files([HAZ_DEMO_FL], window=Window(0, 0, 50, 60)) - self.assertEqual(inten_ras.shape, (1, 60 * 50)) + self.assertAlmostEqual(centr_ras.crs, DEF_CRS) def test_ne_crs_geom_pass(self): """Test _ne_crs_geom""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - centr_ras.meta['crs'] = 'epsg:32632' xy_vec = centr_ras._ne_crs_geom() x_vec, y_vec = xy_vec.geometry[:].x.values, xy_vec.geometry[:].y.values @@ -273,7 +251,6 @@ def test_region_id_pass(self): def test_set_geometry_points_pass(self): """Test set_geometry_points""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - centr_ras.set_geometry_points() x_flat = np.arange(-69.3326495969998, -68.88264959699978, 0.009000000000000341) y_flat = np.arange(10.423720966978939, 9.883720966978919, -0.009000000000000341) x_grid, y_grid = np.meshgrid(x_flat, y_flat) @@ -283,26 +260,23 @@ def test_set_geometry_points_pass(self): def test_dist_coast_pass(self): """Test set_region_id""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - centr_ras.set_dist_coast() - centr_ras.check() - self.assertTrue(abs(centr_ras.dist_coast[0] - 117000) < 1000) - self.assertTrue(abs(centr_ras.dist_coast[-1] - 104000) < 1000) + dist_coast = centr_ras.get_dist_coast() + self.assertTrue(abs(dist_coast[0] - 117000) < 1000) + self.assertTrue(abs(dist_coast[-1] - 104000) < 1000) def test_on_land(self): """Test set_on_land""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) centr_ras.set_on_land() - centr_ras.check() self.assertTrue(np.array_equal(centr_ras.on_land, np.ones(60 * 50, bool))) def test_area_pass(self): """Test set_area""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - centr_ras.meta['crs'] = {'proj': 'cea'} - centr_ras.set_area_pixel() - centr_ras.check() + #centr_ras.meta['crs'] = {'proj': 'cea'} + area_pixel = centr_ras.get_area_pixel() self.assertTrue( - np.allclose(centr_ras.area_pixel, + np.allclose(area_pixel, np.ones(60 * 50) * 0.009000000000000341 * 0.009000000000000341)) def test_size_pass(self): @@ -319,7 +293,7 @@ def test_get_closest_point(self): 'transform': rasterio.Affine(0.5, 0, 0.1, 0, y_sign * 0.6, y_sign * (-0.3)), 'crs': DEF_CRS, } - centr_ras = Centroids(meta=meta) + centr_ras = Centroids.from_meta(meta=meta) test_data = np.array([ [0.4, 0.1, 0.35, 0.0, 0], @@ -337,7 +311,7 @@ def test_get_closest_point(self): self.assertEqual(centr_ras.lon[idx], x) self.assertEqual(centr_ras.lat[idx], y) - centr_ras = Centroids.from_lat_lon(np.array([0, 0.2, 0.7]), np.array([-0.4, 0.2, 1.1])) + centr_ras = Centroids(latitude=np.array([0, 0.2, 0.7]), longitude=np.array([-0.4, 0.2, 1.1])) x, y, idx = centr_ras.get_closest_point(0.1, 0.0) self.assertEqual(x, 0.2) self.assertEqual(y, 0.2) @@ -345,21 +319,7 @@ def test_get_closest_point(self): def test_set_meta_to_lat_lon_pass(self): """Test set_meta_to_lat_lon by using its inverse set_lat_lon_to_meta""" - lat, lon, geometry = data_vector() - - centr = Centroids(lat=lat, lon=lon, geometry=geometry) - - centr.set_lat_lon_to_meta() - meta = centr.meta - centr.set_meta_to_lat_lon() - self.assertEqual(centr.meta, meta) - self.assertAlmostEqual(lat.max(), centr.lat.max(), 6) - self.assertAlmostEqual(lat.min(), centr.lat.min(), 6) - self.assertAlmostEqual(lon.max(), centr.lon.max(), 6) - self.assertAlmostEqual(lon.min(), centr.lon.min(), 6) - self.assertAlmostEqual(np.diff(centr.lon).max(), meta['transform'][0]) - self.assertAlmostEqual(np.diff(centr.lat).max(), meta['transform'][4]) - self.assertTrue(u_coord.equal_crs(geometry.crs, centr.geometry.crs)) + pass def test_equal_pass(self): """Test equal""" From fbf28d43409db103c8e0c5b1f42faad68c6dc03d Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 5 Dec 2023 16:39:35 +0100 Subject: [PATCH 073/192] Update more tests and remove some with meta --- climada/hazard/centroids/test/test_vec_ras.py | 153 ++++-------------- 1 file changed, 33 insertions(+), 120 deletions(-) diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index 0c73c9544d..349fd6592c 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -33,6 +33,7 @@ from climada.hazard.centroids.centr import Centroids from climada.util.constants import HAZ_DEMO_FL, DEF_CRS import climada.util.coordinates as u_coord +import itertools DATA_DIR = CONFIG.hazard.test_data.dir() @@ -128,73 +129,30 @@ def test_area_pass(self): 'lat': yy.flatten(), }, crs={'proj': 'cea'}) - centr = Centroids(latitude=vec_data.lat.values, longitude=vec_data.lon.values) - centr.geometry = vec_data.geometry - centr.set_area_pixel() - self.assertTrue(np.allclose(centr.area_pixel, np.ones(centr.size))) + area_pixel = self.centr.get_area_pixel() + self.assertTrue(np.allclose(area_pixel, np.ones(self.centr.size))) def test_size_pass(self): """Test size property""" - lat, lon, geometry = data_vector() - geometry.crs = 'epsg:4326' - centr = Centroids(lat=lat, lon=lon, geometry=geometry) - self.assertEqual(centr.size, 296) + centr = Centroids(latitude=VEC_LAT, longitude=VEC_LON) + self.assertEqual(centr.size, len(VEC_LAT)) def test_get_closest_point(self): """Test get_closest_point""" - lat, lon, geometry = data_vector() - geometry.crs = 'epsg:4326' - centr = Centroids(lat=lat, lon=lon, geometry=geometry) - x, y, idx = centr.get_closest_point(-58.13, 14.38) + x, y, idx = self.centr.get_closest_point(-58.13, 14.38) self.assertAlmostEqual(x, -58.125) self.assertAlmostEqual(y, 14.375) self.assertEqual(idx, 295) - self.assertEqual(centr.lon[idx], x) - self.assertEqual(centr.lat[idx], y) - - def test_set_lat_lon_to_meta_pass(self): - """Test set_lat_lon_to_meta""" - lat, lon, geometry = data_vector() - geometry.crs = 'epsg:4326' - centr = Centroids(latitude=lat, longitude=lon, crs='epsg:4326') - - centr.set_lat_lon_to_meta() - self.assertTrue(u_coord.equal_crs(centr.meta['crs'], 'epsg:4326')) - self.assertEqual(centr.meta['width'], 36) - self.assertEqual(centr.meta['height'], 31) - self.assertEqual(centr.meta['transform'][1], 0.0) - self.assertEqual(centr.meta['transform'][3], 0.0) - self.assertAlmostEqual(centr.meta['transform'][0], 0.08333333) - self.assertAlmostEqual(centr.meta['transform'][2], -61.08333333) - self.assertAlmostEqual(centr.meta['transform'][4], 0.08333333) - self.assertAlmostEqual(centr.meta['transform'][5], 11.83333333) - - def test_get_pixel_polygons_pass(self): - """Test calc_pixels_polygons""" - lat, lon, geometry = data_vector() - geometry.crs = 'epsg:4326' - centr = Centroids(latitude=lat, longitude=lon, geometry=geometry) - poly = centr.calc_pixels_polygons() - self.assertIsInstance(poly[0], Polygon) - self.assertTrue(np.allclose(poly.centroid[:].y.values, centr.lat)) - self.assertTrue(np.allclose(poly.centroid[:].x.values, centr.lon)) - - def test_area_approx(self): - """Test set_area_approx""" - lat, lon, geometry = data_vector() - geometry.crs = 'epsg:4326' - centr = Centroids(lat=lat, lon=lon, geometry=geometry) - with self.assertRaises(ValueError): - centr.set_area_approx() + self.assertEqual(self.centr.lon[idx], x) + self.assertEqual(self.centr.lat[idx], y) def test_append_pass(self): """Append points""" - lat, lon, geometry = data_vector() - centr = Centroids(lat=lat, lon=lon, geometry=geometry) - centr_bis = Centroids.from_lat_lon(np.array([1, 2, 3]), np.array([4, 5, 6])) + centr = self.centr + centr_bis = Centroids(latitude=np.array([1, 2, 3]), longitude=np.array([4, 5, 6]), crs=DEF_CRS) with self.assertRaises(ValueError): - centr_bis.append(centr) - centr.geometry.crs = 'epsg:4326' + #Different crs + centr_bis.to_crs(ALT_CRS).append(centr) centr_bis.append(centr) self.assertAlmostEqual(centr_bis.lat[0], 1) self.assertAlmostEqual(centr_bis.lat[1], 2) @@ -207,13 +165,16 @@ def test_append_pass(self): def test_equal_pass(self): """Test equal""" - lat, lon, geometry = data_vector() - centr = Centroids(lat=lat, lon=lon, geometry=geometry) - centr_bis = Centroids.from_lat_lon(np.array([1, 2, 3]), np.array([4, 5, 6])) - self.assertFalse(centr.equal(centr_bis)) - self.assertFalse(centr_bis.equal(centr)) - self.assertTrue(centr_bis.equal(centr_bis)) - self.assertTrue(centr.equal(centr)) + centr_list = [ + Centroids(latitude=VEC_LAT, longitude=VEC_LON, crs=DEF_CRS), + Centroids(latitude=VEC_LAT, longitude=VEC_LON, crs=ALT_CRS), + Centroids(latitude=VEC_LAT+1, longitude=VEC_LON+1) + ] + for centr1, centr2 in itertools.combinations(centr_list, 2): + self.assertFalse(centr2 == centr1) + self.assertFalse(centr1 == centr2) + self.assertTrue(centr1 == centr1) + self.assertTrue(centr2 == centr2) class TestRaster(unittest.TestCase): @@ -228,7 +189,7 @@ def test_from_pnt_bounds_pass(self): def test_read_all_pass(self): """Test centr_ras data""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - self.assertAlmostEqual(centr_ras.crs, DEF_CRS) + self.assertTrue(u_coord.equal_crs(centr_ras.crs, DEF_CRS)) def test_ne_crs_geom_pass(self): """Test _ne_crs_geom""" @@ -352,79 +313,31 @@ def test_centroids_check_pass(self): class TestReader(unittest.TestCase): """Test Centroids setter vector and raster methods""" + def setUp(self): + self.centr = Centroids(latitude=VEC_LAT,longitude=VEC_LON, crs=TEST_CRS) + def test_from_vector_file(self): """Test from_vector_file and values_from_vector_files""" shp_file = shapereader.natural_earth(resolution='110m', category='cultural', name='populated_places_simple') - centr = Centroids.from_vector_file(shp_file) - inten = centr.values_from_vector_files([shp_file], val_names=['pop_min', 'pop_max']) - self.assertTrue(u_coord.equal_crs(centr.geometry.crs, u_coord.NE_EPSG)) - self.assertEqual(centr.geometry.size, centr.lat.size) - self.assertTrue(u_coord.equal_crs(centr.geometry.crs, u_coord.NE_EPSG)) + centr = Centroids.from_vector_file(shp_file, dst_crs=DEF_CRS) + self.assertTrue(u_coord.equal_crs(centr.crs, DEF_CRS)) self.assertAlmostEqual(centr.lon[0], 12.453386544971766) self.assertAlmostEqual(centr.lon[-1], 114.18306345846304) self.assertAlmostEqual(centr.lat[0], 41.903282179960115) self.assertAlmostEqual(centr.lat[-1], 22.30692675357551) - self.assertEqual(inten.shape, (2, 243)) - # population min - self.assertEqual(inten[0, 0], 832) - self.assertEqual(inten[0, -1], 4551579) - # population max - self.assertEqual(inten[1, 0], 832) - self.assertEqual(inten[1, -1], 7206000) - - # Test reading values from file with incompatible geometry - shp_file = shapereader.natural_earth(resolution='10m', category='cultural', - name='populated_places_simple') - with self.assertRaises(ValueError) as cm: - centr.values_from_vector_files([shp_file], val_names=['pop_min', 'pop_max']) - self.assertIn( - "Vector data inconsistent with contained vector", str(cm.exception) - ) - - def test_from_raster_file_wrong_fail(self): - """Test from_raster_file with wrong centroids""" - centr = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(10, 20, 50, 60)) - self.assertAlmostEqual(centr.meta['crs'], DEF_CRS) - self.assertAlmostEqual(centr.meta['transform'].c, -69.2471495969998) - self.assertAlmostEqual(centr.meta['transform'].a, 0.009000000000000341) - self.assertAlmostEqual(centr.meta['transform'].b, 0.0) - self.assertAlmostEqual(centr.meta['transform'].f, 10.248220966978932) - self.assertAlmostEqual(centr.meta['transform'].d, 0.0) - self.assertAlmostEqual(centr.meta['transform'].e, -0.009000000000000341) - self.assertEqual(centr.meta['height'], 60) - self.assertEqual(centr.meta['width'], 50) - - inten_ras = centr.values_from_raster_files([HAZ_DEMO_FL], window=Window(10, 20, 50, 60)) - self.assertEqual(inten_ras.shape, (1, 60 * 50)) - self.assertAlmostEqual(inten_ras.reshape((60, 50)).tocsr()[25, 12], 0.056825936) + centr = Centroids.from_vector_file(shp_file, dst_crs=ALT_CRS) + self.assertTrue(u_coord.equal_crs(centr.crs, ALT_CRS)) - with self.assertRaises(ValueError): - centr.values_from_raster_files([HAZ_DEMO_FL], window=Window(10, 20, 52, 60)) - def test_write_read_raster_h5(self): + def test_write_read_h5(self): """Write and read hdf5 format""" file_name = str(DATA_DIR.joinpath('test_centr.h5')) - - xf_lat, xo_lon, d_lat, d_lon, n_lat, n_lon = 10, 5, -0.5, 0.2, 20, 25 - centr = Centroids.from_pix_bounds(xf_lat, xo_lon, d_lat, d_lon, n_lat, n_lon) - centr.write_hdf5(file_name) - + self.centr.write_hdf5(file_name) centr_read = Centroids.from_hdf5(file_name) - self.assertTrue(centr_read.meta) - self.assertFalse(centr_read.lat.size) - self.assertFalse(centr_read.lon.size) - self.assertEqual(centr_read.meta['width'], centr.meta['width']) - self.assertEqual(centr_read.meta['height'], centr.meta['height']) - self.assertAlmostEqual(centr_read.meta['transform'].a, centr.meta['transform'].a) - self.assertAlmostEqual(centr_read.meta['transform'].b, centr.meta['transform'].b) - self.assertAlmostEqual(centr_read.meta['transform'].c, centr.meta['transform'].c) - self.assertAlmostEqual(centr_read.meta['transform'].d, centr.meta['transform'].d) - self.assertAlmostEqual(centr_read.meta['transform'].e, centr.meta['transform'].e) - self.assertAlmostEqual(centr_read.meta['transform'].f, centr.meta['transform'].f) - self.assertTrue(u_coord.equal_crs(centr_read.meta['crs'], centr.meta['crs'])) + self.assertEqual(self.centr, centr_read) class TestCentroidsFuncs(unittest.TestCase): From 929f0e1e53e2e03caef8345fdda24269e4f2abe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sarah=20H=C3=BClsen?= <49907095+sarah-hlsn@users.noreply.github.com> Date: Tue, 5 Dec 2023 16:43:32 +0100 Subject: [PATCH 074/192] centroids.centr.from_excel fix columnn indexing --- climada/hazard/centroids/centr.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 8d7b998454..f4bca7a3a9 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -677,17 +677,18 @@ def from_csv(cls, file_path, crs=DEF_CRS, var_names=None): df = pd.read_csv(file_path) geometry = gpd.points_from_xy(df[var_names['lon']], df[var_names['lat']]) gdf = gpd.GeoDataFrame(df, crs=crs, geometry=geometry) + gdf = gdf.drop(columns=[var_names['lon'], var_names['lat']]) return cls.from_geodataframe(gdf) #TODO: this method is badly written but kept for backwards compatibility. It should be improved. @classmethod - def from_excel(cls, file_name, crs= DEF_CRS, var_names=None): + def from_excel(cls, file_path, crs= DEF_CRS, var_names=None): """Generate a new centroids object from an excel file with column names in var_names. Parameters ---------- file_name : str - absolute or relative file name + absolute or relative file path crs : dict() or rasterio.crs.CRS, optional CRS. Default: DEF_CRS var_names : dict, default @@ -706,7 +707,7 @@ def from_excel(cls, file_name, crs= DEF_CRS, var_names=None): var_names = DEF_VAR_EXCEL try: - df = pd.read_excel(file_name, var_names['sheet_name']) + df = pd.read_excel(file_path, var_names['sheet_name']) try: region_id = df[var_names['col_name']['region_id']] except KeyError: @@ -716,8 +717,9 @@ def from_excel(cls, file_name, crs= DEF_CRS, var_names=None): except KeyError as err: raise KeyError("Not existing variable: %s" % str(err)) from err - geometry = gpd.points_from_xy(df[var_names['lon']], df[var_names['lat']]) + geometry = gpd.points_from_xy(df[var_names['col_name']['lon']], df[var_names['col_name']['lat']]) gdf = gpd.GeoDataFrame(df, crs=crs, geometry=geometry) + gdf = gdf.drop(columns=[var_names['col_name']['lon'], var_names['col_name']['lat']]) return cls.from_geodataframe(gdf) def write_hdf5(self, file_name, mode='w'): From 17ee8b1156cec44207b3c53e94d02aa974aaf1fa Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 5 Dec 2023 22:01:32 +0100 Subject: [PATCH 075/192] Add possibility to NOT recenter crs for countires. This lead to a bug in the assign region id method because longitude of the countries geometry was shifted, but not the entry lat/lon points. --- climada/util/coordinates.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/climada/util/coordinates.py b/climada/util/coordinates.py index ca901f9a4a..b5b126e8e2 100644 --- a/climada/util/coordinates.py +++ b/climada/util/coordinates.py @@ -750,7 +750,7 @@ def nat_earth_resolution(resolution): raise ValueError('Natural Earth does not accept resolution %s m.' % resolution) return str(resolution) + 'm' -def get_country_geometries(country_names=None, extent=None, resolution=10): +def get_country_geometries(country_names=None, extent=None, resolution=10, center_crs=True): """Natural Earth country boundaries within given extent If no arguments are given, simply returns the whole natural earth dataset. @@ -759,8 +759,9 @@ def get_country_geometries(country_names=None, extent=None, resolution=10): starts including the projection information. (They are saving a whopping 147 bytes by omitting it.) Same goes for UTF. - If extent is provided, longitude values in 'geom' will all lie within 'extent' longitude - range. Therefore setting extent to e.g. [160, 200, -20, 20] will provide longitude values + If extent is provided and center_crs is True, longitude values in 'geom' will all lie + within 'extent' longitude range. + Therefore setting extent to e.g. [160, 200, -20, 20] will provide longitude values between 160 and 200 degrees. Parameters @@ -772,6 +773,10 @@ def get_country_geometries(country_names=None, extent=None, resolution=10): Extent, assumed to be in the same CRS as the natural earth data. resolution : float, optional 10, 50 or 110. Resolution in m. Default: 10m + center_crs : bool + if True, the crs of the countries is centered such that + longitude values in 'geom' will all lie within 'extent' longitude range. + Default is True. Returns ------- @@ -833,7 +838,7 @@ def get_country_geometries(country_names=None, extent=None, resolution=10): bbox = gpd.GeoSeries(bbox, crs=DEF_CRS) bbox = gpd.GeoDataFrame({'geometry': bbox}, crs=DEF_CRS) out = gpd.overlay(out, bbox, how="intersection") - if ~lon_normalized: + if ~lon_normalized and center_crs: lon_mid = 0.5 * (extent[0] + extent[1]) # reset the CRS attribute after rewrapping (we don't really change the CRS) out = ( @@ -1538,7 +1543,8 @@ def get_country_code(lat, lon, gridded=False): region_id = region_id.astype(int) else: (lon_min, lat_min, lon_max, lat_max) = latlon_bounds(lat, lon, 0.001) - countries = get_country_geometries(extent=(lon_min, lon_max, lat_min, lat_max)) + countries = get_country_geometries( + extent=(lon_min, lon_max, lat_min, lat_max), center_crs=False) with warnings.catch_warnings(): # in order to suppress the following # UserWarning: Geometry is in a geographic CRS. Results from 'area' are likely From e58aef2f830fea261312d1893ae9cdfef29befcb Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 5 Dec 2023 22:01:45 +0100 Subject: [PATCH 076/192] Add to_csre convenience method --- climada/hazard/centroids/centr.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index a61f6ff836..31966907fb 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -216,6 +216,23 @@ def to_default_crs(self): """ self.gdf.to_crs(DEF_CRS, inplace=True) + def to_crs(self, crs): + """ + Project the current centroids to the default CRS (epsg4326) + Modifies the object in place. + + Parameters + ---------- + crs : str + coordinate reference system + + Returns + ------- + Centroids + Centroids in the new crs + """ + return Centroids.from_geodataframe(self.gdf.to_crs(crs)) + @classmethod def from_geodataframe(cls, gdf): """Initialize centroids from a geodataframe From b70a0f438a81b513a442e3b0b21cea89737b7e9d Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 5 Dec 2023 22:02:08 +0100 Subject: [PATCH 077/192] Prepare the stage for setting other than admin0 region id --- climada/hazard/centroids/centr.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 31966907fb..681b31cd15 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -368,7 +368,7 @@ def get_closest_point(self, x_lon, y_lat, scheduler=None): close_idx = self.geometry.distance(Point(x_lon, y_lat)).values.argmin() return self.lon[close_idx], self.lat[close_idx], close_idx - def set_region_id(self): + def set_region_id(self, level='country'): """Set region_id as country ISO numeric code attribute for every pixel or point. Parameters @@ -377,15 +377,21 @@ def set_region_id(self): used for dask map_partitions. “threads”, “synchronous” or “processes” """ LOGGER.debug('Setting region_id %s points.', str(self.size)) - if u_coord.equal_crs(self.crs, 'epsg:4326'): - self.gdf['region_id'] = u_coord.get_country_code( - self.lat, self.lon) + if level == 'country': + if u_coord.equal_crs(self.crs, 'epsg:4326'): + self.gdf['region_id'] = u_coord.get_country_code( + self.lat, self.lon) + else: + raise NotImplementedError( + 'The region id can only be assigned if the crs is epsg:4326' + 'Please use .to_default_crs to change to epsg:4326' + ) else: raise NotImplementedError( - 'The region id can only be assigned if the crs is epsg:4326' - 'Please use .to_default_crs to change to epsg:4326' + 'The region id can only be assigned for countries so far' ) + # NOT REALLY AN ELEVATION FUNCTION, JUST READ RASTER def get_elevation(self, topo_path): """Return elevation attribute for every pixel or point in meters. From 494d416b6fa9ba8a9205835a2176a7aae5691224 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 5 Dec 2023 22:02:37 +0100 Subject: [PATCH 078/192] Remove uneeded import --- climada/hazard/centroids/test/test_vec_ras.py | 1 - 1 file changed, 1 deletion(-) diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index 349fd6592c..3a00bdabf7 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -27,7 +27,6 @@ import rasterio from rasterio.windows import Window from shapely.geometry.point import Point -from shapely.geometry.polygon import Polygon from climada import CONFIG from climada.hazard.centroids.centr import Centroids From 448cf7714efebd95113c8c5727ecd9b02eb6fdc5 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 6 Dec 2023 13:36:19 +0100 Subject: [PATCH 079/192] cenctroids.centr: fix the obvious --- climada/hazard/centroids/centr.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 681b31cd15..f622c44473 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -253,7 +253,7 @@ def from_geodataframe(cls, gdf): longitude=gdf.geometry.x.values, latitude=gdf.geometry.y.values, crs=gdf.crs, - **gdf.drop(columns=['geometry']).to_dict(orient='list') + **gdf.drop(columns=['geometry', 'latitude', 'longitude'], errors='ignore').to_dict(orient='list') ) @classmethod @@ -707,7 +707,7 @@ def from_csv(cls, file_path, crs=None, var_names=None): #TODO: this method is badly written but kept for backwards compatibility. It should be improved. @classmethod - def from_excel(cls, file_name, var_names=None): + def from_excel(cls, file_name, crs=None, var_names=None): """Generate a new centroids object from an excel file with column names in var_names. Parameters @@ -729,7 +729,7 @@ def from_excel(cls, file_name, var_names=None): Centroids with data from the given excel file """ if crs is None: - crs = DEF_VAR_EXCEL + crs = DEF_CRS if var_names is None: var_names = DEF_VAR_EXCEL @@ -745,7 +745,7 @@ def from_excel(cls, file_name, var_names=None): except KeyError as err: raise KeyError("Not existing variable: %s" % str(err)) from err - geometry = gpd.points_from_xy(df[var_names['lon']], df[var_names['lat']]) + geometry = gpd.points_from_xy(df[var_names['col_name']['lon']], df[var_names['col_name']['lat']]) gdf = gpd.GeoDataFrame(df, crs=crs, geometry=geometry) return cls.from_geodataframe(gdf) From c736356f596ccd8b7f8896bac68fb81d3fa5d53c Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 6 Dec 2023 14:26:34 +0100 Subject: [PATCH 080/192] gencenctroids.centr: change crs of the geodataframe instead of the geometry --- climada/hazard/centroids/centr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index f622c44473..9afa28de81 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -671,7 +671,7 @@ def from_vector_file(cls, file_name, dst_crs=None): centroids = cls.from_geodataframe(gpd.read_file(file_name)) if dst_crs is not None: - centroids.gdf.geometry.to_crs(dst_crs, inplace=True) + centroids.gdf.to_crs(dst_crs, inplace=True) return centroids #TODO: Check whether other variables are necessary, e.g. dist to coast From 2880bccd4f545c68f5d8c01a0f9b608603f6f89d Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 6 Dec 2023 15:06:32 +0100 Subject: [PATCH 081/192] white space cosmetics --- climada/hazard/centroids/centr.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 9afa28de81..f83df4742b 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -673,13 +673,13 @@ def from_vector_file(cls, file_name, dst_crs=None): if dst_crs is not None: centroids.gdf.to_crs(dst_crs, inplace=True) return centroids - + #TODO: Check whether other variables are necessary, e.g. dist to coast @classmethod def from_csv(cls, file_path, crs=None, var_names=None): """ Generate centroids from a csv file with column names in var_names. - + Parameters ---------- file_path : str @@ -688,7 +688,7 @@ def from_csv(cls, file_path, crs=None, var_names=None): CRS. Default: DEF_CRS var_names : dict, default name of the variables. Default: DEF_VAR_CSV - + Returns ------- Centroids @@ -705,7 +705,7 @@ def from_csv(cls, file_path, crs=None, var_names=None): gdf = gpd.GeoDataFrame(df, crs=crs, geometry=geometry) return cls.from_geodataframe(gdf) -#TODO: this method is badly written but kept for backwards compatibility. It should be improved. + #TODO: this method is badly written but kept for backwards compatibility. It should be improved. @classmethod def from_excel(cls, file_name, crs=None, var_names=None): """Generate a new centroids object from an excel file with column names in var_names. From 8cc88e76d0d99e520f0ce9397468ff9b5f6a33c3 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 6 Dec 2023 16:24:19 +0100 Subject: [PATCH 082/192] PEP8 --- climada/engine/test/test_cost_benefit.py | 1 - climada/hazard/centroids/centr.py | 52 ++++++++++++------------ 2 files changed, 26 insertions(+), 27 deletions(-) diff --git a/climada/engine/test/test_cost_benefit.py b/climada/engine/test/test_cost_benefit.py index 87bd1deb43..095716fc9c 100644 --- a/climada/engine/test/test_cost_benefit.py +++ b/climada/engine/test/test_cost_benefit.py @@ -35,7 +35,6 @@ from climada.test import get_test_file -HAZ_TEST_MAT = get_test_file('atl_prob_no_name') ENT_TEST_MAT = get_test_file('demo_today', file_format='MAT-file') HAZ_TEST_TC :Path = get_test_file('test_tc_florida') diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index f83df4742b..1bcf58a94e 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -22,7 +22,7 @@ import copy import logging from pathlib import Path -from typing import Optional, Dict, Any +from typing import Optional import warnings import h5py @@ -32,16 +32,14 @@ import numpy as np import pandas as pd from pyproj.crs.crs import CRS -from rasterio.warp import Resampling +import rasterio from shapely.geometry.point import Point -from climada.util.constants import (DEF_CRS, - ONE_LAT_KM, - NATEARTH_CENTROIDS) +from climada.util.constants import DEF_CRS import climada.util.coordinates as u_coord -import climada.util.hdf5_handler as u_hdf5 import climada.util.plot as u_plot + __all__ = ['Centroids'] PROJ_CEA = CRS.from_user_input({'proj': 'cea'}) @@ -253,7 +251,8 @@ def from_geodataframe(cls, gdf): longitude=gdf.geometry.x.values, latitude=gdf.geometry.y.values, crs=gdf.crs, - **gdf.drop(columns=['geometry', 'latitude', 'longitude'], errors='ignore').to_dict(orient='list') + **gdf.drop(columns=['geometry', 'latitude', 'longitude'], + errors='ignore').to_dict(orient='list') ) @classmethod @@ -344,7 +343,7 @@ def union(self, *others): # remove duplicate points return Centroids.remove_duplicate_points(centroids) - def get_closest_point(self, x_lon, y_lat, scheduler=None): + def get_closest_point(self, x_lon, y_lat): """Returns closest centroid and its index to a given point. Parameters @@ -353,8 +352,6 @@ def get_closest_point(self, x_lon, y_lat, scheduler=None): x coord (lon) y_lat : float y coord (lat) - scheduler : str - used for dask map_partitions. “threads”, “synchronous” or “processes” Returns ------- @@ -526,7 +523,7 @@ def select_mask(self, sel_cen=None, reg_id=None, extent=None): return sel_cen #TODO replace with nice Geodataframe util plot method. - def plot(self, ax=None, figsize=(9, 13), **kwargs): + def plot(self, ax=None, figsize=(9, 13), latlon_bounds_buffer=0.0, **kwargs): """Plot centroids scatter points over earth. Parameters @@ -536,6 +533,8 @@ def plot(self, ax=None, figsize=(9, 13), **kwargs): figsize: (float, float), optional figure size for plt.subplots The default is (9, 13) + latlon_bounds_buffer : float, optional + Buffer to add to all sides of the bounding box. Default: 0.0. kwargs : optional arguments for scatter matplotlib function @@ -547,7 +546,8 @@ def plot(self, ax=None, figsize=(9, 13), **kwargs): proj_plot = proj_data if isinstance(proj_data, ccrs.PlateCarree): # use different projections for plot and data to shift the central lon in the plot - xmin, ymin, xmax, ymax = u_coord.latlon_bounds(self.lat, self.lon, buffer=pad) + xmin, _ymin, xmax, _ymax = u_coord.latlon_bounds(self.lat, self.lon, + buffer=latlon_bounds_buffer) proj_plot = ccrs.PlateCarree(central_longitude=0.5 * (xmin + xmax)) if ax is None: @@ -592,9 +592,9 @@ def get_area_pixel(self, min_resol=1.0e-8): ''' @classmethod - def from_raster_file(cls, file_name, src_crs=None, window=None, - geometry=None, dst_crs=None, transform=None, width=None, - height=None, resampling=Resampling.nearest, return_meta=False): + def from_raster_file(cls, file_name, src_crs=None, window=None, geometry=None, + dst_crs=None, transform=None, width=None, height=None, + resampling=rasterio.warp.Resampling.nearest, return_meta=False): """Create a new Centroids object from a raster file Select region using window or geometry. Reproject input by providing @@ -618,8 +618,9 @@ def from_raster_file(cls, file_name, src_crs=None, window=None, number of lons for transform height : float number of lats for transform - resampling : rasterio.warp,.Resampling optional - resampling function used for reprojection to dst_crs + resampling : rasterio.warp.Resampling optional + resampling function used for reprojection to dst_crs, + default: nearest Returns ------- @@ -736,16 +737,12 @@ def from_excel(cls, file_name, crs=None, var_names=None): try: df = pd.read_excel(file_name, var_names['sheet_name']) - try: - region_id = df[var_names['col_name']['region_id']] - except KeyError: - region_id = None - pass except KeyError as err: - raise KeyError("Not existing variable: %s" % str(err)) from err + raise KeyError(f"Not existing variable: {err}") from err - geometry = gpd.points_from_xy(df[var_names['col_name']['lon']], df[var_names['col_name']['lat']]) + geometry = gpd.points_from_xy(df[var_names['col_name']['lon']], + df[var_names['col_name']['lat']]) gdf = gpd.GeoDataFrame(df, crs=crs, geometry=geometry) return cls.from_geodataframe(gdf) @@ -770,7 +767,9 @@ def write_hdf5(self, file_name, mode='w'): # Write dataframe store.put('centroids', pandas_df) - store.get_storer('centroids').attrs.metadata = {'crs': CRS.from_user_input(self.crs).to_wkt()} + store.get_storer('centroids').attrs.metadata = { + 'crs': CRS.from_user_input(self.crs).to_wkt() + } store.close() @@ -794,7 +793,8 @@ def from_hdf5(cls, file_name): try: with pd.HDFStore(file_name, mode='r') as store: metadata = store.get_storer('centroids').attrs.metadata - # in previous versions of CLIMADA and/or geopandas, the CRS was stored in '_crs'/'crs' + # in previous versions of CLIMADA and/or geopandas, + # the CRS was stored in '_crs'/'crs' crs = metadata.get('crs') gdf = gpd.GeoDataFrame(store['centroids'], crs=crs) except TypeError: From 11a6439d8aab73509235b938c8ab81e4c281628c Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Wed, 6 Dec 2023 16:41:58 +0100 Subject: [PATCH 083/192] Add solid region id and on land tests --- climada/hazard/centroids/test/test_vec_ras.py | 30 ++++++++----------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index 3a00bdabf7..8e45f08c65 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -39,26 +39,22 @@ # Note: the coordinates are not directly on the cities, the region id and on land # otherwise do not work correctly. It is only the closest point. -VEC_LON = np.array([ - -175.1883, #Tonga, Nuku'alofa, TON, 776 - 178.433, #Fidji, Suva, FJI, 242 - 18.95, #Norway, Tromso, NOR, 578 - 0, # Ocean, 0 - 166.6778, #Antarctica, McMurdo station, ATA, 010 - -78.5833 #Ecuador, Quito, ECU, 218 +LATLON = np.array([ + [-21.1736, -175.1883], #Tonga, Nuku'alofa, TON, 776 + [-18.133, 178.433], #Fidji, Suva, FJI, 242 IN WATER IN NATURAL EARTH + [-38.4689, 177.8642], #New-Zealand, Te Karaka, NZL, 554 + [69.6833, 18.95], #Norway, Tromso, NOR, 578 IN WATER IN NATURAL EARTH + [78.84422, 20.82842], #Norway, Svalbard, NOR, 578 + [1, 1], # Ocean, 0 (0,0 is onland in Natural earth for testing reasons) + [-77.85, 166.6778], #Antarctica, McMurdo station, ATA, 010 + [-0.25, -78.5833] #Ecuador, Quito, ECU, 218 ]) -VEC_LAT = np.array([ - -21.1736, #Tonga, Nuku'alofa - -18.133, #Fidji, Suvaå - 69.6833, #Norway, Tromso - 0, #Ocean - -77.85, #Antarctica, McMurdo station - -0.25, #Ecuador, Quito -]) +VEC_LAT = LATLON[:,0] +VEC_LON = LATLON[:,1] -ON_LAND = np.array([True, True, True, False, True, True]) -REGION_ID = np.array([776, 242, 578, 0, 10, 218]) +ON_LAND = np.array([True, False, True, False, True, False, True, True]) +REGION_ID = np.array([776, 0, 554, 0, 578, 0, 10, 218]) TEST_CRS = 'EPSG:4326' ALT_CRS = 'epsg:32632' #Europe From bfcfc01f709cd67131baebe56532203e1031852d Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Wed, 6 Dec 2023 16:50:29 +0100 Subject: [PATCH 084/192] Auto stash before merge of "feature/centroids_as_gdf" and "origin/feature/centroids_as_gdf" --- climada/hazard/centroids/centr.py | 5 +++++ climada/hazard/centroids/test/test_vec_ras.py | 21 ++++++++++++++----- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 1bcf58a94e..44fc9e606d 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -247,6 +247,11 @@ def from_geodataframe(cls, gdf): Centroids Centroids built from the geodataframe. """ + if gdf.crs: + crs = gdf.crs + else: + crs = DEF_CRS + return cls( longitude=gdf.geometry.x.values, latitude=gdf.geometry.y.values, diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index 8e45f08c65..85a93ac1dc 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -69,8 +69,19 @@ def test_init_pass(self): """Test from_lat_lon""" self.assertTrue(np.allclose(self.centr.lat, VEC_LAT)) self.assertTrue(np.allclose(self.centr.lon, VEC_LON)) - self.assertTrue(u_coord.equal_crs(self.centr.crs, DEF_CRS)) - self.assertTrue(u_coord.equal_crs(self.centr.geometry.crs, DEF_CRS)) + self.assertTrue(u_coord.equal_crs(self.centr.crs, TEST_CRS)) + + # Test default crs and other inputs + EXTRA_COL = np.ones_like(VEC_LAT) + centr = Centroids( + latitude=VEC_LAT,longitude=VEC_LON, + region_id = REGION_ID, on_land=ON_LAND, + extra_col = EXTRA_COL) + self.assertTrue(u_coord.equal_crs(centr.crs, DEF_CRS)) + self.assertTrue(np.allclose(centr.region_id, REGION_ID)) + self.assertTrue(np.allclose(centr.on_land, ON_LAND)) + self.assertTrue(np.allclose(centr.gdf.extra_col.values, EXTRA_COL)) + def test_ne_crs_geom_pass(self): """Test _ne_crs_geom""" @@ -79,11 +90,11 @@ def test_ne_crs_geom_pass(self): def test_dist_coast_pass(self): """Test set_dist_coast""" - dist_coast = self.centr.get_dist_coast()\ + dist_coast = self.centr.get_dist_coast() # Just checking that the output doesnt change over time. REF_VALUES = np.array([ - 5.55578093e+05, 1.64066475e+03, 2.00703835e+03, - 4.82264614e+02, 4.50037266e+03, 1.08610274e+05 + 1605.243, 603.261, 26112.239, 2228.629, 7207.817, + 156271.372, 661.114, 158184.4 ]) np.testing.assert_array_almost_equal(dist_coast, REF_VALUES, decimal=3) From 4a4aed764f768fdde76158241c56752dc4f4d3e9 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Wed, 6 Dec 2023 16:59:47 +0100 Subject: [PATCH 085/192] Update distance and area tests --- climada/hazard/centroids/test/test_vec_ras.py | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index 85a93ac1dc..42cdf21bc3 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -134,23 +134,19 @@ def test_area_pass(self): 'lon': xx.flatten(), 'lat': yy.flatten(), }, crs={'proj': 'cea'}) - - area_pixel = self.centr.get_area_pixel() - self.assertTrue(np.allclose(area_pixel, np.ones(self.centr.size))) - - def test_size_pass(self): - """Test size property""" - centr = Centroids(latitude=VEC_LAT, longitude=VEC_LON) - self.assertEqual(centr.size, len(VEC_LAT)) + centr = Centroids.from_geodataframe(vec_data) + area_pixel = centr.get_area_pixel() + self.assertTrue(np.allclose(area_pixel, np.ones(centr.size))) def test_get_closest_point(self): """Test get_closest_point""" - x, y, idx = self.centr.get_closest_point(-58.13, 14.38) - self.assertAlmostEqual(x, -58.125) - self.assertAlmostEqual(y, 14.375) - self.assertEqual(idx, 295) - self.assertEqual(self.centr.lon[idx], x) - self.assertEqual(self.centr.lat[idx], y) + for n, (lat, lon) in enumerate(LATLON): + x, y, idx = self.centr.get_closest_point(lon*0.99, lat*1.01) + self.assertAlmostEqual(x, lon) + self.assertAlmostEqual(y, lat) + self.assertEqual(idx, n) + self.assertEqual(self.centr.lon[n], x) + self.assertEqual(self.centr.lat[n], y) def test_append_pass(self): """Append points""" From 44609552e52ad50a5eebf67ab3cff7bda6966c92 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Wed, 6 Dec 2023 17:04:18 +0100 Subject: [PATCH 086/192] Update set crs in load vector shape file --- climada/hazard/centroids/centr.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 44fc9e606d..386296c315 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -668,6 +668,7 @@ def from_vector_file(cls, file_name, dst_crs=None): vector file with format supported by fiona and 'geometry' field. dst_crs : crs, optional reproject to given crs + If not crs is given in the file, simply sets the crs. Returns ------- @@ -677,7 +678,10 @@ def from_vector_file(cls, file_name, dst_crs=None): centroids = cls.from_geodataframe(gpd.read_file(file_name)) if dst_crs is not None: - centroids.gdf.to_crs(dst_crs, inplace=True) + if centroids.crs: + centroids.gdf.to_crs(dst_crs, inplace=True) + else: + centroids.gdf.set_crs(dst_crs, inplace=True) return centroids #TODO: Check whether other variables are necessary, e.g. dist to coast From 37c54ea57a46e157b78d22ae5a8727916b460846 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 6 Dec 2023 17:07:07 +0100 Subject: [PATCH 087/192] centr.Centroids.from_excel: deal with region_id column --- climada/hazard/centroids/centr.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 1bcf58a94e..8b6fbc4f02 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -744,6 +744,9 @@ def from_excel(cls, file_name, crs=None, var_names=None): geometry = gpd.points_from_xy(df[var_names['col_name']['lon']], df[var_names['col_name']['lat']]) gdf = gpd.GeoDataFrame(df, crs=crs, geometry=geometry) + region_column = var_names['col_name'].get('region_id') + if region_column and region_column in df.columns.values: + gdf['region_id'] = df[region_column] return cls.from_geodataframe(gdf) def write_hdf5(self, file_name, mode='w'): From b02ae1d7d1f07e6b20beb64c4c4f070f71a204cf Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 7 Dec 2023 10:36:10 +0100 Subject: [PATCH 088/192] Fix write hazard raster with centroids.get_meta --- climada/hazard/base.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index d65fa6c500..267efafba6 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -1688,15 +1688,17 @@ def write_raster(self, file_name, variable='intensity', output_resolution=None): f"The variable {variable} is not valid. Please use 'intensity' or 'fraction'." ) - centroids = self.centroids - - meta = centroids.get_meta(self, resolution=output_resolution) + meta = self.centroids.get_meta(resolution=output_resolution) meta.update(driver='GTiff', dtype=rasterio.float32, count=self.size) + res = meta["transform"][0] # resolution from lon coordinates - if rows*cols == centroids.shape[0]: + if meta['height'] * meta['width'] == self.centroids.shape[0]: + #If centroids already in raster format u_coord.write_raster(file_name, var_to_write.toarray(), meta) else: - geometry = centroids.gdf.geometry.buffer(distance=res/2, resolution=1, cap_style=3) + geometry = self.centroids.gdf.geometry.buffer( + distance=res/2, resolution=1, cap_style=3 + ) #resolution=1, cap_style=3: squared buffers #https://shapely.readthedocs.io/en/latest/manual.html#object.buffer with rasterio.open(file_name, 'w', **meta) as dst: From b3448d0173d13d8668a3d9482b28316d1e0b0ecb Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 7 Dec 2023 12:26:23 +0100 Subject: [PATCH 089/192] Area pixel now correctly uses CEA --- climada/hazard/centroids/centr.py | 5 ++--- climada/hazard/centroids/test/test_vec_ras.py | 21 +++++++++++++++---- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index e5a4f93a3b..37d824d56f 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -581,10 +581,9 @@ def get_area_pixel(self, min_resol=1.0e-8): climada.util.coordinates.get_resolution """ - res = u_coord.get_resolution(self.lat, self.lon, min_resol=min_resol) - res = np.abs(res).min() + res = np.abs(u_coord.get_resolution(self.lat, self.lon, min_resol=min_resol)).min() LOGGER.debug('Setting area_pixel %s points.', str(self.lat.size)) - xy_pixels = self.geometry.buffer(res / 2).envelope + xy_pixels = self.geometry.buffer(res / 2, resolution=1, cap_style=3).envelope if PROJ_CEA == self.geometry.crs: area_pixel = xy_pixels.area.values else: diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index 42cdf21bc3..aa1a2c9dc7 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -235,12 +235,25 @@ def test_on_land(self): def test_area_pass(self): """Test set_area""" - centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - #centr_ras.meta['crs'] = {'proj': 'cea'} + window_size = (0, 0, 2, 3) + centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(*window_size)) area_pixel = centr_ras.get_area_pixel() + + # Result in the crs of the test file (ESPG:4326) + # This is a wrong result as it should be projected to CEA (for correct area) + res = 0.009000000000000341 + self.assertFalse( + np.allclose(area_pixel, np.ones(window_size[2] * window_size[3]) * res ** 2) + ) + + # Correct result in CEA results in unequal pixel area + test_area = np.array([ + 981010.32497514, 981010.3249724 , 981037.92674855, + 981037.92674582, 981065.50487659, 981065.50487385 + ]) self.assertTrue( - np.allclose(area_pixel, - np.ones(60 * 50) * 0.009000000000000341 * 0.009000000000000341)) + np.allclose(area_pixel, test_area) + ) def test_size_pass(self): """Test size property""" From 2beb6a355fd75adfd894f7f1eff46923a0fad60e Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 7 Dec 2023 12:31:19 +0100 Subject: [PATCH 090/192] Add actual NE CRS test. --- climada/hazard/centroids/centr.py | 2 +- climada/hazard/centroids/test/test_vec_ras.py | 11 +++-------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 37d824d56f..88acf6d512 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -859,7 +859,7 @@ def _ne_crs_geom(self): ------- geo : gpd.GeoSeries """ - if u_coord.equal_crs(self.gdf.geometry.crs, u_coord.NE_CRS): + if u_coord.equal_crs(self.gdf.crs, u_coord.NE_CRS): return self.gdf.geometry return self.gdf.geometry.to_crs(u_coord.NE_CRS) diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index aa1a2c9dc7..cfc3c59262 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -195,14 +195,9 @@ def test_read_all_pass(self): def test_ne_crs_geom_pass(self): """Test _ne_crs_geom""" - centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - - xy_vec = centr_ras._ne_crs_geom() - x_vec, y_vec = xy_vec.geometry[:].x.values, xy_vec.geometry[:].y.values - self.assertAlmostEqual(4.51063496489, x_vec[0]) - self.assertAlmostEqual(9.40153761711e-05, y_vec[0]) - self.assertAlmostEqual(4.51063891581, x_vec[-1]) - self.assertAlmostEqual(8.92260922066e-05, y_vec[-1]) + centr = Centroids(latitude=VEC_LAT, longitude=VEC_LON, crs=ALT_CRS) + ne_geom = centr._ne_crs_geom() + self.assertTrue(u_coord.equal_crs(ne_geom.crs, u_coord.NE_CRS)) def test_region_id_pass(self): """Test set_dist_coast""" From a7eb166951fae42721d36f437fe34f5c0e69b255 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 7 Dec 2023 12:52:27 +0100 Subject: [PATCH 091/192] Make on_land and region_id always part of centroids --- climada/hazard/centroids/centr.py | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 88acf6d512..442b949432 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -126,25 +126,21 @@ def __init__( longitude of size size. Defaults to empty array crs : str coordinate reference system - area_pixel : np.array, optional - area of size size. Defaults to empty array on_land : np.array, optional - on land (True) and on sea (False) of size size. Defaults to empty array + on land (True) and on sea (False) of size size. Defaults to None array region_id : np.array, optional - country region code of size size, Defaults to empty array + country region code of size size, Defaults to None array kwargs: columns of values to passed to the geodataframe constructor """ attr_dict = { 'geometry': gpd.points_from_xy(longitude, latitude, crs=crs), + 'region_id': region_id, + 'on_land': on_land } - if region_id is not None: - attr_dict['region_id'] = region_id - if on_land is not None: - attr_dict['on_land'] = on_land if kwargs: attr_dict = dict(**attr_dict, **kwargs) - self.gdf = gpd.GeoDataFrame(data=attr_dict, crs=crs) + self.gdf = gpd.GeoDataFrame(data=attr_dict) @property def lat(self): @@ -160,15 +156,11 @@ def geometry(self): @property def on_land(self): - if 'on_land' in self.gdf.columns.values: - return self.gdf['on_land'] - return None + return self.gdf['on_land'] @property def region_id(self): - if 'region_id' in self.gdf.columns.values: - return self.gdf['region_id'] - return None + return self.gdf['region_id'] @property def crs(self): @@ -255,7 +247,7 @@ def from_geodataframe(cls, gdf): return cls( longitude=gdf.geometry.x.values, latitude=gdf.geometry.y.values, - crs=gdf.crs, + crs=crs, **gdf.drop(columns=['geometry', 'latitude', 'longitude'], errors='ignore').to_dict(orient='list') ) From 147ee0d3385fcd1a266710f1e2998ef1b6371bb4 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 7 Dec 2023 12:52:34 +0100 Subject: [PATCH 092/192] Update docstring --- climada/hazard/centroids/test/test_vec_ras.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index cfc3c59262..78ec749b87 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -38,7 +38,7 @@ # Note: the coordinates are not directly on the cities, the region id and on land -# otherwise do not work correctly. It is only the closest point. +# otherwise do not work correctly. It is only a close point. LATLON = np.array([ [-21.1736, -175.1883], #Tonga, Nuku'alofa, TON, 776 [-18.133, 178.433], #Fidji, Suva, FJI, 242 IN WATER IN NATURAL EARTH From 445194bd789327c87419e929ec49b58b34e3d954 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 7 Dec 2023 12:58:34 +0100 Subject: [PATCH 093/192] Update import path --- climada/hazard/centroids/test/test_vec_ras.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index 78ec749b87..50e2d1d709 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -23,7 +23,7 @@ from cartopy.io import shapereader import geopandas as gpd import numpy as np -from pyproj.crs import CRS +from pyproj.crs.crs import CRS import rasterio from rasterio.windows import Window from shapely.geometry.point import Point From 425b9ce5d66d74d234e5b61dfb8c63fa59191b05 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 7 Dec 2023 13:13:52 +0100 Subject: [PATCH 094/192] Add overwrite argument to set region id and on land --- climada/hazard/centroids/centr.py | 46 ++++++++++++++++++------------- climada/hazard/storm_europe.py | 3 +- 2 files changed, 28 insertions(+), 21 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 442b949432..d53fbb9aa7 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -362,28 +362,32 @@ def get_closest_point(self, x_lon, y_lat): close_idx = self.geometry.distance(Point(x_lon, y_lat)).values.argmin() return self.lon[close_idx], self.lat[close_idx], close_idx - def set_region_id(self, level='country'): + def set_region_id(self, level='country', overwrite=False): """Set region_id as country ISO numeric code attribute for every pixel or point. Parameters ---------- scheduler : str used for dask map_partitions. “threads”, “synchronous” or “processes” - """ - LOGGER.debug('Setting region_id %s points.', str(self.size)) - if level == 'country': - if u_coord.equal_crs(self.crs, 'epsg:4326'): - self.gdf['region_id'] = u_coord.get_country_code( - self.lat, self.lon) + overwrite : bool + if True, overwrites the existing region_id information. + if False and region_id is None region_id is computed. + """ + if overwrite or self.region_id.isna().all(): + LOGGER.debug('Setting region_id %s points.', str(self.size)) + if level == 'country': + if u_coord.equal_crs(self.crs, 'epsg:4326'): + self.gdf['region_id'] = u_coord.get_country_code( + self.lat, self.lon) + else: + raise NotImplementedError( + 'The region id can only be assigned if the crs is epsg:4326' + 'Please use .to_default_crs to change to epsg:4326' + ) else: raise NotImplementedError( - 'The region id can only be assigned if the crs is epsg:4326' - 'Please use .to_default_crs to change to epsg:4326' + 'The region id can only be assigned for countries so far' ) - else: - raise NotImplementedError( - 'The region id can only be assigned for countries so far' - ) # NOT REALLY AN ELEVATION FUNCTION, JUST READ RASTER @@ -421,19 +425,23 @@ def get_dist_coast(self, signed=False, precomputed=False): LOGGER.debug('Computing distance to coast for %s centroids.', str(self.size)) return u_coord.dist_to_coast(ne_geom, signed=signed) - def set_on_land(self,): + def set_on_land(self, overwrite=False): """Set on_land attribute for every pixel or point. Parameters ---------- scheduler : str used for dask map_partitions. “threads”, “synchronous” or “processes” + overwrite : bool + if True, overwrites the existing on_land information. + if False and on_land is None on_land is computed. """ - if not u_coord.equal_crs(self.crs, 'epsg:4326'): - raise NotImplementedError( - 'The on land property can only be assigned if the crs is epsg:4326' - 'Please use .to_default_crs to change to epsg:4326' - ) + if overwrite or self.on_land.isna().all(): + if not u_coord.equal_crs(self.crs, 'epsg:4326'): + raise NotImplementedError( + 'The on land property can only be assigned if the crs is epsg:4326' + 'Please use .to_default_crs to change to epsg:4326' + ) LOGGER.debug('Setting on_land %s points.', str(self.lat.size)) self.gdf['on_land'] = u_coord.coord_on_land( diff --git a/climada/hazard/storm_europe.py b/climada/hazard/storm_europe.py index 68daa8abf1..63db456d9a 100644 --- a/climada/hazard/storm_europe.py +++ b/climada/hazard/storm_europe.py @@ -774,8 +774,7 @@ def generate_prob_storms(self, reg_id=528, spatial_shift=4, ssi_args=None, """ # bool vector selecting the targeted centroids if reg_id is not None: - if not self.centroids.region_id: - self.centroids.set_region_id() + self.centroids.set_region_id(overwrite=False) if not isinstance(reg_id, list): reg_id = [reg_id] sel_cen = np.isin(self.centroids.region_id, reg_id) From b879ca635bb4815701a97cb30b57b56b52553334 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 7 Dec 2023 13:14:04 +0100 Subject: [PATCH 095/192] Remove from base grid method --- climada/hazard/trop_cyclone.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/climada/hazard/trop_cyclone.py b/climada/hazard/trop_cyclone.py index 8df455a9ef..2db440e586 100644 --- a/climada/hazard/trop_cyclone.py +++ b/climada/hazard/trop_cyclone.py @@ -178,7 +178,7 @@ def set_from_tracks(self, *args, **kwargs): def from_tracks( cls, tracks: TCTracks, - centroids: Optional[Centroids] = None, + centroids: Optional[Centroids], pool: Optional[pathos.pools.ProcessPool] = None, model: str = 'H08', ignore_distance_to_coast: bool = False, @@ -262,11 +262,6 @@ def from_tracks( TropCyclone """ num_tracks = tracks.size - if centroids is None: - centroids = Centroids.from_base_grid(res_as=360, land=False) - - if not centroids.coord.size: - centroids.set_meta_to_lat_lon() if ignore_distance_to_coast: # Select centroids with lat <= max_latitude From d63fc8bd3fa6c723776493da0e0060a872e9f958 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 7 Dec 2023 13:14:11 +0100 Subject: [PATCH 096/192] Fix some linting --- climada/hazard/base.py | 125 +++++++++++++++++++------------------ climada/util/api_client.py | 2 +- 2 files changed, 65 insertions(+), 62 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index 267efafba6..b048a2615a 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -341,8 +341,10 @@ def from_raster(cls, files_intensity, files_fraction=None, attrs=None, hazard_kwargs["haz_type"] = haz_type centroids, meta = Centroids.from_raster_file( - files_intensity[0], src_crs=src_crs, window=window, geometry=geometry, dst_crs=dst_crs, - transform=transform, width=width, height=height, resampling=resampling, return_meta=True) + files_intensity[0], src_crs=src_crs, window=window, + geometry=geometry, dst_crs=dst_crs, transform=transform, + width=width, height=height, resampling=resampling, return_meta=True + ) if pool: chunksize = max(min(len(files_intensity) // pool.ncpus, 1000), 1) @@ -367,9 +369,10 @@ def from_raster(cls, files_intensity, files_fraction=None, attrs=None, fraction = sparse.vstack(fract_list, format='csr') else: intensity = _values_from_raster_files( - files_intensity, meta=meta, band=band, src_crs=src_crs, window=window, geometry=geometry, - dst_crs=dst_crs, transform=transform, width=width, height=height, - resampling=resampling) + files_intensity, meta=meta, band=band, src_crs=src_crs, window=window, + geometry=geometry, dst_crs=dst_crs, transform=transform, width=width, + height=height, resampling=resampling + ) if files_fraction is not None: fraction = _values_from_raster_files( files_fraction, meta=meta, band=band, src_crs=src_crs, window=window, geometry=geometry, @@ -2459,62 +2462,62 @@ def _get_fraction(self, cent_idx=None): #Function to read intensity/fraction values from raster files -#No a method to allow for parallel computing +#Not a method to allow for parallel computing def _values_from_raster_files(file_names, meta, band=None, src_crs=None, window=None, - geometry=None, dst_crs=None, transform=None, width=None, - height=None, resampling=Resampling.nearest): - """Read raster of bands and set 0 values to the masked ones. - - Each band is an event. Select region using window or geometry. Reproject input by proving - dst_crs and/or (transform, width, height). - - Parameters - ---------- - file_names : str - path of the file - meta : dict - description of the centroids raster - band : list(int), optional - band number to read. Default: [1] - src_crs : crs, optional - source CRS. Provide it if error without it. - window : rasterio.windows.Window, optional - window to read - geometry : list of shapely.geometry, optional - consider pixels only within these shapes - dst_crs : crs, optional - reproject to given crs - transform : rasterio.Affine - affine transformation to apply - wdith : float - number of lons for transform - height : float - number of lats for transform - resampling : rasterio.warp,.Resampling optional - resampling function used for reprojection to dst_crs - - Raises - ------ - ValueError + geometry=None, dst_crs=None, transform=None, width=None, + height=None, resampling=Resampling.nearest): + """Read raster of bands and set 0 values to the masked ones. - Returns - ------- - inten : scipy.sparse.csr_matrix - Each row is an event. - """ - if band is None: - band = [1] + Each band is an event. Select region using window or geometry. Reproject input by proving + dst_crs and/or (transform, width, height). - values = [] - for file_name in file_names: - tmp_meta, data = u_coord.read_raster( - file_name, band, src_crs, window, geometry, dst_crs, - transform, width, height, resampling) - if (tmp_meta['crs'] != meta['crs'] - or tmp_meta['transform'] != meta['transform'] - or tmp_meta['height'] != meta['height'] - or tmp_meta['width'] != meta['width']): - raise ValueError('Raster data is inconsistent with contained raster.') - values.append(sparse.csr_matrix(data)) - - return sparse.vstack(values, format='csr') + Parameters + ---------- + file_names : str + path of the file + meta : dict + description of the centroids raster + band : list(int), optional + band number to read. Default: [1] + src_crs : crs, optional + source CRS. Provide it if error without it. + window : rasterio.windows.Window, optional + window to read + geometry : list of shapely.geometry, optional + consider pixels only within these shapes + dst_crs : crs, optional + reproject to given crs + transform : rasterio.Affine + affine transformation to apply + wdith : float + number of lons for transform + height : float + number of lats for transform + resampling : rasterio.warp,.Resampling optional + resampling function used for reprojection to dst_crs + + Raises + ------ + ValueError + + Returns + ------- + inten : scipy.sparse.csr_matrix + Each row is an event. + """ + if band is None: + band = [1] + + values = [] + for file_name in file_names: + tmp_meta, data = u_coord.read_raster( + file_name, band, src_crs, window, geometry, dst_crs, + transform, width, height, resampling) + if (tmp_meta['crs'] != meta['crs'] + or tmp_meta['transform'] != meta['transform'] + or tmp_meta['height'] != meta['height'] + or tmp_meta['width'] != meta['width']): + raise ValueError('Raster data is inconsistent with contained raster.') + values.append(sparse.csr_matrix(data)) + + return sparse.vstack(values, format='csr') diff --git a/climada/util/api_client.py b/climada/util/api_client.py index eb1ac17d25..b991ad11ac 100644 --- a/climada/util/api_client.py +++ b/climada/util/api_client.py @@ -1077,7 +1077,7 @@ def get_dataset_file(self, **kwargs): """Convenience method. Combines ``get_dataset`` and ``download_dataset``. Returns the path to a single file if the dataset has only one, otherwise throws an error. - + Parameters ---------- **kwargs From 70928bd3b169b3dca95a2266308713488d4381d6 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 7 Dec 2023 13:47:50 +0100 Subject: [PATCH 097/192] Add some docstrings --- climada/hazard/centroids/centr.py | 36 ++++++++++++++++--------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index d53fbb9aa7..69710b8b52 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -92,16 +92,11 @@ class Centroids(): longitudes in the chosen crs (can be any unit) crs : str, optional coordinate reference system, default is WGS84 - area_pixel : np.array, optional - areas - dist_coast : np.array, optional - distances to coast - on_land : np.array, optional - on land (True) and on sea (False) region_id : np.array, optional region numeric codes - elevation : np.array, optional - elevations + (can be any values, admin0, admin1, custom values) + on_land : np.array, optional + on land (True) and on sea (False) kwargs: dicts of np.arrays, optional any further desired properties of centroids. Is passed to the GeoDataFrame constructor @@ -126,10 +121,10 @@ def __init__( longitude of size size. Defaults to empty array crs : str coordinate reference system - on_land : np.array, optional - on land (True) and on sea (False) of size size. Defaults to None array region_id : np.array, optional country region code of size size, Defaults to None array + on_land : np.array, optional + on land (True) and on sea (False) of size size. Defaults to None array kwargs: columns of values to passed to the geodataframe constructor """ @@ -143,31 +138,38 @@ def __init__( self.gdf = gpd.GeoDataFrame(data=attr_dict) @property - def lat(self): + def lat(self) -> numpy.ndarray: + """ Returns the latitudes """ return self.gdf.geometry.y.values @property - def lon(self): + def lon(self) -> numpy.ndarray: + """ Returns the longitudes """ return self.gdf.geometry.x.values @property - def geometry(self): + def geometry(self) -> Shapely.geometry.GeometryCollection: + """ Return the geometry """ return self.gdf['geometry'] @property - def on_land(self): + def on_land(self) -> numpy.ndarray: + """ Get the on_land property """ return self.gdf['on_land'] @property - def region_id(self): + def region_id(self) -> numpy.ndarray: + """ Get the assigned region_id.""" return self.gdf['region_id'] @property - def crs(self): + def crs(self) -> pyproj.CRS: + """ Get the crs""" return self.gdf.crs @property - def size(self): + def size(self) -> int: + """Get size (number of lat/lon paris)""" return self.gdf.shape[0] @property From b97491c1aa791d05e45507fb99fa181cebf51d2f Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 7 Dec 2023 14:21:42 +0100 Subject: [PATCH 098/192] Avoid costly computation in from geodataframe --- climada/hazard/centroids/centr.py | 79 ++++++++++++++----------------- 1 file changed, 35 insertions(+), 44 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 69710b8b52..4674a82825 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -138,37 +138,37 @@ def __init__( self.gdf = gpd.GeoDataFrame(data=attr_dict) @property - def lat(self) -> numpy.ndarray: + def lat(self): """ Returns the latitudes """ return self.gdf.geometry.y.values @property - def lon(self) -> numpy.ndarray: + def lon(self): """ Returns the longitudes """ return self.gdf.geometry.x.values @property - def geometry(self) -> Shapely.geometry.GeometryCollection: + def geometry(self): """ Return the geometry """ return self.gdf['geometry'] @property - def on_land(self) -> numpy.ndarray: + def on_land(self): """ Get the on_land property """ return self.gdf['on_land'] @property - def region_id(self) -> numpy.ndarray: + def region_id(self): """ Get the assigned region_id.""" return self.gdf['region_id'] @property - def crs(self) -> pyproj.CRS: + def crs(self): """ Get the crs""" return self.gdf.crs @property - def size(self) -> int: + def size(self): """Get size (number of lat/lon paris)""" return self.gdf.shape[0] @@ -241,18 +241,21 @@ def from_geodataframe(cls, gdf): Centroids Centroids built from the geodataframe. """ + if np.any(geom.geom_type != 'Point'): + raise ValueError( + 'The inpute geodataframe contains geometries' + ' that are not points.' + ) + if gdf.crs: crs = gdf.crs else: crs = DEF_CRS - return cls( - longitude=gdf.geometry.x.values, - latitude=gdf.geometry.y.values, - crs=crs, - **gdf.drop(columns=['geometry', 'latitude', 'longitude'], - errors='ignore').to_dict(orient='list') - ) + centroids = cls(latitude=[1], longitude=[1], crs=crs) + centroids.gdf = gdf.to_crs(crs) + + return centroids @classmethod def from_exposures(cls, exposures): @@ -270,7 +273,10 @@ def from_exposures(cls, exposures): Centroids Centroids built from the exposures """ - gdf = exposures.gdf[['geometry', 'region_id']] + if 'region_id' in exposures.gdf.columns: + gdf = exposures.gdf[['geometry', 'region_id']] + else: + gdf = exposures.gdf[['geometry']] return cls.from_geodataframe(gdf) @classmethod @@ -369,8 +375,9 @@ def set_region_id(self, level='country', overwrite=False): Parameters ---------- - scheduler : str - used for dask map_partitions. “threads”, “synchronous” or “processes” + level: str + defines the admin level on which to assign centroids. Currently + only 'country' (admin0) is implemented. Default is 'country'. overwrite : bool if True, overwrites the existing region_id information. if False and region_id is None region_id is computed. @@ -378,14 +385,10 @@ def set_region_id(self, level='country', overwrite=False): if overwrite or self.region_id.isna().all(): LOGGER.debug('Setting region_id %s points.', str(self.size)) if level == 'country': - if u_coord.equal_crs(self.crs, 'epsg:4326'): - self.gdf['region_id'] = u_coord.get_country_code( - self.lat, self.lon) - else: - raise NotImplementedError( - 'The region id can only be assigned if the crs is epsg:4326' - 'Please use .to_default_crs to change to epsg:4326' - ) + ne_geom = self._ne_crs_geom() + self.gdf['region_id'] = u_coord.get_country_code( + ne_geom.y.values, ne_geom.x.values + ) else: raise NotImplementedError( 'The region id can only be assigned for countries so far' @@ -414,16 +417,11 @@ def get_dist_coast(self, signed=False, precomputed=False): If True, use precomputed distances (from NASA). Works only for crs=epsg:4326 Default: False. """ - if not u_coord.equal_crs(self.crs, 'epsg:4326'): - raise NotImplementedError( - 'The distance to coast can only be assigned if the crs is epsg:4326' - 'Please use .to_default_crs to change to epsg:4326' - ) + ne_geom = self._ne_crs_geom() if precomputed: return u_coord.dist_to_coast_nasa( - self.lat, self.lon, highres=True, signed=signed) + ne_geom.y.values, ne_geom.x.values, highres=True, signed=signed) else: - ne_geom = self._ne_crs_geom() LOGGER.debug('Computing distance to coast for %s centroids.', str(self.size)) return u_coord.dist_to_coast(ne_geom, signed=signed) @@ -432,23 +430,16 @@ def set_on_land(self, overwrite=False): Parameters ---------- - scheduler : str - used for dask map_partitions. “threads”, “synchronous” or “processes” overwrite : bool if True, overwrites the existing on_land information. if False and on_land is None on_land is computed. """ if overwrite or self.on_land.isna().all(): - if not u_coord.equal_crs(self.crs, 'epsg:4326'): - raise NotImplementedError( - 'The on land property can only be assigned if the crs is epsg:4326' - 'Please use .to_default_crs to change to epsg:4326' - ) - - LOGGER.debug('Setting on_land %s points.', str(self.lat.size)) - self.gdf['on_land'] = u_coord.coord_on_land( - self.lat, self.lon - ) + LOGGER.debug('Setting on_land %s points.', str(self.lat.size)) + ne_geom = self._ne_crs_geom() + self.gdf['on_land'] = u_coord.coord_on_land( + ne_geom.y.values, ne_geom.x.values + ) @classmethod def remove_duplicate_points(cls, centroids): From d9e98cebf3fd27a241224eee44c312e49971be24 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 7 Dec 2023 14:22:50 +0100 Subject: [PATCH 099/192] Add comment --- climada/hazard/centroids/centr.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 4674a82825..3184390301 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -252,6 +252,10 @@ def from_geodataframe(cls, gdf): else: crs = DEF_CRS + ''' + This is a bit ugly, but avoids to recompute the geometries + in the init. For large datasets this saves computation time + ''' centroids = cls(latitude=[1], longitude=[1], crs=crs) centroids.gdf = gdf.to_crs(crs) From 274cf20f7388b2f410a76941f1814140f89ca5e5 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 7 Dec 2023 14:27:42 +0100 Subject: [PATCH 100/192] Fix typo --- climada/hazard/centroids/centr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 3184390301..9e6e5a8093 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -241,7 +241,7 @@ def from_geodataframe(cls, gdf): Centroids Centroids built from the geodataframe. """ - if np.any(geom.geom_type != 'Point'): + if np.any(gdf.geom_type != 'Point'): raise ValueError( 'The inpute geodataframe contains geometries' ' that are not points.' From 42634bb4fff7575d7ae7d314018b0f251f91f741 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 7 Dec 2023 14:58:29 +0100 Subject: [PATCH 101/192] Fix set crs in from geodataframe --- climada/hazard/centroids/centr.py | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 9e6e5a8093..f31d4f7ee8 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -247,18 +247,12 @@ def from_geodataframe(cls, gdf): ' that are not points.' ) - if gdf.crs: - crs = gdf.crs - else: - crs = DEF_CRS - - ''' - This is a bit ugly, but avoids to recompute the geometries - in the init. For large datasets this saves computation time - ''' - centroids = cls(latitude=[1], longitude=[1], crs=crs) - centroids.gdf = gdf.to_crs(crs) - + # This is a bit ugly, but avoids to recompute the geometries + # in the init. For large datasets this saves computation time + centroids = cls(latitude=[1], longitude=[1]) + centroids.gdf = gdf + if not gdf.crs: + centroids.gdf.set_crs(DEF_CRS, inplace=True) return centroids @classmethod From 872789515ef08af30e89cb60d8d6f8c534ddbeed Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 7 Dec 2023 15:49:48 +0100 Subject: [PATCH 102/192] Make properties return arrays and not series --- climada/hazard/centroids/centr.py | 6 +++--- climada/hazard/storm_europe.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index f31d4f7ee8..99116abebf 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -150,17 +150,17 @@ def lon(self): @property def geometry(self): """ Return the geometry """ - return self.gdf['geometry'] + return self.gdf['geometry'].values @property def on_land(self): """ Get the on_land property """ - return self.gdf['on_land'] + return self.gdf['on_land'].values @property def region_id(self): """ Get the assigned region_id.""" - return self.gdf['region_id'] + return self.gdf['region_id'].values @property def crs(self): diff --git a/climada/hazard/storm_europe.py b/climada/hazard/storm_europe.py index 63db456d9a..f2aa56988e 100644 --- a/climada/hazard/storm_europe.py +++ b/climada/hazard/storm_europe.py @@ -662,7 +662,7 @@ def calc_ssi(self, method='dawkins', intensity=None, on_land=True, if sel_cen is not None: pass elif on_land is True: - sel_cen = cent.on_land + sel_cen = cent.on_land.astype(bool) else: # select all centroids sel_cen = np.ones_like(area_pixel, dtype=bool) From 429e74c42903d359414738201a7dd4cc0f6f402f Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 7 Dec 2023 16:16:03 +0100 Subject: [PATCH 103/192] Remove not needed matlab vars --- climada/hazard/centroids/centr.py | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 99116abebf..933214a595 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -44,20 +44,6 @@ PROJ_CEA = CRS.from_user_input({'proj': 'cea'}) -DEF_VAR_MAT = { - 'field_names': ['centroids', 'hazard'], - 'var_name': { - 'lat': 'lat', - 'lon': 'lon', - 'dist_coast': 'distance2coast_km', - 'admin0_name': 'admin0_name', - 'admin0_iso3': 'admin0_ISO3', - 'comment': 'comment', - 'region_id': 'NatId' - } -} -"""MATLAB variable names""" - DEF_VAR_EXCEL = { 'sheet_name': 'centroids', 'col_name': { From fb7c7cc3bd86e45cbb428a3804f73b8a33c02ae8 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 7 Dec 2023 16:58:55 +0100 Subject: [PATCH 104/192] Revert return numpy arrays. --- climada/hazard/centroids/centr.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 933214a595..40607dc266 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -136,17 +136,17 @@ def lon(self): @property def geometry(self): """ Return the geometry """ - return self.gdf['geometry'].values + return self.gdf['geometry'] @property def on_land(self): """ Get the on_land property """ - return self.gdf['on_land'].values + return self.gdf['on_land'] @property def region_id(self): """ Get the assigned region_id.""" - return self.gdf['region_id'].values + return self.gdf['region_id'] @property def crs(self): From dd212dbbcaf49d3874704e15b645cc4a4a5ed88e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sarah=20H=C3=BClsen?= <49907095+sarah-hlsn@users.noreply.github.com> Date: Fri, 8 Dec 2023 09:08:42 +0100 Subject: [PATCH 105/192] update from excel --- climada/hazard/centroids/centr.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 1d6d4cfa3f..79d16a9b2d 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -704,12 +704,14 @@ def from_csv(cls, file_path, crs=DEF_CRS, var_names=None): var_names = DEF_VAR_CSV df = pd.read_csv(file_path) + return cls(longitude=df[var_names['lon']], latitude=df[var_names['lat']], crs=crs) + #TODO: this method is badly written but kept for backwards compatibility. It should be improved. @classmethod - def from_excel(cls, file_name, crs=None, var_names=None): + def from_excel(cls, file_path, crs=DEF_CRS, var_names=None): """Generate a new centroids object from an excel file with column names in var_names. Parameters @@ -730,25 +732,22 @@ def from_excel(cls, file_name, crs=None, var_names=None): centr : Centroids Centroids with data from the given excel file """ - if crs is None: - crs = DEF_CRS if var_names is None: var_names = DEF_VAR_EXCEL try: - df = pd.read_excel(file_name, var_names['sheet_name']) + df = pd.read_excel(file_path, var_names['sheet_name']) except KeyError as err: raise KeyError(f"Not existing variable: {err}") from err - geometry = gpd.points_from_xy(df[var_names['col_name']['lon']], - df[var_names['col_name']['lat']]) - gdf = gpd.GeoDataFrame(df, crs=crs, geometry=geometry) + region_column = var_names['col_name'].get('region_id') if region_column and region_column in df.columns.values: gdf['region_id'] = df[region_column] - return cls.from_geodataframe(gdf) + + return cls(longitude=df[var_names['col_name']['lon']], latitude=[var_names['col_name']['lat']], crs=crs) def write_hdf5(self, file_name, mode='w'): """Write data frame and metadata in hdf5 format From 164e6895362d9e8fb47eba1be3ccc683b02f8fb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sarah=20H=C3=BClsen?= <49907095+sarah-hlsn@users.noreply.github.com> Date: Fri, 8 Dec 2023 11:17:32 +0100 Subject: [PATCH 106/192] update from_excel and from_csv --- climada/hazard/centroids/centr.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index ad1ac33771..fc8eb28be7 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -684,12 +684,10 @@ def from_csv(cls, file_path, crs=DEF_CRS, var_names=None): var_names = DEF_VAR_CSV df = pd.read_csv(file_path) - return cls(longitude=df[var_names['lon']], latitude=df[var_names['lat']], crs=crs) - + df = df.rename(columns=var_names) + return cls(**dict(df.items()), crs=crs) - - #TODO: this method is badly written but kept for backwards compatibility. It should be improved. @classmethod def from_excel(cls, file_path, crs=DEF_CRS, var_names=None): """Generate a new centroids object from an excel file with column names in var_names. @@ -722,12 +720,11 @@ def from_excel(cls, file_path, crs=DEF_CRS, var_names=None): except KeyError as err: raise KeyError(f"Not existing variable: {err}") from err - - region_column = var_names['col_name'].get('region_id') - if region_column and region_column in df.columns.values: - gdf['region_id'] = df[region_column] + for key, value in var_names.items(): + if isinstance(value, dict): + df.rename(columns=value, inplace=True) - return cls(longitude=df[var_names['col_name']['lon']], latitude=[var_names['col_name']['lat']], crs=crs) + return cls(**dict(df.items()), crs=crs) def write_hdf5(self, file_name, mode='w'): """Write data frame and metadata in hdf5 format From 4079f3fa20f2c7024af3446f4d9b559e9a7f9d96 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Fri, 8 Dec 2023 15:28:53 +0100 Subject: [PATCH 107/192] centroids.centr: from_excel fix column renaming and adapt to "new argument names" --- climada/hazard/centroids/centr.py | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index fc8eb28be7..c67559b304 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -48,8 +48,8 @@ 'sheet_name': 'centroids', 'col_name': { 'region_id': 'region_id', - 'lat': 'latitude', - 'lon': 'longitude', + 'latitude': 'latitude', + 'longitude': 'longitude', 'on_land': 'on_land', 'dist_coast': 'dist_coast', 'elevation': 'elevation', @@ -713,18 +713,15 @@ def from_excel(cls, file_path, crs=DEF_CRS, var_names=None): if var_names is None: var_names = DEF_VAR_EXCEL + else: + assert isinstance(var_names, dict), 'var_names must be a dict' + assert 'sheet_name' in var_names, 'sheet_name must be a key in the var_names dict' + assert 'col_name' in var_names, 'col_name must be a key in the var_names dict' - try: - df = pd.read_excel(file_path, var_names['sheet_name']) - - except KeyError as err: - raise KeyError(f"Not existing variable: {err}") from err - - for key, value in var_names.items(): - if isinstance(value, dict): - df.rename(columns=value, inplace=True) - - return cls(**dict(df.items()), crs=crs) + data = pd.read_excel(file_path, var_names['sheet_name']).rename( + columns={val: key for key, val in var_names['col_name'].items()} + ) + return cls(**dict(data.items()), crs=crs) def write_hdf5(self, file_name, mode='w'): """Write data frame and metadata in hdf5 format From dd7e4cdf54ff85ab4346f2e4851d70c4628a0d56 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Fri, 8 Dec 2023 16:45:13 +0100 Subject: [PATCH 108/192] Centroids.from_excel fix: switch key,val in test_storm_europe rather than in centr! --- climada/hazard/centroids/centr.py | 6 +++--- climada/hazard/test/test_storm_europe.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index c67559b304..589c9099b8 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -48,8 +48,8 @@ 'sheet_name': 'centroids', 'col_name': { 'region_id': 'region_id', - 'latitude': 'latitude', - 'longitude': 'longitude', + 'lat': 'latitude', + 'lon': 'longitude', 'on_land': 'on_land', 'dist_coast': 'dist_coast', 'elevation': 'elevation', @@ -719,7 +719,7 @@ def from_excel(cls, file_path, crs=DEF_CRS, var_names=None): assert 'col_name' in var_names, 'col_name must be a key in the var_names dict' data = pd.read_excel(file_path, var_names['sheet_name']).rename( - columns={val: key for key, val in var_names['col_name'].items()} + columns=var_names['col_name'] ) return cls(**dict(data.items()), crs=crs) diff --git a/climada/hazard/test/test_storm_europe.py b/climada/hazard/test/test_storm_europe.py index e6927e1852..5a26de092f 100644 --- a/climada/hazard/test/test_storm_europe.py +++ b/climada/hazard/test/test_storm_europe.py @@ -66,7 +66,7 @@ def test_read_with_cent(self): """Test from_footprints while passing in a Centroids object""" var_names = copy.deepcopy(DEF_VAR_EXCEL) var_names['sheet_name'] = 'fp_centroids-test' - var_names['col_name']['region_id'] = 'iso_n3' + var_names['col_name']['iso_n3'] = 'region_id' test_centroids = Centroids.from_excel( DATA_DIR.joinpath('fp_centroids-test.xls'), var_names=var_names From f6b72eddd11410ad2f2a4f4a12c51ec05d007663 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Mon, 11 Dec 2023 11:32:24 +0100 Subject: [PATCH 109/192] Return numpy arrays instead of series --- climada/hazard/centroids/centr.py | 43 +++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 589c9099b8..06f8eb83a7 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -141,12 +141,16 @@ def geometry(self): @property def on_land(self): """ Get the on_land property """ - return self.gdf['on_land'] + if self.gdf.on_land.isna().all(): + return None + return self.gdf['on_land'].values @property def region_id(self): """ Get the assigned region_id.""" - return self.gdf['region_id'] + if self.gdf.region_id.isna().all(): + return None + return self.gdf['region_id'].values @property def crs(self): @@ -257,11 +261,28 @@ def from_exposures(cls, exposures): Centroids Centroids built from the exposures """ - if 'region_id' in exposures.gdf.columns: - gdf = exposures.gdf[['geometry', 'region_id']] - else: - gdf = exposures.gdf[['geometry']] - return cls.from_geodataframe(gdf) + col_names = [ + column + for column in exposures.gdf.columns + if column in ['region_id', 'on_land'] + ] + + # Legacy behaviour + # Exposures can be without geometry column + #TODO: remove once exposures is real geodataframe with geometry. + if 'geometry' in exposures.gdf.columns: + col_names += ['geometry'] + gdf = exposures.gdf[col_names] + return cls.from_geodataframe(gdf) + + if 'latitude' in exposures.gdf.columns and 'longitude' in exposures.gdf.columns: + gdf = exposures.gdf[col_names] + return cls( + latitude = exposures.gdf['latitude'], + longitude = exposures.gdf['longitude'], + crs = exposures.crs, + **dict(gdf.items()) + ) @classmethod def from_pnt_bounds(cls, points_bounds, res, crs=DEF_CRS): @@ -366,7 +387,7 @@ def set_region_id(self, level='country', overwrite=False): if True, overwrites the existing region_id information. if False and region_id is None region_id is computed. """ - if overwrite or self.region_id.isna().all(): + if overwrite or self.region_id is None: LOGGER.debug('Setting region_id %s points.', str(self.size)) if level == 'country': ne_geom = self._ne_crs_geom() @@ -418,7 +439,7 @@ def set_on_land(self, overwrite=False): if True, overwrites the existing on_land information. if False and on_land is None on_land is computed. """ - if overwrite or self.on_land.isna().all(): + if overwrite or self.on_land is None: LOGGER.debug('Setting on_land %s points.', str(self.lat.size)) ne_geom = self._ne_crs_geom() self.gdf['on_land'] = u_coord.coord_on_land( @@ -686,8 +707,8 @@ def from_csv(cls, file_path, crs=DEF_CRS, var_names=None): df = pd.read_csv(file_path) df = df.rename(columns=var_names) return cls(**dict(df.items()), crs=crs) - - + + @classmethod def from_excel(cls, file_path, crs=DEF_CRS, var_names=None): """Generate a new centroids object from an excel file with column names in var_names. From 61f3c6b5066329217c2d81997fa73a94221ac592 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 12 Dec 2023 12:11:47 +0100 Subject: [PATCH 110/192] Add some basic tests --- climada/hazard/centroids/test/test_centr.py | 81 ++++++++++++++++++++- 1 file changed, 79 insertions(+), 2 deletions(-) diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index a8de7c55d4..434779cc16 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -28,10 +28,86 @@ from climada import CONFIG from climada.hazard.centroids.centr import Centroids from climada.util.constants import HAZ_TEMPLATE_XLS -import climada.hazard.test as hazard_test from climada.util.constants import DEF_CRS import climada.util.coordinates as u_coord +import unittest +import numpy as np +import geopandas as gpd + + +class TestCentroidsData(unittest.TestCase): + + def test_init(self): + # Creating Centroids with latitude and longitude arrays + lat = np.array([10.0, 20.0, 30.0]) + lon = np.array([-10.0, -20.0, -30.0]) + centroids = Centroids(latitude=lat, longitude=lon) + + # Checking attributes + np.testing.assert_array_equal(centroids.lat, lat) + np.testing.assert_array_equal(centroids.lon, lon) + self.assertTrue(u_coord.equal_crs(centroids.crs, DEF_CRS)) + + # Creating Centroids with additional properties + region_id = np.array([1, 2, 3]) + on_land = np.array([True, False, False]) + centroids = Centroids(lat, lon, region_id=region_id, on_land=on_land) + + # Checking additional attributes + np.testing.assert_array_equal(centroids.region_id, region_id) + np.testing.assert_array_equal(centroids.on_land, on_land) + + def test_from_geodataframe(self): + # Creating a GeoDataFrame with centroids + lat = np.array([10.0, 20.0, 30.0]) + lon = np.array([-10.0, -20.0, -30.0]) + gdf = gpd.GeoDataFrame({'geometry': gpd.points_from_xy(x=lon, y=lat)}) + + # Creating Centroids from GeoDataFrame + centroids = Centroids.from_geodataframe(gdf) + + # Checking attributes + np.testing.assert_array_equal(centroids.lat, lat) + np.testing.assert_array_equal(centroids.lon, lon) + self.assertTrue(u_coord.equal_crs(centroids.crs, DEF_CRS)) + + def test_to_default_crs(self): + # Creating Centroids with non-default CRS + crs = 'epsg:32632' + lat = np.array([-10, 0, 10]) + lon = np.array([-170, -150, -130]) + centroids = Centroids(latitude=lat, longitude=lon, crs=crs) + + self.assertTrue(u_coord.equal_crs(centroids.crs, 'epsg:32632')) + + # Transforming to default CRS + centroids.to_default_crs() + + # Checking CRS after transformation + self.assertTrue(u_coord.equal_crs(centroids.crs, DEF_CRS)) + + def test_to_crs(self): + # Creating Centroids with non-default CRS + crs = 'epsg:4326' + lat = np.array([-10, 0, 10]) + lon = np.array([-170, -150, -130]) + centroids = Centroids(latitude=lat, longitude=lon, crs=crs) + + # Transforming to another CRS + new_crs = 'epsg:3857' + transformed_centroids = centroids.to_crs(new_crs) + + # Checking CRS after transformation + self.assertTrue(u_coord.equal_crs(transformed_centroids.crs, new_crs)) + self.assertTrue(u_coord.equal_crs(centroids.crs, crs)) + + # Checking coordinates after transformation + expected_lat = np.array([-1118889.974858, 0., 1118889.9748585]) + expected_lon = np.array([-18924313.434857, -16697923.618991, -14471533.803126]) + np.testing.assert_array_almost_equal(transformed_centroids.lat, expected_lat) + np.testing.assert_array_almost_equal(transformed_centroids.lon, expected_lon) + class TestCentroidsReader(unittest.TestCase): """Test read functions Centroids""" @@ -126,6 +202,7 @@ def test_union(self): # Execute Tests if __name__ == "__main__": - TESTS = unittest.TestLoader().loadTestsFromTestCase(TestCentroidsReader) + TESTS = unittest.TestLoader().loadTestsFromTestCase(TestCentroidsData) + TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestCentroidsReader)) TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestCentroidsMethods)) unittest.TextTestRunner(verbosity=2).run(TESTS) From adce3c183d08da5ebe928e830880426a506b9fa1 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 12 Dec 2023 13:00:44 +0100 Subject: [PATCH 111/192] Add tests for meta --- climada/hazard/centroids/centr.py | 4 +- climada/hazard/centroids/test/test_centr.py | 128 +++++++++++++++++--- 2 files changed, 110 insertions(+), 22 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 06f8eb83a7..524959ab04 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -239,7 +239,7 @@ def from_geodataframe(cls, gdf): # This is a bit ugly, but avoids to recompute the geometries # in the init. For large datasets this saves computation time - centroids = cls(latitude=[1], longitude=[1]) + centroids = cls(latitude=[1], longitude=[1]) #make "empty" centroids centroids.gdf = gdf if not gdf.crs: centroids.gdf.set_crs(DEF_CRS, inplace=True) @@ -254,7 +254,7 @@ def from_exposures(cls, exposures): ---------- exposures : Exposure exposures from which to take the centroids location - and region_id (if defined) + and region_id (if defined) and on_land (if defined) Returns ------- diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index 434779cc16..6c63b5088f 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -22,18 +22,16 @@ from pathlib import Path import numpy as np -import pandas as pd import geopandas as gpd +import shapely from climada import CONFIG from climada.hazard.centroids.centr import Centroids from climada.util.constants import HAZ_TEMPLATE_XLS from climada.util.constants import DEF_CRS import climada.util.coordinates as u_coord - -import unittest -import numpy as np -import geopandas as gpd +from climada.entity import Exposures +from rasterio import Affine class TestCentroidsData(unittest.TestCase): @@ -58,20 +56,6 @@ def test_init(self): np.testing.assert_array_equal(centroids.region_id, region_id) np.testing.assert_array_equal(centroids.on_land, on_land) - def test_from_geodataframe(self): - # Creating a GeoDataFrame with centroids - lat = np.array([10.0, 20.0, 30.0]) - lon = np.array([-10.0, -20.0, -30.0]) - gdf = gpd.GeoDataFrame({'geometry': gpd.points_from_xy(x=lon, y=lat)}) - - # Creating Centroids from GeoDataFrame - centroids = Centroids.from_geodataframe(gdf) - - # Checking attributes - np.testing.assert_array_equal(centroids.lat, lat) - np.testing.assert_array_equal(centroids.lon, lon) - self.assertTrue(u_coord.equal_crs(centroids.crs, DEF_CRS)) - def test_to_default_crs(self): # Creating Centroids with non-default CRS crs = 'epsg:32632' @@ -124,7 +108,7 @@ def test_centroid_pass(self): self.assertEqual(centroids.coord[n_centroids - 1][0], -24.7) self.assertEqual(centroids.coord[n_centroids - 1][1], 33.88) - def test_geodataframe(self): + def test_from_geodataframe(self): """Test that constructing a valid Centroids instance from gdf works.""" crs = DEF_CRS lat = np.arange(170, 180) @@ -146,6 +130,84 @@ def test_geodataframe(self): np.testing.assert_array_equal(extra, centroids.gdf.extra.values) self.assertTrue(u_coord.equal_crs(centroids.crs, crs)) + def test_from_geodataframe_invalid(self): + + # Creating an invalid GeoDataFrame with geometries that are not points + invalid_geometry_gdf = gpd.GeoDataFrame({ + 'geometry': [ + shapely.Point((2,2)), + shapely.Polygon([(0, 0), (1, 1), (1, 0), (0, 0)]), + shapely.LineString([(0, 1), (1, 0)]) + ] + }) + + with self.assertRaises(ValueError): + # Trying to create Centroids from invalid GeoDataFrame + Centroids.from_geodataframe(invalid_geometry_gdf) + + def test_from_exposures_with_region_id(self): + """ + Test that the `from_exposures` method correctly extracts + centroids and region_id from an `Exposure` object with region_id. + """ + # Create an Exposure object with region_id, on_land and custom crs + lat = np.array([10.0, 20.0, 30.0]) + lon = np.array([-10.0, -20.0, -30.0]) + value = np.array([1, 1, 1]) + region_id = np.array([1, 2, 3]) + on_land = [False, True, True] + crs = 'epsg:32632' + gdf = gpd.GeoDataFrame({ + 'latitude' : lat, + 'longitude': lon, + 'value': value, + 'region_id': region_id, + 'on_land': on_land + }) + exposures = Exposures(gdf, crs=crs) + + # Extract centroids from exposures + centroids = Centroids.from_exposures(exposures) + + # Check attributes + np.testing.assert_array_equal(centroids.lat, lat) + np.testing.assert_array_equal(centroids.lon, lon) + np.testing.assert_array_equal(centroids.region_id, region_id) + np.testing.assert_array_equal(centroids.on_land, on_land) + self.assertEqual(centroids.crs, crs) + + def test_from_exposures_without_region_id(self): + """ + Test that the `from_exposures` method correctly extracts + centroids from an `Exposure` object without region_id. + """ + # Create an Exposure object without region_id and variables to ignore + # and default crs + lat = np.array([10.0, 20.0, 30.0]) + lon = np.array([-10.0, -20.0, -30.0]) + value = np.array([1, 1, 1]) + impf_TC = np.array([1, 2, 3]) + centr_TC = np.array([1, 2, 3]) + gdf = gpd.GeoDataFrame({ + 'latitude' : lat, + 'longitude': lon, + 'value': value, + 'impf_tc': impf_TC, + 'centr_TC': centr_TC + }) + exposures = Exposures(gdf) + + # Extract centroids from exposures + centroids = Centroids.from_exposures(exposures) + + # Check attributes + self.assertEqual(centroids.lat.tolist(), lat.tolist()) + self.assertEqual(centroids.lon.tolist(), lon.tolist()) + self.assertTrue(u_coord.equal_crs(centroids.crs, DEF_CRS)) + self.assertEqual(centroids.region_id, None) + self.assertEqual(centroids.on_land, None) + + class TestCentroidsWriter(unittest.TestCase): @@ -199,6 +261,32 @@ def test_union(self): np.testing.assert_array_equal(cent.lat, [0, 1, 2, 3, -1, -2]) np.testing.assert_array_equal(cent.lon, [0, -1, -2, 3, 1, 2]) + def test_get_meta(self): + """ + Test that the `get_meta` method correctly generates metadata + for a raster with a specified resolution. + """ + # Create centroids with specified resolution + lon = np.array([-10.0, -20.0, -30.0]) + lat = np.array([10.0, 20.0, 30.0]) + centroids = Centroids(latitude=lat, longitude=lon, crs=DEF_CRS) + + # Get metadata + meta = centroids.get_meta() + + # Check metadata + expected_meta = dict( + crs=DEF_CRS, + height= 3, + width= 3, + transform=Affine(10, 0, -35, + 0, -10, 35) + ) + self.assertEqual(meta['height'], expected_meta['height']) + self.assertEqual(meta['width'], expected_meta['width']) + self.assertTrue(u_coord.equal_crs(meta['crs'], expected_meta['crs'])) + self.assertTrue(meta['transform'].almost_equals(expected_meta['transform'])) + # Execute Tests if __name__ == "__main__": From 9653e9824f879294373e5c510361e17b7d3afcc3 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 12 Dec 2023 14:45:34 +0100 Subject: [PATCH 112/192] Add tentative changelog. --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9dcd96f135..3f785f4698 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ Code freeze date: YYYY-MM-DD - Update `CONTRIBUTING.md` to better explain types of contributions to this repository [#797](https://github.com/CLIMADA-project/climada_python/pull/797) - The default tile layer in Exposures maps is not Stamen Terrain anymore, but [CartoDB Positron](https://github.com/CartoDB/basemap-styles). Affected methods are `climada.engine.Impact.plot_basemap_eai_exposure`,`climada.engine.Impact.plot_basemap_impact_exposure` and `climada.entity.Exposures.plot_basemap`. [#798](https://github.com/CLIMADA-project/climada_python/pull/798) - Recommend using Mamba instead of Conda for installing CLIMADA [#809](https://github.com/CLIMADA-project/climada_python/pull/809) +- Centroids complete overhaul. Most function should be backward compatible. Internal data is stored in a geodataframe attribute. Raster are now stored as points, and the meta attribute is removed. The methods to read matlab files were removed. [#787](https://github.com/CLIMADA-project/climada_python/pull/787) ### Fixed @@ -27,6 +28,7 @@ Code freeze date: YYYY-MM-DD ### Deprecated ### Removed +- Read/write matlab file methods for Centroids and Hazard objects. [#787](https://github.com/CLIMADA-project/climada_python/pull/787) ## 4.0.1 From 8e13e615fdba84f67ad8b92a9e9bc26ffed21c9e Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 12 Dec 2023 18:07:05 +0100 Subject: [PATCH 113/192] Make keywords argument only : name lat/lon : remove set_* --- climada/hazard/base.py | 10 +- climada/hazard/centroids/centr.py | 151 ++++++++++-------- climada/hazard/centroids/test/test_centr.py | 22 +-- climada/hazard/centroids/test/test_vec_ras.py | 43 +++-- climada/hazard/storm_europe.py | 5 +- climada/hazard/tc_tracks.py | 2 +- climada/hazard/test/test_base.py | 26 +-- climada/test/data/LitPop_150arcsec_LUX.hdf5 | Bin 0 -> 1075384 bytes .../test/data/LitPop_pop_150arcsec_AUT.hdf5 | Bin 0 -> 1513248 bytes ...r_flood_150arcsec_rcp26_AUT_2010_2030.hdf5 | Bin 0 -> 185049 bytes climada/test/data/test_haz.h5 | Bin 0 -> 25128690 bytes climada/test/test_hazard.py | 4 +- climada/util/test/test_coordinates.py | 10 +- 13 files changed, 147 insertions(+), 126 deletions(-) create mode 100644 climada/test/data/LitPop_150arcsec_LUX.hdf5 create mode 100644 climada/test/data/LitPop_pop_150arcsec_AUT.hdf5 create mode 100644 climada/test/data/river_flood_150arcsec_rcp26_AUT_2010_2030.hdf5 create mode 100644 climada/test/data/test_haz.h5 diff --git a/climada/hazard/base.py b/climada/hazard/base.py index b048a2615a..49fc6a38ac 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -66,8 +66,8 @@ }, 'col_centroids': {'sheet_name': 'centroids', 'col_name': {'cen_id': 'centroid_id', - 'lat': 'latitude', - 'lon': 'longitude' + 'latitude': 'lat', + 'longitude': 'lon', } } } @@ -227,7 +227,7 @@ def __init__(self, """ self.haz_type = haz_type self.units = units - self.centroids = centroids if centroids is not None else Centroids(np.empty(0), np.empty(0)) + self.centroids = centroids if centroids is not None else Centroids(lat=np.empty(0), lon=np.empty(0)) # following values are defined for each event self.event_id = event_id if event_id is not None else np.array([], int) self.frequency = frequency if frequency is not None else np.array( @@ -752,8 +752,8 @@ def from_xarray_raster( # Transform coordinates into centroids centroids = Centroids( - latitude=data[coords["latitude"]].values, - longitude=data[coords["longitude"]].values, + lat=data[coords["latitude"]].values, + lon=data[coords["longitude"]].values, crs=crs, ) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 524959ab04..4ce0afac2d 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -22,7 +22,7 @@ import copy import logging from pathlib import Path -from typing import Optional +from typing import Union import warnings import h5py @@ -48,8 +48,8 @@ 'sheet_name': 'centroids', 'col_name': { 'region_id': 'region_id', - 'lat': 'latitude', - 'lon': 'longitude', + 'latitude': 'lat', + 'longitude': 'lon', 'on_land': 'on_land', 'dist_coast': 'dist_coast', 'elevation': 'elevation', @@ -90,12 +90,12 @@ class Centroids(): def __init__( self, - longitude: np.ndarray, - latitude: np.ndarray, + *, + lat: Union[np.ndarray, list], + lon: Union[np.ndarray, list], crs: str = DEF_CRS, - region_id: Optional[np.ndarray] = None, - on_land: Optional[np.ndarray] = None, - **kwargs + region_id: Union[str('country'), None, np.ndarray, list] = None, + on_land: Union[str('natural_earth'), None, np.ndarray, list] = None, ): """Initialization @@ -114,15 +114,21 @@ def __init__( kwargs: columns of values to passed to the geodataframe constructor """ + attr_dict = { - 'geometry': gpd.points_from_xy(longitude, latitude, crs=crs), + 'geometry': gpd.points_from_xy(lon, lat, crs=crs), 'region_id': region_id, 'on_land': on_land } - if kwargs: - attr_dict = dict(**attr_dict, **kwargs) self.gdf = gpd.GeoDataFrame(data=attr_dict) + if isinstance(region_id, str): + if region_id == 'admin0': + self._set_region_id(level='country') + if isinstance(on_land, str): + if on_land== 'country': + self._set_on_land(source='natural_earth') + @property def lat(self): """ Returns the latitudes """ @@ -239,7 +245,7 @@ def from_geodataframe(cls, gdf): # This is a bit ugly, but avoids to recompute the geometries # in the init. For large datasets this saves computation time - centroids = cls(latitude=[1], longitude=[1]) #make "empty" centroids + centroids = cls(lat=[1], lon=[1]) #make "empty" centroids centroids.gdf = gdf if not gdf.crs: centroids.gdf.set_crs(DEF_CRS, inplace=True) @@ -278,8 +284,8 @@ def from_exposures(cls, exposures): if 'latitude' in exposures.gdf.columns and 'longitude' in exposures.gdf.columns: gdf = exposures.gdf[col_names] return cls( - latitude = exposures.gdf['latitude'], - longitude = exposures.gdf['longitude'], + lat = exposures.gdf['latitude'], + lon = exposures.gdf['longitude'], crs = exposures.crs, **dict(gdf.items()) ) @@ -306,7 +312,7 @@ def from_pnt_bounds(cls, points_bounds, res, crs=DEF_CRS): """ rows, cols, ras_trans = u_coord.pts_to_raster_meta(points_bounds, (res, -res)) x_grid, y_grid = u_coord.raster_to_meshgrid(ras_trans, cols, rows) - return cls(latitude=y_grid.flatten(), longitude=x_grid.flatten(), crs=crs) + return cls(lat=y_grid.flatten(), lon=x_grid.flatten(), crs=crs) def append(self, centr): """Append centroids points. @@ -375,31 +381,6 @@ def get_closest_point(self, x_lon, y_lat): close_idx = self.geometry.distance(Point(x_lon, y_lat)).values.argmin() return self.lon[close_idx], self.lat[close_idx], close_idx - def set_region_id(self, level='country', overwrite=False): - """Set region_id as country ISO numeric code attribute for every pixel or point. - - Parameters - ---------- - level: str - defines the admin level on which to assign centroids. Currently - only 'country' (admin0) is implemented. Default is 'country'. - overwrite : bool - if True, overwrites the existing region_id information. - if False and region_id is None region_id is computed. - """ - if overwrite or self.region_id is None: - LOGGER.debug('Setting region_id %s points.', str(self.size)) - if level == 'country': - ne_geom = self._ne_crs_geom() - self.gdf['region_id'] = u_coord.get_country_code( - ne_geom.y.values, ne_geom.x.values - ) - else: - raise NotImplementedError( - 'The region id can only be assigned for countries so far' - ) - - # NOT REALLY AN ELEVATION FUNCTION, JUST READ RASTER def get_elevation(self, topo_path): """Return elevation attribute for every pixel or point in meters. @@ -430,22 +411,6 @@ def get_dist_coast(self, signed=False, precomputed=False): LOGGER.debug('Computing distance to coast for %s centroids.', str(self.size)) return u_coord.dist_to_coast(ne_geom, signed=signed) - def set_on_land(self, overwrite=False): - """Set on_land attribute for every pixel or point. - - Parameters - ---------- - overwrite : bool - if True, overwrites the existing on_land information. - if False and on_land is None on_land is computed. - """ - if overwrite or self.on_land is None: - LOGGER.debug('Setting on_land %s points.', str(self.lat.size)) - ne_geom = self._ne_crs_geom() - self.gdf['on_land'] = u_coord.coord_on_land( - ne_geom.y.values, ne_geom.x.values - ) - @classmethod def remove_duplicate_points(cls, centroids): """Return a copy of centroids with removed duplicated points @@ -634,8 +599,8 @@ def from_raster_file(cls, file_name, src_crs=None, window=None, geometry=None, transform, width, height, resampling) lat, lon = _meta_to_lat_lon(meta) if return_meta: - return cls(longitude=lon, latitude=lat, crs=meta['crs']), meta - return cls(longitude=lon, latitude=lat, crs=meta['crs']) + return cls(lon=lon, lat=lat, crs=meta['crs']), meta + return cls(lon=lon, lat=lat, crs=meta['crs']) @classmethod def from_meta(cls, meta): @@ -653,7 +618,7 @@ def from_meta(cls, meta): """ crs = meta['crs'] lat, lon = _meta_to_lat_lon(meta) - return cls(longitude=lon, latitude=lat, crs=crs) + return cls(lon=lon, lat=lat, crs=crs) @classmethod def from_vector_file(cls, file_name, dst_crs=None): @@ -739,10 +704,17 @@ def from_excel(cls, file_path, crs=DEF_CRS, var_names=None): assert 'sheet_name' in var_names, 'sheet_name must be a key in the var_names dict' assert 'col_name' in var_names, 'col_name must be a key in the var_names dict' - data = pd.read_excel(file_path, var_names['sheet_name']).rename( - columns=var_names['col_name'] - ) - return cls(**dict(data.items()), crs=crs) + data = pd.read_excel(file_path, var_names['sheet_name']) + data = data.rename(columns=var_names['col_name']) + if 'region_id' in data.columns: + region_id = data['region_id'] + else: + region_id = None + if 'on_land' in data.columns: + on_land = data['on_land'] + else: + on_land = None + return cls(lat=data['lat'], lon=data['lon'], region_id=region_id, on_land=on_land, crs=crs) def write_hdf5(self, file_name, mode='w'): """Write data frame and metadata in hdf5 format @@ -882,6 +854,59 @@ def get_meta(self, resolution=None): } return meta + def _set_region_id(self, level='country', overwrite=False): + """Set region_id as country ISO numeric code attribute for every pixel or point. + + Parameters + ---------- + level: str + defines the admin level on which to assign centroids. Currently + only 'country' (admin0) is implemented. Default is 'country'. + overwrite : bool + if True, overwrites the existing region_id information. + if False and region_id is None region_id is computed. + """ + if overwrite or self.region_id is None: + LOGGER.debug('Setting region_id %s points.', str(self.size)) + if level == 'country': + ne_geom = self._ne_crs_geom() + self.gdf['region_id'] = u_coord.get_country_code( + ne_geom.y.values, ne_geom.x.values + ) + else: + raise NotImplementedError( + 'The region id can only be assigned for countries so far' + ) + + def _set_on_land(self, source='natural_earth', overwrite=False): + """Set on_land attribute for every pixel or point. + + natural_earth: https://www.naturalearthdata.com/ + + Parameters + ---------- + source: str + defines the source of the coastlines. Currently + only 'natural_earth' is implemented. + Default is 'natural_earth'. + overwrite : bool + if True, overwrites the existing on_land information. + if False and on_land is None on_land is computed. + """ + if overwrite or self.on_land is None: + LOGGER.debug('Setting on_land %s points.', str(self.lat.size)) + if source=='natural_earth': + ne_geom = self._ne_crs_geom() + self.gdf['on_land'] = u_coord.coord_on_land( + ne_geom.y.values, ne_geom.x.values + ) + else: + raise NotImplementedError( + 'The on land variables can only be assigned' + 'using natural earth.' + ) + + def _meta_to_lat_lon(meta): """Compute lat and lon of every pixel center from meta raster. diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index 6c63b5088f..e468571992 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -40,7 +40,7 @@ def test_init(self): # Creating Centroids with latitude and longitude arrays lat = np.array([10.0, 20.0, 30.0]) lon = np.array([-10.0, -20.0, -30.0]) - centroids = Centroids(latitude=lat, longitude=lon) + centroids = Centroids(lat=lat, lon=lon) # Checking attributes np.testing.assert_array_equal(centroids.lat, lat) @@ -50,7 +50,7 @@ def test_init(self): # Creating Centroids with additional properties region_id = np.array([1, 2, 3]) on_land = np.array([True, False, False]) - centroids = Centroids(lat, lon, region_id=region_id, on_land=on_land) + centroids = Centroids(lat=lat, lon=lon, region_id=region_id, on_land=on_land) # Checking additional attributes np.testing.assert_array_equal(centroids.region_id, region_id) @@ -61,7 +61,7 @@ def test_to_default_crs(self): crs = 'epsg:32632' lat = np.array([-10, 0, 10]) lon = np.array([-170, -150, -130]) - centroids = Centroids(latitude=lat, longitude=lon, crs=crs) + centroids = Centroids(lat=lat, lon=lon, crs=crs) self.assertTrue(u_coord.equal_crs(centroids.crs, 'epsg:32632')) @@ -76,7 +76,7 @@ def test_to_crs(self): crs = 'epsg:4326' lat = np.array([-10, 0, 10]) lon = np.array([-170, -150, -130]) - centroids = Centroids(latitude=lat, longitude=lon, crs=crs) + centroids = Centroids(lat=lat, lon=lon, crs=crs) # Transforming to another CRS new_crs = 'epsg:3857' @@ -213,10 +213,10 @@ class TestCentroidsWriter(unittest.TestCase): def test_read_write_hdf5(self): tmpfile = Path('test_write_hdf5.out.hdf5') - latitude = np.arange(0,10) - longitude = np.arange(-10,0) + lat = np.arange(0,10) + lon = np.arange(-10,0) crs = DEF_CRS - centroids_w = Centroids(latitude=latitude, longitude=longitude, crs=crs) + centroids_w = Centroids(lat=lat, lon=lon, crs=crs) centroids_w.write_hdf5(tmpfile) centroids_r = Centroids.from_hdf5(tmpfile) self.assertTrue(centroids_w == centroids_r) @@ -228,14 +228,14 @@ class TestCentroidsMethods(unittest.TestCase): def test_union(self): lat, lon = np.array([0, 1]), np.array([0, -1]) on_land = np.array([True, True]) - cent1 = Centroids(latitude=lat, longitude=lon, on_land=on_land) + cent1 = Centroids(lat=lat, lon=lon, on_land=on_land) lat2, lon2 = np.array([2, 3]), np.array([-2, 3]) on_land2 = np.array([False, False]) - cent2 = Centroids(latitude=lat2, longitude=lon2, on_land=on_land2) + cent2 = Centroids(lat=lat2, lon=lon2, on_land=on_land2) lat3, lon3 = np.array([-1, -2]), np.array([1, 2]) - cent3 = Centroids(latitude=lat3,longitude=lon3) + cent3 = Centroids(lat=lat3,lon=lon3) cent = cent1.union(cent2) np.testing.assert_array_equal(cent.lat, [0, 1, 2, 3]) @@ -269,7 +269,7 @@ def test_get_meta(self): # Create centroids with specified resolution lon = np.array([-10.0, -20.0, -30.0]) lat = np.array([10.0, 20.0, 30.0]) - centroids = Centroids(latitude=lat, longitude=lon, crs=DEF_CRS) + centroids = Centroids(lat=lat, lon=lon, crs=DEF_CRS) # Get metadata meta = centroids.get_meta() diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index 50e2d1d709..d85991557d 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -63,7 +63,7 @@ class TestVector(unittest.TestCase): """Test CentroidsVector class""" def setUp(self): - self.centr = Centroids(latitude=VEC_LAT,longitude=VEC_LON, crs=TEST_CRS) + self.centr = Centroids(lat=VEC_LAT,lon=VEC_LON, crs=TEST_CRS) def test_init_pass(self): """Test from_lat_lon""" @@ -72,15 +72,12 @@ def test_init_pass(self): self.assertTrue(u_coord.equal_crs(self.centr.crs, TEST_CRS)) # Test default crs and other inputs - EXTRA_COL = np.ones_like(VEC_LAT) centr = Centroids( - latitude=VEC_LAT,longitude=VEC_LON, - region_id = REGION_ID, on_land=ON_LAND, - extra_col = EXTRA_COL) + lat=VEC_LAT,lon=VEC_LON, + region_id = REGION_ID, on_land=ON_LAND) self.assertTrue(u_coord.equal_crs(centr.crs, DEF_CRS)) self.assertTrue(np.allclose(centr.region_id, REGION_ID)) self.assertTrue(np.allclose(centr.on_land, ON_LAND)) - self.assertTrue(np.allclose(centr.gdf.extra_col.values, EXTRA_COL)) def test_ne_crs_geom_pass(self): @@ -100,7 +97,7 @@ def test_dist_coast_pass(self): def test_region_id_pass(self): """Test set_region_id""" - self.centr.set_region_id() + self.centr._set_region_id() np.testing.assert_array_equal( self.centr.region_id, REGION_ID @@ -108,7 +105,7 @@ def test_region_id_pass(self): def test_on_land(self): """Test set_on_land""" - self.centr.set_on_land() + self.centr._set_on_land() np.testing.assert_array_equal( self.centr.on_land, ON_LAND @@ -116,8 +113,8 @@ def test_on_land(self): def test_remove_duplicate_pass(self): """Test remove_duplicate_points""" - centr = Centroids(latitude = np.hstack([VEC_LAT, VEC_LAT]), - longitude = np.hstack([VEC_LON , VEC_LON]), + centr = Centroids(lat = np.hstack([VEC_LAT, VEC_LAT]), + lon = np.hstack([VEC_LON , VEC_LON]), crs=TEST_CRS) self.assertTrue(centr.gdf.shape[0] == 2*self.centr.gdf.shape[0]) rem_centr = Centroids.remove_duplicate_points(centr) @@ -151,7 +148,7 @@ def test_get_closest_point(self): def test_append_pass(self): """Append points""" centr = self.centr - centr_bis = Centroids(latitude=np.array([1, 2, 3]), longitude=np.array([4, 5, 6]), crs=DEF_CRS) + centr_bis = Centroids(lat=np.array([1, 2, 3]), lon=np.array([4, 5, 6]), crs=DEF_CRS) with self.assertRaises(ValueError): #Different crs centr_bis.to_crs(ALT_CRS).append(centr) @@ -168,9 +165,9 @@ def test_append_pass(self): def test_equal_pass(self): """Test equal""" centr_list = [ - Centroids(latitude=VEC_LAT, longitude=VEC_LON, crs=DEF_CRS), - Centroids(latitude=VEC_LAT, longitude=VEC_LON, crs=ALT_CRS), - Centroids(latitude=VEC_LAT+1, longitude=VEC_LON+1) + Centroids(lat=VEC_LAT, lon=VEC_LON, crs=DEF_CRS), + Centroids(lat=VEC_LAT, lon=VEC_LON, crs=ALT_CRS), + Centroids(lat=VEC_LAT+1, lon=VEC_LON+1) ] for centr1, centr2 in itertools.combinations(centr_list, 2): self.assertFalse(centr2 == centr1) @@ -195,14 +192,14 @@ def test_read_all_pass(self): def test_ne_crs_geom_pass(self): """Test _ne_crs_geom""" - centr = Centroids(latitude=VEC_LAT, longitude=VEC_LON, crs=ALT_CRS) + centr = Centroids(lat=VEC_LAT, lon=VEC_LON, crs=ALT_CRS) ne_geom = centr._ne_crs_geom() self.assertTrue(u_coord.equal_crs(ne_geom.crs, u_coord.NE_CRS)) def test_region_id_pass(self): """Test set_dist_coast""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - centr_ras.set_region_id() + centr_ras._set_region_id() self.assertEqual(centr_ras.region_id.size, centr_ras.size) self.assertTrue(np.array_equal(np.unique(centr_ras.region_id), np.array([862]))) @@ -225,7 +222,7 @@ def test_dist_coast_pass(self): def test_on_land(self): """Test set_on_land""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - centr_ras.set_on_land() + centr_ras._set_on_land() self.assertTrue(np.array_equal(centr_ras.on_land, np.ones(60 * 50, bool))) def test_area_pass(self): @@ -282,7 +279,7 @@ def test_get_closest_point(self): self.assertEqual(centr_ras.lon[idx], x) self.assertEqual(centr_ras.lat[idx], y) - centr_ras = Centroids(latitude=np.array([0, 0.2, 0.7]), longitude=np.array([-0.4, 0.2, 1.1])) + centr_ras = Centroids(lat=np.array([0, 0.2, 0.7]), lon=np.array([-0.4, 0.2, 1.1])) x, y, idx = centr_ras.get_closest_point(0.1, 0.0) self.assertEqual(x, 0.2) self.assertEqual(y, 0.2) @@ -306,7 +303,7 @@ class TestCentroids(unittest.TestCase): def test_centroids_check_pass(self): """Test vector data in Centroids""" - centr = Centroids(latitude=VEC_LAT, longitude=VEC_LON, crs=ALT_CRS) + centr = Centroids(lat=VEC_LAT, lon=VEC_LON, crs=ALT_CRS) self.assertTrue(u_coord.equal_crs(centr.crs, CRS.from_user_input(ALT_CRS))) self.assertEqual(list(centr.total_bounds), @@ -324,7 +321,7 @@ def test_centroids_check_pass(self): class TestReader(unittest.TestCase): """Test Centroids setter vector and raster methods""" def setUp(self): - self.centr = Centroids(latitude=VEC_LAT,longitude=VEC_LON, crs=TEST_CRS) + self.centr = Centroids(lat=VEC_LAT,lon=VEC_LON, crs=TEST_CRS) def test_from_vector_file(self): """Test from_vector_file and values_from_vector_files""" @@ -356,7 +353,7 @@ def test_select_pass(self): """Test Centroids.select method""" region_id = np.zeros(VEC_LAT.size) region_id[[2, 4]] = 10 - centr = Centroids(latitude=VEC_LAT, longitude=VEC_LON, region_id=region_id) + centr = Centroids(lat=VEC_LAT, lon=VEC_LON, region_id=region_id) fil_centr = centr.select(reg_id=10) self.assertEqual(fil_centr.size, 2) @@ -369,8 +366,8 @@ def test_select_pass(self): def test_select_extent_pass(self): """Test select extent""" centr = Centroids( - latitude=np.array([-5, -3, 0, 3, 5]), - longitude=np.array([-180, -175, -170, 170, 175]), + lat=np.array([-5, -3, 0, 3, 5]), + lon=np.array([-180, -175, -170, 170, 175]), region_id=np.zeros(5)) ext_centr = centr.select(extent=[-175, -170, -5, 5]) np.testing.assert_array_equal(ext_centr.lon, np.array([-175, -170])) diff --git a/climada/hazard/storm_europe.py b/climada/hazard/storm_europe.py index f2aa56988e..d6bdfd9eed 100644 --- a/climada/hazard/storm_europe.py +++ b/climada/hazard/storm_europe.py @@ -557,8 +557,7 @@ def _centroids_from_nc(file_name): if create_meshgrid: lats, lons = np.array([np.repeat(lats, len(lons)), np.tile(lons, len(lats))]) - cent = Centroids(latitude=lats, longitude=lons) - cent.set_on_land() + cent = Centroids(lat=lats, lon=lons, on_land='naturel_earth') return cent @@ -774,7 +773,7 @@ def generate_prob_storms(self, reg_id=528, spatial_shift=4, ssi_args=None, """ # bool vector selecting the targeted centroids if reg_id is not None: - self.centroids.set_region_id(overwrite=False) + self.centroids._set_region_id(overwrite=False) if not isinstance(reg_id, list): reg_id = [reg_id] sel_cen = np.isin(self.centroids.region_id, reg_id) diff --git a/climada/hazard/tc_tracks.py b/climada/hazard/tc_tracks.py index 7788af0932..89a44b3744 100644 --- a/climada/hazard/tc_tracks.py +++ b/climada/hazard/tc_tracks.py @@ -1214,7 +1214,7 @@ def generate_centroids(self, res_deg, buffer_deg): lat = np.arange(bounds[1] + 0.5 * res_deg, bounds[3], res_deg) lon = np.arange(bounds[0] + 0.5 * res_deg, bounds[2], res_deg) lon, lat = [ar.ravel() for ar in np.meshgrid(lon, lat)] - return Centroids(latitude=lat, longitude=lon) + return Centroids(lat=lat, lon=lon) def plot(self, axis=None, figsize=(9, 13), legend=True, adapt_fontsize=True, **kwargs): """Track over earth. Historical events are blue, probabilistic black. diff --git a/climada/hazard/test/test_base.py b/climada/hazard/test/test_base.py index b44d3a5727..7ea5b0675a 100644 --- a/climada/hazard/test/test_base.py +++ b/climada/hazard/test/test_base.py @@ -63,7 +63,7 @@ def dummy_hazard(): intensity=intensity, fraction=fraction, centroids=Centroids( - latitude=np.array([1, 3, 5]), longitude=np.array([2, 4, 6])), + lat=np.array([1, 3, 5]), lon=np.array([2, 4, 6])), event_id=np.array([1, 2, 3, 4]), event_name=['ev1', 'ev2', 'ev3', 'ev4'], date=np.array([1, 2, 3, 4]), @@ -79,8 +79,8 @@ class TestLoader(unittest.TestCase): def setUp(self): """Test fixure: Build a valid hazard""" centroids = Centroids( - latitude=np.array([1, 3]), - longitude=np.array([2, 3]), + lat=np.array([1, 3]), + lon=np.array([2, 3]), region_id = np.array([1, 2]) ) self.hazard = Hazard( @@ -240,7 +240,7 @@ def test_same_events_same(self): duplicate events, initial events are obtained with 0 intensity and fraction in new appended centroids.""" haz1 = dummy_hazard() - centroids = Centroids(latitude=np.array([7, 9, 11]), longitude=np.array([8, 10, 12])) + centroids = Centroids(lat=np.array([7, 9, 11]), lon=np.array([8, 10, 12])) fraction = sparse.csr_matrix([[0.22, 0.32, 0.44], [0.11, 0.11, 0.11], [0.32, 0.11, 0.99], @@ -718,7 +718,7 @@ def test_all_different_extend(self): date=np.ones((4,)), orig=np.ones((4,)), centroids=Centroids( - latitude=np.array([7, 9, 11]), longitude=np.array([8, 10, 12])), + lat=np.array([7, 9, 11]), lon=np.array([8, 10, 12])), event_id=np.array([5, 6, 7, 8]), event_name=['ev5', 'ev6', 'ev7', 'ev8'], frequency=np.array([0.9, 0.75, 0.75, 0.22]), @@ -769,7 +769,7 @@ def test_same_events_append(self): [9.33, 9.22, 1.77]]) haz2 = Hazard('TC', centroids=Centroids( - latitude=np.array([7, 9, 11]), longitude=np.array([8, 10, 12])), + lat=np.array([7, 9, 11]), lon=np.array([8, 10, 12])), event_id=haz1.event_id, event_name=haz1.event_name.copy(), frequency=haz1.frequency, @@ -816,7 +816,7 @@ def test_concat_pass(self): haz_1 = Hazard("TC", centroids=Centroids( - latitude=np.array([1, 3, 5]), longitude=np.array([2, 4, 6])), + lat=np.array([1, 3, 5]), lon=np.array([2, 4, 6])), event_id=np.array([1]), event_name=['ev1'], date=np.array([1]), @@ -828,7 +828,7 @@ def test_concat_pass(self): units='m/s') haz_2 = Hazard("TC", - centroids=Centroids(latitude=np.array([1, 3, 5]), longitude=np.array([2, 4, 6])), + centroids=Centroids(lat=np.array([1, 3, 5]), lon=np.array([2, 4, 6])), event_id=np.array([1]), event_name=['ev2'], date=np.array([2]), @@ -894,7 +894,7 @@ def test_change_centroids(self): """Set new centroids for hazard""" lat, lon = np.array([0, 1]), np.array([0, -1]) on_land = np.array([True, True]) - cent1 = Centroids(latitude=lat, longitude=lon, on_land=on_land) + cent1 = Centroids(lat=lat, lon=lon, on_land=on_land) haz_1 = Hazard('TC', centroids=cent1, @@ -910,7 +910,7 @@ def test_change_centroids(self): lat2, lon2 = np.array([0, 1, 3]), np.array([0, -1, 3]) on_land2 = np.array([True, True, False]) - cent2 = Centroids(latitude=lat2, longitude=lon2, on_land=on_land2) + cent2 = Centroids(lat=lat2, lon=lon2, on_land=on_land2) haz_2 = haz_1.change_centroids(cent2) @@ -925,7 +925,7 @@ def test_change_centroids(self): """Test error for projection""" lat3, lon3 = np.array([0.5, 3, 1]), np.array([-0.5, 3, 1]) on_land3 = np.array([True, True, False]) - cent3 = Centroids(latitude=lat3, longitude=lon3, on_land=on_land3) + cent3 = Centroids(lat=lat3, lon=lon3, on_land=on_land3) with self.assertRaises(ValueError) as cm: haz_1.change_centroids(cent3, threshold=100) @@ -936,7 +936,7 @@ def test_change_centroids_raster(self): """Set new centroids for hazard""" lat, lon = np.array([0, 1]), np.array([0, -1]) on_land = np.array([True, True]) - cent1 = Centroids(latitude=lat, longitude=lon, on_land=on_land) + cent1 = Centroids(lat=lat, lon=lon, on_land=on_land) haz_1 = Hazard('TC', centroids=cent1, @@ -1119,7 +1119,7 @@ def test_reproject_vector_pass(self): intensity=sparse.csr_matrix(np.array([0.5, 0.2, 0.1])), fraction=sparse.csr_matrix(np.array([0.5, 0.2, 0.1]) / 2), centroids=Centroids( - latitude=np.array([1, 2, 3]), longitude=np.array([1, 2, 3])),) + lat=np.array([1, 2, 3]), lon=np.array([1, 2, 3])),) haz_fl.check() haz_fl.reproject_vector(dst_crs='epsg:2202') diff --git a/climada/test/data/LitPop_150arcsec_LUX.hdf5 b/climada/test/data/LitPop_150arcsec_LUX.hdf5 new file mode 100644 index 0000000000000000000000000000000000000000..05036904fb3677e7955774029e187ffb170669b8 GIT binary patch literal 1075384 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 z1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he! z8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4` zWFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`% zkbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5 zKn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I z0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO= z3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5e zGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|> z$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+j zAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609 zfed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb z1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he! z8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4` zWFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`% zkbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5 zKn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I z0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO= z3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5e zGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|> z$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+j zAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609 zfed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb z1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he! z8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4` zWFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`% zkbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5 zKn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I z0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO= z3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5e zGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|> z$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+j zAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609 zfed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb z1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he! z8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4` zWFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`% zkbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5 zKn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I z0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO= z3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5e zGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|> z$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+j zAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609 zfed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb z1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he! z8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4` zWFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`% zkbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5 zKn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I z0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO= z3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5e zGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|> z$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+j zAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609 zfed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb z1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he! z8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4` zWFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`% zkbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5 zKn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I z0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO= z3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5e zGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|> z$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+j zAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609 zfed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb z1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he! z8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4` zWFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`% zkbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5 zKn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I z0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO= z3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5e zGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|> z$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+j zAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609 zfed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb z1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he! z8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4` zWFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`% zkbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5 zKn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I z0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO= z3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5e zGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|> z$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+j zAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609 zfed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb z1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he! z8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4` zWFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`% zkbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5 zKn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I z0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO= z3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5e zGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|> z$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+j zAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn61K I|Am473;5rOHvj+t literal 0 HcmV?d00001 diff --git a/climada/test/data/river_flood_150arcsec_rcp26_AUT_2010_2030.hdf5 b/climada/test/data/river_flood_150arcsec_rcp26_AUT_2010_2030.hdf5 new file mode 100644 index 0000000000000000000000000000000000000000..1f34a63db594813fa388d5267572d9c0513359f5 GIT binary patch literal 185049 zcmeEP2S60bwjITs;~Lh0IZIYB&^6`=D&~X;2q;OwtYFSL=bUrSf*CVr*NE#Ha1EFh zMfta8>W(#4J)`d1b>IJgc<*@XRGq5suG?K*-P7GWra_&0Su+*Pq@jNqGHB9ha_Exy zPYV0HelfK!3pJK^VTn|XM>Afnw`)@A{-@F8XZbl<`=YO9i@J3+n$#L>ADLCt*rw5^ zLRrRvf%=3q8Z7*Ox(6E6)i$FWxS4Gw?r*yt{@Kk=rAY^SF#NFvreb??s#N+6Tn}U` zD5vQHP)?5|3Vm4yNNF@_H5qg|b!vTf2G*WcDk#wX(HdX>a2}RG0mn0nheZP zzpi`z+ATaf6mL`C!`j)gc*VMI9(9}6YEl<+Lc#)ltn2%R`1nQycw2k)3y<&(vbJ+^ zcC_{l4)+b}8t7ZRVpA~JZDH12wq=-CaCksOx#FF^%U-{#gY9>FovS*0x7W_j>H8bD zt5VhR`&+JB#h#k$HfhqZnTLDBI$!&TeO-Rd`~t8c-_*AGe{v$CySRYxZWdl!2rI~Ny62M4HJ+oOYTU|>LKcu0VcS71f^ zP8GFn8$!VSFtCAM5djgse0;6THt~WWRSXUZi}0`L-l7h~)ehX>xg4?8kYGP-HY6CD z_4NvmV6D=1_|8^ad1&j`?ch<{y&3G04MM^K`iBHZcm-N}hXjR&1p5X@Sci18cBo?= zuG>2+LkzSn>T22kNM)^B?rl3%aDSFCu##_hkUc$y@N~=h?9_bhG_T=&_G&&hl<+F!Hg>Ox}m_F!I^U%f)yY`S3OZw_J>ekP|5 zhU3G?hxfz2ZinIgVdQg>+f$84HQA>ckLt2dH6Ar&pK3g6%0AV2xXM1&cqp<@H6BFv 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 )h?`uA-bAR(8{NZ>UI>fwYePAAf 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 literal 0 HcmV?d00001 diff --git a/climada/test/data/test_haz.h5 b/climada/test/data/test_haz.h5 new file mode 100644 index 0000000000000000000000000000000000000000..7c8c29166b0a8de1b8a2a21afa1caa0484a5af3e GIT binary patch literal 25128690 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ɲSD;H&r=zK(C;oA?&Kjql*Q_#VEGAK-`h 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 %}g)4{(BO* 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�Nm!MafVnYtVq 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 KMy1O;m3~qGX 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 kAW3XCQ#-m{j9%Yg&N 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 z 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�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

`$_BNFItw%3*}`ocjTC9Z?~!!S_>lO ziLhvAjw1c!q31!@NF`&}3m!PQ^T>@zVF{Q;IJ)Itjv|vn2^qi?!GdYmXQTL=p8pvc0laP!MKugJhGMp~ScNg1fmKdbpS zJ6!JHUR>qbv?68T=Q?RpCqamsCH9DW>}R6kX~^O-c5W-xjS^*cKNxG7qmOsPZT zH8Er)CiY)vbj?=qiJe4-zPP(eo38fP2bYyIdBo-5yNzpO%}uR=`u3)}hA9u!fp2@F zK7IcDahO!Ex_1c$hW zer-^Omi5blXT60WNVE_nR>#VNze1^3qyOkd}qxLF@s-r7=Td251Yboi{r*X7|s zpafl{m^5@6sXhEDq6~p)C+S+U^kCrv0qw*F7^uho3w|B^8AXOG*U5*LI;w&CmT4+U z_XqPmocB8WZxTYzQt(@wqG@9 zjzc|Oe8Q^Tmi`lWJ^g6i8g4_=jJ6=7I{v;l`Zxb0Zy^EP!B4i-lLPlBXrYPLnru>k7 zuNd6?6uCoXx*XU_S_$V9R3ME-z-^MfCL|aft6jmY0c7E zKetGnu_30a|2pVc?eW$VM6hx-&LA@op=7$<>8IUVP$;NUEZI;|EA+PslT4wN(4Kf)P!wrB`0S&sKWKll1saHD1+I2 zkCtvP1E4SSN=x(^yq>K5sl~guzaLd9b5faUOB$%>Qi5croc{hgZ!4FLOXuKqFNurf zGJk;{C=@~x9ue6apeegD+7 zbVHlD|79My_NDIgFBNfUGJVb=;w}R#GK_SbdWhhYl4ir;DGp(xB18cz0+1`N9VuWL zoadf%vV6=$-~grOw3=U~!VnQ&WK{M-5uPq%Zs)z;e;?qYl1@hdgh=WL8%t!V79_6N zb3pg2HuyT9@txeL46#$1-x>+(gLmmw-q$nw`&n=H!h?t9fxBEYjV()apq(rZ&(l=q zR)MKrbl1tBRKOyBq2GsK%E0(Rz5hpD*I8x1vV?oKI;5X>$##9B2~x@3>Js4!&^xIj z{FU5bJEESKk4cwLs#!=wtD;}nos|mk!ND@pJCp=d59rC&?^FQ4Lx+twJLy5RtCQ&! zUNNBVH`=tLATnv`$-#A;+yoX+@+#7p;|zB^f?&a;Vi|02!}*N%{Ykuj+Y+YgfsRA? zh3pU3kmZpmnflNah;1z~O?s-MK3_EvMuu$308f-!TUx?w`{xaY{-2MT!(;!T49Wif zdbIhWZntRPH?gWyHgGdwe)4?AIp9|qu>anP(dUO6hng~ly%bm}JsWuL-nDD{qzu&e zF-3v#2$=V5&VIH|17;^PTZns@g1zbnx6UKhaCOG1C!}Cwu#e(bd|EYfeSPhuljJ{L z7wV6TpX8~W3sx1k*~}$u;FnXmoOUgM@wX3xY^R2AKOR*)n-(vV2d3%nIlO)VNjhw7 z*KXRt+&8y33Zz)Wd%g}E_|Sj9c!WO_VV(||4tY5D{Kn4RnTEjRz?1p-hAl{KQe$F} znghlMZBq~I8U6L_@$}vsbbQ88*XrMYoj(u!_wz1Uu+ab%%ENSe`tO^JkewkPPvuMW zy|%&>Qp`j6s#lJE|K9_4y!Wl1es*}*-?#s(zc#V0JRd;!pSwS}|2gZ1GaD4(*U^+~ zrJ;JDpg%jSp}_*U%x|5a{>%bebYBkDN%FS{i$);rrmtq)G%oaiU&998 z)@g>Ywi<(3y5JV}+k@-E)ct->=cvi)*f45Bj}(_|g0wZLX=(=1)z63TkBu^O>HsMB zRAVo$9=<%(cm(d*O?g5(P;0JcpnQ8CY_Q<-_7Ag$zD3DRzDGuGuhcly^i^`t`+$54 zC^*fQ^NiUTEL0YEHk=>1Jk&xC9^44Yh*rJ1Uz#>&yk{UbDz}iXNgT{P?)iFiq=cqXf(;J(=Pkqy=wgO<`GEZwZGQatrBItw5aVT1xCw z-4R`=`RdqR`GB8Y4PFbn?kmnT2g3T?rEjL z*n0B%^QPnP?=>E1y_=y#dp)M+FJp_jaa`lj^+oFEnEuZK5zp@52r-xkA4%mir%tni zss+15MeE0ZersR$kcF4ng8jvN4y)T~AJ;d}KjG_gXzcTp|GCuoDGH2EVA-U&-s#JY zLE+gp1qV+%xZtPRsm5#wquYDvR{!<=Z5yzViy?VlF&K9oYGkSD-xsp`Ph5XWjf*J? zj77kET4>**LVY-(&$jz|moY!2n!^7pw+MnCT@TG#%h?z1j@Zz|dOD9;vF zU6GF2C^H9qoVC>TKaPD|iu!zbiQGDCusOA~K-}ah0S7=`!`tPyv-+w;=YJb0}!mWr?#0Y3D;iO*yg;%yyXpTc`K5%~&m)EV!b-eJ$hFMs?;6mV1yaD4|5ALf%*fZ1F-3LbDl zLmAhWEH2rBIL7O`a-)~1fvQ@s>V;EspsK7rsYZR|?@g|&Neizp5rgTHGb4qqH%{YKioEUoYTTV`+bjwpIPc5=ZWC=`eVuU*71K&z;Ugm zu|2;CtXuU;I!>50(5`7MFYf=(5D>hp!a02@?d_wMe$~+=0TFnwK5xqh!sz?|-<54Q zv4`>}@<1Sq`Ia3C{lA-0^;-RkZ~W^v;-;aq^Yn>epWkW8F?VqM{QbE28U_A}0*#l1 zlBR0%!bIi0@7DS$C1L-$?{Q63zW=UqBI&AGUOpT8yUekccgfe&Q)iY6Lf_(4W62HU z@1Lp1)oY5M&yytquhV8ekaZsYIzM&)f%Ngh{6)MXV7Pu)vv$My=P#R8+vLm=cp*=2 z$Ir?$e5>69L5aofph5 z8~OVo1LgaN|Kt0z`D=DL3Be)B6>FXy5{29hQ;mk}gTLDtiAUE*T<*jPA>hzkrh2vi zxe+!W&Quh{lE7%jS(gGuRp7JCm|1N#^6x(Aw>FjLKahepju76KHWir9l2~$No*JCK zJBdeFwf{MG)aTj#D;+LhZk#$#uTAf-ueKplnb9gxRPbwlO)&)mr&msEjMIlj6&>** zYc*l-nJF5RWd6_Z!<-L?_5WUGxOf^f&Q#?}$`8!jqknFR^JtWVLb3fz*Rx1NW3=V> z-G+nTYm8i7_Tj0e+>m&UeSU5x{-R*FDeKniB7OK4R~wx@Y3$b(32XOBS6=6V1W{o+ z&!=RlRFU%Do}>pd8!ME%Z~f$1>Gnb`*?I&RSQyY@q+if80i&x!%~s`s-$_xQt25mB{r&y6W~Fmm z=kWpkPEj=>xBlk`{p-1I9KW)1IzbJX%U)HUix~ZUH}?6PgO?XcfTd{fjoUkP;8X#Z z;Nrzvuu8Zu_}&{SxG}xSY)R|Lzr#KtyZ4$X2!n6RtmDc?DsaNucvVI{1wusc=!K9+ zzYbF#bJOfH8xOSXy5q1ZbFf|?J71@`&vN+hh2|&URMFTn^gQ2<4EzXhr6H(OHez>k z|8plbm!^Fa(EyfTcZGk13|}9w$#~qX{y>2uid;|BEmd%})IZejAql%5ZB`O*)dS_) zd%dPyT0mTNC4_PFVEg+0d{JLN;65B#`#~FsLd+aYHYV^qhW_51{@;C{7QD08`yN11 zkuN1AZsa)Bcz^fw$&=&))*xPRkx*aH8YT$iEpOSwfd7xZI}fC)+aJfT$e4L1^E?m7 zJig6S=9DCf1{xG9MG-10LusIh3Z+4&P@*U_D=AY#GbNNMMg83SyT|kWxZl3cIl7aiv)Y}#-+QgsUTd$l_St(M$IH#aU=pQ$;%xQA`%`>t*(E!szdkv2f6eRH8XOPd zg{R;}cU4OsZm&BYqB?P2CO$7eb^YmvI(cc?0)132#&<-jl>682H5mZa%px z{`rR%Ot(Gp^T$sfzVg^V4`L41JiF-g$M~ne{)(~c5e?XGV$;9JdiwU8<)_$aw~z-M zdLGr>6aM4+Zg210=$%WnU|Wfqm{S(%_x)5ND~(sU}^kNyQ@VLG`S3OgW>=!ZV16AgEMm*Iw$&} zfAk-{EN0gPIZWV7H8)KN!}Q+=TtD}%JmDS}2>N}zImcHPx~X5K3d@+l;cWh+U)nTb zg`U~`QB6g-tj^kdLSg#$_8@;a@%3|2$ZN}{ZRybf1%_84NmK@){JKo^r3&fujeg%R zn+Z9*;B{S!h2e(EWchMhm3+q3r_aaK_L?8)pSD$bA4arb$I$XQ{$4mY$waf>+qHj60S)% zDD4r4)_HS|M0_H>9kTfawv;jOLuvCN|9KlH-k160N^e?{JQ#Jd9I!VafJ~G35`r=5 z^?7xEOb>ImG>o*Jx|aCpkMl8cJg#|4C2OnY^!54MMX}Rc4F%xUwyyk7`D(D#gx4;$ z*94kFFJ8Ght^tgM_YY4FYJl!JmxT*#r=KqrE%{KWKk?p|&0U@$<4Gpq{z12}f|c}f z8S%KB?QkeQzfA}VkE(cv{ZxaL)vSuHA^LFllGKNc1k%sP#CUgiW|ufjjQ_0(T35qg zn*eL&vX!}>q#r+G9F198y(hm)LPJ!4k4*o>`(TC_Fz3FUzFiQvzcZ-#{%fKte5~-! zJ838dpLedv6w}p(u$>o@Y!>K1>=QmJrOaQC&xmn|sq`Y5IW&3Zkfl^@9OkV9%sDR? zM}sL8D6ITE`z__;s+fTMupJBv;Ka|nE4|SS`U^MAuiZs@If?lrrdKU`a~5vZfsWDs zD4}LkxbaT4joOm@{I!klK9X%F1&;@m*VsQbfvyw2s=aQ%o+lFb|Eu)G-JChnYbM?o zD(H68r_Bqn&wLf|&OBKCl4Ih(FdDyQazgM8EN5HgT-${8z zh-S}_9(6Q<&YjMCG9}Dm-@GLTLuW}pU$6oz>%hB-_ll0_=sb3tm@huR;agN=0rXsI zgS|b|_d8RMSE6~tyqjAU!R}I)t>FtZ2;$A}X0a##`I_hbCryjI#bA5JhRn_<`rxU* zW7!yw1)M!ACA*?(dY`HJI;vh5>Mbk>^!^gp^js}~rMFUD)s6CYII`-_X{emIJ|Ol; zng56l-1uDWeo=&cFJeBqTmy{SA8Uge^Y|AfUwgQ4y4vs9DEZ@dV!Wwo{(8mwjvQkk zJ{P^Om*(xos9#^-n7Tc2neaHWrJqF|m@{2A{fM%LpP9MQH(pIY-XU&JOl3uQ+)uGd z!jc8&>{M$^L4BjAxKWTT$hQoZF?}NcdY8wFO+pvARDrvN{_od2G?!$#r-hN;4v6`x z=-YHypi>NdBkt0@op^tGZ4PsoXfx&KuffW|0OlS!NZg&P^i0_cO+{SQ6%q#5kU+oThbeB_UX2K;3(m$z(pSb&GBMd5`?_ zimtNIyIvmxaAbTED%O|db5cfxJdLwCWvP!ZE?0RjV&nQOv^S!^?53yY- zez89I(SrQ?HZ|_T(3C48A~PSS5##px$_#b+l7BuUZa+1Rx@aPIQjz@m&eS;nY0KY| zH92S}u8R@J0q+jhJpOJ@dB0}#O!j*ai#{lbF%3MWGlvzf9>zZ==BebmXr3zmq-v%J zT@e{?_!n8i(z{C=>pxO{K6qAcBbU|v;eFtV5O$K&R513Q+`*h1OPY~9nzGmqCVA!)y_*bz4G zidgkw$IQzsWJ$Mdfw(h_C_U-wVVrq9;(McBb*``EQYC$SKJ_^K({hukjETt~^VX-a zAzrH{zNh=A^+^1W#V0bqkMSDAs>6jp$EzqGXMBI)dA?g)8WQ#Pgy0q7t zl$U#}X`@re#C-{oA+f?Xm#m>Gx?<6>c=G!-B16Ju1)l|WDo_?Y5I1lCd>E5D%5ASr z`FNxA)tf^O`_v%jRCkloAxBtgvom2eGv)Pq-i4kL$2A&|rLF69s>>OkYInK?xKUmY z)gbgolZqxd@XW0`mG2DQcii=94^VzQMx#C~)Bd47@wN}fzsE~C_LZN*}d|tIDr@)^&i2QjEF+WpN=fJxr9TLB9JjCKBXHg&c`<}mC zWd4vqw|nN#y%EdJ9w4I~Q)2_f<(Z})+^pUzsgA!b-rm|3OZ_74ep@_Z`QGgDt8k0e zg2#n6-|k6T0(-h+#@+>geE&#XZ@RRgYg6xdhctvn_Lp7WX$pK7IeH&;P~Lv$<*hg7 zmrw)hB_IAi|KQcK82iphc{{nCc5RnXpEle-%&V7XXfmTse4G7Lpa;FxU;FGUl07%aq+qlA*ZG~QJ)uDpZmIX=K0H1+IPvNV?I1RlgFAe zalhBE_Dkyj^XZN!NHo|(SYk&aT+!w*zm(v!z_FH z_t8x)A8~n?68AUJ$C9A%ys`ZLWmEXFT&e5PV#@o^@!M9x3D@P|a_s2gF&ZoQ(kM$~ zzL#>hf_0}DdZ|>v(T>|}m)d-ws&+B7qN6;2N(H^MwrnLp*-`ba=TAC;?h2uEj{cO# zdnoWN)6QLMa-8+yro1=ZWy;5uN^A#>Sp)RIVQA&Vd;BNfI~ygH&jFOrGp$TU-xqrk zfA7&5w)9_#GZ3RZ9AvJ;cJ10(HZN1uKw1V>TM(kvsJL|j_ z7!O?f`}QbgvVEv@mPW@tqP)DCqw&u#?>3lhAM~;}bPMCi zzg|x~9$Bliy461$0(&ySbk7xM*!4A%`NcWP;}PRxiUKHr0w{n2D1ZVefC4Ch0w{n2 zD1ZVefC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVe zfC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVefC4Ch z0w{n2D1ZVefC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVefC4Ch0w{n2 zD1ZVefC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVe zfC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVefC4B$ zxxi2Qy2x*j)PeE{|8vXqCjs9qRvUp#-kOuFW}GvQtCzZ=Z;6`~j15!OT_~5GalBlW zP3Kv4G$7+W{l>KILNku{KTD5G|89W`gGTeIqt$-falLcxfo0>6$#07ndZm2TwM1tK zS;@LSxR)^FxU5SD8zb#q;5Ff>x{RnPXnxZk-5)GMaomphh^=(@G~x7_j8@`%tVGrNMO>x{9s8QYg(-h_^lp2U?>qFF@(#(Q|5){W9cu{#z zFG3n#em^S6ASVHNyTkU`ET%kvRQN}cz~=B|p(^9wH@>QpIc2tuU`}zpm|BQEhoa^M zs=9!zXIa(aV_Gwgdpc_{{&=7ZRJ&cjqg!JNtxo!TFM9A(9M?BDyh=n|AC3t8EO{}} zA1T$wgf8iqrZ^t4{Bgk-coyD}goa3wwv$2FE{HCe{!f7f>wU8iI8)wV{Lg4qREIp= z7nCki29uOE`_3eC!PL*mU8cX(xy;8)0j^$`PsmQ0c|3CWkL&+;3(&7Pt-R>$@9WudoGE5LmV(uUGwJ4^&bfu5FF65`IZpxjN_%~CG4w}5SwwFnU)K;|JMjK z@QfbPT_gJ2j<3m8wxXN>%ID+%no?p^6rfDNv*v>E(@{|Af+g5awfKvnf?_#`)vEa-g5~`tR%CrWe6AP~Z=Ne)ca} z!R?yR@#+&az|6k~SekdUJt|ET7N@$vT_t(=V^5U*E6!T1^d*fZ6qal}k;o)G<9L+i z0=Gf|6hHwKKmim$0Te(16hHwKKmim$0Te(16hHwKKmim$0Te(16hHwKKmim$0Te(1 z6hHwKKmim$0Te(16hHwKKmim$0Te(16hHwKKmim$0Te(16hHwKK!HD}!2FB*t9yVA z%pF)>EdI_9Jjvz0MKzjGcHD01$`K8aP~_;m=S2GR|F29hMO}3i2B|0VT&EHUz|Qwm zW%RlN$nBLL;D{CnauuxJ?blU~;fB7|8TwZU6T6hANP%HA|x?xzbY*BB|$DFh>v| zV)1M}b4FE|pX%twoGk^tje!r6V@Q8L#zjW&@}?>-=Xpk4=$wvPC>VuK5bgi{>HF^%S9VV-Ak^m9E<)YR=9ZXE7ztQ zGSFDju-S6rcQoc|6hx{PD8fC-4c@6$jEREtV@C1V71)oE zdR%Zl@&sIhr56-lq6X@P5}{YFutEIOA}gDQdBA*DxP7Cj9;}kMv7qp-E`%4*Nbzk_ zfa#)N*Eb%y`+*%6TO2x-lCK7usq%k+zu%QoC%dL=O2Bz9hW=R+`R}zaJ0-GX@j5Z+ zT&fyfa8(ozJui^A!bWwBm--tjKww#hY|yK?(s%ULVWp z*sBgXK_A-Bh{%GIjI?%FhB%N~rsKVLQu2Ly;jFsNN)u)YNYbI!y6lhd!6elW*PEHZ zyEr?iI{{2kORLosPAxv!f3#VDxTn~y0cUQ@)(iTO|GwB0-_H~!eiDNcM-`P21v$9W z7hLcxM*=SP1+SNsrhI-ay!RpN7iK<~S*dYr6d+CDltoHR z*Ghsr=c9d=3jjvahE^QzA-(^Y{Zr=IN)NHgcGlHCz-Tan5%SYd z@8mox1aD%W+?Jy!0N*_S?0aktnAR>kh7)eF3V&)>6%ZaEO1r>#OT(3 z*Vsz>?;hQ%z9ly=fd{x^pNeMIC_rSv>J*MM@}M7Nc|`tzI1KAuUN3l!{QhXUMGC%_cP8lil0LpC?pIEx!pNzI7lw_VWNq^mfEOPw zeSX&^0o3xBZZK}1`R|z$_k$@4kRu>rd$C7l7blRj&HruPYnRkZ+%7W082f=*u~{=8 zFX&1TWa`#%!K(w!cQ`mmpa1^f@`nG10+b5a-w-#{x;*pWT~3nNS(4zx2}8N7-+bF5 z1(fEe(u~6@BjOin>t_0vo1q+D5LH7)$b4kiM)n@xjh>2tM&2!QQ%)8K=;&cUfUHe zIJBZNKznrNzsnwIs(;lwQV_;#-RoR8r~$coj_Id;6DuwV->W_6ZWR!QSsisOhLsYN z_ob5?57$QlN(7o&y(-+PxM87``_*-N!qA+yek0vp9-t)F-?pg@scd~Saev+IC92~- za|ocu;TT}JUmX7S87Y4qV=MFGefS{OzEA(MDHmM$?se_cF{#ORkz-4{b^9tsASD*A zg95)xK=jPXL8mJ-{~qP3_h-wj?*dTsYT^BJXC&cA|Ez?{59GJE7-inzhZW2~U^=5- zUt`g+HCeRTjb*KN}fR!tVzu^~CK^00mG01yBG5Pyhu` z00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG0 z1yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5 zPyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu` z00mG01yBG5Pyhu`00mG01^&APS|7=W9N;j5!Q&ATRSY)Zq10Diw^SEWhtr&o+Nwj5 zTMwOTkvc%F!@grxN-&*H7hS?~zkFk0Uma?zs;)lm`qRb3&r#stDe&4W*FaR;4lce( z?TPzn4b|NCk*rPTFtq6Gg12#c02``IR8AJ zxoHQF#h;IcudoNP8XDFe5*EPXTGqD4SQ|FkQn?;`r~+4CvkMyu%E6_5Z<}wV%K_8Q zRp*L!8GvX&nrM`eEj%~?11f23Dd4WUA*Ksy9z!GO3gUVbo;^2{~7`fNm-I*)y818QvMo^vgJRui{Z)x z2_;8OAfst>MxLJrd`&t#`*w^1j1Q!Stz9Dxys_)NbYx^e$Xj-t`iTq}yh&_b)?@=q zINB^%uQ7rM(eB#U!J6Q({dQ!!8~OEnw&}?Y0*p9L`)ky;|GZLIwLZ9Jy+;jLn=U^- zcEb=3o^6O(K4cCu^UHRZJ6J(Ox@qbo`}wd#R`ONG8Dsdo*e0))Rs*=r+??cVl^|$K zy<>Ee65N-_@J_j*1TAY!Z?4a^g7kUCq8Gp0z&b()yMdhv7*I96E7@%XP2QC>tq~eP zs#KbOS8qrJ!1Ba<&v;HvKmVC7Zqd)E{!fZBB=3K^c=-8WTOgfzVeKVH3+VJ9eB)G{ ze!MfCMiQe=*b5Iim~K7%90mRp1YFIirEf+^!+%0vF^?$lzb!C&M0fQSFH3k6wn(g> zZRX?raZ@UXcPG@~f4dyGKNR>^2>5wBRC~O{>pA}lTa1YUD1ZVefC4Ch0w{n2D1ZVe zfC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVefC4Ch0{;yH0{I_hyyyHd_UKAJ!}FR22>r#u zW}52Y61|UiovkpCYtUc!teX%#8_cepyer?t4SS+QF89%>!0iEvjjnNgWXIDk>4eQk znZQ)y(2>*)67Z&v=I!BT^6y_?WhQ&kCzuAF9=yvdkjD#Jyh&#kq!55X&2(sslNj0g zI`Csp2;W@};5c#b>q0h7_)$|?!zM}oea$uD+q?o!(89wv1uf6cBC5F<`@`P}^qibjGs{_(y6U3jm^yn@k#{PPLb zKmKkwHZ_cI;Dy5VT7zG`NPn(}xIHnAi-;P$=*kAGO^tlx>lL8$e)}?|99bZKPHI|V zlzCL|13z3zH7`xs!VQaBTbng3)nTPZ)AGA(|8?!7mve2_>X);jNxHdUScd~RnfBJ* zrB#QIkH76bA1g?9IqIuD)U4y^pjiIx8jt5fkotAZMLApnqE0fY-S;BDAL%bx9Ot== zee%4odCBWmkTv<|#m2LB`%f%kf^FxRo7fY0VapX$iTdRPpr-Q(bJY?dxtyuJypLD5 z(tz3J118Pme87`j?psu&37Zv;dv_U;pRcX^pGy~iV?#(x^2GK%n3fMgA7l3fhqTA`hnh;UodYVU){PPo?YMq0`4;J_loK_}t zK@$?~%}1A?CjWfWxbB>lpvhcV74W8dYqKz{4^pmev($j3TK|@)Q>43hG7tPn?&XAK zw{ivzdSyT}Relalo(3c)QEiEqr~G{WtM=L8>mFvJLj`+IEVw0qi3>DL3aQ&B+V}f} z=B2u!yd>8bVtnnkC66_Os3G4xsipOEt#O;!$c{!nCD`o}P4}XK{B|Lql~^8NLJ#8E z$>H8Q(y(Cj@SPTW%Fl=9t-_^txOS{pSRC}Kt7q99g)J&Zf7%S8KwbVK3wm(zq9bE0OW5Q66#~+f_tk&)*jfa1`lHrEJ`Ct@3)ENn=WmATM;_{0tfi* zs?4*_RELIlj`1|L5cKlwaj`-%}c{%ST*4^vpCB}F4E8Q#5i|yX30kn^8ob# z>#c_!%5dhI_CvQXQH@lLQs-eH`0e~!f1Tv@dRiV&M_Ampw=z85hbscFy64;*af z)S#KBxKoN<5QHl(vpM&XUw?@ElaNy=<56RPleTw!KYx;fS#Mbhwe{rB$B6OtQhG*9 z7+5Fkx1wp=mfQmpK>VE4RFLPfz`UZ_kd<*SndSgDoc>gGPbrxIMIEvIidN*8m#6jk z@@_+RVAZ%RBQDDipA4=oQO=&|FS%^u`IeF1Un zxX}HOiD4P}*AHlFHTO~J^8iQ2CsB?8Z4fD+b)$X{`RD7X{cOJ1b?Cs?$ui6pz8m|V zjmTPRK>71=`){!(3v#hf_HX^HLXA|M%|9z!X7R~2AglTwG|5z^}+ zu^ovNRcIw_;slXuxBG8}2$0aHRqM5v{Q5JyR{b=U*~E1SrR;Q1dLEc}r#^VYM1Mb& zW$rtwOZt3KNk_fBV~iHkINHlI5Ay-1pxaHKHZ9n^Bs5rEo&0h2ko3N1KhL}R0Pnf&t!OTLA~7X~(1_1N*4j;J)$u@~?+ zoF%_M$$ohM`>>rLWM@D8N^2nwS}$H4mA*uPXSr*CyxmKFKS!(=ze-PBtZC#~#Q`;L zG_1qtrC?_&%iw@H5BzHVU;Y1e1Gc~s$5}vc(C>JUj|wtAj)O^T)^6k>3v* z|8%UomOTg5mTKH!ahnZ?ou0pMidP^zU&Q=Mbf&FIe#Hu#RG&sZ`>G7e^rgxcedO0a z6;p>1;Xpcg%1yQQtGU2rzg8i)j_++O`Nzlp<=kTGB|MY!e8HNwGuEZ#x7RXV+C{#_ zj1W(AspQlwS@_c0a3rQyg<`LQ(*)=ZelF+d*}R-no-?;(Lbtui-7Ob6|*O*>1XZ zl+Qz$=0-1)HlGWEJNAc)?h}OpmX@o?k8IK0EZsJj6W5C_|Y| zoa}PazUL6iOXC3jifiNNi_}2Dx#hJ+mmI|FEPlCs4e8f4;$-vJ_gBpU%Vl&Y?q>?Y zox<|9mb9AC+?2Us+jjEXnRv6!8#X02s2Zk2z#~#2lRi7 z_#yAF3?&JsmD&L+;P!gXw!Al__t(VoO_zSC_4>NQn-SC#yhCEs$v?kOjjyA!`K4V6 zC)i8aF{JD!z=eQWyLNh!AJ=ehs(SUEpT_ItZr;=zWP`e^H(qf$lkZ8)-W2U}6@!`@s({ygFJL8`>`XcoA<-0v1` zs2HTme>Y@nQG(lz8y@Y;A-$au^W`k_c8Fy_2v$F$FMs%j0OE${2TR|OKc3yv-0_lr zKO0;!>c5(ytpPSRg{G}egT_v}^3_flW2ZSdNP z4JuCY&*G%wgwv;~R(>d_yniI-4^tFC0Te(16hHwKKmim$0Te(16hHwKKmim$0Te(1 z6hHwKKmim$0Te(16hHwKKmim$0Te(16hHwKKmim$0Te(16hHwKKmim$0Te(16hHwK zKmim$0Te(16hHwK_}>01BW03ZMWL zl}gaNt5JEX!0vUl^ooZDl$b^gS4V0AsW#hNL^;QH5up8zSKJ9kL#Q&lnC!dV9C|m^ zvlv@g0~d!1(xX#`?q%GjOe; zQPH?<1hRgvBfF^eei@Hc2V8Gv0=JUK-zQfp!L3Z@lcGme$vz&&8)Ztj_-H_z#K8~Z ze0s1{@v`PQBNO=YP-Z|o$ZXnp*8JCtyy{fpaIJQpX*59az40Ai;%y;YQ({N_6$ek7*TWTgN0awo zm=CvA>SBIwHis)20i1dtP5vpKez9A_K(ZDr9NSlXZQ1;PytmjDnv@0=j~}&$qHC@r z8SO^E_271tGp{y4)`gqj0|?MmyV8Y$?~nJ!3x(R})aht~f6$^Jmqqq)`_1}fPFE+G z|5T-e@Wkk!_Dh9-DDWo`@Rq!Fs@O;wdM*T8c9xRfA5G2rxa`>7b!n=gocq?0z@QH? ziotTG&n;oP#ars{>zfH0f=v2klG||3H9gs>gJbQ zL&q`deblADKA&8aQ#jZRC<{)Ck`|A517jSLg_@;5S6Fimcd(XDO z0%jjh^_^!75VEb0&19V(C~=qOtz_1njJJR`?%BaKb=cs!u)=JEEf|GZjf~B8g-5!Q zH@es?p@uF-hvwKH>rc%GaaqKV>()sJH4v12GWycm8WK5|I9HE3fwE4%Rmwa4$^8-6 z$MnBbVAXdJbT~=*?*XRLnn^M%C_#89r? ze^-qi)5PzB#6B_X7P0}$l7$;b^<98=P|ELJt0lNLpZIb?*?{c)O_zWC90gDS1yBG5 zPyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu` z00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG0 z1yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5 zPyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu` z00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG0 z1yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5 zPyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5P~bmb zAnfO7Dfdl0@ViPX1>!%7*d1O0k`WJ|#u-mcaPLt$7Id4SWqmItUKPuyQ^#yRbNJmoih zNPQ>)+C!Ft0ToKn#-$o$q^ko1!hG!;MfD*2t+L^!cal(AA~S2mQ5rnr9S5o&P9K-* zAAgOvUz^tL6o)zL`HHro3edYNn3<|Y6VglMeyaDVLOvVqrJ>V&)8>;HZ)z%aeK`15 zs5s0meJj5BktoG+rpEo>S}qZ!dPw6Z1bnkgN7dQ5XPkeIj8CE*1KO}8VjW*E*W~+mm6(!`?@4%(59^sav@XUB`;nO2h;8lJUgd$|XXK#F>p}Qc- z`J?(b{pIX)^-cT1_1p4!;?3NY)l1c2k=XsW*B435IPS|N;lVvp%JAXo!&2`8H5d~3 z+{mp!`T1-h?V;{tZb2Zn<7)l`j^G>XYqm+u-N> zm#(NlhkZK}bCD#Z7gg)bQWb(eS7!lbX<{w?wlCKFg!)l2&Ma|Hw`?ph}bC$hfns}Yfdaqn>0(xMKUY#z_d zlayeWvC_K!9?Fkn3%K82WGe>mxdwZC*hMHlZdB9!Nty0^S|CYzKBtB+W>r3C9gf3dhTgYn?8cWFCZw~4^u@rZ~j23-&< z%jo^)B@976Iz00&IN(5R?k#pVW|*3f>6RB&>nXn9D+fU@k18(Y(F5cAs~W@aNdx^+ zku8eUl5kDfW}rG|9z>L@h{RiSL8pnj`Zo`jY4_uH>qtROpE&F)(GF+(p#sSXE3Pv7 z|1rK|^jxyZv_}MX#5(P1SuFv^uJ3rc8U?0}ODxYyo5!u|BE=z@+xvjaB4xPLEmx9v z^N;u!k}3}xrYMjcj~JJjYI+jpJdcxv&Qd8+|6wJ_xiRnTk^xDI;}PTjZ>6qXkJ;bf zXa8;a-SWCfU~Z2zFwfaVzsgT+#&IqCn7Rz<)WJ7}_uMvjEf7Dpe9lg9%KPPxWM{3i zC;Tw`;+-|N^=jaz_C8{XgA!;&@6U8NN>6cq^{>nQxWy(rd45kC>2NwJEDU_}OP+o6 z<%Kijk$zEU$#?!?n%`&|DG#^uSJf1A>j0g};*ZP$1kk0oK3cR?9Fo4+OK!a?0^dIu zispE7!!5VM`9k1i%Pv_^-P?S*sbS{x-Kp*F!Mjik<4=+hRJVyGv6Y|V z`az7_U)foIty>$kmp#akx}pjNjW?@u4o!c&h}%z1L!PUw@;NR#Isf2iVG3{w5{Iel zk-OY3af-H@PZL@d{Ehqz1VL>C&WG`G!{e>n#`-KsAO8^dOSeGtu8oES3@&z(^PH~< zH0uV=E@{_>%j<=97wbwx{q9uviYFrA%^t1%K7t#%a_6v1noZwcelD)q*={Zh2j}i6 z9C{@W?VDe7W!})5tjG4R$6Ba@r6F`sv6-h#5;kgdP@kwEIhW)tqeNO$J*B;ve7|BY33lkm*1+o?XI$qp@02S*7G z8RiZGwEL`5*nCqAinKlqC(Yvnm*m+AvI|JR9u@)#XXsr-!J{jE$zve}@Lr&Ig!`^8 za5;C?E!?IJmvq@r_7_S)PVMre8i#}->#N~f=TG;#Z=oYV;*ArqsZzn5^=Gv)2ecAq; z8?@3hF2}z25>j&)DnXip2Qh0KHet%8g<3xSR z%by;9B|P6r0M@OhJ*`0?z_#0djbX!TkeVzL@#TaV(BzJYSa9*f{K00a+}YFj7sPz> zNt~bOa9$J|LE0+9P7zEGhi|JA(SzW&j#JTon(%X6_UxKKDLCe}K9Kr_FqjeS&)*j% zy`8w)4n)Tv5QnShKPF~ytANOj#Roor)`cU?8`2WDYe2xGHSHa*)`* zsM(ro!@XY3!*?G`L-;Fw9XSaxh~`?;ets|M^*FI&=N;br6W8siRz#P3Dnm+^`y#W| zy71oWU_>aL4qU#vKmLFK<>$9;To)r+e@KER^9LH=&nj>-bf59;RWq*-Q;+ArdYNzb z?$}{7M)+O(DIM?Gp1DmL=(HW1#yBajcf|YBpW_ z(UO1-8?5uU_WlvSuVzk+rN>0Szjtw{<8@gm=NK(hcuD^FN+pz`&1IDooMfuJdU;$8 z*qcMvq^Rh^=k0kq?Gx>o=tgdOvoq7+S&#^5U+#FLO!uGH&d4nu_V$Min*1+yl2 zKRZL!zl-wwvP83lKQ?73LR@F=L%o9p@K>aDIV?x|{XtWW=*`o{%#TWg?YYre0Y^39 z+NBB?Hh#+QUoq9+Wtl)F2Idychm{MIVM}nc8uR+;pI4fiFXA$r{`*nRJRV>f$d){) zH1qplh;cFfa|sNeqoOv>(E;&vN58l$MzF)7l5w8_<@e3xw7##*nI#MEoR9WdE&#YS zkKa%7Fy--B#zqpqc8Y^^WJ%3^UVWg?y5hKBp7MC+Zx-j2+X#VUJfnWZ}7jR zKL74=ezBfYaSipV};=Jf76OelDGLGEjc}e9v1?ZK&J9^RaV?@_0UDn^%uKo4DVd zH|flR6as{>>$MU-aZv1d+;*Pu*}Z&V&c04obEhP*4`%9?tSA4u$*GQi)n)(mv4*Zr zMfh^kMw4!zK6JG%-V}Ju1Za(f&-QUq{(L3y7gMDf%D{PdzKV=BCJ@2CKFN8X9L2|# z=znx~%Z(8ueRzGq_9@i?nHk5+d}Qq&xsw2|N9+tgXv)qw9%1xq5~Hj#sNea)6L(Gu zoNR@{XqQp`9KmMx^qTi-;$X_7%ON=M-}`(j@%aC{(&MvyLo)7a!!i4ZJSrsswhz}g z&rK7jxW2qnTCiMisWdE1Ufn%3(LVHD?ed2XQGWkEci+a+XZ2z*q*grfe4PP^Tx8i| zCrf!eqH~!}czok_Eoi!Xm$lD-=I__&S~#FHAqe%MD`p+enR$Kwvhx_%)roQ2#ddm` zbxD+8=OC6BQ_=+XjosZQzTFyLo*exca?=iUjaP2Iv&Ryca+8FkC;D;HqWm9g$+y)+ zh$=uCPc`kAhpNyP*ku^9)euVb*INl5H-(K4=G3`5Q9fStXIefioh<`(^k=y*FEE9x zxw|)6A5Cq#(?A?%dPSlwWT<-EDk4uSXn|K7MgDahHYBdra-A zO$;-3+|!!ML0?b$bCOdI!=G+(&+9kwe2(g{VOuGmq_2o7j9-(t=pm3zEjqRpCNh z#_Om;0gB+sVzZ28FXinc-PC?n}xGL|RrVqgR{?y|~ zT=wT$JSVV59kwu~rFm6oLh+q-+y&)^aK^zQm6OX1t{lp+kF=z`eGF9H*&+8<8s=x+ zOK71th4WS2Y1LxNGj1Qb8w%4*&S-;|1C#f;u$iClZ$A)Sf!A^alK&pv6C>cJy#76hHwKKmim$0Te(16hHwKKmim$0Te(16hHwKKmim$0Te(16hHwKKmim$ z0Te(16hHwKKmim$0Te(16hHwKKmim$0Te(16hHwKKmim$0Te(16hHwKKmim$0Te(1 z6hHwKKmim$0Te(16hHwKKmim$0Te)iKfAyp+eKPu&uM_w$3ERX9{3*CKl}0etL5+1 zgC}S2ma9Sv&9(R!QZuiAoPusQecCKRk=i|#HBk*_>Xoe+Q#mV66XqwY-FZLpzGuCc zQDSpXQT}@YGtCcfj{+!w0w{n2DDc-4p!;^7EmcVyZVT=7Ei9b*?`-iTm-`mgSipwI zh0V9O5Fmcp>*I@y1c6ey1ie+BWh1Kpcz?bb5Ont0uPRf46AWJ&aycmf-QS>s+ZQ-0 z32>XyF(~1n8Psf?`>5%L7WmVgzaREM30~3^b1pd}2l5X7A?-Y}u)MOpS)oD-D&{Rb z_EDSi-&3X30k=Z|6hHwKKmim$0Te(16hHwKKmim$0Te(16hHwKKmim$0Te(16hHwK zKmim$fvEz*?+#zkHQ*;Q=$;t!Q&(*8+w(^l3 z_aRM@C|jTu3<&eJZxq#ofW#-4Td%8v$UD7ZCVx42wbLaQltoF7+r-7&MpCE8tjC66~WgGr7eaAbTEEpF^9fz_OF6D>Wb8n?*8>mjUk2PX9`Iax%hdj=# zyiQ*7pReNOkh*Z_h6GUWt}btF)t_u1wNJ#?Dk~epR3BXa-x27uUnwl(N%?s`aP;QG zPosRWa#$yFmWDK>4CXI5{Y4fS>o-b|TarKj=;>ZP$fzzpIsb@gaNY56fg1dXc&9tJ zSrDp@$i1>z(HqR5;uNhcm{&!;;N))5L5$hCeSVDVKn5ubzVDrE*}La6wgVKl#sv4}>2d zI{cL%=DhM@Ir>oz9=i5MbT85ZmW#|Sih?qb?r_+fQ&tYz5Pr^`a2_u5Z!pw*)xmADPvAcINYGvGbBb)G?AU zu4D6soioe)`8Z!JT~6EX zfGiX}_VNqMRf1ga?1Qsks{!vzIO?6G$uACdcFMoR9uqzsZe9T;J!O9^<`2 zMfj1qsAf<`18UPaRl3GB$<7}!9x>f(4=YYAlK@3ApZVA2$-f>(jDzW4Q=s_bnNqo6 zQ84Y)xJ*jO<{&gYoSoiSbTSQ^k{FVKCEH(epE(kEIAvA~Yr7+y=maiD=O;)Z_K$%r^hv6v6REIcPq&sUrBO)43y$f zhCM>;Q3~%(VPW#>?x8g%pt@#}iRv5j+nWe&!w`SF1gQ5|{oF973^~Fd%s1^=Pyhu` z00mG01yBG5Pyhu`00sU%0<>{C^_L7v?4;&IQW0 zrlQ)YFT<)%&kFJUsvnZB3xg`_@V1wn;&8J)sUSFr2dWy1N5lr0NRDsM|90~t6K?pi zEp*Q}ra#^TY7tN=$HylQ&!XcAJ@$f7!QW;=rNc~e+>ht?v=3Jb!~3M0{cQ2FP%G+~ zANEB9e!8^8_=szQt>cxZv0U=s`=y{ec=Tnf0DMr3RJ%P(5)^c+4}CXOoqXR4rLM&7 zw%q%y@bG~+cyZizElVc-eH6s)G5vE1DBKM4xunYmn_mYX7vIYXZkv{cp5)=^xw-Y5H8RfLG4Yje0L&V%K4RW>i&V|RBh z9AF^1{+*HhHuU0~D6FJy8Q$EYIN8nyJNFrhoS%3fuZ8{KhIsPtkAfu)RCMcwz;k)r zzDh$`7}l#O?lC1mRMN|~ZeHv^{u;IW&s&P5gapeRZFYG0(EYGF7eD;`%DL3BhY#k7 z(^5NmvXR_Ah$Uo~tlCQ5DFlK^c}_|$%COs5+2`0|8CXUoEdMT=^!H~I;{{eN+*r9s z5C&tu9N_R*fakR=Jye+*lkJbV9;PVpH-Uh%2%E1%jIjAY;tl?_Y>;%@T;Yo`8(2o~ zgVD>hK(3PKVrmBKU;(%y0bxr`b`BbO-Gt}0Eu{yDr4uW>Z* z^Gx&3=dbnq{r1}5wf1MPwf9=<_dI)7O-YWkCx4nXwbhBQ3+21J^qT#rB_En^~57YxWtj zaod+K7t2#BCj52B{>*U)=QA_6EFbWC?)%5ux%F1&e=sQ~U6`EQWPQ!Zy5P&V2Un~W z1@rV;_x84OQMOdAHpBmv`}xec`9nUMzq5E`y}T)N-aD0J(wM(}J?rJ#huZPN1s^^7 z!+p7rmvcJ5SzN5cX_Zfp$5RVUpFOie6i7*UX!C^BXy5RI1z$Y;&(CLa%8~wi3-rBU z_~wjJMPfnnkjh{8EE5maop{3^(#yrBMTr$}>{2{-)hs^8WApMEOC8Nr_ zA70kx;q++#a@)S6zDSQZdau9jw)W+sW5Vt0tK=;axmEk!-A%jJ+Mg6lrY@Y;;IWGF zP}YI3W@V%u>K|A4FE{Jif>m-I@5pjDwYl)Q<^{{gowqMc?KeFoQVN#-y!evzUmfqr z_`d&Z1bUy<<=(<`i$;-OdTt+oYKdr?ci^(+^^>B}{+qho*znX7KEL0M+x5Zdrz^&y zxf@HIwY+LnT=eMk)89;vnQIDMcuJuYUvIi*OucnmU#t{ux6DpT?o;Pbd!F=%jyvnV zed5oj9yg&=+W0nS#O627xVq5xGo#~or~TaH#_F+lWce+9GynPL?|$E^-)TKYmyI@y z3*KC)r02mOuT|gvMcJyOD*i4~2E33uqEPPF|BsB@t;^ct{U;?wTIAn3|C9<*dGjZI zsvLa3Qr9lE-+b|&q{uigz0cekxo^*PF5CBH>wC)|H4fjNeEs|zOpe5t_bh$uq13qX)ZrDTjA{_ieAln*zFBD}+~0B>QhvPS zywh5iiwz}zm-zO~DzWsniksK%`{&=UG4TF(yA^CvI(pxE+rnob`StgYoO@7OkF~96gHN zke+_N9M1i6cGc?DdXG%7m$Ivd9790O*i!xoxMCWCiWS(|94$mMcI>1+246gtK-H?YtnP@AN$vfox^VWp+n`C z@s~ZjicGI~xZk~5;j4tn9a=}f#lKwq@=I-w8E<2?hTktZP%obQ%LkKsFKivdhVS^Q z)&36AcjA(yW_?;j{k4y$K2W7`+}^#w`6*M=+eqa~E~-*^O3m23VoCNZjT^_S|jrBJ?rB;JEcZ$W3Er!Gp5eKlqlHg)(>l4 z)gbR3X_clLnyj3$3#Tp&nr6Zy)4iC zQZ=LO;C>Ijxw>Jjdal@OZ8Ear(xokz&TZK;nitHd+oylaxMg+!KNoy9>$v^xH;tuo z|K|d|s?Dn0p>#^TROgdr&E}-VjO;Ph-|So`rrep9lu`Tm?JuW7O-?HJPLG|nWB-eL zcfT^Md0bQY&CM5W%8dJ~S1-2txvWU6J#_x8w~pQZ9xc?k&(A$lB0Ia(@-II*I4|fq z=ZA}?WgWWCf08t#+@)#lFzn>>BC+q# zI@7kbj=%4Hp>yiR&7$>~PF*(~oNuJpy|45c*EEcelfU?&;+n(r{UhV~{_iD_H+jI? zR~o0r2eoVU>7K7nY&%e`^N_K1BezE}GV7U*ONLj8w@*$e_4)2PQFX@aOB-GoarskY zMh?uI6+JrNnwb2TW4Gs=avHBcZ%^+HHDkc8eFw6hZ5jt&=}>=V$HVP9XIy_%qp#oS zcyL`SXTKxULA`5@D>|)ueDuJEMq|6jp>}=s*7vS|Z(*psuicDg$vb#1#jORj4a z%O+RNQ+4LC+w*;=uluE5)pO$KSl@MC2Xv3q-raE%!rXs4Eko`$n3aj)hCxf zTl(<&PENT;rmwVEwf5SjHDX-7Jgp|@Z5E%Nyza%eiLDM@pUWm>TzBEanX$0UsHAf) z%7|}=^qE+7>A7)aoSg5g_T+D#XXO95KJOi}IL|wo(PZNly`FunaZKO-eWBu?)sDx? z+&;AP%G$B%fr}Hjr5(NgJhg9~ms;J?IQri9%_Eg=Xcq&g4DS2dl8jg#Ysy@6N$q2n zpHq*Vw0!%HpC(SNA63d-S-tS?b}^(|iJJCxrp>?i$g2wZZ?8%3{} zRW-_-Gw#mT*Vl+P?`2&wxKZxkFW#zLsbx2>svJ*0U9j-dg>~b`IU{d)ZAjBdy5q)s zw>FO$Qg1++)Pw6f$2;2my9>N^U~y{PG`>Yj)yzim+zXdHwCww=__=w@j~;7yc-)e6 z-9J{mMYEgc88kU9{_CfoGBy{b@xdR zrbT?cbknTshQv|z8-7uf=XX|0jcb~{+WDD->#jNDp&j{`Z0m7#MD{ZSKHHG5e$45S zvU%r(n(@i@QzyPqqgIS=^T5EBHy`%vbI-K2QeRY$d83z2IxzO&I@dSV=8P}gF&=yM zh0~sT>zt#?J=Ssg{nrWH|NZPw-)dPY*UmqlykmRM9VyXqbFnu+-+FNTv0}sMR!^oy z<3e{8y=z~cSbpDuQXg%vcg%Pn&FwrhbwrKGeyU^Q?8}w9gtu(d_ru-hE@{q5H+eSBKwK zAz$10@(-8)a&5PEv25Ce?>7x-7uhv8wEAPsHt~7at{X>X9sa*!SF3fcSKQI)Q2T8@ z_<}{9Tepmj?^S7db6TUQd(S0f_U)<@4JMrbrv*QyN9lylO|HA8e*EpPCsluLeZ9Ck zdFh;+u1$~2mp|C0V)yznqw!Url{m9)BsEpu>-a#y-5MQry__ z`Q7=O)QH~2FaL4a-rPUmB&XgxcRo3P%qLZ2`**RX_l5Q2gIhnI@s~;w^RxC18b9~k z$jK)qK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB=DiEReD_@?839#c2M+$EBOiNsh4>6dTp$;wtg}!hN5gKDT82^jpLoarf zIch6Eyf<}ttK>-gc44pif2tN0lJ0JM_2yECw&&!N68J3&Trgtk)3YwA898<9SAD|G z4KmBe`lX}Bf7iESq&&Rt{qlF7erS76J}H6!1c9I1Upj8foU};nneVQ`n<~fbVkLiG zv7ky!S<~jb(bH?k#14~pts9j4`^T}&;^aG~mpvmXj723e+9X5;kf{<=pcH&bR6C;oN8{HNzTef#z4p3@@&1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk 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 zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N P0t5&UAV7e?e<1J&^bK}y literal 0 HcmV?d00001 diff --git a/climada/test/test_hazard.py b/climada/test/test_hazard.py index c55dac5d9b..d4eaf7974c 100644 --- a/climada/test/test_hazard.py +++ b/climada/test/test_hazard.py @@ -88,7 +88,7 @@ def test_read_write_vector_pass(self): intensity=sparse.csr_matrix(np.array([0.11, 0.22, 0.33, 0.31])), fraction=sparse.csr_matrix(np.array([0, 1, 2, 3]) ), centroids=Centroids( - longitude=np.array([1, 2, 3, 3]), latitude=np.array([1, 2, 3, 1]), crs=DEF_CRS + lon=np.array([1, 2, 3, 3]), lat=np.array([1, 2, 3, 1]), crs=DEF_CRS ) ) @@ -135,7 +135,7 @@ def test_read_write_vector_fraction_pass(self): intensity=sparse.csr_matrix(np.array([-0.11, -0.22, -0.33, -0.31])), fraction=sparse.csr_matrix(np.array([0.11, 0.22, 0.33, 0.31])), centroids=Centroids( - longitude=np.array([1, 2, 3, 3]), latitude=np.array([1, 2, 3, 1]), crs=DEF_CRS + lon=np.array([1, 2, 3, 3]), lat=np.array([1, 2, 3, 1]), crs=DEF_CRS ) ) diff --git a/climada/util/test/test_coordinates.py b/climada/util/test/test_coordinates.py index 76be806f89..bdd0ef9d52 100644 --- a/climada/util/test/test_coordinates.py +++ b/climada/util/test/test_coordinates.py @@ -582,11 +582,11 @@ def test_match_centroids(self): coords_to_assign = np.array([(2.1, 3), (0, 0), (0, 2), (0.9, 1.0), (0, -179.9)]) centroids = Centroids( - latitude=coords_to_assign[:, 0], - longitude=coords_to_assign[:, 1], + lat=coords_to_assign[:, 0], + lon=coords_to_assign[:, 1], crs=DEF_CRS ) - centroids_empty = Centroids(latitude=np.array([]), longitude=np.array([])) + centroids_empty = Centroids(lat=np.array([]), lon=np.array([])) expected_results = [ # test with different thresholds (in km) @@ -617,8 +617,8 @@ def test_match_centroids(self): coords_to_assign = np.array([(2.1, 3), (0, 0), (0, 2), (0.9, 1.0), (0, -179.9)]) centroids = Centroids( - latitude=[1100000,1200000], - longitude=[2500000,2600000], + lat=[1100000,1200000], + lon=[2500000,2600000], crs='EPSG:2056' ) From 43c2f1b0a85ba3fca9963171c9c5cab2e4966de0 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 12 Dec 2023 18:12:11 +0100 Subject: [PATCH 114/192] Auto stash before revert of "Make keywords argument only : name lat/lon : remove set_*" --- climada/test/data/LitPop_150arcsec_LUX.hdf5 | Bin 1075384 -> 0 bytes .../test/data/LitPop_pop_150arcsec_AUT.hdf5 | Bin 1513248 -> 0 bytes ...r_flood_150arcsec_rcp26_AUT_2010_2030.hdf5 | Bin 185049 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 climada/test/data/LitPop_150arcsec_LUX.hdf5 delete mode 100644 climada/test/data/LitPop_pop_150arcsec_AUT.hdf5 delete mode 100644 climada/test/data/river_flood_150arcsec_rcp26_AUT_2010_2030.hdf5 diff --git a/climada/test/data/LitPop_150arcsec_LUX.hdf5 b/climada/test/data/LitPop_150arcsec_LUX.hdf5 deleted file mode 100644 index 05036904fb3677e7955774029e187ffb170669b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1075384 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 z1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he! z8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4` zWFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`% zkbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5 zKn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I z0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO= z3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5e zGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|> z$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+j zAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609 zfed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb z1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he! z8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4` zWFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`% zkbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5 zKn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I z0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO= z3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5e zGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|> z$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+j zAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609 zfed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb z1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he! z8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4` zWFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`% zkbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5 zKn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I z0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO= z3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5e zGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|> z$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+j zAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609 zfed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb z1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he! z8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4` zWFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`% zkbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5 zKn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I z0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO= z3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5e zGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|> z$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+j zAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609 zfed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb z1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he! z8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4` zWFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`% zkbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5 zKn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I z0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO= z3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5e zGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|> z$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+j zAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609 zfed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb z1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he! z8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4` zWFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`% zkbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5 zKn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I z0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO= z3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5e zGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|> z$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+j zAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609 zfed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb z1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he! z8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4` zWFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`% zkbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5 zKn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I z0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO= z3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5e zGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|> z$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+j zAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609 zfed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb z1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he! z8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4` zWFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`% zkbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5 zKn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I z0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO= z3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5e zGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|> z$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+j zAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609 zfed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb z1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he! z8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4` zWFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`% zkbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5 zKn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I z0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO= z3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5e zGLV4`WFP|>$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|> z$Up`%kbw+jAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+j zAOji5Kn609fed6I0~yFb1~QO=3}he!8OT5eGLV4`WFP|>$Up`%kbw+jAOji5Kn61K I|Am473;5rOHvj+t diff --git a/climada/test/data/river_flood_150arcsec_rcp26_AUT_2010_2030.hdf5 b/climada/test/data/river_flood_150arcsec_rcp26_AUT_2010_2030.hdf5 deleted file mode 100644 index 1f34a63db594813fa388d5267572d9c0513359f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185049 zcmeEP2S60bwjITs;~Lh0IZIYB&^6`=D&~X;2q;OwtYFSL=bUrSf*CVr*NE#Ha1EFh zMfta8>W(#4J)`d1b>IJgc<*@XRGq5suG?K*-P7GWra_&0Su+*Pq@jNqGHB9ha_Exy zPYV0HelfK!3pJK^VTn|XM>Afnw`)@A{-@F8XZbl<`=YO9i@J3+n$#L>ADLCt*rw5^ zLRrRvf%=3q8Z7*Ox(6E6)i$FWxS4Gw?r*yt{@Kk=rAY^SF#NFvreb??s#N+6Tn}U` zD5vQHP)?5|3Vm4yNNF@_H5qg|b!vTf2G*WcDk#wX(HdX>a2}RG0mn0nheZP zzpi`z+ATaf6mL`C!`j)gc*VMI9(9}6YEl<+Lc#)ltn2%R`1nQycw2k)3y<&(vbJ+^ zcC_{l4)+b}8t7ZRVpA~JZDH12wq=-CaCksOx#FF^%U-{#gY9>FovS*0x7W_j>H8bD zt5VhR`&+JB#h#k$HfhqZnTLDBI$!&TeO-Rd`~t8c-_*AGe{v$CySRYxZWdl!2rI~Ny62M4HJ+oOYTU|>LKcu0VcS71f^ zP8GFn8$!VSFtCAM5djgse0;6THt~WWRSXUZi}0`L-l7h~)ehX>xg4?8kYGP-HY6CD z_4NvmV6D=1_|8^ad1&j`?ch<{y&3G04MM^K`iBHZcm-N}hXjR&1p5X@Sci18cBo?= zuG>2+LkzSn>T22kNM)^B?rl3%aDSFCu##_hkUc$y@N~=h?9_bhG_T=&_G&&hl<+F!Hg>Ox}m_F!I^U%f)yY`S3OZw_J>ekP|5 zhU3G?hxfz2ZinIgVdQg>+f$84HQA>ckLt2dH6Ar&pK3g6%0AV2xXM1&cqp<@H6BFv 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 )h?`uA-bAR(8{NZ>UI>fwYePAAf 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 From 32a4be989fcf14c7b3976f9e628249408b0faaaf Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 12 Dec 2023 18:12:32 +0100 Subject: [PATCH 115/192] remove file --- climada/test/data/test_haz.h5 | Bin 25128690 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 climada/test/data/test_haz.h5 diff --git a/climada/test/data/test_haz.h5 b/climada/test/data/test_haz.h5 deleted file mode 100644 index 7c8c29166b0a8de1b8a2a21afa1caa0484a5af3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25128690 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ɲSD;H&r=zK(C;oA?&Kjql*Q_#VEGAK-`h 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�Nm!MafVnYtVq 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 KMy1O;m3~qGX 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 kAW3XCQ#-m{j9%Yg&N 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 z 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�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

`$_BNFItw%3*}`ocjTC9Z?~!!S_>lO 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 z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk 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 zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N P0t5&UAV7e?e<1J&^bK}y From 2464066144e9896cfdde354d9392cc3908bcbdbb Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Tue, 12 Dec 2023 18:57:06 +0100 Subject: [PATCH 116/192] Fix exposures method test --- climada/entity/exposures/test/test_base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/climada/entity/exposures/test/test_base.py b/climada/entity/exposures/test/test_base.py index 5ce6ec3938..e565d7dcf0 100644 --- a/climada/entity/exposures/test/test_base.py +++ b/climada/entity/exposures/test/test_base.py @@ -197,7 +197,7 @@ def test_affected_total_value(self): ) exp = Exposures(gdf, crs=4326) intensity = sp.sparse.csr_matrix(np.array([[0, 0, 1, 10, 2], [-1, 0, 0, 1, 2]])) - cent = Centroids(latitude=np.array([1, 2, 3, 4]), longitude=np.array([-1, -2, -3, -4])) + cent = Centroids(lat=np.array([1, 2, 3, 4]), lon=np.array([-1, -2, -3, -4])) haz = Hazard( haz_type=haz_type, centroids=cent, intensity=intensity, event_id=[1, 2] ) From d031a793ba19bd5d95eee4d6a22b56e2b933289b Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Wed, 13 Dec 2023 17:23:34 +0100 Subject: [PATCH 117/192] Fix setting region id and on land at init. --- climada/hazard/centroids/centr.py | 8 ++++---- climada/hazard/centroids/test/test_vec_ras.py | 16 ++++++++++++++++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 4ce0afac2d..6416460c8d 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -123,11 +123,11 @@ def __init__( self.gdf = gpd.GeoDataFrame(data=attr_dict) if isinstance(region_id, str): - if region_id == 'admin0': - self._set_region_id(level='country') + LOGGER.info(f'Setting region id to {region_id} level.') + self._set_region_id(level=region_id, overwrite=True) if isinstance(on_land, str): - if on_land== 'country': - self._set_on_land(source='natural_earth') + LOGGER.info(f'Setting on land from {on_land} source.') + self._set_on_land(source=on_land, overwrite=True) @property def lat(self): diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index d85991557d..adc80d396e 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -103,6 +103,14 @@ def test_region_id_pass(self): REGION_ID ) + centroids = Centroids( + lat=VEC_LAT, lon=VEC_LON, region_id='country' + ) + np.testing.assert_array_equal( + centroids.region_id, + REGION_ID + ) + def test_on_land(self): """Test set_on_land""" self.centr._set_on_land() @@ -111,6 +119,14 @@ def test_on_land(self): ON_LAND ) + centroids = Centroids( + lat=VEC_LAT, lon=VEC_LON, on_land='natural_earth' + ) + np.testing.assert_array_equal( + centroids.on_land, + ON_LAND + ) + def test_remove_duplicate_pass(self): """Test remove_duplicate_points""" centr = Centroids(lat = np.hstack([VEC_LAT, VEC_LAT]), From a1040f84dcb48873837e9247ee96b78390d40f7c Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Wed, 13 Dec 2023 17:23:47 +0100 Subject: [PATCH 118/192] Fix typo --- climada/hazard/storm_europe.py | 2 +- climada/hazard/test/test_storm_europe.py | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/climada/hazard/storm_europe.py b/climada/hazard/storm_europe.py index d6bdfd9eed..a15ad6a49e 100644 --- a/climada/hazard/storm_europe.py +++ b/climada/hazard/storm_europe.py @@ -557,7 +557,7 @@ def _centroids_from_nc(file_name): if create_meshgrid: lats, lons = np.array([np.repeat(lats, len(lons)), np.tile(lons, len(lats))]) - cent = Centroids(lat=lats, lon=lons, on_land='naturel_earth') + cent = Centroids(lat=lats, lon=lons, on_land='natural_earth') return cent diff --git a/climada/hazard/test/test_storm_europe.py b/climada/hazard/test/test_storm_europe.py index 5a26de092f..7b8c81f901 100644 --- a/climada/hazard/test/test_storm_europe.py +++ b/climada/hazard/test/test_storm_europe.py @@ -29,7 +29,6 @@ from climada.hazard.storm_europe import StormEurope, generate_WS_forecast_hazard from climada.hazard.centroids.centr import DEF_VAR_EXCEL, Centroids from climada.util.constants import WS_DEMO_NC -from climada.util.api_client import Client DATA_DIR = CONFIG.hazard.test_data.dir() @@ -87,9 +86,7 @@ def test_set_ssi(self): storms.set_ssi(method='dawkins') ssi_dawg = np.asarray([1.44573572e+09, 6.16173724e+08]) - self.assertTrue( - np.allclose(storms.ssi, ssi_dawg) - ) + np.testing.assert_array_almost_equal(storms.ssi, ssi_dawg) storms.set_ssi(method='wisc_gust') ssi_gusty = np.asarray([1.42124571e+09, 5.86870673e+08]) From a748ee0f675be2315190e895805d558207620782 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Wed, 13 Dec 2023 17:39:06 +0100 Subject: [PATCH 119/192] Fix all close values for big numbers --- climada/hazard/test/test_storm_europe.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/climada/hazard/test/test_storm_europe.py b/climada/hazard/test/test_storm_europe.py index 7b8c81f901..f928e9db47 100644 --- a/climada/hazard/test/test_storm_europe.py +++ b/climada/hazard/test/test_storm_europe.py @@ -86,7 +86,9 @@ def test_set_ssi(self): storms.set_ssi(method='dawkins') ssi_dawg = np.asarray([1.44573572e+09, 6.16173724e+08]) - np.testing.assert_array_almost_equal(storms.ssi, ssi_dawg) + self.assertTrue( + np.allclose(storms.ssi, ssi_dawg) + ) storms.set_ssi(method='wisc_gust') ssi_gusty = np.asarray([1.42124571e+09, 5.86870673e+08]) From 652a2b8f968c3a8b6cdd4922af54c0f46355367f Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Wed, 13 Dec 2023 17:47:26 +0100 Subject: [PATCH 120/192] Improve cosmetics. --- climada/hazard/centroids/centr.py | 177 +++++++++++++++--------------- 1 file changed, 91 insertions(+), 86 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 6416460c8d..16c9fe7322 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -359,58 +359,6 @@ def union(self, *others): # remove duplicate points return Centroids.remove_duplicate_points(centroids) - def get_closest_point(self, x_lon, y_lat): - """Returns closest centroid and its index to a given point. - - Parameters - ---------- - x_lon : float - x coord (lon) - y_lat : float - y coord (lat) - - Returns - ------- - x_close : float - x-coordinate (longitude) of closest centroid. - y_close : float - y-coordinate (latitude) of closest centroids. - idx_close : int - Index of centroid in internal ordering of centroids. - """ - close_idx = self.geometry.distance(Point(x_lon, y_lat)).values.argmin() - return self.lon[close_idx], self.lat[close_idx], close_idx - - # NOT REALLY AN ELEVATION FUNCTION, JUST READ RASTER - def get_elevation(self, topo_path): - """Return elevation attribute for every pixel or point in meters. - - Parameters - ---------- - topo_path : str - Path to a raster file containing gridded elevation data. - """ - return u_coord.read_raster_sample(topo_path, self.lat, self.lon) - - def get_dist_coast(self, signed=False, precomputed=False): - """Get dist_coast attribute for every pixel or point in meters. - - Parameters - ---------- - signed : bool - If True, use signed distances (positive off shore and negative on land). Default: False. - precomputed : bool - If True, use precomputed distances (from NASA). Works only for crs=epsg:4326 - Default: False. - """ - ne_geom = self._ne_crs_geom() - if precomputed: - return u_coord.dist_to_coast_nasa( - ne_geom.y.values, ne_geom.x.values, highres=True, signed=signed) - else: - LOGGER.debug('Computing distance to coast for %s centroids.', str(self.size)) - return u_coord.dist_to_coast(ne_geom, signed=signed) - @classmethod def remove_duplicate_points(cls, centroids): """Return a copy of centroids with removed duplicated points @@ -491,7 +439,7 @@ def select_mask(self, sel_cen=None, reg_id=None, extent=None): return sel_cen #TODO replace with nice Geodataframe util plot method. - def plot(self, ax=None, figsize=(9, 13), latlon_bounds_buffer=0.0, **kwargs): + def plot(self, ax=None, figsize=(9, 13), latlon_bounds_buffer=0.0, shapes=True, **kwargs): """Plot centroids scatter points over earth. Parameters @@ -523,7 +471,9 @@ def plot(self, ax=None, figsize=(9, 13), latlon_bounds_buffer=0.0, **kwargs): else: self.gdf.copy().to_crs(proj_plot).plot(figsize=figsize, **kwargs) - u_plot.add_shapes(ax) + if shapes: + u_plot.add_shapes(ax) + plt.tight_layout() return ax @@ -553,6 +503,89 @@ def get_area_pixel(self, min_resol=1.0e-8): area_pixel = xy_pixels.to_crs(crs={'proj': 'cea'}).area.values return area_pixel + def get_closest_point(self, x_lon, y_lat): + """Returns closest centroid and its index to a given point. + + Parameters + ---------- + x_lon : float + x coord (lon) + y_lat : float + y coord (lat) + + Returns + ------- + x_close : float + x-coordinate (longitude) of closest centroid. + y_close : float + y-coordinate (latitude) of closest centroids. + idx_close : int + Index of centroid in internal ordering of centroids. + """ + close_idx = self.geometry.distance(Point(x_lon, y_lat)).values.argmin() + return self.lon[close_idx], self.lat[close_idx], close_idx + + # NOT REALLY AN ELEVATION FUNCTION, JUST READ RASTER + def get_elevation(self, topo_path): + """Return elevation attribute for every pixel or point in meters. + + Parameters + ---------- + topo_path : str + Path to a raster file containing gridded elevation data. + """ + return u_coord.read_raster_sample(topo_path, self.lat, self.lon) + + def get_dist_coast(self, signed=False, precomputed=False): + """Get dist_coast attribute for every pixel or point in meters. + + Parameters + ---------- + signed : bool + If True, use signed distances (positive off shore and negative on land). Default: False. + precomputed : bool + If True, use precomputed distances (from NASA). Works only for crs=epsg:4326 + Default: False. + """ + ne_geom = self._ne_crs_geom() + if precomputed: + return u_coord.dist_to_coast_nasa( + ne_geom.y.values, ne_geom.x.values, highres=True, signed=signed) + else: + LOGGER.debug('Computing distance to coast for %s centroids.', str(self.size)) + return u_coord.dist_to_coast(ne_geom, signed=signed) + def get_meta(self, resolution=None): + """ + Returns a meta raster based on the centroids bounds. + + When resolution is None it is estimated from the centroids + by assuming that they form a regular raster. + + Parameters + ---------- + resolution : int, optional + Resolution of the raster. + By default None (resolution is estimated from centroids) + + Returns + ------- + meta: dict + meta raster representation of the centroids + """ + if resolution is None: + resolution = np.abs(u_coord.get_resolution(self.lat, self.lon)).min() + xmin, ymin, xmax, ymax = self.gdf.total_bounds + rows, cols, ras_trans = u_coord.pts_to_raster_meta( + (xmin, ymin, xmax, ymax), (resolution, -resolution) + ) + meta = { + 'crs': self.crs, + 'height': rows, + 'width': cols, + 'transform': ras_trans, + } + return meta + ''' I/O methods @@ -810,6 +843,10 @@ def _legacy_from_hdf5(cls, data): geometry=gpd.points_from_xy(x=longitude, y=latitude, crs=crs) ) + ''' + Private methods + ''' + def _ne_crs_geom(self): """Return `geometry` attribute in the CRS of Natural Earth. @@ -822,38 +859,6 @@ def _ne_crs_geom(self): return self.gdf.geometry return self.gdf.geometry.to_crs(u_coord.NE_CRS) - def get_meta(self, resolution=None): - """ - Returns a meta raster based on the centroids bounds. - - When resolution is None it is estimated from the centroids - by assuming that they form a regular raster. - - Parameters - ---------- - resolution : int, optional - Resolution of the raster. - By default None (resolution is estimated from centroids) - - Returns - ------- - meta: dict - meta raster representation of the centroids - """ - if resolution is None: - resolution = np.abs(u_coord.get_resolution(self.lat, self.lon)).min() - xmin, ymin, xmax, ymax = self.gdf.total_bounds - rows, cols, ras_trans = u_coord.pts_to_raster_meta( - (xmin, ymin, xmax, ymax), (resolution, -resolution) - ) - meta = { - 'crs': self.crs, - 'height': rows, - 'width': cols, - 'transform': ras_trans, - } - return meta - def _set_region_id(self, level='country', overwrite=False): """Set region_id as country ISO numeric code attribute for every pixel or point. From 68063317513769c1e4a13acb766229dbbbf0d2ac Mon Sep 17 00:00:00 2001 From: Igor Detring Date: Thu, 14 Dec 2023 15:42:07 +0100 Subject: [PATCH 121/192] update docstrings, doc cosmetics --- climada/hazard/centroids/centr.py | 71 ++++++++++++++++--------------- 1 file changed, 37 insertions(+), 34 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 16c9fe7322..483f77a1cd 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -83,9 +83,6 @@ class Centroids(): (can be any values, admin0, admin1, custom values) on_land : np.array, optional on land (True) and on sea (False) - kwargs: dicts of np.arrays, optional - any further desired properties of centroids. Is passed to the - GeoDataFrame constructor """ def __init__( @@ -111,8 +108,6 @@ def __init__( country region code of size size, Defaults to None array on_land : np.array, optional on land (True) and on sea (False) of size size. Defaults to None array - kwargs: - columns of values to passed to the geodataframe constructor """ attr_dict = { @@ -131,12 +126,12 @@ def __init__( @property def lat(self): - """ Returns the latitudes """ + """ Return latitudes """ return self.gdf.geometry.y.values @property def lon(self): - """ Returns the longitudes """ + """ Return longitudes """ return self.gdf.geometry.x.values @property @@ -153,7 +148,7 @@ def on_land(self): @property def region_id(self): - """ Get the assigned region_id.""" + """ Get the assigned region_id """ if self.gdf.region_id.isna().all(): return None return self.gdf['region_id'].values @@ -170,7 +165,7 @@ def size(self): @property def shape(self): - """Get shape assuming rastered data.""" + """Get shape [lat, lon] assuming rastered data.""" return (np.unique(self.lat).size, np.unique(self.lon).size) @property @@ -198,15 +193,13 @@ def __eq__(self, other): return self.gdf.equals(other.gdf) & u_coord.equal_crs(self.crs, other.crs) def to_default_crs(self): - """ - Project the current centroids to the default CRS (epsg4326) + """Project the current centroids to the default CRS (epsg4326) Modifies the object in place. """ self.gdf.to_crs(DEF_CRS, inplace=True) def to_crs(self, crs): - """ - Project the current centroids to the default CRS (epsg4326) + """ Project the current centroids to the default CRS (epsg4326) Modifies the object in place. Parameters @@ -253,8 +246,7 @@ def from_geodataframe(cls, gdf): @classmethod def from_exposures(cls, exposures): - """ - Generate centroids from the location of an exposures. + """Generate centroids from the location of an exposures. Parameters ---------- @@ -336,8 +328,7 @@ def append(self, centr): self.gdf = pd.concat([self.gdf, centr.gdf]) def union(self, *others): - """ - Create the union of centroids from the inputs. + """Create the union of centroids from the inputs. The centroids are combined together point by point. All centroids must have the same CRS. @@ -371,18 +362,19 @@ def remove_duplicate_points(cls, centroids): return cls.from_geodataframe(centroids.gdf.drop_duplicates()) def select(self, reg_id=None, extent=None, sel_cen=None): - """Return Centroids with points in the given reg_id or within mask + """Return Centroids with points in the given reg_id and/or in an + spatial extent and/or in an index based list Parameters ---------- - reg_id : int + reg_id : int, optional region to filter according to region_id values - extent : tuple + extent : tuple, optional Format (min_lon, max_lon, min_lat, max_lat) tuple. If min_lon > lon_max, the extend crosses the antimeridian and is [lon_max, 180] + [-180, lon_min] Borders are inclusive. - sel_cen : np.array + sel_cen : np.array, optional 1-dim mask or 1-dim centroids indices, complements reg_id and extent Returns @@ -402,16 +394,15 @@ def select(self, reg_id=None, extent=None, sel_cen=None): def select_mask(self, sel_cen=None, reg_id=None, extent=None): - """ - Make mask of selected centroids + """Return mask of selected centroids Parameters ---------- - sel_cen: np.array(bool) + sel_cen: np.array(bool), optional boolean array mask for centroids - reg_id : int + reg_id : int, optional region to filter according to region_id values - extent : tuple + extent : tuple, optional Format (min_lon, max_lon, min_lat, max_lat) tuple. If min_lon > lon_max, the extend crosses the antimeridian and is [lon_max, 180] + [-180, lon_min] @@ -440,7 +431,7 @@ def select_mask(self, sel_cen=None, reg_id=None, extent=None): #TODO replace with nice Geodataframe util plot method. def plot(self, ax=None, figsize=(9, 13), latlon_bounds_buffer=0.0, shapes=True, **kwargs): - """Plot centroids scatter points over earth. + """Plot centroids scatter points over earth Parameters ---------- @@ -533,6 +524,11 @@ def get_elevation(self, topo_path): ---------- topo_path : str Path to a raster file containing gridded elevation data. + + Returns + ------- + values : np.array of shape (npoints,) + Interpolated elevation values from raster file for each given coordinate point. """ return u_coord.read_raster_sample(topo_path, self.lat, self.lon) @@ -541,11 +537,16 @@ def get_dist_coast(self, signed=False, precomputed=False): Parameters ---------- - signed : bool + signed : bool, optional If True, use signed distances (positive off shore and negative on land). Default: False. - precomputed : bool + precomputed : bool, optional If True, use precomputed distances (from NASA). Works only for crs=epsg:4326 Default: False. + + Returns + ------- + dist : np.array + (Signed) distance to coast in meters. """ ne_geom = self._ne_crs_geom() if precomputed: @@ -554,9 +555,9 @@ def get_dist_coast(self, signed=False, precomputed=False): else: LOGGER.debug('Computing distance to coast for %s centroids.', str(self.size)) return u_coord.dist_to_coast(ne_geom, signed=signed) + def get_meta(self, resolution=None): - """ - Returns a meta raster based on the centroids bounds. + """Returns a meta raster based on the centroids bounds. When resolution is None it is estimated from the centroids by assuming that they form a regular raster. @@ -621,6 +622,8 @@ def from_raster_file(cls, file_name, src_crs=None, window=None, geometry=None, resampling : rasterio.warp.Resampling optional resampling function used for reprojection to dst_crs, default: nearest + return_meta : bool, optional + default: False Returns ------- @@ -718,7 +721,7 @@ def from_excel(cls, file_path, crs=DEF_CRS, var_names=None): crs : dict() or rasterio.crs.CRS, optional CRS. Default: DEF_CRS var_names : dict, default - name of the variables + name of the variables. Default: DEF_VAR_EXCEL Raises ------ @@ -867,7 +870,7 @@ def _set_region_id(self, level='country', overwrite=False): level: str defines the admin level on which to assign centroids. Currently only 'country' (admin0) is implemented. Default is 'country'. - overwrite : bool + overwrite : bool, optional if True, overwrites the existing region_id information. if False and region_id is None region_id is computed. """ @@ -922,7 +925,7 @@ def _meta_to_lat_lon(meta): Returns ------- - (np.ndarray, np.ndarray) + tuple(np.ndarray, np.ndarray) latitudes, longitudes """ xgrid, ygrid = u_coord.raster_to_meshgrid( From 25a0930ca9dbc9c7ff9336bc4c2b9ccb02fbc504 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sarah=20H=C3=BClsen?= <49907095+sarah-hlsn@users.noreply.github.com> Date: Mon, 18 Dec 2023 12:03:26 +0100 Subject: [PATCH 122/192] update from_csv method, add test --- climada/hazard/centroids/centr.py | 24 +++++++----- climada/hazard/centroids/test/test_centr.py | 43 ++++++++++++++++++++- 2 files changed, 56 insertions(+), 11 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 483f77a1cd..b447f54d55 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -682,9 +682,8 @@ def from_vector_file(cls, file_name, dst_crs=None): centroids.gdf.set_crs(dst_crs, inplace=True) return centroids - #TODO: Check whether other variables are necessary, e.g. dist to coast @classmethod - def from_csv(cls, file_path, crs=DEF_CRS, var_names=None): + def from_csv(cls, file_path): """ Generate centroids from a csv file with column names in var_names. @@ -692,22 +691,27 @@ def from_csv(cls, file_path, crs=DEF_CRS, var_names=None): ---------- file_path : str path to csv file to be read - crs : dict() or rasterio.crs.CRS, optional - CRS. Default: DEF_CRS - var_names : dict, default - name of the variables. Default: DEF_VAR_CSV Returns ------- Centroids Centroids with data from the given csv file """ - if var_names is None: - var_names = DEF_VAR_CSV df = pd.read_csv(file_path) - df = df.rename(columns=var_names) - return cls(**dict(df.items()), crs=crs) + if 'crs' in df.columns: + crs = df['crs'].iloc[0] + else: + crs = DEF_CRS + if 'region_id' in df.columns: + region_id = df['region_id'] + else: + region_id = None + if 'on_land' in df.columns: + on_land = df['on_land'] + else: + on_land = None + return cls(lat=df['lat'], lon=df['lon'], region_id=region_id, on_land=on_land, crs=crs) @classmethod diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index e468571992..8a9bcb1e83 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -24,6 +24,8 @@ import numpy as np import geopandas as gpd import shapely +import csv +from pyproj.crs.crs import CRS from climada import CONFIG from climada.hazard.centroids.centr import Centroids @@ -96,7 +98,46 @@ def test_to_crs(self): class TestCentroidsReader(unittest.TestCase): """Test read functions Centroids""" - def test_centroid_pass(self): + def test_from_csv(self): + """Read a centroid csv file correctly""" + tmpfile = Path('test_write_csv.csv') + test_crs = CRS.from_user_input(4326).to_wkt() + sample_data = [ + ["lon", "lat", "crs"], + [32.57, -25.95, test_crs], + [32.46, -25.97], + [34.84, -19.83], + [39.24, -15.13], + [33.47, -19.12], + [40.68, -14.56], + [36.89, -17.88], + [33.58, -16.17], + [33.64, -25.04], + [36.98, -15.46], + [35.34, -23.87], + [35.24, -13.3], + [40.48, -12.96], + [34.73, -19.62], + [39.91, -16.23] + ] + + with open(tmpfile, 'w') as temp_csv: + writer = csv.writer(temp_csv) + writer.writerows(sample_data) + + centroids = Centroids.from_csv(tmpfile) + + n_centroids = 15 + self.assertEqual(centroids.coord.shape[0], n_centroids) + self.assertEqual(centroids.coord.shape[1], 2) + self.assertEqual(centroids.coord[0][0], -25.95) + self.assertEqual(centroids.coord[0][1], 32.57) + self.assertEqual(centroids.coord[n_centroids - 1][0], -16.23) + self.assertEqual(centroids.coord[n_centroids - 1][1], 39.91) + + Path(tmpfile).unlink() + + def test_from_excel(self): """Read a centroid excel file correctly.""" centroids = Centroids.from_excel(HAZ_TEMPLATE_XLS) From 5849acb015fa0a8579aa64ec36149defe641f7ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sarah=20H=C3=BClsen?= <49907095+sarah-hlsn@users.noreply.github.com> Date: Mon, 18 Dec 2023 14:13:28 +0100 Subject: [PATCH 123/192] remove DEF_VAR_CSV --- climada/hazard/centroids/centr.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index b447f54d55..139f6872d7 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -58,12 +58,6 @@ } """Excel variable names""" -DEF_VAR_CSV = { - 'lat': 'latitude', - 'lon': 'longitude', -} -"""CSV variable names""" - LOGGER = logging.getLogger(__name__) From 84107ee3bf7b8ee09c41edb0f998ad1f11f9c333 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sarah=20H=C3=BClsen?= <49907095+sarah-hlsn@users.noreply.github.com> Date: Wed, 20 Dec 2023 12:14:14 +0100 Subject: [PATCH 124/192] Update from_excel method and test --- climada/hazard/centroids/centr.py | 47 +++++++-------------- climada/hazard/centroids/test/test_centr.py | 37 ++++++++++++++-- 2 files changed, 48 insertions(+), 36 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 139f6872d7..795f370f37 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -44,20 +44,6 @@ PROJ_CEA = CRS.from_user_input({'proj': 'cea'}) -DEF_VAR_EXCEL = { - 'sheet_name': 'centroids', - 'col_name': { - 'region_id': 'region_id', - 'latitude': 'lat', - 'longitude': 'lon', - 'on_land': 'on_land', - 'dist_coast': 'dist_coast', - 'elevation': 'elevation', - ' area_pixel': 'area_pixel' - } -} -"""Excel variable names""" - LOGGER = logging.getLogger(__name__) @@ -696,6 +682,7 @@ def from_csv(cls, file_path): if 'crs' in df.columns: crs = df['crs'].iloc[0] else: + LOGGER.info(f'No \'crs\' column provided in file, setting CRS to WGS84 default.') crs = DEF_CRS if 'region_id' in df.columns: region_id = df['region_id'] @@ -709,17 +696,15 @@ def from_csv(cls, file_path): @classmethod - def from_excel(cls, file_path, crs=DEF_CRS, var_names=None): + def from_excel(cls, file_path, sheet_name): """Generate a new centroids object from an excel file with column names in var_names. Parameters ---------- file_name : str absolute or relative file path - crs : dict() or rasterio.crs.CRS, optional - CRS. Default: DEF_CRS - var_names : dict, default - name of the variables. Default: DEF_VAR_EXCEL + sheet_name : str + name of sheet in excel file containing centroid information Raises ------ @@ -731,24 +716,22 @@ def from_excel(cls, file_path, crs=DEF_CRS, var_names=None): Centroids with data from the given excel file """ - if var_names is None: - var_names = DEF_VAR_EXCEL + df = pd.read_excel(file_path, sheet_name) + + if 'crs' in df.columns: + crs = df['crs'].iloc[0] else: - assert isinstance(var_names, dict), 'var_names must be a dict' - assert 'sheet_name' in var_names, 'sheet_name must be a key in the var_names dict' - assert 'col_name' in var_names, 'col_name must be a key in the var_names dict' - - data = pd.read_excel(file_path, var_names['sheet_name']) - data = data.rename(columns=var_names['col_name']) - if 'region_id' in data.columns: - region_id = data['region_id'] + LOGGER.info(f'No \'crs\' column provided in file, setting CRS to WGS84 default.') + crs = DEF_CRS + if 'region_id' in df.columns: + region_id = df['region_id'] else: region_id = None - if 'on_land' in data.columns: - on_land = data['on_land'] + if 'on_land' in df.columns: + on_land = df['on_land'] else: on_land = None - return cls(lat=data['lat'], lon=data['lon'], region_id=region_id, on_land=on_land, crs=crs) + return cls(lat=df['lat'], lon=df['lon'], region_id=region_id, on_land=on_land, crs=crs) def write_hdf5(self, file_name, mode='w'): """Write data frame and metadata in hdf5 format diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index 8a9bcb1e83..515d0b7968 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -22,6 +22,7 @@ from pathlib import Path import numpy as np +import pandas as pd import geopandas as gpd import shapely import csv @@ -134,20 +135,48 @@ def test_from_csv(self): self.assertEqual(centroids.coord[0][1], 32.57) self.assertEqual(centroids.coord[n_centroids - 1][0], -16.23) self.assertEqual(centroids.coord[n_centroids - 1][1], 39.91) + self.assertEqual(centroids.crs, 'epsg:4326') Path(tmpfile).unlink() def test_from_excel(self): """Read a centroid excel file correctly.""" - centroids = Centroids.from_excel(HAZ_TEMPLATE_XLS) + tmpfile = Path('test_write_excel.xlsx') + test_crs = CRS.from_user_input(4326).to_wkt() + sample_data = [ + [32.57, -25.95, test_crs], + [32.46, -25.97], + [34.84, -19.83], + [39.24, -15.13], + [33.47, -19.12], + [40.68, -14.56], + [36.89, -17.88], + [33.58, -16.17], + [33.64, -25.04], + [36.98, -15.46], + [35.34, -23.87], + [35.24, -13.3], + [40.48, -12.96], + [34.73, -19.62], + [39.91, -16.23] + ] + + df = pd.DataFrame(sample_data, columns = ["lon", "lat", "crs"],) - n_centroids = 45 + df.to_excel(tmpfile, sheet_name = 'centroids', index=False) + + centroids = Centroids.from_excel(file_path=tmpfile, sheet_name='centroids') + + n_centroids = 15 self.assertEqual(centroids.coord.shape[0], n_centroids) self.assertEqual(centroids.coord.shape[1], 2) self.assertEqual(centroids.coord[0][0], -25.95) self.assertEqual(centroids.coord[0][1], 32.57) - self.assertEqual(centroids.coord[n_centroids - 1][0], -24.7) - self.assertEqual(centroids.coord[n_centroids - 1][1], 33.88) + self.assertEqual(centroids.coord[n_centroids - 1][0], -16.23) + self.assertEqual(centroids.coord[n_centroids - 1][1], 39.91) + self.assertEqual(centroids.crs, 'epsg:4326') + + Path(tmpfile).unlink() def test_from_geodataframe(self): """Test that constructing a valid Centroids instance from gdf works.""" From bfb24d724daa4026673a8ccc98ab2785540bbf0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sarah=20H=C3=BClsen?= <49907095+sarah-hlsn@users.noreply.github.com> Date: Wed, 20 Dec 2023 13:49:31 +0100 Subject: [PATCH 125/192] remove unnecessary import --- climada/hazard/centroids/test/test_centr.py | 1 - 1 file changed, 1 deletion(-) diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index 515d0b7968..49fad1f453 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -30,7 +30,6 @@ from climada import CONFIG from climada.hazard.centroids.centr import Centroids -from climada.util.constants import HAZ_TEMPLATE_XLS from climada.util.constants import DEF_CRS import climada.util.coordinates as u_coord from climada.entity import Exposures From 67a1d602a5d53f299dfb572903ffbeb4ff05cc18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sarah=20H=C3=BClsen?= <49907095+sarah-hlsn@users.noreply.github.com> Date: Wed, 20 Dec 2023 15:59:18 +0100 Subject: [PATCH 126/192] fix storm_europe tests --- .../hazard/test/data/fp_centroids-test.xls | Bin 737792 -> 736768 bytes climada/hazard/test/test_storm_europe.py | 9 +++------ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/climada/hazard/test/data/fp_centroids-test.xls b/climada/hazard/test/data/fp_centroids-test.xls index 0df4fae2ba79ab873eadacb8777797143d7cd9d3..270daf2f55d52def1bca45bbe31e1554ba971347 100644 GIT binary patch delta 28794 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 VPrVy4&HSSN#VG|iR9p3*{{=yJaTx#r delta 29130 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 MKNrv>e=gwv1Mm|&W&i*H diff --git a/climada/hazard/test/test_storm_europe.py b/climada/hazard/test/test_storm_europe.py index f928e9db47..f919cbaa45 100644 --- a/climada/hazard/test/test_storm_europe.py +++ b/climada/hazard/test/test_storm_europe.py @@ -27,7 +27,7 @@ from climada import CONFIG from climada.hazard.storm_europe import StormEurope, generate_WS_forecast_hazard -from climada.hazard.centroids.centr import DEF_VAR_EXCEL, Centroids +from climada.hazard.centroids.centr import Centroids from climada.util.constants import WS_DEMO_NC @@ -63,12 +63,9 @@ def test_read_with_ref(self): def test_read_with_cent(self): """Test from_footprints while passing in a Centroids object""" - var_names = copy.deepcopy(DEF_VAR_EXCEL) - var_names['sheet_name'] = 'fp_centroids-test' - var_names['col_name']['iso_n3'] = 'region_id' test_centroids = Centroids.from_excel( - DATA_DIR.joinpath('fp_centroids-test.xls'), - var_names=var_names + file_path=DATA_DIR.joinpath('fp_centroids-test.xls'), + sheet_name='fp_centroids-test' ) storms = StormEurope.from_footprints(WS_DEMO_NC, centroids=test_centroids) From 8f25d1ffd37e8ff418afea110896c4ca1264b668 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sarah=20H=C3=BClsen?= <49907095+sarah-hlsn@users.noreply.github.com> Date: Wed, 3 Jan 2024 11:20:15 +0100 Subject: [PATCH 127/192] improve csv and excel tests --- climada/hazard/centroids/centr.py | 9 +- climada/hazard/centroids/test/test_centr.py | 130 ++++++++++---------- 2 files changed, 72 insertions(+), 67 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 795f370f37..bf91534c2c 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -696,15 +696,16 @@ def from_csv(cls, file_path): @classmethod - def from_excel(cls, file_path, sheet_name): + def from_excel(cls, file_path, sheet_name=None): """Generate a new centroids object from an excel file with column names in var_names. Parameters ---------- file_name : str absolute or relative file path - sheet_name : str + sheet_name : str, optional name of sheet in excel file containing centroid information + Default: "centroids" Raises ------ @@ -715,7 +716,9 @@ def from_excel(cls, file_path, sheet_name): centr : Centroids Centroids with data from the given excel file """ - + if sheet_name is None: + sheet_name = 'centroids' + df = pd.read_excel(file_path, sheet_name) if 'crs' in df.columns: diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index 49fad1f453..e43b966146 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -98,83 +98,85 @@ def test_to_crs(self): class TestCentroidsReader(unittest.TestCase): """Test read functions Centroids""" + def test_from_csv_def_crs(self): + """Read a centroid csv file correctly and use default CRS.""" + # Create temporary csv file containing centroids data + tmpfile = Path('test_write_csv.csv') + lat = np.array([0, 90, -90, 0, 0]) + lon = np.array([0, 0, 0, 180, -180]) + df = pd.DataFrame({'lat':lat, 'lon':lon}) + df.to_csv(tmpfile, index=False) + + # Read centroids using from_csv method + centroids = Centroids.from_csv(tmpfile) + + # test attributes + np.testing.assert_array_equal(centroids.lat, lat) + np.testing.assert_array_equal(centroids.lon, lon) + self.assertEqual(centroids.crs, DEF_CRS) + + #delete file + Path(tmpfile).unlink() + def test_from_csv(self): - """Read a centroid csv file correctly""" + """Read a centroid csv file which contains CRS information.""" tmpfile = Path('test_write_csv.csv') - test_crs = CRS.from_user_input(4326).to_wkt() - sample_data = [ - ["lon", "lat", "crs"], - [32.57, -25.95, test_crs], - [32.46, -25.97], - [34.84, -19.83], - [39.24, -15.13], - [33.47, -19.12], - [40.68, -14.56], - [36.89, -17.88], - [33.58, -16.17], - [33.64, -25.04], - [36.98, -15.46], - [35.34, -23.87], - [35.24, -13.3], - [40.48, -12.96], - [34.73, -19.62], - [39.91, -16.23] - ] - - with open(tmpfile, 'w') as temp_csv: - writer = csv.writer(temp_csv) - writer.writerows(sample_data) + lat = np.array([0, 20048966.1, -20048966, 0, 0]) + lon = np.array([0, 0, 0, 20037508.34, -20037508.34]) + df = pd.DataFrame({'lat':lat, 'lon':lon}) + df['crs'] = CRS.from_user_input(3857).to_wkt() + df.to_csv(tmpfile, index=False) + # Read centroids using from_csv method centroids = Centroids.from_csv(tmpfile) - n_centroids = 15 - self.assertEqual(centroids.coord.shape[0], n_centroids) - self.assertEqual(centroids.coord.shape[1], 2) - self.assertEqual(centroids.coord[0][0], -25.95) - self.assertEqual(centroids.coord[0][1], 32.57) - self.assertEqual(centroids.coord[n_centroids - 1][0], -16.23) - self.assertEqual(centroids.coord[n_centroids - 1][1], 39.91) - self.assertEqual(centroids.crs, 'epsg:4326') + # test attributes + np.testing.assert_array_equal(centroids.lat, lat) + np.testing.assert_array_equal(centroids.lon, lon) + self.assertEqual(centroids.crs, 'epsg:3857') + #delete file + Path(tmpfile).unlink() + + def test_from_excel_def_crs(self): + """Read a centroid excel file correctly and use default CRS.""" + # Create temporary excel file containing centroids data + tmpfile = Path('test_write_excel.xlsx') + lat = np.array([0, 90, -90, 0, 0]) + lon = np.array([0, 0, 0, 180, -180]) + df = pd.DataFrame({'lat':lat, 'lon':lon}) + df.to_excel(tmpfile, sheet_name = 'centroids', index=False) + + # Read centroids using from_excel method + centroids = Centroids.from_excel(file_path=tmpfile) + + # test attributes + np.testing.assert_array_equal(centroids.lat, lat) + np.testing.assert_array_equal(centroids.lon, lon) + self.assertEqual(centroids.crs, DEF_CRS) + + #delete file Path(tmpfile).unlink() def test_from_excel(self): - """Read a centroid excel file correctly.""" + """Read a centroid excel file correctly which contains CRS information.""" + # Create temporary excel file containing centroids data tmpfile = Path('test_write_excel.xlsx') - test_crs = CRS.from_user_input(4326).to_wkt() - sample_data = [ - [32.57, -25.95, test_crs], - [32.46, -25.97], - [34.84, -19.83], - [39.24, -15.13], - [33.47, -19.12], - [40.68, -14.56], - [36.89, -17.88], - [33.58, -16.17], - [33.64, -25.04], - [36.98, -15.46], - [35.34, -23.87], - [35.24, -13.3], - [40.48, -12.96], - [34.73, -19.62], - [39.91, -16.23] - ] - - df = pd.DataFrame(sample_data, columns = ["lon", "lat", "crs"],) - + lat = np.array([0, 20048966.1, -20048966, 0, 0]) + lon = np.array([0, 0, 0, 20037508.34, -20037508.34]) + df = pd.DataFrame({'lat':lat, 'lon':lon}) + df['crs'] = CRS.from_user_input(3857).to_wkt() df.to_excel(tmpfile, sheet_name = 'centroids', index=False) - centroids = Centroids.from_excel(file_path=tmpfile, sheet_name='centroids') - - n_centroids = 15 - self.assertEqual(centroids.coord.shape[0], n_centroids) - self.assertEqual(centroids.coord.shape[1], 2) - self.assertEqual(centroids.coord[0][0], -25.95) - self.assertEqual(centroids.coord[0][1], 32.57) - self.assertEqual(centroids.coord[n_centroids - 1][0], -16.23) - self.assertEqual(centroids.coord[n_centroids - 1][1], 39.91) - self.assertEqual(centroids.crs, 'epsg:4326') + # Read centroids using from_excel method + centroids = Centroids.from_excel(file_path=tmpfile) + + # test attributes + np.testing.assert_array_equal(centroids.lat, lat) + np.testing.assert_array_equal(centroids.lon, lon) + self.assertEqual(centroids.crs, 'epsg:3857') + #delete file Path(tmpfile).unlink() def test_from_geodataframe(self): From 0f54053703c2ea90054c037469cf64826a682075 Mon Sep 17 00:00:00 2001 From: "Chahan M. Kropf" Date: Wed, 3 Jan 2024 12:58:41 +0100 Subject: [PATCH 128/192] Apply suggestions from code review Co-authored-by: Lukas Riedel <34276446+peanutfun@users.noreply.github.com> --- climada/hazard/centroids/centr.py | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index bf91534c2c..383407c7c8 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -68,11 +68,11 @@ class Centroids(): def __init__( self, *, - lat: Union[np.ndarray, list], - lon: Union[np.ndarray, list], + lat: Union[np.ndarray, list[float]], + lon: Union[np.ndarray, list[float]], crs: str = DEF_CRS, - region_id: Union[str('country'), None, np.ndarray, list] = None, - on_land: Union[str('natural_earth'), None, np.ndarray, list] = None, + region_id: Union[Literal["country"], None, np.ndarray, list[float]] = None, + on_land: Union[Literal["natural_earth"], None, np.ndarray, list[float]] = None, ): """Initialization @@ -90,12 +90,13 @@ def __init__( on land (True) and on sea (False) of size size. Defaults to None array """ - attr_dict = { - 'geometry': gpd.points_from_xy(lon, lat, crs=crs), - 'region_id': region_id, - 'on_land': on_land - } - self.gdf = gpd.GeoDataFrame(data=attr_dict) + self.gdf = gpd.GeoDataFrame( + data={ + 'geometry': gpd.points_from_xy(lon, lat, crs=crs), + 'region_id': region_id, + 'on_land': on_land, + } + ) if isinstance(region_id, str): LOGGER.info(f'Setting region id to {region_id} level.') @@ -140,7 +141,7 @@ def crs(self): @property def size(self): - """Get size (number of lat/lon paris)""" + """Get size (number of lat/lon pairs)""" return self.gdf.shape[0] @property From c4bb5408b1b9c0d619dceec7095106a35e384d9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sarah=20H=C3=BClsen?= <49907095+sarah-hlsn@users.noreply.github.com> Date: Thu, 4 Jan 2024 10:32:02 +0100 Subject: [PATCH 129/192] add excel, csv write methods and tests --- climada/hazard/centroids/centr.py | 45 +++++++++++++++++--- climada/hazard/centroids/test/test_centr.py | 46 ++++++++++++++++++++- 2 files changed, 84 insertions(+), 7 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index bf91534c2c..975a399dc0 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -664,18 +664,17 @@ def from_vector_file(cls, file_name, dst_crs=None): @classmethod def from_csv(cls, file_path): - """ - Generate centroids from a csv file with column names in var_names. + """Generate centroids from a CSV file with column names in var_names. Parameters ---------- file_path : str - path to csv file to be read + path to CSV file to be read Returns ------- Centroids - Centroids with data from the given csv file + Centroids with data from the given CSV file """ df = pd.read_csv(file_path) @@ -694,6 +693,23 @@ def from_csv(cls, file_path): on_land = None return cls(lat=df['lat'], lon=df['lon'], region_id=region_id, on_land=on_land, crs=crs) + def write_csv(self, file_path): + """Save centroids as CSV file + + Parameters + ---------- + file_path : str + absolute or relative file path and name to write to + """ + LOGGER.info('Writing %s', file_path) + df = pd.DataFrame(self.gdf) + df['lon'] = self.gdf['geometry'].x + df['lat'] = self.gdf['geometry'].y + df = df.drop(['geometry'], axis=1) + crs = CRS.from_user_input(self.crs).to_wkt() + df['crs'] = crs + df.to_csv(file_path, index=False) + @classmethod def from_excel(cls, file_path, sheet_name=None): @@ -701,7 +717,7 @@ def from_excel(cls, file_path, sheet_name=None): Parameters ---------- - file_name : str + file_path : str absolute or relative file path sheet_name : str, optional name of sheet in excel file containing centroid information @@ -718,7 +734,7 @@ def from_excel(cls, file_path, sheet_name=None): """ if sheet_name is None: sheet_name = 'centroids' - + df = pd.read_excel(file_path, sheet_name) if 'crs' in df.columns: @@ -735,6 +751,23 @@ def from_excel(cls, file_path, sheet_name=None): else: on_land = None return cls(lat=df['lat'], lon=df['lon'], region_id=region_id, on_land=on_land, crs=crs) + + def write_excel(self, file_path): + """Save centroids as excel file + + Parameters + ---------- + file_path : str + absolute or relative file path and name to write to + """ + LOGGER.info('Writing %s', file_path) + df = pd.DataFrame(self.gdf) + df['lon'] = self.gdf['geometry'].x + df['lat'] = self.gdf['geometry'].y + df = df.drop(['geometry'], axis=1) + crs = CRS.from_user_input(self.crs).to_wkt() + df['crs'] = crs + df.to_excel(file_path, sheet_name='centroids', index=False) def write_hdf5(self, file_name, mode='w'): """Write data frame and metadata in hdf5 format diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index e43b966146..798b281e39 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -130,11 +130,33 @@ def test_from_csv(self): # Read centroids using from_csv method centroids = Centroids.from_csv(tmpfile) - # test attributes + # Test attributes np.testing.assert_array_equal(centroids.lat, lat) np.testing.assert_array_equal(centroids.lon, lon) self.assertEqual(centroids.crs, 'epsg:3857') + # Delete file + Path(tmpfile).unlink() + + def test_write_read_csv(self): + """Write and read a Centroids CSV file correctly.""" + # Create Centroids with latitude and longitude arrays + tmpfile = Path('test_write_csv.csv') + lat = np.array([10.0, 20.0, 30.0]) + lon = np.array([-10.0, -20.0, -30.0]) + centroids_out = Centroids(lat=lat, lon=lon) + + # Write CSV file from Centroids using write_csv + centroids_out.write_csv(tmpfile) + + # Read CSV file using read_csv + centroids_in = Centroids.from_csv(tmpfile) + + # Test attributes + np.testing.assert_array_equal(centroids_in.lat, centroids_out.lat) + np.testing.assert_array_equal(centroids_in.lon, centroids_out.lon) + self.assertEqual(centroids_in.crs, centroids_out.crs) + #delete file Path(tmpfile).unlink() @@ -179,6 +201,28 @@ def test_from_excel(self): #delete file Path(tmpfile).unlink() + def test_write_read_excel(self): + """Write and read a Centroids Excel file correctly.""" + # Create Centroids with latitude and longitude arrays + tmpfile = Path('test_write_excel.xlsx') + lat = np.array([10.0, 20.0, 30.0]) + lon = np.array([-10.0, -20.0, -30.0]) + centroids_out = Centroids(lat=lat, lon=lon) + + # Write Excel file from Centroids using write_csv + centroids_out.write_excel(tmpfile) + + # Read Excel file using read_csv + centroids_in = Centroids.from_excel(tmpfile) + + # Test attributes + np.testing.assert_array_equal(centroids_in.lat, centroids_out.lat) + np.testing.assert_array_equal(centroids_in.lon, centroids_out.lon) + self.assertEqual(centroids_in.crs, centroids_out.crs) + + #delete file + Path(tmpfile).unlink() + def test_from_geodataframe(self): """Test that constructing a valid Centroids instance from gdf works.""" crs = DEF_CRS From c7e6ffd28b6a5588a4f848fce0a7ab0653d0aab8 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 4 Jan 2024 17:19:22 +0100 Subject: [PATCH 130/192] Replace gdf with _gdf --- climada/hazard/centroids/centr.py | 91 +++++++++++---------- climada/hazard/centroids/test/test_centr.py | 24 +++--- 2 files changed, 61 insertions(+), 54 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 19713b45f1..3fe17d20a3 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -22,7 +22,7 @@ import copy import logging from pathlib import Path -from typing import Union +from typing import Union, Literal import warnings import h5py @@ -46,6 +46,8 @@ LOGGER = logging.getLogger(__name__) +DEF_COLS = ['region_id', 'on_land', 'geometry'] + class Centroids(): """Contains raster or vector centroids. @@ -90,7 +92,7 @@ def __init__( on land (True) and on sea (False) of size size. Defaults to None array """ - self.gdf = gpd.GeoDataFrame( + self._gdf = gpd.GeoDataFrame( data={ 'geometry': gpd.points_from_xy(lon, lat, crs=crs), 'region_id': region_id, @@ -108,41 +110,41 @@ def __init__( @property def lat(self): """ Return latitudes """ - return self.gdf.geometry.y.values + return self._gdf.geometry.y.values @property def lon(self): """ Return longitudes """ - return self.gdf.geometry.x.values + return self._gdf.geometry.x.values @property def geometry(self): """ Return the geometry """ - return self.gdf['geometry'] + return self._gdf['geometry'] @property def on_land(self): """ Get the on_land property """ - if self.gdf.on_land.isna().all(): + if self._gdf.on_land.isna().all(): return None - return self.gdf['on_land'].values + return self._gdf['on_land'].values @property def region_id(self): """ Get the assigned region_id """ - if self.gdf.region_id.isna().all(): + if self._gdf.region_id.isna().all(): return None - return self.gdf['region_id'].values + return self._gdf['region_id'].values @property def crs(self): """ Get the crs""" - return self.gdf.crs + return self._gdf.crs @property def size(self): """Get size (number of lat/lon pairs)""" - return self.gdf.shape[0] + return self._gdf.shape[0] @property def shape(self): @@ -152,7 +154,7 @@ def shape(self): @property def total_bounds(self): """Get total bounds (minx, miny, maxx, maxy).""" - return self.gdf.total_bounds + return self._gdf.total_bounds @property def coord(self): @@ -171,15 +173,15 @@ def __eq__(self, other): ------- eq : bool """ - return self.gdf.equals(other.gdf) & u_coord.equal_crs(self.crs, other.crs) + return self._gdf.equals(other._gdf) & u_coord.equal_crs(self.crs, other.crs) - def to_default_crs(self): + def to_default_crs(self, inplace=True): """Project the current centroids to the default CRS (epsg4326) Modifies the object in place. """ - self.gdf.to_crs(DEF_CRS, inplace=True) + self.to_crs(DEF_CRS, inplace=inplace) - def to_crs(self, crs): + def to_crs(self, crs, inplace=True): """ Project the current centroids to the default CRS (epsg4326) Modifies the object in place. @@ -193,7 +195,9 @@ def to_crs(self, crs): Centroids Centroids in the new crs """ - return Centroids.from_geodataframe(self.gdf.to_crs(crs)) + if inplace: + self._gdf.to_crs(DEF_CRS, inplace=True) + return Centroids.from_geodataframe(self._gdf.to_crs(crs)) @classmethod def from_geodataframe(cls, gdf): @@ -220,9 +224,10 @@ def from_geodataframe(cls, gdf): # This is a bit ugly, but avoids to recompute the geometries # in the init. For large datasets this saves computation time centroids = cls(lat=[1], lon=[1]) #make "empty" centroids - centroids.gdf = gdf + columns = [col for col in gdf.columns if col in DEF_COLS] + centroids._gdf = gdf[columns] if not gdf.crs: - centroids.gdf.set_crs(DEF_CRS, inplace=True) + centroids._gdf.set_crs(DEF_CRS, inplace=True) return centroids @classmethod @@ -306,7 +311,7 @@ def append(self, centr): if not u_coord.equal_crs(self.crs, centr.crs): raise ValueError( "The centroids have different Coordinate-Reference-Systems (CRS)") - self.gdf = pd.concat([self.gdf, centr.gdf]) + self._gdf = pd.concat([self._gdf, centr._gdf]) def union(self, *others): """Create the union of centroids from the inputs. @@ -340,10 +345,10 @@ def remove_duplicate_points(cls, centroids): : Centroids Sub-selection of centroids withtout duplicates """ - return cls.from_geodataframe(centroids.gdf.drop_duplicates()) + return cls.from_geodataframe(centroids._gdf.drop_duplicates()) def select(self, reg_id=None, extent=None, sel_cen=None): - """Return Centroids with points in the given reg_id and/or in an + """Return Centroids with points in the given reg_id and/or in an spatial extent and/or in an index based list Parameters @@ -371,7 +376,7 @@ def select(self, reg_id=None, extent=None, sel_cen=None): sel_cen_bool[np.unique(sel_cen)] = True sel_cen_mask = self.select_mask(sel_cen=sel_cen_bool, reg_id=reg_id, extent=extent) - return Centroids.from_geodataframe(self.gdf[sel_cen_mask]) + return Centroids.from_geodataframe(self._gdf[sel_cen_mask]) def select_mask(self, sel_cen=None, reg_id=None, extent=None): @@ -439,9 +444,9 @@ def plot(self, ax=None, figsize=(9, 13), latlon_bounds_buffer=0.0, shapes=True, proj_plot = ccrs.PlateCarree(central_longitude=0.5 * (xmin + xmax)) if ax is None: - ax = self.gdf.copy().to_crs(proj_plot).plot(figsize=figsize, **kwargs) + ax = self._gdf.copy().to_crs(proj_plot).plot(figsize=figsize, **kwargs) else: - self.gdf.copy().to_crs(proj_plot).plot(figsize=figsize, **kwargs) + self._gdf.copy().to_crs(proj_plot).plot(figsize=figsize, **kwargs) if shapes: u_plot.add_shapes(ax) @@ -536,7 +541,7 @@ def get_dist_coast(self, signed=False, precomputed=False): else: LOGGER.debug('Computing distance to coast for %s centroids.', str(self.size)) return u_coord.dist_to_coast(ne_geom, signed=signed) - + def get_meta(self, resolution=None): """Returns a meta raster based on the centroids bounds. @@ -556,7 +561,7 @@ def get_meta(self, resolution=None): """ if resolution is None: resolution = np.abs(u_coord.get_resolution(self.lat, self.lon)).min() - xmin, ymin, xmax, ymax = self.gdf.total_bounds + xmin, ymin, xmax, ymax = self._gdf.total_bounds rows, cols, ras_trans = u_coord.pts_to_raster_meta( (xmin, ymin, xmax, ymax), (resolution, -resolution) ) @@ -658,9 +663,9 @@ def from_vector_file(cls, file_name, dst_crs=None): centroids = cls.from_geodataframe(gpd.read_file(file_name)) if dst_crs is not None: if centroids.crs: - centroids.gdf.to_crs(dst_crs, inplace=True) + centroids._gdf.to_crs(dst_crs, inplace=True) else: - centroids.gdf.set_crs(dst_crs, inplace=True) + centroids._gdf.set_crs(dst_crs, inplace=True) return centroids @classmethod @@ -703,9 +708,9 @@ def write_csv(self, file_path): absolute or relative file path and name to write to """ LOGGER.info('Writing %s', file_path) - df = pd.DataFrame(self.gdf) - df['lon'] = self.gdf['geometry'].x - df['lat'] = self.gdf['geometry'].y + df = pd.DataFrame(self._gdf) + df['lon'] = self._gdf['geometry'].x + df['lat'] = self._gdf['geometry'].y df = df.drop(['geometry'], axis=1) crs = CRS.from_user_input(self.crs).to_wkt() df['crs'] = crs @@ -752,7 +757,7 @@ def from_excel(cls, file_path, sheet_name=None): else: on_land = None return cls(lat=df['lat'], lon=df['lon'], region_id=region_id, on_land=on_land, crs=crs) - + def write_excel(self, file_path): """Save centroids as excel file @@ -762,9 +767,9 @@ def write_excel(self, file_path): absolute or relative file path and name to write to """ LOGGER.info('Writing %s', file_path) - df = pd.DataFrame(self.gdf) - df['lon'] = self.gdf['geometry'].x - df['lat'] = self.gdf['geometry'].y + df = pd.DataFrame(self._gdf) + df['lon'] = self._gdf['geometry'].x + df['lat'] = self._gdf['geometry'].y df = df.drop(['geometry'], axis=1) crs = CRS.from_user_input(self.crs).to_wkt() df['crs'] = crs @@ -780,10 +785,10 @@ def write_hdf5(self, file_name, mode='w'): """ LOGGER.info('Writing %s', file_name) store = pd.HDFStore(file_name, mode=mode) - pandas_df = pd.DataFrame(self.gdf) + pandas_df = pd.DataFrame(self._gdf) for col in pandas_df.columns: if str(pandas_df[col].dtype) == "geometry": - pandas_df[col] = np.asarray(self.gdf[col]) + pandas_df[col] = np.asarray(self._gdf[col]) # Avoid pandas PerformanceWarning when writing HDF5 data with warnings.catch_warnings(): @@ -876,9 +881,9 @@ def _ne_crs_geom(self): ------- geo : gpd.GeoSeries """ - if u_coord.equal_crs(self.gdf.crs, u_coord.NE_CRS): - return self.gdf.geometry - return self.gdf.geometry.to_crs(u_coord.NE_CRS) + if u_coord.equal_crs(self._gdf.crs, u_coord.NE_CRS): + return self._gdf.geometry + return self._gdf.geometry.to_crs(u_coord.NE_CRS) def _set_region_id(self, level='country', overwrite=False): """Set region_id as country ISO numeric code attribute for every pixel or point. @@ -896,7 +901,7 @@ def _set_region_id(self, level='country', overwrite=False): LOGGER.debug('Setting region_id %s points.', str(self.size)) if level == 'country': ne_geom = self._ne_crs_geom() - self.gdf['region_id'] = u_coord.get_country_code( + self._gdf['region_id'] = u_coord.get_country_code( ne_geom.y.values, ne_geom.x.values ) else: @@ -923,7 +928,7 @@ def _set_on_land(self, source='natural_earth', overwrite=False): LOGGER.debug('Setting on_land %s points.', str(self.lat.size)) if source=='natural_earth': ne_geom = self._ne_crs_geom() - self.gdf['on_land'] = u_coord.coord_on_land( + self._gdf['on_land'] = u_coord.coord_on_land( ne_geom.y.values, ne_geom.x.values ) else: diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index 798b281e39..b14605fe34 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -136,8 +136,8 @@ def test_from_csv(self): self.assertEqual(centroids.crs, 'epsg:3857') # Delete file - Path(tmpfile).unlink() - + Path(tmpfile).unlink() + def test_write_read_csv(self): """Write and read a Centroids CSV file correctly.""" # Create Centroids with latitude and longitude arrays @@ -158,8 +158,8 @@ def test_write_read_csv(self): self.assertEqual(centroids_in.crs, centroids_out.crs) #delete file - Path(tmpfile).unlink() - + Path(tmpfile).unlink() + def test_from_excel_def_crs(self): """Read a centroid excel file correctly and use default CRS.""" # Create temporary excel file containing centroids data @@ -168,10 +168,10 @@ def test_from_excel_def_crs(self): lon = np.array([0, 0, 0, 180, -180]) df = pd.DataFrame({'lat':lat, 'lon':lon}) df.to_excel(tmpfile, sheet_name = 'centroids', index=False) - + # Read centroids using from_excel method centroids = Centroids.from_excel(file_path=tmpfile) - + # test attributes np.testing.assert_array_equal(centroids.lat, lat) np.testing.assert_array_equal(centroids.lon, lon) @@ -179,7 +179,7 @@ def test_from_excel_def_crs(self): #delete file Path(tmpfile).unlink() - + def test_from_excel(self): """Read a centroid excel file correctly which contains CRS information.""" # Create temporary excel file containing centroids data @@ -189,10 +189,10 @@ def test_from_excel(self): df = pd.DataFrame({'lat':lat, 'lon':lon}) df['crs'] = CRS.from_user_input(3857).to_wkt() df.to_excel(tmpfile, sheet_name = 'centroids', index=False) - + # Read centroids using from_excel method centroids = Centroids.from_excel(file_path=tmpfile) - + # test attributes np.testing.assert_array_equal(centroids.lat, lat) np.testing.assert_array_equal(centroids.lon, lon) @@ -221,7 +221,7 @@ def test_write_read_excel(self): self.assertEqual(centroids_in.crs, centroids_out.crs) #delete file - Path(tmpfile).unlink() + Path(tmpfile).unlink() def test_from_geodataframe(self): """Test that constructing a valid Centroids instance from gdf works.""" @@ -229,11 +229,13 @@ def test_from_geodataframe(self): lat = np.arange(170, 180) lon = np.arange(-50, -40) region_id = np.arange(1, 11) + on_land = np.ones(10) extra = np.repeat(str('a'), 10) gdf = gpd.GeoDataFrame({ 'geometry' : gpd.points_from_xy(lon, lat), 'region_id' : region_id, + 'on_land': on_land, 'extra' : extra }, crs=crs) @@ -242,7 +244,7 @@ def test_from_geodataframe(self): for name, array in zip(['lat', 'lon', 'region_id'], [lat, lon, region_id]): np.testing.assert_array_equal(array, getattr(centroids, name)) - np.testing.assert_array_equal(extra, centroids.gdf.extra.values) + self.assertTrue('extra' not in centroids._gdf.columns) self.assertTrue(u_coord.equal_crs(centroids.crs, crs)) def test_from_geodataframe_invalid(self): From 79cd84bf2d68fde07616bb581d9d70324340b540 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 4 Jan 2024 17:35:54 +0100 Subject: [PATCH 131/192] Revert "Replace gdf with _gdf" This reverts commit c7e6ffd28b6a5588a4f848fce0a7ab0653d0aab8. --- climada/hazard/centroids/centr.py | 91 ++++++++++----------- climada/hazard/centroids/test/test_centr.py | 24 +++--- 2 files changed, 54 insertions(+), 61 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 3fe17d20a3..19713b45f1 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -22,7 +22,7 @@ import copy import logging from pathlib import Path -from typing import Union, Literal +from typing import Union import warnings import h5py @@ -46,8 +46,6 @@ LOGGER = logging.getLogger(__name__) -DEF_COLS = ['region_id', 'on_land', 'geometry'] - class Centroids(): """Contains raster or vector centroids. @@ -92,7 +90,7 @@ def __init__( on land (True) and on sea (False) of size size. Defaults to None array """ - self._gdf = gpd.GeoDataFrame( + self.gdf = gpd.GeoDataFrame( data={ 'geometry': gpd.points_from_xy(lon, lat, crs=crs), 'region_id': region_id, @@ -110,41 +108,41 @@ def __init__( @property def lat(self): """ Return latitudes """ - return self._gdf.geometry.y.values + return self.gdf.geometry.y.values @property def lon(self): """ Return longitudes """ - return self._gdf.geometry.x.values + return self.gdf.geometry.x.values @property def geometry(self): """ Return the geometry """ - return self._gdf['geometry'] + return self.gdf['geometry'] @property def on_land(self): """ Get the on_land property """ - if self._gdf.on_land.isna().all(): + if self.gdf.on_land.isna().all(): return None - return self._gdf['on_land'].values + return self.gdf['on_land'].values @property def region_id(self): """ Get the assigned region_id """ - if self._gdf.region_id.isna().all(): + if self.gdf.region_id.isna().all(): return None - return self._gdf['region_id'].values + return self.gdf['region_id'].values @property def crs(self): """ Get the crs""" - return self._gdf.crs + return self.gdf.crs @property def size(self): """Get size (number of lat/lon pairs)""" - return self._gdf.shape[0] + return self.gdf.shape[0] @property def shape(self): @@ -154,7 +152,7 @@ def shape(self): @property def total_bounds(self): """Get total bounds (minx, miny, maxx, maxy).""" - return self._gdf.total_bounds + return self.gdf.total_bounds @property def coord(self): @@ -173,15 +171,15 @@ def __eq__(self, other): ------- eq : bool """ - return self._gdf.equals(other._gdf) & u_coord.equal_crs(self.crs, other.crs) + return self.gdf.equals(other.gdf) & u_coord.equal_crs(self.crs, other.crs) - def to_default_crs(self, inplace=True): + def to_default_crs(self): """Project the current centroids to the default CRS (epsg4326) Modifies the object in place. """ - self.to_crs(DEF_CRS, inplace=inplace) + self.gdf.to_crs(DEF_CRS, inplace=True) - def to_crs(self, crs, inplace=True): + def to_crs(self, crs): """ Project the current centroids to the default CRS (epsg4326) Modifies the object in place. @@ -195,9 +193,7 @@ def to_crs(self, crs, inplace=True): Centroids Centroids in the new crs """ - if inplace: - self._gdf.to_crs(DEF_CRS, inplace=True) - return Centroids.from_geodataframe(self._gdf.to_crs(crs)) + return Centroids.from_geodataframe(self.gdf.to_crs(crs)) @classmethod def from_geodataframe(cls, gdf): @@ -224,10 +220,9 @@ def from_geodataframe(cls, gdf): # This is a bit ugly, but avoids to recompute the geometries # in the init. For large datasets this saves computation time centroids = cls(lat=[1], lon=[1]) #make "empty" centroids - columns = [col for col in gdf.columns if col in DEF_COLS] - centroids._gdf = gdf[columns] + centroids.gdf = gdf if not gdf.crs: - centroids._gdf.set_crs(DEF_CRS, inplace=True) + centroids.gdf.set_crs(DEF_CRS, inplace=True) return centroids @classmethod @@ -311,7 +306,7 @@ def append(self, centr): if not u_coord.equal_crs(self.crs, centr.crs): raise ValueError( "The centroids have different Coordinate-Reference-Systems (CRS)") - self._gdf = pd.concat([self._gdf, centr._gdf]) + self.gdf = pd.concat([self.gdf, centr.gdf]) def union(self, *others): """Create the union of centroids from the inputs. @@ -345,10 +340,10 @@ def remove_duplicate_points(cls, centroids): : Centroids Sub-selection of centroids withtout duplicates """ - return cls.from_geodataframe(centroids._gdf.drop_duplicates()) + return cls.from_geodataframe(centroids.gdf.drop_duplicates()) def select(self, reg_id=None, extent=None, sel_cen=None): - """Return Centroids with points in the given reg_id and/or in an + """Return Centroids with points in the given reg_id and/or in an spatial extent and/or in an index based list Parameters @@ -376,7 +371,7 @@ def select(self, reg_id=None, extent=None, sel_cen=None): sel_cen_bool[np.unique(sel_cen)] = True sel_cen_mask = self.select_mask(sel_cen=sel_cen_bool, reg_id=reg_id, extent=extent) - return Centroids.from_geodataframe(self._gdf[sel_cen_mask]) + return Centroids.from_geodataframe(self.gdf[sel_cen_mask]) def select_mask(self, sel_cen=None, reg_id=None, extent=None): @@ -444,9 +439,9 @@ def plot(self, ax=None, figsize=(9, 13), latlon_bounds_buffer=0.0, shapes=True, proj_plot = ccrs.PlateCarree(central_longitude=0.5 * (xmin + xmax)) if ax is None: - ax = self._gdf.copy().to_crs(proj_plot).plot(figsize=figsize, **kwargs) + ax = self.gdf.copy().to_crs(proj_plot).plot(figsize=figsize, **kwargs) else: - self._gdf.copy().to_crs(proj_plot).plot(figsize=figsize, **kwargs) + self.gdf.copy().to_crs(proj_plot).plot(figsize=figsize, **kwargs) if shapes: u_plot.add_shapes(ax) @@ -541,7 +536,7 @@ def get_dist_coast(self, signed=False, precomputed=False): else: LOGGER.debug('Computing distance to coast for %s centroids.', str(self.size)) return u_coord.dist_to_coast(ne_geom, signed=signed) - + def get_meta(self, resolution=None): """Returns a meta raster based on the centroids bounds. @@ -561,7 +556,7 @@ def get_meta(self, resolution=None): """ if resolution is None: resolution = np.abs(u_coord.get_resolution(self.lat, self.lon)).min() - xmin, ymin, xmax, ymax = self._gdf.total_bounds + xmin, ymin, xmax, ymax = self.gdf.total_bounds rows, cols, ras_trans = u_coord.pts_to_raster_meta( (xmin, ymin, xmax, ymax), (resolution, -resolution) ) @@ -663,9 +658,9 @@ def from_vector_file(cls, file_name, dst_crs=None): centroids = cls.from_geodataframe(gpd.read_file(file_name)) if dst_crs is not None: if centroids.crs: - centroids._gdf.to_crs(dst_crs, inplace=True) + centroids.gdf.to_crs(dst_crs, inplace=True) else: - centroids._gdf.set_crs(dst_crs, inplace=True) + centroids.gdf.set_crs(dst_crs, inplace=True) return centroids @classmethod @@ -708,9 +703,9 @@ def write_csv(self, file_path): absolute or relative file path and name to write to """ LOGGER.info('Writing %s', file_path) - df = pd.DataFrame(self._gdf) - df['lon'] = self._gdf['geometry'].x - df['lat'] = self._gdf['geometry'].y + df = pd.DataFrame(self.gdf) + df['lon'] = self.gdf['geometry'].x + df['lat'] = self.gdf['geometry'].y df = df.drop(['geometry'], axis=1) crs = CRS.from_user_input(self.crs).to_wkt() df['crs'] = crs @@ -757,7 +752,7 @@ def from_excel(cls, file_path, sheet_name=None): else: on_land = None return cls(lat=df['lat'], lon=df['lon'], region_id=region_id, on_land=on_land, crs=crs) - + def write_excel(self, file_path): """Save centroids as excel file @@ -767,9 +762,9 @@ def write_excel(self, file_path): absolute or relative file path and name to write to """ LOGGER.info('Writing %s', file_path) - df = pd.DataFrame(self._gdf) - df['lon'] = self._gdf['geometry'].x - df['lat'] = self._gdf['geometry'].y + df = pd.DataFrame(self.gdf) + df['lon'] = self.gdf['geometry'].x + df['lat'] = self.gdf['geometry'].y df = df.drop(['geometry'], axis=1) crs = CRS.from_user_input(self.crs).to_wkt() df['crs'] = crs @@ -785,10 +780,10 @@ def write_hdf5(self, file_name, mode='w'): """ LOGGER.info('Writing %s', file_name) store = pd.HDFStore(file_name, mode=mode) - pandas_df = pd.DataFrame(self._gdf) + pandas_df = pd.DataFrame(self.gdf) for col in pandas_df.columns: if str(pandas_df[col].dtype) == "geometry": - pandas_df[col] = np.asarray(self._gdf[col]) + pandas_df[col] = np.asarray(self.gdf[col]) # Avoid pandas PerformanceWarning when writing HDF5 data with warnings.catch_warnings(): @@ -881,9 +876,9 @@ def _ne_crs_geom(self): ------- geo : gpd.GeoSeries """ - if u_coord.equal_crs(self._gdf.crs, u_coord.NE_CRS): - return self._gdf.geometry - return self._gdf.geometry.to_crs(u_coord.NE_CRS) + if u_coord.equal_crs(self.gdf.crs, u_coord.NE_CRS): + return self.gdf.geometry + return self.gdf.geometry.to_crs(u_coord.NE_CRS) def _set_region_id(self, level='country', overwrite=False): """Set region_id as country ISO numeric code attribute for every pixel or point. @@ -901,7 +896,7 @@ def _set_region_id(self, level='country', overwrite=False): LOGGER.debug('Setting region_id %s points.', str(self.size)) if level == 'country': ne_geom = self._ne_crs_geom() - self._gdf['region_id'] = u_coord.get_country_code( + self.gdf['region_id'] = u_coord.get_country_code( ne_geom.y.values, ne_geom.x.values ) else: @@ -928,7 +923,7 @@ def _set_on_land(self, source='natural_earth', overwrite=False): LOGGER.debug('Setting on_land %s points.', str(self.lat.size)) if source=='natural_earth': ne_geom = self._ne_crs_geom() - self._gdf['on_land'] = u_coord.coord_on_land( + self.gdf['on_land'] = u_coord.coord_on_land( ne_geom.y.values, ne_geom.x.values ) else: diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index b14605fe34..798b281e39 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -136,8 +136,8 @@ def test_from_csv(self): self.assertEqual(centroids.crs, 'epsg:3857') # Delete file - Path(tmpfile).unlink() - + Path(tmpfile).unlink() + def test_write_read_csv(self): """Write and read a Centroids CSV file correctly.""" # Create Centroids with latitude and longitude arrays @@ -158,8 +158,8 @@ def test_write_read_csv(self): self.assertEqual(centroids_in.crs, centroids_out.crs) #delete file - Path(tmpfile).unlink() - + Path(tmpfile).unlink() + def test_from_excel_def_crs(self): """Read a centroid excel file correctly and use default CRS.""" # Create temporary excel file containing centroids data @@ -168,10 +168,10 @@ def test_from_excel_def_crs(self): lon = np.array([0, 0, 0, 180, -180]) df = pd.DataFrame({'lat':lat, 'lon':lon}) df.to_excel(tmpfile, sheet_name = 'centroids', index=False) - + # Read centroids using from_excel method centroids = Centroids.from_excel(file_path=tmpfile) - + # test attributes np.testing.assert_array_equal(centroids.lat, lat) np.testing.assert_array_equal(centroids.lon, lon) @@ -179,7 +179,7 @@ def test_from_excel_def_crs(self): #delete file Path(tmpfile).unlink() - + def test_from_excel(self): """Read a centroid excel file correctly which contains CRS information.""" # Create temporary excel file containing centroids data @@ -189,10 +189,10 @@ def test_from_excel(self): df = pd.DataFrame({'lat':lat, 'lon':lon}) df['crs'] = CRS.from_user_input(3857).to_wkt() df.to_excel(tmpfile, sheet_name = 'centroids', index=False) - + # Read centroids using from_excel method centroids = Centroids.from_excel(file_path=tmpfile) - + # test attributes np.testing.assert_array_equal(centroids.lat, lat) np.testing.assert_array_equal(centroids.lon, lon) @@ -221,7 +221,7 @@ def test_write_read_excel(self): self.assertEqual(centroids_in.crs, centroids_out.crs) #delete file - Path(tmpfile).unlink() + Path(tmpfile).unlink() def test_from_geodataframe(self): """Test that constructing a valid Centroids instance from gdf works.""" @@ -229,13 +229,11 @@ def test_from_geodataframe(self): lat = np.arange(170, 180) lon = np.arange(-50, -40) region_id = np.arange(1, 11) - on_land = np.ones(10) extra = np.repeat(str('a'), 10) gdf = gpd.GeoDataFrame({ 'geometry' : gpd.points_from_xy(lon, lat), 'region_id' : region_id, - 'on_land': on_land, 'extra' : extra }, crs=crs) @@ -244,7 +242,7 @@ def test_from_geodataframe(self): for name, array in zip(['lat', 'lon', 'region_id'], [lat, lon, region_id]): np.testing.assert_array_equal(array, getattr(centroids, name)) - self.assertTrue('extra' not in centroids._gdf.columns) + np.testing.assert_array_equal(extra, centroids.gdf.extra.values) self.assertTrue(u_coord.equal_crs(centroids.crs, crs)) def test_from_geodataframe_invalid(self): From e5dffd97a6909e51173d3fceb20863bf7d740c4a Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Fri, 5 Jan 2024 12:06:42 +0100 Subject: [PATCH 132/192] Update to_crs methods --- climada/hazard/centroids/centr.py | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 19713b45f1..becd771e72 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -173,13 +173,24 @@ def __eq__(self, other): """ return self.gdf.equals(other.gdf) & u_coord.equal_crs(self.crs, other.crs) - def to_default_crs(self): + def to_default_crs(self, inplace=True): """Project the current centroids to the default CRS (epsg4326) - Modifies the object in place. + + Parameters + ---------- + inplace: bool + if True, modifies the centroids in place. + if False, returns a copy. + Default is True. + + Returns + ------- + Centroids + Centroids in the new crs """ - self.gdf.to_crs(DEF_CRS, inplace=True) + self.to_crs(DEF_CRS, inplace=inplace) - def to_crs(self, crs): + def to_crs(self, crs, inplace=False): """ Project the current centroids to the default CRS (epsg4326) Modifies the object in place. @@ -187,12 +198,18 @@ def to_crs(self, crs): ---------- crs : str coordinate reference system + inplace: bool + if True, modifies the centroids in place. + if False, returns a copy. + Default is True. Returns ------- Centroids Centroids in the new crs """ + if inplace: + self.gdf.to_crs(crs) return Centroids.from_geodataframe(self.gdf.to_crs(crs)) @classmethod @@ -343,7 +360,7 @@ def remove_duplicate_points(cls, centroids): return cls.from_geodataframe(centroids.gdf.drop_duplicates()) def select(self, reg_id=None, extent=None, sel_cen=None): - """Return Centroids with points in the given reg_id and/or in an + """Return Centroids with points in the given reg_id and/or in an spatial extent and/or in an index based list Parameters @@ -536,7 +553,7 @@ def get_dist_coast(self, signed=False, precomputed=False): else: LOGGER.debug('Computing distance to coast for %s centroids.', str(self.size)) return u_coord.dist_to_coast(ne_geom, signed=signed) - + def get_meta(self, resolution=None): """Returns a meta raster based on the centroids bounds. @@ -752,7 +769,7 @@ def from_excel(cls, file_path, sheet_name=None): else: on_land = None return cls(lat=df['lat'], lon=df['lon'], region_id=region_id, on_land=on_land, crs=crs) - + def write_excel(self, file_path): """Save centroids as excel file From 1f6ec54f6aa3891b67abc105d44c57ffd526b064 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Fri, 5 Jan 2024 12:08:40 +0100 Subject: [PATCH 133/192] Raise error if wrong exposures --- climada/hazard/centroids/centr.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index becd771e72..09ff65f2e5 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -280,6 +280,11 @@ def from_exposures(cls, exposures): **dict(gdf.items()) ) + raise ValueError( + "The given exposures object has no coordinates information." + "The exposures' geodataframe must have either point geometries" + " or latitude and longitude values.") + @classmethod def from_pnt_bounds(cls, points_bounds, res, crs=DEF_CRS): """Create Centroids object with meta attribute according to points border data. From f59278cf542473ccbb398ff1168d1068dd0447fd Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Fri, 5 Jan 2024 12:13:16 +0100 Subject: [PATCH 134/192] Make from geodataframe more restrictive. --- climada/hazard/centroids/centr.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 09ff65f2e5..4beee5e0f0 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -46,6 +46,8 @@ LOGGER = logging.getLogger(__name__) +DEF_COLS = ['region_id', 'on_land', 'geometry'] + class Centroids(): """Contains raster or vector centroids. @@ -201,7 +203,7 @@ def to_crs(self, crs, inplace=False): inplace: bool if True, modifies the centroids in place. if False, returns a copy. - Default is True. + Default is False. Returns ------- @@ -237,7 +239,8 @@ def from_geodataframe(cls, gdf): # This is a bit ugly, but avoids to recompute the geometries # in the init. For large datasets this saves computation time centroids = cls(lat=[1], lon=[1]) #make "empty" centroids - centroids.gdf = gdf + columns = [col for col in gdf.columns if col in DEF_COLS] + centroids.gdf = gdf[columns] if not gdf.crs: centroids.gdf.set_crs(DEF_CRS, inplace=True) return centroids From 4c641dcfd7fe3eb52ddbf802f8eb1196762c5aec Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Fri, 5 Jan 2024 12:16:01 +0100 Subject: [PATCH 135/192] Use consistently to_crs method --- climada/hazard/centroids/centr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 4beee5e0f0..e5519381f3 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -903,7 +903,7 @@ def _ne_crs_geom(self): """ if u_coord.equal_crs(self.gdf.crs, u_coord.NE_CRS): return self.gdf.geometry - return self.gdf.geometry.to_crs(u_coord.NE_CRS) + return self.to_crs(u_coord.NE_CRS, inplace=False).geometry def _set_region_id(self, level='country', overwrite=False): """Set region_id as country ISO numeric code attribute for every pixel or point. From e5c1c739da672581bd2cf9d6abd5913a2c249d0e Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Fri, 5 Jan 2024 17:30:41 +0100 Subject: [PATCH 136/192] Improve read centroids --- climada/hazard/centroids/centr.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index e5519381f3..e79903d918 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -683,7 +683,7 @@ def from_vector_file(cls, file_name, dst_crs=None): centroids = cls.from_geodataframe(gpd.read_file(file_name)) if dst_crs is not None: if centroids.crs: - centroids.gdf.to_crs(dst_crs, inplace=True) + centroids.to_crs(dst_crs, inplace=True) else: centroids.gdf.set_crs(dst_crs, inplace=True) return centroids @@ -877,7 +877,7 @@ def _legacy_from_hdf5(cls, data): meta[key] = rasterio.Affine(*value) latitude, longitude = _meta_to_lat_lon(meta) - extra_values = {} + extra_values = dict.fromkeys(DEF_COLS) for centr_name in data.keys(): if centr_name not in ('crs', 'lat', 'lon', 'meta', 'latitude', 'longitude'): values = np.array(data.get(centr_name)) From 26e2702367a91fbe49362859b5e6eae4002363be Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Mon, 8 Jan 2024 13:24:40 +0100 Subject: [PATCH 137/192] Add literal to import --- climada/hazard/centroids/centr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index e79903d918..2cf0878d4b 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -22,7 +22,7 @@ import copy import logging from pathlib import Path -from typing import Union +from typing import Union, Literal import warnings import h5py From e6fa996bcd914b8d89a2e951a14c7d4bdf0b866d Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Mon, 8 Jan 2024 13:58:31 +0100 Subject: [PATCH 138/192] Update to crs with inplace argument --- climada/hazard/centroids/centr.py | 9 +++---- climada/hazard/centroids/test/test_centr.py | 28 +++++++++++---------- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 2cf0878d4b..b0da5af249 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -193,8 +193,7 @@ def to_default_crs(self, inplace=True): self.to_crs(DEF_CRS, inplace=inplace) def to_crs(self, crs, inplace=False): - """ Project the current centroids to the default CRS (epsg4326) - Modifies the object in place. + """ Project the current centroids to the desired crs Parameters ---------- @@ -211,7 +210,8 @@ def to_crs(self, crs, inplace=False): Centroids in the new crs """ if inplace: - self.gdf.to_crs(crs) + self.gdf.to_crs(crs, inplace=True) + return None return Centroids.from_geodataframe(self.gdf.to_crs(crs)) @classmethod @@ -263,14 +263,13 @@ def from_exposures(cls, exposures): col_names = [ column for column in exposures.gdf.columns - if column in ['region_id', 'on_land'] + if column in DEF_COLS ] # Legacy behaviour # Exposures can be without geometry column #TODO: remove once exposures is real geodataframe with geometry. if 'geometry' in exposures.gdf.columns: - col_names += ['geometry'] gdf = exposures.gdf[col_names] return cls.from_geodataframe(gdf) diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index 798b281e39..f1494cf382 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -136,8 +136,8 @@ def test_from_csv(self): self.assertEqual(centroids.crs, 'epsg:3857') # Delete file - Path(tmpfile).unlink() - + Path(tmpfile).unlink() + def test_write_read_csv(self): """Write and read a Centroids CSV file correctly.""" # Create Centroids with latitude and longitude arrays @@ -158,8 +158,8 @@ def test_write_read_csv(self): self.assertEqual(centroids_in.crs, centroids_out.crs) #delete file - Path(tmpfile).unlink() - + Path(tmpfile).unlink() + def test_from_excel_def_crs(self): """Read a centroid excel file correctly and use default CRS.""" # Create temporary excel file containing centroids data @@ -168,10 +168,10 @@ def test_from_excel_def_crs(self): lon = np.array([0, 0, 0, 180, -180]) df = pd.DataFrame({'lat':lat, 'lon':lon}) df.to_excel(tmpfile, sheet_name = 'centroids', index=False) - + # Read centroids using from_excel method centroids = Centroids.from_excel(file_path=tmpfile) - + # test attributes np.testing.assert_array_equal(centroids.lat, lat) np.testing.assert_array_equal(centroids.lon, lon) @@ -179,7 +179,7 @@ def test_from_excel_def_crs(self): #delete file Path(tmpfile).unlink() - + def test_from_excel(self): """Read a centroid excel file correctly which contains CRS information.""" # Create temporary excel file containing centroids data @@ -189,10 +189,10 @@ def test_from_excel(self): df = pd.DataFrame({'lat':lat, 'lon':lon}) df['crs'] = CRS.from_user_input(3857).to_wkt() df.to_excel(tmpfile, sheet_name = 'centroids', index=False) - + # Read centroids using from_excel method centroids = Centroids.from_excel(file_path=tmpfile) - + # test attributes np.testing.assert_array_equal(centroids.lat, lat) np.testing.assert_array_equal(centroids.lon, lon) @@ -221,7 +221,7 @@ def test_write_read_excel(self): self.assertEqual(centroids_in.crs, centroids_out.crs) #delete file - Path(tmpfile).unlink() + Path(tmpfile).unlink() def test_from_geodataframe(self): """Test that constructing a valid Centroids instance from gdf works.""" @@ -229,20 +229,22 @@ def test_from_geodataframe(self): lat = np.arange(170, 180) lon = np.arange(-50, -40) region_id = np.arange(1, 11) + on_land = np.ones(10).astype(bool) extra = np.repeat(str('a'), 10) gdf = gpd.GeoDataFrame({ 'geometry' : gpd.points_from_xy(lon, lat), 'region_id' : region_id, + 'on_land': on_land, 'extra' : extra }, crs=crs) centroids = Centroids.from_geodataframe(gdf) - for name, array in zip(['lat', 'lon', 'region_id'], - [lat, lon, region_id]): + for name, array in zip(['lat', 'lon', 'region_id', 'on_land'], + [lat, lon, region_id, on_land]): np.testing.assert_array_equal(array, getattr(centroids, name)) - np.testing.assert_array_equal(extra, centroids.gdf.extra.values) + self.assertTrue('extra' not in centroids.gdf.columns) self.assertTrue(u_coord.equal_crs(centroids.crs, crs)) def test_from_geodataframe_invalid(self): From 37b5d195471dd23104b9452d8d07c48b9adfee1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sarah=20H=C3=BClsen?= <49907095+sarah-hlsn@users.noreply.github.com> Date: Mon, 8 Jan 2024 14:06:16 +0100 Subject: [PATCH 139/192] improve excel, csv method, test based on review --- climada/hazard/centroids/centr.py | 31 ++++++++++++--------- climada/hazard/centroids/test/test_centr.py | 28 +++++++++++++++---- 2 files changed, 40 insertions(+), 19 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index b0da5af249..647a9de74a 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -727,12 +727,7 @@ def write_csv(self, file_path): absolute or relative file path and name to write to """ LOGGER.info('Writing %s', file_path) - df = pd.DataFrame(self.gdf) - df['lon'] = self.gdf['geometry'].x - df['lat'] = self.gdf['geometry'].y - df = df.drop(['geometry'], axis=1) - crs = CRS.from_user_input(self.crs).to_wkt() - df['crs'] = crs + df = self._centroids_to_df() df.to_csv(file_path, index=False) @@ -786,12 +781,7 @@ def write_excel(self, file_path): absolute or relative file path and name to write to """ LOGGER.info('Writing %s', file_path) - df = pd.DataFrame(self.gdf) - df['lon'] = self.gdf['geometry'].x - df['lat'] = self.gdf['geometry'].y - df = df.drop(['geometry'], axis=1) - crs = CRS.from_user_input(self.crs).to_wkt() - df['crs'] = crs + df = self._centroids_to_df() df.to_excel(file_path, sheet_name='centroids', index=False) def write_hdf5(self, file_name, mode='w'): @@ -891,7 +881,22 @@ def _legacy_from_hdf5(cls, data): ''' Private methods ''' - + + def _centroids_to_df(self): + """Create dataframe from Centroids object to facilitate saving in different file formats. + + Returns + ------- + df : DataFrame + """ + + df = pd.DataFrame(self.gdf) + df['lon'] = self.gdf['geometry'].x + df['lat'] = self.gdf['geometry'].y + df = df.drop(['geometry'], axis=1) + crs = CRS.from_user_input(self.crs).to_wkt() + df['crs'] = crs + return df def _ne_crs_geom(self): """Return `geometry` attribute in the CRS of Natural Earth. diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index f1494cf382..927556fc68 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -123,7 +123,9 @@ def test_from_csv(self): tmpfile = Path('test_write_csv.csv') lat = np.array([0, 20048966.1, -20048966, 0, 0]) lon = np.array([0, 0, 0, 20037508.34, -20037508.34]) - df = pd.DataFrame({'lat':lat, 'lon':lon}) + region_id = np.array([1, 2, 3, 4, 5]) + on_land = np.array([True, False, False, True, True]) + df = pd.DataFrame({'lat':lat, 'lon':lon, 'region_id':region_id, 'on_land':on_land}) df['crs'] = CRS.from_user_input(3857).to_wkt() df.to_csv(tmpfile, index=False) @@ -134,6 +136,8 @@ def test_from_csv(self): np.testing.assert_array_equal(centroids.lat, lat) np.testing.assert_array_equal(centroids.lon, lon) self.assertEqual(centroids.crs, 'epsg:3857') + np.testing.assert_array_equal(centroids.region_id, region_id) + np.testing.assert_array_equal(centroids.on_land, on_land) # Delete file Path(tmpfile).unlink() @@ -144,7 +148,9 @@ def test_write_read_csv(self): tmpfile = Path('test_write_csv.csv') lat = np.array([10.0, 20.0, 30.0]) lon = np.array([-10.0, -20.0, -30.0]) - centroids_out = Centroids(lat=lat, lon=lon) + region_id = np.array([1, 2, 3]) + on_land = np.array([True, False, False]) + centroids_out = Centroids(lat=lat, lon=lon, region_id=region_id, on_land=on_land) # Write CSV file from Centroids using write_csv centroids_out.write_csv(tmpfile) @@ -155,7 +161,9 @@ def test_write_read_csv(self): # Test attributes np.testing.assert_array_equal(centroids_in.lat, centroids_out.lat) np.testing.assert_array_equal(centroids_in.lon, centroids_out.lon) - self.assertEqual(centroids_in.crs, centroids_out.crs) + self.assertTrue(u_coord.equal_crs(centroids_in.crs, centroids_out.crs)) + np.testing.assert_array_equal(centroids_in.region_id, centroids_out.region_id) + np.testing.assert_array_equal(centroids_in.on_land, centroids_out.on_land) #delete file Path(tmpfile).unlink() @@ -186,7 +194,9 @@ def test_from_excel(self): tmpfile = Path('test_write_excel.xlsx') lat = np.array([0, 20048966.1, -20048966, 0, 0]) lon = np.array([0, 0, 0, 20037508.34, -20037508.34]) - df = pd.DataFrame({'lat':lat, 'lon':lon}) + region_id = np.array([1, 2, 3, 4, 5]) + on_land = np.array([True, False, False, True, True]) + df = pd.DataFrame({'lat':lat, 'lon':lon, 'region_id':region_id, 'on_land':on_land}) df['crs'] = CRS.from_user_input(3857).to_wkt() df.to_excel(tmpfile, sheet_name = 'centroids', index=False) @@ -197,6 +207,8 @@ def test_from_excel(self): np.testing.assert_array_equal(centroids.lat, lat) np.testing.assert_array_equal(centroids.lon, lon) self.assertEqual(centroids.crs, 'epsg:3857') + np.testing.assert_array_equal(centroids.region_id, region_id) + np.testing.assert_array_equal(centroids.on_land, on_land) #delete file Path(tmpfile).unlink() @@ -207,7 +219,9 @@ def test_write_read_excel(self): tmpfile = Path('test_write_excel.xlsx') lat = np.array([10.0, 20.0, 30.0]) lon = np.array([-10.0, -20.0, -30.0]) - centroids_out = Centroids(lat=lat, lon=lon) + region_id = np.array([1, 2, 3]) + on_land = np.array([True, False, False]) + centroids_out = Centroids(lat=lat, lon=lon, region_id=region_id, on_land=on_land) # Write Excel file from Centroids using write_csv centroids_out.write_excel(tmpfile) @@ -218,7 +232,9 @@ def test_write_read_excel(self): # Test attributes np.testing.assert_array_equal(centroids_in.lat, centroids_out.lat) np.testing.assert_array_equal(centroids_in.lon, centroids_out.lon) - self.assertEqual(centroids_in.crs, centroids_out.crs) + self.assertTrue(u_coord.equal_crs(centroids_in.crs, centroids_out.crs)) + np.testing.assert_array_equal(centroids_in.region_id, centroids_out.region_id) + np.testing.assert_array_equal(centroids_in.on_land, centroids_out.on_land) #delete file Path(tmpfile).unlink() From 622d326f63909d0cbbf9574d1606102d50ece5fe Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Mon, 8 Jan 2024 15:11:09 +0100 Subject: [PATCH 140/192] Update typing --- climada/hazard/centroids/centr.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 647a9de74a..35d261a928 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -74,7 +74,7 @@ def __init__( lon: Union[np.ndarray, list[float]], crs: str = DEF_CRS, region_id: Union[Literal["country"], None, np.ndarray, list[float]] = None, - on_land: Union[Literal["natural_earth"], None, np.ndarray, list[float]] = None, + on_land: Union[Literal["natural_earth"], None, np.ndarray, list[bool]] = None, ): """Initialization @@ -881,15 +881,15 @@ def _legacy_from_hdf5(cls, data): ''' Private methods ''' - + def _centroids_to_df(self): """Create dataframe from Centroids object to facilitate saving in different file formats. - + Returns ------- df : DataFrame """ - + df = pd.DataFrame(self.gdf) df['lon'] = self.gdf['geometry'].x df['lat'] = self.gdf['geometry'].y From a7311a00810bebabe465459bae0632b24ddf91b7 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Mon, 8 Jan 2024 17:19:27 +0100 Subject: [PATCH 141/192] Fix equal centroids for different gdf columns ordering --- climada/hazard/centroids/centr.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 35d261a928..870ae04df5 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -173,7 +173,16 @@ def __eq__(self, other): ------- eq : bool """ - return self.gdf.equals(other.gdf) & u_coord.equal_crs(self.crs, other.crs) + eq_crs = u_coord.equal_crs(self.crs, other.crs) + try: + pd.testing.assert_frame_equal( + self.gdf, other.gdf, check_like=True + ) + eq_df = True + except AssertionError: + eq_df = False + + return eq_crs & eq_df def to_default_crs(self, inplace=True): """Project the current centroids to the default CRS (epsg4326) From 99203ad4dfbea43641bc68fb25305b27e01b72ac Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Mon, 8 Jan 2024 17:19:45 +0100 Subject: [PATCH 142/192] Make consistent gdf column ordering --- climada/hazard/centroids/centr.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 870ae04df5..347750efd0 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -249,6 +249,7 @@ def from_geodataframe(cls, gdf): # in the init. For large datasets this saves computation time centroids = cls(lat=[1], lon=[1]) #make "empty" centroids columns = [col for col in gdf.columns if col in DEF_COLS] + columns.insert(0, 'geometry') #Same order as init centroids.gdf = gdf[columns] if not gdf.crs: centroids.gdf.set_crs(DEF_CRS, inplace=True) @@ -279,6 +280,7 @@ def from_exposures(cls, exposures): # Exposures can be without geometry column #TODO: remove once exposures is real geodataframe with geometry. if 'geometry' in exposures.gdf.columns: + col_names.append('geometry') gdf = exposures.gdf[col_names] return cls.from_geodataframe(gdf) From e5cd4ada474fca2bd112e923e0c827477a8e399b Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Mon, 8 Jan 2024 17:20:22 +0100 Subject: [PATCH 143/192] Simplify from excel/csv --- climada/hazard/centroids/centr.py | 68 +++++++++++++++---------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 347750efd0..78b623c2fb 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -46,7 +46,8 @@ LOGGER = logging.getLogger(__name__) -DEF_COLS = ['region_id', 'on_land', 'geometry'] +DEF_COLS = ['region_id', 'on_land'] +DEF_SHEET_NAME = 'centroids' class Centroids(): @@ -712,22 +713,8 @@ def from_csv(cls, file_path): Centroids Centroids with data from the given CSV file """ - df = pd.read_csv(file_path) - if 'crs' in df.columns: - crs = df['crs'].iloc[0] - else: - LOGGER.info(f'No \'crs\' column provided in file, setting CRS to WGS84 default.') - crs = DEF_CRS - if 'region_id' in df.columns: - region_id = df['region_id'] - else: - region_id = None - if 'on_land' in df.columns: - on_land = df['on_land'] - else: - on_land = None - return cls(lat=df['lat'], lon=df['lon'], region_id=region_id, on_land=on_land, crs=crs) + return cls._from_dataframe(df) def write_csv(self, file_path): """Save centroids as CSV file @@ -739,7 +726,7 @@ def write_csv(self, file_path): """ LOGGER.info('Writing %s', file_path) df = self._centroids_to_df() - df.to_csv(file_path, index=False) + df.to_csv(file_path.with_suffix('.csv'), index=False) @classmethod @@ -765,23 +752,8 @@ def from_excel(cls, file_path, sheet_name=None): """ if sheet_name is None: sheet_name = 'centroids' - df = pd.read_excel(file_path, sheet_name) - - if 'crs' in df.columns: - crs = df['crs'].iloc[0] - else: - LOGGER.info(f'No \'crs\' column provided in file, setting CRS to WGS84 default.') - crs = DEF_CRS - if 'region_id' in df.columns: - region_id = df['region_id'] - else: - region_id = None - if 'on_land' in df.columns: - on_land = df['on_land'] - else: - on_land = None - return cls(lat=df['lat'], lon=df['lon'], region_id=region_id, on_land=on_land, crs=crs) + return cls._from_dataframe(df) def write_excel(self, file_path): """Save centroids as excel file @@ -793,7 +765,10 @@ def write_excel(self, file_path): """ LOGGER.info('Writing %s', file_path) df = self._centroids_to_df() - df.to_excel(file_path, sheet_name='centroids', index=False) + df.to_excel( + file_path.with_suffix('.xlsx'), + sheet_name=DEF_SHEET_NAME, index=False + ) def write_hdf5(self, file_name, mode='w'): """Write data frame and metadata in hdf5 format @@ -855,6 +830,31 @@ def from_hdf5(cls, file_name): return cls.from_geodataframe(gdf) + ''' + Private methods + ''' + @classmethod + def _from_dataframe(cls, df): + if 'crs' in df.columns: + crs = df['crs'].iloc[0] + else: + LOGGER.info( + 'No \'crs\' column provided in file,' + 'setting CRS to WGS84 default.' + ) + crs = DEF_CRS + + extra_values = { + col: df[col] + for col in df.columns + if col in DEF_COLS + } + + return cls( + lat=df['lat'], lon=df['lon'], + **extra_values, crs=crs + ) + @classmethod def _legacy_from_hdf5(cls, data): crs = DEF_CRS From 58360a5da22b137e5a0e1487267c8190722b0475 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Mon, 8 Jan 2024 17:20:37 +0100 Subject: [PATCH 144/192] Add support for legacy hazard excell --- climada/hazard/base.py | 2 +- climada/hazard/centroids/centr.py | 15 +++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index 49fc6a38ac..a3976a2629 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -1182,7 +1182,7 @@ def from_excel(cls, file_name, var_names=None, haz_type=None): if haz_type is not None: hazard_kwargs["haz_type"] = haz_type try: - centroids = Centroids.from_excel(file_name, var_names=var_names['col_centroids']) + centroids = Centroids._legacy_from_excel(file_name, var_names=var_names['col_centroids']) hazard_kwargs.update(cls._read_att_excel(file_name, var_names, centroids)) except KeyError as var_err: raise KeyError("Variable not in Excel file: " + str(var_err)) from var_err diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 78b623c2fb..e64d3f7aa7 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -889,12 +889,19 @@ def _legacy_from_hdf5(cls, data): geometry=gpd.points_from_xy(x=longitude, y=latitude, crs=crs) ) - ''' - Private methods - ''' + @classmethod + def _legacy_from_excel(cls, file_name, var_names): + LOGGER.info('Reading %s', file_name) + try: + df = pd.read_excel(file_name, var_names['sheet_name']) + df = df.rename(columns=var_names['col_name']) + except KeyError as err: + raise KeyError("Not existing variable: %s" % str(err)) from err + return cls._from_dataframe(df) def _centroids_to_df(self): - """Create dataframe from Centroids object to facilitate saving in different file formats. + """Create dataframe from Centroids object to facilitate + saving in different file formats. Returns ------- From 2f248b8754f97eb95802f2990566d71afc7ba5e6 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Mon, 8 Jan 2024 17:21:13 +0100 Subject: [PATCH 145/192] Avoid single column loading error for df --- climada/hazard/centroids/centr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index e64d3f7aa7..5c4b14e8ae 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -877,7 +877,7 @@ def _legacy_from_hdf5(cls, data): meta[key] = rasterio.Affine(*value) latitude, longitude = _meta_to_lat_lon(meta) - extra_values = dict.fromkeys(DEF_COLS) + extra_values = {} for centr_name in data.keys(): if centr_name not in ('crs', 'lat', 'lon', 'meta', 'latitude', 'longitude'): values = np.array(data.get(centr_name)) From 19cae86246a1f23dd0fbd84ac04f50bb226e8f8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sarah=20H=C3=BClsen?= <49907095+sarah-hlsn@users.noreply.github.com> Date: Tue, 9 Jan 2024 12:23:31 +0100 Subject: [PATCH 146/192] fix path in write_excel, write_csv --- climada/hazard/centroids/centr.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 5c4b14e8ae..e2595ef6ed 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -721,12 +721,12 @@ def write_csv(self, file_path): Parameters ---------- - file_path : str + file_path : str, Path absolute or relative file path and name to write to """ LOGGER.info('Writing %s', file_path) df = self._centroids_to_df() - df.to_csv(file_path.with_suffix('.csv'), index=False) + df.to_csv(Path(file_path).with_suffix('.csv'), index=False) @classmethod @@ -760,13 +760,13 @@ def write_excel(self, file_path): Parameters ---------- - file_path : str + file_path : str, Path absolute or relative file path and name to write to """ LOGGER.info('Writing %s', file_path) df = self._centroids_to_df() df.to_excel( - file_path.with_suffix('.xlsx'), + Path(file_path).with_suffix('.xlsx'), sheet_name=DEF_SHEET_NAME, index=False ) From 19fe589de808e32b3b42ea7022b90b08b40cdbbe Mon Sep 17 00:00:00 2001 From: Igor Detring Date: Tue, 9 Jan 2024 17:37:37 +0100 Subject: [PATCH 147/192] fixing docstrings in centr.py --- climada/hazard/centroids/centr.py | 65 +++++++++++++++++++++---------- 1 file changed, 44 insertions(+), 21 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index e2595ef6ed..b3330b7f2b 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -51,7 +51,7 @@ class Centroids(): - """Contains raster or vector centroids. + """Contains vector centroids as a GeoDataFrame Attributes ---------- @@ -163,12 +163,13 @@ def coord(self): return np.stack([self.lat, self.lon], axis=1) def __eq__(self, other): - """Return True if two centroids equal, False otherwise + """ dunder method for Centroids comparison. + returns True if two centroids equal, False otherwise Parameters ---------- other : Centroids - centroids to compare + object to compare with Returns ------- @@ -192,15 +193,16 @@ def to_default_crs(self, inplace=True): ---------- inplace: bool if True, modifies the centroids in place. - if False, returns a copy. + if False, return projected centroids object. Default is True. Returns ------- Centroids Centroids in the new crs + """ - self.to_crs(DEF_CRS, inplace=inplace) + return self.to_crs(DEF_CRS, inplace=inplace) def to_crs(self, crs, inplace=False): """ Project the current centroids to the desired crs @@ -209,10 +211,9 @@ def to_crs(self, crs, inplace=False): ---------- crs : str coordinate reference system - inplace: bool + inplace: bool, default False if True, modifies the centroids in place. if False, returns a copy. - Default is False. Returns ------- @@ -239,6 +240,10 @@ def from_geodataframe(cls, gdf): ------- Centroids Centroids built from the geodataframe. + + Raises + ------ + ValueError """ if np.any(gdf.geom_type != 'Point'): raise ValueError( @@ -269,7 +274,11 @@ def from_exposures(cls, exposures): Returns ------- Centroids - Centroids built from the exposures + Centroids built from the exposures geodataframe + + Raises + ------ + ValueError """ col_names = [ column @@ -324,7 +333,7 @@ def from_pnt_bounds(cls, points_bounds, res, crs=DEF_CRS): return cls(lat=y_grid.flatten(), lon=x_grid.flatten(), crs=crs) def append(self, centr): - """Append centroids points. + """Append Centroids Parameters ---------- @@ -357,7 +366,7 @@ def union(self, *others): Returns ------- centroids : Centroids - Centroids containing the union of the centroids in others. + Centroids containing the union of all Centroids. """ centroids = copy.deepcopy(self) @@ -368,15 +377,20 @@ def union(self, *others): return Centroids.remove_duplicate_points(centroids) @classmethod - def remove_duplicate_points(cls, centroids): + def remove_duplicate_points(cls, centr): """Return a copy of centroids with removed duplicated points + Parameters + ---------- + centr : Centroids + Centroids with or without duplicate points + Returns ------- - : Centroids - Sub-selection of centroids withtout duplicates + centroids : Centroids + Sub-selection of centroids without duplicates """ - return cls.from_geodataframe(centroids.gdf.drop_duplicates()) + return cls.from_geodataframe(centr.gdf.drop_duplicates()) def select(self, reg_id=None, extent=None, sel_cen=None): """Return Centroids with points in the given reg_id and/or in an @@ -396,7 +410,7 @@ def select(self, reg_id=None, extent=None, sel_cen=None): Returns ------- - cen : Centroids + centroids : Centroids Sub-selection of this object """ sel_cen_bool = sel_cen @@ -459,6 +473,8 @@ def plot(self, ax=None, figsize=(9, 13), latlon_bounds_buffer=0.0, shapes=True, The default is (9, 13) latlon_bounds_buffer : float, optional Buffer to add to all sides of the bounding box. Default: 0.0. + shapes : bool, optional + overlay axis with coastlines. Default: True kwargs : optional arguments for scatter matplotlib function @@ -497,6 +513,11 @@ def get_area_pixel(self, min_resol=1.0e-8): method climada.util.coordinates.get_resolution. Default: 1.0e-8 + Returns + ------- + areapixels : np.array + area values in m*m + See also -------- climada.util.coordinates.get_resolution @@ -645,7 +666,9 @@ def from_raster_file(cls, file_name, src_crs=None, window=None, geometry=None, Returns ------- centr : Centroids - Centroids with meta attribute according to the given raster file + Centroids according to the given raster file + meta : dict, optional if return_meta is True + Raster meta (height, width, transform, crs). """ meta, _ = u_coord.read_raster( file_name, [1], src_crs, window, geometry, dst_crs, @@ -683,7 +706,7 @@ def from_vector_file(cls, file_name, dst_crs=None): vector file with format supported by fiona and 'geometry' field. dst_crs : crs, optional reproject to given crs - If not crs is given in the file, simply sets the crs. + If no crs is given in the file, simply sets the crs. Returns ------- @@ -741,10 +764,6 @@ def from_excel(cls, file_path, sheet_name=None): name of sheet in excel file containing centroid information Default: "centroids" - Raises - ------ - KeyError - Returns ------- centr : Centroids @@ -811,6 +830,10 @@ def from_hdf5(cls, file_name): ------- centr : Centroids Centroids with data from the given file + + Raises + ------ + FileNotFoundError """ if not Path(file_name).is_file(): raise FileNotFoundError(str(file_name)) From 5ccc278713a1dd98aebbc9514714d8b46be62f26 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Wed, 10 Jan 2024 20:43:04 +0100 Subject: [PATCH 148/192] Update code cosmetics --- climada/hazard/centroids/centr.py | 118 +++++++++--------- climada/hazard/centroids/test/test_vec_ras.py | 8 +- 2 files changed, 65 insertions(+), 61 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index b3330b7f2b..6a2c51766d 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -103,10 +103,10 @@ def __init__( if isinstance(region_id, str): LOGGER.info(f'Setting region id to {region_id} level.') - self._set_region_id(level=region_id, overwrite=True) + self.set_region_id(level=region_id, overwrite=True) if isinstance(on_land, str): LOGGER.info(f'Setting on land from {on_land} source.') - self._set_on_land(source=on_land, overwrite=True) + self.set_on_land(source=on_land, overwrite=True) @property def lat(self): @@ -163,7 +163,7 @@ def coord(self): return np.stack([self.lat, self.lon], axis=1) def __eq__(self, other): - """ dunder method for Centroids comparison. + """ dunder method for Centroids comparison. returns True if two centroids equal, False otherwise Parameters @@ -243,7 +243,7 @@ def from_geodataframe(cls, gdf): Raises ------ - ValueError + ValueError """ if np.any(gdf.geom_type != 'Point'): raise ValueError( @@ -383,7 +383,7 @@ def remove_duplicate_points(cls, centr): Parameters ---------- centr : Centroids - Centroids with or without duplicate points + Centroids with or without duplicate points Returns ------- @@ -501,6 +501,60 @@ def plot(self, ax=None, figsize=(9, 13), latlon_bounds_buffer=0.0, shapes=True, plt.tight_layout() return ax + def set_region_id(self, level='country', overwrite=False): + """Set region_id as country ISO numeric code attribute for every pixel or point. + + Parameters + ---------- + level: str + defines the admin level on which to assign centroids. Currently + only 'country' (admin0) is implemented. Default is 'country'. + overwrite : bool, optional + if True, overwrites the existing region_id information. + if False and region_id is None region_id is computed. + """ + if overwrite or self.region_id is None: + LOGGER.debug('Setting region_id %s points.', str(self.size)) + if level == 'country': + ne_geom = self._ne_crs_geom() + self.gdf['region_id'] = u_coord.get_country_code( + ne_geom.y.values, ne_geom.x.values + ) + else: + raise NotImplementedError( + 'The region id can only be assigned for countries so far' + ) + return None + + def set_on_land(self, source='natural_earth', overwrite=False): + """Set on_land attribute for every pixel or point. + + natural_earth: https://www.naturalearthdata.com/ + + Parameters + ---------- + source: str + defines the source of the coastlines. Currently + only 'natural_earth' is implemented. + Default is 'natural_earth'. + overwrite : bool + if True, overwrites the existing on_land information. + if False and on_land is None on_land is computed. + """ + if overwrite or self.on_land is None: + LOGGER.debug('Setting on_land %s points.', str(self.lat.size)) + if source=='natural_earth': + ne_geom = self._ne_crs_geom() + self.gdf['on_land'] = u_coord.coord_on_land( + ne_geom.y.values, ne_geom.x.values + ) + else: + raise NotImplementedError( + 'The on land variables can only be assigned' + 'using natural earth.' + ) + return None + def get_area_pixel(self, min_resol=1.0e-8): """Computes the area per centroid in the CEA projection assuming that the centroids define a regular grid of pixels @@ -831,8 +885,8 @@ def from_hdf5(cls, file_name): centr : Centroids Centroids with data from the given file - Raises - ------ + Raises + ------ FileNotFoundError """ if not Path(file_name).is_file(): @@ -950,57 +1004,7 @@ def _ne_crs_geom(self): return self.gdf.geometry return self.to_crs(u_coord.NE_CRS, inplace=False).geometry - def _set_region_id(self, level='country', overwrite=False): - """Set region_id as country ISO numeric code attribute for every pixel or point. - - Parameters - ---------- - level: str - defines the admin level on which to assign centroids. Currently - only 'country' (admin0) is implemented. Default is 'country'. - overwrite : bool, optional - if True, overwrites the existing region_id information. - if False and region_id is None region_id is computed. - """ - if overwrite or self.region_id is None: - LOGGER.debug('Setting region_id %s points.', str(self.size)) - if level == 'country': - ne_geom = self._ne_crs_geom() - self.gdf['region_id'] = u_coord.get_country_code( - ne_geom.y.values, ne_geom.x.values - ) - else: - raise NotImplementedError( - 'The region id can only be assigned for countries so far' - ) - - def _set_on_land(self, source='natural_earth', overwrite=False): - """Set on_land attribute for every pixel or point. - - natural_earth: https://www.naturalearthdata.com/ - Parameters - ---------- - source: str - defines the source of the coastlines. Currently - only 'natural_earth' is implemented. - Default is 'natural_earth'. - overwrite : bool - if True, overwrites the existing on_land information. - if False and on_land is None on_land is computed. - """ - if overwrite or self.on_land is None: - LOGGER.debug('Setting on_land %s points.', str(self.lat.size)) - if source=='natural_earth': - ne_geom = self._ne_crs_geom() - self.gdf['on_land'] = u_coord.coord_on_land( - ne_geom.y.values, ne_geom.x.values - ) - else: - raise NotImplementedError( - 'The on land variables can only be assigned' - 'using natural earth.' - ) def _meta_to_lat_lon(meta): diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index adc80d396e..13759eb5b4 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -97,7 +97,7 @@ def test_dist_coast_pass(self): def test_region_id_pass(self): """Test set_region_id""" - self.centr._set_region_id() + self.centr.set_region_id() np.testing.assert_array_equal( self.centr.region_id, REGION_ID @@ -113,7 +113,7 @@ def test_region_id_pass(self): def test_on_land(self): """Test set_on_land""" - self.centr._set_on_land() + self.centr.set_on_land() np.testing.assert_array_equal( self.centr.on_land, ON_LAND @@ -215,7 +215,7 @@ def test_ne_crs_geom_pass(self): def test_region_id_pass(self): """Test set_dist_coast""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - centr_ras._set_region_id() + centr_ras.set_region_id() self.assertEqual(centr_ras.region_id.size, centr_ras.size) self.assertTrue(np.array_equal(np.unique(centr_ras.region_id), np.array([862]))) @@ -238,7 +238,7 @@ def test_dist_coast_pass(self): def test_on_land(self): """Test set_on_land""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - centr_ras._set_on_land() + centr_ras.set_on_land() self.assertTrue(np.array_equal(centr_ras.on_land, np.ones(60 * 50, bool))) def test_area_pass(self): From ee512cab1f6d137066b531f81bdab2c3d48c7e04 Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Wed, 10 Jan 2024 21:22:07 +0100 Subject: [PATCH 149/192] Fix typo --- climada/hazard/storm_europe.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/climada/hazard/storm_europe.py b/climada/hazard/storm_europe.py index a15ad6a49e..a0c5b77718 100644 --- a/climada/hazard/storm_europe.py +++ b/climada/hazard/storm_europe.py @@ -773,7 +773,7 @@ def generate_prob_storms(self, reg_id=528, spatial_shift=4, ssi_args=None, """ # bool vector selecting the targeted centroids if reg_id is not None: - self.centroids._set_region_id(overwrite=False) + self.centroids.set_region_id(overwrite=False) if not isinstance(reg_id, list): reg_id = [reg_id] sel_cen = np.isin(self.centroids.region_id, reg_id) From 4053565e7e07174fc06d330bce08ecbc3fca259c Mon Sep 17 00:00:00 2001 From: Chahan Kropf Date: Thu, 18 Jan 2024 17:21:30 +0100 Subject: [PATCH 150/192] Allo for kwargs in init and update from exposures --- climada/hazard/centroids/centr.py | 30 ++++++++++++--------- climada/hazard/centroids/test/test_centr.py | 9 ++++++- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 6a2c51766d..c3971b6ee6 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -39,16 +39,20 @@ import climada.util.coordinates as u_coord import climada.util.plot as u_plot - __all__ = ['Centroids'] PROJ_CEA = CRS.from_user_input({'proj': 'cea'}) LOGGER = logging.getLogger(__name__) -DEF_COLS = ['region_id', 'on_land'] DEF_SHEET_NAME = 'centroids' - +EXP_SPECIFIC_COLS = [ + 'value', + 'impf_', + 'centr_', + 'cover', + 'deductible' +] class Centroids(): """Contains vector centroids as a GeoDataFrame @@ -76,6 +80,7 @@ def __init__( crs: str = DEF_CRS, region_id: Union[Literal["country"], None, np.ndarray, list[float]] = None, on_land: Union[Literal["natural_earth"], None, np.ndarray, list[bool]] = None, + **kwargs ): """Initialization @@ -98,6 +103,7 @@ def __init__( 'geometry': gpd.points_from_xy(lon, lat, crs=crs), 'region_id': region_id, 'on_land': on_land, + **kwargs } ) @@ -251,12 +257,11 @@ def from_geodataframe(cls, gdf): ' that are not points.' ) + # Don't forget to make a copy!! # This is a bit ugly, but avoids to recompute the geometries # in the init. For large datasets this saves computation time centroids = cls(lat=[1], lon=[1]) #make "empty" centroids - columns = [col for col in gdf.columns if col in DEF_COLS] - columns.insert(0, 'geometry') #Same order as init - centroids.gdf = gdf[columns] + centroids.gdf = gdf.copy(deep=True) if not gdf.crs: centroids.gdf.set_crs(DEF_CRS, inplace=True) return centroids @@ -264,6 +269,8 @@ def from_geodataframe(cls, gdf): @classmethod def from_exposures(cls, exposures): """Generate centroids from the location of an exposures. + The columns value, impf_*, centr_*, cover, deductible, + are discarded. Parameters ---------- @@ -283,14 +290,13 @@ def from_exposures(cls, exposures): col_names = [ column for column in exposures.gdf.columns - if column in DEF_COLS + if not np.any(np.isin(EXP_SPECIFIC_COLS, column)) ] # Legacy behaviour # Exposures can be without geometry column #TODO: remove once exposures is real geodataframe with geometry. if 'geometry' in exposures.gdf.columns: - col_names.append('geometry') gdf = exposures.gdf[col_names] return cls.from_geodataframe(gdf) @@ -802,7 +808,7 @@ def write_csv(self, file_path): absolute or relative file path and name to write to """ LOGGER.info('Writing %s', file_path) - df = self._centroids_to_df() + df = self._centroids_to_dataframe() df.to_csv(Path(file_path).with_suffix('.csv'), index=False) @@ -837,7 +843,7 @@ def write_excel(self, file_path): absolute or relative file path and name to write to """ LOGGER.info('Writing %s', file_path) - df = self._centroids_to_df() + df = self._centroids_to_dataframe() df.to_excel( Path(file_path).with_suffix('.xlsx'), sheet_name=DEF_SHEET_NAME, index=False @@ -924,7 +930,7 @@ def _from_dataframe(cls, df): extra_values = { col: df[col] for col in df.columns - if col in DEF_COLS + if col not in ['lat', 'lon', 'crs'] } return cls( @@ -976,7 +982,7 @@ def _legacy_from_excel(cls, file_name, var_names): raise KeyError("Not existing variable: %s" % str(err)) from err return cls._from_dataframe(df) - def _centroids_to_df(self): + def _centroids_to_dataframe(self): """Create dataframe from Centroids object to facilitate saving in different file formats. diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index 927556fc68..a15f540fa3 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -260,7 +260,7 @@ def test_from_geodataframe(self): for name, array in zip(['lat', 'lon', 'region_id', 'on_land'], [lat, lon, region_id, on_land]): np.testing.assert_array_equal(array, getattr(centroids, name)) - self.assertTrue('extra' not in centroids.gdf.columns) + self.assertTrue('extra' in centroids.gdf.columns) self.assertTrue(u_coord.equal_crs(centroids.crs, crs)) def test_from_geodataframe_invalid(self): @@ -307,6 +307,7 @@ def test_from_exposures_with_region_id(self): np.testing.assert_array_equal(centroids.lon, lon) np.testing.assert_array_equal(centroids.region_id, region_id) np.testing.assert_array_equal(centroids.on_land, on_land) + self.assertFalse(np.isin('value', centroids.gdf.columns)) self.assertEqual(centroids.crs, crs) def test_from_exposures_without_region_id(self): @@ -339,6 +340,12 @@ def test_from_exposures_without_region_id(self): self.assertTrue(u_coord.equal_crs(centroids.crs, DEF_CRS)) self.assertEqual(centroids.region_id, None) self.assertEqual(centroids.on_land, None) + self.assertFalse( + np.all(np.isin( + ['value', 'impf_tc', 'centr_tc'], centroids.gdf.columns + )) + ) + From 4d621011b91512c924828ee8a76d88b58a3e335a Mon Sep 17 00:00:00 2001 From: Thomas Vogt Date: Wed, 24 Jan 2024 10:33:05 +0100 Subject: [PATCH 151/192] code linting --- climada/entity/exposures/base.py | 12 ++- climada/entity/exposures/test/test_base.py | 10 +- climada/hazard/base.py | 86 ++++++++-------- climada/hazard/centroids/centr.py | 2 - climada/hazard/centroids/test/test_centr.py | 93 ++++++++--------- climada/hazard/centroids/test/test_vec_ras.py | 99 +++++++++---------- climada/hazard/test/test_base.py | 4 +- climada/hazard/trop_cyclone.py | 6 +- climada/util/coordinates.py | 6 +- climada/util/test/test_coordinates.py | 13 ++- 10 files changed, 162 insertions(+), 169 deletions(-) diff --git a/climada/entity/exposures/base.py b/climada/entity/exposures/base.py index e3e20a46ce..53504739e0 100644 --- a/climada/entity/exposures/base.py +++ b/climada/entity/exposures/base.py @@ -498,7 +498,6 @@ def from_raster(cls, file_name, band=1, src_crs=None, window=None, -------- Exposures """ - meta, value = u_coord.read_raster(file_name, [band], src_crs, window, geometry, dst_crs, transform, width, height, resampling) @@ -508,9 +507,14 @@ def from_raster(cls, file_name, band=1, src_crs=None, window=None, x_grid, y_grid = np.meshgrid(np.arange(ulx + xres / 2, lrx, xres), np.arange(uly + yres / 2, lry, yres)) return cls( - {'longitude': x_grid.flatten(), 'latitude': y_grid.flatten(), 'value': value.reshape(-1)} - , meta=meta, crs= meta['crs'] - ) + { + 'longitude': x_grid.flatten(), + 'latitude': y_grid.flatten(), + 'value': value.reshape(-1), + }, + meta=meta, + crs=meta['crs'], + ) def plot_scatter(self, mask=None, ignore_zero=False, pop_name=True, diff --git a/climada/entity/exposures/test/test_base.py b/climada/entity/exposures/test/test_base.py index e565d7dcf0..4a1146e26d 100644 --- a/climada/entity/exposures/test/test_base.py +++ b/climada/entity/exposures/test/test_base.py @@ -73,8 +73,8 @@ def test_assign_pass(self): # make sure that it works for both float32 and float64 for test_dtype in [np.float64, np.float32]: - haz.centroids.gdf.lat = haz.centroids.lat.astype(test_dtype) - haz.centroids.gdf.lon = haz.centroids.lon.astype(test_dtype) + haz.centroids.gdf["lat"] = haz.centroids.lat.astype(test_dtype) + haz.centroids.gdf["lon"] = haz.centroids.lon.astype(test_dtype) exp.assign_centroids(haz) self.assertEqual(exp.gdf.shape[0], len(exp.gdf[INDICATOR_CENTR + 'FL'])) np.testing.assert_array_equal(exp.gdf[INDICATOR_CENTR + 'FL'].values, expected_result) @@ -170,9 +170,9 @@ def test_assign_raster_same_pass(self): np.testing.assert_array_equal(exp.gdf[INDICATOR_CENTR + 'FL'].values, np.arange(haz.centroids.size, dtype=int)) -# Test fails because exposures stores the crs in the meta attribute as rasterio object, -# while the centroids stores the crs in the geodataframe, which is not a rasterio object. -# The comparison in assign_centroids then fails. + # Test fails because exposures stores the crs in the meta attribute as rasterio object, + # while the centroids stores the crs in the geodataframe, which is not a rasterio object. + # The comparison in assign_centroids then fails. def test_assign_large_hazard_subset_pass(self): """Test assign_centroids with raster hazard""" exp = Exposures.from_raster(HAZ_DEMO_FL, window=Window(10, 20, 50, 60)) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index 1cebec9a2a..db274c9b70 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -343,8 +343,8 @@ def from_raster(cls, files_intensity, files_fraction=None, attrs=None, centroids, meta = Centroids.from_raster_file( files_intensity[0], src_crs=src_crs, window=window, geometry=geometry, dst_crs=dst_crs, transform=transform, - width=width, height=height, resampling=resampling, return_meta=True - ) + width=width, height=height, resampling=resampling, return_meta=True, + ) if pool: chunksize = max(min(len(files_intensity) // pool.ncpus, 1000), 1) @@ -371,8 +371,8 @@ def from_raster(cls, files_intensity, files_fraction=None, attrs=None, intensity = _values_from_raster_files( files_intensity, meta=meta, band=band, src_crs=src_crs, window=window, geometry=geometry, dst_crs=dst_crs, transform=transform, width=width, - height=height, resampling=resampling - ) + height=height, resampling=resampling, + ) if files_fraction is not None: fraction = _values_from_raster_files( files_fraction, meta=meta, band=band, src_crs=src_crs, window=window, geometry=geometry, @@ -1702,7 +1702,7 @@ def write_raster(self, file_name, variable='intensity', output_resolution=None): """Write intensity or fraction as GeoTIFF file. Each band is an event. Output raster is always a regular grid (same resolution for lat/lon). - Note that is output_resolution is not None, the data is rasterized to that + Note that if output_resolution is not None, the data is rasterized to that resolution. This is an expensive operation. For hazards that are already a raster, output_resolution=None saves on this raster which is efficient. @@ -1733,21 +1733,21 @@ def write_raster(self, file_name, variable='intensity', output_resolution=None): else: raise ValueError( f"The variable {variable} is not valid. Please use 'intensity' or 'fraction'." - ) + ) meta = self.centroids.get_meta(resolution=output_resolution) meta.update(driver='GTiff', dtype=rasterio.float32, count=self.size) res = meta["transform"][0] # resolution from lon coordinates if meta['height'] * meta['width'] == self.centroids.shape[0]: - #If centroids already in raster format + # centroids already in raster format u_coord.write_raster(file_name, var_to_write.toarray(), meta) else: geometry = self.centroids.gdf.geometry.buffer( - distance=res/2, resolution=1, cap_style=3 - ) - #resolution=1, cap_style=3: squared buffers - #https://shapely.readthedocs.io/en/latest/manual.html#object.buffer + distance=res/2, resolution=1, cap_style=3, + ) + # resolution=1, cap_style=3: squared buffers + # https://shapely.readthedocs.io/en/latest/manual.html#object.buffer with rasterio.open(file_name, 'w', **meta) as dst: LOGGER.info('Writing %s', file_name) for i_ev in range(self.size): @@ -1761,8 +1761,8 @@ def write_raster(self, file_name, variable='intensity', output_resolution=None): transform=meta['transform'], fill=0, all_touched=True, - dtype=meta['dtype'] - ) + dtype=meta['dtype'], + ) dst.write(raster.astype(meta['dtype']), i_ev + 1) def write_hdf5(self, file_name, todense=False): @@ -1782,13 +1782,6 @@ def write_hdf5(self, file_name, todense=False): for (var_name, var_val) in self.__dict__.items(): if var_name == 'centroids': pass - elif var_name == 'tag': - hf_str = hf_data.create_dataset('haz_type', (1,), dtype=str_dt) - hf_str[0] = var_val.haz_type - hf_str = hf_data.create_dataset('file_name', (1,), dtype=str_dt) - hf_str[0] = str(var_val.file_name) - hf_str = hf_data.create_dataset('description', (1,), dtype=str_dt) - hf_str[0] = str(var_val.description) elif isinstance(var_val, sparse.csr_matrix): if todense: hf_data.create_dataset(var_name, data=var_val.toarray()) @@ -1850,13 +1843,6 @@ def from_hdf5(cls, file_name): continue if var_name == 'centroids': continue - elif var_name == 'tag': - hazard_kwargs["haz_type"] = u_hdf5.to_string( - hf_data.get('haz_type')[0]) - hazard_kwargs["file_name"] = u_hdf5.to_string( - hf_data.get('file_name')[0]) - hazard_kwargs["description"] = u_hdf5.to_string( - hf_data.get('description')[0]) elif isinstance(var_val, np.ndarray) and var_val.ndim == 1: hazard_kwargs[var_name] = np.array(hf_data.get(var_name)) elif isinstance(var_val, sparse.csr_matrix): @@ -1976,15 +1962,20 @@ def _centr_plot(self, centr_idx, mat_var, col_name, axis=None, **kwargs): except IndexError as err: raise ValueError(f'Wrong centroid id: {centr_idx}.') from err array_val = mat_var[:, centr_pos].toarray() - title = f'Centroid {centr_idx}: ({np.around(coord[centr_pos, 0],3)}, {np.around(coord[centr_pos, 1],3)})' + title = ( + f'Centroid {centr_idx}:' + f' ({np.around(coord[centr_pos, 0], 3)}, {np.around(coord[centr_pos, 1],3)})' + ) elif centr_idx < 0: max_inten = np.asarray(np.sum(mat_var, axis=0)).reshape(-1) centr_pos = np.argpartition(max_inten, centr_idx)[centr_idx:] centr_pos = centr_pos[np.argsort(max_inten[centr_pos])][0] array_val = mat_var[:, centr_pos].toarray() - title = (f'{np.abs(centr_idx)}-largest Centroid. {centr_pos}:' - f' ({np.around(coord[centr_pos, 0], 3)}, {np.around(coord[centr_pos, 1], 3)})') + title = ( + f'{np.abs(centr_idx)}-largest Centroid. {centr_pos}:' + f' ({np.around(coord[centr_pos, 0], 3)}, {np.around(coord[centr_pos, 1], 3)})' + ) else: array_val = np.max(mat_var, axis=1).toarray() title = f'{self.haz_type} max intensity at each event' @@ -2377,16 +2368,18 @@ def change_centroids(self, centroids, threshold=NEAREST_NEIGHBOR_THRESHOLD): self.centroids.coord, centroids.coord, threshold=threshold ) if -1 in new_cent_idx: - raise ValueError("At least one hazard centroid is at a larger " - f"distance than the given threshold {threshold} " - "from the given centroids. Please choose a " - "larger threshold or enlarge the centroids") + raise ValueError( + "At least one hazard centroid is at a larger distance than the given threshold" + f" {threshold} from the given centroids. Please choose a larger threshold or" + " enlarge the centroids" + ) if np.unique(new_cent_idx).size < new_cent_idx.size: - raise ValueError("At least two hazard centroids are mapped to the same " - "centroids. Please make sure that the given centroids " - "cover the same area like the original centroids and " - "are not of lower resolution.") + raise ValueError( + "At least two hazard centroids are mapped to the same centroids. Please make sure" + " that the given centroids cover the same area like the original centroids and are" + " not of lower resolution." + ) # re-assign attributes intensity and fraction for attr_name in ["intensity", "fraction"]: @@ -2505,16 +2498,20 @@ def _get_fraction(self, cent_idx=None): return self.fraction[:, cent_idx] -#Function to read intensity/fraction values from raster files -#Not a method to allow for parallel computing -def _values_from_raster_files(file_names, meta, band=None, src_crs=None, window=None, - geometry=None, dst_crs=None, transform=None, width=None, - height=None, resampling=Resampling.nearest): +def _values_from_raster_files( + file_names, meta, band=None, src_crs=None, window=None, + geometry=None, dst_crs=None, transform=None, width=None, + height=None, resampling=Resampling.nearest, +): """Read raster of bands and set 0 values to the masked ones. Each band is an event. Select region using window or geometry. Reproject input by proving dst_crs and/or (transform, width, height). + The main purpose of this function is to read intensity/fraction values from raster files for + use in Hazard.read_raster. It is implemented as a separate helper function (instead of a + class method) to allow for parallel computing. + Parameters ---------- file_names : str @@ -2556,7 +2553,8 @@ def _values_from_raster_files(file_names, meta, band=None, src_crs=None, window= for file_name in file_names: tmp_meta, data = u_coord.read_raster( file_name, band, src_crs, window, geometry, dst_crs, - transform, width, height, resampling) + transform, width, height, resampling, + ) if (tmp_meta['crs'] != meta['crs'] or tmp_meta['transform'] != meta['transform'] or tmp_meta['height'] != meta['height'] diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index c3971b6ee6..ac45c95755 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -1011,8 +1011,6 @@ def _ne_crs_geom(self): return self.to_crs(u_coord.NE_CRS, inplace=False).geometry - - def _meta_to_lat_lon(meta): """Compute lat and lon of every pixel center from meta raster. diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index 57cbfca630..979c5eaf4b 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -73,8 +73,8 @@ def test_to_default_crs(self): self.assertTrue(u_coord.equal_crs(centroids.crs, DEF_CRS)) def test_to_crs(self): - # Creating Centroids with non-default CRS - crs = 'epsg:4326' + # Creating Centroids with default CRS + crs = DEF_CRS lat = np.array([-10, 0, 10]) lon = np.array([-170, -150, -130]) centroids = Centroids(lat=lat, lon=lon, crs=crs) @@ -103,7 +103,7 @@ def test_from_csv_def_crs(self): tmpfile = Path('test_write_csv.csv') lat = np.array([0, 90, -90, 0, 0]) lon = np.array([0, 0, 0, 180, -180]) - df = pd.DataFrame({'lat':lat, 'lon':lon}) + df = pd.DataFrame({'lat': lat, 'lon': lon}) df.to_csv(tmpfile, index=False) # Read centroids using from_csv method @@ -114,8 +114,8 @@ def test_from_csv_def_crs(self): np.testing.assert_array_equal(centroids.lon, lon) self.assertEqual(centroids.crs, DEF_CRS) - #delete file - Path(tmpfile).unlink() + # delete file + tmpfile.unlink() def test_from_csv(self): """Read a centroid csv file which contains CRS information.""" @@ -124,7 +124,7 @@ def test_from_csv(self): lon = np.array([0, 0, 0, 20037508.34, -20037508.34]) region_id = np.array([1, 2, 3, 4, 5]) on_land = np.array([True, False, False, True, True]) - df = pd.DataFrame({'lat':lat, 'lon':lon, 'region_id':region_id, 'on_land':on_land}) + df = pd.DataFrame({'lat': lat, 'lon': lon, 'region_id': region_id, 'on_land': on_land}) df['crs'] = CRS.from_user_input(3857).to_wkt() df.to_csv(tmpfile, index=False) @@ -139,7 +139,7 @@ def test_from_csv(self): np.testing.assert_array_equal(centroids.on_land, on_land) # Delete file - Path(tmpfile).unlink() + tmpfile.unlink() def test_write_read_csv(self): """Write and read a Centroids CSV file correctly.""" @@ -164,8 +164,8 @@ def test_write_read_csv(self): np.testing.assert_array_equal(centroids_in.region_id, centroids_out.region_id) np.testing.assert_array_equal(centroids_in.on_land, centroids_out.on_land) - #delete file - Path(tmpfile).unlink() + # delete file + tmpfile.unlink() def test_from_excel_def_crs(self): """Read a centroid excel file correctly and use default CRS.""" @@ -173,8 +173,8 @@ def test_from_excel_def_crs(self): tmpfile = Path('test_write_excel.xlsx') lat = np.array([0, 90, -90, 0, 0]) lon = np.array([0, 0, 0, 180, -180]) - df = pd.DataFrame({'lat':lat, 'lon':lon}) - df.to_excel(tmpfile, sheet_name = 'centroids', index=False) + df = pd.DataFrame({'lat': lat, 'lon': lon}) + df.to_excel(tmpfile, sheet_name='centroids', index=False) # Read centroids using from_excel method centroids = Centroids.from_excel(file_path=tmpfile) @@ -184,8 +184,8 @@ def test_from_excel_def_crs(self): np.testing.assert_array_equal(centroids.lon, lon) self.assertEqual(centroids.crs, DEF_CRS) - #delete file - Path(tmpfile).unlink() + # delete file + tmpfile.unlink() def test_from_excel(self): """Read a centroid excel file correctly which contains CRS information.""" @@ -195,9 +195,9 @@ def test_from_excel(self): lon = np.array([0, 0, 0, 20037508.34, -20037508.34]) region_id = np.array([1, 2, 3, 4, 5]) on_land = np.array([True, False, False, True, True]) - df = pd.DataFrame({'lat':lat, 'lon':lon, 'region_id':region_id, 'on_land':on_land}) + df = pd.DataFrame({'lat': lat, 'lon': lon, 'region_id': region_id, 'on_land': on_land}) df['crs'] = CRS.from_user_input(3857).to_wkt() - df.to_excel(tmpfile, sheet_name = 'centroids', index=False) + df.to_excel(tmpfile, sheet_name='centroids', index=False) # Read centroids using from_excel method centroids = Centroids.from_excel(file_path=tmpfile) @@ -209,8 +209,8 @@ def test_from_excel(self): np.testing.assert_array_equal(centroids.region_id, region_id) np.testing.assert_array_equal(centroids.on_land, on_land) - #delete file - Path(tmpfile).unlink() + # delete file + tmpfile.unlink() def test_write_read_excel(self): """Write and read a Centroids Excel file correctly.""" @@ -235,8 +235,8 @@ def test_write_read_excel(self): np.testing.assert_array_equal(centroids_in.region_id, centroids_out.region_id) np.testing.assert_array_equal(centroids_in.on_land, centroids_out.on_land) - #delete file - Path(tmpfile).unlink() + # delete file + tmpfile.unlink() def test_from_geodataframe(self): """Test that constructing a valid Centroids instance from gdf works.""" @@ -244,20 +244,22 @@ def test_from_geodataframe(self): lat = np.arange(170, 180) lon = np.arange(-50, -40) region_id = np.arange(1, 11) - on_land = np.ones(10).astype(bool) - extra = np.repeat(str('a'), 10) + on_land = np.ones(10, dtype=bool) + extra = np.full(10, 'a') gdf = gpd.GeoDataFrame({ - 'geometry' : gpd.points_from_xy(lon, lat), - 'region_id' : region_id, + 'geometry': gpd.points_from_xy(lon, lat), + 'region_id': region_id, 'on_land': on_land, - 'extra' : extra + 'extra': extra, }, crs=crs) centroids = Centroids.from_geodataframe(gdf) - for name, array in zip(['lat', 'lon', 'region_id', 'on_land'], - [lat, lon, region_id, on_land]): + for name, array in zip( + ['lat', 'lon', 'region_id', 'on_land'], + [lat, lon, region_id, on_land], + ): np.testing.assert_array_equal(array, getattr(centroids, name)) self.assertTrue('extra' in centroids.gdf.columns) self.assertTrue(u_coord.equal_crs(centroids.crs, crs)) @@ -269,9 +271,9 @@ def test_from_geodataframe_invalid(self): 'geometry': [ shapely.Point((2,2)), shapely.Polygon([(0, 0), (1, 1), (1, 0), (0, 0)]), - shapely.LineString([(0, 1), (1, 0)]) - ] - }) + shapely.LineString([(0, 1), (1, 0)]), + ], + }) with self.assertRaises(ValueError): # Trying to create Centroids from invalid GeoDataFrame @@ -290,11 +292,11 @@ def test_from_exposures_with_region_id(self): on_land = [False, True, True] crs = 'epsg:32632' gdf = gpd.GeoDataFrame({ - 'latitude' : lat, + 'latitude': lat, 'longitude': lon, 'value': value, 'region_id': region_id, - 'on_land': on_land + 'on_land': on_land, }) exposures = Exposures(gdf, crs=crs) @@ -322,11 +324,11 @@ def test_from_exposures_without_region_id(self): impf_TC = np.array([1, 2, 3]) centr_TC = np.array([1, 2, 3]) gdf = gpd.GeoDataFrame({ - 'latitude' : lat, + 'latitude': lat, 'longitude': lon, 'value': value, 'impf_tc': impf_TC, - 'centr_TC': centr_TC + 'centr_TC': centr_TC, }) exposures = Exposures(gdf) @@ -339,27 +341,24 @@ def test_from_exposures_without_region_id(self): self.assertTrue(u_coord.equal_crs(centroids.crs, DEF_CRS)) self.assertEqual(centroids.region_id, None) self.assertEqual(centroids.on_land, None) - self.assertFalse( - np.all(np.isin( - ['value', 'impf_tc', 'centr_tc'], centroids.gdf.columns - )) + self.testing.assert_equal( + np.isin(['value', 'impf_tc', 'centr_tc'], centroids.gdf.columns), + True, ) - - class TestCentroidsWriter(unittest.TestCase): def test_read_write_hdf5(self): tmpfile = Path('test_write_hdf5.out.hdf5') - lat = np.arange(0,10) - lon = np.arange(-10,0) + lat = np.arange(0, 10) + lon = np.arange(-10, 0) crs = DEF_CRS centroids_w = Centroids(lat=lat, lon=lon, crs=crs) centroids_w.write_hdf5(tmpfile) centroids_r = Centroids.from_hdf5(tmpfile) self.assertTrue(centroids_w == centroids_r) - Path(tmpfile).unlink() + tmpfile.unlink() class TestCentroidsMethods(unittest.TestCase): @@ -416,10 +415,12 @@ def test_get_meta(self): # Check metadata expected_meta = dict( crs=DEF_CRS, - height= 3, - width= 3, - transform=Affine(10, 0, -35, - 0, -10, 35) + height=3, + width=3, + transform=Affine( + 10, 0, -35, + 0, -10, 35, + ), ) self.assertEqual(meta['height'], expected_meta['height']) self.assertEqual(meta['width'], expected_meta['width']) diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index 13759eb5b4..ae09d102a7 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -40,14 +40,14 @@ # Note: the coordinates are not directly on the cities, the region id and on land # otherwise do not work correctly. It is only a close point. LATLON = np.array([ - [-21.1736, -175.1883], #Tonga, Nuku'alofa, TON, 776 - [-18.133, 178.433], #Fidji, Suva, FJI, 242 IN WATER IN NATURAL EARTH - [-38.4689, 177.8642], #New-Zealand, Te Karaka, NZL, 554 - [69.6833, 18.95], #Norway, Tromso, NOR, 578 IN WATER IN NATURAL EARTH - [78.84422, 20.82842], #Norway, Svalbard, NOR, 578 - [1, 1], # Ocean, 0 (0,0 is onland in Natural earth for testing reasons) - [-77.85, 166.6778], #Antarctica, McMurdo station, ATA, 010 - [-0.25, -78.5833] #Ecuador, Quito, ECU, 218 + [-21.1736, -175.1883], # Tonga, Nuku'alofa, TON, 776 + [-18.133, 178.433], # Fidji, Suva, FJI, 242 IN WATER IN NATURAL EARTH + [-38.4689, 177.8642], # New-Zealand, Te Karaka, NZL, 554 + [69.6833, 18.95], # Norway, Tromso, NOR, 578 IN WATER IN NATURAL EARTH + [78.84422, 20.82842], # Norway, Svalbard, NOR, 578 + [1, 1], # Ocean, 0 (0,0 is onland in Natural earth for testing reasons) + [-77.85, 166.6778], # Antarctica, McMurdo station, ATA, 010 + [-0.25, -78.5833] # Ecuador, Quito, ECU, 218 ]) VEC_LAT = LATLON[:,0] @@ -57,13 +57,13 @@ REGION_ID = np.array([776, 0, 554, 0, 578, 0, 10, 218]) TEST_CRS = 'EPSG:4326' -ALT_CRS = 'epsg:32632' #Europe +ALT_CRS = 'epsg:32632' # Europe class TestVector(unittest.TestCase): """Test CentroidsVector class""" def setUp(self): - self.centr = Centroids(lat=VEC_LAT,lon=VEC_LON, crs=TEST_CRS) + self.centr = Centroids(lat=VEC_LAT, lon=VEC_LON, crs=TEST_CRS) def test_init_pass(self): """Test from_lat_lon""" @@ -73,8 +73,11 @@ def test_init_pass(self): # Test default crs and other inputs centr = Centroids( - lat=VEC_LAT,lon=VEC_LON, - region_id = REGION_ID, on_land=ON_LAND) + lat=VEC_LAT, + lon=VEC_LON, + region_id=REGION_ID, + on_land=ON_LAND, + ) self.assertTrue(u_coord.equal_crs(centr.crs, DEF_CRS)) self.assertTrue(np.allclose(centr.region_id, REGION_ID)) self.assertTrue(np.allclose(centr.on_land, ON_LAND)) @@ -91,48 +94,34 @@ def test_dist_coast_pass(self): # Just checking that the output doesnt change over time. REF_VALUES = np.array([ 1605.243, 603.261, 26112.239, 2228.629, 7207.817, - 156271.372, 661.114, 158184.4 - ]) + 156271.372, 661.114, 158184.4, + ]) np.testing.assert_array_almost_equal(dist_coast, REF_VALUES, decimal=3) def test_region_id_pass(self): """Test set_region_id""" self.centr.set_region_id() - np.testing.assert_array_equal( - self.centr.region_id, - REGION_ID - ) + np.testing.assert_array_equal(self.centr.region_id, REGION_ID) - centroids = Centroids( - lat=VEC_LAT, lon=VEC_LON, region_id='country' - ) - np.testing.assert_array_equal( - centroids.region_id, - REGION_ID - ) + centroids = Centroids(lat=VEC_LAT, lon=VEC_LON, region_id='country') + np.testing.assert_array_equal(centroids.region_id, REGION_ID) def test_on_land(self): """Test set_on_land""" self.centr.set_on_land() - np.testing.assert_array_equal( - self.centr.on_land, - ON_LAND - ) + np.testing.assert_array_equal(self.centr.on_land, ON_LAND) - centroids = Centroids( - lat=VEC_LAT, lon=VEC_LON, on_land='natural_earth' - ) - np.testing.assert_array_equal( - centroids.on_land, - ON_LAND - ) + centroids = Centroids(lat=VEC_LAT, lon=VEC_LON, on_land='natural_earth') + np.testing.assert_array_equal(centroids.on_land, ON_LAND) def test_remove_duplicate_pass(self): """Test remove_duplicate_points""" - centr = Centroids(lat = np.hstack([VEC_LAT, VEC_LAT]), - lon = np.hstack([VEC_LON , VEC_LON]), - crs=TEST_CRS) - self.assertTrue(centr.gdf.shape[0] == 2*self.centr.gdf.shape[0]) + centr = Centroids( + lat=np.hstack([VEC_LAT, VEC_LAT]), + lon=np.hstack([VEC_LON, VEC_LON]), + crs=TEST_CRS, + ) + self.assertTrue(centr.gdf.shape[0] == 2 * self.centr.gdf.shape[0]) rem_centr = Centroids.remove_duplicate_points(centr) self.assertTrue(self.centr == rem_centr) @@ -154,7 +143,7 @@ def test_area_pass(self): def test_get_closest_point(self): """Test get_closest_point""" for n, (lat, lon) in enumerate(LATLON): - x, y, idx = self.centr.get_closest_point(lon*0.99, lat*1.01) + x, y, idx = self.centr.get_closest_point(lon * 0.99, lat * 1.01) self.assertAlmostEqual(x, lon) self.assertAlmostEqual(y, lat) self.assertEqual(idx, n) @@ -166,7 +155,7 @@ def test_append_pass(self): centr = self.centr centr_bis = Centroids(lat=np.array([1, 2, 3]), lon=np.array([4, 5, 6]), crs=DEF_CRS) with self.assertRaises(ValueError): - #Different crs + # Different crs centr_bis.to_crs(ALT_CRS).append(centr) centr_bis.append(centr) self.assertAlmostEqual(centr_bis.lat[0], 1) @@ -183,7 +172,7 @@ def test_equal_pass(self): centr_list = [ Centroids(lat=VEC_LAT, lon=VEC_LON, crs=DEF_CRS), Centroids(lat=VEC_LAT, lon=VEC_LON, crs=ALT_CRS), - Centroids(lat=VEC_LAT+1, lon=VEC_LON+1) + Centroids(lat=VEC_LAT + 1, lon=VEC_LON + 1) ] for centr1, centr2 in itertools.combinations(centr_list, 2): self.assertFalse(centr2 == centr1) @@ -251,17 +240,15 @@ def test_area_pass(self): # This is a wrong result as it should be projected to CEA (for correct area) res = 0.009000000000000341 self.assertFalse( - np.allclose(area_pixel, np.ones(window_size[2] * window_size[3]) * res ** 2) - ) + np.allclose(area_pixel, np.ones(window_size[2] * window_size[3]) * res**2) + ) # Correct result in CEA results in unequal pixel area test_area = np.array([ 981010.32497514, 981010.3249724 , 981037.92674855, - 981037.92674582, 981065.50487659, 981065.50487385 - ]) - self.assertTrue( - np.allclose(area_pixel, test_area) - ) + 981037.92674582, 981065.50487659, 981065.50487385, + ]) + np.testing.assert_allclose(area_pixel, test_area) def test_size_pass(self): """Test size property""" @@ -322,8 +309,10 @@ def test_centroids_check_pass(self): centr = Centroids(lat=VEC_LAT, lon=VEC_LON, crs=ALT_CRS) self.assertTrue(u_coord.equal_crs(centr.crs, CRS.from_user_input(ALT_CRS))) - self.assertEqual(list(centr.total_bounds), - [VEC_LON.min(), VEC_LAT.min(), VEC_LON.max(), VEC_LAT.max()]) + self.assertEqual( + list(centr.total_bounds), + [VEC_LON.min(), VEC_LAT.min(), VEC_LON.max(), VEC_LAT.max()], + ) self.assertIsInstance(centr.lat, np.ndarray) self.assertIsInstance(centr.lon, np.ndarray) @@ -337,7 +326,7 @@ def test_centroids_check_pass(self): class TestReader(unittest.TestCase): """Test Centroids setter vector and raster methods""" def setUp(self): - self.centr = Centroids(lat=VEC_LAT,lon=VEC_LON, crs=TEST_CRS) + self.centr = Centroids(lat=VEC_LAT, lon=VEC_LON, crs=TEST_CRS) def test_from_vector_file(self): """Test from_vector_file and values_from_vector_files""" @@ -354,7 +343,6 @@ def test_from_vector_file(self): centr = Centroids.from_vector_file(shp_file, dst_crs=ALT_CRS) self.assertTrue(u_coord.equal_crs(centr.crs, ALT_CRS)) - def test_write_read_h5(self): """Write and read hdf5 format""" file_name = str(DATA_DIR.joinpath('test_centr.h5')) @@ -384,7 +372,8 @@ def test_select_extent_pass(self): centr = Centroids( lat=np.array([-5, -3, 0, 3, 5]), lon=np.array([-180, -175, -170, 170, 175]), - region_id=np.zeros(5)) + region_id=np.zeros(5), + ) ext_centr = centr.select(extent=[-175, -170, -5, 5]) np.testing.assert_array_equal(ext_centr.lon, np.array([-175, -170])) np.testing.assert_array_equal(ext_centr.lat, np.array([-3, 0])) diff --git a/climada/hazard/test/test_base.py b/climada/hazard/test/test_base.py index d21258c33d..0a7e6bfd56 100644 --- a/climada/hazard/test/test_base.py +++ b/climada/hazard/test/test_base.py @@ -82,8 +82,8 @@ def setUp(self): centroids = Centroids( lat=np.array([1, 3]), lon=np.array([2, 3]), - region_id = np.array([1, 2]) - ) + region_id=np.array([1, 2]), + ) self.hazard = Hazard( "TC", centroids=centroids, diff --git a/climada/hazard/trop_cyclone.py b/climada/hazard/trop_cyclone.py index e1127e1cdc..39744075a2 100644 --- a/climada/hazard/trop_cyclone.py +++ b/climada/hazard/trop_cyclone.py @@ -178,7 +178,7 @@ def set_from_tracks(self, *args, **kwargs): def from_tracks( cls, tracks: TCTracks, - centroids: Optional[Centroids], + centroids: Centroids, pool: Optional[pathos.pools.ProcessPool] = None, model: str = 'H08', ignore_distance_to_coast: bool = False, @@ -268,9 +268,9 @@ def from_tracks( coastal_idx = (np.abs(centroids.lat) <= max_latitude).nonzero()[0] else: # Select centroids which are inside max_dist_inland_km and lat <= max_latitude - if 'dist_coast' not in centroids.gdf: + if 'dist_coast' not in centroids.gdf.columns: centroids.gdf['dist_coast'] = centroids.get_dist_coast() - coastal_idx = ((centroids.gdf.dist_coast.values <= max_dist_inland_km * 1000) + coastal_idx = ((centroids.gdf['dist_coast'].values <= max_dist_inland_km * 1000) & (np.abs(centroids.lat) <= max_latitude)).nonzero()[0] # Filter early with a larger threshold, but inaccurate (lat/lon) distances. diff --git a/climada/util/coordinates.py b/climada/util/coordinates.py index b5b126e8e2..a4f61682a8 100644 --- a/climada/util/coordinates.py +++ b/climada/util/coordinates.py @@ -1133,9 +1133,9 @@ def match_centroids(coord_gdf, centroids, distance='euclidean', pass assigned = match_coordinates( - np.stack([coord_gdf.latitude.values, coord_gdf.longitude.values], axis=1), - centroids.coord, distance=distance, threshold=threshold - ) + np.stack([coord_gdf['latitude'].values, coord_gdf['longitude'].values], axis=1), + centroids.coord, distance=distance, threshold=threshold, + ) return assigned @numba.njit diff --git a/climada/util/test/test_coordinates.py b/climada/util/test/test_coordinates.py index bdd0ef9d52..496eb3c271 100644 --- a/climada/util/test/test_coordinates.py +++ b/climada/util/test/test_coordinates.py @@ -546,17 +546,20 @@ def test_match_centroids(self): -19.0, -19.0, -19.0, -19.0, -20.1, 0.0, 10.1, 10.1, 10.1, 0.0, -20.2, -20.3, -6.4, 9.8, 0.0, - ]), + ]), 'latitude': np.array([ 7.3, 7.3, 7.3, 7.3, 7.3, 7.3, 8.1, 7.9, 6.7, 6.5, 8.1, 8.2, 8.3, 0.0, -6.1, -6.2, -6.3, 0.0, -1.9, -1.7, 0.0, - ]) + ]), }) - gdf = gpd.GeoDataFrame(df,geometry=gpd.points_from_xy(df.longitude, df.latitude), - crs=DEF_CRS) - assigned = u_coord.match_centroids(gdf,centroids) + gdf = gpd.GeoDataFrame( + df, + geometry=gpd.points_from_xy(df.longitude, df.latitude), + crs=DEF_CRS, + ) + assigned = u_coord.match_centroids(gdf, centroids) expected_result = [ # constant y-value, varying x-value From 1ba2ade9180ea6d14833fc5e23e83d15b33fddad Mon Sep 17 00:00:00 2001 From: Thomas Vogt Date: Wed, 24 Jan 2024 14:11:52 +0100 Subject: [PATCH 152/192] Centroids: test from_meta --- climada/hazard/centroids/centr.py | 9 ++-- climada/hazard/centroids/test/test_vec_ras.py | 52 +++++++++++++++++-- 2 files changed, 53 insertions(+), 8 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index ac45c95755..10e175eda1 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -657,14 +657,15 @@ def get_dist_coast(self, signed=False, precomputed=False): def get_meta(self, resolution=None): """Returns a meta raster based on the centroids bounds. - When resolution is None it is estimated from the centroids - by assuming that they form a regular raster. + Note that this function is not perfectly inverse with `from_meta` since `get_meta` enforces + a grid with equal resolution in x- and y-direction with coordinates increasing in + x-direction and decreasing in y-direction. Parameters ---------- resolution : int, optional - Resolution of the raster. - By default None (resolution is estimated from centroids) + Resolution of the raster. If not given, the resolution is estimated from the centroids + by assuming that they form a regular raster. Default: None Returns ------- diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index ae09d102a7..51329fc6a0 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -66,7 +66,7 @@ def setUp(self): self.centr = Centroids(lat=VEC_LAT, lon=VEC_LON, crs=TEST_CRS) def test_init_pass(self): - """Test from_lat_lon""" + """Test init""" self.assertTrue(np.allclose(self.centr.lat, VEC_LAT)) self.assertTrue(np.allclose(self.centr.lon, VEC_LON)) self.assertTrue(u_coord.equal_crs(self.centr.crs, TEST_CRS)) @@ -288,9 +288,53 @@ def test_get_closest_point(self): self.assertEqual(y, 0.2) self.assertEqual(idx, 1) - def test_set_meta_to_lat_lon_pass(self): - """Test set_meta_to_lat_lon by using its inverse set_lat_lon_to_meta""" - pass + def test_from_meta(self): + """Test from_meta""" + meta_ref = { + 'width': 10, + 'height': 8, + 'transform': rasterio.Affine( + 0.6, 0, -0.1, + 0, -0.6, 0.3, + ), + 'crs': DEF_CRS, + } + + lon_ref = np.array([0.2, 0.8, 1.4, 2.0, 2.6, 3.2, 3.8, 4.4, 5.0, 5.6]) + lat_ref = np.array([0.0, -0.6, -1.2, -1.8, -2.4, -3.0, -3.6, -4.2]) + lon_ref, lat_ref = [ar.ravel() for ar in np.meshgrid(lon_ref, lat_ref)] + + centr = Centroids.from_meta(meta_ref) + meta = centr.get_meta() + self.assertTrue(u_coord.equal_crs(meta_ref["crs"], meta["crs"])) + self.assertEqual(meta_ref["width"], meta["width"]) + self.assertEqual(meta_ref["height"], meta["height"]) + np.testing.assert_allclose(meta_ref["transform"], meta["transform"]) + + centr = Centroids.from_meta( + Centroids(lat=lat_ref, lon=lon_ref).get_meta() + ) + np.testing.assert_allclose(lat_ref, centr.lat) + np.testing.assert_allclose(lon_ref, centr.lon) + + # `get_meta` enforces same resolution in x and y, and y-coordinates are decreasing. + # For other cases, `from_meta` needs to be checked manually. + meta_ref = { + 'width': 4, + 'height': 5, + 'transform': rasterio.Affine( + 0.5, 0, 0.2, + 0, 0.6, -0.7, + ), + 'crs': DEF_CRS, + } + lon_ref = np.array([0.45, 0.95, 1.45, 1.95]) + lat_ref = np.array([-0.4, 0.2, 0.8, 1.4, 2.0]) + lon_ref, lat_ref = [ar.ravel() for ar in np.meshgrid(lon_ref, lat_ref)] + + centr = Centroids.from_meta(meta_ref) + np.testing.assert_allclose(lat_ref, centr.lat) + np.testing.assert_allclose(lon_ref, centr.lon) def test_equal_pass(self): """Test equal""" From 62df2dd6158f8406baa6d12cbb502dbe0e6b926b Mon Sep 17 00:00:00 2001 From: Thomas Vogt Date: Wed, 24 Jan 2024 14:48:39 +0100 Subject: [PATCH 153/192] Centroids: refined tests --- climada/hazard/centroids/test/test_vec_ras.py | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index 51329fc6a0..4e2388b413 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -57,7 +57,7 @@ REGION_ID = np.array([776, 0, 554, 0, 578, 0, 10, 218]) TEST_CRS = 'EPSG:4326' -ALT_CRS = 'epsg:32632' # Europe +ALT_CRS = 'epsg:32632' # UTM zone 32N (Central Europe, 6-12°E) class TestVector(unittest.TestCase): """Test CentroidsVector class""" @@ -186,20 +186,38 @@ class TestRaster(unittest.TestCase): def test_from_pnt_bounds_pass(self): """Test from_pnt_bounds""" + width, height = 26, 51 left, bottom, right, top = 5, 0, 10, 10 + centr = Centroids.from_pnt_bounds((left, bottom, right, top), 0.2, crs=DEF_CRS) self.assertTrue(u_coord.equal_crs(centr.crs, DEF_CRS)) + self.assertEqual(centr.size, width * height) + np.testing.assert_allclose([5.0, 5.2, 5.0], centr.lon[[0, 1, width]], atol=0.1) + np.testing.assert_allclose([10.0, 10.0, 9.8], centr.lat[[0, 1, width]], atol=0.1) - def test_read_all_pass(self): - """Test centr_ras data""" - centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) + def test_from_raster(self): + """Test from_raster_file""" + width, height = 50, 60 + o_lat, o_lon = (10.42822096697894, -69.33714959699981) + res_lat, res_lon = (-0.009000000000000341, 0.009000000000000341) + + centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, width, height)) self.assertTrue(u_coord.equal_crs(centr_ras.crs, DEF_CRS)) + self.assertEqual(centr_ras.size, width * height) + np.testing.assert_allclose( + [-69.333, -69.324, -69.333], centr_ras.lon[[0, 1, width]], atol=0.001, + ) + np.testing.assert_allclose( + [10.424, 10.424, 10.415], centr_ras.lat[[0, 1, width]], atol=0.001, + ) def test_ne_crs_geom_pass(self): """Test _ne_crs_geom""" centr = Centroids(lat=VEC_LAT, lon=VEC_LON, crs=ALT_CRS) ne_geom = centr._ne_crs_geom() self.assertTrue(u_coord.equal_crs(ne_geom.crs, u_coord.NE_CRS)) + np.testing.assert_allclose(ne_geom.geometry[:].x.values, 4.5, atol=0.1) + np.testing.assert_allclose(ne_geom.geometry[:].y.values, 0.0, atol=0.001) def test_region_id_pass(self): """Test set_dist_coast""" From a7b8cf95da688bb50a48d3b0dca31bd7d86dd906 Mon Sep 17 00:00:00 2001 From: Thomas Vogt Date: Wed, 24 Jan 2024 15:16:50 +0100 Subject: [PATCH 154/192] Centroids: fix from_exposures --- climada/hazard/centroids/centr.py | 32 ++++++++++++--------- climada/hazard/centroids/test/test_centr.py | 4 +-- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 10e175eda1..95e28a0e4e 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -288,10 +288,9 @@ def from_exposures(cls, exposures): ValueError """ col_names = [ - column - for column in exposures.gdf.columns - if not np.any(np.isin(EXP_SPECIFIC_COLS, column)) - ] + column for column in exposures.gdf.columns + if not any(pattern in column for pattern in EXP_SPECIFIC_COLS) + ] # Legacy behaviour # Exposures can be without geometry column @@ -316,27 +315,32 @@ def from_exposures(cls, exposures): @classmethod def from_pnt_bounds(cls, points_bounds, res, crs=DEF_CRS): - """Create Centroids object with meta attribute according to points border data. + """Create Centroids object from coordinate bounds and resolution. - raster border = point border + res/2 + The result contains all points from a regular raster with the given resolution and CRS, + covering the given bounds. Note that the raster bounds are larger than the points' bounds + by res/2. Parameters ---------- points_bounds : tuple - points' lon_min, lat_min, lon_max, lat_max + The bounds (lon_min, lat_min, lon_max, lat_max) of the point coordinates. res : float - desired resolution in same units as points_bounds + The desired resolution in same units as `points_bounds`. crs : dict() or rasterio.crs.CRS, optional - CRS. Default: DEF_CRS + Coordinate reference system. Default: DEF_CRS Returns ------- - centr : Centroids - Centroids with meta according to given points border data. + Centroids """ - rows, cols, ras_trans = u_coord.pts_to_raster_meta(points_bounds, (res, -res)) - x_grid, y_grid = u_coord.raster_to_meshgrid(ras_trans, cols, rows) - return cls(lat=y_grid.flatten(), lon=x_grid.flatten(), crs=crs) + height, width, transform = u_coord.pts_to_raster_meta(points_bounds, (res, -res)) + return cls.from_meta({ + "crs": crs, + "width": width, + "height": height, + "transform": transform, + }) def append(self, centr): """Append Centroids diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index 979c5eaf4b..578cb5040d 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -341,9 +341,9 @@ def test_from_exposures_without_region_id(self): self.assertTrue(u_coord.equal_crs(centroids.crs, DEF_CRS)) self.assertEqual(centroids.region_id, None) self.assertEqual(centroids.on_land, None) - self.testing.assert_equal( + np.testing.assert_equal( np.isin(['value', 'impf_tc', 'centr_tc'], centroids.gdf.columns), - True, + False, ) From e514195e084c8b7f7492388ce67c6751a8f09d27 Mon Sep 17 00:00:00 2001 From: Thomas Vogt Date: Wed, 24 Jan 2024 16:25:33 +0100 Subject: [PATCH 155/192] Centroids: implement get_pixel_shapes --- climada/hazard/base.py | 6 +- climada/hazard/centroids/centr.py | 161 +++++++++++++++++------------- 2 files changed, 92 insertions(+), 75 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index db274c9b70..7b5deaf8ec 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -1743,11 +1743,7 @@ def write_raster(self, file_name, variable='intensity', output_resolution=None): # centroids already in raster format u_coord.write_raster(file_name, var_to_write.toarray(), meta) else: - geometry = self.centroids.gdf.geometry.buffer( - distance=res/2, resolution=1, cap_style=3, - ) - # resolution=1, cap_style=3: squared buffers - # https://shapely.readthedocs.io/en/latest/manual.html#object.buffer + geometry = self.centroids.get_pixel_shapes(res=res) with rasterio.open(file_name, 'w', **meta) as dst: LOGGER.info('Writing %s', file_name) for i_ev in range(self.size): diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 95e28a0e4e..06a235ef8e 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -60,16 +60,15 @@ class Centroids(): Attributes ---------- lat : np.array - latitudes in the chosen crs (can be any unit) + Latitudinal coordinates in the specified CRS (can be any unit). lon : np.array - longitudes in the chosen crs (can be any unit) - crs : str, optional - coordinate reference system, default is WGS84 + Longitudinal coordinates in the specified CRS (can be any unit). + crs : pyproj.CRS + Coordinate reference system. Default: EPSG:4326 (WGS84) region_id : np.array, optional - region numeric codes - (can be any values, admin0, admin1, custom values) + Numeric country (or region) codes. Default: None on_land : np.array, optional - on land (True) and on sea (False) + Boolean array indicating on land (True) or off shore (False). Default: None """ def __init__( @@ -77,7 +76,7 @@ def __init__( *, lat: Union[np.ndarray, list[float]], lon: Union[np.ndarray, list[float]], - crs: str = DEF_CRS, + crs: any = DEF_CRS, region_id: Union[Literal["country"], None, np.ndarray, list[float]] = None, on_land: Union[Literal["natural_earth"], None, np.ndarray, list[bool]] = None, **kwargs @@ -87,15 +86,18 @@ def __init__( Parameters ---------- lat : np.array - latitude of size size. Defaults to empty array + Latitudinal coordinates in the specified CRS (can be any unit). lon : np.array - longitude of size size. Defaults to empty array - crs : str - coordinate reference system - region_id : np.array, optional - country region code of size size, Defaults to None array - on_land : np.array, optional - on land (True) and on sea (False) of size size. Defaults to None array + Longitudinal coordinates in the specified CRS (can be any unit). + crs : str or anything accepted by pyproj.CRS.from_user_input() + Coordinate reference system. Default: EPSG:4326 (WGS84) + region_id : np.array or str, optional + Array of numeric country (or region) codes. If the special value "country" is given + admin-0 codes are automatically assigned. Default: None + on_land : np.array or str, optional + Boolean array indicating on land (True) or off shore (False). If the special value + "natural_earth" is given, the property is automatically determined from NaturalEarth + shapes. Default: None """ self.gdf = gpd.GeoDataFrame( @@ -103,7 +105,7 @@ def __init__( 'geometry': gpd.points_from_xy(lon, lat, crs=crs), 'region_id': region_id, 'on_land': on_land, - **kwargs + **kwargs, } ) @@ -516,40 +518,38 @@ def set_region_id(self, level='country', overwrite=False): Parameters ---------- - level: str - defines the admin level on which to assign centroids. Currently - only 'country' (admin0) is implemented. Default is 'country'. + level: str, optional + The admin level on which to assign centroids. Currently only 'country' (admin0) is + implemented. Defaul: 'country' overwrite : bool, optional - if True, overwrites the existing region_id information. - if False and region_id is None region_id is computed. + If True, overwrite the existing region_id information. If False, region_id is set + only if region_id is missing (None). Default: False """ if overwrite or self.region_id is None: LOGGER.debug('Setting region_id %s points.', str(self.size)) if level == 'country': ne_geom = self._ne_crs_geom() self.gdf['region_id'] = u_coord.get_country_code( - ne_geom.y.values, ne_geom.x.values - ) + ne_geom.y.values, ne_geom.x.values, + ) else: raise NotImplementedError( 'The region id can only be assigned for countries so far' - ) + ) return None def set_on_land(self, source='natural_earth', overwrite=False): """Set on_land attribute for every pixel or point. - natural_earth: https://www.naturalearthdata.com/ - Parameters ---------- - source: str - defines the source of the coastlines. Currently - only 'natural_earth' is implemented. - Default is 'natural_earth'. - overwrite : bool - if True, overwrites the existing on_land information. - if False and on_land is None on_land is computed. + source: str, optional + The source of the on-land information. Currently, only 'natural_earth' (based on shapes + from NaturalEarth, https://www.naturalearthdata.com/) is implemented. + Default: 'natural_earth'. + overwrite : bool, optional + If True, overwrite the existing on_land information. If False, on_land is set + only if on_land is missing (None). Default: False """ if overwrite or self.on_land is None: LOGGER.debug('Setting on_land %s points.', str(self.lat.size)) @@ -560,41 +560,64 @@ def set_on_land(self, source='natural_earth', overwrite=False): ) else: raise NotImplementedError( - 'The on land variables can only be assigned' - 'using natural earth.' - ) + 'The on land variables can only be automatically assigned using natural earth.' + ) return None - def get_area_pixel(self, min_resol=1.0e-8): - """Computes the area per centroid in the CEA projection - assuming that the centroids define a regular grid of pixels - (area in m*m). + def get_pixel_shapes(self, res=None, **kwargs): + """Create a GeoSeries of the quadratic pixel shapes at the centroid locations + + Note that this assumes that the centroids define a regular grid of pixels. Parameters ---------- - min_resol : float, optional - Use this minimum resolution in lat and lon. Is passed to the - method climada.util.coordinates.get_resolution. - Default: 1.0e-8 + res : float, optional + The resolution of the regular grid the pixels are taken from. If not given, it is + estimated using climada.util.coordinates.get_resolution. Default: None + kwargs : optional + Additional keyword arguments are passed to climada.util.coordinates.get_resolution. Returns ------- - areapixels : np.array - area values in m*m + GeoSeries See also -------- climada.util.coordinates.get_resolution """ + if res is None: + res = np.abs(u_coord.get_resolution(self.lat, self.lon, **kwargs)).min() + geom = self.geometry.copy() + # unset CRS to avoid warnings about geographic CRS when using `GeoSeries.buffer` + geom.crs = None + return geom.buffer( + # resolution=1, cap_style=3: squared buffers + # https://shapely.readthedocs.io/en/latest/manual.html#object.buffer + distance=res / 2, resolution=1, cap_style=3, + # reset CRS (see above) + ).set_crs(self.crs) - res = np.abs(u_coord.get_resolution(self.lat, self.lon, min_resol=min_resol)).min() - LOGGER.debug('Setting area_pixel %s points.', str(self.lat.size)) - xy_pixels = self.geometry.buffer(res / 2, resolution=1, cap_style=3).envelope - if PROJ_CEA == self.geometry.crs: - area_pixel = xy_pixels.area.values - else: - area_pixel = xy_pixels.to_crs(crs={'proj': 'cea'}).area.values - return area_pixel + def get_area_pixel(self, min_resol=1.0e-8): + """Compute the area per centroid in the CEA projection + + Note that this assumes that the centroids define a regular grid of pixels (area in m²). + + Parameters + ---------- + min_resol : float, optional + When estimating the grid resolution, use this as the minimum resolution in lat and lon. + It is passed to climada.util.coordinates.get_resolution. Default: 1.0e-8 + + Returns + ------- + areapixels : np.array + Area of each pixel in square meters. + """ + LOGGER.debug('Computing pixel area for %d centroids.', self.size) + xy_pixels = self.get_pixel_shapes(min_resol=min_resol) + if PROJ_CEA != xy_pixels.crs: + xy_pixels = xy_pixels.to_crs(crs={'proj': 'cea'}) + return xy_pixels.area.values def get_closest_point(self, x_lon, y_lat): """Returns closest centroid and its index to a given point. @@ -737,11 +760,10 @@ def from_raster_file(cls, file_name, src_crs=None, window=None, geometry=None, """ meta, _ = u_coord.read_raster( file_name, [1], src_crs, window, geometry, dst_crs, - transform, width, height, resampling) - lat, lon = _meta_to_lat_lon(meta) - if return_meta: - return cls(lon=lon, lat=lat, crs=meta['crs']), meta - return cls(lon=lon, lat=lat, crs=meta['crs']) + transform, width, height, resampling, + ) + centr = cls.from_meta(meta) + return (centr, meta) if return_meta else centr @classmethod def from_meta(cls, meta): @@ -911,10 +933,10 @@ def from_hdf5(cls, file_name): gdf = gpd.GeoDataFrame(store['centroids'], crs=crs) except TypeError: with h5py.File(file_name, 'r') as data: - gdf = cls._legacy_from_hdf5(data.get('centroids')) + gdf = cls._gdf_from_legacy_hdf5(data.get('centroids')) except KeyError: with h5py.File(file_name, 'r') as data: - gdf = cls._legacy_from_hdf5(data) + gdf = cls._gdf_from_legacy_hdf5(data) return cls.from_geodataframe(gdf) @@ -943,8 +965,7 @@ def _from_dataframe(cls, df): **extra_values, crs=crs ) - @classmethod - def _legacy_from_hdf5(cls, data): + def _gdf_from_legacy_hdf5(data): crs = DEF_CRS if data.get('crs'): crs = u_coord.to_crs_user_input(data.get('crs')[0]) @@ -1026,10 +1047,10 @@ def _meta_to_lat_lon(meta): Returns ------- - tuple(np.ndarray, np.ndarray) - latitudes, longitudes + latitudes : np.ndarray + Latitudinal coordinates of pixel centers. + longitudes : np.ndarray + Longitudinal coordinates of pixel centers. """ - xgrid, ygrid = u_coord.raster_to_meshgrid( - meta['transform'], meta['width'], meta['height'] - ) - return ygrid.flatten(), xgrid.flatten() + xgrid, ygrid = u_coord.raster_to_meshgrid(meta['transform'], meta['width'], meta['height']) + return ygrid.ravel(), xgrid.ravel() From ec11611abe7dba7941853b2e786f48f60870a0dc Mon Sep 17 00:00:00 2001 From: Thomas Vogt Date: Thu, 25 Jan 2024 12:02:13 +0100 Subject: [PATCH 156/192] Centroids: code linting and docstrings --- climada/hazard/centroids/centr.py | 199 +++++++++++++++--------------- climada/util/coordinates.py | 3 - 2 files changed, 100 insertions(+), 102 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 06a235ef8e..6a46f932ab 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -79,7 +79,7 @@ def __init__( crs: any = DEF_CRS, region_id: Union[Literal["country"], None, np.ndarray, list[float]] = None, on_land: Union[Literal["natural_earth"], None, np.ndarray, list[bool]] = None, - **kwargs + **kwargs, ): """Initialization @@ -98,6 +98,8 @@ def __init__( Boolean array indicating on land (True) or off shore (False). If the special value "natural_earth" is given, the property is automatically determined from NaturalEarth shapes. Default: None + kwargs : dict + Additional columns with data to store in the internal GeoDataFrame (gdf attribute). """ self.gdf = gpd.GeoDataFrame( @@ -181,18 +183,16 @@ def __eq__(self, other): Returns ------- - eq : bool + bool """ - eq_crs = u_coord.equal_crs(self.crs, other.crs) + if not u_coord.equal_crs(self.crs, other.crs): + return False + try: - pd.testing.assert_frame_equal( - self.gdf, other.gdf, check_like=True - ) - eq_df = True + pd.testing.assert_frame_equal(self.gdf, other.gdf, check_like=True) + return True except AssertionError: - eq_df = False - - return eq_crs & eq_df + return False def to_default_crs(self, inplace=True): """Project the current centroids to the default CRS (epsg4326) @@ -253,10 +253,9 @@ def from_geodataframe(cls, gdf): ------ ValueError """ - if np.any(gdf.geom_type != 'Point'): + if (gdf.geom_type != 'Point').any(): raise ValueError( - 'The inpute geodataframe contains geometries' - ' that are not points.' + 'The inpute geodataframe contains geometries that are not points.' ) # Don't forget to make a copy!! @@ -264,26 +263,27 @@ def from_geodataframe(cls, gdf): # in the init. For large datasets this saves computation time centroids = cls(lat=[1], lon=[1]) #make "empty" centroids centroids.gdf = gdf.copy(deep=True) - if not gdf.crs: + if gdf.crs is None: centroids.gdf.set_crs(DEF_CRS, inplace=True) return centroids @classmethod def from_exposures(cls, exposures): - """Generate centroids from the location of an exposures. - The columns value, impf_*, centr_*, cover, deductible, - are discarded. + """Generate centroids from the locations of exposures. + + The properties "region_id" and "on_land" are also extracted from the Exposures object if + available. The columns "value", "impf_*", "centr_*", "cover", and "deductible" are not + used. Parameters ---------- - exposures : Exposure - exposures from which to take the centroids location - and region_id (if defined) and on_land (if defined) + exposures : Exposures + Exposures from which to take the centroids locations (as well as region_id and on_land + if available). Returns ------- Centroids - Centroids built from the exposures geodataframe Raises ------ @@ -304,16 +304,17 @@ def from_exposures(cls, exposures): if 'latitude' in exposures.gdf.columns and 'longitude' in exposures.gdf.columns: gdf = exposures.gdf[col_names] return cls( - lat = exposures.gdf['latitude'], - lon = exposures.gdf['longitude'], - crs = exposures.crs, - **dict(gdf.items()) + lat=exposures.gdf['latitude'], + lon=exposures.gdf['longitude'], + crs=exposures.crs, + **dict(gdf.items()), ) raise ValueError( "The given exposures object has no coordinates information." - "The exposures' geodataframe must have either point geometries" - " or latitude and longitude values.") + "The exposures' GeoDataFrame must have either point geometries" + " or latitude and longitude values." + ) @classmethod def from_pnt_bounds(cls, points_bounds, res, crs=DEF_CRS): @@ -347,6 +348,9 @@ def from_pnt_bounds(cls, points_bounds, res, crs=DEF_CRS): def append(self, centr): """Append Centroids + Note that the result might contain duplicate points if the object to append has an overlap + with the current object. + Parameters ---------- centr : Centroids @@ -359,38 +363,37 @@ def append(self, centr): See Also -------- union : Union of Centroid objects. + remove_duplicate_points : Remove duplicate points in a Centroids object. """ if not u_coord.equal_crs(self.crs, centr.crs): raise ValueError( - "The centroids have different Coordinate-Reference-Systems (CRS)") + "The centroids have different Coordinate-Reference-Systems (CRS)" + ) self.gdf = pd.concat([self.gdf, centr.gdf]) def union(self, *others): - """Create the union of centroids from the inputs. - The centroids are combined together point by point. - All centroids must have the same CRS. + """Create the union of Centroids objects + + All centroids must have the same CRS. Points that are contained in more than one of the + Centroids objects will only be contained once (i.e. duplicates are removed). Parameters ---------- - others : any number of climada.hazard.Centroids() - Centroids to form the union with + others : list of Centroids + Centroids contributing to the union. Returns ------- centroids : Centroids - Centroids containing the union of all Centroids. - + Centroids object containing the union of all Centroids. """ centroids = copy.deepcopy(self) for cent in others: centroids.append(cent) + return centroids.remove_duplicate_points() - # remove duplicate points - return Centroids.remove_duplicate_points(centroids) - - @classmethod - def remove_duplicate_points(cls, centr): - """Return a copy of centroids with removed duplicated points + def remove_duplicate_points(self): + """Return a copy of centroids with duplicate points removed Parameters ---------- @@ -400,25 +403,30 @@ def remove_duplicate_points(cls, centr): Returns ------- centroids : Centroids - Sub-selection of centroids without duplicates + A new Centroids object that contains a subselection of the original centroids without + duplicates. Note that a copy is returned even if there were no duplicates. """ - return cls.from_geodataframe(centr.gdf.drop_duplicates()) + return self.from_geodataframe(self.gdf.drop_duplicates(subset=["geometry"])) def select(self, reg_id=None, extent=None, sel_cen=None): - """Return Centroids with points in the given reg_id and/or in an - spatial extent and/or in an index based list + """Return new Centroids object containing points following certain criteria + + It is currently possible to filter by region (reg_id), by geographical extent (extent), or + by an explicit list of indices/a mask (sel_cen). If more than one criterion is given, all + of them must be satisfied for a point to be included in the selection. Parameters ---------- - reg_id : int, optional - region to filter according to region_id values + reg_id : int or list of int, optional + Numeric ID (or IDs) of the region (or regions) to restrict to, according to the values + in the region_id property. Default: None extent : tuple, optional - Format (min_lon, max_lon, min_lat, max_lat) tuple. - If min_lon > lon_max, the extend crosses the antimeridian and is - [lon_max, 180] + [-180, lon_min] - Borders are inclusive. - sel_cen : np.array, optional - 1-dim mask or 1-dim centroids indices, complements reg_id and extent + The geographical extent (min_lon, max_lon, min_lat, max_lat) to restrict to, including + the boundary. If the value for min_lon is greater than lon_max, the extent is + interpreted to cross the antimeridian ([lon_max, 180] and [-180, lon_min]). + Default: None + sel_cen : np.ndarray of int or bool, optional + Boolean mask, or list of indices to restrict to. Default: None Returns ------- @@ -426,36 +434,35 @@ def select(self, reg_id=None, extent=None, sel_cen=None): Sub-selection of this object """ sel_cen_bool = sel_cen - #if needed, convert indices to bool - if sel_cen is not None: - if sel_cen.dtype.kind == 'i': #is integer - sel_cen_bool = np.zeros(self.size, dtype=bool) - sel_cen_bool[np.unique(sel_cen)] = True + if sel_cen is not None and sel_cen.dtype.kind == 'i': + # if needed, convert indices to bool + sel_cen_bool = np.zeros(self.size, dtype=bool) + sel_cen_bool[np.unique(sel_cen)] = True sel_cen_mask = self.select_mask(sel_cen=sel_cen_bool, reg_id=reg_id, extent=extent) - return Centroids.from_geodataframe(self.gdf[sel_cen_mask]) + return Centroids.from_geodataframe(self.gdf.iloc[sel_cen_mask]) def select_mask(self, sel_cen=None, reg_id=None, extent=None): - """Return mask of selected centroids + """Create mask of selected centroids Parameters ---------- - sel_cen: np.array(bool), optional - boolean array mask for centroids - reg_id : int, optional - region to filter according to region_id values + sel_cen: np.ndarray of bool, optional + Boolean array, with size matching the number of centroids. Default: None + reg_id : int or list of int, optional + Numeric ID (or IDs) of the region (or regions) to restrict to, according to the values + in the region_id property. Default: None extent : tuple, optional - Format (min_lon, max_lon, min_lat, max_lat) tuple. - If min_lon > lon_max, the extend crosses the antimeridian and is - [lon_max, 180] + [-180, lon_min] - Borders are inclusive. + The geographical extent (min_lon, max_lon, min_lat, max_lat) to restrict to, including + the boundary. If the value for min_lon is greater than lon_max, the extent is + interpreted to cross the antimeridian ([lon_max, 180] and [-180, lon_min]). + Default: None Returns ------- - sel_cen : 1d array of booleans - 1d mask of selected centroids - + sel_cen : np.ndarray of bool + Boolean array (mask) with value True for centroids in selection. """ if sel_cen is None: sel_cen = np.ones(self.size, dtype=bool) @@ -472,7 +479,7 @@ def select_mask(self, sel_cen=None, reg_id=None, extent=None): ) return sel_cen - #TODO replace with nice Geodataframe util plot method. + #TODO replace with nice GeoDataFrame util plot method. def plot(self, ax=None, figsize=(9, 13), latlon_bounds_buffer=0.0, shapes=True, **kwargs): """Plot centroids scatter points over earth @@ -520,7 +527,7 @@ def set_region_id(self, level='country', overwrite=False): ---------- level: str, optional The admin level on which to assign centroids. Currently only 'country' (admin0) is - implemented. Defaul: 'country' + implemented. Default: 'country' overwrite : bool, optional If True, overwrite the existing region_id information. If False, region_id is set only if region_id is missing (None). Default: False @@ -625,16 +632,16 @@ def get_closest_point(self, x_lon, y_lat): Parameters ---------- x_lon : float - x coord (lon) + Longitudinal (x) coordinate. y_lat : float - y coord (lat) + Latitudinal (y) coordinate. Returns ------- x_close : float x-coordinate (longitude) of closest centroid. y_close : float - y-coordinate (latitude) of closest centroids. + y-coordinate (latitude) of closest centroid. idx_close : int Index of centroid in internal ordering of centroids. """ @@ -703,8 +710,9 @@ def get_meta(self, resolution=None): resolution = np.abs(u_coord.get_resolution(self.lat, self.lon)).min() xmin, ymin, xmax, ymax = self.gdf.total_bounds rows, cols, ras_trans = u_coord.pts_to_raster_meta( - (xmin, ymin, xmax, ymax), (resolution, -resolution) - ) + (xmin, ymin, xmax, ymax), + (resolution, -resolution), + ) meta = { 'crs': self.crs, 'height': rows, @@ -810,21 +818,21 @@ def from_vector_file(cls, file_name, dst_crs=None): return centroids @classmethod - def from_csv(cls, file_path): + def from_csv(cls, file_path, **kwargs): """Generate centroids from a CSV file with column names in var_names. Parameters ---------- file_path : str path to CSV file to be read + kwargs : dict + Additional keyword arguments to pass on to pandas.read_csv. Returns ------- Centroids - Centroids with data from the given CSV file """ - df = pd.read_csv(file_path) - return cls._from_dataframe(df) + return cls._from_dataframe(pd.read_csv(file_path, **kwargs)) def write_csv(self, file_path): """Save centroids as CSV file @@ -834,9 +842,9 @@ def write_csv(self, file_path): file_path : str, Path absolute or relative file path and name to write to """ + file_path = Path(file_path).with_suffix('.csv') LOGGER.info('Writing %s', file_path) - df = self._centroids_to_dataframe() - df.to_csv(Path(file_path).with_suffix('.csv'), index=False) + self._centroids_to_dataframe().to_csv(file_path, index=False) @classmethod @@ -869,12 +877,11 @@ def write_excel(self, file_path): file_path : str, Path absolute or relative file path and name to write to """ + file_path = Path(file_path).with_suffix('.xlsx') LOGGER.info('Writing %s', file_path) - df = self._centroids_to_dataframe() - df.to_excel( - Path(file_path).with_suffix('.xlsx'), - sheet_name=DEF_SHEET_NAME, index=False - ) + self._centroids_to_dataframe().to_excel( + file_path, sheet_name=DEF_SHEET_NAME, index=False, + ) def write_hdf5(self, file_name, mode='w'): """Write data frame and metadata in hdf5 format @@ -948,22 +955,16 @@ def _from_dataframe(cls, df): if 'crs' in df.columns: crs = df['crs'].iloc[0] else: - LOGGER.info( - 'No \'crs\' column provided in file,' - 'setting CRS to WGS84 default.' - ) + LOGGER.info("No 'crs' column provided in file, setting CRS to WGS84 default.") crs = DEF_CRS extra_values = { col: df[col] for col in df.columns if col not in ['lat', 'lon', 'crs'] - } + } - return cls( - lat=df['lat'], lon=df['lon'], - **extra_values, crs=crs - ) + return cls(lat=df['lat'], lon=df['lon'], **extra_values, crs=crs) def _gdf_from_legacy_hdf5(data): crs = DEF_CRS @@ -995,7 +996,7 @@ def _gdf_from_legacy_hdf5(data): return gpd.GeoDataFrame( extra_values, - geometry=gpd.points_from_xy(x=longitude, y=latitude, crs=crs) + geometry=gpd.points_from_xy(x=longitude, y=latitude, crs=crs), ) @classmethod diff --git a/climada/util/coordinates.py b/climada/util/coordinates.py index a4f61682a8..0d9e4fd9c4 100644 --- a/climada/util/coordinates.py +++ b/climada/util/coordinates.py @@ -68,9 +68,6 @@ NE_CRS = f"epsg:{NE_EPSG}" """Natural Earth CRS""" -TMP_ELEVATION_FILE = SYSTEM_DIR.joinpath('tmp_elevation.tif') -"""Path of elevation file written in set_elevation""" - DEM_NODATA = -9999 """Value to use for no data values in DEM, i.e see points""" From e77af81a2132cb908e81287c65d373d4f9a1123c Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Mon, 29 Jan 2024 15:56:07 +0100 Subject: [PATCH 157/192] hazard.test.test_base: remove undefined classes from main --- climada/hazard/test/test_base.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/climada/hazard/test/test_base.py b/climada/hazard/test/test_base.py index 0a7e6bfd56..f322412856 100644 --- a/climada/hazard/test/test_base.py +++ b/climada/hazard/test/test_base.py @@ -1246,13 +1246,11 @@ def test_get_fraction(self): TESTS = unittest.TestLoader().loadTestsFromTestCase(TestLoader) TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestHDF5)) TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestReaderExcel)) - TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestReaderMat)) TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestRemoveDupl)) TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestSelect)) TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestStats)) TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestYearset)) TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestAppend)) TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestCentroids)) - TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestClear)) TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestImpactFuncs)) unittest.TextTestRunner(verbosity=2).run(TESTS) From bba7e495c5fdd80198b041b3f6eefb6af9c47314 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Tue, 30 Jan 2024 08:29:48 +0100 Subject: [PATCH 158/192] hazard.base: remove unused imports --- climada/hazard/base.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index 7b5deaf8ec..45f85c9b8b 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -29,15 +29,13 @@ from typing import Union, Optional, Callable, Dict, Any, List import warnings -import geopandas as gpd import h5py import matplotlib.pyplot as plt import numpy as np import pandas as pd from pathos.pools import ProcessPool as Pool import rasterio -from rasterio.features import rasterize -from rasterio.warp import reproject, Resampling, calculate_default_transform +from rasterio.warp import Resampling import sparse as sp from scipy import sparse import xarray as xr From 655b749920467fe6858b4b6ac88efd9a7be5942e Mon Sep 17 00:00:00 2001 From: Thomas Vogt Date: Tue, 30 Jan 2024 09:10:29 +0100 Subject: [PATCH 159/192] hazard.base: clean up imports --- climada/hazard/base.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index 45f85c9b8b..f9bc0d0270 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -35,20 +35,20 @@ import pandas as pd from pathos.pools import ProcessPool as Pool import rasterio -from rasterio.warp import Resampling +import rasterio.features +import rasterio.warp import sparse as sp from scipy import sparse import xarray as xr +from climada import CONFIG from climada.hazard.centroids.centr import Centroids -import climada.util.plot as u_plot import climada.util.checker as u_check +import climada.util.constants as u_const +import climada.util.coordinates as u_coord import climada.util.dates_times as u_dt -from climada import CONFIG import climada.util.hdf5_handler as u_hdf5 -import climada.util.coordinates as u_coord -from climada.util.constants import ONE_LAT_KM, DEF_CRS, DEF_FREQ_UNIT -from climada.util.coordinates import NEAREST_NEIGHBOR_THRESHOLD +import climada.util.plot as u_plot LOGGER = logging.getLogger(__name__) @@ -172,7 +172,7 @@ def __init__(self, centroids: Optional[Centroids] = None, event_id: Optional[np.ndarray] = None, frequency: Optional[np.ndarray] = None, - frequency_unit: str = DEF_FREQ_UNIT, + frequency_unit: str = u_const.DEF_FREQ_UNIT, event_name: Optional[List[str]] = None, date: Optional[np.ndarray] = None, orig: Optional[np.ndarray] = None, @@ -258,7 +258,7 @@ def get_default(cls, attribute): Any """ return { - 'frequency_unit': DEF_FREQ_UNIT, + 'frequency_unit': u_const.DEF_FREQ_UNIT, }.get(attribute) def check(self): @@ -274,7 +274,7 @@ def check(self): def from_raster(cls, files_intensity, files_fraction=None, attrs=None, band=None, haz_type=None, pool=None, src_crs=None, window=None, geometry=None, dst_crs=None, transform=None, width=None, - height=None, resampling=Resampling.nearest): + height=None, resampling=rasterio.warp.Resampling.nearest): """Create Hazard with intensity and fraction values from raster files If raster files are masked, the masked values are set to 0. @@ -449,7 +449,7 @@ def from_xarray_raster( intensity: str = "intensity", coordinate_vars: Optional[Dict[str, str]] = None, data_vars: Optional[Dict[str, str]] = None, - crs: str = DEF_CRS, + crs: str = u_const.DEF_CRS, rechunk: bool = False, ): """Read raster-like data from an xarray Dataset @@ -1339,7 +1339,7 @@ def select(self, event_names=None, event_id=None, date=None, orig=None, LOGGER.warning("Resetting the frequency is based on the calendar year of given" " dates but the frequency unit here is %s. Consider setting the frequency" " manually for the selection or changing the frequency unit to %s.", - self.frequency_unit, DEF_FREQ_UNIT) + self.frequency_unit, u_const.DEF_FREQ_UNIT) year_span_old = np.abs(dt.datetime.fromordinal(self.date.max()).year - dt.datetime.fromordinal(self.date.min()).year) + 1 year_span_new = np.abs(dt.datetime.fromordinal(haz.date.max()).year - @@ -1349,7 +1349,7 @@ def select(self, event_names=None, event_id=None, date=None, orig=None, haz.sanitize_event_ids() return haz - def select_tight(self, buffer=NEAREST_NEIGHBOR_THRESHOLD/ONE_LAT_KM, + def select_tight(self, buffer=u_coord.NEAREST_NEIGHBOR_THRESHOLD / u_const.ONE_LAT_KM, val='intensity'): """ Reduce hazard to those centroids spanning a minimal box which @@ -1678,7 +1678,7 @@ def set_frequency(self, yearrange=None): if self.frequency_unit not in ['1/year', 'annual', '1/y', '1/a']: LOGGER.warning("setting the frequency on a hazard object who's frequency unit" "is %s and not %s will most likely lead to unexpected results", - self.frequency_unit, DEF_FREQ_UNIT) + self.frequency_unit, u_const.DEF_FREQ_UNIT) if not yearrange: delta_time = dt.datetime.fromordinal(int(np.max(self.date))).year - \ dt.datetime.fromordinal(int(np.min(self.date))).year + 1 @@ -2317,7 +2317,7 @@ def concat(cls, haz_list): haz_concat.append(*haz_list) return haz_concat - def change_centroids(self, centroids, threshold=NEAREST_NEIGHBOR_THRESHOLD): + def change_centroids(self, centroids, threshold=u_coord.NEAREST_NEIGHBOR_THRESHOLD): """ Assign (new) centroids to hazard. @@ -2495,7 +2495,7 @@ def _get_fraction(self, cent_idx=None): def _values_from_raster_files( file_names, meta, band=None, src_crs=None, window=None, geometry=None, dst_crs=None, transform=None, width=None, - height=None, resampling=Resampling.nearest, + height=None, resampling=rasterio.warp.Resampling.nearest, ): """Read raster of bands and set 0 values to the masked ones. From 7dfa631f10874aacfd59f4f4f7f94113db07250b Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Tue, 30 Jan 2024 14:27:25 +0100 Subject: [PATCH 160/192] cosmetics --- climada/hazard/base.py | 6 +++--- climada/test/test_hazard.py | 2 +- doc/tutorial/climada_hazard_Hazard.ipynb | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index f9bc0d0270..f77283472a 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -373,9 +373,9 @@ def from_raster(cls, files_intensity, files_fraction=None, attrs=None, ) if files_fraction is not None: fraction = _values_from_raster_files( - files_fraction, meta=meta, band=band, src_crs=src_crs, window=window, geometry=geometry, - dst_crs=dst_crs, transform=transform, width=width, height=height, - resampling=resampling) + files_fraction, meta=meta, band=band, src_crs=src_crs, window=window, + geometry=geometry, dst_crs=dst_crs, transform=transform, width=width, + height=height, resampling=resampling) if files_fraction is None: fraction = intensity.copy() diff --git a/climada/test/test_hazard.py b/climada/test/test_hazard.py index 18fe40e717..6166e9ecd3 100644 --- a/climada/test/test_hazard.py +++ b/climada/test/test_hazard.py @@ -379,7 +379,7 @@ def test_write_read_pass(self): self.assertIsInstance(haz_read.fraction, sparse.csr_matrix) def test_read_raster_pass(self): - """Test raster_to_vector method""" + """Test from_raster method""" haz_fl = Hazard.from_raster([HAZ_DEMO_FL], haz_type="FL") inten_orig = haz_fl.intensity diff --git a/doc/tutorial/climada_hazard_Hazard.ipynb b/doc/tutorial/climada_hazard_Hazard.ipynb index 2375b5d97c..21cb19ac39 100644 --- a/doc/tutorial/climada_hazard_Hazard.ipynb +++ b/doc/tutorial/climada_hazard_Hazard.ipynb @@ -418,7 +418,7 @@ "- `select()` returns a new hazard with the selected region, date and/or synthetic or historical filter.\n", "- `remove_duplicates()` removes events with same name and date.\n", "- `local_exceedance_inten()` returns a matrix with the exceedence frequency at every frequency and provided return periods. This is the one used in `plot_rp_intensity()`.\n", - "- `reproject_raster()`, `reproject_vector()`, `raster_to_vector()`, `vector_to_raster()` are methods to change centroids' CRS and between raster and vector data. \n", + "- `reproject_vector()` is a method to change the centroids' CRS. \n", "\n", "`Centroids` methods:\n", "- centroids properties such as area per pixel, distance to coast, country ISO code, on land mask or elevation are available through different `set_XX()`methods.\n", From eda27554fa1c396e68934a8a63adc5426926238c Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Tue, 30 Jan 2024 14:40:27 +0100 Subject: [PATCH 161/192] hazard.base.write_htdf5: add inline comment. --- climada/hazard/base.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index f77283472a..8dd6fe2b75 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -1775,6 +1775,8 @@ def write_hdf5(self, file_name, todense=False): str_dt = h5py.special_dtype(vlen=str) for (var_name, var_val) in self.__dict__.items(): if var_name == 'centroids': + # Centroids have their own write_hdf2 method, + # which is invoked at the end of this method (s.b.) pass elif isinstance(var_val, sparse.csr_matrix): if todense: From 8fcf3b3c129a018a69b67b310cbfed7b2b59bb6e Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 31 Jan 2024 09:41:15 +0100 Subject: [PATCH 162/192] Centroids: fix _gdf_from_legacy_hdf signature --- climada/hazard/centroids/centr.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 6a46f932ab..2253bfc2c8 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -22,7 +22,7 @@ import copy import logging from pathlib import Path -from typing import Union, Literal +from typing import Any, Literal, Union import warnings import h5py @@ -76,7 +76,7 @@ def __init__( *, lat: Union[np.ndarray, list[float]], lon: Union[np.ndarray, list[float]], - crs: any = DEF_CRS, + crs: Any = DEF_CRS, region_id: Union[Literal["country"], None, np.ndarray, list[float]] = None, on_land: Union[Literal["natural_earth"], None, np.ndarray, list[bool]] = None, **kwargs, @@ -697,7 +697,7 @@ def get_meta(self, resolution=None): Parameters ---------- - resolution : int, optional + resolution : float, optional Resolution of the raster. If not given, the resolution is estimated from the centroids by assuming that they form a regular raster. Default: None @@ -966,7 +966,8 @@ def _from_dataframe(cls, df): return cls(lat=df['lat'], lon=df['lon'], **extra_values, crs=crs) - def _gdf_from_legacy_hdf5(data): + @classmethod + def _gdf_from_legacy_hdf5(cls, data): crs = DEF_CRS if data.get('crs'): crs = u_coord.to_crs_user_input(data.get('crs')[0]) From 57fd36998fa7569efa87dfd9a4466ec07048184e Mon Sep 17 00:00:00 2001 From: Thomas Vogt Date: Wed, 31 Jan 2024 09:53:31 +0100 Subject: [PATCH 163/192] Centroids._gdf_from_legacy_hdf5: static, not classmethod --- climada/hazard/base.py | 2 +- climada/hazard/centroids/centr.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index 8dd6fe2b75..87769f1a22 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -1775,7 +1775,7 @@ def write_hdf5(self, file_name, todense=False): str_dt = h5py.special_dtype(vlen=str) for (var_name, var_val) in self.__dict__.items(): if var_name == 'centroids': - # Centroids have their own write_hdf2 method, + # Centroids have their own write_hdf5 method, # which is invoked at the end of this method (s.b.) pass elif isinstance(var_val, sparse.csr_matrix): diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 2253bfc2c8..7c971c8faa 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -966,8 +966,8 @@ def _from_dataframe(cls, df): return cls(lat=df['lat'], lon=df['lon'], **extra_values, crs=crs) - @classmethod - def _gdf_from_legacy_hdf5(cls, data): + @staticmethod + def _gdf_from_legacy_hdf5(data): crs = DEF_CRS if data.get('crs'): crs = u_coord.to_crs_user_input(data.get('crs')[0]) From ddb6dcc464d5b73b7f7c904fe317f4b20b6be71f Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 31 Jan 2024 11:24:38 +0100 Subject: [PATCH 164/192] hazard.centroids.centr: pylint --- climada/hazard/centroids/centr.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 7c971c8faa..7e321d7846 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -112,10 +112,10 @@ def __init__( ) if isinstance(region_id, str): - LOGGER.info(f'Setting region id to {region_id} level.') + LOGGER.info('Setting region id to %s level.', region_id) self.set_region_id(level=region_id, overwrite=True) if isinstance(on_land, str): - LOGGER.info(f'Setting on land from {on_land} source.') + LOGGER.info('Setting on land from %s source.', on_land) self.set_on_land(source=on_land, overwrite=True) @property @@ -543,7 +543,6 @@ def set_region_id(self, level='country', overwrite=False): raise NotImplementedError( 'The region id can only be assigned for countries so far' ) - return None def set_on_land(self, source='natural_earth', overwrite=False): """Set on_land attribute for every pixel or point. @@ -684,9 +683,8 @@ def get_dist_coast(self, signed=False, precomputed=False): if precomputed: return u_coord.dist_to_coast_nasa( ne_geom.y.values, ne_geom.x.values, highres=True, signed=signed) - else: - LOGGER.debug('Computing distance to coast for %s centroids.', str(self.size)) - return u_coord.dist_to_coast(ne_geom, signed=signed) + LOGGER.debug('Computing distance to coast for %s centroids.', str(self.size)) + return u_coord.dist_to_coast(ne_geom, signed=signed) def get_meta(self, resolution=None): """Returns a meta raster based on the centroids bounds. From bd1f9fd77c7bc12791bb1bacf2e5dd6d9080c2a6 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 31 Jan 2024 13:56:32 +0100 Subject: [PATCH 165/192] centroids.centr : fix pydoc typos and pylint --- climada/hazard/centroids/centr.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 7e321d7846..e3250d6938 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -422,8 +422,8 @@ def select(self, reg_id=None, extent=None, sel_cen=None): in the region_id property. Default: None extent : tuple, optional The geographical extent (min_lon, max_lon, min_lat, max_lat) to restrict to, including - the boundary. If the value for min_lon is greater than lon_max, the extent is - interpreted to cross the antimeridian ([lon_max, 180] and [-180, lon_min]). + the boundary. If the value for min_lon is greater than max_lon, the extent is + interpreted to cross the antimeridian ([max_lon, 180] and [-180, min_lon]). Default: None sel_cen : np.ndarray of int or bool, optional Boolean mask, or list of indices to restrict to. Default: None @@ -568,7 +568,6 @@ def set_on_land(self, source='natural_earth', overwrite=False): raise NotImplementedError( 'The on land variables can only be automatically assigned using natural earth.' ) - return None def get_pixel_shapes(self, res=None, **kwargs): """Create a GeoSeries of the quadratic pixel shapes at the centroid locations @@ -719,10 +718,9 @@ def get_meta(self, resolution=None): } return meta - - ''' - I/O methods - ''' + ## + # I/O methods + ## @classmethod def from_raster_file(cls, file_name, src_crs=None, window=None, geometry=None, @@ -945,9 +943,10 @@ def from_hdf5(cls, file_name): return cls.from_geodataframe(gdf) - ''' - Private methods - ''' + ## + # Private methods + ## + @classmethod def _from_dataframe(cls, df): if 'crs' in df.columns: From 31aba1cdb9e6c39972e481f404f46db8831c039c Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 31 Jan 2024 14:36:14 +0100 Subject: [PATCH 166/192] climada.hazard.base: pylint --- climada/hazard/base.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index 87769f1a22..83d0b80677 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -225,7 +225,8 @@ def __init__(self, """ self.haz_type = haz_type self.units = units - self.centroids = centroids if centroids is not None else Centroids(lat=np.empty(0), lon=np.empty(0)) + self.centroids = centroids if centroids is not None else Centroids( + lat=np.empty(0), lon=np.empty(0)) # following values are defined for each event self.event_id = event_id if event_id is not None else np.array([], int) self.frequency = frequency if frequency is not None else np.array( @@ -1224,7 +1225,8 @@ def from_excel(cls, file_name, var_names=None, haz_type=None): if haz_type is not None: hazard_kwargs["haz_type"] = haz_type try: - centroids = Centroids._legacy_from_excel(file_name, var_names=var_names['col_centroids']) + centroids = Centroids._legacy_from_excel( + file_name, var_names=var_names['col_centroids']) hazard_kwargs.update(cls._read_att_excel(file_name, var_names, centroids)) except KeyError as var_err: raise KeyError("Variable not in Excel file: " + str(var_err)) from var_err @@ -1839,7 +1841,7 @@ def from_hdf5(cls, file_name): continue if var_name == 'centroids': continue - elif isinstance(var_val, np.ndarray) and var_val.ndim == 1: + if isinstance(var_val, np.ndarray) and var_val.ndim == 1: hazard_kwargs[var_name] = np.array(hf_data.get(var_name)) elif isinstance(var_val, sparse.csr_matrix): hf_csr = hf_data.get(var_name) From b84a76db6393a26187ecd4573ddc12c441973409 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 31 Jan 2024 14:38:38 +0100 Subject: [PATCH 167/192] hazard.centroids.centr: pylint --- climada/hazard/centroids/centr.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index e3250d6938..1c6a7e0c88 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -1015,13 +1015,11 @@ def _centroids_to_dataframe(self): ------- df : DataFrame """ - df = pd.DataFrame(self.gdf) df['lon'] = self.gdf['geometry'].x df['lat'] = self.gdf['geometry'].y + df['crs'] = CRS.from_user_input(self.crs).to_wkt() df = df.drop(['geometry'], axis=1) - crs = CRS.from_user_input(self.crs).to_wkt() - df['crs'] = crs return df def _ne_crs_geom(self): From b1b0efaa4828264ba574e671dd4999cda2bb9c11 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 31 Jan 2024 16:58:15 +0100 Subject: [PATCH 168/192] climada.test.test_calicbration: use hzard test file with hdf5 format --- climada/test/test_calibration.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/climada/test/test_calibration.py b/climada/test/test_calibration.py index 96c3353c6b..8caa0bc140 100644 --- a/climada/test/test_calibration.py +++ b/climada/test/test_calibration.py @@ -32,7 +32,7 @@ from climada.test import get_test_file -HAZ_TEST_MAT = get_test_file('atl_prob_no_name', file_format='matlab') +HAZ_TEST_TC = get_test_file('test_tc_florida', file_format='hdf5') DATA_FOLDER = CONFIG.test_data.dir() @@ -47,7 +47,7 @@ def test_calib_instance(self): ent.check() # Read default hazard file - hazard = Hazard.from_mat(HAZ_TEST_MAT) + hazard = Hazard.from_hdf5(HAZ_TEST_TC) # get impact function from set imp_func = ent.impact_funcs.get_func(hazard.haz_type, From 473bc9dad7b57a99c2b06459bd41e937c102f5c7 Mon Sep 17 00:00:00 2001 From: Thomas Vogt <57705593+tovogt@users.noreply.github.com> Date: Thu, 1 Feb 2024 15:12:18 +0100 Subject: [PATCH 169/192] Update climada/hazard/centroids/test/test_vec_ras.py Co-authored-by: Emanuel Schmid <51439563+emanuel-schmid@users.noreply.github.com> --- climada/hazard/centroids/test/test_vec_ras.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py index 4e2388b413..93182f57d6 100644 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ b/climada/hazard/centroids/test/test_vec_ras.py @@ -239,8 +239,8 @@ def test_dist_coast_pass(self): """Test set_region_id""" centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) dist_coast = centr_ras.get_dist_coast() - self.assertTrue(abs(dist_coast[0] - 117000) < 1000) - self.assertTrue(abs(dist_coast[-1] - 104000) < 1000) + self.assertLess(abs(dist_coast[0] - 117000), 1000) + self.assertLess(abs(dist_coast[-1] - 104000), 1000) def test_on_land(self): """Test set_on_land""" From 017864e80dced922307396f446e5860b4cdc1657 Mon Sep 17 00:00:00 2001 From: Thomas Vogt Date: Thu, 1 Feb 2024 16:25:08 +0100 Subject: [PATCH 170/192] Hazard: fix write_raster, and some docstrings --- climada/hazard/base.py | 2 +- climada/hazard/centroids/centr.py | 11 ++++------- climada/util/coordinates.py | 2 +- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/climada/hazard/base.py b/climada/hazard/base.py index 83d0b80677..708b789dfe 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -1739,7 +1739,7 @@ def write_raster(self, file_name, variable='intensity', output_resolution=None): meta.update(driver='GTiff', dtype=rasterio.float32, count=self.size) res = meta["transform"][0] # resolution from lon coordinates - if meta['height'] * meta['width'] == self.centroids.shape[0]: + if meta['height'] * meta['width'] == self.centroids.size: # centroids already in raster format u_coord.write_raster(file_name, var_to_write.toarray(), meta) else: diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 1c6a7e0c88..1e03eb9a37 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -206,8 +206,7 @@ def to_default_crs(self, inplace=True): Returns ------- - Centroids - Centroids in the new crs + Centroids or None (if inplace is True) """ return self.to_crs(DEF_CRS, inplace=inplace) @@ -225,8 +224,7 @@ def to_crs(self, crs, inplace=False): Returns ------- - Centroids - Centroids in the new crs + Centroids or None (if inplace is True) """ if inplace: self.gdf.to_crs(crs, inplace=True) @@ -668,10 +666,9 @@ def get_dist_coast(self, signed=False, precomputed=False): Parameters ---------- signed : bool, optional - If True, use signed distances (positive off shore and negative on land). Default: False. + If True, use signed distances (positive off shore and negative on land). Default: False precomputed : bool, optional - If True, use precomputed distances (from NASA). Works only for crs=epsg:4326 - Default: False. + If True, use precomputed distances (from NASA). Default: False Returns ------- diff --git a/climada/util/coordinates.py b/climada/util/coordinates.py index 0d9e4fd9c4..c7de565fc2 100644 --- a/climada/util/coordinates.py +++ b/climada/util/coordinates.py @@ -980,7 +980,7 @@ def assign_coordinates(*args, **kwargs): return match_coordinates(*args, **kwargs) def match_coordinates(coords, coords_to_assign, distance="euclidean", - threshold=NEAREST_NEIGHBOR_THRESHOLD, **kwargs): + threshold=NEAREST_NEIGHBOR_THRESHOLD, **kwargs): """To each coordinate in `coords`, assign a matching coordinate in `coords_to_assign` If there is no exact match for some entry, an attempt is made to assign the geographically From 441fbb10a8cbe4b9548f285a2f07836c342f865d Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 7 Feb 2024 11:30:40 +0100 Subject: [PATCH 171/192] test.test_calibration: fix test file name --- climada/test/test_calibration.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/climada/test/test_calibration.py b/climada/test/test_calibration.py index 8caa0bc140..0986580d48 100644 --- a/climada/test/test_calibration.py +++ b/climada/test/test_calibration.py @@ -59,10 +59,10 @@ def test_calib_instance(self): # create input frame df_in = pd.DataFrame.from_dict({'v_threshold': [25.7], 'other_param': [2], - 'hazard': [HAZ_TEST_MAT]}) + 'hazard': [HAZ_TEST_TC]}) df_in_yearly = pd.DataFrame.from_dict({'v_threshold': [25.7], 'other_param': [2], - 'hazard': [HAZ_TEST_MAT]}) + 'hazard': [HAZ_TEST_TC]}) # Compute the impact over the whole exposures df_out = calib_instance(hazard, ent.exposures, imp_func, df_in) From db748c754c082cecf32035d74833d1edf799c283 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 7 Feb 2024 17:28:14 +0100 Subject: [PATCH 172/192] test_api_client: added test for basic centroids plotting (just because it fails in PR #787) --- climada/test/test_api_client.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/climada/test/test_api_client.py b/climada/test/test_api_client.py index 92421f3992..6c6c0e72e1 100644 --- a/climada/test/test_api_client.py +++ b/climada/test/test_api_client.py @@ -212,6 +212,10 @@ def test_get_litpop_fail(self): client.get_litpop(['AUT', 'CHE']) self.assertIn(" can only query single countries. Download the data for multiple countries individually and concatenate ", str(cm.exception)) + + def test_get_centroids_plot(self): + client = Client() + client.get_centroids(country='COM').plot() def test_get_dataset_file(self): client = Client() From 5863cb2804f18a7e51319bfa7023c154099f1b4c Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Thu, 8 Feb 2024 15:07:48 +0100 Subject: [PATCH 173/192] centr.Centroids.plot: all changes reverted (with the exception of the obsolete `self.set_meta_to_lat_lon()`) --- climada/hazard/centroids/centr.py | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 1e03eb9a37..57d97a6fea 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -478,20 +478,16 @@ def select_mask(self, sel_cen=None, reg_id=None, extent=None): return sel_cen #TODO replace with nice GeoDataFrame util plot method. - def plot(self, ax=None, figsize=(9, 13), latlon_bounds_buffer=0.0, shapes=True, **kwargs): + def plot(self, axis=None, figsize=(9, 13), **kwargs): """Plot centroids scatter points over earth Parameters ---------- - ax : matplotlib.axes._subplots.AxesSubplot, optional + axis : matplotlib.axes._subplots.AxesSubplot, optional axis to use figsize: (float, float), optional figure size for plt.subplots The default is (9, 13) - latlon_bounds_buffer : float, optional - Buffer to add to all sides of the bounding box. Default: 0.0. - shapes : bool, optional - overlay axis with coastlines. Default: True kwargs : optional arguments for scatter matplotlib function @@ -499,24 +495,26 @@ def plot(self, ax=None, figsize=(9, 13), latlon_bounds_buffer=0.0, shapes=True, ------- axis : matplotlib.axes._subplots.AxesSubplot """ + pad = np.abs(u_coord.get_resolution(self.lat, self.lon)).min() + proj_data, _ = u_plot.get_transformation(self.crs) proj_plot = proj_data if isinstance(proj_data, ccrs.PlateCarree): # use different projections for plot and data to shift the central lon in the plot - xmin, _ymin, xmax, _ymax = u_coord.latlon_bounds(self.lat, self.lon, - buffer=latlon_bounds_buffer) + xmin, ymin, xmax, ymax = u_coord.latlon_bounds(self.lat, self.lon, buffer=pad) proj_plot = ccrs.PlateCarree(central_longitude=0.5 * (xmin + xmax)) - - if ax is None: - ax = self.gdf.copy().to_crs(proj_plot).plot(figsize=figsize, **kwargs) else: - self.gdf.copy().to_crs(proj_plot).plot(figsize=figsize, **kwargs) + xmin, ymin, xmax, ymax = (self.lon.min() - pad, self.lat.min() - pad, + self.lon.max() + pad, self.lat.max() + pad) - if shapes: - u_plot.add_shapes(ax) + if not axis: + _fig, axis, _fontsize = u_plot.make_map(proj=proj_plot, figsize=figsize) + axis.set_extent((xmin, xmax, ymin, ymax), crs=proj_data) + u_plot.add_shapes(axis) + axis.scatter(self.lon, self.lat, transform=proj_data, **kwargs) plt.tight_layout() - return ax + return axis def set_region_id(self, level='country', overwrite=False): """Set region_id as country ISO numeric code attribute for every pixel or point. From 3dd4a502363ac360794ed1e8ab3c62d9e8f0c3d0 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Thu, 8 Feb 2024 15:12:05 +0100 Subject: [PATCH 174/192] Hazard tutorial: use centroids.get_meta() instead of the attribute meta --- doc/tutorial/climada_hazard_Hazard.ipynb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/tutorial/climada_hazard_Hazard.ipynb b/doc/tutorial/climada_hazard_Hazard.ipynb index 21cb19ac39..ba57a68d4a 100644 --- a/doc/tutorial/climada_hazard_Hazard.ipynb +++ b/doc/tutorial/climada_hazard_Hazard.ipynb @@ -195,7 +195,7 @@ "haz.check()\n", "print('\\n Solution 1:')\n", "print('centroids CRS:', haz.centroids.crs)\n", - "print('raster info:', haz.centroids.meta)\n", + "print('raster info:', haz.centroids.get_meta())\n", "\n", "# 2. Transformations of the coordinates can be set using the transform option and Affine\n", "from rasterio import Affine\n", @@ -205,7 +205,7 @@ " height=500, width=501)\n", "haz.check()\n", "print('\\n Solution 2:')\n", - "print('raster info:', haz.centroids.meta)\n", + "print('raster info:', haz.centroids.get_meta())\n", "print('intensity size:', haz.intensity.shape)\n", "\n", "# 3. A partial part of the raster can be loaded using the window or geometry\n", @@ -213,7 +213,7 @@ "haz = Hazard.from_raster([HAZ_DEMO_FL], haz_type='FL', window=Window(10, 10, 20, 30))\n", "haz.check()\n", "print('\\n Solution 3:')\n", - "print('raster info:', haz.centroids.meta)\n", + "print('raster info:', haz.centroids.get_meta())\n", "print('intensity size:', haz.intensity.shape)" ] }, From 065c868e1fe0ac801d6e2ba0fedbd3d6b9be702d Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Thu, 8 Feb 2024 15:19:00 +0100 Subject: [PATCH 175/192] Hazard tutorial: use Centroids() instead of from_lat_lon() --- doc/tutorial/climada_hazard_Hazard.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/tutorial/climada_hazard_Hazard.ipynb b/doc/tutorial/climada_hazard_Hazard.ipynb index ba57a68d4a..d43d5b00c8 100644 --- a/doc/tutorial/climada_hazard_Hazard.ipynb +++ b/doc/tutorial/climada_hazard_Hazard.ipynb @@ -314,7 +314,7 @@ "haz = Hazard(haz_type='TC',\n", " intensity=intensity,\n", " fraction=fraction,\n", - " centroids=Centroids.from_lat_lon(lat, lon), # default crs used\n", + " centroids=Centroids(lat=lat, lon=lon), # default crs used\n", " units='m',\n", " event_id=np.arange(n_ev, dtype=int),\n", " event_name=['ev_12', 'ev_21', 'Maria', 'ev_35',\n", From f6f7db8f2e2d1fac0e606ef528fa0f8b8a185f0d Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Fri, 9 Feb 2024 12:45:33 +0100 Subject: [PATCH 176/192] hazard tutorial: update Hazard from raster section --- doc/tutorial/climada_hazard_Hazard.ipynb | 113 +++++++++++++++++------ 1 file changed, 84 insertions(+), 29 deletions(-) diff --git a/doc/tutorial/climada_hazard_Hazard.ipynb b/doc/tutorial/climada_hazard_Hazard.ipynb index d43d5b00c8..44c8e6159a 100644 --- a/doc/tutorial/climada_hazard_Hazard.ipynb +++ b/doc/tutorial/climada_hazard_Hazard.ipynb @@ -65,8 +65,8 @@ "cell_type": "markdown", "metadata": {}, "source": [ - " \n", - "## Part 1: Read hazards from raster data\n", + "\n", + "## Part 1: Read hazards from raster data\n", "\n", "Raster data can be read in any format accepted by [rasterio](https://rasterio.readthedocs.io/en/stable/) using `Hazard`'s `from_raster()` method. The raster information might refer to the `intensity` or `fraction`of the hazard. Different configuration options such as transforming the coordinates, changing the CRS and reading only a selected area or band are available through the `from_raster()` arguments as follows:" ] @@ -221,13 +221,13 @@ "cell_type": "markdown", "metadata": {}, "source": [ - " \n", - "## Part 2: Read hazards from other data\n", + "\n", + "## Part 2: Read hazards from other data\n", "\n", "- excel: Hazards can be read from Excel files following the template in `climada_python/climada/data/system/hazard_template.xlsx` using the `from_excel()` method. \n", "- MATLAB: Hazards generated with CLIMADA's MATLAB version (.mat format) can be read using `from_mat()`.\n", "- vector data: Use `Hazard`'s `from_vector`-constructor to read shape data (all formats supported by [fiona](https://fiona.readthedocs.io/en/latest/manual.html)).\n", - "- hdf5: Hazards generated with the CLIMADA in Python (.h5 format) can be read using `from_hdf5()`." + "- hdf5: Hazards generated with the CLIMADA in Python (.h5 format) can be read using `from_hdf5()`.\n" ] }, { @@ -255,8 +255,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - " \n", - "## Part 3: Define hazards manually\n", + "\n", + "## Part 3: Define hazards manually\n", + "\n", "A `Hazard` can be defined by filling its values one by one, as follows:" ] }, @@ -328,17 +329,86 @@ "haz.centroids.plot();" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Or the `Hazard` can be defined with a grid:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# using from_pnt_bounds\n", + "\n", + "# bounds\n", + "left, bottom, right, top = -72, -3.0, -52.0, 22 # the bounds refer to the bounds of the center of the pixel\n", + "# resolution\n", + "res = 0.5\n", + "centroids = Centroids.from_pnt_bounds((left, bottom, right, top), res) # default crs used" + ] + }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# the same can be done with the method `from_meta`, by definition of a raster meta object\n", + "\n", + "import rasterio\n", + "from climada.util.constants import DEF_CRS\n", + "\n", + "# raster info:\n", + "# border upper left corner (of the pixel, not of the center of the pixel)\n", + "max_lat = top + res/2\n", + "min_lon = left - res/2\n", + "# resolution in lat and lon\n", + "d_lat = -res # negative because starting in upper corner\n", + "d_lon = res # same step as d_lat\n", + "# number of points\n", + "n_lat, n_lon = centroids.shape\n", + "\n", + "# meta: raster specification\n", + "meta = {\n", + " 'dtype': 'float32',\n", + " 'width': n_lon,\n", + " 'height': n_lat,\n", + " 'crs': DEF_CRS,\n", + " 'transform': rasterio.Affine(\n", + " a=d_lon, b=0.0, c=min_lon,\n", + " d=0.0, e=d_lat, f=max_lat),\n", + "}\n", + "\n", + "centroids_from_meta = Centroids.from_meta(meta) # default crs used\n", + "\n", + "centroids_from_meta == centroids" + ] + }, + { + "cell_type": "code", + "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Check centroids borders: (-72.0, -3.0, -52.0, 22.0)\n", - "Check centroids borders: (-72.25, -3.25, -51.75, 22.25)\n" + "Check centroids borders: [-72. -3. -52. 22.]\n" ] }, { @@ -355,23 +425,13 @@ } ], "source": [ - "# setting raster\n", + "# create a Hazard object with random events\n", + "\n", "import numpy as np\n", "from scipy import sparse\n", "\n", - "# raster info:\n", - "# border upper left corner (of the pixel, not of the center of the pixel)\n", - "xf_lat = 22\n", - "xo_lon = -72\n", - "# resolution in lat and lon\n", - "d_lat = -0.5 # negative because starting in upper corner\n", - "d_lon = 0.5 # same step as d_lat\n", - "# number of points\n", - "n_lat = 50\n", - "n_lon = 40\n", - "\n", "n_ev = 10 # number of events\n", - "centroids = Centroids.from_pix_bounds(xf_lat, xo_lon, d_lat, d_lon, n_lat, n_lon) # default crs used\n", + "\n", "intensity = sparse.csr_matrix(np.random.random((n_ev, centroids.size)))\n", "fraction = intensity.copy()\n", "fraction.data.fill(1)\n", @@ -391,12 +451,7 @@ "\n", "haz.check()\n", "print('Check centroids borders:', haz.centroids.total_bounds)\n", - "haz.centroids.plot()\n", - "\n", - "# using from_pnt_bounds, the bounds refer to the bounds of the center of the pixel\n", - "left, bottom, right, top = xo_lon, -3.0, -52.0, xf_lat\n", - "haz.centroids = Centroids.from_pnt_bounds((left, bottom, right, top), 0.5) # default crs used\n", - "print('Check centroids borders:', haz.centroids.total_bounds)" + "haz.centroids.plot();" ] }, { From ead5e056f35370820a3bed3af18151e1422ef68f Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Fri, 9 Feb 2024 12:56:33 +0100 Subject: [PATCH 177/192] hazard tutorial: fix dist_coast access --- doc/tutorial/climada_hazard_Hazard.ipynb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/tutorial/climada_hazard_Hazard.ipynb b/doc/tutorial/climada_hazard_Hazard.ipynb index 44c8e6159a..6785a80b7e 100644 --- a/doc/tutorial/climada_hazard_Hazard.ipynb +++ b/doc/tutorial/climada_hazard_Hazard.ipynb @@ -551,8 +551,7 @@ "print('Year with most hurricanes between 1995 and 2001:', max_year)\n", "\n", "# 4. What is the number of centroids with distance to coast smaller than 1km?\n", - "hist_tc.centroids.set_dist_coast()\n", - "num_cen_coast = np.argwhere(hist_tc.centroids.dist_coast < 1000).size\n", + "num_cen_coast = np.argwhere(hist_tc.centroids.get_dist_coast() < 1000).size\n", "print('Number of centroids close to coast: ', num_cen_coast)" ] }, @@ -774,7 +773,7 @@ "# 7. one figure with two plots: maximum intensities and selected centroid with all intensities:\n", "from climada.util.plot import make_map\n", "import matplotlib.pyplot as plt\n", - "plt.ioff()\n", + "\n", "fig, ax1, fontsize = make_map(1) # map\n", "ax2 = fig.add_subplot(2, 1, 2) # add regular axes\n", "haz_tc_fl.plot_intensity(axis=ax1, event=0) # plot original resolution\n", From 693af7789128ecd4f0b57fbfb6fc30bfe1426ab6 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Fri, 9 Feb 2024 15:11:28 +0100 Subject: [PATCH 178/192] climada.hazard.Hazard: remove broken vector file support --- CHANGELOG.md | 3 +- climada/hazard/base.py | 121 ----------------------------------------- 2 files changed, 2 insertions(+), 122 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb680f5e6b..5dfd9c6110 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -53,7 +53,8 @@ Removed: ### Deprecated ### Removed -- Read/write matlab file methods for Centroids and Hazard objects. [#787](https://github.com/CLIMADA-project/climada_python/pull/787) + +- Read/write matlab file and vector file methods for Centroids and Hazard objects. [#787](https://github.com/CLIMADA-project/climada_python/pull/787) ## 4.0.1 diff --git a/climada/hazard/base.py b/climada/hazard/base.py index 708b789dfe..82c2a4ce18 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -391,12 +391,6 @@ def set_raster(self, *args, **kwargs): "Use Hazard.from_raster instead.") self.__dict__ = Hazard.from_raster(*args, **kwargs).__dict__ - def set_vector(self, *args, **kwargs): - """This function is deprecated, use Hazard.from_vector.""" - LOGGER.warning("The use of Hazard.set_vector is deprecated." - "Use Hazard.from_vector instead.") - self.__dict__ = Hazard.from_vector(*args, **kwargs).__dict__ - @classmethod def from_xarray_raster_file( cls, filepath: Union[pathlib.Path, str], *args, **kwargs @@ -1011,72 +1005,6 @@ def vshape(array): LOGGER.debug("Hazard successfully loaded. Number of events: %i", num_events) return cls(centroids=centroids, intensity=intensity_matrix, **hazard_kwargs) - @classmethod - def from_vector(cls, files_intensity, files_fraction=None, attrs=None, - inten_name=None, frac_name=None, dst_crs=None, haz_type=None): - """Read vector files format supported by fiona. Each intensity name is - considered an event. - - Parameters - ---------- - files_intensity : list(str) - file names containing intensity, default: ['intensity'] - files_fraction : (list(str)) - file names containing fraction, - default: ['fraction'] - attrs : dict, optional - name of Hazard attributes and their values - inten_name : list(str), optional - name of variables containing the intensities of each event - frac_name : list(str), optional - name of variables containing - the fractions of each event - dst_crs : crs, optional - reproject to given crs - haz_type : str, optional - acronym of the hazard type (e.g. 'TC'). - default: None, which will use the class default ('' for vanilla - `Hazard` objects, hard coded in some subclasses) - - Returns - ------- - haz : climada.hazard.Hazard - Hazard from vector file - """ - if not attrs: - attrs = {} - if not inten_name: - inten_name = ['intensity'] - if not frac_name: - inten_name = ['fraction'] - if files_fraction is not None and len(files_intensity) != len(files_fraction): - raise ValueError('Number of intensity files differs from fraction files:' - f' {len(files_intensity)} != {len(files_fraction)}') - - hazard_kwargs = {} - if haz_type is not None: - hazard_kwargs["haz_type"] = haz_type - - if len(files_intensity) > 0: - centroids = Centroids.from_vector_file(files_intensity[0], dst_crs=dst_crs) - elif files_fraction is not None and len(files_fraction) > 0: - centroids = Centroids.from_vector_file(files_fraction[0], dst_crs=dst_crs) - else: - centroids = Centroids() - - intensity = centroids.values_from_vector_files( - files_intensity, val_names=inten_name, dst_crs=dst_crs) - if files_fraction is None: - fraction = intensity.copy() - fraction.data.fill(1) - else: - fraction = centroids.values_from_vector_files( - files_fraction, val_names=frac_name, dst_crs=dst_crs) - - hazard_kwargs.update(cls._attrs_to_kwargs(attrs, num_events=intensity.shape[0])) - return cls( - centroids=centroids, intensity=intensity, fraction=fraction, **hazard_kwargs) - @staticmethod def _attrs_to_kwargs(attrs: Dict[str, Any], num_events: int) -> Dict[str, Any]: """Transform attributes to init kwargs or use default values @@ -1138,55 +1066,6 @@ def reproject_vector(self, dst_crs): self.centroids.gdf.to_crs(dst_crs, inplace=True) self.check() - - def read_mat(self, *args, **kwargs): - """This function is deprecated, use Hazard.from_mat.""" - LOGGER.warning("The use of Hazard.read_mat is deprecated." - "Use Hazard.from_mat instead.") - self.__dict__ = Hazard.from_mat(*args, **kwargs).__dict__ - - @classmethod - def from_mat(cls, file_name, var_names=None): - """Read climada hazard generate with the MATLAB code in .mat format. - - Parameters - ---------- - file_name : str - absolute file name - var_names : dict, optional - name of the variables in the file, - default: DEF_VAR_MAT constant - - Returns - ------- - haz : climada.hazard.Hazard - Hazard object from the provided MATLAB file - - Raises - ------ - KeyError - """ - # pylint: disable=protected-access - if not var_names: - var_names = DEF_VAR_MAT - LOGGER.info('Reading %s', file_name) - try: - data = u_hdf5.read(file_name) - try: - data = data[var_names['field_name']] - except KeyError: - pass - - centroids = Centroids.from_mat(file_name, var_names=var_names['var_cent']) - attrs = cls._read_att_mat(data, file_name, var_names, centroids) - haz = cls(haz_type=u_hdf5.get_string(data[var_names['var_name']['per_id']]), - centroids=centroids, - **attrs - ) - except KeyError as var_err: - raise KeyError("Variable not in MAT file: " + str(var_err)) from var_err - return haz - def read_excel(self, *args, **kwargs): """This function is deprecated, use Hazard.from_excel.""" LOGGER.warning("The use of Hazard.read_excel is deprecated." From bc75e0f77697bdcc1d227c7ee856d3393fa30fb8 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Thu, 15 Feb 2024 17:30:58 +0100 Subject: [PATCH 179/192] climada.hazard.centr: add deprecated methods section --- climada/hazard/centroids/centr.py | 52 +++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 57d97a6fea..824829b04a 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -20,6 +20,7 @@ """ import copy +from deprecation import deprecated import logging from pathlib import Path from typing import Any, Literal, Union @@ -1028,6 +1029,57 @@ def _ne_crs_geom(self): return self.gdf.geometry return self.to_crs(u_coord.NE_CRS, inplace=False).geometry + ## + # Deprecated methods + ## + + @classmethod + @deprecated(details="Reading Centroids data from matlab files is not supported anymore." + " You are suggested to use an old version of climada (<=4.*) and convert the file to hdf5 format.") + def from_mat(cls, file_name, var_names=None): + pass + + @staticmethod + @deprecated(details="Centroids as raster data is not supported in the current version of climada." + " You are suggested to downgrade to an older version (<=4.*) or turn the grid into a ``GeoDataFrame``") + def from_base_grid(land=False, res_as=360, base_file=None): + pass + + @classmethod + @deprecated(details="This method will be removed in a future version." + " Simply use the constructor instead.") + def from_lat_lon(cls, lat, lon, crs="EPSG:4326"): + return cls(lat=lat, lon=lon, crs=crs) + + @deprecated(details="This method is futile and will be removed in a future version." + " `Centroids.get_area_pixel` can be run without initialization.") + def set_area_pixel(self, min_resol=1e-08, scheduler=None): + pass + + @deprecated(details="This method is futile and will be removed in a future version." + " `Centroids.get_area_pixel` can be run without initialization.") + def set_area_approx(self, min_resol=1e-08): + pass + + @deprecated(details="This method is futile and will be removed in a future version." + " `Centroids.get_dist_coast` can be run without initialization.") + def set_dist_coast(self, signed=False, precomputed=False, scheduler=None): + pass + + @deprecated(details="This method has no effect and will be removed in a future version." + " In the current version of climada the geometry points of a `Centroids` object" + " cannot be removed as they are the backbone of the Centroids' GeoDataFrame.") + def empty_geometry_points(self): + pass + + @deprecated(details="This method has no effect and will be removed in a future version.") + def set_meta_to_lat_lon(self): + pass + + @deprecated(details="This method has no effect and will be removed in a future version.") + def set_lat_lon_to_meta(self, min_resol=1e-08): + pass + def _meta_to_lat_lon(meta): """Compute lat and lon of every pixel center from meta raster. From e59eb188004d9e3d289e8578aca546c2035114ac Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Thu, 15 Feb 2024 18:34:43 +0100 Subject: [PATCH 180/192] fix from_tracks method, remove side effect --- climada/hazard/trop_cyclone.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/climada/hazard/trop_cyclone.py b/climada/hazard/trop_cyclone.py index 467ea77302..2bc2172945 100644 --- a/climada/hazard/trop_cyclone.py +++ b/climada/hazard/trop_cyclone.py @@ -268,10 +268,8 @@ def from_tracks( [idx_centr_filter] = (np.abs(centroids.lat) <= max_latitude).nonzero() else: # Select centroids which are inside max_dist_inland_km and lat <= max_latitude - if 'dist_coast' not in centroids.gdf.columns: - centroids.gdf['dist_coast'] = centroids.get_dist_coast() [idx_centr_filter] = ( - (centroids.dist_coast <= max_dist_inland_km * 1000) + (centroids.get_dist_coast() <= max_dist_inland_km * 1000) & (np.abs(centroids.lat) <= max_latitude) ).nonzero() From 0ad0804c7a6862a8cbddc24c945c81a1ec799bca Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Thu, 15 Feb 2024 18:41:45 +0100 Subject: [PATCH 181/192] climada.hazard.trop_cyclone.TropCytlone.from_tracks: option for predefined dist_coast in centroids --- climada/hazard/trop_cyclone.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/climada/hazard/trop_cyclone.py b/climada/hazard/trop_cyclone.py index 2bc2172945..a6730e5525 100644 --- a/climada/hazard/trop_cyclone.py +++ b/climada/hazard/trop_cyclone.py @@ -268,8 +268,12 @@ def from_tracks( [idx_centr_filter] = (np.abs(centroids.lat) <= max_latitude).nonzero() else: # Select centroids which are inside max_dist_inland_km and lat <= max_latitude + if 'dist_coast' not in centroids.gdf.columns: + dist_coast = centroids.get_dist_coast() + else: + dist_coast = centroids.gdf.dist_coast [idx_centr_filter] = ( - (centroids.get_dist_coast() <= max_dist_inland_km * 1000) + (dist_coast <= max_dist_inland_km * 1000) & (np.abs(centroids.lat) <= max_latitude) ).nonzero() From 88b320a6258759d5caa341b20a3b3a3d1a64cea0 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Thu, 15 Feb 2024 20:00:31 +0100 Subject: [PATCH 182/192] TropicalCyclone.from_tracks pydoc --- climada/hazard/trop_cyclone.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/climada/hazard/trop_cyclone.py b/climada/hazard/trop_cyclone.py index a6730e5525..bbb2384456 100644 --- a/climada/hazard/trop_cyclone.py +++ b/climada/hazard/trop_cyclone.py @@ -223,7 +223,11 @@ def from_tracks( "ER11" (Emanuel and Rotunno 2011). Default: "H08". ignore_distance_to_coast : boolean, optional - If True, centroids far from coast are not ignored. Default: False. + If True, centroids far from coast are not ignored. + If False, the centroids' distances to the coast are calculated with the + `Centroids.get_dist_coast()` method (unless there is "dist_coast" column in the + centroids' GeoDataFrame) and centroids far from coast are ignored. + Default: False. store_windfields : boolean, optional If True, the Hazard object gets a list ``windfields`` of sparse matrices. For each track, the full velocity vectors at each centroid and track position are stored in a sparse From b543636020d151621e840dd89724a6b0f5d12f0a Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Fri, 16 Feb 2024 10:52:30 +0100 Subject: [PATCH 183/192] white space cosmetics --- climada/hazard/trop_cyclone.py | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/climada/hazard/trop_cyclone.py b/climada/hazard/trop_cyclone.py index bbb2384456..02637d4c5f 100644 --- a/climada/hazard/trop_cyclone.py +++ b/climada/hazard/trop_cyclone.py @@ -229,10 +229,10 @@ def from_tracks( centroids' GeoDataFrame) and centroids far from coast are ignored. Default: False. store_windfields : boolean, optional - If True, the Hazard object gets a list ``windfields`` of sparse matrices. For each track, - the full velocity vectors at each centroid and track position are stored in a sparse - matrix of shape (npositions, ncentroids * 2) that can be reshaped to a full ndarray - of shape (npositions, ncentroids, 2). Default: False. + If True, the Hazard object gets a list ``windfields`` of sparse matrices. For each + track, the full velocity vectors at each centroid and track position are stored in a + sparse matrix of shape (npositions, ncentroids * 2) that can be reshaped to a full + ndarray of shape (npositions, ncentroids, 2). Default: False. metric : str, optional Specify an approximation method to use for earth distances: @@ -540,7 +540,8 @@ def from_single_track( If True, store windfields. Default: False. metric : str, optional Specify an approximation method to use for earth distances: "equirect" (faster) or - "geosphere" (more accurate). See ``dist_approx`` function in ``climada.util.coordinates``. + "geosphere" (more accurate). See ``dist_approx`` function in + ``climada.util.coordinates``. Default: "equirect". intensity_thres : float, optional Wind speeds (in m/s) below this threshold are stored as 0. Default: 17.5 @@ -1431,9 +1432,9 @@ def _x_holland_2010( mask_centr_close : np.ndarray of shape (nnodes, ncentroids) Mask indicating for each track node which centroids are within reach of the windfield. v_n : np.ndarray of shape (nnodes,) or float, optional - Peripheral wind speeds (in m/s) at radius ``r_n`` outside of radius of maximum winds ``r_max``. - In absence of a second wind speed measurement, this value defaults to 17 m/s following - Holland et al. 2010 (at a radius of 300 km). + Peripheral wind speeds (in m/s) at radius ``r_n`` outside of radius of maximum winds + ``r_max``. In absence of a second wind speed measurement, this value defaults to 17 m/s + following Holland et al. 2010 (at a radius of 300 km). r_n_km : np.ndarray of shape (nnodes,) or float, optional Radius (in km) where the peripheral wind speed ``v_n`` is measured (or assumed). In absence of a second wind speed measurement, this value defaults to 300 km following @@ -1557,8 +1558,8 @@ def _stat_holland_1980( Parameters ---------- si_track : xr.Dataset - Output of ``tctrack_to_si`` with "hol_b" (see, e.g., _B_holland_1980) data variable. The data - variables used by this function are "lat", "cp", "rad", "cen", "env", and "hol_b". + Output of ``tctrack_to_si`` with "hol_b" (see, e.g., _B_holland_1980) data variable. The + data variables used by this function are "lat", "cp", "rad", "cen", "env", and "hol_b". d_centr : np.ndarray of shape (nnodes, ncentroids) Distance (in m) between centroids and track nodes. mask_centr_close : np.ndarray of shape (nnodes, ncentroids) @@ -1622,8 +1623,8 @@ def _stat_er_2011( Parameters ---------- si_track : xr.Dataset - Output of ``tctrack_to_si``. The data variables used by this function are "lat", "cp", "rad", - and "vmax". + Output of ``tctrack_to_si``. The data variables used by this function are "lat", "cp", + "rad", and "vmax". d_centr : np.ndarray of shape (nnodes, ncentroids) Distance (in m) between centroids and track nodes. mask_centr_close : np.ndarray of shape (nnodes, ncentroids) From 5f3904b542407e903e30f8662ab0e8d21c25c5cb Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Fri, 16 Feb 2024 13:16:15 +0100 Subject: [PATCH 184/192] CHANGELOG: list deprecated and removed methods --- CHANGELOG.md | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d5807251d2..b9a766af54 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,7 @@ Code freeze date: YYYY-MM-DD ### Changed -- Centroids complete overhaul. Most function should be backward compatible. Internal data is stored in a geodataframe attribute. Raster are now stored as points, and the meta attribute is removed. The methods to read matlab files were removed. [#787](https://github.com/CLIMADA-project/climada_python/pull/787) +- Centroids complete overhaul. Most function should be backward compatible. Internal data is stored in a geodataframe attribute. Raster are now stored as points, and the meta attribute is removed. Several methds were deprecated or removed. [#787](https://github.com/CLIMADA-project/climada_python/pull/787) ### Fixed @@ -23,9 +23,40 @@ Code freeze date: YYYY-MM-DD ### Deprecated +- climada.hazard.centroids.centr.Centroids.from_mat +- climada.hazard.centroids.centr.Centroids.from_base_grid +- climada.hazard.centroids.centr.Centroids.from_lat_lon +- climada.hazard.centroids.centr.Centroids.def set_area_pixel +- climada.hazard.centroids.centr.Centroids.def set_area_approx +- climada.hazard.centroids.centr.Centroids.set_dist_coast +- climada.hazard.centroids.centr.Centroids.empty_geometry_points +- climada.hazard.centroids.centr.Centroids.set_meta_to_lat_lon +- climada.hazard.centroids.centr.Centroids.set_lat_lon_to_meta + ### Removed -- Read/write matlab file and vector file methods for Centroids and Hazard objects. [#787](https://github.com/CLIMADA-project/climada_python/pull/787) +- climada.hazard.base.Hazard.clear +- climada.hazard.base.Hazard.raster_to_vector +- climada.hazard.base.Hazard.read_mat +- climada.hazard.base.Hazard.reproject_raster +- climada.hazard.base.Hazard.set_vector +- climada.hazard.base.Hazard.vector_to_raster +- climada.hazard.centroids.centr.Centroids.calc_pixels_polygons +- climada.hazard.centroids.centr.Centroids.check +- climada.hazard.centroids.centr.Centroids.clear +- climada.hazard.centroids.centr.Centroids.equal +- climada.hazard.centroids.centr.Centroids.read_excel +- climada.hazard.centroids.centr.Centroids.read_hdf5 +- climada.hazard.centroids.centr.Centroids.read_mat +- climada.hazard.centroids.centr.Centroids.set_elevation +- climada.hazard.centroids.centr.Centroids.set_geometry_points +- climada.hazard.centroids.centr.Centroids.set_lat_lon +- climada.hazard.centroids.centr.Centroids.set_raster_file +- climada.hazard.centroids.centr.Centroids.set_raster_from_pnt_bounds +- climada.hazard.centroids.centr.Centroids.set_vector_file +- climada.hazard.centroids.centr.Centroids.values_from_raster_files +- climada.hazard.centroids.centr.Centroids.values_from_vector_files +- climada.hazard.centroids.centr.generate_nat_earth_centroids ## 4.1.0 From 7b009e9451d15456ddf568a47765a2f5d362c107 Mon Sep 17 00:00:00 2001 From: Igor Detring Date: Tue, 20 Feb 2024 08:58:58 +0100 Subject: [PATCH 185/192] Refactor and add to centroids testing --- climada/hazard/centroids/test/test_centr.py | 677 ++++++++++++++++-- climada/hazard/centroids/test/test_vec_ras.py | 460 ------------ 2 files changed, 621 insertions(+), 516 deletions(-) delete mode 100644 climada/hazard/centroids/test/test_vec_ras.py diff --git a/climada/hazard/centroids/test/test_centr.py b/climada/hazard/centroids/test/test_centr.py index 578cb5040d..cb0f47aedd 100644 --- a/climada/hazard/centroids/test/test_centr.py +++ b/climada/hazard/centroids/test/test_centr.py @@ -19,83 +19,356 @@ Test CentroidsVector and CentroidsRaster classes. """ import unittest +from unittest.mock import patch from pathlib import Path import numpy as np import pandas as pd import geopandas as gpd import shapely -import csv +import itertools +import rasterio from pyproj.crs.crs import CRS +from rasterio.windows import Window +from shapely.geometry.point import Point +from cartopy.io import shapereader + +from climada import CONFIG from climada.hazard.centroids.centr import Centroids -from climada.util.constants import DEF_CRS +from climada.util.constants import DEF_CRS, HAZ_DEMO_FL import climada.util.coordinates as u_coord from climada.entity import Exposures from rasterio import Affine +DATA_DIR = CONFIG.hazard.test_data.dir() + +# Note: the coordinates are not directly on the cities, the region id and on land +# otherwise do not work correctly. It is only a close point. +LATLON = np.array([ + [-21.1736, -175.1883], # Tonga, Nuku'alofa, TON, 776 + [-18.133, 178.433], # Fidji, Suva, FJI, 242 IN WATER IN NATURAL EARTH + [-38.4689, 177.8642], # New-Zealand, Te Karaka, NZL, 554 + [69.6833, 18.95], # Norway, Tromso, NOR, 578 IN WATER IN NATURAL EARTH + [78.84422, 20.82842], # Norway, Svalbard, NOR, 578 + [1, 1], # Ocean, 0 (0,0 is onland in Natural earth for testing reasons) + [-77.85, 166.6778], # Antarctica, McMurdo station, ATA, 010 + [-0.25, -78.5833] # Ecuador, Quito, ECU, 218 +]) + +VEC_LAT = LATLON[:,0] +VEC_LON = LATLON[:,1] + +ON_LAND = np.array([True, False, True, False, True, False, True, True]) +REGION_ID = np.array([776, 0, 554, 0, 578, 0, 10, 218]) + +TEST_CRS = 'EPSG:4326' +ALT_CRS = 'epsg:32632' # UTM zone 32N (Central Europe, 6-12°E) + class TestCentroidsData(unittest.TestCase): + """ Test class for initialisation and value based creation of Centroids objects""" + def setUp(self): + self.lat = np.array([-10, 0, 10]) + self.lon = np.array([-170, -150, -130]) + self.region_id = np.array([1, 2, 3]) + self.on_land = np.array([True, False, False]) + self.crs = 'epsg:32632' + self.centr = Centroids(lat=VEC_LAT,lon=VEC_LON) + + def test_centroids_check_pass(self): + """Test vector data in Centroids""" + centr = Centroids(lat=VEC_LAT, lon=VEC_LON, crs=ALT_CRS) + + self.assertTrue(u_coord.equal_crs(centr.crs, CRS.from_user_input(ALT_CRS))) + self.assertEqual( + list(centr.total_bounds), + [VEC_LON.min(), VEC_LAT.min(), VEC_LON.max(), VEC_LAT.max()], + ) - def test_init(self): - # Creating Centroids with latitude and longitude arrays - lat = np.array([10.0, 20.0, 30.0]) - lon = np.array([-10.0, -20.0, -30.0]) - centroids = Centroids(lat=lat, lon=lon) + self.assertIsInstance(centr,Centroids) + self.assertIsInstance(centr.lat, np.ndarray) + self.assertIsInstance(centr.lon, np.ndarray) + self.assertIsInstance(centr.coord, np.ndarray) + self.assertTrue(np.array_equal(centr.lat, VEC_LAT)) + self.assertTrue(np.array_equal(centr.lon, VEC_LON)) + self.assertTrue(np.array_equal(centr.coord, np.array([VEC_LAT, VEC_LON]).transpose())) + self.assertEqual(centr.size, VEC_LON.size) + def test_init_pass(self): + # Creating Centroids with latitude and longitude arrays + # check instance - trivial... # Checking attributes - np.testing.assert_array_equal(centroids.lat, lat) - np.testing.assert_array_equal(centroids.lon, lon) - self.assertTrue(u_coord.equal_crs(centroids.crs, DEF_CRS)) + np.testing.assert_array_equal(self.centr.lat, VEC_LAT) + np.testing.assert_array_equal(self.centr.lon, VEC_LON) + self.assertTrue(u_coord.equal_crs(self.centr.crs, DEF_CRS)) - # Creating Centroids with additional properties - region_id = np.array([1, 2, 3]) - on_land = np.array([True, False, False]) - centroids = Centroids(lat=lat, lon=lon, region_id=region_id, on_land=on_land) + # Creating Centroids with additional attributes + centroids = Centroids(lat=VEC_LAT, lon=VEC_LON, + region_id=REGION_ID, on_land=ON_LAND) # Checking additional attributes - np.testing.assert_array_equal(centroids.region_id, region_id) - np.testing.assert_array_equal(centroids.on_land, on_land) + np.testing.assert_array_equal(centroids.region_id, REGION_ID) + np.testing.assert_array_equal(centroids.on_land, ON_LAND) + + def test_init_defaults(self): + ''' Checking default values for Centroids''' + centroids = Centroids(lat=VEC_LAT,lon=VEC_LON) + # Checking defaults: nothing set for region_id, on_land + self.assertFalse(centroids.region_id) + self.assertFalse(centroids.on_land) + # Guarantee a no-default TypeError for lon/lat + with self.assertRaises(TypeError): Centroids() + + def test_init_properties(self): + """ Guarantee that Centroid objects have at least the properties: """ + properties = ['gdf','lon','lat','geometry', + 'on_land','region_id','crs', + 'shape','size','total_bounds','coord'] + centroids = Centroids(lat=[],lon=[]) + [self.assertTrue(hasattr(centroids,prop)) for prop in properties] + + def test_init_kwargs(self): + """ Test default crs and kwargs forwarding """ + centr = Centroids( + lat=VEC_LAT, + lon=VEC_LON, + region_id=REGION_ID, + on_land=ON_LAND, + ) + self.assertTrue(u_coord.equal_crs(centr.crs, DEF_CRS)) + self.assertTrue(np.allclose(centr.region_id, REGION_ID)) + self.assertTrue(np.allclose(centr.on_land, ON_LAND)) + + # make sure kwargs are properly forwarded to centroids.gdf + np.random.seed(1000) + randommask = np.random.choice([True,False],size=len(VEC_LON)) + centroids = Centroids(lat=VEC_LAT,lon=VEC_LON,masked=randommask,ones=1) + self.assertTrue(hasattr(centroids.gdf,'masked')) + self.assertTrue(hasattr(centroids.gdf,'ones')) + np.testing.assert_array_equal(randommask,centroids.gdf.masked) + self.assertEqual(sum(centroids.gdf.ones),len(VEC_LON)) + + def test_from_meta_pass(self): + expected_lon = np.array([-30.0, -20.0, -10.0]*3) + expected_lat = np.repeat([30.0, 20.0, 10.0],3) + # Check metadata + meta = dict( + crs=DEF_CRS, + height=3, + width=3, + transform=Affine( + 10, 0, -35, + 0, -10, 35, + ), + ) + centroids = Centroids.from_meta(meta) + + # check created object + np.testing.assert_array_equal(centroids.lon,expected_lon) + np.testing.assert_array_equal(centroids.lat,expected_lat) + self.assertEqual(centroids.crs,DEF_CRS) + # generally we assume that from_meta does not set region_ids and on_land flags + self.assertFalse(centroids.region_id) + self.assertFalse(centroids.on_land) + + def test_from_meta(self): + """Test from_meta""" + meta_ref = { + 'width': 10, + 'height': 8, + 'transform': rasterio.Affine( + 0.6, 0, -0.1, + 0, -0.6, 0.3, + ), + 'crs': DEF_CRS, + } + + lon_ref = np.array([0.2, 0.8, 1.4, 2.0, 2.6, 3.2, 3.8, 4.4, 5.0, 5.6]) + lat_ref = np.array([0.0, -0.6, -1.2, -1.8, -2.4, -3.0, -3.6, -4.2]) + lon_ref, lat_ref = [ar.ravel() for ar in np.meshgrid(lon_ref, lat_ref)] + + centr = Centroids.from_meta(meta_ref) + meta = centr.get_meta() + self.assertTrue(u_coord.equal_crs(meta_ref["crs"], meta["crs"])) + self.assertEqual(meta_ref["width"], meta["width"]) + self.assertEqual(meta_ref["height"], meta["height"]) + np.testing.assert_allclose(meta_ref["transform"], meta["transform"]) + + centr = Centroids.from_meta( + Centroids(lat=lat_ref, lon=lon_ref).get_meta() + ) + np.testing.assert_allclose(lat_ref, centr.lat) + np.testing.assert_allclose(lon_ref, centr.lon) + + # `get_meta` enforces same resolution in x and y, and y-coordinates are decreasing. + # For other cases, `from_meta` needs to be checked manually. + meta_ref = { + 'width': 4, + 'height': 5, + 'transform': rasterio.Affine( + 0.5, 0, 0.2, + 0, 0.6, -0.7, + ), + 'crs': DEF_CRS, + } + lon_ref = np.array([0.45, 0.95, 1.45, 1.95]) + lat_ref = np.array([-0.4, 0.2, 0.8, 1.4, 2.0]) + lon_ref, lat_ref = [ar.ravel() for ar in np.meshgrid(lon_ref, lat_ref)] + + centr = Centroids.from_meta(meta_ref) + np.testing.assert_allclose(lat_ref, centr.lat) + np.testing.assert_allclose(lon_ref, centr.lon) + + + def test_from_pnt_bounds(self): + """Test from_pnt_bounds""" + width, height = 26, 51 + left, bottom, right, top = 5, 0, 10, 10 + + centr = Centroids.from_pnt_bounds((left, bottom, right, top), 0.2, crs=DEF_CRS) + self.assertTrue(u_coord.equal_crs(centr.crs, DEF_CRS)) + self.assertEqual(centr.size, width * height) + np.testing.assert_allclose([5.0, 5.2, 5.0], centr.lon[[0, 1, width]], atol=0.1) + np.testing.assert_allclose([10.0, 10.0, 9.8], centr.lat[[0, 1, width]], atol=0.1) + # generally we assume that from_meta does not set region_ids and on_land flags + self.assertFalse(centr.region_id) + self.assertFalse(centr.on_land) + +class TestCentroidsTransformation(unittest.TestCase): + """ Test class for coordinate transformations of Centroid objects + and modifications using set_ methods""" + def setUp(self): + self.lat = np.array([-10, 0, 10]) + self.lon = np.array([-170, -150, -130]) + self.region_id = np.array([1, 2, 3]) + self.on_land = np.array([True, False, False]) + self.crs = 'epsg:32632' + self.centr = Centroids(lat=VEC_LAT,lon=VEC_LON,crs=TEST_CRS) def test_to_default_crs(self): - # Creating Centroids with non-default CRS - crs = 'epsg:32632' - lat = np.array([-10, 0, 10]) - lon = np.array([-170, -150, -130]) - centroids = Centroids(lat=lat, lon=lon, crs=crs) - - self.assertTrue(u_coord.equal_crs(centroids.crs, 'epsg:32632')) - - # Transforming to default CRS + # Creating Centroids with non-default CRS and + # inplace transformation afterwards + centroids = Centroids(lat=VEC_LAT, lon=VEC_LON, crs=ALT_CRS) + self.assertTrue(u_coord.equal_crs(centroids.crs, ALT_CRS)) centroids.to_default_crs() - - # Checking CRS after transformation + # make sure CRS is DEF_CRS after transformation self.assertTrue(u_coord.equal_crs(centroids.crs, DEF_CRS)) + # Checking that modification actually took place + [self.assertNotEqual(x-y,0) for x,y in zip(centroids.lon,VEC_LON)] + [self.assertNotEqual(x-y,0) for x,y in zip(centroids.lat,VEC_LAT) if not x == 0] + + def test_to_default_crs_not_inplace(self): + centroids = Centroids(lat=VEC_LAT, lon=VEC_LON, crs=ALT_CRS) + newcentr = centroids.to_default_crs(inplace=False) + # make sure that new object has been created + self.assertIsNot(centroids,newcentr) + self.assertIsInstance(newcentr,Centroids) + ## compare with inplace transformation + centroids.to_default_crs() + np.testing.assert_array_equal(centroids.lat,newcentr.lat) + np.testing.assert_array_equal(centroids.lon,newcentr.lon) def test_to_crs(self): # Creating Centroids with default CRS - crs = DEF_CRS - lat = np.array([-10, 0, 10]) - lon = np.array([-170, -150, -130]) - centroids = Centroids(lat=lat, lon=lon, crs=crs) + centroids = Centroids(lat=self.lat, lon=self.lon, crs=DEF_CRS) # Transforming to another CRS new_crs = 'epsg:3857' transformed_centroids = centroids.to_crs(new_crs) - # Checking CRS after transformation + self.assertIsNot(centroids,transformed_centroids) + self.assertFalse(centroids == transformed_centroids) + + # Checking CRS string after transformation self.assertTrue(u_coord.equal_crs(transformed_centroids.crs, new_crs)) - self.assertTrue(u_coord.equal_crs(centroids.crs, crs)) + self.assertTrue(u_coord.equal_crs(centroids.crs, DEF_CRS)) - # Checking coordinates after transformation + # Checking correctness of transformation expected_lat = np.array([-1118889.974858, 0., 1118889.9748585]) expected_lon = np.array([-18924313.434857, -16697923.618991, -14471533.803126]) np.testing.assert_array_almost_equal(transformed_centroids.lat, expected_lat) np.testing.assert_array_almost_equal(transformed_centroids.lon, expected_lon) + def test_to_crs_inplace(self): + centroids = Centroids(lat=self.lat,lon=self.lon,crs=DEF_CRS) + new_crs = 'epsg:3857' + transformed_centroids = centroids.to_crs(new_crs) + + # inplace transforming to another CRS + centroids.to_crs(new_crs,inplace=True) -class TestCentroidsReader(unittest.TestCase): - """Test read functions Centroids""" + self.assertTrue(centroids == transformed_centroids) + + expected_lat = np.array([-1118889.974858, 0., 1118889.9748585]) + expected_lon = np.array([-18924313.434857, -16697923.618991, -14471533.803126]) + np.testing.assert_array_almost_equal(centroids.lat, expected_lat) + np.testing.assert_array_almost_equal(centroids.lon, expected_lon) + + def test_ne_crs_geom_pass(self): + """Test _ne_crs_geom""" + natural_earth_geom = self.centr._ne_crs_geom() + self.assertEqual(natural_earth_geom.crs, u_coord.NE_CRS) + + centr = Centroids(lat=VEC_LAT, lon=VEC_LON, crs=ALT_CRS) + ne_geom = centr._ne_crs_geom() + self.assertTrue(u_coord.equal_crs(ne_geom.crs, u_coord.NE_CRS)) + np.testing.assert_allclose(ne_geom.geometry[:].x.values, 4.5, atol=0.1) + np.testing.assert_allclose(ne_geom.geometry[:].y.values, 0.0, atol=0.001) + + def test_set_on_land_pass(self): + """Test set_on_land""" + self.centr.set_on_land() + np.testing.assert_array_equal(self.centr.on_land, ON_LAND) + + centroids = Centroids(lat=VEC_LAT, lon=VEC_LON, on_land='natural_earth') + np.testing.assert_array_equal(centroids.on_land, ON_LAND) + + def test_set_on_land_implementationerror(self): + centroids = Centroids(lat=self.lat,lon=self.lon) + + with self.assertRaises(NotImplementedError): + centroids.set_on_land(source='satellite',overwrite=True) + + def test_set_on_land_raster(self): + """Test set_on_land""" + centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) + centr_ras.set_on_land() + self.assertTrue(np.array_equal(centr_ras.on_land, np.ones(60 * 50, bool))) + + def test_set_region_id_pass(self): + """Test set_region_id""" + self.centr.set_region_id() + np.testing.assert_array_equal(self.centr.region_id, REGION_ID) + + centroids = Centroids(lat=VEC_LAT, lon=VEC_LON, region_id='country') + np.testing.assert_array_equal(centroids.region_id, REGION_ID) + + def test_set_region_id_raster(self): + """Test set_region_id raster file""" + centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) + centr_ras.set_region_id() + self.assertEqual(centr_ras.region_id.size, centr_ras.size) + self.assertTrue(np.array_equal(np.unique(centr_ras.region_id), np.array([862]))) + + def test_set_region_id_implementationerror(self): + centroids = Centroids(lat=self.lat,lon=self.lon) + + with self.assertRaises(NotImplementedError): + centroids.set_region_id(level='continent',overwrite=True) + + def test_set_geometry_points_pass(self): + """Test set_geometry_points""" + centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) + x_flat = np.arange(-69.3326495969998, -68.88264959699978, 0.009000000000000341) + y_flat = np.arange(10.423720966978939, 9.883720966978919, -0.009000000000000341) + x_grid, y_grid = np.meshgrid(x_flat, y_flat) + self.assertTrue(np.allclose(x_grid.flatten(), centr_ras.lon)) + self.assertTrue(np.allclose(y_grid.flatten(), centr_ras.lat)) + + +class TestCentroidsReaderWriter(unittest.TestCase): + """Test class for file based creation of Centroid objects and output""" def test_from_csv_def_crs(self): """Read a centroid csv file correctly and use default CRS.""" @@ -238,6 +511,37 @@ def test_write_read_excel(self): # delete file tmpfile.unlink() + def test_from_raster_file(self): + """Test from_raster_file""" + width, height = 50, 60 + o_lat, o_lon = (10.42822096697894, -69.33714959699981) + res_lat, res_lon = (-0.009000000000000341, 0.009000000000000341) + + centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, width, height)) + self.assertTrue(u_coord.equal_crs(centr_ras.crs, DEF_CRS)) + self.assertEqual(centr_ras.size, width * height) + np.testing.assert_allclose( + [-69.333, -69.324, -69.333], centr_ras.lon[[0, 1, width]], atol=0.001, + ) + np.testing.assert_allclose( + [10.424, 10.424, 10.415], centr_ras.lat[[0, 1, width]], atol=0.001, + ) + + def test_from_vector_file(self): + """Test from_vector_file and values_from_vector_files""" + shp_file = shapereader.natural_earth(resolution='110m', category='cultural', + name='populated_places_simple') + + centr = Centroids.from_vector_file(shp_file, dst_crs=DEF_CRS) + self.assertTrue(u_coord.equal_crs(centr.crs, DEF_CRS)) + self.assertAlmostEqual(centr.lon[0], 12.453386544971766) + self.assertAlmostEqual(centr.lon[-1], 114.18306345846304) + self.assertAlmostEqual(centr.lat[0], 41.903282179960115) + self.assertAlmostEqual(centr.lat[-1], 22.30692675357551) + + centr = Centroids.from_vector_file(shp_file, dst_crs=ALT_CRS) + self.assertTrue(u_coord.equal_crs(centr.crs, ALT_CRS)) + def test_from_geodataframe(self): """Test that constructing a valid Centroids instance from gdf works.""" crs = DEF_CRS @@ -346,22 +650,136 @@ def test_from_exposures_without_region_id(self): False, ) - -class TestCentroidsWriter(unittest.TestCase): + def test_from_exposure_exceptions(self): + gdf = gpd.GeoDataFrame({ + }) + exposures = Exposures(gdf) + with self.assertRaises(ValueError): + Centroids.from_exposures(exposures) def test_read_write_hdf5(self): tmpfile = Path('test_write_hdf5.out.hdf5') - lat = np.arange(0, 10) - lon = np.arange(-10, 0) crs = DEF_CRS - centroids_w = Centroids(lat=lat, lon=lon, crs=crs) + centroids_w = Centroids(lat=VEC_LAT, lon=VEC_LON, crs=crs) centroids_w.write_hdf5(tmpfile) centroids_r = Centroids.from_hdf5(tmpfile) self.assertTrue(centroids_w == centroids_r) tmpfile.unlink() + def test_from_hdf5_nonexistent_file(self): + """Test raising FileNotFoundError when creating Centroids object from a nonexistent HDF5 file""" + file_name = "/path/to/nonexistentfile.h5" + # prescribe that file does not exist + with patch("pathlib.Path.is_file", return_value=False): + with self.assertRaises(FileNotFoundError): + Centroids.from_hdf5(file_name) class TestCentroidsMethods(unittest.TestCase): + """Test Centroids methods""" + def setUp(self): + self.centr = Centroids(lat=VEC_LAT, lon=VEC_LON, crs=TEST_CRS) + + def test_select_pass(self): + """Test Centroids.select method""" + region_id = np.zeros(VEC_LAT.size) + region_id[[2, 4]] = 10 + centr = Centroids(lat=VEC_LAT, lon=VEC_LON, region_id=region_id) + + fil_centr = centr.select(reg_id=10) + self.assertIsInstance(fil_centr,Centroids) + self.assertEqual(fil_centr.size, 2) + self.assertEqual(fil_centr.lat[0], VEC_LAT[2]) + self.assertEqual(fil_centr.lat[1], VEC_LAT[4]) + self.assertEqual(fil_centr.lon[0], VEC_LON[2]) + self.assertEqual(fil_centr.lon[1], VEC_LON[4]) + self.assertTrue(np.array_equal(fil_centr.region_id, np.ones(2) * 10)) + + def test_select_extent_pass(self): + """Test select extent""" + centr = Centroids( + lat=np.array([-5, -3, 0, 3, 5]), + lon=np.array([-180, -175, -170, 170, 175]), + region_id=np.zeros(5), + ) + ext_centr = centr.select(extent=[-175, -170, -5, 5]) + self.assertIsInstance(ext_centr,Centroids) + np.testing.assert_array_equal(ext_centr.lon, np.array([-175, -170])) + np.testing.assert_array_equal(ext_centr.lat, np.array([-3, 0])) + + # Cross antimeridian, version 1 + ext_centr = centr.select(extent=[170, -175, -5, 5]) + np.testing.assert_array_equal(ext_centr.lon, np.array([-180, -175, 170, 175])) + np.testing.assert_array_equal(ext_centr.lat, np.array([-5, -3, 3, 5])) + + # Cross antimeridian, version 2 + ext_centr = centr.select(extent=[170, 185, -5, 5]) + np.testing.assert_array_equal(ext_centr.lon, np.array([-180, -175, 170, 175])) + np.testing.assert_array_equal(ext_centr.lat, np.array([-5, -3, 3, 5])) + + def test_append_pass(self): + """Append points""" + centr = self.centr + centr_bis = Centroids(lat=np.array([1, 2, 3]), lon=np.array([4, 5, 6]), crs=DEF_CRS) + with self.assertRaises(ValueError): + # Different crs + centr_bis.to_crs(ALT_CRS).append(centr) + centr_bis.append(centr) + self.assertAlmostEqual(centr_bis.lat[0], 1) + self.assertAlmostEqual(centr_bis.lat[1], 2) + self.assertAlmostEqual(centr_bis.lat[2], 3) + self.assertAlmostEqual(centr_bis.lon[0], 4) + self.assertAlmostEqual(centr_bis.lon[1], 5) + self.assertAlmostEqual(centr_bis.lon[2], 6) + self.assertTrue(np.array_equal(centr_bis.lat[3:], centr.lat)) + self.assertTrue(np.array_equal(centr_bis.lon[3:], centr.lon)) + + def test_append(self): + lat2,lon2 = np.array([6,7,8,9,10]),np.array([6,7,8,9,10]) + newcentr = Centroids(lat=lat2,lon=lon2) + newcentr.append(self.centr) + self.assertTrue(newcentr.size == len(self.centr.lon)+len(lon2)) + np.testing.assert_array_equal(newcentr.lon,np.concatenate([lon2,self.centr.lon])) + np.testing.assert_array_equal(newcentr.lat,np.concatenate([lat2,self.centr.lat])) + + def test_append_dif_crs(self): + lat2,lon2 = np.array([0,0,1,2,3,4,5]),np.array([0,0,1,2,3,4,5]) + centr2 = Centroids(lat=lat2,lon=lon2,crs='epsg:3857') + + # appending differing crs is not provided/possible + with self.assertRaises(ValueError): + self.centr.append(centr2) + + def test_remove_duplicate_pass(self): + """Test remove_duplicate_points""" + centr = Centroids( + lat=np.hstack([VEC_LAT, VEC_LAT]), + lon=np.hstack([VEC_LON, VEC_LON]), + crs=TEST_CRS, + ) + self.assertTrue(centr.gdf.shape[0] == 2 * self.centr.gdf.shape[0]) + rem_centr = Centroids.remove_duplicate_points(centr) + self.assertIsInstance(rem_centr,Centroids) + self.assertTrue(self.centr == rem_centr) + + + def test_remove_duplicates_dif_on_land(self): + ### We currently expect that only the geometry of the gdf defines duplicates. + ### If one geometry is duplicated with differences in other attributes e.g. on_land + ### they get removed nevertheless. Only the first occurrence will be part of the new object + ### this test is only here to guarantee this behaviour + lat, lon = np.array([0,0,1,2,3,4,5]),np.array([0,0,1,2,3,4,5]) + centr = Centroids(lat=lat,lon=lon,on_land=[True]+[False]*6) + centr_subset = centr.remove_duplicate_points() + # new object created + self.assertFalse(centr == centr_subset) + self.assertIsNot(centr,centr_subset) + # duplicates removed + self.assertTrue(centr_subset.size == len(lat)-1) + self.assertTrue(np.all(centr_subset.shape == (len(lat)-1,len(lon)-1))) + np.testing.assert_array_equal(centr_subset.lon,np.unique(lon)) + np.testing.assert_array_equal(centr_subset.lat,np.unique(lat)) + # only first on_land (True) is selected + self.assertTrue(centr_subset.on_land[0]) def test_union(self): lat, lon = np.array([0, 1]), np.array([0, -1]) @@ -376,28 +794,65 @@ def test_union(self): cent3 = Centroids(lat=lat3,lon=lon3) cent = cent1.union(cent2) - np.testing.assert_array_equal(cent.lat, [0, 1, 2, 3]) - np.testing.assert_array_equal(cent.lon, [0, -1, -2, 3]) - np.testing.assert_array_equal(cent.on_land, [True, True, False, False]) + np.testing.assert_array_equal(cent.lat, np.concatenate([lat,lat2])) + np.testing.assert_array_equal(cent.lon, np.concatenate([lon,lon2])) + np.testing.assert_array_equal(cent.on_land, np.concatenate([on_land,on_land2])) cent = cent1.union(cent1, cent2) - np.testing.assert_array_equal(cent.lat, [0, 1, 2, 3]) - np.testing.assert_array_equal(cent.lon, [0, -1, -2, 3]) - np.testing.assert_array_equal(cent.on_land, [True, True, False, False]) + np.testing.assert_array_equal(cent.lat, np.concatenate([lat,lat2])) + np.testing.assert_array_equal(cent.lon, np.concatenate([lon,lon2])) + np.testing.assert_array_equal(cent.on_land, np.concatenate([on_land,on_land2])) cent = Centroids.union(cent1) - np.testing.assert_array_equal(cent.lat, [0, 1]) - np.testing.assert_array_equal(cent.lon, [0, -1]) - np.testing.assert_array_equal(cent.on_land, [True, True]) + np.testing.assert_array_equal(cent.lat, cent1.lat) + np.testing.assert_array_equal(cent.lon, cent1.lon) + np.testing.assert_array_equal(cent.on_land, cent1.on_land) cent = cent1.union(cent1) - np.testing.assert_array_equal(cent.lat, [0, 1]) - np.testing.assert_array_equal(cent.lon, [0, -1]) - np.testing.assert_array_equal(cent.on_land, [True, True]) + np.testing.assert_array_equal(cent.lat, cent1.lat) + np.testing.assert_array_equal(cent.lon, cent1.lon) + np.testing.assert_array_equal(cent.on_land, cent1.on_land) + # if attributes are not part in one of the centroid objects it will be added as None in the union cent = Centroids.union(cent1, cent2, cent3) - np.testing.assert_array_equal(cent.lat, [0, 1, 2, 3, -1, -2]) - np.testing.assert_array_equal(cent.lon, [0, -1, -2, 3, 1, 2]) + np.testing.assert_array_equal(cent.lat, np.concatenate([lat,lat2,lat3])) + np.testing.assert_array_equal(cent.lon, np.concatenate([lon,lon2,lon3])) + np.testing.assert_array_equal(cent.on_land, np.concatenate([on_land,on_land2,[None,None]])) + + def test_select_pass(self): + """Test Centroids.select method""" + region_id = np.zeros(VEC_LAT.size) + region_id[[2, 4]] = 10 + centr = Centroids(lat=VEC_LAT, lon=VEC_LON, region_id=region_id) + + fil_centr = centr.select(reg_id=10) + self.assertEqual(fil_centr.size, 2) + self.assertEqual(fil_centr.lat[0], VEC_LAT[2]) + self.assertEqual(fil_centr.lat[1], VEC_LAT[4]) + self.assertEqual(fil_centr.lon[0], VEC_LON[2]) + self.assertEqual(fil_centr.lon[1], VEC_LON[4]) + self.assertTrue(np.array_equal(fil_centr.region_id, np.ones(2) * 10)) + + def test_select_extent_pass(self): + """Test select extent""" + centr = Centroids( + lat=np.array([-5, -3, 0, 3, 5]), + lon=np.array([-180, -175, -170, 170, 175]), + region_id=np.zeros(5), + ) + ext_centr = centr.select(extent=[-175, -170, -5, 5]) + np.testing.assert_array_equal(ext_centr.lon, np.array([-175, -170])) + np.testing.assert_array_equal(ext_centr.lat, np.array([-3, 0])) + + # Cross antimeridian, version 1 + ext_centr = centr.select(extent=[170, -175, -5, 5]) + np.testing.assert_array_equal(ext_centr.lon, np.array([-180, -175, 170, 175])) + np.testing.assert_array_equal(ext_centr.lat, np.array([-5, -3, 3, 5])) + + # Cross antimeridian, version 2 + ext_centr = centr.select(extent=[170, 185, -5, 5]) + np.testing.assert_array_equal(ext_centr.lon, np.array([-180, -175, 170, 175])) + np.testing.assert_array_equal(ext_centr.lat, np.array([-5, -3, 3, 5])) def test_get_meta(self): """ @@ -427,10 +882,120 @@ def test_get_meta(self): self.assertTrue(u_coord.equal_crs(meta['crs'], expected_meta['crs'])) self.assertTrue(meta['transform'].almost_equals(expected_meta['transform'])) + def test_get_closest_point(self): + """Test get_closest_point""" + for n, (lat, lon) in enumerate(LATLON): + x, y, idx = self.centr.get_closest_point(lon * 0.99, lat * 1.01) + self.assertAlmostEqual(x, lon) + self.assertAlmostEqual(y, lat) + self.assertEqual(idx, n) + self.assertEqual(self.centr.lon[n], x) + self.assertEqual(self.centr.lat[n], y) + + def test_get_closest_point(self): + """Test get_closest_point""" + for y_sign in [1, -1]: + meta = { + 'width': 10, + 'height': 20, + 'transform': rasterio.Affine(0.5, 0, 0.1, 0, y_sign * 0.6, y_sign * (-0.3)), + 'crs': DEF_CRS, + } + centr_ras = Centroids.from_meta(meta=meta) + + test_data = np.array([ + [0.4, 0.1, 0.35, 0.0, 0], + [-0.1, 0.2, 0.35, 0.0, 0], + [2.2, 0.1, 2.35, 0.0, 4], + [1.4, 2.5, 1.35, 2.4, 42], + [5.5, -0.1, 4.85, 0.0, 9], + ]) + test_data[:,[1,3]] *= y_sign + for x_in, y_in, x_out, y_out, idx_out in test_data: + x, y, idx = centr_ras.get_closest_point(x_in, y_in) + self.assertEqual(x, x_out) + self.assertEqual(y, y_out) + self.assertEqual(idx, idx_out) + self.assertEqual(centr_ras.lon[idx], x) + self.assertEqual(centr_ras.lat[idx], y) + + centr_ras = Centroids(lat=np.array([0, 0.2, 0.7]), lon=np.array([-0.4, 0.2, 1.1])) + x, y, idx = centr_ras.get_closest_point(0.1, 0.0) + self.assertEqual(x, 0.2) + self.assertEqual(y, 0.2) + self.assertEqual(idx, 1) + + def test_dist_coast_pass(self): + """Test set_dist_coast""" + dist_coast = self.centr.get_dist_coast() + # Just checking that the output doesnt change over time. + REF_VALUES = np.array([ + 1605.243, 603.261, 26112.239, 2228.629, 7207.817, + 156271.372, 661.114, 158184.4, + ]) + # + self.assertIsInstance(dist_coast,np.ndarray) + np.testing.assert_array_almost_equal(dist_coast, REF_VALUES, decimal=3) + + def test_dist_coast_pass_raster(self): + """Test set_region_id""" + centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) + dist_coast = centr_ras.get_dist_coast() + self.assertLess(abs(dist_coast[0] - 117000), 1000) + self.assertLess(abs(dist_coast[-1] - 104000), 1000) + + def test_area_pass(self): + """Test set_area""" + ulx, xres, lrx = 60, 1, 90 + uly, yres, lry = 0, 1, 20 + xx, yy = np.meshgrid(np.arange(ulx + xres / 2, lrx, xres), + np.arange(uly + yres / 2, lry, yres)) + vec_data = gpd.GeoDataFrame({ + 'geometry': [Point(xflat, yflat) for xflat, yflat in zip(xx.flatten(), yy.flatten())], + 'lon': xx.flatten(), + 'lat': yy.flatten(), + }, crs={'proj': 'cea'}) + centr = Centroids.from_geodataframe(vec_data) + area_pixel = centr.get_area_pixel() + self.assertTrue(np.allclose(area_pixel, np.ones(centr.size))) + + def test_area_pass_raster(self): + """Test set_area""" + window_size = (0, 0, 2, 3) + centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(*window_size)) + area_pixel = centr_ras.get_area_pixel() + + # Result in the crs of the test file (ESPG:4326) + # This is a wrong result as it should be projected to CEA (for correct area) + res = 0.009000000000000341 + self.assertFalse( + np.allclose(area_pixel, np.ones(window_size[2] * window_size[3]) * res**2) + ) + + # Correct result in CEA results in unequal pixel area + test_area = np.array([ + 981010.32497514, 981010.3249724 , 981037.92674855, + 981037.92674582, 981065.50487659, 981065.50487385, + ]) + np.testing.assert_allclose(area_pixel, test_area) + + def test_equal_pass(self): + """Test equal""" + centr_list = [ + Centroids(lat=VEC_LAT, lon=VEC_LON, crs=DEF_CRS), + Centroids(lat=VEC_LAT, lon=VEC_LON, crs=ALT_CRS), + Centroids(lat=VEC_LAT + 1, lon=VEC_LON + 1) + ] + for centr1, centr2 in itertools.combinations(centr_list, 2): + self.assertFalse(centr2 == centr1) + self.assertFalse(centr1 == centr2) + self.assertTrue(centr1 == centr1) + self.assertTrue(centr2 == centr2) + # Execute Tests if __name__ == "__main__": TESTS = unittest.TestLoader().loadTestsFromTestCase(TestCentroidsData) - TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestCentroidsReader)) + TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestCentroidsReaderWriter)) TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestCentroidsMethods)) unittest.TextTestRunner(verbosity=2).run(TESTS) diff --git a/climada/hazard/centroids/test/test_vec_ras.py b/climada/hazard/centroids/test/test_vec_ras.py deleted file mode 100644 index 93182f57d6..0000000000 --- a/climada/hazard/centroids/test/test_vec_ras.py +++ /dev/null @@ -1,460 +0,0 @@ -""" -This file is part of CLIMADA. - -Copyright (C) 2017 ETH Zurich, CLIMADA contributors listed in AUTHORS. - -CLIMADA is free software: you can redistribute it and/or modify it under the -terms of the GNU General Public License as published by the Free -Software Foundation, version 3. - -CLIMADA is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along -with CLIMADA. If not, see . - ---- - -Test CentroidsVector and CentroidsRaster classes. -""" -import unittest - -from cartopy.io import shapereader -import geopandas as gpd -import numpy as np -from pyproj.crs.crs import CRS -import rasterio -from rasterio.windows import Window -from shapely.geometry.point import Point - -from climada import CONFIG -from climada.hazard.centroids.centr import Centroids -from climada.util.constants import HAZ_DEMO_FL, DEF_CRS -import climada.util.coordinates as u_coord -import itertools - -DATA_DIR = CONFIG.hazard.test_data.dir() - - -# Note: the coordinates are not directly on the cities, the region id and on land -# otherwise do not work correctly. It is only a close point. -LATLON = np.array([ - [-21.1736, -175.1883], # Tonga, Nuku'alofa, TON, 776 - [-18.133, 178.433], # Fidji, Suva, FJI, 242 IN WATER IN NATURAL EARTH - [-38.4689, 177.8642], # New-Zealand, Te Karaka, NZL, 554 - [69.6833, 18.95], # Norway, Tromso, NOR, 578 IN WATER IN NATURAL EARTH - [78.84422, 20.82842], # Norway, Svalbard, NOR, 578 - [1, 1], # Ocean, 0 (0,0 is onland in Natural earth for testing reasons) - [-77.85, 166.6778], # Antarctica, McMurdo station, ATA, 010 - [-0.25, -78.5833] # Ecuador, Quito, ECU, 218 -]) - -VEC_LAT = LATLON[:,0] -VEC_LON = LATLON[:,1] - -ON_LAND = np.array([True, False, True, False, True, False, True, True]) -REGION_ID = np.array([776, 0, 554, 0, 578, 0, 10, 218]) - -TEST_CRS = 'EPSG:4326' -ALT_CRS = 'epsg:32632' # UTM zone 32N (Central Europe, 6-12°E) - -class TestVector(unittest.TestCase): - """Test CentroidsVector class""" - - def setUp(self): - self.centr = Centroids(lat=VEC_LAT, lon=VEC_LON, crs=TEST_CRS) - - def test_init_pass(self): - """Test init""" - self.assertTrue(np.allclose(self.centr.lat, VEC_LAT)) - self.assertTrue(np.allclose(self.centr.lon, VEC_LON)) - self.assertTrue(u_coord.equal_crs(self.centr.crs, TEST_CRS)) - - # Test default crs and other inputs - centr = Centroids( - lat=VEC_LAT, - lon=VEC_LON, - region_id=REGION_ID, - on_land=ON_LAND, - ) - self.assertTrue(u_coord.equal_crs(centr.crs, DEF_CRS)) - self.assertTrue(np.allclose(centr.region_id, REGION_ID)) - self.assertTrue(np.allclose(centr.on_land, ON_LAND)) - - - def test_ne_crs_geom_pass(self): - """Test _ne_crs_geom""" - natural_earth_geom = self.centr._ne_crs_geom() - self.assertEqual(natural_earth_geom.crs, u_coord.NE_CRS) - - def test_dist_coast_pass(self): - """Test set_dist_coast""" - dist_coast = self.centr.get_dist_coast() - # Just checking that the output doesnt change over time. - REF_VALUES = np.array([ - 1605.243, 603.261, 26112.239, 2228.629, 7207.817, - 156271.372, 661.114, 158184.4, - ]) - np.testing.assert_array_almost_equal(dist_coast, REF_VALUES, decimal=3) - - def test_region_id_pass(self): - """Test set_region_id""" - self.centr.set_region_id() - np.testing.assert_array_equal(self.centr.region_id, REGION_ID) - - centroids = Centroids(lat=VEC_LAT, lon=VEC_LON, region_id='country') - np.testing.assert_array_equal(centroids.region_id, REGION_ID) - - def test_on_land(self): - """Test set_on_land""" - self.centr.set_on_land() - np.testing.assert_array_equal(self.centr.on_land, ON_LAND) - - centroids = Centroids(lat=VEC_LAT, lon=VEC_LON, on_land='natural_earth') - np.testing.assert_array_equal(centroids.on_land, ON_LAND) - - def test_remove_duplicate_pass(self): - """Test remove_duplicate_points""" - centr = Centroids( - lat=np.hstack([VEC_LAT, VEC_LAT]), - lon=np.hstack([VEC_LON, VEC_LON]), - crs=TEST_CRS, - ) - self.assertTrue(centr.gdf.shape[0] == 2 * self.centr.gdf.shape[0]) - rem_centr = Centroids.remove_duplicate_points(centr) - self.assertTrue(self.centr == rem_centr) - - def test_area_pass(self): - """Test set_area""" - ulx, xres, lrx = 60, 1, 90 - uly, yres, lry = 0, 1, 20 - xx, yy = np.meshgrid(np.arange(ulx + xres / 2, lrx, xres), - np.arange(uly + yres / 2, lry, yres)) - vec_data = gpd.GeoDataFrame({ - 'geometry': [Point(xflat, yflat) for xflat, yflat in zip(xx.flatten(), yy.flatten())], - 'lon': xx.flatten(), - 'lat': yy.flatten(), - }, crs={'proj': 'cea'}) - centr = Centroids.from_geodataframe(vec_data) - area_pixel = centr.get_area_pixel() - self.assertTrue(np.allclose(area_pixel, np.ones(centr.size))) - - def test_get_closest_point(self): - """Test get_closest_point""" - for n, (lat, lon) in enumerate(LATLON): - x, y, idx = self.centr.get_closest_point(lon * 0.99, lat * 1.01) - self.assertAlmostEqual(x, lon) - self.assertAlmostEqual(y, lat) - self.assertEqual(idx, n) - self.assertEqual(self.centr.lon[n], x) - self.assertEqual(self.centr.lat[n], y) - - def test_append_pass(self): - """Append points""" - centr = self.centr - centr_bis = Centroids(lat=np.array([1, 2, 3]), lon=np.array([4, 5, 6]), crs=DEF_CRS) - with self.assertRaises(ValueError): - # Different crs - centr_bis.to_crs(ALT_CRS).append(centr) - centr_bis.append(centr) - self.assertAlmostEqual(centr_bis.lat[0], 1) - self.assertAlmostEqual(centr_bis.lat[1], 2) - self.assertAlmostEqual(centr_bis.lat[2], 3) - self.assertAlmostEqual(centr_bis.lon[0], 4) - self.assertAlmostEqual(centr_bis.lon[1], 5) - self.assertAlmostEqual(centr_bis.lon[2], 6) - self.assertTrue(np.array_equal(centr_bis.lat[3:], centr.lat)) - self.assertTrue(np.array_equal(centr_bis.lon[3:], centr.lon)) - - def test_equal_pass(self): - """Test equal""" - centr_list = [ - Centroids(lat=VEC_LAT, lon=VEC_LON, crs=DEF_CRS), - Centroids(lat=VEC_LAT, lon=VEC_LON, crs=ALT_CRS), - Centroids(lat=VEC_LAT + 1, lon=VEC_LON + 1) - ] - for centr1, centr2 in itertools.combinations(centr_list, 2): - self.assertFalse(centr2 == centr1) - self.assertFalse(centr1 == centr2) - self.assertTrue(centr1 == centr1) - self.assertTrue(centr2 == centr2) - - -class TestRaster(unittest.TestCase): - """Test CentroidsRaster class""" - - def test_from_pnt_bounds_pass(self): - """Test from_pnt_bounds""" - width, height = 26, 51 - left, bottom, right, top = 5, 0, 10, 10 - - centr = Centroids.from_pnt_bounds((left, bottom, right, top), 0.2, crs=DEF_CRS) - self.assertTrue(u_coord.equal_crs(centr.crs, DEF_CRS)) - self.assertEqual(centr.size, width * height) - np.testing.assert_allclose([5.0, 5.2, 5.0], centr.lon[[0, 1, width]], atol=0.1) - np.testing.assert_allclose([10.0, 10.0, 9.8], centr.lat[[0, 1, width]], atol=0.1) - - def test_from_raster(self): - """Test from_raster_file""" - width, height = 50, 60 - o_lat, o_lon = (10.42822096697894, -69.33714959699981) - res_lat, res_lon = (-0.009000000000000341, 0.009000000000000341) - - centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, width, height)) - self.assertTrue(u_coord.equal_crs(centr_ras.crs, DEF_CRS)) - self.assertEqual(centr_ras.size, width * height) - np.testing.assert_allclose( - [-69.333, -69.324, -69.333], centr_ras.lon[[0, 1, width]], atol=0.001, - ) - np.testing.assert_allclose( - [10.424, 10.424, 10.415], centr_ras.lat[[0, 1, width]], atol=0.001, - ) - - def test_ne_crs_geom_pass(self): - """Test _ne_crs_geom""" - centr = Centroids(lat=VEC_LAT, lon=VEC_LON, crs=ALT_CRS) - ne_geom = centr._ne_crs_geom() - self.assertTrue(u_coord.equal_crs(ne_geom.crs, u_coord.NE_CRS)) - np.testing.assert_allclose(ne_geom.geometry[:].x.values, 4.5, atol=0.1) - np.testing.assert_allclose(ne_geom.geometry[:].y.values, 0.0, atol=0.001) - - def test_region_id_pass(self): - """Test set_dist_coast""" - centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - centr_ras.set_region_id() - self.assertEqual(centr_ras.region_id.size, centr_ras.size) - self.assertTrue(np.array_equal(np.unique(centr_ras.region_id), np.array([862]))) - - def test_set_geometry_points_pass(self): - """Test set_geometry_points""" - centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - x_flat = np.arange(-69.3326495969998, -68.88264959699978, 0.009000000000000341) - y_flat = np.arange(10.423720966978939, 9.883720966978919, -0.009000000000000341) - x_grid, y_grid = np.meshgrid(x_flat, y_flat) - self.assertTrue(np.allclose(x_grid.flatten(), centr_ras.lon)) - self.assertTrue(np.allclose(y_grid.flatten(), centr_ras.lat)) - - def test_dist_coast_pass(self): - """Test set_region_id""" - centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - dist_coast = centr_ras.get_dist_coast() - self.assertLess(abs(dist_coast[0] - 117000), 1000) - self.assertLess(abs(dist_coast[-1] - 104000), 1000) - - def test_on_land(self): - """Test set_on_land""" - centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - centr_ras.set_on_land() - self.assertTrue(np.array_equal(centr_ras.on_land, np.ones(60 * 50, bool))) - - def test_area_pass(self): - """Test set_area""" - window_size = (0, 0, 2, 3) - centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(*window_size)) - area_pixel = centr_ras.get_area_pixel() - - # Result in the crs of the test file (ESPG:4326) - # This is a wrong result as it should be projected to CEA (for correct area) - res = 0.009000000000000341 - self.assertFalse( - np.allclose(area_pixel, np.ones(window_size[2] * window_size[3]) * res**2) - ) - - # Correct result in CEA results in unequal pixel area - test_area = np.array([ - 981010.32497514, 981010.3249724 , 981037.92674855, - 981037.92674582, 981065.50487659, 981065.50487385, - ]) - np.testing.assert_allclose(area_pixel, test_area) - - def test_size_pass(self): - """Test size property""" - centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - self.assertEqual(centr_ras.size, 50 * 60) - - def test_get_closest_point(self): - """Test get_closest_point""" - for y_sign in [1, -1]: - meta = { - 'width': 10, - 'height': 20, - 'transform': rasterio.Affine(0.5, 0, 0.1, 0, y_sign * 0.6, y_sign * (-0.3)), - 'crs': DEF_CRS, - } - centr_ras = Centroids.from_meta(meta=meta) - - test_data = np.array([ - [0.4, 0.1, 0.35, 0.0, 0], - [-0.1, 0.2, 0.35, 0.0, 0], - [2.2, 0.1, 2.35, 0.0, 4], - [1.4, 2.5, 1.35, 2.4, 42], - [5.5, -0.1, 4.85, 0.0, 9], - ]) - test_data[:,[1,3]] *= y_sign - for x_in, y_in, x_out, y_out, idx_out in test_data: - x, y, idx = centr_ras.get_closest_point(x_in, y_in) - self.assertEqual(x, x_out) - self.assertEqual(y, y_out) - self.assertEqual(idx, idx_out) - self.assertEqual(centr_ras.lon[idx], x) - self.assertEqual(centr_ras.lat[idx], y) - - centr_ras = Centroids(lat=np.array([0, 0.2, 0.7]), lon=np.array([-0.4, 0.2, 1.1])) - x, y, idx = centr_ras.get_closest_point(0.1, 0.0) - self.assertEqual(x, 0.2) - self.assertEqual(y, 0.2) - self.assertEqual(idx, 1) - - def test_from_meta(self): - """Test from_meta""" - meta_ref = { - 'width': 10, - 'height': 8, - 'transform': rasterio.Affine( - 0.6, 0, -0.1, - 0, -0.6, 0.3, - ), - 'crs': DEF_CRS, - } - - lon_ref = np.array([0.2, 0.8, 1.4, 2.0, 2.6, 3.2, 3.8, 4.4, 5.0, 5.6]) - lat_ref = np.array([0.0, -0.6, -1.2, -1.8, -2.4, -3.0, -3.6, -4.2]) - lon_ref, lat_ref = [ar.ravel() for ar in np.meshgrid(lon_ref, lat_ref)] - - centr = Centroids.from_meta(meta_ref) - meta = centr.get_meta() - self.assertTrue(u_coord.equal_crs(meta_ref["crs"], meta["crs"])) - self.assertEqual(meta_ref["width"], meta["width"]) - self.assertEqual(meta_ref["height"], meta["height"]) - np.testing.assert_allclose(meta_ref["transform"], meta["transform"]) - - centr = Centroids.from_meta( - Centroids(lat=lat_ref, lon=lon_ref).get_meta() - ) - np.testing.assert_allclose(lat_ref, centr.lat) - np.testing.assert_allclose(lon_ref, centr.lon) - - # `get_meta` enforces same resolution in x and y, and y-coordinates are decreasing. - # For other cases, `from_meta` needs to be checked manually. - meta_ref = { - 'width': 4, - 'height': 5, - 'transform': rasterio.Affine( - 0.5, 0, 0.2, - 0, 0.6, -0.7, - ), - 'crs': DEF_CRS, - } - lon_ref = np.array([0.45, 0.95, 1.45, 1.95]) - lat_ref = np.array([-0.4, 0.2, 0.8, 1.4, 2.0]) - lon_ref, lat_ref = [ar.ravel() for ar in np.meshgrid(lon_ref, lat_ref)] - - centr = Centroids.from_meta(meta_ref) - np.testing.assert_allclose(lat_ref, centr.lat) - np.testing.assert_allclose(lon_ref, centr.lon) - - def test_equal_pass(self): - """Test equal""" - centr_ras = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(0, 0, 50, 60)) - centr_bis = Centroids.from_raster_file(HAZ_DEMO_FL, window=Window(51, 61, 10, 10)) - self.assertFalse(centr_ras == centr_bis) - self.assertTrue(centr_ras == centr_ras) - self.assertTrue(centr_bis == centr_bis) - - -class TestCentroids(unittest.TestCase): - """Test Centroids class""" - - def test_centroids_check_pass(self): - """Test vector data in Centroids""" - centr = Centroids(lat=VEC_LAT, lon=VEC_LON, crs=ALT_CRS) - - self.assertTrue(u_coord.equal_crs(centr.crs, CRS.from_user_input(ALT_CRS))) - self.assertEqual( - list(centr.total_bounds), - [VEC_LON.min(), VEC_LAT.min(), VEC_LON.max(), VEC_LAT.max()], - ) - - self.assertIsInstance(centr.lat, np.ndarray) - self.assertIsInstance(centr.lon, np.ndarray) - self.assertIsInstance(centr.coord, np.ndarray) - self.assertTrue(np.array_equal(centr.lat, VEC_LAT)) - self.assertTrue(np.array_equal(centr.lon, VEC_LON)) - self.assertTrue(np.array_equal(centr.coord, np.array([VEC_LAT, VEC_LON]).transpose())) - self.assertEqual(centr.size, VEC_LON.size) - - -class TestReader(unittest.TestCase): - """Test Centroids setter vector and raster methods""" - def setUp(self): - self.centr = Centroids(lat=VEC_LAT, lon=VEC_LON, crs=TEST_CRS) - - def test_from_vector_file(self): - """Test from_vector_file and values_from_vector_files""" - shp_file = shapereader.natural_earth(resolution='110m', category='cultural', - name='populated_places_simple') - - centr = Centroids.from_vector_file(shp_file, dst_crs=DEF_CRS) - self.assertTrue(u_coord.equal_crs(centr.crs, DEF_CRS)) - self.assertAlmostEqual(centr.lon[0], 12.453386544971766) - self.assertAlmostEqual(centr.lon[-1], 114.18306345846304) - self.assertAlmostEqual(centr.lat[0], 41.903282179960115) - self.assertAlmostEqual(centr.lat[-1], 22.30692675357551) - - centr = Centroids.from_vector_file(shp_file, dst_crs=ALT_CRS) - self.assertTrue(u_coord.equal_crs(centr.crs, ALT_CRS)) - - def test_write_read_h5(self): - """Write and read hdf5 format""" - file_name = str(DATA_DIR.joinpath('test_centr.h5')) - self.centr.write_hdf5(file_name) - centr_read = Centroids.from_hdf5(file_name) - self.assertEqual(self.centr, centr_read) - - -class TestCentroidsFuncs(unittest.TestCase): - """Test Centroids methods""" - def test_select_pass(self): - """Test Centroids.select method""" - region_id = np.zeros(VEC_LAT.size) - region_id[[2, 4]] = 10 - centr = Centroids(lat=VEC_LAT, lon=VEC_LON, region_id=region_id) - - fil_centr = centr.select(reg_id=10) - self.assertEqual(fil_centr.size, 2) - self.assertEqual(fil_centr.lat[0], VEC_LAT[2]) - self.assertEqual(fil_centr.lat[1], VEC_LAT[4]) - self.assertEqual(fil_centr.lon[0], VEC_LON[2]) - self.assertEqual(fil_centr.lon[1], VEC_LON[4]) - self.assertTrue(np.array_equal(fil_centr.region_id, np.ones(2) * 10)) - - def test_select_extent_pass(self): - """Test select extent""" - centr = Centroids( - lat=np.array([-5, -3, 0, 3, 5]), - lon=np.array([-180, -175, -170, 170, 175]), - region_id=np.zeros(5), - ) - ext_centr = centr.select(extent=[-175, -170, -5, 5]) - np.testing.assert_array_equal(ext_centr.lon, np.array([-175, -170])) - np.testing.assert_array_equal(ext_centr.lat, np.array([-3, 0])) - - # Cross antimeridian, version 1 - ext_centr = centr.select(extent=[170, -175, -5, 5]) - np.testing.assert_array_equal(ext_centr.lon, np.array([-180, -175, 170, 175])) - np.testing.assert_array_equal(ext_centr.lat, np.array([-5, -3, 3, 5])) - - # Cross antimeridian, version 2 - ext_centr = centr.select(extent=[170, 185, -5, 5]) - np.testing.assert_array_equal(ext_centr.lon, np.array([-180, -175, 170, 175])) - np.testing.assert_array_equal(ext_centr.lat, np.array([-5, -3, 3, 5])) - -# Execute Tests -if __name__ == "__main__": - TESTS = unittest.TestLoader().loadTestsFromTestCase(TestRaster) - TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestVector)) - TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestCentroids)) - TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestReader)) - TESTS.addTests(unittest.TestLoader().loadTestsFromTestCase(TestCentroidsFuncs)) - unittest.TextTestRunner(verbosity=2).run(TESTS) From 5fba7f6ab12008615c9b9de48160dcd728decf8f Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 21 Feb 2024 14:10:11 +0100 Subject: [PATCH 186/192] trop_cyclone.TropCyclone.from_tracks: fix dist_coast type --- climada/hazard/trop_cyclone.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/climada/hazard/trop_cyclone.py b/climada/hazard/trop_cyclone.py index 02637d4c5f..686a88b214 100644 --- a/climada/hazard/trop_cyclone.py +++ b/climada/hazard/trop_cyclone.py @@ -275,7 +275,7 @@ def from_tracks( if 'dist_coast' not in centroids.gdf.columns: dist_coast = centroids.get_dist_coast() else: - dist_coast = centroids.gdf.dist_coast + dist_coast = centroids.gdf.dist_coast.values [idx_centr_filter] = ( (dist_coast <= max_dist_inland_km * 1000) & (np.abs(centroids.lat) <= max_latitude) From 62f26370f7809169ac479054ed192113ca27f2bf Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Fri, 23 Feb 2024 14:11:52 +0100 Subject: [PATCH 187/192] climada.hazard.Centroids: raise exception in deprecated methods that really _are_ failing now --- climada/hazard/base.py | 2 +- climada/hazard/centroids/centr.py | 12 +++++----- .../petals_regression_test/Jenkinsfile | 15 +----------- .../petals_regression_test/run_integ_test.sh | 24 +++++++++++++++++++ 4 files changed, 32 insertions(+), 21 deletions(-) create mode 100644 script/jenkins/petals_regression_test/run_integ_test.sh diff --git a/climada/hazard/base.py b/climada/hazard/base.py index b4060573c1..908e6d01f1 100644 --- a/climada/hazard/base.py +++ b/climada/hazard/base.py @@ -311,7 +311,7 @@ def from_raster(cls, files_intensity, files_fraction=None, attrs=None, reproject to given crs transform : rasterio.Affine affine transformation to apply - wdith : float, optional + width : float, optional number of lons for transform height : float, optional number of lats for transform diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 824829b04a..9cc97f78ca 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -1034,16 +1034,16 @@ def _ne_crs_geom(self): ## @classmethod - @deprecated(details="Reading Centroids data from matlab files is not supported anymore." - " You are suggested to use an old version of climada (<=4.*) and convert the file to hdf5 format.") + @deprecated(details="Reading Centroids data from matlab files is not supported anymore.") def from_mat(cls, file_name, var_names=None): - pass + raise NotImplementedError("You are suggested to use an old version of climada (<=4.*) and" + " convert the file to hdf5 format.") @staticmethod - @deprecated(details="Centroids as raster data is not supported in the current version of climada." - " You are suggested to downgrade to an older version (<=4.*) or turn the grid into a ``GeoDataFrame``") + @deprecated(details="Centroids as raster data is not supported in the current version of" + " climada.") def from_base_grid(land=False, res_as=360, base_file=None): - pass + raise NotImplementedError() @classmethod @deprecated(details="This method will be removed in a future version." diff --git a/script/jenkins/petals_regression_test/Jenkinsfile b/script/jenkins/petals_regression_test/Jenkinsfile index 56a8b0241a..433771e3ab 100644 --- a/script/jenkins/petals_regression_test/Jenkinsfile +++ b/script/jenkins/petals_regression_test/Jenkinsfile @@ -4,20 +4,7 @@ pipeline { stages { stage('integ_test') { steps { - sh '''#!/bin/bash - export PATH=$PATH:$CONDAPATH - mamba env update -n climada_env -f ~/jobs/petals_install_env/workspace/requirements/env_climada.yml - - source activate climada_env - pip install -e ~/jobs/petals_install_env/workspace/ - - cp ~/jobs/petals_install_env/workspace/climada.conf climada.conf - python script/jenkins/set_config.py test_directory ~/jobs/petals_install_env/workspace/climada_petals - - PYTHONPATH=.:$PYTHONPATH pytest --junitxml=tests_xml/tests.xml ~/jobs/petals_install_env/workspace/climada_petals - - git checkout climada.conf - ''' + sh 'bash script/jenkins/petals_regression_test/run_integ_test.sh' } } } diff --git a/script/jenkins/petals_regression_test/run_integ_test.sh b/script/jenkins/petals_regression_test/run_integ_test.sh new file mode 100644 index 0000000000..9f9844bf60 --- /dev/null +++ b/script/jenkins/petals_regression_test/run_integ_test.sh @@ -0,0 +1,24 @@ +#!/bin/bash +export PATH=$PATH:$CONDAPATH +mamba env update -n climada_env -f ~/jobs/petals_install_env/workspace/requirements/env_climada.yml + +source activate climada_env + +REGTESTENV=~/jobs/petals_compatibility/petals_env +BRANCH=`git name-rev --name-only HEAD | cut -f 3- -d /` +PETALS_DIR=`test -e $REGTESTENV/$BRANCH && cat $REGTESTENV/$BRANCH || echo ~/jobs/petals_branches/branches/develop/workspace` + +python -m venv --system-site-packages tvenv +source tvenv/bin/activate + +pip install -e $PETALS_DIR + +cp $PETALS_DIR/climada.conf climada.conf +python script/jenkins/set_config.py test_directory $PETALS_DIR/climada_petals + +PYTHONPATH=.:$PYTHONPATH pytest --junitxml=tests_xml/tests.xml $PETALS_DIR/climada_petals + +git checkout climada.conf + +deactivate +#rm -r tvenv From cd960c29455801fb1bdbe54ae92cc231e9bbdbe3 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Mon, 26 Feb 2024 10:23:59 +0100 Subject: [PATCH 188/192] changelog: list added Centroids methods --- CHANGELOG.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e9d926778a..e2ffc63302 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,14 +10,24 @@ Code freeze date: YYYY-MM-DD ### Dependency Changes -### Added - ### Changed - Centroids complete overhaul. Most function should be backward compatible. Internal data is stored in a geodataframe attribute. Raster are now stored as points, and the meta attribute is removed. Several methds were deprecated or removed. [#787](https://github.com/CLIMADA-project/climada_python/pull/787) ### Fixed +### Added + +- climada.hazard.centroids.centr.Centroids.get_area_pixel +- climada.hazard.centroids.centr.Centroids.get_dist_coast +- climada.hazard.centroids.centr.Centroids.get_elevation +- climada.hazard.centroids.centr.Centroids.get_meta +- climada.hazard.centroids.centr.Centroids.get_pixel_shapes +- climada.hazard.centroids.centr.Centroids.to_crs +- climada.hazard.centroids.centr.Centroids.to_default_crs +- climada.hazard.centroids.centr.Centroids.write_csv +- climada.hazard.centroids.centr.Centroids.write_excel + ### Deprecated - climada.hazard.centroids.centr.Centroids.from_mat From 05676cbc226875c9afd32d8182a4cd25da733062 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Thu, 14 Mar 2024 09:39:05 +0100 Subject: [PATCH 189/192] hazard.centr: depreecated methods: pydoc string instaed of pass --- climada/hazard/centroids/centr.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 9cc97f78ca..69c348c995 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -1036,6 +1036,7 @@ def _ne_crs_geom(self): @classmethod @deprecated(details="Reading Centroids data from matlab files is not supported anymore.") def from_mat(cls, file_name, var_names=None): + """deprecated, raises NotImplementedError""" raise NotImplementedError("You are suggested to use an old version of climada (<=4.*) and" " convert the file to hdf5 format.") @@ -1043,42 +1044,46 @@ def from_mat(cls, file_name, var_names=None): @deprecated(details="Centroids as raster data is not supported in the current version of" " climada.") def from_base_grid(land=False, res_as=360, base_file=None): + """deprecated, raises NotImplementedError""" raise NotImplementedError() @classmethod @deprecated(details="This method will be removed in a future version." " Simply use the constructor instead.") def from_lat_lon(cls, lat, lon, crs="EPSG:4326"): + """deprecated, use the constructor instead""" return cls(lat=lat, lon=lon, crs=crs) @deprecated(details="This method is futile and will be removed in a future version." " `Centroids.get_area_pixel` can be run without initialization.") def set_area_pixel(self, min_resol=1e-08, scheduler=None): - pass + """deprecated, obsolete""" @deprecated(details="This method is futile and will be removed in a future version." " `Centroids.get_area_pixel` can be run without initialization.") def set_area_approx(self, min_resol=1e-08): - pass + """deprecated, obsolete""" @deprecated(details="This method is futile and will be removed in a future version." " `Centroids.get_dist_coast` can be run without initialization.") def set_dist_coast(self, signed=False, precomputed=False, scheduler=None): - pass + """deprecated, obsolete""" @deprecated(details="This method has no effect and will be removed in a future version." " In the current version of climada the geometry points of a `Centroids` object" " cannot be removed as they are the backbone of the Centroids' GeoDataFrame.") def empty_geometry_points(self): - pass + """"deprecated, has no effect, which may be unexpected: no geometry points will be removed, + the centroids' GeoDataFrame is built on them! + """ @deprecated(details="This method has no effect and will be removed in a future version.") def set_meta_to_lat_lon(self): - pass + """deprecated, has no effect""" @deprecated(details="This method has no effect and will be removed in a future version.") def set_lat_lon_to_meta(self, min_resol=1e-08): - pass + """deprecated, has no effect""" def _meta_to_lat_lon(meta): From d6d2859096fc3499c97e14d36fff4c93ada94755 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Thu, 14 Mar 2024 11:23:48 +0100 Subject: [PATCH 190/192] fixing geodataframe issues --- climada/entity/exposures/test/test_base.py | 2 +- climada/util/coordinates.py | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/climada/entity/exposures/test/test_base.py b/climada/entity/exposures/test/test_base.py index 4a1146e26d..9e657a346e 100644 --- a/climada/entity/exposures/test/test_base.py +++ b/climada/entity/exposures/test/test_base.py @@ -280,7 +280,7 @@ def test_error_geometry_fail(self): """Wrong exposures definition""" expo = good_exposures() expo.set_geometry_points() - expo.gdf.latitude.values[0] = 5 + expo.gdf.loc[0, 'latitude'] = 5 with self.assertRaises(ValueError): expo.check() diff --git a/climada/util/coordinates.py b/climada/util/coordinates.py index 0659cb6252..451623880a 100644 --- a/climada/util/coordinates.py +++ b/climada/util/coordinates.py @@ -2743,18 +2743,20 @@ def apply_point(df_exp): return df_exp.apply(lambda row: Point(row.longitude, row.latitude), axis=1) ddata = dd.from_pandas(df_val, npartitions=cpu_count()) - df_val['geometry'] = ddata.map_partitions( + df_val['_-geometry-prov'] = ddata.map_partitions( apply_point, meta=('geometry', gpd.array.GeometryDtype) ).compute(scheduler=scheduler) + # single process else: - df_val['geometry'] = gpd.GeoSeries( - gpd.points_from_xy(df_val.longitude, df_val.latitude), index=df_val.index, crs=crs) + df_val['_-geometry-prov'] = gpd.GeoSeries( + gpd.points_from_xy(df_val.longitude, df_val.latitude), + index=df_val.index) - # set crs - if crs: - df_val.set_crs(crs, inplace=True) + # A 'geometry' column must not be created in a GeoDataFrame except through the constructor + # or with set_geometry. That's why we first made a temporary columns with a weird name + df_val.set_geometry('_-geometry-prov', inplace=True, drop=True, crs=crs) def fao_code_def(): From ab03d2a481f426f52af9e2a44b8d8b1f5f79d6c8 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Thu, 14 Mar 2024 16:18:50 +0100 Subject: [PATCH 191/192] Revert "fixing geodataframe issues" This reverts commit d6d2859096fc3499c97e14d36fff4c93ada94755. --- climada/entity/exposures/test/test_base.py | 2 +- climada/util/coordinates.py | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/climada/entity/exposures/test/test_base.py b/climada/entity/exposures/test/test_base.py index 9e657a346e..4a1146e26d 100644 --- a/climada/entity/exposures/test/test_base.py +++ b/climada/entity/exposures/test/test_base.py @@ -280,7 +280,7 @@ def test_error_geometry_fail(self): """Wrong exposures definition""" expo = good_exposures() expo.set_geometry_points() - expo.gdf.loc[0, 'latitude'] = 5 + expo.gdf.latitude.values[0] = 5 with self.assertRaises(ValueError): expo.check() diff --git a/climada/util/coordinates.py b/climada/util/coordinates.py index 0978bd19db..8b9113c5bf 100644 --- a/climada/util/coordinates.py +++ b/climada/util/coordinates.py @@ -2744,20 +2744,18 @@ def apply_point(df_exp): return df_exp.apply(lambda row: Point(row.longitude, row.latitude), axis=1) ddata = dd.from_pandas(df_val, npartitions=cpu_count()) - df_val['_-geometry-prov'] = ddata.map_partitions( + df_val['geometry'] = ddata.map_partitions( apply_point, meta=('geometry', gpd.array.GeometryDtype) ).compute(scheduler=scheduler) - # single process else: - df_val['_-geometry-prov'] = gpd.GeoSeries( - gpd.points_from_xy(df_val.longitude, df_val.latitude), - index=df_val.index) + df_val['geometry'] = gpd.GeoSeries( + gpd.points_from_xy(df_val.longitude, df_val.latitude), index=df_val.index, crs=crs) - # A 'geometry' column must not be created in a GeoDataFrame except through the constructor - # or with set_geometry. That's why we first made a temporary columns with a weird name - df_val.set_geometry('_-geometry-prov', inplace=True, drop=True, crs=crs) + # set crs + if crs: + df_val.set_crs(crs, inplace=True) def fao_code_def(): From abc78ab0a19a0cc28b56f57f9660d43b8eda8a78 Mon Sep 17 00:00:00 2001 From: emanuel-schmid Date: Wed, 20 Mar 2024 13:13:43 +0100 Subject: [PATCH 192/192] centroids: deprecation warnings improved --- CHANGELOG.md | 4 ++-- climada/hazard/centroids/centr.py | 15 +++++++++------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e2ffc63302..92086bdf5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,8 +30,6 @@ Code freeze date: YYYY-MM-DD ### Deprecated -- climada.hazard.centroids.centr.Centroids.from_mat -- climada.hazard.centroids.centr.Centroids.from_base_grid - climada.hazard.centroids.centr.Centroids.from_lat_lon - climada.hazard.centroids.centr.Centroids.def set_area_pixel - climada.hazard.centroids.centr.Centroids.def set_area_approx @@ -52,6 +50,8 @@ Code freeze date: YYYY-MM-DD - climada.hazard.centroids.centr.Centroids.check - climada.hazard.centroids.centr.Centroids.clear - climada.hazard.centroids.centr.Centroids.equal +- climada.hazard.centroids.centr.Centroids.from_mat +- climada.hazard.centroids.centr.Centroids.from_base_grid - climada.hazard.centroids.centr.Centroids.read_excel - climada.hazard.centroids.centr.Centroids.read_hdf5 - climada.hazard.centroids.centr.Centroids.read_mat diff --git a/climada/hazard/centroids/centr.py b/climada/hazard/centroids/centr.py index 69c348c995..89ec5f0a34 100644 --- a/climada/hazard/centroids/centr.py +++ b/climada/hazard/centroids/centr.py @@ -1034,18 +1034,21 @@ def _ne_crs_geom(self): ## @classmethod - @deprecated(details="Reading Centroids data from matlab files is not supported anymore.") + @deprecated(details="Reading Centroids data from matlab files is not supported anymore." + "This method has been removed with climada 5.0") def from_mat(cls, file_name, var_names=None): - """deprecated, raises NotImplementedError""" + """Reading Centroids data from matlab files is not supported anymore. + This method has been removed with climada 5.0""" raise NotImplementedError("You are suggested to use an old version of climada (<=4.*) and" " convert the file to hdf5 format.") @staticmethod - @deprecated(details="Centroids as raster data is not supported in the current version of" - " climada.") + @deprecated(details="This method has been removed with climada 5.0") def from_base_grid(land=False, res_as=360, base_file=None): - """deprecated, raises NotImplementedError""" - raise NotImplementedError() + """This method has been removed with climada 5.0""" + raise NotImplementedError("Create the Centroids from a custom base file or from Natural" + " Earth (files are available in Climada, look up ``climada.util" + ".constants.NATEARTH_CENTROIDS`` for their location)") @classmethod @deprecated(details="This method will be removed in a future version."

J(&di4X7hFO?MAIvgV2PTsVa>0hrKiFc?a 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 %}g)4{(BO* z6z(c;_K_frKl^A+Wh??kuP7!S&L>JE=;vW?-p*$_<+sh2TYJQKyh6|OfI!;B z-m@-ZAmsT-#(fX2-Y5Ita8);egm22VpUJeLU?3Yy1z4c5wf7av{Jp--rjNe=dlS(4 zAiY$`Zn~YFFO3h+-cfl_3d6qEuZNQ)<)FO5NK*6&25dVle>EIbf%)nj&e{~i_eumx zj-2^wYOeyRChNoNZtFr)c(lH=wjqSHtDWI$GMZJ7*=|$$1Pd!wJ?(2atKNL=M*sV360o{xWxmB#1PZ+aV{bZ0 z07aII?%puM&;Mn%Nj#&cF9miU!#zAF)j;ZXfrN++z~>gH6G2M4FkgCg!Q&;H?#qDE z!>@JiO#mz0GX3uO7)_1)@qXKEdSbe?3DGuu;4-w)*%%`RRtJ|bcQI;D`E8TiQub9G zQHLg#1F4>3YVeweI?kj_bKdsN7BBk#uT6mCsXudZnGk&GwBJpBkMMJfZ5o$_w=s&r zW7X|sE~gZM(=pY%QCQxT-opKf#3vmHVE(Ax zYp(;OFKJ^=+|!#?Z@zY;{~-eZ69G@2F*q$C1qs{S z{-=BY@tbXHuGN}ALD+D}mdz$k5xPC3lGbm~g|APQz2Y?Vf$CiEhQu@jFf;0@m3(S2 ztDcWSXP)YAUKlSm`%v1C0k_=hTncA>u+QGVwg0{$&?M}oin?k5q^S<86*n2fJz3UP zhFxZ}>ixqu^!fV|*xgmQ_1gns7~Ob~sjf!~hGct-V$Ksj-&yi$(sdn$Bs{oQp?54u z4Jfs@9N8SH17hc*#r2QyK4m zo_)Sp{^|H+f-?u$4y1oDjTMCJ!nsM!44R_?0Ky<^}J%=@zA(NE*+@d#((kW7#2=c=mn)G%szkR7wOb|=E+L% zWoPx)aZv>2*9ODm40`bSM+liBnKI^l$0)wim<( zj|)J;&tay3SS4^?QFFx59^eHn{pTZTiXgovd0FIU!QbwinJ#pV2>g`^_&U&JJUGb& z4b@F`4@_C%ubfttHbejsKm-s0L;w*$1P}p401-e05CKF05kLeG0Ym^1Km`6w1hN$E zBoe+YgWXRK8b0V+0mRz&sJS)T?-eCXp7XISUMmC}YRioG8444vN30#_K12W!Km-th ze<$#^{`vM$Uk=!D*`~Vc5I_9;uk*i>RM_2f@-hh=#%|OhnqQVi`p5)@Vf3X@Y>%htW_ZZ|CctPxDf$F01-e05CKF05kLeG0Ym^1_$w1=Uv}i4eZ+ED ztTc`dMA51RN}q9*>F{FHl`(7cS3vDS~+!oI8gPz!8c9`ICc#RVD&j6uY@JF zbAXI!U4`C~&co3nu!75>YTY|!XzF?9keso2`9*?0e<*>aFDz8f`U%0hhgQBROZee| zW=E;`SvsQ2M?VjH^L9RU7&sjgQc0@@ZrkDxR+Mu=Cwq`;Lo6l1y7`qudAF%?=Prc? zI4xTvJXP*~T?`4LuV4YnPi;YY<)j4b;vxUs{QwgxBtE6o%{>W!4mF#VcYj9bnJ@}Nh3Tlw5~2A& z_nl2||3Nz@_9i(95V*o0`a%Jo_w8RD`feG__W!xQPZ?ivoI`OXJPNeWSZyr_w>Noj z7i{1J*;f0534QcL>n1e58#~v<3v^GYw#A=RgwBB%efzUG!0-JAE7J}NqIKs=5BmLo zm%w>7?Uo?}VHi-%_|)7l2$R`);|`aX5S^dh&3UdVBWhFqhiiS{*dtLsU@#xi7>}bS zSXW=HesrCsAc#~bFNtdugkj@z$=C*Epmma$TyDVzMFKtY#@ERR)+PDZCn3=b4#ta4 z^&crq;+NDuS$O|pC$j6=ZF5=hP1`T6Mk)xs6ld>8aiRVL&;36ooXp+6S+Z9UIvp9P zhd~^oMzZ#GXR`va_T&94R)b;wfptotnX`hS`mH$hZsngioK5&Rpr(J}jOpC(yI=b%d)QxSof!Qt<8ABZn^TRvYK+_aYu?n;d2NS(w$ywvkMt4TQ^ z-u&e`rt5^)XFRv8n)awomDBzpHp_`@H|~9rpY<{F^(^E>^Tq3<@IRA)oXDVFm$Vpc z;%Yu2B`OM@r+(2aAtBx$!hEpf5V@)bo;-)dj;53A{m?fYT^cn;wj6v8d~)BVQRWz~Wi77MR$czqQ9H3&F)f4AGvECN~MJFnB*FTC9h@%vEN zR-^(AG>nyw(wwki?6_|Y74gqKjw?$%jt~)m+g0&SB?-zf(Y(A@P>ls{j4P{9#1cO) zU~PDOPNQtPKT5OQ62z^rc=LjPjnaWqfi2=LC%r5TUAYb`PYQ}a<5;<^c_;Dp1V7&Y z**Ow_R$diU*blhxH57&{vkU`w2EzTeyc{VPk#m9&!>01=&L@6Y#bhclJgNwN3=+zR z4sgJ!y*E3l*ohyPKY_H6r$vHOejA79E7#Fx7U(VN{rV|^`1*%R79xNMAOeU0B7g`W z0*C-2fCwN0hyWsh2p|H803v`0AOeU0B7g`W0*C-2fCwN0hyWsh2p|H803v`0AOeU0 zB7g`W0*C-2fCwN0hyWsh2p|H803v`0AOeU0B7g`W0*C-2fCwN0hyWsh2p|H803v`0 zAOeU0B7g`W0*C-2fCwN0hyWsh2p|H803v`0AOeU0B7g`W0*C-2fCwN0h`@hOVE;u~ z^4+ZaAEdeip@8GhT-yO+hld&zrTC>TemK+)Dx?ffTVMH z$R$%BXeC}&hKbsMb*%rozGQ3oaOP*%t|~JiPgAblu-|xAy=%RhH7qi!us6D=lq=a3 z?&(uz-7 z(I^&zJhI97PVf<}_jrt)Q<_p3UZ(4&)L3Z3;azJom7R#!!*iT(D9Sg%PxW0I^xvMb zO>dVaIvsbd2g(QRltKNgt<>i=SO{kipuME3OR%0^eu%Swoi_NvveC7-Ou_iIX=FV5}rTj zhe&$;S@qoB-`r=vS`nTdttxp=Zvv4#@85Dzy8vn0D!(NqP7u))sHmJ|44b)l2Qj(o zpb9?Uwpc36swZl&y3*&2HYf!}NIP$^2bcOciIsIWFnT95`D>dFR5u*nv@3u1`cE?B z^Q_;}!$JsvEY6mbZkHK^R?-ZQHQ?GUB0uFGS+9E{v|;J}pZAL0w29W?yu*BbeJdBx zRk}s3|Dq0kmmKIWMk*4m_e%eJ3Qr~*+&b(#$gZdaZ+Bzzo$tyJtw$uDKkaRw8*fYO zrd9;8eG;(giYn1u$RmApu%Hg^c_PB!K_95M_3UuMv>UXT1okt(pyruM3F3c!00#^Fqp+1vY>2^Ap6gy-y0 zhDm{nZ(P9ug3`7R3Uke2s6F6$^(Sjs6E9J4n$dbrzLFBR_#D-6{@s}$%hDQ6;CaYh zo9pe<{So%%E)E?&OJJZI9c8W4n^kYCL8BZCGX_{p3uxpYn}Dm6@-=e!_o0uyPx5kiH;`xA;)TfI()Xai5lNR*0+ z=B!+1=G)BcYc1F5?vZdq!Rr7p=vITGK9LSuPvXnfO#PYH$AuYdw71B^w;1CessgHT z_5H7_VMeN8R_ac<=h6KAV)CFm|DA10urA}3mij||s7Oc|I^bdfD!bxp#7Rtmndf+m z=H9u>^IqGKo#!%C;Oh?hV=S5`pzWB+YxB?+*4^!j{Ay(mo<$Fyx*gC1KVzu}biTSU zGd=igg)Y^1VbrSdtiH;{V$1@T?6Ip__s$W*Rd(fV(lmoh#TMOz45}cPcsz5RoE*G5 zmEjddCO4~|eob*KL0m69;(fHAKo5(c)^mdSOhm- zBYn+yC8W*{EIDc_vfkK0=p&Y0-_i*m&uCG3nSQj!fRUHvaccu>IJ`lc0S?W-9^mc5 zhpd&WcdQMRf?v1ZaPRqL1a@uNA&yUoFMs3TVojs%gg}tHQZ2b(2YP=!OxTws4fyy7 z4V^d27#e-!gMh5E7)45LNIRw2opqS_@zz}NGxsO#s@$yz=ap%wy;o_1-@E$JM~qlF zETeJd5_bOeJn$lA$B&1qu)41=(Q%nEq$E)}mBm`Y`DUf2z*{)Kg}+9IB7(O67?f4Fst6kclrwj7TSQ# zF_h{Xv!ALT6_>HlqrBf8mNb{#h2dj%CUuxBi}QH+S!MktkAx@5ODC zTiLAPzs~Dh1s)QtS9q@*0C3(EtUf#c^7vHIgVBr$fP2{QpW~k`+!gKDiwtK?$6Wb0 zvOTzqn^Xtd9j<BhOwoM70itd4KY5eCXx=&2m_ zVa1!m!7|gi$B8PZZ+VllDM8k5wmxfLTTpG4)0K;JhL+kT#-|MC?ssN#NXekr*ZQdn z;h&FpcwMrEhmEH=xV{pfKaR)ajx;wZL9Ia3&;9EyfSx2lx50k?{p(EomeZ>Rv_Fx< zwW|y(=xq#PZ?>wwl0NbNOU}T=(mDYNFg$fF$zn(cJ_-eJ?dK7jGyi7Vg}-+B!W$xI zCZ?89jW< z`&FQ%)GMbhPJn1Vk{O>DWmlw>j><#o{;GR#gs{+|HF={(-yD=T?e%RrWd|DCk@AaMRF zW5|R(SU=ZszVzM!M5=6;1=8t)jdg1PMTH{h+viMLADP`BBHuHJ@mAJ^r{zape6@Cj zM)kc>ON3qEu+sihYXaxC18)yL+*}qj*!jp5I495g-SKe(&6E8{E4U2i%?GcuyOeS1 zQ>+YF<*m^T#r3bWOgkJYS#$~3!RsA7c1KzAr!efN-4UHlX#i{GgU)6#s}rpkD(yQU z8^I54%kA#I^3?{19}_n&TN2+6P%4+x@D^~vgu!Olfnrr?sL*_Q|MKkPD15r+3QwF` z<$1kY0W`wPsT$W2Z{N&#Zs&@(^u1RBxeZt2-;$b5m1EA!&pg#C&4J^)Kez9GeW=`W z2b$<+FGu#WOb6{^@wOlrU}R$trFq2n!6vvr_+8s@4mUF z-c&hWxo4nLgv1o^zY`kf*PM8h?QRCwWu()`MdtPo=hA=l?&!N$rTSnHu}7`Dp7{O@ zACKTVrbO8f0OQRMpXTf(eEfpf!H4P{+h}?l)WB|+xWC$!x%++meY1t4OKyaUiD00G zeA_F94GY(k2<<$d=^_rF5+xIFr4v7YiMRL4+h&8DYdXL`B%Bqr(E(N_z3PYwvxZcG zJZYuP<>DRqE{&78WdHumt!{mQzB zadYR(bAO)Ff(a48+f`v>?iYSvf2thEZL?jwVu$Y3@A&`CH+(2+5fz7<2Y4DCsPgrM z8PPiU_;MV$7{&ClFwp&sg(uYnV$+At(o#zhts67R5@zkCIOR_jtSS_}uKoM-NPPTr zg=E%42h1LeP5D!2&&#(-auct&ultKoP!2!vMhR>bio$}R$}f4XWa9m^sJcF@)tA{o zF_lzKM@kX)Y|{P|TTlGB2+t#1O`vq-f;jYOca$UrPM1&o?2X)|R6VrD8>pJl6CFAw8&o!Yhg2C^$;r!oUdnXn~qts^!lNZm1@ylAn`S%Wk zN?Dd*^{RZCsjv;CoDck(s%8c2!YICXJ<pNzqTesWsbmBW5Fc!?XWWuEf)Kyx8LJ|5Po;MMYj5UFThz33b zePfU~+@fq#Y5=9*WJ&nr0o=-&NLVM8U@T!{b))O_dze4ZsOcva8$-jnp@u`8rl7>X z%&En~2-bBzYFMUd2wwzCH9mbcg6^%KI`Yaa0aF^+6x(M5!Ry5OifAl>_k(GP{3(DQ zXweeYocq1kucz7#j#9|O3)LpSckL>WVm-RvNW*Zd{@KMIC#%5iQ*q@=hTLxQ+1Jm^ zXcjB4VtaIZs1-foo~*eANY>k^R% z(Je)9 zg)W`hZ3&!;qrpelTZ38zm!Dv!CB$1LMP+K3!@-RE4+QCO@4aVVSXPZ|Kf~EbV?KSI zZkL^dN|dQYv0&`KI{qp4FU9B2;Lu?E-5t*vD_I$+3lCd9dTT6d=1Gq2AZQdft($AB_j`|~%q^``3YzPQ{| z>uIdOx>oTC`8eV0(=T~ERyK0Oz-|F4O^I>6srnmlBO5uMP5gV@Gwny$i$h@Cv7tij zgEUx%f3q&xEdwgSdD-a-3h?A28(mPEA}~i?D1C<8pJCW8zcL&v4`tY3t5?mEFk9@W zN(F8|Vljs0QLlCd`6k?cMntPnLx+wrkyQf zy5JI|)?Tjo`#J%0^*r?r7j$5EBgRmQO&cWQ+79p?!>wCotG_=mtO+V9m_2SuI^gq+ zP0c&p3M%CSDCtA&pgJj+^HZWZtcg?n61s%&^(L)ZHW!$-tHC~N)dC$ald1Z#gks~y z3?mcRu4?)Hc)DM2;RD-f(#+!C-RR`Hab&Veqlwm2AVuAJn!q*Gp$3f03YK|D%TZ450hkAO8 zH3ZXXJ*0CmgPk-r6qZM@aKWKt%|_$7+w;KWqK7|Blt8J(xMl@zJ*0@Jnv?XTI&5(Y z?v-`4fM(N-&J*Rfu&p~VMXOj36g+QVyk|6f|27-Nm`3WXaid0+{vx@;eog=2wg)2Tw{wf|rFX^PkAic*2NT5eh{Jq*0qbLF-B1$lU) zVIOw(q#Ov1oZIU9K?QDu@5)q;>2U&89p`5=K`S^av9a<+k2aWn*;7KBGXMG%aHTu$ zk+&l3)KvRY_l6q1Ulj0yW1; zw7@*D?xtD2<%0DHjsO4p|B0*{qq|6z!NvdFlP!mF>&;gm*}`QD@Zn`xoP@CsxRb^2 zT$ToK=ESoE>k}GqcPDj++duYuoaKYBANa8RYy8h8=d6KT@8js#21}^c6vw>=GkX zrT|wtpKE8~_B(pudioF-sVbaNWQ;zx+F;7h$hb>7s`S7L4nAF*IIsf?@c}!uT0^IG z@%pocvCkju2~@_7Z>~pJa9iQ($G`T0(Ps!hT{mHQn1N&YVJbMQ~iHoig?s2genxgJjU^O>f<v`7mHety?A{ssnG? z-t@YTX+z91-%ocW)nS+`a!=G%8T^r>cEjS28LrI+Td@oqgn9v?Ctt&>2B-mdfUFy z8c3cUk3OO~{hZ>+?S48vTsv>{t@R_fTzZ+ z2Q(<=p3j}hg>y8jJRH|<=ueoX?Tg0Elm2r*6C3ccl+I7XwO@>>-@2=P2>0_}`LNv# z&sKqFMWfeJI?aJ~@W?u&TgLEN%i9^d;`ed?OuJ^gzPLuv=Q3{pS$uyjr>l|C5~K%- zqJvFeljh%F;`PfL`%;Gv;>J-nx(5{Y7=iinTirA|Rxok!z2=n#>|24?pDPrqOgwRf zLIOhbc>8nLNWtOmb-kvFvQT+%$B^Rl+2>vGx<%~C=SL1|Kx%12mElK#tb&VQD?$wb zYf8VXp~@HpZh3LGlbe8iViC_(Cqod&mStCM0Vs%a=j=tJ1eBQ&x&-REAbdw5^i!0VH~MQ-u75Jqlo(4B4ytuAtb zr0b@~aU8C_dM9q-)=RsJH|^5+y?n-B{r=gyP#*Lv&Y%7er3ojCE*!ZSYzEr9jE2V< z>|oViqkB7hO@MsBrovZYS{I-Gxx(+ZiIh3_Rl(N6>&NvM##7G$Dks{{-b^NbKPqha zmEpFf>Ok9l`Cw9$DYUbcU$4G{YgZQdDR5lk?D9nmmZg2_<{luvzr>p%s~?@XcM=1_ zBpOdbiwN(}@j5fZz|sjTZ-vF{-)8Eg>%S%ejRX8Cof*XMJ28{W;X^#f`&i~~CuiP= zt`UL7AP|sL9Ooe|42z-l4~-W!;;X-A|K3j$t8Z+#9yjl#17CJ;cT0FZJ?}am2=t?n49?lR&?s-Oc-Z2!Fq8HXEMuN3{r@U%YvQ+2TRpBLe>& z0YO1Cfyb5t@ZbGL%y;t3l1jps{60=3M(ZEr5@aF=v zrNjS~-&4L8!rybBO;0Df=S|xxG>)E)5BmP!2`sHG8oMA({64n-u0}%QoM^S2VgdW9 z&(ynnHSDJ7739Cnz!%#1ec^gEJ8g0|$P@oQ!OZ+X*MBYo zqpXRS&)-|T^MbYM#|D;>E?#{z;4r~Gr`H4T0RMUu#)Y^0566w0IVKIjmm%0E68GNy zLUSYG*1ntDlL4Y)Yp(Lk&b?l9q46#D{e#>!v8A~4b~f;T{6w9DJ0~!HgHzEk;pexB z%WmFS)x-x)N?Sx@TQuP@*)g>ma~&8~WeZ(;kNEbym$g5NK};0{op_!5C-ouGd$o6t zBJuvo=w`!FomeGc`k?mD^VeTQZw|wn%Mx7h8zU7RE2-gFow?cDfOOr;FN^-aMu zzjB)kZe5))cbZqnMS1YmSe{u{J^$x-5(2wrjyzWbj+LY2fhKCZ#-e zt``1xLc@J62hP~y&b_=&8^u?S1u$#8P&ipfxP6e$z|G4mwIs|8nKv1goQ;S0ya7b|d#>&;^P`@-ezd4Ke=Yr{GD^sa3 zieOd}u;C%C5v2YfjoG}OwZX$`}jhhiCott<>wfvu}8bHYRjPwz2}ae3=q zf)H(*ORiO{0{^wn4gR&RfpEVxO}Y79IHw%EOuJlrV~Gx!H%9aSGFOA7fICaH+2{Wr zDk;T@LQ-8pprrpMpkAQ?B2J=|6j$}3Co<)Nhl?E0FJ1LPY?N)@{O)MQ?EEk$1Tv8( zO#ar)Pand0YGn*w9&k%!Akbzxn?_24t}IJXjS7e18Ue`e>sb#h=!;j8F+ z#c=Ap$UcSCyRun?@6WJ0{(8rNx)f*$YTC&3Y69zz>|>_e<>6$?yU6!s^Y^<%L;NnD z?-2y5$(QV$m4hG(KYC4d2MXptKFvxe4=8vb31xd_-`~Bi3xyOD z6IERrQ1DHq2R z1-r@$cNMv*bHj3PB*n@J$pO{96`x=A2tnWJp`S5<%jeXif2g(Z9jhS3k9?9^`WXu@ zRkm3_s{!tMpBax!7lxST2b+fam(8hzFK^H8J=$NxDgut#J*p$}x)64z=CPD8;pG9Z z7n69iOz(;ykiFJE)R(CPx5{0NC3uLhUwyS*2Y8kUL8zfnAv@@RgU)zvkfJ{HLK?04 zf%&&{c>D07a;hV{;tNgaHYR-{P-+It4>q#yk0!i+;q|uf+6t$nrpIr#hhy!uud0D_ zxTEwdQYmOzb|hI`LKgN=w(K0j?e~JeZ?;g;FS_Uw$iS1;46CY=aekDkVOigZIdqaF zUG3)4f#qM`8oN^Hz=ZtXr#k}Xf8JxG=bfNIFMc@ik}aM?MiqpU{c-1U8^D90*y5In zx$T;1uYzCEahG)hu)S(1dr(FLZkDlezUMT6`;BV+?Dd5E2d|ceF{`c=0MW9wy5r+& zAlOvyS#aL~C_`EH$r5pn-L5V1HzI`u!To#sR^DgoQ{(ltP|64!eZu`deEKJUeR82m zSD$K6i^>kh9d0Au-#D_Ij3n}h68JosV2k57gOW+Vw+0e~uY<+gN720Fa>io?u$%1V z?ol*`;^A2G)Wf)WnN_!{>m~`$XK8j#266=%;Mt>kDahGis=eRUwA=VDclO_q0);k)O8)06z;1Ju!OM++=b#r&;-YZ< z1-@RCbztInrHP;a7D>F$iYZW-(sTcQAPlP{A2$c&6LgP%UEiCONn-&$LP7E~z_Nu<&^U4;$RCBImeHr2Y zef8kS*qC@3kUkQVr4fRK-MM$PQ%)Me(g%-fPN*3Z%@bPaIV?4#VZc_s*uPB?UcdXi z!$xoZ?Ur$m-+uRFG9a$MPj-npZat^)sLSJ1^S^&){;OSNA9V_mgO6ABxn8syLLzt4 zxkz#1+r6bLyuL-c%R*4L#{T$|22in_+|?^Y7YeMxBFF9$-XArK9^0LfED7#KMS{C= z<&RURhRN)T5g0vstG23-i1}WIGbTQ!VqkZiVRQ_)ujz}{w-`2XC zw&+0np&-%G?IsWwLY{hR9r5!ySZlq_-rjOxvCsKq!y^?qp?lTeZ8`Dt()jY!UHas< z%r_C-y4?@;x5Ww1XS@!fp;)e_P@1~pRQnz)aqHSjf5PW8@$uSjKWw9mn?J|*KR@no zi$CH>{5mwoh_PozxpGtOyQg-j*^)8h`yZvCtEcRr$-pKVPro~=rm)5+o1Ww~@%5im ze^ObgTO3+kz8y~F)Ca@8k%d~g`CL2?V#9Ll_sh3!1~{I)YU$epX0Yl57iZqa>HUH= z9poxncjD$1PWHcFwPNn)ft~9ggKHHA9Bki*ah^4W;k1_cgUrUTj??qyN1T7be%GPS zQWdvf;*BlLjpybr&wG5MEwB2CLrlKLp@t(`5bOAZKKdx;z8n~7 zZhds^kbq8q;TmrvCFs2MB$Bd31N1W8$O8hga4|p|^CN%&e`rR;6(`tEpTg}kYfSlm zC?Q({_WTqML~>{>ZVEtz-aRAn|xeapt4K3`#x}+`(rC$)uM}2jd9$+ivu&6t(6ThUMmr zBrLe`!G|+HyLRFBYZhL8>mIiw@#A(QHxAleX)3ToVvpUWQ)Zw_-kyKMNCy)1jb)|# z2_Gk&Z6vRxzAg`^H@)mpPMR*)47*lKa!1d9J_n!AU#=Rp1!RcB`fW__OIp?8TAd}e zV3;xNy=USg|B-P23a`7TX(!LtACj=uYeaJ-8@E4bWBt|jqr~rfjn~D8d}q%e68=Ga ze}LCPAtHbXAOeU0B7g`W0*C-2fCwN0hyWsh2p|H803v`0AOeU0B7g`W0*C-2fCwN0 zhyWt+cObwJ$wea9BL@9E?9JQx)M3Xh=5)UXP9Qez^!KHrUZ#t~<$S(> zRbS@6-eYFG-7B&c1A8Rl(|4>l^)p%c^!`O%*ZTRd)0nBZ^0;Q{FWmkJwjTyJ?zr|E zdqLCuwCH+DqSG5#ljGCSGW|ZIhYxkB&rMRI^}YTY|!C|(uKV4_b!w0(-Do1f?R3Bbb)|2KB=%Al?7R{D@*6054C zqE zjcgNGnO^z?ezMDR>NY7bwhLnT;D)TWG-JI2aAaLtw&6PNoQtLD@|1SGMDrt6Zu0aF z6aYDDE7BGtH3-amrT6r*5F{mh$rS##*^g?J<)nQuaz|aXyk|HqvzCWi zbdQxoQlTm~TDF!9FYJK^?S zym9$6yCgppx~FvX-^IX{x4SIjEBF9A!4SgNNq9Zp@LHWpqLv?uGyJwZ{;mX)5zaoT z2UY-+0QsSJjbsG#3+I^_KJ3E}qD9tK0?|s4qvEZp6Fr8F@eMnTshXU3{^B_%F$vTy z-NOfct3FulyQ~OQxmk(XpDBQh0nA!MNC>tMuS>n>Z0jl9`c5Yj#vukyao~tN{f0My zjA%Vk)@TXPTjYi5WN+o{0*g^^(U z%nw+v6y)LqZZj`?6=MvT4Y%;SHSof|b4z8mNqaCovT5f7?@IBYgcK!+(7Jv} z%8muj5B1XCG9|p+^)s#g5tqRSr)^e5^=2tSP`&>|oe&i~Dm=!0cgfhC`AIV4b6Y}3 zaPLW8sJ@Xz!;Rx7W?3`|f^=ZB{1saY1M%(i9ewrhyD)OVX%Q|GA0-44tX@GU`3O%h z-dsOJir~O4;;<)K^3E7;zZ@0GwHtU@A9nkoPpQOIy=zEVvpVDm z2jJ}|G^~DAd*l)BytalrJJs*fsKS%;6|31dvJ$N)>HPJMYp4ta?c>fZJ}(0)Wo*Iy za)h@B_;hgkFg_2Dl7a6^p(`v72|;0=Ppdc+;q?u#$E3B-^;fD;+bu7Gl z)clAaHi1WZ#_ zca2f>&%6BL^;}JlH_;@&Rq=&QZ zDIe@%Pj%OlQv!btF-8qo(UZ@ALtlX8#^9~il%wXovq@sRk4;rSLO zcy{geI-Z?`+jora!qd=xKBz7G^rZF>2K;olPo|jh!I#d#JKd#A2(~Z23YW-qU-M3Ik$hc*I)L8(EI86tIhe&Ik$^Mz{n*e=#?em<<4g$M5jN3 z8&Y4ART;L(!=AM}J?M9dLeUD=^_w2ge;*V)FMPP~?)M?(TXJCM8Y!+XC=SDPTVSgHK{-v^gZ`%0{oN!hq*jIiR z4dCOOZ)m5qx%8F^H#A5tdAGiIdOpYRNK=*Me&Wlqtj`kbZHMF_Q0h|S9`Y|(_H}uu zH=C0YY#%-y3@2`meN2=Dos!O^)-@Q2xX>AUU;*=DZ^wd3Q#C~(Z6w0yMS(JKt*@52 zWHy1lD%pM@YVgOL?L6KteE3RPqD!1b0F-MB8lu`2rqZcZ^||Nt&-v@!XE~#6p2P>k zqjYLMxN&btjO4I#i9B2#8x>@HPP{*KF2gRx*JZlih3dzCXL-AF%1(Sb<{REp5~uP_ zoYvzStez0rLcD#N7Y2Wpf02NlJRhEEom7Rhk++g7mJnaxG;H!;)OAWio|o$3mT(2w zc(-C}=P%;tolI_YNgOeifZehFht_PzfOm7~ts4@=`)kf(J=&GQqL3aUx98eRWf-Z8 zex`eun&|v6r5?F4L?Q%!X3r0>)?mPeL{;p<@Cf!R$$@CL^dW-FGo|j{)|$7t`Ij>n z3QqG+w+k+$ooq*I2p@Oh%hkc;-KUf*#HakL#81TwR${)W>e0kZV=N|U7Qy%13J+*L9l>i-=37LmFgzN3! zvE=}tDKGfyW-U|I$G|9A*Z9G9CeYVXE7_7w_&k$qwpJjEDlgs0c1E&l^7{uP5ULS{A2*{0oW@eV|?8*Aq%uS;eWl>fpqj{PFpS56dTM z`yUr^!_xMHp#r<7+dY9ZCT}X<65oFW_`K6niI4$?6j%Ay@4~Q7pq9ynVm;@*jw>2m*-Fc!qDD_Jg?G-bEe659o;)+F zP<0FBg}V&vZX9(}fXgp-P|_XvfGs}p|JXb0xGJA+(JLt3-E219y=hpKgc4$*BBF>5 z3MeJgp`?Tf0wSS;fQf}D3Md983L+^g5~7rpa=G_&H@t`6%h`Ja?>WC1{#iV=X3h7R zHM3^s*)tj5*KUykzFd(iRokAQ47X8$pDS~m5W-`Ok68by3{9U{8?;q8mYW?Nb} zPmM1gqXXAL1;}pyU<(WO#=J^h+A=at)nX?*e}vNkjk< zKm-s0L;w*$1P}p401-e05CKF05kLeG0Ym^1Km-s0L;w*$1P}p401-e05CKF05kLeG z0Ym^1Km-s0L;w*$1P}p401-e05CKF05kLeG0Ym^1Km-s0L;w*$1P}p401-e05CKHs zUkQ}xggCfG%RtqhjK`k>#Nc1Aq5lzqe=33W&>b&*Wx3(ywh?yMmnv{Wu=$7Tb$(bV zkFWH_LF2pUzYf(x(?`!E0*gsNbU9{c>2p>%%Ub$9bW8{qQ#aCu2>jIvye7{|5_`lC z@36`1ZeixX&&OY#1F|0x_;&=H1y$5ucM5?&w{{CF{meR!|L$I5&P7=>TDaO^pk|cg zXjcLTh*N^xutuk#Wn;U(2~6aIaa2XEpMVzuWso`I#R9izs(0 z`&SH*RetiPRjfE{Olj)zxGM$o)3#*E(|4v52VOA20Y0AJ0bXK27nZW!=NO99=F1a3 z_va>HBy(?*UyuZZr1@FU#OVO_wD>YN)?6*Lc~6p$^xNW$OTr?icak_ zM#IOW8`^~f9A|vi+B1gWcDL>M>*Gpb)KFR#OeacE4?Z1E{=pHd*NU*>WWgDWVSSLg zFV|FOp#odE-bv&xAzqKk_+EQ+5kc5wE=hYWNF7?tTh8vY#(~JNbsK$xFwyql?Fu@n zEPP8<1lII@l)6j-a7!_@)_;dI$$Iemc#{sTFLsfDg7oEuO>ug#JKg+o= zkCaV3ob{p8z>Ax$!i3~>={GIm6>*V)^K}~aV@0|k+*s^*qtqA_^s5Fwg8|X{{E|HO zM~{fYvoV@z*&@wpzYDH)U}h4*L9G9htoIXg1ocrp5^9$)69Vuy*myZeZQAdAv%4=o z&79f?N%ZUSOg`ejyV;RuyE_Lf0qfWCYNoUR>|CPq?S_RCY@r-KP2)wn-#yS3x3x@F zf}m84p9USk(TuIyZ+%1v=4;8UzwRX^HGV3*Ks9PDyTNp-o@(X3-(^1keJ_05`Zg#q zV&F%5fi^}>3o4^@seCf#@4wvCUIss>>d7Z<@v&FkRG`;{{C@ut()Smu4S%-2?+7~x zyqC~D(5eW#?glyYOG}WJJL|w;Yl5$Mznp8lQ?2GZIOV-FI9XV@@v8wk4AB(jRp|tGxDY@R|VPvIj|j5 z`}Y#E@4W8Nt2%RDcpG1?v*orjn6BCJb!e|X2rf;Op>$V()9ULaU9^aQUksBCl_6$W zxNz{A?@wRYtL!Iwq@4Z3Lmi;kK7=8v?oXM1sj# z4TAbW%W?CCO;h_~^VL^%oK&7}H{8zHX^6OJ!<9hwkIARyV9#zT>i#!``9>CMC8ivj z>CZf(h-mM>p$4&fdouS=?T3lCpOE~;_At`)DF${ievgj6t`4CW`+AQIsX}2tuIpe0 z@&15MXN2}k7H7RA*s@ketXK=s)}cXlHi~e5@XzC=U7EN5dV6Ll4*E94qox2kwfy0i z*;L`3o^=oTBFYQMh=mMMmzl#&rK=UXo~-EJ73{Nk&8&-oBi(!r|MH)i~7>n8i2VtVeJ`VM0B~q z>os_JykQxm1gzy0Jx9-?1q^&IQV-uXh9l;+-uqjL@9!7&ez$Uo6b8lZLiE>k)u#QU zJE0I5rFEeoL(fI=72*CT`-$V$Wt>>(`&=G+-Uv7CAC1_KZW=00V1k;Q8|#U0M`C2J zZqy!=p7xKA8x>ZR?0rL z?=Sv66D!w{e_N5`$^t#c90MuC5+LcPv+6-0;c?Nq^v5Z!?y+OVOpjl2KYsSLDvxx# z=F&gc`K;~g4d;GJfn;HYWbbzkXf9p*=9&fR?T39%ww<|KM%X{3o0WO_ z4r1Z1oR-18eAQ|Hh+EMn;AE@`{PdE-eKy3`XGevg+)8oa*Po7=p zF^}hQfMvKY4Q6V`1ArAL*2vMh2TEf#%n1e z%HX)od$2s*0LV9YVOR!;ukUTQRo5C+@_=WT%loBGau9CiAnCyau*#vNs(qsooQrg7 zkh!f6_;d-$?hmQDsprIj;j+zrGY2*JqN?c6NKyQl*&87 zc`L9GbjB_vTwNX5G83b_YW2Y)+r#d-k`jb)T?k^@Kz#pU<`yH*Xe!ydVj_KyEFNrzv}wR!(}{7i;$G`}uMv zVD&w_-Fs3D?B#7%Fs+)uT~|$wJ>e1Wboj<;Z`{_4xI~`}v*=@%G`{<)-UZ%)PyrjyS5p6&CHF1WMxjQG*IP zKSVF`!4{^P&E2O}p|sWH#JHs{Ox``wj8!APe#Ymwlsqf%QHC&>?9JxPKCJ~F5lcP9 z9ue-h;Gdr@BV~o%vVA3|R{r_7qRJ}`w#&{01-e05CKF05kLeG0Ym^1Km-s0L;w*$1P}p401-e05CKF05kLeG z0Ym^1Km-the=-5DPm{Il6`3Jv$U~p~8(L@jpIjDD-Vp&r01-e05CKF05kLeGf&VlC zk){t)yB@KC%37*NW3gQDpH2_yM+6W7L;w-^dk}cw{&bK1(f{0fbAJy?C>MwTB7g`W z0*C-2fCvyzz|OJy*9r+VFGxHwbSEN!2p|H803v`0AOeU0B7g`W0*C-2fCwN0hyWsh z2p|H803v`0AOeU0B7g`W0*C-2fCwN0h`_%R_!=L_!{NyeZ++rok9!f`U*lh&{dfOM zq(rShO(OtdE?J{r&MCvcyN8%_WXyM7_`G6<;p_(g$aNyq`>GQ2?7zFG#QA*6fiQ0P z636)HI;%L)QNW`lE-mLi+8+nr=QR+{wu zmWbZE#c+rV40k@y)N_-C<+rx2$$72~x)c2$&v5q7$j9%XcJxj@Or9!$+<;uF~O!|*Pf`{5CTRhUiQ)k2d;dh(f8Pi->(<1 z&qjD6?e;}3u%ivj&`X%v*H&w7wcz&a#P3fS9bFb|`k4g=mu+}9`bczoUv#5PjtSc3WO&7ynEk;n;lD=7C~xh(=~%V<57j;KJbuzgrSoC=WtNZYw-YF{3_ z{c}m&?cP+~-`qgw{V|crRbkrClt$_&!wnU|Am&6!jy@LVdVZnj6UI+BEs3ICH2u$a zT+a>TWL`9VYimAi-J!p5|9ui;teYLi4C+~L@>dsO7i`}|MSpUjBR6o+f6-<;LwtR| zWY%9aN7{WA0~WZX`Yb$=Ss1+2f7N@p;^uANa{0}_T$*@+=h=w5iS>-1%u1HvVJX&j z)l+JA@Ko4cIj%fY4_w+Zk@wx2aQ%`MO!e)=b!HfUBwSZ?krNyeu}4k6i9oI{?@6{N zD&Tf`ZF5Nm4szb6=3OWz+@6Rvx96FM2*LWA6lSt>a`1ilP%DH_aSBdzGy0_jn8~$Q z_|1rK-v|Ntb#kX`QVknW(R)iO1`}Vu%+~8cmtnPnn*t2m{A2E?asU7Q0}1n+tp|Us z1V?;xi7z)nHuU>BcXPsZ!$-KvPO0hkae3#s-K|OD>w%_s zH3u)oZ~*3fPLy?o_%wHFlkalq#C`U``6Ak213=$5Gjh*s@AnMg^xzVUDA z8T}Qku=mor5tcDAsKPdm`t8sG_0Mg3ss~8lXU}z0-WI6|0dR59%8Z+e^KXW16+3lF z1409ewroovT%Y3e_xVm~+!=BX$Tt#U75pSQU7l6$ExOF80Oz9n zu3WMwe*d;4u@Sz9Q~U54=dlS;?34vd#+r{jXT(A6FgNYPTcq!=K9}9I&!<;+7t|;+ zfxd&ro5K~v*Dtg6;E&f)o0#mDV}+>Q-eKo9k-q;aUJqU>uydO$d2oY%stxRaJpcWR z`Ls(_HwrVs!L?yzEDTuqke>3*l8JQxz}ppN7Q!UQ#{oT&RW2-z64UWH{yM3$w8SSodo^J~*2-aiK&txqZdOH>7%#EBo@82fT$6gF^zzf$JJ-Xs}F>-tgP%c=!~tG3#0 zyh6NP)lYnvSq<_-^Ep?Ui-wZZ?{RzDi5LCZGH@ofhpqOj01$eA`0Mnkr+v?DpNX$V zZw#=ezLAAqcCvk&>=&;c33)sGgt3$kWQIJBj_$&OrRH{*CmE#2yLh|3PU!1>9c6(r z)81;U+q`h(t)bmAK}DkTjn{*hEqmF|YDe=xa?VS2dqH`iRNs{NOOEvVZ+pYqkGP#o zpcvz9w9M%>&Z=TSf1l=X1a31a^xsM(osn)KX)gw>)Rj0@2)K z;Rk+@-u~KC-2GgS#X_rpJa2HECh*k>de#Xl!*x63mmEIC#~(aaC)mV}b3&_$&ec6$ zQZSyhOXd_#2bR5Smd}1c{Jz958t=B(K4gNve6w+0ACc*HvHaz7#f$C=koG;bRLh2N zoWFtnDxWAdCp2W<80&Sz0{KyBc7Lk~ZtD%6Z+@l>hJMwrnp&_#mk&N+mCB8sBGdl$ z>#bt0wW=~~JlyM9`HZkV_;NL0nK@QQog2wPw7qksv+Tlvl#?+n?5(+>?qExNy)c(P zaHBQuJIM-0SjAJDr{dwc?j!d6-SVMRHFdm@(#Rca^PBj3aJK$t79X!bHda`Ekd}F) zw+Q%h*B5+MA$>jtulM~g=WK^?J`jt_v(J7k0fKtCC4oFTfWJN;YA5h(cYhA$PZPQworZPB|SdC z+i|yk-O@=;2FL=rBgJWg3y!Z&utHq0JR8_uU@%y!DFLQcyU%XYng4hvN6y;L`c7W3 zvcEj;(JciljkkT<)J=N)rzC`VdVr1voVs#7#q33=`@vVE`oEr-NB>-Xt9X8<^_lVE=K%(@wlyqd*vyo##wL}@$eg*#J6jV? zv9Ob@w`|Kp+R+VS@J49oc-S2^@V`0cy4_Y8!WbX<9=w7jSs&i+SBXv~&F>|kC|vpI zJAO@YFPHckepz(h`YI$0j1+fafXetj$1Z(&VC7v`vi$>Y-um!%`Z-oFA$JspO&RoZ zs&)(CzwG3urv8=*9@y}7m%KyJ{PT;q4==x+7Ju1R!nff3;`RM+$vayIogy8C;Trq0 zuI@Ez(D-6-I}ME*l(r5?lbeV@kD1@CvwJv6&ZqTv?66$42rv#^# zQE*6g3!qEKfhpIUUS}S~dF!j`QM~;?mmd_^gFmvROM<|a!9&gs3-=E>|A#qVi5S=~ zF8Z?X{=)Y|!{=Y|u*@$1K-{+xsXF3v7qi?6Y_*3tNT^Y#nKYAg|E( zqM;h;?Z&CoGG%@kVeoErYp*j_fu-)MHlqR>pzYk~%2Xu^cT42dsOUIIeh(klygJB0 zAq?k7olS5n{>3jmmTuU4Tm&LQO!dmPlCC#-{1$7*Wnp+yK}9J-rV4RRZS<@5s=>-I z^UVp_!X(>?FCPa%Hp+0??OwPqH6x<+oN^iud>2lih^|G za|V;;8gL&gxi*DH4)n$3c{;kXFh#C}ll^!Y! zR|c|D%-Q2ySm;Sv$`u<eLdKhv;h@_MA_INVYRj zn*GsDEI-s5jNaqymxMuoHn!)?ny|J|JY(NdUXu0U%ZHN1f$-Cv81Rv;W&6sh04%A! z7?y#B?^pR;%3zmQh%n^KCJ5g-zVP^}KuZ0(YCaEKs(8TLv}gY9FFxORdEscDXVw<} zdGo{T`Ljq){d-Qy$|5jfQ2%svi_&yF6n@OqCZT-$e`4^&AnFHIs>*pmIRkX3ZK zYZ1I=U=~g?U78(NEU{Wk0DXl(`VX~h4PfjIj{Eit{B9c4N}HWwId7F zxAK6C_#rnzux|Rk-P~Me!TRv_+`M9{lS6}DG<|rzNd8v>E7R_5_+2josoOcqv5`11 zjvQKdwo3`PVCzcNKw;1|{@!}(8Y{`~A$-?`X1Z%4z?>V$*7Q&n0`d#J?KM?Fc6+!} z&`vBo()wLoS4_IzwDpH_l5NG{s>Z1KWT_emANcIN-B=Oo!sN>vhK<2I7(?^c(0D7cCz8ZDDro9;+y9RZ{AB?W;2H{NnT7 z(6H+^H6K63*NlJK%ei>_Uyk5bCU{>GT(Et3JO8&NL$@{+9i_;0xmYjw-KSbX3_9Z_ zr1u!}L06>T&f^vgMCWt)DhIy~1wm-|xtxFF0U5ZYmVJVbToZE7blvz7BLp7q?FsS< z{IJ~CgIe|n@p`2?$q&-+5&-Lp3e$SK_T?|{F`B=BaGbrbiYXNaFX2AR-3L|S(v`fr4K;Ek+lRN4?3+n~ z=@2iR5vfqPmrdT&v* z-1Msu1J>p;&O$HJ^*&1|El6|`hTG#IEmr2r@M~3_AI%FjV0LDD6(>9Y{AR zI20SOr`WDi2a&cXmy~YJ|NYwZo8&MJ3&8QUvF;`NWf!ges9>=Cw96d}s|M;VrMMTb zKiyNV6{>l2{^JL;%kx0BdQ;kl|M~v(Y&#Zu99Hwf)^8O*1axe)IUhe$e_rU$ddL>c z4>{eN7!G6j!F}}=pU_bzAU3^yT4#sf?!~}f>FdF1!P3+9@-4A_)Hn-K*dt(M7*-%a zv_5>g>X)lOQmw~;d@o&8tD5YzUIz*jYonF(f4|q4t@3GR$AbF)t5b?F{JftF(^6Bp4#Y3g^GM%kQ<{zKp z^ZR#`c~-fP$vrVpYI&V`rIYG(d8@j1D7$~PD5OWIU)C-neV(G(aD%Vc9${#*xV~xU zlbQA-Oiyds+9TpXxpo`Xohs7xMy1JS=12%btJ+VGJ-jpH2;tV`J^pXz9}k^>b|F?* zOcX2~^ItrtR|V_Ubi2rwEIht1%R0K`r>Z3Q^f@oFXk2)IKSF)IaJCHwt_9olYho9# zzrV(zOk@3r`L~yUH@`sn`D+o_bYAMdEj=?_wBDM)-^U7^*J@t7v=N@S)l0U<6eO_& zU+a#fuu(psqOG7?H#P2czvZe-WVQ%g5#6|K?>TX}s2#5D`&$ZTQ#r>5&jlh`;K8d* z)BR3jaBQ1fY}iE!Sn=RvogmjcLr zWZiPoKoYQQNz9t9;(#+HFJe-Y0N2W~oPm3iz;yJ4!k1eL)Asp1u(61X9M;3@_bS5K zEVYt^t@lFAj(?q-%llWl?c(HIU}Va`cXK6bFY)~TYI4=D-RlA>n1FGG80-2nR%pJe zvEKG82aH=Ckgl%h2D{wHjzBl}{DMu{(td#>JTP{+;zgPj7M}8jV&y8tmmM@a_6&y6l|}oKhx$T3kNF` zzitZ>f=BOcl2_9S0$b&tVnKNfs8NRJ={Qb}|Lr#sA771yRF7!w5C1YhbI+>&{XMcu zy@Rb}?2(6+VckyCsvekse2vd9lK*T1uL3D9WvMcP-Q>F$qcKd7^L(B68yqt{-O`ga zYWTm>mP-F2V(1hz<33?MQ zRxS?pZKkbdQQ{y#t{iA}SOV@*1wB5wMjG(sont=>eww6#;4+_8{HD^=<=Rw*I&*XB zRD1LNQUc=(9JC6S4PmNr)7SC-GCN)qBmeQ-p_mM|)hzXk{h|Vgl9l%fh6zFPsjlC^ zBnY`jYP7wjFkqlMa@%3I5Y&GBY7r|V0$)q6VxCos!@VO(9Ni^`kF+}RU|M0-Ri^Nb{uAgV_MEWwp-`^K1bn0_*j(*8m46|i^z#Udt{?`>)0RT6Sicr6KA|=VRf1E*$>AhAtsCpKa^j5ImSzm_d>%?-~U)Y7d1L)Hc(SfKc7H-vYuB@5*#!m6H84+;b%s)%P>|9 zbQ+g-bxoCHmJVE<;d*Ikx$)!rg=Tq}{nngwm6yuw5QNC2ZmPI4!sXq#8oSL@lm~)s zZ%gQj&K;l5P6r+Tvj`liPe1g9g9+?cAA2QN!~~=A@2{?vnfrT&V1cE4SnLiXr@-j?`?`Ys|dNqcD+rc?YaePgD-jxW!Y^i>*CTB=~&F>ta;=8xr1aQIWfFHM?hf9M?W zB8z`70}9mHo7OCmfYL{PKNLG8px~9+zVs3)coL@8y77q|6f9pYDXaF!?=eSAbPxMa z@Iju$gj+YQI&O|B zL5bzqQpOwV)Ad0co1o|WoF!m$lktS)dnJ(a_7e!I!hqM|((+^$E@;y^%4m_v1!QkV zhTDX=;i!=1rQ~8h;48Eaa#s-qqizqCo*y&g2gK1tcl}ujWXo7+w47#w`p~7Fbh#W; z^O#r6LQl;-&X3PWjHCrys3Hrr*U)5V)N=yUE@lQQCqdYzSa;aYR2VW2oU2|*CJix; z7;&E`f1Llw`Dow&V<$W4DGm7*31Xn5vgcuUq9oiu<&=AoK^8_dCIfIEXXZih-yO{E zPhS;O4F0}@8a~wceoai4oNhnLOB(#)t5`m*XIbsr^_xEl0bg`#pVVD$z~>(?Tkf>nud3#R z)3S8-9f@4{lW@?n=K2Z zmvO+rO&5ksQ|-iDsmKmlu3M?W3Q>pIVoD6B<{5vVo!m3kzu)lL^sZCAIJi6UDrd7w zLNr#SU%XHXni&lDC-BXbXS`na?66`fIX1wa^yGFsDF>yIg}iRIGya8-(`L)r{)X4L zk;m5{ke3Iv>JGP%tKy(gx`ESlYW}iU_qAyMQY_?cGGEoKi3MpVTYBrMao^DQ<<#1l zqTqP_V$0(x|HkVfRcZ=o?Wzi;gCW*^I-0FKP$A242hwKROH%bQ)#rO_xU$2jZb15$ zZV})({lM`?=}do%RDCbf?L!X83qe*)-ROg>%1|N_vBY@lJ9<*};P1a)`MpNzs5BI$ zFE4D0(}PW~oSmYwiO(;sn*UwyeLNuSUBEDMLk#YI@sQQ(Qv+Mp%7_(f0emJcQdz(L zv3|yd>V@ICb>7#*id8IuFv~~buJ_+Ln2!;Tah~! z@Xybd&+|9X7EoZOzZX(nm%&WMq6u#%Td9vt&ErMMbZxoIE(0sn(xMO75&o_duH4%! zC&dGvanA8kcX04wtDk`Obs@llU>KPx>El516}Z>k2e{$whGjYiL8|c9j>pfpYX09d zZp|k%Y-VR} zr34{KvD32io;Y}&7yVTqK=}KxOFJDNJ{S;yo+BZd-fv{V=*O=s5p7fPf7tyA!Fpvd zm$Sqc>(BTxA-gJlpFZoH`aT6;pW|h1ia}DPg*M0^SZkYiS_59Ux1=vWK6ia}(IbfM zv;!49KGB8I+JS{6{iPQY_?6*%TD0t&05NbGQFnWMOAL-uq}ng(5`od|UUioAx&62$ z$F+aLj0%*li7mSpA^^S<-$EYjA-;Yily7wXzY=IT+7bWkGBflsNzT z5uY;s<=roI8abhovgpmusd-`ic|uYs-bzQujSF-H$8Sen=Ybe@;C1N}0E-CLd{aGf z5Ow+$)+R>S-%j$cqS?XC0`4iJHV@dOVI%jp-r5IK<4PS?tp9hs>Xy>vdz-h!`LXfx#a}wExf;F;*sCXjpKv2);q^n<;*`m z#oJjI_3XmqArZjDN^6t55`Mq<=W;u~(`cOKfZ@W^fn93+@cHh*i~I~xfYSoOeiSOx zaU1^rxulfH1qIn`ak!~Gx~G4$0tDvmZlA1Df;`@{OFxCqlw+o*6`S(jPYE@0`>@cDaru8fN6QvjXNy~`17R7NNcj615@w+>0R#U95GnHamHt@ zJ@d!$dt&v=mHoc8FfUHq~i=m1^BM^l54yPZ&ooA7VB4`#mSDG-`7W zGyNSSK29rr+q2@-WpyxE>+<};T4m@ybM10o0^xNdlnNBqQGUWeS92tnQlm0lYv5o# zUMK{|9U6NjtArr!=GIrs_zC;jT>J=~KU}Em;m5jo@dl<@c;n-#d00Z}61pxq`ozXG znhnHj3L7H$7hYe${jyeRtN`r3^YvT!t@-~RwwW!ldev0FHApHvJ$XP9lIcn=m&o9V z&M&Q5*d3Nk4Ad0cpWzms`VM`WR}9q=ML6Bh^UihQaoi8~*S5d7%~ZiZvSZFUP0K zx|CfvVxYFO@4D)39HfPi2cMpLpM>)DXS<%UK|Qzpke0_{U5)-BxE14*R?)%nzXPky!??nUhmP;;sVXIv)(&BNiTnR zdsDm;jaL8Q0ZsAZR{uNVFeZ8}bDKEf_ltjC?0#rY!qoiQwO>x>Cym7*((g))-hDZ+ zaKY49q~WIH82tT&q+3H$B~z~;q;OP@?%-3KE{D8T*I#dwRfqKQXcfN^!r#x~(>Zl- zzv_!*q3L?MHUH^%mXN7=YYt9PGjd^IB!?!oV}$G3)Sm1E8`dm?sLieswm7) z+UaoM_B87bH6P*U@%G?lNs1gbXAw1=*5!S7)D#OVn9iN2Ii&*I@7(L@EhW94W>GF0 z@!iZ0LCxA^XRph_`1v)(uR;{y%^ktp%NR+IFEqFISrn;rPR|<_y!KbV(!B7v0-t}p zEhr<3&f8L#h^#?#UY87|mkn7UMcObXucT={?PJN`PU z@CkCq@aIoax8AG+r0OYb(>3?l#t%Qv1v6#-kOBq99ZU&+n!xt? zdhau%neQ3q(krgtcllEi5Bw6GNWObZ7*sQotn@!CK&xloQ|lM%({VYCv-HhtO9=Z% z`{u(b&)15B;F_y}LmV2@e&({%dGF!-YOv#4gN10mJhZ&bj=!~O?)V;WuZgUAf2x}( zB<%~b-ruAG&e?wXCf~$>cD2OBvEM?V+Bll((MEXwV$c1syzRNmf%$Q)T>Lw3kV&RX z^YWVi_-Vk^?zk^sso|Dygz=>kVJNL*3ocnRe|dcy8d8m5RcJ9mr z;>XkRyyh!CsLJddq!+J!a@w&Y`Xf2v_>_>nU50#R_LjVG{~FKuQH#09OXkwknR-I< zSOgn5^YArghYG?Lk%}_Mi&8MsrK{cCOV~f~dL#5*T|F~|KZW=5tITT>pRCdbHHipAMAP zZ0Hgzdm{nk{7?CS9x2orXe`Twq7o9;zP2@htv z{U8ge2-b?j!t8X>F(QBnAOeU0B7g`W0*C-2fCwN0hyWsh2p|H803v`0AOeU0B7g`W z0*C-2fCwN0hyWsh2p|H803v`0AOeU0B7g`W0*C-2fCwN0hyWsh2p|H803v`0AOeU0 zB7g`W0*C-2fCwN0hyWt67zA)?pF(TNruGpjGEGnHR06Skck0*k&i{AwX4O`gG8wtx z`^Kp2`sP#nTQ6{ZLVO;7o*ir+8|Q^l*G=wkrq-jxpGOiA_@5wf7h4)nULgR1ODL;a zuFik`6}+vy+eEU9v$)~8%*kW6njx1^2dLkcl4*vUa!Bu@b+2>|FZr=Ph<0A?xJ- z<9?9%>!ix4J-&`&`G4L0BS_6Jx_^EI_+PB`_W2++y$;j-w9GtpY_DPBelxM@bpdCt z%}Ftrh3?bm8rr)L8yq3n4C$x3&^?)LOiC_f~8&w9q`icbF1k64^-{a9%AKR=H!s`hVtDmP}_+>;U z;dKRx)rao;dlER};e6mmBOlNxDqB4&o&P#{v+3OKUwLn{I_c{j&enrJwrFo`_!7N% z@fG_LiUc!l!s`j*(WJR*PyAOeU0B7g`W0*C-2fCwN0hyWsh2p|H803v`0AOeU0B7g`W0*C-2 zfCwN0hyWsh2p|H803v`0AOe3E0=wC)Prq8p2FXsUG6wPD(3tU2QIt#wwB6s()NEpf zb%#DbILJc<#OBvPAskEwIHA*a(5vyJ^7MZ8>zu8G(r?H?ZE#GYrZ*2E5$4<<3urrwx_S9ASYP4Ws^N(jrqc&0y`Q=uiHv5fW4|(r!z}p8$-S^V7%$rB3r3U@VBRpW*v}zn%>C^t7JBsj$tdZ^^8` zTO~=H6)J+DZ257V@~Sv&8oeDP-KhwNS61)jI)?+fwbZ8#DHVv;H%t8zf9sEqP0O)x zjH||G!rP-4=_T z&?Ce>gs#=?sw6*j#J#YQ_$CF95<>NK%y857Zo-R_bF5`=^y-(EB|2?m1fEuG^_M%8 zaO8An@z_2xAf(^5KfmJ3JpqWHcvIb9A`Zg8hMk;;RG{$2Ub7{#I4Jhrysmj`d3u%`|Jbg+h@pEe&u2U@f$p4{w|AY_zeZedL} zXMWBtwap%V&jrDI)KpiM3WI5nki+9RIgm4JyX|{b6)d(rxi!cp0WtLKxA#o7cPel0 z-zk4ie0etGt7Uih5P&0>-MTjfi9@TY_e*O_C2&lva*cn516;e|UFR?JU!NwmsvHv` zAPmauBwof9NCTx13q?Qm!rPB6tatP88VW+;$VHwm1+h8#&H4V(h5weoiR=~5B2QVN zZKK6qpI|Q7;o8*{s6>3+K3n;T+6{RVAA}(zq0~yBQU$V0-83`~i-S_80Bbbw2A(w~gW1o|KCX=!Jbt&12Uf94k6y}>0GCbeySKHgPWzquCgT?Eot!YT z+U>M-3?nFZ3$0({O%FAqueZPbLP1c!aY2`(dk{Y~xy!Hz?-GY5t2ZAn@0_WRf4f>? zxvzcKyFh=KA8@4CM=QF%cVd5H!CdE!RE3@luD&p(Kx$L#4e{LFqfX$=R-D^S(i`BOqbt1()^t`KjrD?BX?LQ z8{{)XmwtnxUK1tkts01x4_P{WeYQUQF?Ug}%eDjzh?H^*J|dF@x>Ex(x)w9z0HI8; zY}RXk)XUgCx#edIJ9u_5b?;h2yr0)uPb_=UECg{oDIW>h$w1(aeLsBFXX3f~ExCeN zSCJyftkh8m#8z=<6b~)l`Ums1 z=kN9$OYd`W(`G?XR5{)vMJ@_LMYiJk&RoEL=&h}_1ReYi{wB}SM!5XqxxBji?Ipjz z$h3c4JNzy?(?GiHV6pmP|H3<{w3l6b4^{hMHa#K$tXBp?6- z2XrGh{5~%QBeA=(wH~TWr^9lxp}%JbJJ>j{>!Lox1R~Ne&)W;p0^Tk{vT$$RxzRmB zkUHT$K~*LP=9%P^p>;U$OQ`U<)u99i-*AoB1&QzP~tB?ZT$NkMwBFD(eJ+eHCC z=}yR-Y#|(98Ne!KnJXB0y;Hd9Ew>Cr28?%#bf^M1&9;p)>y*Ir{ZCrhPYw^h?x1@{ zNxXlok`yu65jC}*(!?jS@?ByO@pZI9!Cn!t8il`Q9^&9aUEH1y+4;vq!7+C)X{HLn za4>t$>0(K6p6r^9n*{hRz#l5pmm zg6(^Ac}QF87trK@fz4$-pYE8l0c&yNu8b{|V6)}p#6U6OetBo^`ZKtVSUA5*PUQC; z1t_iEwAw#&CO+ZG!TKNNr-taCxR${K%s^qK`etmH3aozb^Ykj2d;SA&FQ4+Uk4mufpW;Coq&qFXg5*ihg6l)j00PS%pTy*!_VfH94t zZH2uIIP}tvrkBt36Uq&@|B~B5dR&`kc}R5RBR_;^ve%HOh(O@O{V`uapL*)fOpRnrHe6RWS+AO`eE>#pjkW<7@^jEPv zw^!eCXe3^={PfNi4LPR(w#4ofHn(Y`N#gI9~Pum}VO z3?{Iak~8DpY%8y1Y82z3OG`3>(O3zrIf82`nuu>tYVwSng=08DC7^Iia10ML9g2A^ zY{(1eZ{2jQyE^~*vPH-$Qh^ANOu&A*Pk-?lUa-iux%l-O29mt5-laVz1Z$lOY;*St zLD_~C)&W(hJs}w^df;zCK;BYGAU+xkrOc~aj*JR{orbAW<$mJZi@yZ~lnF!t5kLeG z0Ym^1Km-s0L;w*$1P}p401-e05CKF05kLeG0Ym^1Km-s0L;w*$1P}p401-e05CKF0 z5kLeG0Ym^1SX2VfQhUZHw2dL?N@g*Ql@2Ua`N-~9n-6Q6!QppJzYj3VFIb;kQ0;lH zOBxH-gU?qqyH=5V^ZeII!s|iupFto!S8G=+hdyAJ%6^IJl!k@oIx0TDc7OcB{bHeZ zpyv^R#UQYOPL|?}gb944m$EW-UU<1C-(A4tk^awJcWyD>3DWWBA<&jK+U;4g5`rDw z&!-<=cpQ`WM7}pxM-LV&hgme2&T~b{Et@&QtzF9COlov~L!k2a^9i zfiD+~laC~tfMaN=g|yDX%d;M5+Su=0Rrv2yMOP7lzXk#4ZpC=kTLI-~A!oPA!sGnI6KCJq58z<2xM>9(*|9xm z;dU*SJxC8CfCwN0hyWsh2p|H803v`0AOeU0B7g`W0*Ju>EP)K~>zo%;jUXm1*Z-rz z!uRWJmttI#u^xS2@<00)QELAw0+fS6(vQX${$1jK%08qQ5%}LE@a}oRJqig!SS%Y} zg1giPZVWfP7mQs^P#>Z6&~-!r5kLeG0Ym^1Km-s0L;w+( zA;7)kJ@1>liZK4lI4_h_1rFLpl;8cR3S_KY5tHL8Ft*{Q=@TI(*r=7@<<~U#_Z6;D zqB|^A0s5qq_0Rg6L)gLh{lSTrpiz(gUD;{|wE~rSA77Y&eaC%4qYfju$#c@<|FHMw z@l<{L8A>G?3Js=AkyKJql!^)^kx&sC z%JB1eeDBfy^uDfh4)=H8@AqB)dD(lf^IEUa7%wn z@)G-%kURC}sdk71&|Il{G5y&N$|5GcEN@uBG9T9 zSbtpWElzXZp)CNY?W1n6dse`e0Ml{A-15WSuzgbDa&*~465yLqP!d2Ckz>ud@P+59gQ%V z?GIcXq**IAz#llwRdR;4oj@y584^z%)5}@^YkV|Ucy#~&5|B8sig$3O5{$BNY~-?= zza9F&zy5WVynEG63SCveeluwd*D-*TiPbHyJS^Z>2*UoejDE-XTto#X?$F+(TV)J= z{aLan4%q>(`YpG@8V7>)9bM)!MHjCG?cYY~B3>E5CZ((T)SUK^kNFh0+TRf}w9j^5 zOd;GK?;-Oyd>Ez&dfCl6bk26r5N2S@r0EFeCi3a@Uk%~l%SX;FxcSdDW30TmcFnXZ ztm6`Q%a*o*l3dSXuP2T$kvrxf$7cW)Urw4PnEtA_^HHl=*}sI;Kzynaf9g%%`mGc_#B6azwS zDjYxMaN(o~=-(Lo%*TWS%7Nb3UvFqY0F$_jR*5WFrM2V)lL-*449CAJKa7`jA8f{v83nUc0T);tKHmJpYXY(i%YTG-BqZEeu0^9PNGr z8XzUu!c=}l0{)$je|}bfm`dBvNFH>Bb!xL&bYbFwO-r?~25|ElU!}@c2mZ@ruVZ+H z3D#Fv-LTfuO$0V4zk6Gvr2x=dc;f5(suqIa8R;!DZXpXL2WUNPk0`)UV2Mg$IpOun1fq)qNyx?Hlv`h*NJ}ElB)(|4tuD?g_ zqg2dAzya&W19bWHECLU{m(#?w>GH7ui-;yIPxRh}J$|g+nqv0AE zcrhgU<@st|cslxI3tiPre~~ykQ1^!L@%``iuHttWFn%QhF_&8;QiKTacYfD{t`PxZ z2t)@|>>k95K>5#R|BuJy;NG3|Qd=o$u*%8ZVvZraUJw%}3X2H*)d&nmWc4PPNr0As z{aL$5GQd%9(6gS1d8WTwdXc?|03ie}I+eb;=_3Sp#8${hrpiLm7Jo+*VQF~c6mn1Y z1nNHsVTi&Y0*JuBClG0KAohFbGH~;VS8~tb0OJYq&B4L$6#9RiLVUONq%=0Ob_PnRVkhP+^bHvY%Op`^$oV{U7DY0mFkP9%#&#`*v7KU&LAzlY)^6e7h5FYt&|Ojq z$VPK8$eOJH%{`QMWp7u2YJWkSR2KET`HPRQJ--;R&8V^Vc_fE{Bckyept!+QQ^4wFERRc@kZC zTm@K^_pNA^=7+!|@^m*X`QbWuZpLbr`PV(sKAPG<9kd+Idq&EoCyT<}xRY95OsZht z5qe%h7`=a+FMt1P&vmIU4Bca8gMOFG;U8@|fkQtCllG1ghRw*F1}g{V?LYA8-PBRt zEyvFVh3{(beVl3Ev!5%Qh8Bp!*L2ly7xu70{qR`WgMx{9_4R%3zDHBYHnYy&b*t7P zEHFsMrsYSd!A+U%q5Xo&v;9#|*~jrdEEnM8pG)TDw}kxM$pihxY_>d_YA|_#dn0GG z1b8(>+ikog3@6g<lO7l^p894NI{1M}x>FFV)$>c>=| zIGNgw7gncJ)E_BCEx{ zV&u8mE)%?TUVD{~^Cf#)i_Z2NhE{3=4i~U68t$gvGqbL!p=Z}A4BN~)_2d>q6XW^c zC)ZO~SC4)XfgQVylzh*s!`n{w9QSYmNUHn9Gdd;!ss^F&9rucYl!+t{`$M65?aSPv zc0Q6bHnWL%d@R9FCs(2iFA3*ju`|H*-dLyLI4h6Qf7p5tNAd^k@(`z+W*lsy; zz=UpW-g<$@AvR|J_N*cgVEoq^yM$wB>&F9%=DlIBXyHJY82Lf-rBI}kx~Dgke9rQ> z#EJVw`OX#4Bj3;7Of3Z)rD^M}Le!v=p87Gx4JkN$_wtacs(*`dI)oq&i#Qs5W(VC3JAX+86XxukN+$YRHj! zgsCi>)9%R~!&#?txWMzIkz~^rHNcd++%E-j(3NZAVd};L3*U)T?CkQ86@B+dc8EMI z*;{h!`(=(f^*Kl@c=cOxfWy$$ZzL<6ox9%7 z#}hsOa}gM2d)w$G!vvYr4kb@wFreR^(Xx?)cFuA#m-RbhsQJQfGQ-1dt7{S>g~7w6 zY5UYYES!?c?C#FQfc3dnDk^~=bJh>M-c9SyROv~xzz<*>*vBaLhk9bhg}b`D?N@t^ z|J_`YtEr_dKc5GTx;P@A>{f&OYt>Su?#n_*>(hiEh2n775~r}lLHH z*Qu=lV(q5iI&$Qi96iKkP(;;J@j$Z@NbaW>2L~gMJJDwZp{1|;N*3Evh<0BaNvk-& z-=;Qbwn8(K8yfummhY{Qob5l@k}78QGb)4LHoH)%>Cd{fh0iZUM$bR~(l4#3{2};j zJmay2hk<^XD6IApe_q}t1tC>-X_coH;bUH2Bl($M#UDktS zTu^Yvkh7k4Tvvouk*bbm{&}#Ed%o&sS29ED!SK9bOVQbSaad6_x5h~X`ixueQtD8` z@~K2#rRb$FAKx#bX+^iS1ZUg%k<8B*X#^zU82dv{KVhZW{$jJy<3=-EEJ!CQa|6xX z^-V^7JGpeQ(5$|k3(vDws|rB8YuHGem=G|$zwD;jAO_^$_dFaD7Mj<-`Rqr}|GNZe z))>a$<6#4eRchRE4Lm@%rTw~c(hBe$<#F7^G50v(cdH+n^|L=8W`kE8SNrv6&T}v} zV;u9&R{)l?@dvZVIUsT8bDR4%OCkB52AQ1E^ql^cVg}DG7-WL_bc^VUUV4sjl9+`@`wz$|y$yK63UkI(H~xcRNd89_)lFTheu6cTA% z#xEXIftI~;kC;~d>L++lJ#6p_RDuN@0AH%X1dRVA^Eq9dp zoZS^b(?X)PMoMUZ42*AJ5~# z$A{!!ivaUd=DyZJEVQgL5@69?csWi@6?d!45e5BAFV@gC$<6wS3#IaWD7ozD6)8BF zoII$tVd4Fp1=+S!wm*e|VMP5Y*X8-&*Ai;~+E%ixN@v3N@e`^Sh5PRiV9NTott;bK zIUaU$by?d-?;7DxJ41PDIPy0Keh1k{MC2Q){$^ID4`CC5oKAp zzn0pZICfSL3+K9aQe2l>xIR2D@x1*#Z=06W_zErNQ zVc+b0Obkx*QW}2Ln}2=heERUuS&r1nPkdUu@$d8{n&J$A_ZssmNjUt7M~g>e;p3#S zq7AlAELeC##;p9#WAVo4y)PKAR|GAdfAxQJ3tj#HMIbou%m}=|LhT;SOS<){;Ox5M zk(tT-?~mrQ@1(O>$+9tNaGV%#u5Va)Iku;E)%+kS0rYm44}Gh`!J*#tQSv7XuWy-| zhuXFU%7RI0=5!W?2F#bP`JN{n3|}6sBnG+DX$Knn7H_=Y&D^%!EP3(#zxmREp8sD0 z7aa8kgym(SisqKBMW8B}-7C`QpBkU@{n7vZ^&hV;Rpu?VUl^z z{QHH7vl4|Slt9%px8+xx#Ae#(*h{%*6ya1|=(O<$!q2~&D<13M$;78vc_@h%@w5(E z`25hOn;#^7vapcZn&{uuyKsGYyOp~8^0^BZ&mVe)Yw=aCY(%qM#islDqcD>vB#4YYGaWXKZSgk1X zo%nS!OE+F;{Lo4RVkMTRRyPU3W|k?9{sYQTa!q*Tv8Ez?YH7K$xnS;fJoBYL?kp9~ zHyI1Qcg(sxnsi{LN!2o!j)nKD2bogR(ss#$qXW0b`L_VyzF1nHG9rCGj-7LWYO}5g zBpg=}d9n&1V(e?)t1#lnKk}=mKHv^=fxKJqTcMf#t^e;F2LlkEDvxd>V*cA}a*4+# zZvj|+D_8IPVTD;eIkL?8Wj_dS7uJUDEnb?*4Q!qP-}Tk;>)s8(+`DRcmn;rSMmQKN zBmR4Sr&@*iao#xM+mE@*9e!Q(%l4DWukxk9F>@rv3qyRp!0WHxYk95t6c@P1tU1T@ zPzi!2^dDKNDnnuWSI)i8q}L03I&)QN5kAPq1ZridsX(>Dm7&)UaFF?Fv)E zksz;rNi3wAzMk-R(uP;5U+*qYUHCjhqI`H#>M`lrex&-wk~oJk(%ZA@i<`Raqh!Fi zd17T|xIRqFaqvW>5#L@<8L3&1ct}E^D*HvYTum@>NI2i}RTDVQoi@BCHGh9RnzpxX zFo+Etv1U!fYVvUMTbf3bhdz*P*`N}5Tni%Iyq>OSA>J;0`B|tu(Ij23H~4Ek_A=#%aT;O+Q&#Taw>*suPm-S=)4-7_hmsOmWNVWu6#ha*(h%8%5Z zI>ZEqG$FL9Gk%Khu}&POUJd#(70A6g=igsFUp(!sPaN1ZrDx9*ZcJ8s5ad97JCBd2 zfr0)Biwh_G5Gtt|dM*zpcAGza_tb-@exlkIUq~-E3byqR?uLrb){lrxikz>y#P@Fv zw{m5R4v9bsPhU6fcU1^ozVumisy;*{3>tXM%$wrVF`snY#kZT*SOPNDA6aswX+l7m z``(^t{h9MW^GFqGyPO~j{ zdeGdumAnl{ZZdOnaF?&LLN*-2qj7F&AbbvW5_-Ai1;rWTT z4=*1aw!bF-gddnxBHz8osDQOh(aUx}E$FZn3kt{0-;Uz-{4UD}a#v@35rU1^^6aIz z>A@1o<NNJo1Jl1&!?N_(NyXs`m*U;q{D;SG02Kwg9jWeqUF7a>fr;%?^t^ zqz}c#kId!iRpEF0=exdiV@J3FPI=Zpd-n9|j`aOF$hu>Qb$tHc^Q-2wo7Cqoeq4C{ zQBVe!jyqEFx0CKy;p6A$$&)_a$q!>ApTyoJC;@Zc;rd|((#zYD;Ux9KUCbb}`#3!r zo9t}8^NBvAGtfYKy%X*G$)P#T3fOaoPr@H6f=u#`3tM;VLV5XWUz>Qs%O5`7c-faH zN4-CiA7a9NCNW{kAphp-A&np%FqcT)Ww(oTdv~d=zO2eA3MJxQw@BQc;M!6oa{TYneoFv#{HcyYdW+~6F&cK$uM*3M4J$-bXj?70`TWT7{KIa zDc>gT#am~D=lXY%$$|dm;~ISwc&?UO#p1_zYPt*tkTF=Gn|Si=j^p zC(jn?fv_B_ESI+s$@W_8q8n!(mYwy}PJLLfVyRXI)b31jn6l~=m=-NlF3#~R{ zIyLRY_eb;b{ck_F8Cgo>B)4$C3ZD*UZihRrttznbU44$1BJu4TUJqWnuKa9L@f-_N zF1zhIAE-lP{=Uf{UJLhcPqUhD&)51j?%)aTn-*;)LJB5qeD*QE+;QiWll0RUO@D ztOB&V)v1itX5QDY(&xMKfOP-O;+S5VjgTOm>t3>Bh))F~@>9Cj*DHZphe)+cH0kv_ zawsb0&@M4>S9v>ibEOW*X35*=KC-^=1MSZi(^V2A-()M z$OQK86yS!zxIHf|SQWtZ`i%%?Diw&KKJuRF7U|`8^-qJHjm|UYhs5ih+_+l<+%%qE zl}TLqyzbPG?GFvDBxe1rDW#;Ix^dFy*$UsWeVHWVfPNKWre+>3xPF4F?ov1D{{7c* z&W9D&lE7J~>3tom54XRb+K{rB@b^c@aL<|6%J6}1Z|redhMD@YZr?~oh8}F*J@qD6 zTMe!%P?AgTB)mWRy*#38L;w*$1P}p4;6F)V!?EO`_BehhfAiXo{X9RcF+TQGf`9(+ zFZ?HMLb?%w{}utKFG>@lDgv-Q()8==bP>?*Z2R0h^FA|jQ^4DvJK~^&D_!?p82NSo zt^7gpA_9m2BJgJ?u)S;Ofyp`nSUUX9XKUeCIHHZKrfCwN0|0x2Q7vH*$%$%cuyAW{X2){m9eCKHE?AHTg<6HX4 zt+Rf!5ZJHLdtv3MHoIPCo4OD1Xc51jVpUP0?anunpef4o_`?%j;E>QdImk4#PK~X< zDK?$({c*l}%d8t;2*bd-^9*-`e%YnE_3hodeT1)f!1KU3SzfPsCIbfzp4eKRHvkj% zvC8WM+EBMD(eGG4;p>66tK?idGsOdL2iv#3+pY|vr*{;s(=dXb^`|=I2Z^^U^*rCs ziQJiUj~RRfM0#{!Y2#A+2~Q1J?zHpqIwIC7HRm2_=wNKWYyg_Psp$`UuttUKGp_l!M}^mQw|0_CMS0*Y`(+Qm%9QV%@U z?BY7*2`>-$d?ZyqtW<8^+_8B6)son)wD&eF-2TX~u@hl4-<9JoR-q8uL45i7okwSF zRxZm8EYP0ab8@7f`11qs`kIS!qCzKyVN);VbI*81h%-v6>9p4e{BvUEt|6$~Vm4e;(+!W4?YZ6^v@OIHoxnB)X5rUIb ztbFZFzxLbUpA##eCviP5?UVmq1U@h-(}|eniVdY6HgrV0CRWGO6z>W*F&!Iy4?Dhi5twnd^*0_apwGo zf9#i9UsAdBXd~h2!{^U^c8{aZ%HptdO`&qogeF)DG+1C9)S;QHLpt4f;q5U#9=u%g z>-^GW9lPb=&Jhzmjbwem$3v`?Ur)1%sZj);abYg6+Nv?@ zhY+g=AAZf|Dyj8-GBBm^cq--{z=Mu7p-nA1fPYS?^u%Q4nYIW+qWCyP7Uq}Vrd@Xa zV%>4V&znn)bb4~{oB&|IuB(4mii7tRmX9AN8o&sAc$alq1ES7T`-3Op>(z@NxYc$S ziGs^}z0%M=U7*=^aKB}-5nTRqe*czI!ppOVxEph2I2Y)v=Pc)*QUL5~F-nT-hA?K? z>T=>S@$KE2;Av}GR3@?>b+j&4K^hKB% zh2rdfm4M~Xis|(hzF!BQ|GZHz`LDc`hPB1Cg-`bCLszkNgu*U$I8|_ZMOP@{^)El3 zbMH+?esJ4kYX9u^ul6{M-sEA6`KE3j6du%isEMZeec=^Ta`8LRSJ@lCna7}C5?kdp+tFaSn)5r{= zezHC)Uxsl10Vlc)RfSX{YaD60Z5> z|EyDJ+b}mB`Z+?Xl=6& zoo&R;whub|IEAK-#QUeGxNx+(Gwe zb1~VkbC@zJ`h9C=_G7%O(P1ljO!z+Yb15|MI4rPmW8Y-hxUd%V+rE6GyG0*5#dX5L zig>$}F0nkcjZpx%M5p=@j4|xcjQb+FQVoL6B#2ef625LtYdll)MuPyX$MjX~C{%~n z;nI!nE=DlyFSz4dDB&UV8YU2AJd^+7T zStdP~D8iK-&)|kIJusHgb$TsIe7lL)H=m?YqWpZToF5!}_~h(&D8lChm3NEHi60N* z!7acU3q}vz>*Oz;)fssyM2x8cl=W9I0f9KQyBHvt!p`IZA z`wN%P^l=$plZ4VTx>p^W0S;M&e+~Ys58NKh1vp<2-Y-wBsYsx-1XMvB4#I>JVuj*DX9u z__%l9_0`)nPjUfE*_#ZOPG#6#sA3aTtOreBDZBs_ii^2Nzo@wj4C2!c1g<+_ri z17}}(_MK~5_e)@H8o_x!@T`U^Jm*-0N6}aJ<^P+ew&*WeIt_#DadyT~$^pX= z^>B<_v8f<5RWYr4@2Uamm+j70K2w2uQQOs+b|Iq6+07r8{TVa!p?Mc6OWNXef%E3D z=#u?}k6-31$IrQ2Psv9JLW=mtU3Wy)z})C?Urx3@=u}k2k*y=X|6H=<2rhW11ROfY zD5D$-z;$hcJR?aB)>3ynh@K$a-%!LDIOt0Yf>YaNb%Q3Ae|$&S5Tr*-Zq|De?{A#+ zvd3zxih_KA4aNBw9q6(xl}+vdcx0Me`(noLpO4e;&($}1?_XshJ?n?oaNGzSy-fVP zOW-@QNY-yEe>&w7I^g+6r_K{foOnVB% z(k_d^q!IZ$JADApfR=#bE+b&7=l6XpKzO^@1f_N{(Oi&KxAmE~mBQ?NT4e*Lden0@ z$c{MMag>$t_L_5Pyl=X*5V(`Ag)C<^coPv>{9RfPEIZaR749IsKf?2<*~?vMe@l9H z{`AJVq3VqriSLhEtV@dd`h{SBrfALSnRfI?hZN*bX+yeCPwbWk;_LAz|Ki3HX}Q_{ zXnF0km=SKmx#QC}mI#G40i19k?5IfdW@V_a=8GT9SA$Dh!(&>pLVyp4BqD$aAOeU0 zB7g`W0*C-2fCwN0hyWsh2p|H803v`0AOeU0B7g`W0*C-2fCwN0hyWsh2p|H803v`0 zAOeU0B7g`W0*C-2fCwN0hyWsh2p|H803v`0AOeU0B7g`W0*C-2fCwN0hyWsh2p|G~ zHUgaGjI?xhGT`5N^09pjFD%r)Mxi(3p_{c~AC?7x99h3iM45Rj9SE>2ll%j{B?oHlh=ha=ZE007b@dK-|}}o zTs(cRwng0Cc#HURL*`0HyqUb8?=bP_3C*Q1f7vzL+*IPvftgF+5(~G_t8dPn8$RSt zyJ6SD&;S1rI&HW?KpV7$^Gzzh;2`w8)!HPfh3lQmesure6KHuJz@c4E__?M3UK<&i zYUUayYqG^VpGo$7&-wh&#nU&jD(hpo$l~dn9^x@Q>q~n3{yWcz8kOCSjl`dC^t+z_ z)b-0QQ}0S6;?D(}%O1(8^B5{G;?H@TOW*P3w|sL87O#C4!9M3u8d|*eH0gCV>(M); ze~01sbZ@~tcl~~U@$@Afe@8W(zIf+5FIA`QbWvKo{MZ*to_>1$;_3UHC%Q%i5CKF0 z5kLeG0YqTqQ!w0<&Pd7mFv- z^Y%RA39I21`|frPaTfR!(;m&S?#;HNG`v*=gpKxWfZ`Pxgpxv ze&)PnYlXm=y>qF|LXFtw?W^5s>Pd+)z}$9)0n?_^K~VM zZ&8lDTReS%V#;f;T$P4xPwlT8w6HBW-^+B)9esFC1C06FJh@er;3>bBPX5gK_C5V^ zTxDv+zu!|@UFo$XMHYUrpB3ZZrv&)-dvZq^t={OWfergfQ}2gTpk+^mvv(!lPwaV) ztu6Kz1-XwoxG&dmv-QJk-Q9xr?J^LvDU#X3NB~k!s$Y6|j`;fbSFaDqenbEfKm-s0 zL;w*$1P}p401-e05CKF05kLeG0Ym^1Km-s0L;w-^`x2l%)w_26EiSOV6q)>?OaQ)# zoUIk2A^v^m-h7|6g97W^yMh=>ln2srT4pT5diA(Vw-Pg6(PVS$*BH>EMypk zSf{KbeqGPCHwlN;PP0Olvi2#T6bYDmdi{AR7=IqcG zpezV?OtQhTK?Szt?PJ`$g!u2uR;%z69P=?X93KRD&U_JD>sR` zarju%LlY}Q%7b`8pt=4&@Oaz8_Z|7BI)1!k%LD6Q?K=~EeBt|&-Q9cKhR?2moD-ef z>qLoPKSC^*zf1Tgr)>ec7$K<3v^p*6h=Z7CIh!}HC4HaY9g4fsCDEL4QtzjPKe-f4 zPZl>EH6eW;*qOjak@xJ(;1@;n;oK8ZVCHtX!Su+aRB8ohOjy9xtCZi<(>{KOZm@5e2&6KOFR$f9~Mu+3@l_Q5J{F)5t7NBsJy zh4T5U{oe9QSklpRqOKkY5jFF@!5LOXW#m@<0t9<(m88+V7UR8v-d|iXs1w4 zQ!pd_+=I^JnhdYRn1R|PZimWRnOUBsmWN&Wxi0gZ)XMRJqm-d)o8prSN?>s4!@vX!U8Ub)``SgNX(YIJ#>*j{5^>GgYfahJA@9D z9pwkxL-J-p+&Hk6>lNIWDF^g|ZADt|h_4@vFFYgLuq?n=l5DwFMQqm27-1gMEn39a zR{NM9F;KwR}yPYUENv=dp(;0P zC$W0);k~XX^;Pc2fJJqAjb)?&gmti7wGm%P8|1$=x+{%Zn~ zkz<*ew!iw1$DMa7R(&A8+~Ku5zqp|2xtSZXl2>&mf06^aXqmuI8x#TOGckR2iuipv z`&0DQO2RNu=f*gYmGsN6l8scdnDmhVe7wX;%#~YZH}p86k+0Fj&lwAQO~PtzL`e77 z8onnE-H&Dhs{GQkeeXqKh>xS)Pe6lY`|#;u6IJzla9aRGQ=bMNJ4^a_3$ITq{l=cw zN6c_0iMh+LlyAZI;r0IAsMy7scK*xG4h~5fI3zN$jJAP;Xl}N} z>i#N&%+SDE*KKn}0$dLFzV0_sf#EYduPtj6B3d7wclfQ!NYgj`;JNl3(=~A%upbfo zq`W~MY{#C-9@lNi5 z=#+z_Od0VmN~DkXlQ=5&lp3+Zw&l$jmFMDMy`4djK7(}s56@G;(G`2Nl>=gWRB-!c z7rvhsulMgNeQ&v7PjvCae$yLor5TjK^n>Sy^)vfSxM^y!$2f@}zuoICzbf0r3VLZY zw-4RN!jR}??K~}IXo67b_Wi`?$5y=^OY(0qLhjDT%0k*gv*r1qr>efyb}1k=Uo>?S zO|u(VVLP+1DzyeR%0TsGV~2!QXE`68U;D&+X>C zP<(2P>gowOh@~(I=OM?znZ}XfP1lL6cqaQgsuwmb(@G{EZ251S#D6X>GxYpsRXOvOXn2C$N*z&pLXm7@$Ww@E`|2r zj$j6pr5{gD^ol{AGr6p$r!s_XJiK-SOMHG#teGF6s+ zXds;rWQOb-9?+2P|Ka1;=;5bJt5^Z$!LhDu&$9vkK9c{Mz-!^xjUm2lAPYy14e>}r zwuISHhnaE1u@h7lbk~VLm*xAC@EaRim|#VlyW0K&k=b$*-6k4aQcU`M>`*QPFUv3w z6h6NiIB-)QBF67K+SZaj-zicdXjmJL0k%UH+^02vjYIx5rTOnR9DKep>INMgj~d)A zW+w=H#XlUO8Xofkwbw9X}8Qw)avz}T?PNmwX5Lu>dgl#NS`kumJbS#2>dgF=hMe~bSD<> z|7j+4cu$&O!8fkfLd0qA{&(bhhV*1M2Z&)!mPs?toF}w=y8GlUVQ7jpdH;N~IN&bJ z+L6z!+wj$TW0r7A79NGU-f`Ha5C3d4`X3Sas}kT7-CmY`dExUB&99!yHeHv5bKcWy z&n7J1x!!+OuE=h}2%OkI6<#U5@b~dO#|!evZb|^uU1e`ufd41W^gQd%Q&Ct}L4PfT zRRvZ@JZJ5{KezvP`ee)}j4KE5kiVb~Th9w0cd%12oD+n{OT+W*OGQ8~>UkcMryPih z-KRb2ws8NCFsdlj--W=lA5Xu&nORq~(DXd~sj;*8wisM{G?GBSXKsIp(0D?+OV_)2 zC_>bE*&k;E4Cl4acioo|r(4|M*kC)c=&=@_}EIK^}S4acw@J&AnItZS> zeGW*l?Aq)s027g1w-28bg*aZ|_Lr3dAB*7^-(r=4o2BAh&L@CoC*j7+>sEq-k)u)( z_pkb4Ync7Ukd6-ulwU6!r&56YWfa^jWh&6KWLw{RO#m_0Hx5^X4MFtuj-quMM*o;M zH3s+6m66A?3}Mq6l^xw3q^}<*mNyFj?+L75uH8@-O8Wa5y!N=m7s&(bu%MNw_Rw*X z^!Y2izMRYC7O$FQz%qZ0O$kOH@b`(8x364!Ba|cvClVjoXF1?t`Ji1$XOHom`h4EC zuCpHCfFrc~)@^hU0*Wx(1gcCd}j-_JNbIbGPP7QI!7$pCf+mDXNm{Z&uWPKLUr zzL?uzBR2gg{K5#hzS@7%M||P+!^p8YeS-%U_D3-akA^I~e&AO2X4|FBl*b0#?W;ce zKx`_5twsdQX7+#89US1lvs@A?>S`IjDk?+IJ#5R(^KYGke6&RqBq-r2*0UvE37dBt?h!r@dpfHf=b0nKUw<^`iMckA1{Q*Su>@@Vj+VzE_J!_!p939$*Ov_SLI+_tk%5fx;_v~@3y;(@EJP+ zsBe|oQ`9XAyUN7&`k1Ogqm2Q#1??Z}M|I&*nP)B>@cFRj2IgKt$S6%*C-_keloV4r z%DClWi`1>_4{qat>JGo1exwF)cm)|yXV35d5oC82lo(icTZ zx`4NLF3BGiN@Zgu1lil3t}1;m0m~Uwe{7DBhp*iipYOb_3fBI#a`9t2Fi17xA`yxF ztGPI$`~TYngi|8F1e_p#{onsKHI(}Q6#~kBL%vnqi?`nFe}x-LCnA6dAOeU0B7g`W z0*C-2fCwN0hyWsh2p|H803v`0AOeU0B7g||c?k?qVbAWXS-kJi|9Ml2EJFkk0Ym^1 zKm-s0L;w*$1P}p401-e05CKF05kLeG0Ym^1Km-thzYBqn9~Ew04ikeO|G2!}Z=^wQ z{Py>EsnS5n>&N?W=DU2ihfMbx-azj^{x12A(t!vd0*C-2fCwN0hyWsh2p|H803v`0 zAOeU0B7g`W0*C-2fCwN0hyWsh2p|H803v`0AOeU0B7g`W0*C-2fCwN0hyWsh2p|H8 z03v`0AOeU0B7g`W0*C-2fCwN0hyWsh2p|H803v`0AOeU0B7g`W0*C-2fCwN0hyWsh z2p|H803v`0AOeU0B7g`W0*C-2fCwN0hyWsh2p|H803v`0AOeU0B7g`W0*C-2fCwN0 zhyWsh2p|H803v`0AOeU0B7g`W0*C-2fCwN0hyWsh2p|H803v`0AOeWMpOt{^nb+A5 zR7F9GXS>wTGb+HzE~c$7#{;C=yL{cn-Lo4OP0>CE>~L-E z-PWo)91LG*GMUa7Bv~ImE`u|nFZ6^s7OV%a4@pFT7y{pob0_ue*x}YYi4Iy%c{to2 z@$HbdG!UcXpTjPtaEVR0!VL6&1~l|*WWczjT&`SQo@9M^-R~M}*56?g0OqT=vv*Jm zELb02FOrDBzar2W8aj_>lRO^^3w+vQ>Om`n)9T zBh?P{J49e11Xk>Q_RN`%87iy7etLs6oN%TtRX<3&UqyR8w5d~O1)Okl=`J}U0daIj z_2uTmun-&3ZxMn2HUZA?>6`qTGxMhZcn^Z9mgn2~MhHl?OJ4W+#-exZV72Suah9!0 z!0>ca^z>2E{k8|mdg=7-7`PGf#qW$57Hq_gpXKnQ`CU@;2mKBa_-_zk+xY36f)56) z)1%CfZes<8??tAD$z;HhVmjH}%K*gMq`P91c~CDesL|gI6Kljlcd|ib*f%*i*_4t^ z9xMr)&pl$E>LR?I2wG>Qb4-I5_VK?ZZ%C1Z{5!efTERFN;^S!d6VQO4t&9Qc9I`~) ziBFfg5o>tG7X=VKy`yNIh7q(%<*16kQzuy;_QobdgI5Z``ih2mnT;{5KTx>j%djTN z`UJ=?9U87t_(wlr3}YL-Lw{IlldKP)ZX^jK@b+P>#Vth)Tq^r?jMbG6Zpra*={y_N zwXP~K+%1P8Iv?uE$<`bZ5r!{&4G(|Wivz8^dZD2^Jg_EktG3KTAuzYjzSsPN@c9q+ zL&uC84hq3j(@g`DALQWPz8Fa>A5~Bi;(Q$ZT>}*OS}g*ri1)A8`>7nt=;nv4QG2oD zAC*9i^^L<7VMDN`=vh@?s6uqQ@wCM`rj)mZ$-Z{o~xZ2I8t%)AnkET z-L=ICc61e26@>!H_TlaPyURH^Hmr^AdVCSgN*S>6oT4 z&?h{8DNXf3w};b%di6RMXb@vOwf{CV!TFJ2UAk^<6AyIp@M=xFD!@9NwRnASB2F_;7?upZBS8lk!sF!5Q$#tXT!Dy0~_^S_{D)j?ql2VF|dXxvVE( zW?r69ef;!=`X1K=!GTW2*xXP8s3HXR?@m^QUELf9rM7B7;9Hq0t8yWN_2J`nUUqzo z&p{FBsCOJzE7AlO>)`g|n=bU_-WsV}z z_TlaPUz2G~HD>O2m%yFzdZz`!Wq0^zvEf^!8jJ+(sjGLtcM#aDket5 z^awA1c>Yu;dIVRni_XrU{ET{7F_4af=cOL&C3h2_zgCPC89S~E0AFpFD#dFts1OdI z%Vbi5^OsgDH;FFX-^f}KD9HU#Y1S{or-M{!qssF1?n(s^epBUESYrgF>cRicwCg=> ztc(Jjy#KxRm9g=H_2Km*Nf?1GSH4-kwWb92iWfXX!9yh1Gc8_+$2cZF*pN1UpXH_i zsAO%c>CqE_RWF^*{r2#}`dsf}w)KRs_ZK*FMfF355Tq15@5*Y!0Vegc0A@%P6!%-U zZM>-jJ2$Alx#uH7ba^S+)Lt#1EDUdlSK8Pc%fZ<6$MCxzdJygO)5vK;j%a;&%9ckd z?xoZz&epRZ2OMj87)ba3{BORVdNr;%JKk6ICeWa%A zf9-dw^tOY|tr$4<*grx#pB6m$+7CRE#K3?(UC~B+;^(h0ird;GD@0+Gvd>9gQyvVK z^Sw%qL)Rvk9E7uzZC zRs*A;7SXSn#Mj^VNz(KeAB%zHv(#NVLwc~iv$QABP#+#M=jw?z5kDVhbaS$qyjc>S z*5)M)E9t|;UG=8#clAKNFAC#XNW8w+hV>@OYb0Uf@KTBEAM~KNn^Wz&vL4)${n{;B zO8R)_f318kR(i|CGlXrq=zuIHPt<{YLigi{9CnP37Kqi)xHHu%bchW$v3=b~_2Jh% zRU-eMKz4CX$kgES-Bv!PdDt-StZk^M3cVRuhf<&7Af-#u zU96e-@}lm|fE&RG0RztebImDnFydS_Izev$Q5+?m5Ts48eZTV&J@g^Q=cqJ*boGw9 zvxaac$7@HN8tMI;LRk%4nuIKP`{L?iyA44%Sg}5M4e9!RxA*UQP4lYa{$3MGDA@5u z>HFs~U4gVIT>J`ZlJnKx(&0UpOb{;L>fHL(zhBq1MwLu0lpQ9PY-b%ZBD_4~d4FcM zoA@9w^SFu%U}3-AD>T1A_9m2B7g`W0*C-2fCwN0 zhyWsh2p|H803v`0AOeU0B7g`W0*C-2fCwN0hyWsh2p|Ig3j}sMDBC)xhyj~e>DDU; z)u1A~m)RxR7&_VXekxxw0glBYY?sH{f0Cfp?q1Wx!`{wf6XdzT$Ocgz5>YW2G@(%5bZjrlc*-3aDR==;s=czTdSt=XLtl zRT{84`cy;V8guwgA6C%2>DT%e%E?xY>~k(SQ|f$gj|v}%_W73gav5qf z$D%*>di(k1%0KXb7Awm9Hgz+wL0bgH%D%Y!qhFV;gDE; zAm_8w%*E)=>hrW^%(!C44ZJtDpT56Y5uBJCqK)kV!Z>Rl+{z`s{NT$GUdH6S{Y-U2 z8eCm7v@tXL!|?Zsm3xOxhH~s>;iI`CJw>b*e00C7JvK>vdGh5Alc{f<*bLq0uOb8kL1-qa-Pf1CVum!KZK+}+I?Cy$3h1vScUY-Tg;*VDWwp{&Xpi# zb7w6L58?X_Fs(0^vWcj`;Hm92cHU-S;#bSUd~p>lDKnVT%p_b7-d?%z{Cd3y0M><^ z8t30yLyCAxGkKX7;GYvJm+Ou{UJ)q`FRK*RQ^XoW-kFp4{OQdA`|zc(@XY=SLiOOo zvGw>nehra_Y1MOi+3hCqBg~uLlSQ9sJ$QXl{H(H(9?Edr)z3*b$P&74%8c|GlYS0^ zLiTq3$n~1gWFHqv+iwBcO-DH64V6f?4{zu1GWzCQ2R9Ze7~I}RdD34Mt~}KVsXIk{ zdlu~@Z*=d7G;H3QJ`ny;6Gj-~^EaF`2J&+%jUN9Wd-olWRsTN@JW^=L-g|GCy?NPt zq=bg-N-2>BrDzyY3PnaL70PO-L`g%5q@s{fqM~7yq@VBi`?>gi`CMOIy6?OD{=BY# z-j8!#=e*AQJkNWbah(%vI^ldDNOAGmlr9a*6aoBd;o3m6#Gd8LP&uqivVS4nZv@w} z#AVaN$L|LUOpR2(yGj66qtHEvbWJ$t+3-9El8A0I>)~{*1l;JxJ8j4E{ zwO`|WC|aW_seIu}}3ZV{4o_L&T|N5L#aZ;dO4B(&?;Pxfa7NW0H)7dmlzMe2tl{mS} zNx_G(i?x?Hhw8s>UPO|yCG^(LlGt55`TiqC#)MnulpOTt(C$5~WdfUbrb!A2k$+#U zZ^v?-meop7=^>W+?4uQ|xgCCYuM_$GM@4X3{H1zzs1$tp-{rz@y59HRjlaJCAnvC* zNj=-XUWm&RQ}$zdR#NQJphuCPboHSI>|pc?rq`SN^C;R6zxc6b zs2};7`y|5OR12;RW|}GHn}W>j*tH=?CO*EpLf~@!)-4I|I$e@;FKfY`4PUG|v@F2q zvEOnPN;CMN^eFI<@Wk7*>K*GVEsv|hjYrLgj9-~SU|Pl-%Nz>`EL=H#HjO$wHZ(a= zv~~RVsx;r;Y!U1#2^o9m(l2jum6s;uGK#-KBd_Bt?nzKKrX zXzTG49aMv&^y}1nX4=5{n;%Tx=}o@h_4QfQ?etL?eC{rw%6X{=G7dA2umqSua_eWB zg}r0@OBUVu9=Q_}|9=^Ad-4V@x(5vXFM#2}nToV34X_EbkofrB1YR9>y;`(r;^U#_ zPs?{)8Twz3G|kUD%*pDY-TI*I`FbGeRbW;=Xfjt+lFqyz@3Ag4ZxyiTBJV!P(dmU2(hCK${7tC$o zY+%3_fn6iVo5cMz(e#7OlO?fYYQx9ry-(jJ`_3KfuIce3ZSK+W#~Vy*3-6h`08qc! zkiPMyIZ#H$?q)O{yPY;)gMC~!ijdqNng?j5U(ty}`|P!)P7a13S=Oa7+hc5dImb)C zdH*~v_} zXmUPqxju5Fp1!X6p1gjGC@?YlZoAJV3NqAX%8m=UVYf{5-s}Zq_kWoy&!y_2@lW0H zh--wcRuFH(opbTK3f#GR<@QQ*KG4%Acs|;!1+OkX-XgeO19%Ge7e}v?8$Pcy+RtX+ z>v`W;6^6$@bdFyygeoe+O80_krG9*{_-NXiJNydp=t^Byv=R)*5p&|K2ko)r%0MH& zvqu7yA+>s*b|b^k@nhA(cF7kb<*Mp-KF7<8qQh~Twti&k)>8nNFz1D(KgXWGy6Aa4 zsDM`ub_RV`c6eqsX8+f&^H3>UD>WQ%U}?#Eu8&f1`D+dJR_BR7-=e43>+p&@vOsxr zrALU1-f(?!uFVY-qtJu7-*+coRvcT-M|%>d&2H~0n?1CjiR1dx<3g<^yoT^mi><1U za%?#vE;l;uv~Vthxdd1xRaWM**A%F1Y*fA-Fo(^aP36%CCO_U=AXB2g%1H?%I#Zl- z`K{snNr_9B3`m#n(fJuYeX1=gxAC^>zx-`s;p|%y>z_{kIDr_~q*_qgm{x1Jy?!g5C5pO+EtUvj9XS*rT@wZAU{(r}KEwuS(W%|=NTR+ivi z1aDRiolhjX5>vO5uUDqU@Pl4%tk=5EvEwe{e56u}2A7@5`{d#7i?-W`pX(3T6TdAN zmoFHqH>8#u{k=^}$nw&S(y%mgm6oHP-f%q;+V`aBwYUMimrL5$Fni+lWYrc=Z;CV( zs7yB<{=?oVt#Gn^4~AM0=Zqs+VCNr+@TD`B}cuUmy6@yu5x3rk&y+*4?~b)Ff_ z)EJD_K0LPEo(ag>sPl#N|C2p#c3Lv;_;~9&yYD?iSv`1@sM)P%FtU8lqrM$%1k&SE#SAIg<)Vtvc4Xe4mR`y;%RD)LRA7O+wX4c1<@1^KM-7}vJ3 z?F(@`xb_*{=$91);`Hd$-uN=#&z<@p88^2`x?*gJVugLhNe!R7qNH3TYX0bjxbpDyXotAC z;0%>P`Qh_RPlX@qu%B0ea!Wx0#$7Bx(A~a$ri%3N^2F)gk-r}N`?2JdoJ zg6oZ~w^bII!&Ciri&W>0l(XeOyCoZZ_~5E&c8|mYfPm6^C5~))2$0uU{<2~0c#W9f zD;Bz2gDrUAL7wj;>qNrvbG-lOyqNaC@~;h%0k_Mq9npX_n*)vL-NqjO#)#GIW?jb! zbP-gZk5zuyPwstGUhrSz#nWsb zs>be*k0+0W*zj`0b;BR`+>_K{i*52Ji&tZ}!}{d)9}dAhAj07v_8?vns9&YbZZI4f z#}c=*TBG6YVou@V?JGDVM<{IJ8Bl+-Pk6iR&e%VGrJT#c;F0HH{F;T`5ds);pK~XbR;}yX~_3;m4ap&toPo zH`#Q_Sw`)dMbzLF^em`{OBk4sS`P$gjjcZujhpo#d)^EQdKj>fS}<*mJS-RGVV(1M zZ2g{Syj2f)=k#W?4nGI-&1ug{Em3}$=<=iIdr7@~@O(2btYtf--%2rby=pluT%t1h z^HHPYj-IBtq8r4-#|YEpKOQaJ&kyTgZtbLL5r$STb*2rSk|25G37=P_C|G~jx{B(DjagJwKmV@1D@S=202CF8$5kC*tM*F}`wPsb}B1 zk{2$1%IL}&YM(e2d+#fMQiNsFYafXW^>-P)6_=|i0;uk?jI z2s$MV9n+0F_mrx_4r%4!ElWqXr!?B5wZ@YdsyL_~?wl0xopUdQ5c}ZRAG83o~>WpHo$JTR4`o+N&f$YQO1~wfD_?E#3 z#C(rVUo~~?aXRX# zP&`A|*yC04s(r2J*73tn{^M@%s>ilJ#O23JU#zDexMEEYYiu@T$$yfDR~rKDcrT1? zf5wYL{5{r3E6-kZ#O?lh+Zv-p(r(1%CY$b;ei>ts#{rKXysxk65rDc)6fv}vwD&0&y-g2PPwfEs{3pMzh33ty3 zXo2geJ7U&;YOtnq9+TWTdC0LKf)FE(> zdW><96sW|}@HQVK!0gNbGuIqt@QJm%Y~rB}gYFZG6d9zL0h|-10Tyk;=y;k57Wo?_oL^pZd1D!Y%Tx| zwH7|TOGf6Gw|-AiJ2(fp&b~kKaOnE!)}gD3EhVInkBM;^i?=_E+`|uIsYXs#^dt56 zDZ{LUPYm>Ma=K}Oi-7`sEYp&4a2>my#5ly1aNtqTAOkbxaa-jm`*8vB`>m_2(v93$ zhU;y?^}za2WAfX3(R>5HnZEo`Q8>`@g>CHd3UR&TrDp@>3_tCh4IwcKg|#b%AoN&` z(Zj^?uPcogcf8+E@qwcF7iMsob$G{za1JQhv?%thEH`vUUK4tv%npyQNI3ZpjT6R; zlOO!~WvT~1X!T{h%Z`?T430S~4+Y5soiHO8|ImKB;^)j{PbCeP+pL>6bduhGE1cx| zBh>j}xu?{j6%F#k<@M{&y_-wLwTAl(V!zZ9T9@`TX6$(9=bRT`d%iM*LHwcZHYeo3 zRqVZ(ey=hdvfOFfZ7u{A#mh6}&j^FMOTc^AcM{O{y4o=`a-`oIy}jXD_a&Y>3JmAx zu|l}w>bSA(IB~gco~z@E<_ka=zpX?5t&#Ff{QXeTC+1>T5m304^KsqPvH2&?M@-x1 z9(40O#0HNngHk={M%r^h+H$4o3us{4WwV{PwhP0Rhl+8G$Hy->50mu4@(L4N-A$R} zUn2;_^@LoAX=j@?7q%_iGDGRG6xfv?I(Q{@;_dws#?_Vr#v|j&&gYj2;Xjy$>)W=Q zR4)%UlV9H+H?4@YZRLk!8D0z6+Ld5_uj_%2EWdtyMf6Da4Us&xk_Sq*?pb#GxeQ2~ z7v6RGPJn)IOQqK7%5dC}@>CMFP^=bU zvvtYH@eOhPq|zmK6d#ULzshKOrko`78g3NwI3fgfqIcl>J#k=5_i8(IVr=;% z#yyx-?!i6u+`)RbU0Fxv72u^+oY;~e0^GP|d3l@0NV`d#e{sXZ{d3|+#$UwmiK#i$ z08>CC=kRl$@2$Jc#kG)heb1$BO*l25bo+971=WnUOdsAdhtCWCq6h!93T|sxXHa6j?rL_a~|V^%06eHUZM(oN>a9 z`?F%ZqTqreR@n7f;OQz`PFS5D$5wri50v#+-DG?;wj7ZPczV52P%x9xKCsCfn5^A^{pViUaV}7B&`2_)Ja-t=zT1Y*1x9?kb*nk*FXLi zH}*UkF}~gv6Q)#4PPpuf{9I>9a_; zuj?Of-EDnmY<*+AWO|Qf3pJ=Ox!}IkZ|J>M^I~0-O2^-C#C(iSw|=B54ZlSXG`)}P zoMPo5yz+{dLgvK#rP1+P3T7>51J2?4wx^eo>0$%v^T4B*A8*>ec(MPn6mEF2MbGrZ zCz;`L^CVS&=sL^DIL39hN1j)~$aUS(aT_i!U%l%pGo0sh-I)1ssQ)>C#^t}>Yga~n zUF6n!DR_N+p5BQBDNxj&CwzF996T3I>uql(J)YRM`rYDy0{-FrNW}a+$I?3XIQSuh zpe(x}FAVx<))cQH-Cti-oKY(HRuYa}kG(|qL>0W$PFD$;l5U^d8L}!9?8g3Hb@Ec# z+?#YD>n-tc^H9H~b$^AG`%5Vp?J;_qf~o2nyTHhJgZR6GxLyC*0DAcD!r$uBA`cg) zpIdSNGU`}74?21{b($8C-w)+4 zSmK`UF&ngE1ndr2aY5#DujRf&&!Hx+XR@j8p6WombxiQS1KdlFD?@^o8 zxc-sjV5Uo#s}8;;zy0&+r%CqR#Q|-~Rk0!jWf1XUE=w*X-EWMS&%*X-t%@^4&$TXk zFf%rM?EN<5El>RY%z@jF=;zacYf{yM?6uO+=)x3Z^I+`xJmUQ0rAv($nDXU~xS52S zyyz()en#!zc@Z!LwKgj4X53hMNj-t2C2Ts z_4~rcp6}9}^IGMN1v4zH)K1qI9NWJT^ZS#&YkjuC$aRouw>ls1S~#{oRhiMb*M6c0 z+ZW8)6!S=X%R8(rDG3*b?XP?p`|XC_Pw{&FhGUkb&!ajl^EH20!~n$nj83;I@XkKb zCj{yBoZk$U$3M;+y*zPRAwVp=os|}@#$S=hd&3MRyXVlZl_%W}5tk#C&h#p`a$d#& z_divpm3b>c`6@p~xl81?(@qCAakEN{jE80}eB)s2Mt*zn#G~U>U7H|u-#0XjzfQV5 zk=i~|-y5D=nJllu06eQ+9w~Y^a{Mc*#SplBgDAXnzc2Uv4G)~V(IZNDzzfm#iPg>O zfS%zQ9-W{dI4z2?9SuxQnwL`Qyg%*MxJR01BW03ZMWApum5Iz{MxsN6lBV5B<-- zzU=iO5un`8y&`EIj0)^wO+0@^z924%0w{n2D1ZVefCB$p zz~4WbJ1Lm}8@b*4AD9olU*H5oe&bt1;In#OD3(6{eXRdG+O%m#x*;DNt{DQaYzue4 zsul2mP4gwl4PgiFzFvZ@!8Cu1&8cSRFC` z{p%Brhx7ej0{UfDW}o}Sz%x0&w}0q4{>0~Jar8wcbPp=SWOK`_BDG&vU*li@OR|FO z13GVxAJLq29O8O|@+hBQA9@b^)3thSH*NsgaftD<(!CpR(ilOEc7M{YTGIDN66YT; zwG1v>{m6y<`afQL{Qa*L*ie@#oEdKjDi_WdY;(7OD#c6uD&gec2TW}5U-eXLpJEvM zJcP+^ZQr>~P8wFaFxllu&F?vV!MnQYlkXQv#l!Fa*#dhy-YnQ!rU%yAN|rLzR^XIg zFLKwN^#At8(;(K5P}#D^72awv-u&bJ-n~};!(M%T7;nCb{(dei!kOwK>HncmG!D-9 zpCLdj&)kDXO^1h`w=>nP7SHP}HV-m}>@_D@B!`}JH`RD|MSRQ*|A6=VOf_G){C|c( z!o%H?`(kv5j~CYO5I?gbko@u035rX-oS8$<`&1CCiHVx}ad6Sx@UWN{=5Sx}CUtSk z)Z6{?t^M;ZCro|ZM=TxopYrZ9t|b5eO2jyrq5uk@z~4=PIKC<~oqy};>8X#e`pe|w zYrpBkuX1pA`f!_S)71NoUzHz>^PeRk|3kBC3k&Jz@=R7kf#X5-%0RpxFj+U89|ceV z1yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5Pyhu`00mG01yBG5 zPyhu`00mG01yBG5Pyhu`00mG01yBG5ex-n+>&+V{hu$Opt6~<^_p2N`MgIG~N9W`1 z3B%weWrDvff3r_#hJ2bn_Px!c*Nf9AfC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVefC4Ch z0w{n2D1ZVefC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVefC4Ch0w{n2 zD1ZVefC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVefC4Ch0w{n2D1ZVe zfC4Ch0w{n2D1ZVefC4Ch0w{n2DDZ?TS&&_0F8nHq!--VK;S}31i}$PYg>g^-1yBG5 zes6*8R#avO;u+xg&L!p!1^ya=t4BDxcKH0d@!DUr6}VOu_+tcA&g(R?T%QAfOmvKj z0)KCT=Uj(Act64M)!%zBV(y6o{3_c1z1Nt4I8APv&=OE;b(R5^M=P#1pcb5RJaY4a z%b~#UEYRO@Eno2^J^apj#Jr)vLx7SMW!?9IYm}AZg!aWnt z^XnT#fIt71^qfy}@acedn(P4?xEdAX6eJ}Kx60-%W1PQHv1l zU!Ami-ez&w@h~(nwnBM0ej&l|$l^3*cwL=KW5yskoX_9IAM^2R1)A92%#3#%)OE5B z@p_Oq1GL{he9N_F9^~|%rRob}fQ(d!&sXMff?*kVkJl_d$kN@i#d(kil;$*?y11H? zWcm2~(EZcS0Ra$b>Y8DY#1Gm{w|)$MkpzmITGr4#^02-B9iDl2?k%)F6QU zC0=Q5b|t7T@@bEp6u8wn)yJ6g3}B-Zfa904f) zrj^TDDFmFSkBZVp%K^<#kJUeyY7Ezx(aYg93jALJJ{&I>GoPn|1?~E0DdXnAx`08Q zX>KFqnj9WNb%5{0$L$3^7b;oqvVwXX&#d@$g3ubY@5hgyVj$wb*owxJ0AJaIyji^z zpof{lscoeUFn_VjS(hyWwc$H$jDWc@ojknzP}<%qBnKKC zHrtjxm4jlJEe#4U6u=?JknMZ18f<1=(74uZWZd>yENjgICROk**}9x=vkY`Ir~Wie z5C&5D#qUwz-wDj^+0$KKLj!42;dQ>ub3xAbQX0zzMu?a#R(Lv?334pDtapfUgU?fu zD;^&>p{-Nyv%M|pg`C;7(pr0XgF!c!mG7B$iPNx)th?`H29^~Z!-Ni8nWPO-nfWp7ylZ!Y|GCx>+ zdzv_~w%I0ztdNBKWgdi`1Ol+gD2RnkSA>HucN}`6NBR+V)5RW6g$lr={P_6O78&5a zE#hAK1nbAYD+Bl)X#tnxC(}fo`G9R}wR6)=5s;*WXG!lw!NGoe=JUDIaLrLN`eoEm z`MPM;f9kwA#HW_poWINuelNCM-Pt!X4kE6hG4ZqUnzpJa!<)C8k@AMFJI6 zdEuDRoQfSye6Y+n&~RO(2=q|XC+uA;1Fzj9U5k&6tY;m~Jj)Hs6yV#bWBYnl#Ky!U z#>Er`{+&SZS4TcK`e`74Q6x3an--{DJ|40UoeR6K1SM6^VgRA#?%r)`tnfzFLi

J(&di4X7hFO?MAIvgV2PTsVa>0hrKiFc?a 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