Distribution Statement
What is GeoIPS#
The Geolocated Information Processing System (GeoIPS) is a generalized processing system, providing a collection of algorithm and product implementations facilitating consistent and reliable application of specific products across a variety of sensors and data types.

GeoIPS acts as a toolbox for internal GeoIPS-based product development - all modules are expected to have simple inputs and outputs (Python numpy or dask arrays or xarrays, dictionaries, strings, lists), to enable portability and simplified interfacing between modules.
- Some of the primary benefits / requirements of GeoIPS include:
Seamless application to proprietary data types and products (no reference to external functionality within the main code base)
Consistent product application across multiple sensors (both open source and proprietary)
Flexible workflow to allow efficient real-time processing as well as interactive processing
Modular interfaces to facilitate product development
Consistent code base for research and development through operational transitions
Ability to generate log outputs
Ability to interface with workflow management tools (cylc)
Ability to interface with databases (postgres)

GeoIPS Scope#
The GeoIPS® “core” package is responsible for data processing from reading and reformatting the data into the common internal GeoIPS® internal format, through algorithm and product application, to outputting user configurable data formats (imagery, NetCDF, etc).

Data collection, data transfers, and product dissemination are all site specific implementations for driving GeoIPS® processing, and fall outside the scope of the GeoIPS® “core” processing system.