Metadata-Version: 2.1
Name: isofit
Version: 0.1.0.dev1
Summary: Imaging Spectrometer Optimal FITting
Home-page: http://github.com/davidraythompson/isofit/
Author: David R. Thompson, Winston Olson-Duvall, and Team
Author-email: david.r.thompson@jpl.nasa.gov
License: Apache Software License (http://www.apache.org/licenses/LICENSE-2.0)
Platform: any
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Requires-Python: >=3
Description-Content-Type: text/x-rst
Requires-Dist: scipy (>=1.1.0)
Requires-Dist: numba (>=0.38.0)
Requires-Dist: matplotlib (>=2.2.2)
Requires-Dist: scikit-learn (>=0.19.1)
Requires-Dist: spectral (>=0.19)

Imaging Spectrometer Optimal FITting (ISOFIT) Overview
======================================================

This codebase contains a set of routines and utilities for fitting surface,
atmosphere and instrument models to imaging spectrometer data.  It is
written primarily in Python, with JSON format configuration files and some
dependencies on widely-available numerical and scientific libraries such as
scipy, scikit-learn, and numba.  It is designed for maximum flexibility, so
that users can swap in and evaluate model components based on different
radiative transfer models (RTMs) and various statistical descriptions of
surface, instrument, and atmosphere.  It can run on individual radiance
spectra in text format, or imaging spectrometer data cubes.

The subdirectories contain:

* data/      - shared data files
* docs/      - documentation
* examples/  - a series of example runs packaged with input data and sample configuration files.
* isofit/    - the main Python codebase, with the top-level program isofit.py.
* utils/     - general purpose utilities and routines.

Installation Instructions
-------------------------

From Github
***********

The code repository, development branches, and user community are found on
`GitHub <https://github.com/davidraythompson/isofit>`_. To install:

1. Download or clone the git repo located at https://github.com/davidraythompson/isofit.

2. Install the ISOFIT dependencies using pip

.. code::

  python3 -m pip install scipy
  python3 -m pip install numba
  python3 -m pip install matplotlib
  python3 -m pip install scikit-learn
  python3 -m pip install spectral

3. Make sure the isofit/ and utils/ subdirectories are in your Python path like this:

.. code::

    export PYTHONPATH="${PYTHONPATH}:/path/to/isofit/isofit:/path/to/isofit/utils"

From PyPI
*********

Also, the latest release is always hosted on `PyPI <https://pypi.python.org/pypi/isofit>`_,
so if you have `pip` installed, you can install ISOFIT from the command line with

.. code::

    pip install isofit

This will install the "isofit" package into your environment as well as its dependencies.

Quick Start
-----------

This quick start presumes that you are using the MODTRAN 6.0
radiative transfer model.  Other open-source options including LibRadTran and
neural network emulators will also be integrated in the future, however, for the current release MODTRAN 6.0 is required.

1. Configure your environment with the variables ISOFIT_BASE pointing to the base checkout directory of ISOFIT, and also MODTRAN_DIR pointing to the base MODTRAN 6.0 directory.

2. Run the following code

.. code::

    cd examples/20171108_Pasadena
    ./run_example.sh

3. This will build surface models and run the retrieval. The default example uses a lookup table approximation, and the code should recognize that the tables do not currently exist.  It will call MODTRAN to rebuild them, which will take a few minutes.

4. Look for output data in examples/20171108_Pasadena/output/.

Additional Installation Info for Mac OSX
------------------------------------------

1. Install the command-line compiler

.. code::

  xcode-select --install

2. Download the python3 installer from https://www.python.org/downloads/mac-osx/


