GMSEUS

A comprehensive ground-mounted solar energy dataset with sub-array design metadata in the United States.
https://github.com/stidjaco/gmseus

Category: Renewable Energy
Sub Category: Photovoltaics and Solar Energy

Last synced: about 16 hours ago
JSON representation

Repository metadata

Code repository for creating and maintaining the Ground-Mounted Solar Energy in the United States (GM-SEUS) spatiotemporal dataset of solar arrays and panel-rows using existing datasets, machine learning, and object-based image analysis to enhance existing sources.

README.md

A harmonized dataset of ground-mounted solar energy in the US with enhanced metadata

Code repository for creating and maintaining the Ground-Mounted Solar Energy in the United States (GM-SEUS) spatiotemporal dataset of solar arrays and panel-rows using existing datasets, machine learning, and object-based image analysis to enhance existing sources. A peer-reviewed article describing the purpose and methods behind GM-SEUS was published in Scientific Data on September 29, 2025.

Current Version Notes

This is the 2025 release of GM-SEUS (version 2.0). All input datasets and solar panel-row delineation results are up-to-date through November 7th, 2025. The Zenodo repository for the dataset, version notes, and documentation can be found here, and for the current code version can be found here.

v2.0 Technical Updates

  • Updated all source datasets to latest versions (as of 11-07-2025)
  • Added CEC Solar Footprints in California (CECSFC) and Global Renewables Watch (GRW) polygon datasets
  • Added 24,182 hand-delineated panel-rows (5.29 km²) across 1,485 arrays
  • Expanded dataset with 24.4 km² new array area (95 arrays), 89 new arrays (17.4 km²), and georeferenced metadata for 1,225 arrays
  • Added ground cover management practice attribute (grndCvr), derived from NREL InSPIRE (agrivoltaic arrays = vegetation) and California Energy Commission (parking lot arrays = impervious)
  • Added reported and estimated AC capacity attributes (capMWAC and capMWACest)
  • Implemented new reverse temporal segmentation method for installation year (inspired by Cullerton et al., 2025), extending range to 2006–2024 (MAE: 1.84 years)
  • Added documentation for panel-row digitization and array georeferencing workflows
  • Centralized core utilities: osmUtils.py, gmseusUtils.py, and geeUtils.js
  • Consolidated installation year validation into a single Google Earth Engine script
  • Updated CRS for SHP and GPKG outputs to EPSG:6350

Product Description

Overview

Solar energy generating systems are critical components of our expanding energy infrastructure, yet available datasets remain incomplete or not publicly available–particularly at the sub-array level. Combining the best open-access datasets in the US with image analysis on freely available remotely-sensed imagery, we present the Ground-Mounted Solar Energy in the United States (GM-SEUS) dataset, a harmonized, open access geospatial and temporal repository of solar energy arrays and panel-rows.

GM-SEUS v2.0 includes 18,980 commercial- and utility-scale ground-mounted solar photovoltaic and concentrating solar energy arrays (292 GWDC), spanning 3,817 km2. Of these, 12,739 arrays (112 GWDC) include detailed panel-row geometries, comprising 3.43 million unique solar panel-rows across 527 km2. When restricted to arrays verifiable through high-resolution satellite and aerial imagery (hand-delineated spatial data sources and/or containing panel-row information ~ low commission error), the dataset contains 15,744 arrays, representing 204 GWDC and 2,586 km2.

We use these newly compiled and delineated solar arrays and panel-rows to harmonize and independently estimate value-added attributes to existing datasets including installation year, azimuth, mount technology, panel-row area and dimensions, inter-row spacing, ground cover ratio, tilt, and installed capacity. By estimating and harmonizing these attributes of the distributed US solar energy landscape, GM-SEUS supports diverse applications in renewable energy modeling, ecosystem service assessment, and infrastructure planning. 

alt text

Approach

GM-SEUS is both a harmonization of existing solar energy array data in the US and a new product of solar panel-row spatiotemporal information, providing new insights on previously under-reported metadata attributes. We used a combination of machine learning and geographic object-based image analysis, often referred to as GEOBIA or OBIA. Importantly, this new dataset is publicly available, with code available here and the associated Zenodo Repository containing all final products of GM-SEUS v2.0 and locations for source datasets.

