Skip to content

Latest commit

 

History

1,699 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Marine Energy Resource Characterization

Software to standardize wave and tidal energy model outputs for public access, supporting marine energy research, design, and deployment.

Overview

This repository contains software that standardizes marine energy model data for public use. Developed collaboratively by National Laboratory of the Rockies (NLR), Sandia National Laboratories, and Pacific Northwest National Laboratory, our software converts complex ocean simulation outputs into standardized datasets that follow industry conventions (IEC and CF standards).

The project processes both wave energy (SWAN) and tidal energy (FVCOM) model outputs, making this valuable data accessible to researchers, developers, and policymakers.

Overview

The Marine Energy Resource Characterization project is a collaboration between the National Laboratory of the Rockies (NLR), Sandia National Laboratories (SNL), and Pacific Northwest National Laboratory (PNNL). This multi-laboratory initiative leverages high-performance computing to build computational fluid dynamics models of ocean conditions. The resulting simulations, combined with field measurements, aim to create a comprehensive understanding of the marine energy resource in the United States. The data produced through this collaboration helps de-risk deployments and provides a foundation for device design decisions.

This repository contains tools and workflows that process, standardize, and disseminate model outputs to guide marine energy deployments. The software converts model outputs into documented datasets that follow industry conventions, including IEC and CF (Climate Forecast) standards where practical and possible. The processing workflows handle wave energy (SWAN) and tidal energy (FVCOM) model outputs.

Applications

The standardized datasets support:

  • Analysis of operational and extreme conditions at potential deployment sites
  • Integration of modeled site-specific hydrodynamic forces into device design
  • Public access to marine energy resource data through OpenEI
  • Visualization of summarized data on the Marine Energy Atlas

Quality control processes, standardized formatting, and documentation ensure the datasets are reliable and reproducible.

Repository Information

This repository contains the software that runs on the NLR HPC (currently Kestrel) that processes the original model outputs and generates the standardized datasets. The software is organized into two main directories that contain processing code for the original model output. The intent of this repository is to provide transparency into the processing workflow and allow users to understand the data generation process. The software is not intended to be used as a library, but rather provide a open source, transparent view of the processing workflow.

Repository Structure

- wave/ (Coming Soon)
- tidal/
  - fvcom/ (Coming Soon)

Documentation Previews

Maintainers can deploy a live preview of any PR's documentation changes before merging. Only users with write access to the repository can trigger this.

Steps:

  1. Review the PR code to confirm it is safe to run
  2. Go to Actions > Manual Docs Preview > Run workflow
  3. Enter the PR number and click Run workflow

The workflow resolves the PR branch and fork automatically, builds the docs, deploys to gh-pages, and posts a comment on the PR with the preview URL:

https://natlabrockies.github.io/Marine_Energy_Resource_Characterization/pr-preview/pr-<N>/

One-time repo setup: Settings > Actions > General > Workflow permissions > Read and write permissions must be enabled.

Typical Resource Characterization Data Processing Workflow

High Level Overview

flowchart LR
    subgraph Generation
        Model
    end
    subgraph Standardization
        subgraph Processing
            direction LR
            VerifyTime[Verify Time]
            VerifyCoordinates[Verify Location]
            VerifyComplete[Verify Completeness]
            UnitConvert[Standardize Units]
            VAP[Add Engineering QOI]

            proc_docs["Code\nDocumentation"]
        end
        Assurance
        Document["Dataset\nDocumentation"]
        Code["Python Source"]
        CodeDocumentation["Code\nDocumentation"]
        Summarize
    end
    subgraph Output[Available Data]
        subgraph Reproduceability
            subgraph GitHub
                Repo[Processing Code]
                readme[README]
            end
        end
        subgraph Analysis
            subgraph AWS[AWS S3 Open EDI]
                DataPage["Data Description"]
                Standardized_Output["Standardized Output"]
            end
        end
        subgraph Visualization
            subgraph Atlas[NLR Marine Energy Atlas]
                Atlas_Layer["Layer[s]"]
            end
        end
        subgraph Archive
            subgraph HPC[NLR Kestrel MSS]
                ArchivalStorage["Archival Storage [10 years]"]
            end
        end
    end

    Model --> Processing --> Assurance --> Document
    Assurance --> Summarize
    Assurance --> Code
    Assurance --> CodeDocumentation
    Model -->|Original Format| ArchivalStorage

    Assurance -->|H5/NetCDF4| Standardized_Output
    Summarize --> Atlas_Layer
    Code -->|Python| Repo
    CodeDocumentation --> readme
    Document --> readme
    Document --> DataPage
Loading

Detailed Process Flow

flowchart LR
    subgraph Generation
        subgraph Model
            OG[Model Output]
        end
    end

    subgraph Standardization
        subgraph Process
            subgraph Python
                direction TB
                Verify[Verify Raw Data]
                Clean[Clean]
                QC[QC]
                VAP[VAP]
                Document[Code\nDocumentation]
                DataDocument[Data\nDocumentation]
            end
        end
        subgraph Finalize
            Summarize[Summarize]
            Visualize[Visualize]
            CompleteOutput[Finalized\nData]
            FinalDocumentation[Finalize\nData\nDocumentation]
        end
        subgraph Assurance
            ConventionCheck["Verify Conventions"]
            UnitCheck["Verify Units"]
            StatisticsCheck["Verify Statistics"]
            DocumentationCheck["Verify Documentation"]
            CodeCheck["Verify Code\nDocumentation"]
        end
    end

    subgraph Output[Available Data]
        subgraph GitHub
            Repo[Processing Code]
            readme[README]
        end
        subgraph AWS[AWS S3 Open EDI]
            DataPage["Data Description"]
            Standardized_Output["Standardized Output"]
        end
        subgraph Atlas[NLR Marine Energy Atlas]
            Atlas_Layer["Layer[s]"]
        end
        subgraph Archive [10 Year Archive]
            subgraph Kestrel
                MSS[Mass Storage System]
            end
        end
    end

OG --> MSS

OG --> Verify --> Clean --> QC --> VAP --> Document
VAP --> DataDocument
CodeCheck --> readme

VAP --> ConventionCheck --> CompleteOutput
VAP --> UnitCheck --> CompleteOutput
VAP --> StatisticsCheck --> CompleteOutput
Document --> CodeCheck
DataDocument --> DocumentationCheck

CompleteOutput --> Summarize --> Visualize
Summarize --> Atlas_Layer

Python --> Repo
DocumentationCheck --> FinalDocumentation
Visualize --> FinalDocumentation
FinalDocumentation --> readme
FinalDocumentation --> DataPage

CompleteOutput --> Standardized_Output
Loading

Data Types and Storage

The project manages two primary classes of data:

Type Format Size Availability Common Units Ease of Use
Original NetCDF, txt, csv, H5, custom Varies, Typically Multi TB On Request No Low
Standardized H5 or NetCDF 300GB or smaller Public - AWS Yes High

Data Locations

License

This software is licensed under the BSD 3-Clause License. See the LICENSE file for details.

Copyright 2025 Alliance for Sustainable Energy, LLC

NOTICE: This software was developed at least in part by Alliance for Sustainable Energy, LLC ("Alliance") under Contract No. DE-AC36-08GO28308 with the U.S. Department of Energy and the U.S. Government retains for itself and others acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license in the software to reproduce, prepare derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so.

Contact

Please use GitHub issues for bug reports and feature requests. For other inquiries, contact the NLR Marine Energy Resource Characterization Team.

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

5 watching

Forks

Releases

Packages

Contributors

Languages