Giter VIP home page Giter VIP logo

non-markovian-closure-lstm's Introduction

non-Markovian-closure-LSTM

Reduced-order non-Markovian closure models for statistical prediction of turbulent systems

Problem description

This repository implements the Machine Learning non-Markovian closure modeling framework described in [1] and the improved statistical-stochastic surrogate model in [2] for accurate predictions of inhomogeneous statistical responses of turbulent dynamical systems subjected to external forcings. The closure frameworks employ a Long-Short-Term-Memory architecture to represent the higher-order unresolved statistical feedbacks with careful consideration to account for the intrinsic instability yet producing stable long-time predictions.

To run an experiment

Three models are provides to run the experiment under different truncation scenarios:

train_pert_var_closure.py: the full mean-covariance closure model;

train_pert_mvar_closure.py: the reduced-order mean-covariance closure model;

train_pert_mean_closure.py: the mean closure model.

train_statstoc_inhomo.py: the statistical-stochastic surrogate model;

To train the neural network model without using a pretrained checkpoint, run the following command:

python train_*.py --exp_dir=<EXP_DIR> --pretrained FALSE --eval FALSE

To test the trained model with the path to the latest checkpoint, run the following command:

python train_*.py --exp_dir=<EXP_DIR> --pretrained TRUE --eval TRUE

Dataset

Datasets for training and prediction in the neural network model are generated from direct Monte-Carlo simulations of the L-96 system:

  • training datasets 'l96_nt1_fpert_F8amp1' and 'l96_nt1_upert_F8amp1': model statistics with constant forcing or initial state perturbations in short time length;
  • prediction datasets 'l96_nt1_ramp1_F8df1', 'l96_nt1_ramp2_F8df1', 'l96_nt1_peri_F8df1', 'l96_nt1_peri_F8df2': model statistics with different time-dependent external forcings in long time series.

A wider variety of problems in different perturbation scenarios can be also tested by adding new corresponding dataset into the data/ folder.

Dependencies

References

[1] D. Qi and J. Harlim (2021), “Machine Learning-Based Statistical Closure Models for Turbulent Dynamical Systems”, arXiv:2108.13220.

[2] D. Qi and J. Harlim (2022), “A Data-Driven Statistical-Stochastic Surrogate Modeling Strategy for Complex Nonlinear Non-stationary Dynamics”, arXiv:2208.10612.

non-markovian-closure-lstm's People

Contributors

qidigit avatar

Stargazers

LABOY-TIAN avatar

Watchers

 avatar

Forkers

13269252368

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.