Skip to content

Hydrology & Flood Risk

Class Key params Returns Data source Description
SurfaceWater year=2021 raster derived from NdwiSentinel2 Surface water mask via histogram minimum-threshold split of NDWI.
NdwiSentinel2 year=2021, min_threshold=None raster GEE COPERNICUS/S2_HARMONIZED NDWI from Sentinel-2, optionally binarized to a water mask.
HeightAboveNearestDrainage river_head=1000, thresh=1, nanval=None raster GEE users/gena/GlobalHAND + MODIS water mask Flood-prone/drainage-proximity areas (HAND model).
RiparianAreas river_head=1000, thresh=0 raster HeightAboveNearestDrainage + GEE JRC/GSW1_4/GlobalSurfaceWater Riparian buffer zones around rivers/water bodies.
AqueductFlood return_period_c='rp0100', return_period_r='rp00100', year=2050, climate='rcp4p5', subsidence='nosub', sea_level_rise_scenario=50, report_threshold=None raster WRI Aqueduct flood inundation collection (GEE) Combined coastal + riverine flood inundation depth, optionally binarized.

API

city_metrix.layers.surface_water.SurfaceWater

SurfaceWater(year=2021, **kwargs)

Bases: Layer

" return: a rioxarray-format DataArray 1 if surface water, nan otherwise Based on Minimum Threshold method in https://doi.org/10.1117/1.JRS.13.044507

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = GTIFF_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

Attributes: year: The satellite imaging year.

year instance-attribute

year = year

get_data

get_data(bbox: GeoExtent, spatial_resolution: int = DEFAULT_SPATIAL_RESOLUTION, resampling_method=None)

city_metrix.layers.ndwi_sentinel2_gee.NdwiSentinel2

NdwiSentinel2(year=2021, min_threshold=None, **kwargs)

Bases: Layer

" NDWI = Sentinel-2 Normalized Difference Water Index return: a rioxarray-format DataArray Author of associated Jupyter notebook: EricMackres@wri.org Notebook: https://github.com/wri/cities-cities4forests-indicators/blob/dev-eric/scripts/extract-VegetationCover.ipynb Reference: McFeeters (1996) https://doi.org/10.1080/01431169608948714

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = GTIFF_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

Attributes: year: The satellite imaging year.

year instance-attribute

year = year

min_threshold instance-attribute

min_threshold = min_threshold

get_data

get_data(bbox: GeoExtent, spatial_resolution: int = DEFAULT_SPATIAL_RESOLUTION, resampling_method=None)

city_metrix.layers.height_above_nearest_drainage.HeightAboveNearestDrainage

HeightAboveNearestDrainage(river_head=1000, thresh=1, nanval=None, **kwargs)

Bases: Layer

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = GTIFF_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = ['river_head']

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['thresh']

Attributes: river_head: number of river head threshold cells default is 1000, other options - 100, 5000 thresh: flow accumulation threshold, default is 1

river_head instance-attribute

river_head = river_head

thresh instance-attribute

thresh = thresh

nanval instance-attribute

nanval = nanval

get_data

get_data(bbox: GeoExtent, spatial_resolution: int = DEFAULT_SPATIAL_RESOLUTION, resampling_method=None)

city_metrix.layers.riparian_areas.RiparianAreas

RiparianAreas(river_head=1000, thresh=0, **kwargs)

Bases: Layer

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = GTIFF_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['river_head', 'thresh']

Attributes: spatial_resolution: raster resolution in meters (see https://github.com/stac-extensions/raster) default is 30, other options - 90 river_head: number of river head threshold cells default is 1000, other options - 100, 5000 thresh: flow accumuation threshold, default is 0

river_head instance-attribute

river_head = river_head

thresh instance-attribute

thresh = thresh

get_data

get_data(bbox: GeoExtent, spatial_resolution: int = DEFAULT_SPATIAL_RESOLUTION, resampling_method=None)

city_metrix.layers.aqueduct_flood.AqueductFlood

AqueductFlood(return_period_c='rp0100', return_period_r='rp00100', year=2050, climate='rcp4p5', subsidence='nosub', sea_level_rise_scenario=50, report_threshold=None, **kwargs)

Bases: Layer

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = GTIFF_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['return_period_c', 'return_period_r', 'climate', 'subsidence', 'sea_level_rise_scenario']

Attributes: spatial_resolution: raster resolution in meters (see https://github.com/stac-extensions/raster) return_period_c: default "rp0100" options ["rp0002", "rp0005", "rp0010", "rp0025", "rp0050", "rp0100", "rp0250", "rp0500", "rp1000"] note: return period 1.5 is only available for certain settings. return_period_r: default "rp00100" options ["rp00002", "rp00005", "rp00010", "rp00025", "rp00050", "rp00100", "rp00250", "rp00500", "rp01000"] note: return period 1.5 is only available for certain settings. year: default 2050 options [1980, 2030, 2050, 2080] note: If 1980, may need to remove some filters that are not available as properties in those images. climate: default "rcp4p5" options ["historical", "rcp4p5", "rcp8p5"] subsidence: default "nosub" options ["nosub", "wtsub"] sea_level_rise_scenario: default 50 options [5, 50]

return_period_c instance-attribute

return_period_c = return_period_c

return_period_r instance-attribute

return_period_r = return_period_r

year instance-attribute

year = year

climate instance-attribute

climate = climate

subsidence instance-attribute

subsidence = subsidence

sea_level_rise_scenario instance-attribute

sea_level_rise_scenario = sea_level_rise_scenario

report_threshold instance-attribute

report_threshold = report_threshold

get_data

get_data(bbox: GeoExtent, spatial_resolution: int = DEFAULT_SPATIAL_RESOLUTION, resampling_method=None)