{"id":31698818,"url":"https://github.com/namanxdev/atmopredict","last_synced_at":"2026-04-15T16:03:24.043Z","repository":{"id":318188565,"uuid":"1070285339","full_name":"namanxdev/AtmoPredict","owner":"namanxdev","description":"Machine learning weather prediction platform leveraging NASA POWER API data. Features: 5 binary classifiers, 100+ engineered features, interactive React UI with Leaflet maps, FastAPI backend. Predicts extreme weather events with probability scores.","archived":false,"fork":false,"pushed_at":"2025-10-05T16:48:14.000Z","size":227,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-05T18:35:46.586Z","etag":null,"topics":["fastapi","nasa","nasa-spaceapps-challenge","prediction-model","react","weather"],"latest_commit_sha":null,"homepage":"","language":"Python","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/namanxdev.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-05T16:27:52.000Z","updated_at":"2025-10-05T17:23:14.000Z","dependencies_parsed_at":"2025-10-05T18:35:52.484Z","dependency_job_id":null,"html_url":"https://github.com/namanxdev/AtmoPredict","commit_stats":null,"previous_names":["namanxdev/atmopredict"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/namanxdev/AtmoPredict","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namanxdev%2FAtmoPredict","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namanxdev%2FAtmoPredict/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namanxdev%2FAtmoPredict/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namanxdev%2FAtmoPredict/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/namanxdev","download_url":"https://codeload.github.com/namanxdev/AtmoPredict/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namanxdev%2FAtmoPredict/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000701,"owners_count":26082805,"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-10-08T02:00:06.501Z","response_time":56,"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":["fastapi","nasa","nasa-spaceapps-challenge","prediction-model","react","weather"],"created_at":"2025-10-08T19:10:59.831Z","updated_at":"2026-04-15T16:03:24.036Z","avatar_url":"https://github.com/namanxdev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌍 AtmoPredict - Extreme Weather Forecasting System\n\n\u003e An intelligent weather prediction system using **LSTM deep learning** to forecast extreme weather conditions with NASA POWER data\n\n[![Python](https://img.shields.io/badge/Python-3.8+-blue.svg)](https://www.python.org/)\n[![FastAPI](https://img.shields.io/badge/FastAPI-0.109+-green.svg)](https://fastapi.tiangolo.com/)\n[![React](https://img.shields.io/badge/React-19.1+-61DAFB.svg)](https://reactjs.org/)\n[![TensorFlow](https://img.shields.io/badge/TensorFlow-2.15+-orange.svg)](https://www.tensorflow.org/)\n[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n## 📋 Table of Contents\n\n- [Overview](#-overview)\n- [Features](#-features)\n- [Technology Stack](#-technology-stack)\n- [System Architecture](#-system-architecture)\n- [Installation](#-installation)\n- [Usage](#-usage)\n- [API Documentation](#-api-documentation)\n- [Model Details](#-model-details)\n- [Project Structure](#-project-structure)\n- [Contributing](#-contributing)\n\n## 🎯 Overview\n\n**AtmoPredict** is an advanced weather forecasting system that uses a **trained LSTM (Long Short-Term Memory) deep learning model** to predict climate anomalies and extreme weather conditions:\n\n- 🔥 **Very Hot** - High temperature events\n- ❄️ **Very Cold** - Low temperature events\n- 💨 **Very Windy** - High wind speed events\n- 🌧️ **Very Wet** - Heavy precipitation events\n- 🥵 **Very Uncomfortable** - High heat index conditions\n\nThe system uses an **LSTM neural network** trained on historical NASA POWER weather data (2010-2024) to predict **temperature and precipitation anomalies**, which are then converted to extreme weather probabilities. Predictions are delivered through an interactive web interface.\n\n## ✨ Features\n\n### 🤖 LSTM Deep Learning Model\n- **LSTM Neural Network**: Advanced time-series prediction using TensorFlow/Keras\n- **Climate Anomaly Prediction**: Forecasts temperature and precipitation anomalies\n- **Model Performance**: \n  - Temperature Anomaly: R² = 0.35, RMSE = 0.107\n  - Precipitation Anomaly: R² = 0.79, RMSE = 0.237\n- **18 Input Features**: Including temporal patterns, weather parameters, and location data\n- **Trained on NASA POWER Data**: 2010-2024, 10 major global cities\n- **Automatic Probability Conversion**: Converts anomalies to extreme weather probabilities\n\n### 🌐 Web Interface\n- **Modern React UI** with Tailwind CSS and DaisyUI\n- **Interactive Maps** using Leaflet for location selection\n- **Real-time Forecasts** with probability visualizations\n- **Multi-day Predictions** with detailed weather insights\n- **Responsive Design** for desktop and mobile\n\n### 🚀 Backend API\n- **FastAPI** for high-performance async operations\n- **LSTM Model Integration** for intelligent predictions\n- **RESTful Endpoints** for forecasting and climate data\n- **Automatic Documentation** with Swagger UI\n- **CORS Enabled** for cross-origin requests\n- **Health Check** and monitoring endpoints\n\n### 📊 Data Sources\n- **NASA POWER API** - Historical climate data (2010-2024)\n- **OpenWeatherMap API** - Real-time current weather\n- **Continental Climate Patterns** - Long-term forecasting (6 months)\n- **Hemisphere Data** - Global climate context\n\n## 🛠 Technology Stack\n\n### Backend\n- **Python 3.8+** - Core programming language\n- **FastAPI** - Modern async web framework\n- **Uvicorn** - ASGI server\n- **TensorFlow 2.15+** - Deep learning framework\n- **Keras 3.0+** - Neural network API\n- **scikit-learn** - Data preprocessing and utilities\n- **pandas/numpy** - Data manipulation\n\n### Frontend\n- **React 19** - UI library\n- **Vite** - Build tool and dev server\n- **Tailwind CSS** - Utility-first CSS framework\n- **DaisyUI** - Component library\n- **Leaflet** - Interactive maps\n- **Axios** - HTTP client\n- **Plotly.js** - Data visualization\n\n### Data Source\n- **NASA POWER API** - Global weather and solar data\n- **OpenWeatherMap API** - Real-time weather data\n- **Coverage**: 2010-2024 historical data\n- **Resolution**: Daily/Monthly temporal granularity\n- **Parameters**: Temperature, precipitation, wind, humidity, pressure, cloud cover, radiation\n\n## 🏗 System Architecture\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                      USER INTERFACE                          │\n│                  (React + Tailwind + Leaflet)               │\n│                   http://localhost:5173                     │\n└──────────────────────────┬──────────────────────────────────┘\n                           │ HTTP/JSON\n                           ↓\n┌─────────────────────────────────────────────────────────────┐\n│                     BACKEND API                              │\n│                   (FastAPI + Uvicorn)                       │\n│                   http://127.0.0.1:8000                     │\n│  ┌────────────────────────────────────────────────────┐    │\n│  │  Endpoints:                                         │    │\n│  │  • POST /predict          - LSTM predictions       │    │\n│  │  • POST /forecast/hybrid  - Hybrid forecasts       │    │\n│  │  • POST /forecast         - Long-term forecasts    │    │\n│  │  • GET  /climate/summary  - Climate information    │    │\n│  │  • GET  /docs             - API documentation      │    │\n│  │  • GET  /health           - Health check           │    │\n│  │  • GET  /model/info       - LSTM model info        │    │\n│  └────────────────────────────────────────────────────┘    │\n└──────────────────────────┬──────────────────────────────────┘\n                           │\n                           ↓\n┌─────────────────────────────────────────────────────────────┐\n│              LSTM DEEP LEARNING MODEL                        │\n│              (ml nasa/models/climate_lstm_model.keras)      │\n│  ┌────────────────────────────────────────────────────┐    │\n│  │  LSTM Neural Network:                               │    │\n│  │  • Input: 18 features (weather + temporal)         │    │\n│  │  • Output: 2 predictions                           │    │\n│  │    - Temperature Anomaly                           │    │\n│  │    - Precipitation Anomaly                         │    │\n│  │                                                     │    │\n│  │  Converted to 5 Extreme Weather Probabilities:     │    │\n│  │  • very_hot          (hot temperature events)      │    │\n│  │  • very_cold         (cold temperature events)     │    │\n│  │  • very_windy        (high wind conditions)        │    │\n│  │  • very_wet          (heavy precipitation)         │    │\n│  │  • very_uncomfortable (high heat index)            │    │\n│  └────────────────────────────────────────────────────┘    │\n└──────────────────────────┬──────────────────────────────────┘\n                           │\n                           ↓\n┌─────────────────────────────────────────────────────────────┐\n│                    DATA SOURCES                              │\n│                                                              │\n│  • NASA POWER API (historical 2010-2024)                    │\n│  • OpenWeatherMap API (current weather)                     │\n│  • Continental Climate Patterns (data/continents/)          │\n│  • Hemisphere Data (data/hemispheres/)                      │\n│  • Location Mappings (data/location_mapping.json)           │\n└─────────────────────────────────────────────────────────────┘\n```\n\n## 📥 Installation\n\n### Prerequisites\n\n- **Python 3.8+** installed\n- **Node.js 16+** and npm installed\n- **Git** installed\n- **Windows OS** (batch files provided) or adapt for Linux/Mac\n\n### Step 1: Clone the Repository\n\n```bash\ngit clone https://github.com/namanxdev/AtmoPredict.git\ncd AtmoPredict\n```\n\n### Step 2: Backend Setup\n\n#### Option A: Using Batch File (Windows)\n\n```bash\nINSTALL_FIRST.bat\n```\n\nThis will:\n- Create a Python virtual environment\n- Install all required Python packages\n- Verify installation\n\n#### Option B: Manual Installation\n\n```bash\n# Create virtual environment\npython -m venv venv\n\n# Activate virtual environment\nvenv\\Scripts\\activate  # Windows\n# source venv/bin/activate  # Linux/Mac\n\n# Install dependencies\npip install -r requirements.txt\n```\n\n### Step 3: Frontend Setup\n\n```bash\ncd Frontend_nasa\n\n# Install Node.js dependencies\nnpm install\n\ncd ..\n```\n\n### Step 4: Verify Installation\n\n```bash\npython check_installation.py\n```\n\n## 🚀 Usage\n\n### Quick Start (Recommended)\n\nUse the provided batch files to start the entire system:\n\n#### Option 1: Complete System\n\n```bash\nSTART_COMPLETE_SYSTEM.bat\n```\n\nThis starts both the backend API and frontend development server.\n\n#### Option 2: Manual Start\n\n**Terminal 1 - Start Backend API:**\n```bash\nvenv\\Scripts\\activate\nuvicorn src.api:app --host 127.0.0.1 --port 8000 --reload\n```\n\n**Terminal 2 - Start Frontend:**\n```bash\ncd Frontend_nasa\nnpm run dev\n```\n\n### Access the Application\n\n- **Frontend UI**: http://localhost:5173\n- **Backend API**: http://127.0.0.1:8000\n- **API Documentation**: http://127.0.0.1:8000/docs\n- **Alternative API Docs**: http://127.0.0.1:8000/redoc\n\n### Using the Web Interface\n\n1. **Open the Application**: Navigate to http://localhost:5173\n2. **Enter Location**: \n   - Click on the map to select a location\n   - Or enter latitude/longitude manually\n3. **View Current Weather**: See real-time weather conditions\n4. **Get Forecast**: Click \"Get Forecast\" to see predictions\n5. **Analyze Results**: View probabilities and risk levels for each extreme condition\n\n## 📡 API Documentation\n\n### Main Forecast Endpoint\n\n**POST** `/forecast/hybrid`\n\nRequest body:\n```json\n{\n  \"latitude\": 40.7128,\n  \"longitude\": -74.0060,\n  \"forecast_days\": 7,\n  \"location_name\": \"New York\"\n}\n```\n\nResponse:\n```json\n{\n  \"location\": {\n    \"name\": \"New York\",\n    \"latitude\": 40.7128,\n    \"longitude\": -74.006,\n    \"continent\": \"North America\",\n    \"hemisphere\": \"Northern\"\n  },\n  \"current_weather\": {\n    \"temperature\": 22.5,\n    \"feels_like\": 24.3,\n    \"humidity\": 65,\n    \"wind_speed\": 3.2,\n    \"description\": \"Partly cloudy\"\n  },\n  \"forecast\": [\n    {\n      \"date\": \"2024-10-06\",\n      \"predictions\": {\n        \"very_hot\": 0.12,\n        \"very_cold\": 0.05,\n        \"very_windy\": 0.18,\n        \"very_wet\": 0.35,\n        \"very_uncomfortable\": 0.09\n      },\n      \"risk_level\": \"MODERATE\",\n      \"max_risk_category\": \"very_wet\"\n    }\n  ],\n  \"summary\": {\n    \"highest_risk_day\": \"2024-10-08\",\n    \"dominant_risk\": \"very_wet\",\n    \"average_risk_level\": \"MODERATE\"\n  }\n}\n```\n\n### Climate Summary Endpoint\n\n**GET** `/climate/summary`\n\nQuery parameters:\n- `latitude` (required): Latitude coordinate\n- `longitude` (required): Longitude coordinate\n\nResponse:\n```json\n{\n  \"location\": {\n    \"latitude\": 40.7128,\n    \"longitude\": -74.006,\n    \"continent\": \"North America\",\n    \"hemisphere\": \"Northern\"\n  },\n  \"climate_info\": {\n    \"description\": \"Humid subtropical climate\",\n    \"temperature_range\": \"Cold winters, hot summers\",\n    \"precipitation\": \"Evenly distributed throughout year\"\n  }\n}\n```\n\n### Health Check Endpoint\n\n**GET** `/health`\n\nResponse:\n```json\n{\n  \"status\": \"healthy\",\n  \"models_loaded\": 5,\n  \"timestamp\": \"2024-10-05T12:00:00\"\n}\n```\n\n## 🤖 Model Details\n\n### LSTM Neural Network Architecture\n\nThe system uses a trained **LSTM (Long Short-Term Memory)** deep learning model for climate prediction:\n\n#### Model Specifications\n- **Type**: LSTM Neural Network (TensorFlow/Keras)\n- **Input Shape**: (timesteps=1, features=18)\n- **Output Shape**: 2 predictions (temperature anomaly, precipitation anomaly)\n- **Training Data**: NASA POWER climate data (2010-2024)\n- **Locations**: 10 major global cities\n- **Total Samples**: ~1,800 data points\n\n#### Performance Metrics\n- **Temperature Anomaly Prediction**:\n  - R² Score: 0.35\n  - RMSE: 0.107\n  - MAE: 0.085\n  \n- **Precipitation Anomaly Prediction**:\n  - R² Score: 0.79\n  - RMSE: 0.237\n  - MAE: 0.178\n\n#### Input Features (18 total)\n1. **Weather Parameters** (scaled):\n   - T2M (mean temperature)\n   - T2M_MAX (maximum temperature)\n   - T2M_MIN (minimum temperature)\n   - PRECTOTCORR (precipitation, log-transformed)\n   - ALLSKY_SFC_SW_DWN (solar radiation)\n   - RH2M (relative humidity)\n   - QV2M (specific humidity)\n   - T2M_range (temperature range)\n\n2. **Temporal Features**:\n   - month_sin (cyclical month encoding)\n   - month_cos (cyclical month encoding)\n   - season (encoded)\n\n3. **Location Features**:\n   - latitude (scaled)\n   - longitude (scaled)\n\n4. **Derived Features**:\n   - precip_log (log-transformed precipitation)\n   - heat_index components\n\n#### Prediction Pipeline\n\n```\nInput Weather Data\n        ↓\nFeature Extraction (18 features)\n        ↓\nFeature Scaling (StandardScaler)\n        ↓\nLSTM Model Inference\n        ↓\nOutput: [temp_anomaly, precip_anomaly]\n        ↓\nProbability Conversion\n        ↓\n5 Extreme Weather Probabilities:\n  • very_hot (0.0 - 1.0)\n  • very_cold (0.0 - 1.0)\n  • very_windy (0.0 - 1.0)\n  • very_wet (0.0 - 1.0)\n  • very_uncomfortable (0.0 - 1.0)\n```\n\n#### Anomaly to Probability Conversion\n\nThe LSTM model predicts **temperature and precipitation anomalies** (deviations from normal). These are converted to extreme weather probabilities using:\n\n1. **Very Hot**: Based on adjusted temperature (base_temp + anomaly) and positive temperature anomaly\n2. **Very Cold**: Based on adjusted temperature and negative temperature anomaly\n3. **Very Wet**: Based on adjusted precipitation (base_precip × (1 + anomaly)) and positive precipitation anomaly\n4. **Very Windy**: Based on current wind speed measurements\n5. **Very Uncomfortable**: Based on calculated heat index (temperature + humidity interaction)\n\n### Risk Level Calculation\n\n```python\nmax_probability = max(all_predictions)\n\nif max_probability \u003e= 0.8:   risk_level = \"EXTREME\"\nelif max_probability \u003e= 0.6: risk_level = \"HIGH\"\nelif max_probability \u003e= 0.4: risk_level = \"MODERATE\"\nelif max_probability \u003e= 0.2: risk_level = \"LOW\"\nelse:                        risk_level = \"MINIMAL\"\n```\n\n### Model Files Location\n\n- **LSTM Model**: `ml nasa/models/climate_lstm_model.keras` (3.79 MB)\n- **Feature Scaler**: `ml nasa/models/lstm_scaler.pkl`\n- **Model Metadata**: `ml nasa/models/lstm_model_metadata.json`\n- **Model Configuration**: `ml nasa/data/model_configuration.json`\n\n## 📁 Project Structure\n\n```\nAtmoPredict/\n│\n├── 📄 README.md                      # This file\n├── 📄 ARCHITECTURE.md                # Detailed system architecture\n├── 📄 requirements.txt               # Python dependencies\n├── 📄 config.yaml                    # Configuration file\n├── 📄 .gitignore                     # Git ignore rules\n│\n├── 🚀 INSTALL_FIRST.bat             # Installation script\n├── 🚀 START_COMPLETE_SYSTEM.bat     # Start entire system\n├── 🚀 START_HYBRID_API.bat          # Start backend only\n│\n├── 📂 src/                           # Backend source code\n│   ├── __init__.py\n│   ├── api.py                        # Main FastAPI application (LSTM integrated)\n│   ├── lstm_model_loader.py          # LSTM model loader and predictor\n│   ├── data_collection.py            # NASA API data fetching\n│   ├── feature_engineering.py        # Feature creation\n│   ├── data_router.py                # Location data routing\n│   └── climate_service.py            # Climate information service\n│\n├── 📂 Frontend_nasa/                 # React frontend\n│   ├── package.json                  # Node dependencies\n│   ├── vite.config.js                # Vite configuration\n│   ├── tailwind.config.js            # Tailwind CSS config\n│   ├── index.html                    # Entry HTML\n│   ├── src/\n│   │   ├── App.jsx                   # Main React component\n│   │   ├── components/               # React components\n│   │   │   ├── WeatherMap.jsx        # Map component\n│   │   │   ├── CurrentWeather.jsx    # Current weather display\n│   │   │   ├── ForecastMini.jsx      # Forecast cards\n│   │   │   └── ModelResponse.jsx     # ML predictions display\n│   │   ├── services/                 # API services\n│   │   │   ├── weatherApi.js         # Backend API calls\n│   │   │   └── weatherDataManager.js # Data management\n│   │   └── utils/\n│   │       └── constants.js          # Configuration constants\n│   └── public/                       # Static assets\n│\n├── 📂 ml nasa/                       # LSTM Model \u0026 Training Pipeline\n│   ├── local_inference.py            # Run LSTM predictions locally\n│   ├── main_pipeline.py              # Data collection pipeline\n│   ├── cleaning_pipeline.py          # Data cleaning workflow\n│   ├── test_project.py               # Comprehensive tests\n│   ├── models/                       # Trained models\n│   │   ├── climate_lstm_model.keras  # 🤖 Main LSTM model (3.79 MB)\n│   │   ├── lstm_scaler.pkl           # Feature scaler\n│   │   ├── lstm_model_metadata.json  # Performance metrics\n│   │   └── lstm_training_history.pkl # Training logs\n│   ├── data/                         # Training data\n│   │   ├── climate_model_ready_transformed.csv\n│   │   ├── model_configuration.json  # Feature configuration\n│   │   └── locations_major_cities.csv\n│   └── src/                          # Pipeline modules\n│       ├── location_grid.py\n│       ├── data_fetcher.py\n│       └── data_processor.py\n│\n├── 📂 data/                          # Climate pattern data\n│   ├── location_mapping.json         # Location metadata\n│   ├── continents/                   # Continental climate data\n│   │   ├── asia.json\n│   │   ├── europe.json\n│   │   ├── north_america.json\n│   │   ├── south_america.json\n│   │   ├── africa.json\n│   │   ├── australia.json\n│   │   └── antarctica.json\n│   └── hemispheres/                  # Hemisphere climate data\n│       ├── northern_hemisphere.json\n│       └── southern_hemisphere.json\n│\n└── 📂 FloatChatMap/                  # Additional dashboard tools\n    └── ...                           # Climate visualization tools\n```\n\n## 🔄 LSTM Model Information\n\nThe LSTM model is **pre-trained** on NASA POWER climate data (2010-2024). The model files are located in `ml nasa/models/`:\n\n- **Model File**: `climate_lstm_model.keras` (3.79 MB)\n- **Scaler**: `lstm_scaler.pkl`\n- **Metadata**: `lstm_model_metadata.json`\n- **Configuration**: `../data/model_configuration.json`\n\n### Running Local Inference\n\nTo test the LSTM model independently:\n\n```bash\ncd \"ml nasa\"\npython local_inference.py\n```\n\nThis generates predictions for all samples and creates visualizations in `ml nasa/results/`.\n\n### Model Training (Advanced)\n\nThe model was trained using Google Colab with the data collection pipeline. To retrain (advanced users):\n\n```bash\ncd \"ml nasa\"\n\n# 1. Collect new data\npython main_pipeline.py --grid cities --start 2010 --end 2024\n\n# 2. Clean and process data\npython cleaning_pipeline.py\n\n# 3. Train model (requires Google Colab or local GPU)\n# See ml nasa/README.md for detailed training instructions\n```\n\n## 🧪 Testing\n\n### Test Backend Connection\n\n```bash\nTEST_BACKEND_CONNECTION.bat\n\n# Or manually\npython test_backend_api.py\n```\n\n### Test Hybrid Forecast\n\n```bash\nTEST_HYBRID_FORECAST.bat\n\n# Or manually\npython test_hybrid_forecast.py\n```\n\n## 🌟 Key Features Explained\n\n### 1. Multi-Location Support\nThe system uses a data router to map any latitude/longitude to the nearest trained location, ensuring predictions work globally.\n\n### 2. Real-time Weather Integration\nCurrent weather conditions are fetched from external APIs and displayed alongside ML predictions.\n\n### 3. Climate-Aware Predictions\nThe system considers continental and hemispheric climate patterns to adjust predictions.\n\n### 4. Interactive Visualization\n- Leaflet maps for location selection\n- Plotly charts for trend visualization\n- Progress bars for probability display\n- Color-coded risk levels\n\n### 5. Responsive Design\nThe interface adapts to different screen sizes, from mobile phones to desktop monitors.\n\n## 🔮 Future Enhancements\n\n- [ ] Enhanced LSTM model with attention mechanisms\n- [ ] Multi-timestep predictions (sequence forecasting)\n- [ ] Real-time NASA data integration\n- [ ] Extended forecast range (14+ days)\n- [ ] Ensemble model combining LSTM with traditional ML\n- [ ] Historical trend comparison and visualization\n- [ ] Email/SMS alerts for extreme conditions\n- [ ] Mobile app (React Native)\n- [ ] User accounts and saved locations\n- [ ] Integration with more weather data sources (ERA5, MERRA-2)\n- [ ] Multi-language support\n- [ ] Export reports as PDF\n- [ ] Model explainability (SHAP, LIME)\n- [ ] Transfer learning for regional models\n\n## 🤝 Contributing\n\nContributions are welcome! Please follow these steps:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- **NASA POWER** - For providing free access to global weather data\n- **FastAPI** - For the excellent async web framework\n- **React Team** - For the powerful UI library\n- **scikit-learn, XGBoost, LightGBM** - For robust ML algorithms\n- **Leaflet** - For beautiful interactive maps\n\n## 📧 Contact\n\nFor questions, suggestions, or collaboration:\n\n- **GitHub**: [@namanxdev](https://github.com/namanxdev)\n- **Repository**: [AtmoPredict](https://github.com/namanxdev/AtmoPredict)\n\n## 🎓 NASA Space Apps Challenge\n\nThis project was developed for the NASA Space Apps Challenge 2025. It demonstrates the practical application of machine learning for climate science and extreme weather prediction using NASA's open data.\n\n---\n\n**Made with ❤️ for better weather prediction**\n\n🌍 Predicting tomorrow's weather, today 🌤️\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnamanxdev%2Fatmopredict","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnamanxdev%2Fatmopredict","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnamanxdev%2Fatmopredict/lists"}