We defined a solar array spatial footprint as: adjacent, existing, and connected rows of solar panel-rows (PV or CSP) of the same installation year, and the row-spacing between them. Panel-rows are defined by: spatially-unique collection of one or more panel-assemblies connected by proximity and often sharing one mount, but not necessarily electrically connected. Datasets with existing solar array boundaries in the United States are GM-SEUS (v1.0), United States Solar Photovoltaic Database (USPVDB), OpenStreetMap (OSM), TransitionZero Global Solar Asset Mapper (TZSAM), The Nature Conservancy, Microsoft, and Planet Labs Global Renewables Watch (GRW), with regional datasets from California Energy Commission (CEC) Solar Footprints in California (SFC), California's Central Valley Photovoltaic Dataset (CCVPV), and Chesapeake Watershed Solar Data (CWSD). Datasets containing value-added attributes and point-locations included the NREL Agrivoltaic Map from the InSPIRE initiative, the LBNL Utility-Scale Solar 2024 Edition Report, IEA and NREL SolarPACES initiative, Global Energy Monitor’s Global Solar Power Tracker, and The World Resources Institute's Global Power Plant Database.

We removed repeat geometries in order of spatial quality in relation to our definition of an array, and georectified existing point-location sources within 190 m of existing array shapes. For points without a georectified array boundary, we manually annotated new array boundaries or rectify existing boundaries outside 190 m. Finally, rooftop solar arrays were removed by intersection with OpenBuildingMap from Oostwegel et al. (2025). The conceptual hierarchy of system boundaries and logic behind mount classification are shown below.

alt text

The above image is the conceptual hierarchical system boundaries when considering solar infrastructure and solar panel-row metadata logic, critical for understanding this dataset and approach. Green boundaries indicate the conceptual boundary for each term. This study reports the geospatial and temporal characteristics of panel-rows and arrays. A panel-row a spatially-unique collection of one or more panel-assemblies connected by proximity and often sharing one mount, but not necessarily electrically connected. An array is composed of one or more adjacent rows of the same installation year, and the row-spacing between them. The cell, panel, assembly and project are not the system boundaries focused on in this study. The ratio of the long-edge to the short-edge is the L/W ratio. Azimuth is initially defined as the primary cardinal direction of the short-edge vector (face of the panel-row) in the minimum bounding rectangle in south facing angles given that all solar arrays were in the northern hemisphere.

Existing solar panel-rows datasets were compiled from GMSEUS v1.0, OpenStreetMap, and a newly digitized panel-row dataset. To acquire panel-rows within solar array boundaries without existing panel-row information we used National Agriculture Imagery Program (NAIP) imagery and applied unsupervised object-based image segmentation and supervised machine learning approaches. We classified NAIP imagery using a Random Forest model and five spectral indices with displayed utility in classify solar energy: normalized difference photovoltaic index (NDPVI), normalized blue deviation (NBD), brightness (Br), normalized difference vegetation index (NDVI), normalized difference water index (NDWI). We trained the model using 2,000 panel-row samples from Stid et al. (2022), and 10,000 landcover validation points from Pengra et al. (2020). NAIP imagery dates used in the development of GM-SEUS v2.0 are shown below.

alt text

Spatial context was incorporated using object-based imagery analysis methods, including using simple non-iterative clustering (SNIC) of each spectral index’s grey-level co-occurrence matrix (GLCM) sum average. We then clustered SNIC values using X-means clustering, and use the Random Forest model to classify pixel-clusters. We also removed low-quality panel-rows using several object-based metrics of geometrical similarity including minimum (15 m2) and maximum (2,750 m2) panel-row area, perimeter-area-ratio, area-bounding-box, long-edge to short-edge ratios, and compactness, all relative to metric values form existing solar panel-row. The logic behind panel-row and new array boundary delineation is shown below.

alt text

Source Datasets

Array Polygon-Level Data

  • Ground-Mounted Solar Energy in the US (GMSEUS) Array and Panels: Arrays downloaded from GMSEUS Portal, Last Download: 08-20-2025 (Up-to-date as of 11-07-2025), Version 1.0

    • GMSEUS v1.0 panel rows were contained within the repository, while newly digitized panel-rows used in this work were stored and downloaded from Zenodo Portal. These new panel-rows were also uploaded to OpenStreetMap as part of the current GM-SEUS version, independently of other products.
    • We also digitized and georeferenced the remaining point-level array data from version 1.0. These were stored locally and are included as part of the current GM-SEUS version.
  • GM-SEUS Digitized and Georeferenced Arrays: Downloaded from Google Earth Engine assets, Last Download: 09-30-2025 (Up-to-date as of 11-07-2025), Unpublished dataset prepared for this GM-SEUS version

  • GM-SEUS Digitized Panel-Rows: Panel-rows downloaded from Zenodo, Last Download: 09-12-2025 (Up-to-date as of 11-07-2025), Version 1.1

    • Created for this GM-SEUS version. Note: v2.0 existed internally, but v1.1 was never formally released.
  • United States Solar Photovoltaic Database (USPVDB): Downloaded from USPVDB Portal, Last Download: 08-25-2025 (Up-to-date as of 11-07-2025), Version 3.0

  • California Energy Commission (CEC) Solar Footprints in California (SFC): Downloaded from CEC Portal, more information at CA Open Data Portal, Last Download: 09-12-2025 (Up-to-date as of 11-07-2025), Version - Last updated: September 12, 2025; Created: July 2, 2025

  • California's Central Valley Photovoltaic Dataset (CCVPV) Arrays and Panels: Downloaded from figshare, Last Download: 07-18-2024 (Up-to-date as of 11-07-2025), Version 1.0

  • Chesapeake Watershed Solar Data (CWSD) Arrays: Downloaded from OSFHOME, Last Download: 12-01-2024 (Up-to-date as of 11-07-2025), We downloaded derived polygons as well as manually annotated training polygons and preferenced training polygons over derived for their completeness and quality, No version details

  • OpenStreetMap Solar Panels and Arrays (OSM): Array and panel objects were downloaded using the osmnx package in script1_getOSMdata.ipynb, Last OSM scrape: 11-02-2025

  • TransitionZero Global Solar Asset Mapper (TZSAM): Downloaded from TZ-SAM Portal, Last Download: 11-07-2025 (Up-to-date as of 11-07-2025), Other information: Website, Viewer, SciData Preprint, Version Q3-2025 (Version 6)

  • The Nature Conservancy, Microsoft, and Planet Labs Global Renewables Watch (GRW): Downloaded from GitHub, Last Download: 10-30-2025 (Up-to-date as of 11-07-2025), Other information: Atlas, Preprint, Version 1

Array Point-Level Data

  • NREL Innovative Solar Practices Integrated with Rural Economies and Ecosystems (InSPIRE) Database: Downloaded from InSPIRE Portal, Last Download: 10-30-2025 (Up-to-date as of 11-07-2025)

  • LBNL Utility-Scale Solar (USS), 2025 Edition: Downloaded from LBNL Utility-Scale Solar Portal, Last Downloaded: 10-30-2025 (Up-to-date as of 11-07-2025), Version 2025

    • Large Excel report; project-level data were copied from the original .xlsx file to a new .csv from the Individual_Project_Data tab.
  • NREL PV Data Acquisition (PV-DAQ) Database: Downloaded from PV-DAQ Portal - Available Systems Information, and PVDAQ Data Map, Last Downloaded: 10-30-2025 (Up-to-date as of 11-07-2025)

  • International Energy Agency (IEA) & NREL Solar Power and Chemical Energy System (SolarPACES) Database: Downloaded from Project Page, Last Downloaded: 07-29-2024 (Up-to-date as of 11-07-2025), More information at US CSP Project Pages

    • While SolarPACES is the overarching project (and how we refer to the dataset here), the product is called CSP.guru.
  • Global Solar Power Tracker (GSPT) from Global Energy Monitor (GEM) and TransitionZero: Downloaded from GEM Portal, Last Downloaded: 07-16-2025 (Up-to-date as of 11-07-2025), Version Feb 2025 release

    • Access request required.
  • World Resource Institute (WRI) Global Power Plant Database (GPPDB): Downloaded from WRI Portal, Last Downloaded: 10-30-2025 (Up-to-date as of 11-07-2025), Version 1.3.0

Codebase Description:

All code used in the acquisition and development of this dataset is available in this Github repository. Files are ipynb or js files, where js files are JavaScript files intended to be run in the GEE code editor. Files are named in order of operation (e.g., script1 < script2).

Setup

