.. aomodel documentation master file, created by
   sphinx-quickstart on Fri Jun 25 14:24:26 2021.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

AOMODEL
=======

**AOMODEL** is a Python package for generating synthetic aero-optic phase screen data.

The main feature of this package is an implementation of the **Re-whitened Vector AutoRegression (ReVAR)** algorithm,
which generates synthetic time series of images that match the statistics of measured data.

This package can be used to:

* Fit the statistics of input data.
* Generate synthetic data with the desired statistics.
* Evaluate the statistics of an input data set.

For more information about the algorithm, see :cite:`Utley2, Utley`.

See also the ``Boiling Flow`` package on GitHub: boiling_flow_. This package implements a Fourier-based algorithm for
generating synthetic aero-optic phase screens, including automatic parameter estimation from measured data. This model
is designed for highly convective data with spatially stationary (i.e., homogeneous) statistics.

The benefits of ``Boiling Flow`` compared to ``AOModel`` are:

* Ability to generate phase screens of any size.
* The use of physically relevant parameters.

The drawbacks of ``Boiling Flow`` compared to ``AOModel`` are:

* Synthetic data generated by ``Boiling Flow`` has less accurate statistics.
* The model is less generalizable to different measured data sets.

Use ``AOModel`` if you need to generate synthetic data with statistics that closely match those of the measured data, or
if the measured data is not accurately modeled by boiling flow. Use ``Boiling Flow`` if your measured data falls into
the boiling flow regime and you need to extend the phase screens beyond the size of the measured data images.
Alternatively, ``Boiling Flow`` can be used to estimate turbulence parameters from measured phase screen data.

.. toctree::
   :hidden:
   :maxdepth: 4
   :caption: Background

   theory
   advanced_features
   references

.. toctree::
   :hidden:
   :maxdepth: 4
   :caption: User Guide

   install
   api_overview
   api
   demo

.. _boiling_flow: https://github.com/jeffreyutley/boiling_flow