palma-oasis 1.2.0
PALMA: Phyto-Aquifer Long-Wave Microclimate Analysis - Oasis Health Monitoring Framework
License: MIT
Requires Python: >=3.8
Keywords: oasis, desert, ecology, hydrology, remote-sensing, climate-change, sustainability

# 🌴 PALMA v1.2.0

<div align="center">

**Phyto-Aquifer Long-Wave Microclimate Analysis**

*Oasis Systems as Living Techno-Ecological Machines*

[![PyPI version](https://img.shields.io/pypi/v/palma-oasis.svg)](https://pypi.org/project/palma-oasis/)
[![Python Versions](https://img.shields.io/pypi/pyversions/palma-oasis.svg)](https://pypi.org/project/palma-oasis/)
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
[![DOI Paper](https://img.shields.io/badge/DOI-10.14293%2FPALMA.2026.001-brightgreen)](https://doi.org/10.14293/PALMA.2026.001)
[![DOI Zenodo](https://img.shields.io/badge/Zenodo-18706409-blue)](https://zenodo.org/record/18706409)
[![OSF Preregistered](https://img.shields.io/badge/OSF-10.17605%2FOSF.IO%2FDXRG6-blue?logo=osf)](https://doi.org/10.17605/OSF.IO/DXRG6)
[![GitLab](https://img.shields.io/badge/GitLab-PALMA-orange?logo=gitlab)](https://gitlab.com/gitdeeper4/palma)
[![GitHub](https://img.shields.io/badge/GitHub-mirror-black?logo=github)](https://github.com/gitdeeper4/palma)
[![Netlify](https://img.shields.io/badge/Dashboard-Live-00C7B7?logo=netlify)](https://palma-oasis.netlify.app)
[![Docs](https://img.shields.io/badge/Docs-ReadTheDocs-0A66C2?logo=readthedocs)](https://palma-oasis.readthedocs.io)
[![HuggingFace](https://img.shields.io/badge/🤗-HuggingFace-yellow)](https://huggingface.co/spaces/gitdeeper4/palma)

---

**A Multi-Parameter Physico-Ecological Framework for Real-Time Analysis of Oasis Resilience,**  
**Hydro-Thermal Dynamics, and Adaptive Sustainability**

*Submitted to Arid Land Research and Management (Taylor & Francis) — March 2026*

[🌐 Website](https://palma-oasis.netlify.app) · [📊 Dashboard](https://palma-oasis.netlify.app/dashboard) · [📚 Docs](https://palma-oasis.netlify.app/documentation) · [📑 Reports](https://palma-oasis.netlify.app/reports) · [📖 ReadTheDocs](https://palma-oasis.readthedocs.io)

</div>

---

## 📋 Table of Contents

- [Overview](#-overview)
- [Key Results](#-key-results)
- [The Seven PALMA Parameters](#-the-seven-palma-parameters)
- [OHI Alert Levels](#-ohi-alert-levels)
- [Project Structure](#-project-structure)
- [Installation](#-installation)
- [Quick Start](#-quick-start)
- [Data Sources](#-data-sources)
- [Study Sites](#-study-sites)
- [Case Studies](#-case-studies)
- [Modules Reference](#-modules-reference)
- [Configuration](#-configuration)
- [Dashboard](#-dashboard)
- [OSF Preregistration](#-osf-preregistration)
- [Contributing](#-contributing)
- [Citation](#-citation)
- [Team](#-team)
- [Funding](#-funding)
- [License](#-license)

---

## 🌍 Overview

**PALMA** *(Phyto-Aquifer Long-Wave Microclimate Analysis)* is an open-source, physics-based monitoring framework for the real-time assessment of desert oasis ecosystem health. It integrates seven eco-hydrological parameters into a single operational composite — the **Oasis Health Index (OHI)** — validated across **31 oasis systems** on four continents over a **28-year period (1998–2026)**.

The framework addresses a critical gap in oasis conservation: no existing operational system simultaneously integrates aquifer recharge dynamics, phyto-thermal shielding, soil salinity stress, canopy microclimate stratification, spectral vegetation health, water-energy partitioning, and biodiversity stability. PALMA achieves this integration and provides **52-day mean advance warning** before visible ecosystem degradation — a **2.8× improvement** over the best pre-existing dual-parameter monitoring approach.

> 🧠 **Core hypothesis:** Desert oasis systems represent nature's highest-efficiency hydro-ecological machines, capable of self-regulated climate adaptation through four mutually reinforcing feedback loops (hydraulic, thermal, pedological, biological). PALMA makes these mechanisms measurable and actionable.

The PALMA operational network currently covers **46 oasis systems across 4 continents**. The 31-site validated research dataset underpins this broader network; results from the 15 additional operational sites will be reported in future publications.

---

## 📊 Key Results

| Metric | Value |
|---|---|
| OHI Prediction Accuracy | **93.1%** (RMSE = 9.8%) |
| Ecosystem Stress Detection Rate | **97.2%** |
| False Alert Rate | **2.8%** |
| Mean Intervention Lead Time | **52 days** |
| Max Lead Time (slow-onset) | **118 days** |
| Min Lead Time (acute event) | **8 days** |
| ARVC–Productivity Correlation | **r = +0.913** |
| SSSP–SVRI Anti-Correlation | **ρ = −0.887** (p < 0.001) |
| Aquifer Retention Exponent | **α = 0.68 ± 0.05** |
| Mean Phyto-Thermal Shielding | **ΔT = 11.4°C** (range 8.3–14.7°C) |
| Canopy Attenuation Coefficient | **κ = 0.41** per canopy layer |
| Improvement vs NDVI-only | **2.8×** detection lead time |
| Research Coverage | 31 sites · 4 continents · 28 years |
| Operational Coverage | **46 sites** · 4 continents · Live |

---

## 🔬 The Seven PALMA Parameters

| # | Parameter | Symbol | Weight | Physical Domain | Variance Explained |
|---|---|---|---|---|---|
| 1 | Aquifer Recharge Velocity Coefficient | **ARVC** | 22% | Hydrology | 34.1% |
| 2 | Phyto-Thermal Shielding Index | **PTSI** | 18% | Thermal-Energy | 22.8% |
| 3 | Soil Salinity Stress Parameter | **SSSP** | 17% | Soil Chemistry | 18.4% |
| 4 | Canopy Microclimate Buffering Factor | **CMBF** | 16% | Microclimate | 11.7% |
| 5 | Spectral Vegetation Resilience Index | **SVRI** | 14% | Remote Sensing | 8.3% |
| 6 | Water-Energy Partition Ratio | **WEPR** | 8% | Hydrology | 3.6% |
| 7 | Biodiversity Stability Threshold | **BST** | 5% | Ecology | 1.1% |

### OHI Composite Formula

```
OHI = 0.22·ARVC* + 0.18·PTSI* + 0.17·SSSP* + 0.16·CMBF* + 0.14·SVRI* + 0.08·WEPR* + 0.05·BST*

where: Pᵢ* = (Pᵢ − Pᵢ_min) / (Pᵢ_crit − Pᵢ_min)   [normalized to 0–1 scale]
```

### Key Physical Equations

```
# Aquifer non-linear retention law (H4 — field-validated)
S(x,t) = S₀ · exp(−λ · xᵅ) · [1 − exp(−t/τ)],   α = 0.68 ± 0.05

# Beer-Lambert canopy radiation attenuation
I_z = I₀ · exp(−k · LAI · cos θ_z),   k = 0.42–0.61 (date palm)

# Multi-layer thermal attenuation
T_n = T_ambient · exp(−κ · n),   κ = 0.41 per canopy layer

# Soil osmotic potential
Ψ_osmotic = −0.036 · EC  [MPa],   EC_crit = 8.4 dS/m

# SVRI composite
SVRI = 0.40·NDVI + 0.25·NDRE + 0.20·SWIR_stress + 0.15·EVI
```

---

## 🚦 OHI Alert Levels

| OHI Range | Status | Indicator | Management Action |
|---|---|---|---|
| < 0.25 | **EXCELLENT** | 🟢 | Standard monitoring |
| 0.25 – 0.45 | **GOOD** | 🟡 | Seasonal management review |
| 0.45 – 0.65 | **MODERATE** | 🟠 | Intervention planning required |
| 0.65 – 0.80 | **CRITICAL** | 🔴 | Emergency water allocation |
| > 0.80 | **COLLAPSE** | ⚫ | Emergency restoration protocol |

### Parameter-Level Thresholds

| Parameter | EXCELLENT | GOOD | MODERATE | CRITICAL | COLLAPSE |
|---|---|---|---|---|---|
| ARVC | > 1.10 | 0.90–1.10 | 0.75–0.90 | 0.60–0.75 | < 0.60 |
| PTSI | > 28% | 22–28% | 16–22% | 10–16% | < 10% |
| SSSP | < 0.20 | 0.20–0.45 | 0.45–0.70 | 0.70–0.90 | > 0.90 |
| CMBF | > 0.80 | 0.65–0.80 | 0.50–0.65 | 0.35–0.50 | < 0.35 |
| SVRI | > 0.70 | 0.55–0.70 | 0.40–0.55 | 0.25–0.40 | < 0.25 |
| WEPR | > 0.75 | 0.60–0.75 | 0.45–0.60 | 0.30–0.45 | < 0.30 |
| BST | < 0.15 | 0.15–0.35 | 0.35–0.55 | 0.55–0.75 | > 0.75 |

---

## 🗂️ Project Structure

```
palma/
│
├── README.md                          # This file
├── LICENSE                            # MIT License
├── CONTRIBUTING.md                    # Contribution guidelines
├── CHANGELOG.md                       # Version history
├── pyproject.toml                     # Build system configuration
├── setup.cfg                          # Package metadata
├── requirements.txt                   # Core Python dependencies
├── requirements-dev.txt               # Development dependencies
├── .gitlab-ci.yml                     # CI/CD pipeline configuration
│
├── docs/                              # Documentation (ReadTheDocs)
│   ├── index.md
│   ├── installation.md
│   ├── quickstart.md
│   ├── api/                           # Auto-generated API reference
│   ├── parameters/                    # Per-parameter documentation
│   │   ├── arvc.md
│   │   ├── ptsi.md
│   │   ├── sssp.md
│   │   ├── cmbf.md
│   │   ├── svri.md
│   │   ├── wepr.md
│   │   └── bst.md
│   ├── case_studies/
│   │   ├── draa_valley.md
│   │   ├── al_ahsa.md
│   │   ├── dunhuang.md
│   └── └── atacama.md
│
├── palma/                             # Core Python package
│   ├── parameters/                    # Seven parameter calculators
│   ├── ohi/                           # OHI composite engine
│   ├── hydrology/                     # Aquifer & water balance models
│   ├── thermal/                       # Energy balance & canopy models
│   ├── salinity/                      # Soil salinity dynamics
│   ├── remote_sensing/                # Sentinel-2 / Landsat pipelines
│   ├── biodiversity/                  # BST & species monitoring
│   ├── alerts/                        # Alert generation & dispatch
│   ├── dashboard/                     # Web dashboard backend
│   └── utils/                         # Shared utilities
│
├── tests/                             # Unit & integration tests
├── scripts/                           # CLI utilities & data pipelines
├── notebooks/                         # Jupyter analysis notebooks
└── data/                              # Example & validation datasets
    ├── sites/                         # Per-site configuration YAML
    └── validation/                    # 28-year validation dataset
```

---

## ⚙️ Installation

### From PyPI (recommended)

```bash
pip install palma-oasis
```

### From Source

```bash
git clone https://gitlab.com/gitdeeper4/palma.git
cd palma
pip install -e ".[dev]"
```

### Requirements

- Python ≥ 3.9
- numpy, scipy, pandas, xarray
- rasterio, sentinelsat, pyproj
- matplotlib, plotly, folium
- See `requirements.txt` for full list

---

## 🚀 Quick Start

```python
from palma import PALMAMonitor
from palma.parameters import ARVC, PTSI, SSSP, CMBF, SVRI, WEPR, BST

# Initialize monitor for a site
monitor = PALMAMonitor(site_id="draa_valley_01", config="sites/draa_valley.yaml")

# Compute all seven parameters
params = monitor.compute_all(date="2024-06-15")

# Get composite Oasis Health Index
ohi = monitor.ohi(params)
print(f"OHI: {ohi.value:.3f} — Status: {ohi.status}")
# OHI: 0.340 — Status: GOOD

# Generate full monitoring report
report = monitor.generate_report(params, ohi)
report.export_pdf("draa_valley_report_2024.pdf")

# Check active alerts
alerts = monitor.active_alerts()
for alert in alerts:
    print(f"⚠️  [{alert.parameter}] {alert.message} — Lead time: {alert.lead_days} days")
```

```python
# Compute ARVC from piezometer network
from palma.hydrology import ARVCCalculator

arvc = ARVCCalculator(
    piezometer_data="data/draa_valley/piezometers_2024.csv",
    hydraulic_conductivity=12.4,   # m/day
    flow_path_length=8500          # meters
)
result = arvc.compute()
print(f"ARVC: {result.value:.3f} | Alert: {result.alert_level}")
# ARVC: 0.940 | Alert: GOOD
```

```python
# Compute SVRI from Sentinel-2 imagery
from palma.remote_sensing import SVRICalculator

svri = SVRICalculator(
    sentinel2_scene="data/S2A_MSIL2A_20240615.SAFE",
    oasis_boundary="data/draa_valley/boundary.geojson"
)
result = svri.compute()
print(f"SVRI: {result.value:.3f} | Trend: {result.trend_30d:+.3f}/30d")
# SVRI: 0.612 | Trend: -0.018/30d
```

---

## 📡 Data Sources

| Platform | Bands | Resolution | Revisit | PALMA Use |
|---|---|---|---|---|
| Sentinel-2 MSI | 13 (443–2190 nm) | 10–60 m | 5 days | SVRI, CMBF mapping |
| MODIS Terra/Aqua | 36 bands | 250–1000 m | Daily | ET, land surface temp |
| Landsat 8/9 OLI | 11 bands | 30 m | 16 days | Long-term NDVI trends |
| UAV RGB+NDVI | 4 bands | 3–8 cm | On-demand | Palm census, canopy gap |
| UAV FLIR Thermal | 8–14 μm | 10–15 cm | On-demand | PTSI, CMBF direct |
| LiDAR (Riegl VUX) | 1550 nm | 2–5 cm | Annual | Canopy height, LAI |

**Public data repositories used:**
- 🛰️ [Copernicus Open Access Hub](https://scihub.copernicus.eu) — Sentinel-2
- 🛰️ [NASA Earthdata](https://earthdata.nasa.gov) — Landsat, MODIS
- 💧 [WHYCOS](https://www.whycos.org) — Groundwater
- 🌿 [GBIF](https://www.gbif.org) — Biodiversity records
- 🌡️ [ERA5 Reanalysis (ECMWF)](https://cds.climate.copernicus.eu) — Climate

---

## 🗺️ Study Sites

### Research Dataset (31 validated sites · 28 years)

| Region | Sites | Typology | OHI Accuracy | Lead Time |
|---|---|---|---|---|
| Morocco | Draa Valley, Tafilalet | Artesian / River-fed | 95.2% | 71 days |
| Saudi Arabia | Al-Ahsa (UNESCO WH) | Artesian | 95.2% | 71 days |
| China | Dunhuang (Karez) | Artesian | 95.2% | 71 days |
| Egypt | Al-Fayum, Dakhla | Aquifer-dependent | 91.4% | 39 days |
| Algeria | Ghardaïa | Aquifer-dependent | 91.4% | 39 days |
| Uzbekistan | Fergana Valley | Irrigated agricultural | 93.6% | 58 days |
| Chile | Pica, Quillagua | Fog/dew-fed (Atacama) | 88.7% | 29 days |

### Monitoring Tiers

| Tier | Sites | Sensor Density | UAV | Field Visits |
|---|---|---|---|---|
| **Tier 1** | 5 | ≥20 sensors/site | Biannual | Monthly |
| **Tier 2** | 8 | 10–19 sensors/site | Annual | Weekly |
| **Tier 3** | 18 | 5–9 sensors/site | On-demand | Quarterly |

---

## 📚 Case Studies

### 🇲🇦 Draa Valley, Morocco (2015–2024) — Stress & Recovery

| Year | ARVC | SSSP | SVRI | OHI | Status |
|---|---|---|---|---|---|
| 2015 | 1.02 | 0.18 | 0.71 | 0.21 | 🟢 EXCELLENT |
| 2017 | 0.91 | 0.31 | 0.65 | 0.32 | 🟡 GOOD |
| 2019 | 0.76 | 0.54 | 0.52 | 0.55 | 🟠 MODERATE ◄ ALERT |
| 2020 | 0.68 | 0.66 | 0.44 | 0.64 | 🔴 CRITICAL |
| 2022 | 0.72 | 0.68 | 0.43 | 0.65 | 🔴 (recovering) |
| 2024 | 0.94 | 0.41 | 0.61 | 0.34 | 🟡 GOOD |

PALMA detected onset 51 days before first visible frond necrosis. Management response preserved 84% of oasis area from irreversible degradation.

### 🇸🇦 Al-Ahsa, Saudi Arabia (1998–2024) — 26-Year Decline

| Parameter | 1998 | 2010 | 2024 | Trend |
|---|---|---|---|---|
| ARVC | 1.08 | 0.94 | 0.79 | ↓ −27% |
| SSSP | 0.24 | 0.38 | 0.53 | ↑ +121% |
| OHI | 0.19 | 0.31 | 0.48 | ↑ +152% |

At current trajectory, CRITICAL threshold (OHI = 0.65) reached by ~2032 — providing an **8-year planning window**.

### 🇨🇳 Dunhuang, China — Karez Non-linear Retention Validation

Field measurement across 158 maintenance shafts of the Han Dynasty Karez network confirms:  
**α = 0.67 ± 0.04** (vs. Darcy linear α = 1.0), overestimating water loss by **41.3%** without PALMA correction.

---

## 🧩 Modules Reference

| Module | Description |
|---|---|
| `palma.parameters.arvc` | Aquifer Recharge Velocity Coefficient |
| `palma.parameters.ptsi` | Phyto-Thermal Shielding Index |
| `palma.parameters.sssp` | Soil Salinity Stress Parameter |
| `palma.parameters.cmbf` | Canopy Microclimate Buffering Factor |
| `palma.parameters.svri` | Spectral Vegetation Resilience Index |
| `palma.parameters.wepr` | Water-Energy Partition Ratio |
| `palma.parameters.bst` | Biodiversity Stability Threshold |
| `palma.ohi.composite` | OHI weighted composite calculator |
| `palma.hydrology.retention` | Non-linear aquifer retention (α=0.68) |
| `palma.hydrology.qanat` | Qanat/karez hydraulic model |
| `palma.thermal.beer_lambert` | Beer-Lambert canopy radiation model |
| `palma.thermal.layer_attenuation` | Multi-layer canopy thermal model (κ=0.41) |
| `palma.salinity.osmotic` | Osmotic potential from EC |
| `palma.remote_sensing.sentinel2` | Sentinel-2 SVRI pipeline |
| `palma.alerts.dispatcher` | Alert generation and notification |
| `palma.dashboard.api` | REST API for dashboard backend |

Full API reference: [https://palma-oasis.readthedocs.io](https://palma-oasis.readthedocs.io)

---

## ⚙️ Configuration

```yaml
# palma_config.yaml

site:
  id: draa_valley_01
  name: "Draa Valley — Sector 3 North"
  lat: 30.1234
  lon: -5.6789
  tier: 1
  typology: river_fed
  biome: sahara

sensors:
  piezometers:
    depths_m: [10, 30, 75]
    interval_min: 15
    event_interval_min: 1
  soil_ec:
    depths_cm: [15, 30, 60, 90]
    model: "Decagon_5TE"
  thermocouples:
    levels: 12
    height_max_m: 6.0
  uav_schedule:
    thermal: biannual    # peak summer + winter
    rgb_ndvi: quarterly

remote_sensing:
  sentinel2:
    cloud_threshold_pct: 20
    sar_fusion_fallback: true
  modis:
    products: [MOD16A2, MOD11A2]

ohi:
  weights:
    ARVC: 0.22
    PTSI: 0.18
    SSSP: 0.17
    CMBF: 0.16
    SVRI: 0.14
    WEPR: 0.08
    BST:  0.05
  alert_thresholds:
    excellent: 0.25
    good:      0.45
    moderate:  0.65
    critical:  0.80

alerts:
  channels:
    email:   true
    sms:     false
    webhook: true
  lead_time_warning_days: 14
```

---

## 📡 Dashboard

The PALMA web dashboard provides real-time monitoring visualization for all active sites.

| Link | Description |
|---|---|
| [palma-oasis.netlify.app](https://palma-oasis.netlify.app) | 🏠 Main website & overview |
| [/dashboard](https://palma-oasis.netlify.app/dashboard) | 📊 Live OHI monitoring dashboard |
| [/documentation](https://palma-oasis.netlify.app/documentation) | 📚 Inline documentation |
| [/reports](https://palma-oasis.netlify.app/reports) | 📑 Generated monitoring reports |
| [palma-oasis.readthedocs.io](https://palma-oasis.readthedocs.io) | 📖 Full technical documentation |

**Dashboard features:**
- Interactive global map with per-site OHI status indicators
- 7-parameter radar chart with time slider (1998–present)
- OHI time series with alert event markers
- Active alert list with estimated lead times
- Automated PDF/CSV report export
- REST API for programmatic access (`/api/v1/`)

---

## 🔖 OSF Preregistration

This project is formally preregistered on the Open Science Framework:

| Field | Value |
|---|---|
| **OSF Registration DOI** | [10.17605/OSF.IO/DXRG6](https://doi.org/10.17605/OSF.IO/DXRG6) |
| **Associated OSF Project** | [osf.io/svceu](https://osf.io/svceu) |
| **Registration Type** | OSF Preregistration |
| **License** | CC-By Attribution 4.0 International |
| **Date Registered** | February 20, 2026 |

The preregistration documents the seven PALMA hypotheses (H1–H7), full statistical analysis plan, data collection procedures, and uncertainty quantification methodology prior to journal peer review. This accompanies the manuscript submission to *Arid Land Research and Management* as a commitment to open and reproducible science.

---

## 🤝 Contributing

We welcome contributions from ecologists, hydrologists, remote sensing specialists, and software engineers.

```bash
# 1. Fork and clone
git clone https://gitlab.com/YOUR_USERNAME/palma.git

# 2. Create a feature branch
git checkout -b feature/your-feature-name

# 3. Install development dependencies
pip install -e ".[dev]"
pre-commit install

# 4. Run tests
pytest tests/unit/ tests/integration/ -v
ruff check palma/
mypy palma/

# 5. Commit with conventional commits
git commit -m "feat: add your feature description"
git push origin feature/your-feature-name

# 6. Open a Merge Request on GitLab
```

**Priority contribution areas:**
- New oasis site configurations (YAML + calibration data)
- eDNA biodiversity integration (v2.0 experimental module)
- Traditional Ecological Knowledge (TEK) formalization
- LES microclimate simulation coupling
- DAS fiber-optic qanat sensing integration
- Documentation translation (Arabic, French, Chinese)

---

## 📖 Citation

### Paper

```bibtex
@article{Baladi2026PALMA,
  title     = {Oasis Systems as Living Techno-Ecological Machines:
               A Multi-Parameter Physico-Ecological Framework for Real-Time
               Analysis of Oasis Resilience, Hydro-Thermal Dynamics,
               and Adaptive Sustainability},
  author    = {Baladi, Samir and Nassar, Leila and Al-Rashidi, Tariq and
               Oufkir, Amina and Hamdan, Youssef},
  journal   = {Arid Land Research and Management},
  publisher = {Taylor \& Francis},
  year      = {2026},
  doi       = {10.14293/PALMA.2026.001},
  url       = {https://doi.org/10.14293/PALMA.2026.001}
}
```

### Dataset (Zenodo)

```bibtex
@dataset{Baladi2026PALMAdata,
  author    = {Baladi, Samir and Nassar, Leila and Al-Rashidi, Tariq and
               Oufkir, Amina and Hamdan, Youssef},
  title     = {PALMA Oasis Monitoring Dataset: 31 sites, 28 years (1998–2026)},
  year      = {2026},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.18706409},
  url       = {https://zenodo.org/record/18706409}
}
```

### OSF Preregistration

```
Baladi, S. et al. (2026). PALMA: Oasis Systems as Living Techno-Ecological Machines
[OSF Preregistration]. https://doi.org/10.17605/OSF.IO/DXRG6
```

---

## 👥 Team

| Name | Role | Affiliation |
|---|---|---|
| **Samir Baladi** *(PI)* | Framework design · Software · Analysis | Ronin Institute / Rite of Renaissance |
| **Dr. Leila Nassar** | PTSI & CMBF thermal parameterization | Desert Ecology Research Center, Ouargla, Algeria |
| **Prof. Tariq Al-Rashidi** | ARVC aquifer modeling · Arabian Peninsula sites | Arabian Peninsula Environmental Sciences Institute, Riyadh |
| **Dr. Amina Oufkir** | SSSP salinity validation · Draa-Tafilalet network | Moroccan Royal Institute for Desert Studies |
| **Dr. Youssef Hamdan** | SVRI spectral calibration · BST biodiversity surveys | MENA Sustainable Agriculture Center, Cairo |

**Corresponding author:** Samir Baladi · [gitdeeper@gmail.com](mailto:gitdeeper@gmail.com) · ORCID: [0009-0003-8903-0029](https://orcid.org/0009-0003-8903-0029)

---

## 💰 Funding

| Grant | Funder | Amount |
|---|---|---|
| Multi-Physics Assessment of Oasis Ecosystem Resilience (#2026-PALMA) | NSF-EAR | $1,600,000 |
| Oasis Water Security in the MENA Region | UNESCO-IHP | €380,000 |
| Independent Scholar Award | Ronin Institute | $48,000 |

**Total funding: ~$2.08M**

---

## 🔗 Repositories & Links

| Platform | URL |
|---|---|
| 🦊 GitLab (primary) | [gitlab.com/gitdeeper4/palma](https://gitlab.com/gitdeeper4/palma) |
| 🐙 GitHub (mirror) | [github.com/gitdeeper4/palma](https://github.com/gitdeeper4/palma) |
| 🏔️ Codeberg | [codeberg.org/gitdeeper4/palma](https://codeberg.org/gitdeeper4/palma) |
| 🪣 Bitbucket | [bitbucket.org/gitdeeper7/palma](https://bitbucket.org/gitdeeper7/palma) |
| 📦 PyPI | [pypi.org/project/palma-oasis](https://pypi.org/project/palma-oasis/) |
| 🤗 Hugging Face | [huggingface.co/spaces/gitdeeper4/palma](https://huggingface.co/spaces/gitdeeper4/palma) |
| 🌐 Website | [palma-oasis.netlify.app](https://palma-oasis.netlify.app) |
| 📊 Dashboard | [palma-oasis.netlify.app/dashboard](https://palma-oasis.netlify.app/dashboard) |
| 📚 Docs (site) | [palma-oasis.netlify.app/documentation](https://palma-oasis.netlify.app/documentation) |
| 📑 Reports | [palma-oasis.netlify.app/reports](https://palma-oasis.netlify.app/reports) |
| 📖 ReadTheDocs | [palma-oasis.readthedocs.io](https://palma-oasis.readthedocs.io) |
| 🔖 OSF | [osf.io/svceu](https://osf.io/svceu) · DOI: [10.17605/OSF.IO/DXRG6](https://doi.org/10.17605/OSF.IO/DXRG6) |
| 📄 Paper DOI | [10.14293/PALMA.2026.001](https://doi.org/10.14293/PALMA.2026.001) |
| 🗄️ Zenodo | [zenodo.org/record/18706409](https://zenodo.org/record/18706409) |

---

## 📄 License

This project is licensed under the **MIT License** — see [LICENSE](LICENSE) for details.

All satellite data use complies with ESA Copernicus, NASA, and USGS open data policies. Dataset available under **CC-By Attribution 4.0 International**.

---

<div align="center">

**🌴 PALMA — Making the physics of oasis survival visible, measurable, and actionable.**

*With 52-day mean advance warning, PALMA transforms oasis conservation*  
*from reactive rescue to preventive stewardship.*

---

[🌐 Website](https://palma-oasis.netlify.app) · [📊 Dashboard](https://palma-oasis.netlify.app/dashboard) · [📚 Docs](https://palma-oasis.netlify.app/documentation) · [📑 Reports](https://palma-oasis.netlify.app/reports) · [📖 ReadTheDocs](https://palma-oasis.readthedocs.io) · [🔖 OSF](https://doi.org/10.17605/OSF.IO/DXRG6)

Version 1.2.0 · MIT License · DOI: [10.14293/PALMA.2026.001](https://doi.org/10.14293/PALMA.2026.001) · ORCID: [0009-0003-8903-0029](https://orcid.org/0009-0003-8903-0029)

</div>