The utility modules (gmseusUtils.py, osmUtils.py) are distributed as a local editable package so that any notebook — regardless of where it lives in the folder tree — can import gmseusUtils as gu with no sys.path manipulation. This is declared by pyproject.toml at the repository root.

One-time install, per environment:

# Create the environment from its yml file (first time only)
mamba env create -f envFiles/BigPanel.yml

# Activate and install the local package in editable mode
mamba activate BigPanel
pip install -e .

Repeat the mamba activate <envName> && pip install -e . step for each of the other environments you use (BigPanelGEE, BigPanelOSMPlanet, BigPanelTilt).

Why -e (editable)? The install creates a pointer to the source files rather than copying them. Any edit you later make to gmseusUtils.py or osmUtils.py is picked up automatically on the next import — no reinstall required. You only need to re-run pip install -e . if pyproject.toml itself changes (e.g., a new top-level module is added), or when setting up a brand-new environment.

Verification. After installing in any environment:

python -c "import gmseusUtils as gu; print(gu.__file__)"

The printed path should point to your local gmseusUtils.py in this repository — not to a copy inside site-packages/. That confirms the editable link is active.

Configuration. All processing constants live in config.py. Load them from any script with config = gu.load_config() (no arguments); the function resolves the config file relative to the installed gmseusUtils location, so it works the same whether you run a notebook from src/, modules/active/, or any other folder.

Repository Layout

Code/
├── src/                         # Main pipeline (script1 → script10)
├── modules/
│   ├── active/
│   │   ├── srcSupp/             # Supplementary/auxiliary scripts
│   │   ├── createLabeledImages/ # Deep-learning image/mask generation
│   │   └── digitizeGeoref/      # Manual georeferenced digitization workflow
│   └── dev/                     # Internal / work-in-progress (gitignored)
├── envFiles/                    # Conda/mamba environment specs (*.yml / *.yaml)
├── utils/                       # Utility modules (gmseusUtils.py, osmUtils.py, geeUtils.js)
├── images/                      # Figures/graphics used by the README
├── config.py                    # Processing constants (project root)
└── pyproject.toml               # Editable-install declaration

The GM-SEUS open code repository contains the following files

Environment Files — envFiles/:

  • envFiles/BigPanel.yml: General python environment for most ipynb files.
  • envFiles/BigPanelGEE.yml: Python environment for script5 that requires GEE access and cloud repository.
  • envFiles/BigPanelOSMPlanet.yaml: Python environment for processing the full OSM planet extract used in script1.
  • envFiles/BigPanelTilt.yml: Python environment for script8 that requires pvlib integration and thus a different version of python.

Package & Configuration (repository root):

  • pyproject.toml: Declares the local utility modules as an editable Python package. See Setup above.
  • config.py: Config file containing variable constants used throughout processing. Loaded via gu.load_config() (no arguments — the file is colocated with gmseusUtils.py, so it resolves automatically from any working directory). Supports any Python literal type (strings, numbers, lists, dicts) and comments.

Utility Files — utils/:

  • utils/gmseusUtils.py: General helper functions for all GM-SEUS processing. Exposed as a top-level Python module via pyproject.toml (so notebooks do import gmseusUtils as gu with no folder prefix).
  • utils/osmUtils.py: Helper functions for OpenStreetMap related processing. Exposed the same way: import osmUtils.
  • utils/geeUtils.js: Helper functions for Google Earth Engine related processing. Pasted/referenced in GEE editor scripts — not part of the Python package.

Main Pipeline — src/ — all files require the completion of all prior files for inputs:

  • src/script1_getOSMdata.ipynb: Python file for pulling and processing OSM data for each state. No required inputs.
  • src/script2_prepareExistingSolarDB.ipynb: Python file for compiling and harmonizing existing solar databases.
  • src/script3_getSolarPanels.js: GEE file for acquiring NAIP imagery within array bounds and extracting panel-row boundaries if they exist in available imagery.
  • src/script4_processSolarPanels.ipynb: Python file for compiling and quality control of solar panel-row objects. File also creates new array boundaries.
  • src/script5_getGroundMounted.ipynb: Python file for removing rooftop mounted solar arrays and panel-rows.
  • src/script6_getInstallationYear.js: GEE file for applying LandTrendr temporal segmentation within array boundaries to acquire a year of change.
  • src/script7_harmonizeFillAttributes.ipynb: Python file for preparing and harmonizing all final GM-SEUS attributes (except tilt).
  • src/script8_getOptimalTilt.ipynb: Python file for using pvlib to estimate the optimum tilt angle of fixed-axis (and mixed-axis) arrays.
  • src/script9_prepRepository.ipynb: Python file for preparing the final checks and exports for upload to the Zenodo Repository.
  • src/script10_technicalValidation.ipynb: Python file for processing technical validation of GM-SEUS.

Supplementary Modules — modules/active/srcSupp/ — auxiliary/optional scripts used alongside the main pipeline:

  • script7a_validateInstYr.js: GEE file for manual validation of installation year using available snapshot NAIP, Sentinel-2, and Landsat 7 ETM+ imagery and timeseries.
  • scriptTrainRF.js: GEE file for compiling and assessing the new landcover training dataset to classify solar panel-rows in NAIP imagery.
  • scriptPlot_maps.ipynb: Python file for printing and export relevant result maps.

Labeled Imagery for Deep Learning — modules/active/createLabeledImages/:

  • script_getLabeledImages.js: GEE file for preparing and exporting 4-band NAIP and a GM-SEUS panel-row burned in imagery (as a 5th band) over an array to generate labeled imagery.
  • script_createLabeledImages.ipynb: Python file for taking in whole labeled images from script_getLabeledImages.js and splitting into 256 × 256 pixel tiled images and masks.

Manual Digitization Workflow — modules/active/digitizeGeoref/ — scripts used to manually georeference and digitize arrays and panel-rows for database points that lack boundary geometry (GM-SEUS v1.1 digitization effort):

  • script_digitizeGeorefArrays.js: GEE file for manually georeferencing and digitizing array bounds around existing point-only database entries.
  • script_digitizeGeorefArraysInSPIRE.js: Variant of the digitization script for the SPIRE context, reusing existing array shapes when available.
  • script_compileDigitizeGeorefArrays.js: GEE file for compiling the digitized array outputs from the sessions above.
  • script_digitizePanelRows.js: GEE file for manually digitizing panel-row bounds within GM-SEUS arrays that lack panel-row geometry.
  • script_prepareNewDigPanels.ipynb: Python file for preparing the newly digitized panel-rows (and corresponding arrays) for Zenodo and OpenStreetMap upload.

Development — modules/dev/ — gitignored; used for internal work-in-progress that is intentionally not published to the repo (e.g., script11_processLULC.ipynb).

Dataset Description:

Files are within subdirectories GPKG, SHP, and CSV. All data products are available in the Zenodo Repository. All input datasets can be downloaded from source files described in the associated paper, at the top of this document, at the top of script2, and in the Zenodo data README. All intermediate products are available upon request, and are automatically generated in the processing of the code repo. Geospatial files in the final database are provided as shapefiles, geopackages, and comma separated values.

The GM-SEUS v2.0 data repository contains the following files

  • GMSEUS_Arrays_Final_2025_v2_0: Final array dataset containing boundaries from existing datasets and enhanced by buffer-dissolve-erode technique with GM-SEUS panel-rows containing all array-level attributes (EPSG:6350), geopackage, shapefile, and csv
  • GMSEUS_Panels_Final_2025_v2_0: Final panel-row dataset containing boundaries from existing datasets and newly delineated GM-SEUS panel-rows containing all panel-row-level attributes (EPSG:6350), geopackage, shapefile, and csv
  • GMSEUS_NAIP_Arrays_2025_v2_0: All array boundaries created by buffer-dissolve-erode method of newly delineated (NAIP) GM-SEUS panel-rows (EPSG:6350), geopackage, shapefile, and csv
  • GMSEUS_NAIP_Panels_2025_v2_0: All newly delineated panel-row boundaries (EPSG:6350), geopackage, shapefile, and csv
  • GMSEUS_NAIP_PanelsNoQAQC_2025_v2_0: All newly delineated panel-rows from NAIP imagery without any quality control (EPSG:6350), geopackage, shapefile, and csv
  • GMSEUS_RooftopArrays_2025_v2_0: Arrays from input source datasets reported or determined to be rooftop arrays by intersection with OpenBuildingMap building footprints. Non-exhaustive, intended as an exclusionary resource to maintain GM-SEUS ground-mounted status (EPSG:6350), geopackage, shapefile, and csv
  • NAIPtrainRF: Training dataset of 12,000 NAIP training points (2,000 class-2) containing class values, spectral index values, the year of NAIP imagery accessed, and point coordinates (WGS84), comma separated values
  • NAIPclassifyRF: Random forest classifier trees and weights as output from Google Earth Engine classifier, comma separated values
  • LabeledImages: Directory containing image and mask subdirectories with ~17,500 input and target images for deep learning pattern recognition applications, GeoTIFF
    • NOTE: As of v2.0, NAIPtrainRF, NAIPclassifyRF, and LabeledImages have not been updated beyond v1.0.

