Skip to main content

Dymoval is a Python package for analyzing measurements data and validate models.

Project description

Build status

pipeline coverage badge

Tools

types - mypy test - pytest code style - ruff docs - sphinx


What is it?

Dymoval is a Python package for analyzing measurement data and validating models.

Dymoval validates models based only on measurements and simulated data, and it is completely independent of the used modeling tool. That means that it does not matter if a model has been developed with Simulink, Modelica, etc., dymoval will only look at the produced data from the model.





If you are tracking your models changes in a CI/CD environment, then dymoval API can be easily used to run tests in Jenkins or GitHub Actions pipelines as it enables unit-testing on models.

Finally, dymoval provides a number of functions for for handling measurements data, addressing common issues such as noise, missing data, and varying sampling intervals.

Installation

Dymoval exists on both pip and conda, so you can choose between the following:

pip install dymoval
conda install -c conda-forge dymoval

Getting started

Suppose you want to validate a model and you have the simulated out y_sim the measured input u_meas, and the measured out y_meas time-series sampled with period sampled_period. Just call the following function:

from dymoval.validation import validate_models

validate_models(
    measured_in=u_meas,
    measured_out=y_meas,
    simulated_out=y_sim,
    sampling_period = sampling_period
)

to get something like the following:

  Input whiteness (abs_mean-max)      0.3532
  R-Squared (%)                      65.9009
  Residuals whiteness (abs_mean-max)  0.1087
  Input-Res whiteness (abs_mean-max)  0.2053

           My_Model
  Outcome: PASS

Congrats! Your model passed the test!

But what if the test didn't pass? Don't worry, it might not be the model's fault.

For example, you could be dealing with noisy measurements, over-sampled signals, missing data, and other factors that might affect the results. Take a look at the tutorial to learn how to address such issues:

  import dymoval as dmv
  dmv.open_tutorial()

The above commands create a dymoval_tutorial folder containing all the files needed to run the tutorial in your home folder. All you have to do is to run Jupyter notebook named dymoval_tutorial.ipynb. You need an app for opening .ipynb files.

And if you want to discover more on model validation and Dymoval check out the docs.

Main Features

Model validation

  • Validation metrics:
    • R-square fit
    • Residuals auto-correlation statistics
    • Input-Residuals cross-correlation statistics
  • Coverage region
  • MIMO models
  • Independence of the modeling tool used.
  • API suitable for model unit-tests

Measurement data analysis and manipulation

  • Time and frequency analysis
  • Easy plotting
  • Missing data handling
  • Linear filtering
  • Means and offsets removal
  • Re-sampling
  • Physical units

License

Dymoval is licensed under BSD 3 license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dymoval-0.9.0.tar.gz (4.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dymoval-0.9.0-py3-none-any.whl (4.5 MB view details)

Uploaded Python 3

File details

Details for the file dymoval-0.9.0.tar.gz.

File metadata

  • Download URL: dymoval-0.9.0.tar.gz
  • Upload date:
  • Size: 4.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.21.0 CPython/3.11.3 Darwin/24.1.0

File hashes

Hashes for dymoval-0.9.0.tar.gz
Algorithm Hash digest
SHA256 f843cfe24388ec4cf27f92335114511917697445f9aa3ce4da8fbafba9851462
MD5 f480389e60824c10e82e8468114bbcdc
BLAKE2b-256 2656fa03101ce74aa407ed77daa6c9748d420ccd52cafd6283433b90bd8f8aad

See more details on using hashes here.

File details

Details for the file dymoval-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: dymoval-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.21.0 CPython/3.11.3 Darwin/24.1.0

File hashes

Hashes for dymoval-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1da92f0b7f62ad93f17277ad3fa13a5f14988e3c45008baa7d457c51f47c1cb1
MD5 744659142afaca2fb166d1a54065a7a8
BLAKE2b-256 19b527692639fc3b57625ed90e2c343f8090ee81387eb7550b62f63c2ac12083

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page