Skip to main content

PODAAC Data Access

A Pythonic interface for accessing and downloading geographic and temporal data from NASA's Physical Oceanography Distributed Active Archive Center (PO.DAAC).

Overview

This library streamlines the process of downloading oceanographic data from NASA's PO.DAAC repository. It provides a more intuitive, Pythonic approach to interacting with PO.DAAC services.

Features

  • Simple API: Clean, intuitive interface for PO.DAAC data access
  • Flexible Date Ranges: Easily specify time periods for data collection
  • Geographic Filtering: Define precise latitude and longitude boundaries
  • Pre-configured Datasets: Common datasets available through simple imports
  • Custom Dataset Support: Ability to define and download custom datasets
  • Earthdata Authentication: Integrated authentication management

Installation

pip install gerg_podaac_data_access

Quick Start

Using Pre-configured Datasets

from pathlib import Path
import datetime
from gerg_podaac_data_access.models import get_common_datasets
from gerg_podaac_data_access.client import PodaacClient
from gerg_podaac_data_access.auth import cleanup_earthdata_auth

# Define output location and parameters
data_out_folder = Path("data")
date_start = "03-13-2013T00:00:00+0:00"
date_end = "03-15-2013T00:00:00+0:00"
lat_min = 19
lat_max = 31
lon_min = -98
lon_max = -83

# Initialize PodaacClient client
ssh = PodaacClient(data_out_folder=data_out_folder,
          date_start=date_start, date_end=date_end,
          lat_min=lat_min, lat_max=lat_max,
          lon_min=lon_min, lon_max=lon_max)

# Get pre-configured datasets
datasets = get_common_datasets()

# Download NASA SSH data
ssh.download_data(datasets["NASA_SSH"])

# Clean up credentials when done
cleanup_earthdata_auth()

Using Custom Datasets

from pathlib import Path
import datetime
from gerg_podaac_data_access.client import PodaacClient
from gerg_podaac_data_access.auth import cleanup_earthdata_auth
from gerg_podaac_data_access.models import Dataset

# Define output location and parameters
data_out_folder = Path("data")
date_start = "03-01-2013T00:00:00+0:00"
date_end = "04-01-2013T00:00:00+0:00"
lat_min = 19
lat_max = 31
lon_min = -98
lon_max = -83

# Initialize PodaacClient client
ssh = PodaacClient(data_out_folder=data_out_folder,
          date_start=date_start, date_end=date_end,
          lat_min=lat_min, lat_max=lat_max,
          lon_min=lon_min, lon_max=lon_max)

# Define custom dataset
dataset = Dataset(podaac_download_name="SEA_SURFACE_HEIGHT_ALT_GRIDS_L4_2SATS_5DAY_6THDEG_V_JPL2205")

# Download custom dataset
ssh.download_data(dataset=dataset)

# Clean up credentials when done
cleanup_earthdata_auth()

Authentication

This library handles NASA Earthdata Login authentication. Make sure you have valid Earthdata credentials before using the library. The cleanup_earthdata_auth() function should be called when you're done to properly manage authentication resources.

API Reference

Main Classes

  • PodaacClient: Client for downloading sea surface height data

    • Parameters:
      • data_out_folder: Path to store downloaded data
      • date_start: Start date for data collection
      • date_end: End date for data collection
      • lat_min: Minimum latitude boundary
      • lat_max: Maximum latitude boundary
      • lon_min: Minimum longitude boundary
      • lon_max: Maximum longitude boundary
    • Methods:
      • download_data(dataset): Download data for the specified dataset
  • Dataset: Represents a PODAAC dataset

    • Parameters:
      • podaac_download_name: The official PODAAC dataset identifier

Utility Functions

  • get_common_datasets(): Returns a dictionary of pre-configured datasets
  • cleanup_earthdata_auth(): Cleans up authentication resources

Examples

The library includes example scripts in the examples directory:

  • simple_example.py: Demonstrates using pre-configured datasets
  • custom_dataset_exmple.py: Shows how to define and use custom datasets

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • NASA's PO.DAAC for providing the data services
  • The oceanographic research community

Developed for the Earth science community to simplify access to valuable oceanographic data

Metadata

Release files for gerg_podaac_data_access 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gerg_podaac_data_access 0.1.0
File Size Uploaded
gerg_podaac_data_access-0.1.0.tar.gz 6.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gerg_podaac_data_access 0.1.0
File Interpreter ABI Platform
gerg_podaac_data_access-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.0 kB

Release files / gerg_podaac_data_access-0.1.0.tar.gz

Download URL gerg_podaac_data_access-0.1.0.tar.gz
Size 6.2 kB
Tags Source
SHA-256 checksum
How to use checksums
5e4f014af16fc7e97b8aff648df1e23267f6bc07350f247e7110a91b8fa4d896
BLAKE2b-256 checksum
How to use checksums
10a0ed3b5ac00b5527000b986bc2b1483fac7c14084a1154db0e0a03a1fc5f97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.2 CPython/3.12.8 Windows/11

Release files / gerg_podaac_data_access-0.1.0-py3-none-any.whl

Download URL gerg_podaac_data_access-0.1.0-py3-none-any.whl
Size 7.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a56be6f22ba6f69f787d7cccdf81c20fd51ce46c3b6fbcbde9d6096ac21d44c1
BLAKE2b-256 checksum
How to use checksums
e39dacb78ce0e3360060cb483101b1d1a0d172871cc4c82f9b756d54f67d3a6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.2 CPython/3.12.8 Windows/11

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page