Skip to content

dshield-proj/observation-planner

Repository files navigation

observation-planner

Python code for the observation planner

This repository contains the code for generating coordinated observation plans for a constellation of earth observing satellites. It also contains the preprocssing code for generating planner inputs from raw data produced by the code in the other repositories.

Requires Python 3.8 or higher.

Input data required:

  • payload access files: Specifies "access times" and viewing angles for each payload, and which Ground Positions (GP) are visible by the payload at that time and viewing angle
  • eclipse files: specifies when each satellite is in eclipes
  • slewTable: specifies the time and energy required for slewing from one viewing angle to another
  • GP grid: specifies 1.67 million ground position ID's along with the latitude, longitude and biome type for each GP
  • soil moisture prediction error: specifies the prediction error associated with each ground position
  • measurement error table: specifies the measurement error associate with each payload independently and in combination, at all possible viewing angle combinations

Preprocessing

Preprocessing reads the raw input data described above and produces files for planner input. There are 2 preprocessing scripts:

  • createSoilMoistureModelErrFile.py: This consolidates the raw soil moisture prediction error files. It must be run whenever the soil moisture prediction data changes.
  • dshieldObsPreprocessor.py: This reads the payload access and eclipse files and consolidates the observation command choices for each satellite for each plan horizon (default plan horizon is 6 hours but configurable). This must be run for each (set of) satellite(s) and each plan horizon. Input parameters are the list of satellites in the constellation, and a planning horizon index (1 through 4).

Planning

After preprocessing, the planner can be run. There is one planner script.

  • dsheildObsPlanner.py: This reads the files produced by preprocessing and produces a coordinate observation plan for all satellites in the constellation for each plan horizon. This must be run for each (set of) satellite(s) and each horizon. Input parameters are the list of satellites in the constellation, and the planning horizon index (1 through 4)

About

Python code for the observation planner

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages