Due Fri 2023-03-03 23:59
NOTE: This is a complicated assignment! (The next one will be even more so). Read it through, carefully, all the way to the end, before you start working on it!
CONTENTS
This assignment is worth 30 points — 10 points each for your
awarded according to the evaluation rubric.
The Energy Division from the Department of Planning & Development of Santa Barbara County seeks your advice on wind energy. They have received a grant to seed wind energy production by subsidizing Vestas V136-3.45 MW turbines for installation within mainland Santa Barbara County. These turbines operate at hub heights of 150 m.
Considering the turbine’s Capital expenditure (CAPEX), Operating expense (OPEX), lifetime, and feed-in tariff, a V136 will not be economically viable if operated at locations with average annual wind speeds of less than 6 m/s at hub height.
The Energy Division wants a ranked list of 10 potential sites, each with at least 6.25 contiguous hectares, that meet their suitability requirements, written as follows:
Using the wind speed dataset and the wind turbine specifications (power curve), calculate the estimate annual wind power production potential for each site.
To calculate the placement density (i.e. how many turbines can be placed in a cell or in a site), assume a minimal distance of 5x the rotor diameter (136 m) between individual turbines i.e. max one turbine per (5 × 136 m)2=0.4624 km2. Considering a cell size of 0.0625 km2, we need about 7.4 cells per turbine. Fractional turbines per site are OK.
The annual wind production can be calculated as follows:
The data for this assignment are in HW3.zip
The archive contains 3 files:
HW3.gpkg
: a geopackage containing following layers:
airports: airport boundaries. OSM/Geofabrik source. Accessed 2022-02-03. Description. Subset of the transportation layer:
WHERE fclass IN (
'airfield',
'airport',
'apron',
'helipad'
)
county: mainland Santa Barbara county line. Source: SBCGIS, 2008.
FireLRA: recommended Fire Hazard Severity Zones in Local Responsibility Areas. We already filtered these data so that all features have HAZ_CODE = 3
. Source: Fire and Resource Assessment Program (FRAP), 2008.
FireSRA: adopted Fire Hazard Severity Zones in State Responsibility Areas. These data are not filtered; they include multiple zone types. Assume “fire hazard zones” are zones where HAZ_CODE = 3
. Source: FRAP, 2007.
parcels: We’ve already filtered these data to contain only features where NONTAXCODE = US
(federal) or NONTAXCODE = ST
(state). Assume that “designated as parks or other public use” are parcels where USECODE
starts with a 6, 7, or 8 (e.g., 6xxx, 7xxx, or 8xxx.) Source: SBCGIS, 2009.
roads: OSM/Geofabrik source. Accessed 2022-02-03. Description. Subset of the roads layer:
WHERE fclass IN (
'motorway',
'motorway_link',
'primary',
'primary_link',
'secondary',
'secondary_link',
'tertiary',
'tertiary_link',
'trunk'
)
urban: OSM/Geofabrik source. Accessed 2022-02-03. Description. Subset of the landuse layer:
WHERE fclass IN (
'allotments',
'commercial',
'industrial',
'residential',
'retail'
)
All data layers have been projected into the NAD83 / California Albers (EPSG:3310) CRS, and clipped to the Santa Barbara County mainland.
wind.tif
: average annual wind speed in m s-1 at a height of 150 m. Global Wind Atlas. Source. Accessed 2022-02-03 and clipped to mainland SB county.
wind.tif.aux.xml
: metadata “sidecar” file for wind.tif
Use the Graphical Modeler to implement a binary model that produces a suitability raster, where each cell indicates whether that area satisfies all the provided constraints.
Figures 1-6 show the specific QGIS tools and data flow necessary at each step to implement your model. These figures are separate for clarity purposes only. You will implement all these steps together in a single model (example).
Figure 1: Computing the Wind Mask.
Use the Reclassify by table tool to produce a raster layer which has cell values of 1 if the windspeed is at or above our threshold.
1
.-9999
Figure 2: Computing the Roads Mask.
Remember to dissolve the buffers!
The Rasterize tool has a bunch of (ahem) somewhat less-than-intuitive settings—consult the QGIS manual. In particular:
1
.250
.-9999
(for consistency with Reclassify by table).These settings ensure that your mask rasters will line up each other, and with the Wind2002 raster layer.
Use the Clip Raster by mask layer to crop the mask to the shape of the Santa Barbara county.
Figure 3: Computing the Airport Mask.
Use the Buffer, Rasterize, and Clip raster by mask layer tools like you did for the roads.
For the Airports, Urban, Fire, and Public layers, the buffers indicate exclusion zones; i.e. areas that do not fulfil the criteria for wind turbine siting. Therefore, in Rasterize (vector to raster), expand Advanced Parameters, and check Invert rasterization. This will write the no data value to cells that intersect the buffer, and 1
everywhere else.
Figure 4: Computing the Urban Mask.
Figure 5: Computing the FireMask.
Figure 6: Computing the Public Mask.
Figure 7: Extract Public Parcels.
Alternatively, use a regular expression (regex):
regexp_match(USECODE, '^[678]')
Figure 8: Computing the Combined Mask.
Use the GDAL Raster calculator tool to sum up the masks and classify suitable areas. (A cell that has the value 1 in all of the masks is a suitable area/cell).
Note that there is also a QGIS native raster calculator, which seems to struggle with the temporary layers in the model. Therefore, use the GDAL raster calculator. The settings will look something like this.
Convert the raster layer to a vector layer. Set the name of the field to create to something meaningful, such as “sum_of_masks”. Select only the polygons that have a “sum_of_masks” value of 6. Finally, use the field calculator to create an additional field to hold the area of the features.
When working in Graphical Modeler, you should build your model using an iterative process; i.e., one tool at a time. The tools you can find in the Graphical Modeler are identical to the tools you find in your main QGIS window. You can therefore "manually" experiment with them before in the QGIS main window.
Design a map that communicates your results, and clearly identifies your 10 most suitable sites.
You will upload three files: your map, your project (which contains your model), and your results data.
Export your map as a PDF document and name it HW3FirstnameLastname.pdf
.
HW3FirstnameLastname.png
Organize and name your processes and data to clearly describe your model.
(Re)Name your model HW3
and save it in your QGIS project.
(Re)Name your project HW3FirstnameLastname.qgz
A good way to check that your model is “run-ready” is to let a classmate try to run a copy of it in their own account.
Export your suitability areas layer into a geopackage (right click your results layer Export -> Save Features As… ). Name the geopackage HW3FirstnameLastname.gpkg
, and the layer results
.
Make sure the results
layer contains only the relevant fields.
You can optionally add a second layer to the same geopackage containing the top 10 sites (name it top10
).
HW3FirstnameLastname.pdf
(or HW3FirstnameLastname.png
)HW3FirstnameLastname.qgz
HW3FirstnameLastname.gpkg