How nrlmmd-geoips/geoips works
GeoIPS is a plugin-driven satellite and weather data processing package. Users invoke processing through the CLI; Order-Based Processing (OBP) coordinates configurable plugins to read data, apply processing, and produce outputs. The repository also provides configuration and plugin discovery, geographic sector/track utilities, and data-manipulation support. The README establishes the overall plugin/OBP model, while the sampled source index supports selected module relationships; many runtime details and optional integrations are not shown, so uncertain links are omitted.
Main entry points: single_source.py Single-source OBP · base.py Plugin interfaces · data.py Data manipulation · config.py GeoIPS configuration
Components 19
User entry
- GeoIPS CLI
geoips/cli.py - CLI arguments
geoips/commandline/args.py
Processing runtime
- Single-source OBP
geoips/plugins/modules/procflows/single_source.py - Plugin interfaces
geoips/interfaces/base.py - Plugin lifecycle
geoips/interfaces/class_based_plugin.py
Plugin capabilities
- Data readers
geoips/interfaces/class_based/readers.py - Algorithms
geoips/interfaces/class_based/algorithms.py - Interpolation
geoips/interfaces/class_based/interpolators.py - Coverage checks
geoips/interfaces/class_based/coverage_checkers.py - Output formatters
geoips/interfaces/class_based/output_formatters.py - Output checks
geoips/interfaces/class_based/output_checkers.py - Product and workflow specs
geoips/interfaces/yaml_based
Geospatial domain
- Sector utilities
geoips/sector_utils/utils.py - Cyclone track database
geoips/sector_utils/tc_tracks_database.py - Map rendering
geoips/image_utils/maps.py
Configuration and data
- Data manipulation
geoips/xarray_utils/data.py - GeoIPS configuration
geoips/config/config.py - Plugin configuration
geoips/config/plugins.py
Other components
- User
Connections 19
- User → GeoIPS CLI: invokes
- GeoIPS CLI → Plugin interfaces: uses
geoips/cli.py - Single-source OBP → CLI arguments: uses
geoips/plugins/modules/procflows/single_source.py - Single-source OBP → Plugin interfaces: dispatches plugins
geoips/plugins/modules/procflows/single_source.py - Single-source OBP → Data manipulation: uses data utilities
geoips/plugins/modules/procflows/single_source.py - Single-source OBP → Product and workflow specs: loads product config
geoips/plugins/modules/procflows/single_source.py - Single-source OBP → Output checks: checks outputs
geoips/plugins/modules/procflows/single_source.py - Plugin interfaces → Plugin lifecycle: provides plugin base
geoips/interfaces/base.py - Plugin lifecycle → Plugin interfaces: registers interfaces
geoips/interfaces/class_based_plugin.py - Data manipulation → Data readers: uses reader interface
geoips/xarray_utils/data.py - GeoIPS configuration → Plugin configuration: supports discovery
geoips/config/plugins.py - GeoIPS configuration → Cyclone track database: provides paths
geoips/sector_utils/tc_tracks_database.py - Sector utilities → Data manipulation: uses data utilities
geoips/sector_utils/utils.py - Single-source OBP → Data readers: orchestrates plugins
- Single-source OBP → Algorithms: orchestrates plugins
- Single-source OBP → Output formatters: orchestrates plugins
- Single-source OBP → Interpolation: may dispatch
- Single-source OBP → Coverage checks: may dispatch
- Output formatters → Map rendering: may render maps