# Hydropower Package¶

## Model Entry Point¶

natcap.invest.hydropower.hydropower_water_yield.execute(args)

Annual Water Yield: Reservoir Hydropower Production.

Executes the hydropower/water_yield model

Parameters: args['workspace_dir'] (string) – a uri to the directory that will write output and other temporary files during calculation. (required) args['lulc_uri'] (string) – a uri to a land use/land cover raster whose LULC indexes correspond to indexes in the biophysical table input. Used for determining soil retention and other biophysical properties of the landscape. (required) args['depth_to_root_rest_layer_uri'] (string) – a uri to an input raster describing the depth of “good” soil before reaching this restrictive layer (required) args['precipitation_uri'] (string) – a uri to an input raster describing the average annual precipitation value for each cell (mm) (required) args['pawc_uri'] (string) – a uri to an input raster describing the plant available water content value for each cell. Plant Available Water Content fraction (PAWC) is the fraction of water that can be stored in the soil profile that is available for plants’ use. PAWC is a fraction from 0 to 1 (required) args['eto_uri'] (string) – a uri to an input raster describing the annual average evapotranspiration value for each cell. Potential evapotranspiration is the potential loss of water from soil by both evaporation from the soil and transpiration by healthy Alfalfa (or grass) if sufficient water is available (mm) (required) args['watersheds_uri'] (string) – a uri to an input shapefile of the watersheds of interest as polygons. (required) args['sub_watersheds_uri'] (string) – a uri to an input shapefile of the subwatersheds of interest that are contained in the args['watersheds_uri'] shape provided as input. (optional) args['biophysical_table_uri'] (string) – a uri to an input CSV table of land use/land cover classes, containing data on biophysical coefficients such as root_depth (mm) and Kc, which are required. A column with header LULC_veg is also required which should have values of 1 or 0, 1 indicating a land cover type of vegetation, a 0 indicating non vegetation or wetland, water. NOTE: these data are attributes of each LULC class rather than attributes of individual cells in the raster map (required) args['seasonality_constant'] (float) – floating point value between 1 and 10 corresponding to the seasonal distribution of precipitation (required) args['results_suffix'] (string) – a string that will be concatenated onto the end of file names (optional) args['calculate_water_scarcity'] (bool) – if True, run water scarcity calculation using args[‘demand_table_uri’]. args['demand_table_uri'] (string) – (optional) if a non-empty string, a path to an input CSV table of LULC classes, showing consumptive water use for each landuse / land-cover type (cubic meters per year) to calculate water scarcity. args['valuation_table_uri'] (string) – (optional) if a non-empty string, a path to an input CSV table of hydropower stations with the following fields to calculate valuation: (‘ws_id’, ‘time_span’, ‘discount’, ‘efficiency’, ‘fraction’, ‘cost’, ‘height’, ‘kw_price’) None

## Hydropower Water Yield¶

InVEST Hydropower Water Yield model.

natcap.invest.hydropower.hydropower_water_yield.compute_rsupply_volume(watershed_results_uri)

Calculate the total realized water supply volume.

and the mean realized
water supply volume per hectare for the given sheds. Output units in cubic meters and cubic meters per hectare respectively.
Parameters: watershed_results_uri (string) – a path to a vector that contains fields ‘rsupply_vl’ and ‘rsupply_mn’ to caluclate water supply volumne per hectare and cubic meters. None.
natcap.invest.hydropower.hydropower_water_yield.compute_water_yield_volume(shape_uri)

Calculate the water yield volume per sub-watershed or watershed.

shape_uri - a URI path a vector for the sub-watershed
or watershed shapefile. This shapefiles features should have a ‘wyield_mn’ attribute. Results are added to a ‘wyield_vol’ field in shape_uri whose units are in cubic meters.
Returns: None.
natcap.invest.hydropower.hydropower_water_yield.compute_watershed_valuation(watersheds_uri, val_dict)

Compute net present value and energy for the watersheds.

Parameters: watersheds_uri (string) – a URI path to an OGR shapefile for the watershed results. Where the results will be added. val_dict (dict) – a python dictionary that has all the valuation parameters for each watershed None.
natcap.invest.hydropower.hydropower_water_yield.execute(args)

Annual Water Yield: Reservoir Hydropower Production.

Executes the hydropower/water_yield model

Parameters: args['workspace_dir'] (string) – a uri to the directory that will write output and other temporary files during calculation. (required) args['lulc_uri'] (string) – a uri to a land use/land cover raster whose LULC indexes correspond to indexes in the biophysical table input. Used for determining soil retention and other biophysical properties of the landscape. (required) args['depth_to_root_rest_layer_uri'] (string) – a uri to an input raster describing the depth of “good” soil before reaching this restrictive layer (required) args['precipitation_uri'] (string) – a uri to an input raster describing the average annual precipitation value for each cell (mm) (required) args['pawc_uri'] (string) – a uri to an input raster describing the plant available water content value for each cell. Plant Available Water Content fraction (PAWC) is the fraction of water that can be stored in the soil profile that is available for plants’ use. PAWC is a fraction from 0 to 1 (required) args['eto_uri'] (string) – a uri to an input raster describing the annual average evapotranspiration value for each cell. Potential evapotranspiration is the potential loss of water from soil by both evaporation from the soil and transpiration by healthy Alfalfa (or grass) if sufficient water is available (mm) (required) args['watersheds_uri'] (string) – a uri to an input shapefile of the watersheds of interest as polygons. (required) args['sub_watersheds_uri'] (string) – a uri to an input shapefile of the subwatersheds of interest that are contained in the args['watersheds_uri'] shape provided as input. (optional) args['biophysical_table_uri'] (string) – a uri to an input CSV table of land use/land cover classes, containing data on biophysical coefficients such as root_depth (mm) and Kc, which are required. A column with header LULC_veg is also required which should have values of 1 or 0, 1 indicating a land cover type of vegetation, a 0 indicating non vegetation or wetland, water. NOTE: these data are attributes of each LULC class rather than attributes of individual cells in the raster map (required) args['seasonality_constant'] (float) – floating point value between 1 and 10 corresponding to the seasonal distribution of precipitation (required) args['results_suffix'] (string) – a string that will be concatenated onto the end of file names (optional) args['calculate_water_scarcity'] (bool) – if True, run water scarcity calculation using args[‘demand_table_uri’]. args['demand_table_uri'] (string) – (optional) if a non-empty string, a path to an input CSV table of LULC classes, showing consumptive water use for each landuse / land-cover type (cubic meters per year) to calculate water scarcity. args['valuation_table_uri'] (string) – (optional) if a non-empty string, a path to an input CSV table of hydropower stations with the following fields to calculate valuation: (‘ws_id’, ‘time_span’, ‘discount’, ‘efficiency’, ‘fraction’, ‘cost’, ‘height’, ‘kw_price’) None
natcap.invest.hydropower.hydropower_water_yield.filter_dictionary(dict_data, values)

Create a subset of a dictionary given keys found in a list.

The incoming dictionary should have keys that point to dictionary’s.
Create a subset of that dictionary by using the same outer keys but only using the inner key:val pair if that inner key is found in the values list.
Parameters: dict_data (dict) – A dictionary containing values that are also dictionaries. values (list) – a list of keys to copy from the second level dictionaries in dict_data. a dictionary that’s a copy of dict_data with values removed from it.