Giter Site home page Giter Site logo

edwanglodasc / dsovt Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 30.15 MB

Sample codes for training of dynamical system prediction from sparse observations using deep neural networks with Voronoi tessellation and physics constraints (DSOVT) by Wang et al.

Jupyter Notebook 98.19% Python 1.81%
deep-learning dynamical-systems spatio-temporal-prediction voronoi-tessellation

dsovt's Introduction

Dynamical System Prediction from Sparse Observations Using Deep Neural Networks with Voronoi Tessellation and Physics Constraints (DSOVT)

Overview

The DSOVT framework introduces an innovative approach to the spatio-temporal prediction of dynamical systems with sparse observations. Utilizing Voronoi tessellation, the framework integrates advanced deep learning models such as Convolutional Encoder-Decoder combined with Long Short-Term Memory (CED-LSTM) and Convolutional Long Short-Term Memory (ConvLSTM) to address nonlinear dynamic prediction challenges. Meantime, by embedding physics constraints within these models, DSOVT achieves high accuracy and robust rolling forecasts, surpassing basic models in both computational efficiency and predictive performance.

Numerical Experiments — NOAA Sea Surface Temperature

NOAA Sea Surface Temperature Data Processing

This script processes sea surface temperature (SST) data to generate training and testing datasets. It reads SST data from a .mat file (available at: Google Drive Link), interpolates missing values, and uses sparse sampling based on sensor configurations.

Usage

Execute via command line:

python ./NOAA/NOAA_data_generation.py <output_dir>

Replace <output_dir> with the path to your desired output directory.

NOAA Kriging for Sea Surface Temperature Data

This Jupyter notebook ./NOAA/NOAA_kriging.ipynb provides a comprehensive framework for processing sea surface temperature (SST) data using Kriging methods. It includes modules for data generation, generates sparse sampling based on sensor numbers and variables, and utilizes advanced geostatistical methods for spatial and temporal prediction.

DSOVT (CED-LSTM)

The Jupyter notebook ./NOAA/NOAA_CEDLSTM.ipynb outlines a framework for predicting sea surface temperature (SST) using the CED-LSTM model. It includes steps for training, predicting, and evaluating the model.

DSOVT (ConvLSTM)

Similarly, the Jupyter notebook ./NOAA/NOAA_ConvLSTM.ipynb details a framework for predicting SST using the ConvLSTM model. This approach includes training, multi-step prediction, and model evaluation.

Numerical Experiments — Shallow Water Systems

Shallow Water Systems Data Processing

The Jupyter notebook located at ./Shallow Water Systems/SW_data_generation.ipynb processes shallow water data to create training and testing datasets. This setup prepares data for advanced analytical models.

Shallow Water Kriging for Sea Surface Temperature Data

The notebook ./Shallow Water Systems/SW-Kriging.ipynb offers a detailed framework for predicting shallow water fields using Kriging methods. It handles data generation, applies sparse sampling techniques based on sensor configurations, and employs advanced geostatistical methods for enhanced spatial and temporal predictions.

DSOVT (CED-LSTM)

The notebook ./Shallow Water Systems/SW-CED-LSTM.ipynb presents a comprehensive approach for predicting shallow water fields using the CED-LSTM model. The process includes training, predicting, evaluating the model, and incorporates Physics-Constrained Models to ensure the physical plausibility of the forecasts. It also outlines the rolling forecasting method for the predicting part.

DSOVT (ConvLSTM)

Similarly, ./Shallow Water Systems/SW-ConvLSTM.ipynb details a method for predicting SST using the ConvLSTM model. This model supports training, multi-step prediction, and evaluation. It also integrates Physics-Constrained Models to guide the learning process and includes strategies for rolling forecasting to enhance forecast reliability over time.

Pre-Trained Model Parameters

We have made available the pre-trained model parameters for both the NOAA Sea Surface Temperature and Shallow Water Systems experiments. These parameters can be used to reproduce our results or as a starting point for further exploration and development of the models.

You can download the pre-trained models from the following link: Download Pre-Trained Models

These parameters include trained weights and configuration settings for both the CED-LSTM and ConvLSTM models. Utilizing these pre-trained models can significantly reduce the initialization time and computational resources required for model training and provide a robust baseline for enhancing predictive performance in dynamical system applications.

Dependencies

To ensure the smooth running of the scripts and notebooks in this repository, you need to install the required Python packages. These dependencies are listed in the requirements.txt file.

Installing Dependencies

To install the required packages, you can use the following command in your terminal:

pip install -r requirements.txt

dsovt's People

Contributors

edwanglodasc avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.