{"id":30066345,"url":"https://github.com/ejfox/noaa-sat-cli","last_synced_at":"2025-08-08T07:29:55.533Z","repository":{"id":298196356,"uuid":"998659473","full_name":"ejfox/noaa-sat-cli","owner":"ejfox","description":"Earth observation CLI with real-time NOAA satellite imagery, archival system, and cyberpunk terminal interface","archived":false,"fork":false,"pushed_at":"2025-06-09T03:36:54.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-30T12:33:58.795Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ejfox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-09T03:36:39.000Z","updated_at":"2025-06-09T03:36:57.000Z","dependencies_parsed_at":"2025-06-09T22:57:43.251Z","dependency_job_id":"31b536b4-b9d0-40e5-ba04-33a819f410bc","html_url":"https://github.com/ejfox/noaa-sat-cli","commit_stats":null,"previous_names":["ejfox/noaa-sat-cli"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ejfox/noaa-sat-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ejfox%2Fnoaa-sat-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ejfox%2Fnoaa-sat-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ejfox%2Fnoaa-sat-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ejfox%2Fnoaa-sat-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ejfox","download_url":"https://codeload.github.com/ejfox/noaa-sat-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ejfox%2Fnoaa-sat-cli/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269383739,"owners_count":24408277,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-08T02:00:09.200Z","response_time":72,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-08T07:29:50.785Z","updated_at":"2025-08-08T07:29:55.520Z","avatar_url":"https://github.com/ejfox.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NOAA Satellite CLI\n\nEarth observation command-line interface with real-time NOAA satellite imagery, archival system, and cyberpunk terminal interface.\n\n```\n         ██████╗ ███████╗ ███████╗ \n        ██╔═══██╗██╔════╝ ██╔═══██╗\n        ████████║██████╗  ████████║\n        ██╔═════╝██╔═══╝  ██╔═══██║\n        ╚███████╗███████╗ ╚██████╔╝\n         ╚══════╝╚══════╝  ╚═════╝ \n                                   \n           EARTH OBSERVATION CLI\n```\n\n## Features\n\n- **Real-time NOAA GOES satellite imagery** (GOES18/19)\n- **Hash-based deduplication** archival system\n- **Multiple data sources**: NOAA, NASA EPIC, NASA MODIS/VIIRS\n- **Cyberpunk ASCII terminal interface**\n- **Quick one-liner commands** for rapid workflow\n- **Automated cron-based archiving**\n- **Multiple resolutions** up to 470MP (21696x21696)\n\n## Quick Start\n\n```bash\n# Install dependencies\nnpm install\n\n# Launch interactive terminal interface\nnpm run tui\n\n# Quick commands\nnpm run quick grab          # Capture latest image\nnpm run quick grab-max      # Capture at max resolution (470MP)\nnpm run quick status        # Show archive status\nnpm run quick help          # Show all commands\n```\n\n## Data Sources\n\n### NOAA GOES Satellites\n- **GOES18**: Active geostationary satellite over Pacific\n- **GOES19**: Active geostationary satellite over Atlantic\n- **Channels**: GEOCOLOR, ABI-L2-MCMIPC, Sandwich, Day Cloud Phase Distinction, Air Mass, Fire Temperature\n- **Resolutions**: 1808x1808 (3MP), 5424x5424 (29MP), 10848x10848 (118MP), 21696x21696 (470MP)\n\n### NASA EPIC\n- Deep space Earth view from DSCOVR satellite at L1 Lagrange point (1.5M km from Earth)\n- Natural and enhanced color imagery\n- Full disk Earth view updated ~daily\n\n### NASA MODIS/VIIRS\n- Terra/Aqua MODIS imagery\n- Suomi NPP VIIRS imagery  \n- Regional downloads for USA, Europe, Asia, Africa, Australia\n- True color and specialized band combinations\n\n## Architecture\n\n### Archive System\n- **Hash-based deduplication**: MD5 hashing prevents duplicate storage\n- **JSON metadata database**: Tracks all captured images with timestamps, satellites, channels\n- **Automatic organization**: Images stored with descriptive filenames\n- **Size tracking**: Monitor total archive size and image counts\n\n### Timestamp Parsing\nFixed NOAA timestamp parsing to handle Julian day format (YYYYJJJHHMM) instead of standard dates.\n\n### Error Handling\n- Robust error handling for network timeouts\n- Graceful degradation when satellites are offline\n- Clear ASCII status indicators: [OK], [ERR], [*], [\u003e\u003e]\n\n## CLI Usage\n\n### Archive Commands\n```bash\nnpm run archive capture                    # Capture latest GOES18 GEOCOLOR\nnpm run archive capture-all               # Capture all satellites/channels\nnpm run archive status                     # Show archive statistics\nnpm run archive recent                     # List recent captures\n```\n\n### EPIC Commands\n```bash\nnpm run epic latest                        # Download latest EPIC image\nnpm run epic download-all                  # Download all available images\nnpm run epic info                          # Show image metadata\n```\n\n### NASA Earth Observation\n```bash\nnpm run nasa download usa                  # Download US regional image\nnpm run nasa download europe 2024-01-15   # Download Europe for specific date\nnpm run nasa regions                       # List available regions\n```\n\n### Interactive TUI\n```bash\nnpm run tui                               # Launch cyberpunk terminal interface\n```\n\n## Automated Archiving\n\nSet up automated hourly captures with cron:\n\n```bash\n# Make script executable\nchmod +x cron-archive.sh\n\n# Add to crontab for hourly captures\ncrontab -e\n# Add this line:\n0 * * * * /path/to/noaa-sat-cli/cron-archive.sh\n```\n\n## Project Structure\n\n```\nsrc/\n├── api.ts          # Core NOAA API with fixed Julian day parsing\n├── archive.ts      # Hash-based archival system\n├── tui.ts          # Cyberpunk terminal interface\n├── quick.ts        # One-liner quick commands\n├── epic.ts         # NASA EPIC deep space imagery\n├── nasa-eo.ts      # NASA MODIS/VIIRS regional imagery\n└── index.ts        # Main CLI entry point\n\ncron-archive.sh     # Automated capture script\n```\n\n## Configuration\n\n### Environment Variables\n- `ARCHIVE_DIR`: Custom archive directory (default: `./archive`)\n- `LOG_LEVEL`: Logging verbosity (default: `info`)\n\n### Resolution Options\n- `1808x1808`: 3MP - Fast downloads, good for timelapses\n- `5424x5424`: 29MP - Standard quality, balanced size/detail\n- `10848x10848`: 118MP - High quality, larger files\n- `21696x21696`: 470MP - Maximum quality, very large files\n\n## Technical Notes\n\n### GOES Satellite Status\n- **GOES16**: Offline (2024)\n- **GOES18**: Active over Pacific Ocean\n- **GOES19**: Active over Atlantic Ocean\n\n### NASA GIBS Processing Delay\nNASA GIBS requires a 2-day offset from current date due to processing time.\n\n### Deduplication Algorithm\nUses MD5 hashing to identify duplicate images and avoid storing identical captures, essential for automated archiving.\n\n## Cyberpunk Aesthetic\n\nAll interfaces use ASCII art and ANSI colors with a \"unicode cyberpunk ASCII 90s\" aesthetic:\n- No emoji, only ASCII indicators\n- Cyberpunk color scheme (cyan, magenta, green, red)\n- ASCII art banners and status displays\n- Terminal-native interface design\n\n## License\n\nMIT License - See LICENSE file for details\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Test with `npm run tui` and `npm run quick`\n5. Submit a pull request\n\n---\n\n*Earth observation for the cyberpunk generation.*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fejfox%2Fnoaa-sat-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fejfox%2Fnoaa-sat-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fejfox%2Fnoaa-sat-cli/lists"}