We provide the following attribute fields in GM-SEUS Final Arrays

  • arrayID: unique numeric ID of each solar array in GM-SEUS, unitless
  • Source: array boundary source from existing datasets, unitless
  • nativeID: numeric ID of each solar array from the source spatial dataset if an indexing system existed, unitless
  • latitude: latitude of the array boundary centroid (NAD83), decimal degrees
  • longitude: longitude of the array boundary centroid (NAD83), decimal degrees
  • newBound: binary, whether the array boundary was derived from the existing data sources (0) or from a buffer-dissolve-erode of panel-rows following our definition of an array boundary (1), unitless
  • totArea: total land footprint of panel-rows and the space between them, m²
  • totRowArea: If numRow is greater than 0, sum of rowArea within an array. Otherwise, estimated based on totArea and GCR1 estimation where no panel-rows were detected, m²
  • numRow: number of panel-rows within an array, unitless
  • instYr: installation year from existing sources, with gaps filled in by instYrLT, year
  • instYrEst: Reverse temporal segmentation-derived installation year independent of any data source other than Landsat spectral trajectory, year
  • capMWDC: installed peak capacity from existing sources, with gaps filled in by capMWDCest, MWDC or MWth
  • capMWDCest: estimated installed peak capacity derived from capacity to panel-row area relationships independent of any data source, MWDC or MWth
  • capMWAC: installed AC capacity from existing sources, with gaps filled using capMWACest, MWAC
  • capMWACest: estimated AC capacity derived from DC capacity (reported or estimated) using DC-to-AC conversion assumptions, independent of any external AC data source, MWAC
  • modType: reported panel-row (module) technology at the array level (c-si, mono-c-si, multi-c-si, thin-film, csp). If unreported, assumed to be c-si, unitless
  • effInit: initial panel-rows efficiency from existing sources with gaps filled in based on efficiency estimation from modType and instYr taken from the annual Tracking the Sun report, %
  • GCR1: 0-1, the ratio of totRowArea to the total area of panel-rows and the space between them. For arrays with complete panel delineation and arrays where newBound is 1, this is equivalent to totArea. This is also called packing factor. If numRow is greater than 0, GCR1 is an actual GCR1 for the array. Otherwise, GCR1 is estimated by linear regression of latitude and longitude by mount and module type, unitless
  • GCR2: 0-1, the ratio of the average width of the panel-row short edge (rowWidth) to the horizontal ground distance between identical panel-rows points, defined as the sum of widthAvg and rowSpace. If numRow is greater than 0, GCR2 is an actual GCR2 for the array. Otherwise, GCR2 is estimated by linear regression of latitude and longitude by mount and module type, unitless
  • mount: mount technology derived from the azimuth and geometry of each panel-row within the array or from existing sources, with preference given to newly derived mount technology. Either fixed_axis, single_axis, dual_axis, mixed, or mixed_ with a lower-case letter denoting the mixed mounts (e.g., mixed_fs). Else, unknown, unitless
  • tilt: panel-row tilt for fixed-axis arrays (including arrays with mixed-mounting) from existing sources and filled in by tiltEst, degrees from zenith
  • tiltEst: estimated panel-row tilt for fixed-axis arrays (including arrays with mixed-mounting) estimated using pvlib, degrees above horizontal
  • avgAzimuth: median estimated azimuth of panel-rows within array bounds or reported azimuth from existing sources, with preference given to newly estimated azimuth. For single-axis tracking arrays, this is the cardinal direction of the long edge. For all other mount types, this is the cardinal direction of the panel-row face, degrees from north
  • avgLength: median length of the long edge of panel-rows within an array, meters
  • avgWidth: median length of the short edge of panel-rows within an array, meters
  • avgSpace: median spacing between the solar array rows, in meters, between edges of the panel-row projected onto the ground, meters
  • grndCvr: ground cover management classification derived from external datasets, with agrivoltaic arrays labeled as vegetation (from NREL InSPIRE) and parking-lot arrays labeled as impervious (from California Energy Commission). Else, unknown, unitless
  • STATEFP: unique geographic identifier for the U.S. Census Bureau state entity, unitless
  • COUNTYFP: unique geographic identifier for the U.S. Census Bureau county entity, unitless
  • geometry: best new or available geometry matching the array definition which contains panel-rows and the space between them, derived from existing sources (newBound = 0) or from a buffer-dissolve-erode of newly delineated panel-rows (newBound = 1), meters
  • version: GM-SEUS version in which the array geometry and attributes are derived. Each subsequent version will re-derive new geometries and the best delineation from each version will be selected, unitless

