AtmoSeer is a set of Python scripts for downloading, processing, and analyzing atmospheric and meteorological data from sources such as NASA GPM and GOES-16. It supports environment setup via Conda and requires authentication for NASA Earthdata access. This project also provides a pipeline to build rainfall forecast models. The pipeline can be configured with different meteorological data sources.
git clone https://github.com/your-org/atmoseer.git
cd atmoseerBefore running the setup script, you must set your NASA Earthdata credentials as environment variables:
export EARTHDATA_USER="your_username"
export EARTHDATA_PASS="your_password"You can register for a free NASA Earthdata account at https://urs.earthdata.nasa.gov.
The setup.sh script will:
- Remove any existing Conda environment named
atmoseer - Create a new Conda environment using
config/environment.yml - Create necessary data directories
- Configure
.netrcand.urs_cookiesin your home directory for Earthdata access
./setup.shAfter the environment is set up, activate it:
conda activate atmoseerNow, you can start running AtmoSeer scripts.
To simplify execution, AtmoSeer supports running preprocessing tasks using make. Each data module has its own Makefile targets and README with details.
- GOES-16 Feature Extraction
make goes16-features FEATS="--pn --fa --toct --verbose"See full usage in src/goes16/README.md
- GPM Download and Crop
make gpm-download-crop BEGIN=2024/01/01 END=2024/01/03 USER=your_username PWD=your_passwordSee full usage in src/gpm/README.md
atmoseer/
├── config/ # Conda environment and config files
│ └── environment.yml
├── data/ # Automatically created data directories
│ ├── datasets/
│ ├── era5/
│ ├── goes16/
├── gpm/
│ ├── sounding/
│ ├── surface_stations/
│ └──
├── src/ # Scripts for downloading and processing data, and for model training
│ ├── era5/
│ ├── goes16/
├── gpm/
│ ├── sounding/
│ ├── surface_stations/
└── ...
├── setup.sh # Installation script
└── README.md # This file
- Miniconda or Anaconda
- Linux or WSL (recommended)
- Internet access for installing packages and accessing NASA endpoints
Welcome! Please follow these guidelines to keep the project consistent and secure.
- Communicate and document only in English so every contributor can follow along.
- Never commit secrets, credentials, or private datasets. Store sensitive values in
.envfiles that stay out of version control. - Use GitFlow conventions: branch from
develop(ormainif specified), follow feature/hotfix/release prefixes, and open pull requests before merging. - Prefer small, focused commits with clear messages; reference issues or tasks when possible.
- Keep coding style consistent with the existing modules; run linting/formatting tools provided by the project before submitting code (see the tooling notes below).
- Add or update tests whenever you change behaviour, and ensure the full test suite passes locally.
- Discuss significant architectural or API changes with maintainers before implementation.
- Respect code reviews: respond to feedback promptly and revise your changes as needed.
- Install/update the Conda environment so that
black,ruff, andpre-commitare available. - Run
make formatfor automatic formatting (ruff format+black) andmake lintto check for style and static-analysis issues. - Optional but recommended:
make pre-commit-installto set up git hooks that run Ruff and Black before each commit.
This project is licensed under the MIT License. See LICENSE for details.
- NASA GES DISC — https://disc.gsfc.nasa.gov
- Earthdata Login Services — https://urs.earthdata.nasa.gov