/ClimaCast

Meteorology reports and forecasts, satellite pass predictions, communications decoding, and imagery analysis for NOAA satellites 🌧 🛰 📡

Primary LanguagePython

DroneXtract logo

About

ClimaCast is a command-line tool written with Python that provides meteorology reports and forecasts, satellite pass predictions, communications decoding, and imagery analysis for NOAA satellites.

Preview

ClimaCast preview

Features

ClimaCast features four main features for NOAA satellite reconnaissance. They include the following:

🌦 Weather Forecasts and Alerts

Get up-to-date weather forecasts, data, and alerts from NOAA satellites. You can choose to get information via GPS coordinates, station ID, or area code. The retrieved data will be visualized and formatted in a table outline. The image below includes an example of a parsed forecasting report provided using an inputted GPS coordinate.

Display

🛰 Pass Predictor

Predict radio or visual satellite passes of all NOAA satellites by inputting your GPS coordinates, altitude, and visibility. Pass prediction data will be visualized and displayed in a table outline as shown below.

Display

📡 APT Image Decoder

Decode NOAA satellite images by inputting audio MP3 files of satellite transmissions. There is also a resampling feature to resample the file before decoding. The output of the decoding is saved as a PNG file. An example output is displayed below.

Display

🌎 Meteorological Image Analysis

Retrieve meteorological images from the Sentinel-2 data collection for remote sensing analysis. Thumbnail satellite images can be saved in the JPG format. Remote raster data files (one per optical band, as acquired by the multi-spectral instrument) can be saved as a TIF file.

Display Display

Usage

The CLI will prompt for N2YO credentials if none are present in your environmental variables. Ensure to configure it as an environment variable.

Create an account at N2YO and save the API key.

Ensure the N2YO API Key is configured in the .env file

N2YO_API=API_KEY_HERE

To run ClimaCast, you will need Python3 and Pip installed.

$ pip install -r requirements.txt
$ python3 climacast.py

APIs Used

Configuration

There are a set of environment variables utilized in ClimaCast. In order to set up the API and tailor the values for your specific meteorological research purposes, you can go to the .env file and adjust the following values:

N2YO_API N2YO API Key

RESAMPLE_RATE resampling number for satellite APT decoder

Learning and Resources

To learn more about meteorology, weather satellites, and the development of ClimaCast, refer to this article.

Contributing

ClimaCast is open to any contributions. Please fork the repository and make a pull request with the features or fixes you want to be implemented.

Upcoming

  • Other decoder formats such as LRPT and DVB
  • Implement custom pass prediction algorithms such as SGP4
  • Make satellite imagery retrieval more cohesive and grid-based

Support

If you enjoyed ClimaCast, please consider becoming a sponsor in order to fund my future projects.

To check out my other works, visit my GitHub profile.