We provide the following attribute fields in GM-SEUS Final Panel-Rows

  • panelID: unique numeric ID of the panel-row in GM-SEUS, unitless
  • arrayID: unique numeric ID of each solar array in GM-SEUS that the panel-row is associated with, unitless
  • Source: panel-row boundary source from OSM, CCVPV, GM-SEUS, or newly digitized panel-rows, unitless
  • rowArea: top-down or apparent panel-row area directly from the output of image classification, m²
  • rowWidth: length of the short edge of the panel-row, meters
  • rowLength: length of the long edge of the panel-row, meters
  • rowAzimuth: azimuth of the panel-row, with 0 at North, degrees
  • rowMount: mount technology (fixed-axis, single-axis, or dual-axis) of the panel-row, unitless
  • rowSpace: the inter-row spacing between the panel-row and the nearest panel-row in the azimuthal direction (fixed- and single-axis) or any direction (dual-axis), meters
  • geometry: top-down or perceived geometry, meters
  • version: GM-SEUS version in which the panel-row geometry and attributes are derived. Each subsequent version will re-derive new geometries and the best delineation from each version will be selected, unitless

Labeled Images for Deep Learning and Pattern Recognition

To add value to the dataset, we generate ~17,500 labeled images intended for deep learning and pattern recognition applications. We generated labeled imagery for arrays within GM-SEUS that contained NAIP generated panel-rows (CCVPV or gmseus Source) and with at least 10 identified panel-rows. We also only allowed imagery within the array where panels were present, to reduce panel-row omission error inclusion into the image dataset. Images and masks are provided at 256x256 pixel dimensions. We allowed arrays to contain random point centered image windows equal to 50% of the panel-row containing array area divided by tiled area (e.g., 377,500 m² / 23,593 m² * 0.5 = ~8 tiles). This resulted in ~17,500 images and masks over 4,605 arrays.

alt text

Three columns of six examples containing inputs or images (left) and targets or masks (right) for fixed-, single-, and dual-axis mounted arrays contained within GM-SEUS. Note, this data was not used to create GM-SEUS, but is provided as a value added product within the data repository.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 3 days ago

Total Commits: 97
Total Committers: 3
Avg Commits per committer: 32.333
Development Distribution Score (DDS): 0.247

Commits in past year: 30
Committers in past year: 1
Avg Commits per committer in past year: 30.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
Jacob s****o@m****u 73
Jeremy Rapp R****1@g****m 23
James b****5@m****u 1

Committer domains:


Issue and Pull Request metadata

Last synced: 17 days ago

Total issues: 0
Total pull requests: 19
Average time to close issues: N/A
Average time to close pull requests: about 8 hours
Total issue authors: 0
Total pull request authors: 1
Average comments per issue: 0
Average comments per pull request: 0.0
Merged pull request: 17
Bot issues: 0
Bot pull requests: 0

Past year issues: 0
Past year pull requests: 18
Past year average time to close issues: N/A
Past year average time to close pull requests: about 9 hours
Past year issue authors: 0
Past year pull request authors: 1
Past year average comments per issue: 0
Past year average comments per pull request: 0.0
Past year merged pull request: 16
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/stidjaco/gmseus

Top Issue Authors

Top Pull Request Authors

  • stidjaco (19)

Top Issue Labels

Top Pull Request Labels


Dependencies

pyproject.toml pypi

Score: 3.931825632724326