Skip to content

Repository files navigation

Dynamics Modeling and Analysis with Data (DyMAD)

This is the GitHub site for DyMAD, developed and maintained by the APUS Lab at Penn State.

This README is mainly for developer use. For documentation, refer to readthedocs.org.

Commandline Collection

Installation: During development, test the install by

pip install -e .

so that edits in the source are applied directly.

For the full local developer toolchain, install:

pip install -e ".[test,dev]"

Tests: To run the tests, stay in the root and

pytest

For specific test script

pytest [filename]

For specific case in specific test script

pytest [filename]::[casename]

Developer Checks

Use Ruff for linting, import sorting, and formatting, and Pyright for type checking:

make lint
make lint-fix
make format
make format-check
make typecheck
make check

Equivalent direct commands:

ruff check .
ruff check . --fix
ruff format .
ruff format . --check
pyright --pythonpath "$(which python)"

Documentation: Generate the document by

sphinx-build -E -b html docs docs/_build/html

Remove -E for incremental build.

If there are API errors such as some files not found, try deleting the auto-generated api folder and try again.

Code Structure

  • docs: Documentation based on ReadTheDocs.
  • examples: Example cases used in documentation - some of them are still in progress of conversion.
  • scripts: Quick cases for checking model performance, mainly used during development.
  • src: The source code.
  • tests: Tests used by pytest and CI workflow. See the README therein for more details.

TODO notes

  • Update the aircraft example

  • Update the double pendulum example

  • FTLE and CLV for nonlinear latent dynamics

  • K-Fold CV

  • Demo on KS chaotic

  • two-stage implementation

  • N4SID

  • EnKF, EnKS, IEnKS

  • Internal normalization in PIROM

  • Symmetry analysis

  • Torch-fy Manifold class

  • L1/L0 regularized optimization

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages