Welcome to IMDAA Studio
Your guide to converting IMDAA reanalysis archives into research-ready CSV datasets.
What Can You Do?
Online vs Offline Mode
| Feature | Online (Cloud) | Offline (Local) |
|---|---|---|
| Upload Limit | 3 GB per file | Unlimited |
| Processing | Cloud server | Your machine |
| Requires Login | Yes | Optional |
| Requires Install | No | Yes (PWA + Node.js) |
| Internet Required | Yes | No |
Uploading Archives
How to upload IMDAA reanalysis ZIP files for conversion.
Step-by-Step
.zip archive onto the upload zone, or click to browse. The file must contain NetCDF (.nc) files from IMDAA reanalysis datasets.Tracking Requests
Monitor your conversion jobs in real time.
Request Statuses
| Status | Meaning |
|---|---|
| Queued | Your request is waiting to be processed. |
| Processing | The server is actively converting your archive. You'll see a live progress bar. |
| Completed | All CSV files are ready for download. |
| Failed | Something went wrong. Check the error message and try again. |
What You Can Do
- View Progress — Live percentage and ETA updates as your job runs.
- Download Files — Once complete, download individual CSVs or all at once.
- Delete Requests — Remove completed or failed requests from your history.
- Re-run — Use the same archive to create new CSV variants with different settings.
Offline Mode
Process unlimited files locally on your own computer — no internet required.
How It Works
When you switch to Offline mode in the dashboard, IMDAA Studio connects to a local server running on your machine instead of the cloud. This removes the 3GB upload limit and processes everything locally.
Setting Up Offline Mode
Download and install Node.js (v18 or later) from nodejs.org.
Open a terminal and run:
This starts the local server. Open the IMDAA Studio PWA app and switch to Offline mode using the toggle in the header.
imdaa-studio start again.Correction Engines
Apply scientific correction pipelines to your processed CSV data.
What Are Correction Engines?
IMDAA provides raw 3-hourly reanalysis data. Correction engines transform this raw data into daily, scientifically standardized products that are ready for research — converting units, aggregating timesteps, and applying domain-specific formulas.
How to Apply Corrections
Available Modules
| Module | What It Does | Output |
|---|---|---|
| 🌡️ Temperature | Converts 3-hourly Kelvin data to daily °C products | Tmean, Tmax, Tmin |
| ☀️ Radiation | Integrates W/m² flux into daily energy totals | SW, LW, Net Radiation (MJ/m²/day) |
| 💧 Relative Humidity | Converts fractional RH to daily percentage stats | RH mean, max, min (%) |
| ☁️ Vapor Pressure | Derives actual vapor pressure from dewpoint | ea (kPa) |
| 🌬️ Wind Speed | Computes magnitude from U/V components at 2m height | Daily mean wind speed (m/s) |
| 🌧️ Rainfall Erosivity | Estimates R-factor from sub-daily rainfall | Erosivity index (MJ·mm/ha/hr) |
Unit Conversion
Transform units across your CSV datasets with built-in scientific formulas.
How to Use
Common Conversions
| From | To | Formula |
|---|---|---|
| Kelvin (K) | Celsius (°C) | T(°C) = T(K) − 273.15 |
| W/m² | MJ/m²/day | E = flux × 0.0864 |
| Pa | kPa | P(kPa) = P(Pa) / 1000 |
| m/s | km/h | v(km/h) = v(m/s) × 3.6 |
| kg/m²/s | mm/day | P(mm) = P(kg/m²/s) × 86400 |
File Management
Organize, download, and manage your processed archives and CSV outputs.
Your Workspace
The Files page shows all your archives and their associated outputs organized by upload. Each archive can have multiple CSV variants from different processing runs.
What You Can Do
- Download — Download individual CSV files or all outputs from an archive at once.
- Preview — Quick-view the first rows of any CSV to verify the data before downloading.
- Re-process — Select an existing archive and run it again with different settings.
- Delete — Remove files you no longer need to free up storage.
Scientific Modules Reference
How each correction module transforms your IMDAA data.
🌡️ Temperature
Converts 3-hourly temperatures from Kelvin to Celsius, then produces daily aggregates.
Products: Tmean (daily mean), Tmax (daily maximum), Tmin (daily minimum).
☀️ Radiation
Integrates instantaneous flux values (W/m²) into daily energy totals (MJ/m²/day).
where 0.03888 = 10800 seconds / 10⁶ (J → MJ)
Products: Net Shortwave, Net Longwave, Net Radiation.
💧 Relative Humidity
Converts fractional RH (0–1) to percentage and computes daily statistics.
Products: RH mean, RH max, RH min.
☁️ Vapor Pressure
Derives actual vapor pressure from dewpoint temperature using the Magnus formula.
Products: Daily mean actual vapor pressure (kPa).
🌬️ Wind Speed
Computes wind speed from U and V vector components with FAO-56 height adjustment.
WS_2m = WS_z × [ 4.87 / ln(67.8z − 5.42) ]
Products: Daily mean wind speed at 2m (m/s).
🌧️ Rainfall Erosivity
Estimates the R-factor (erosive potential) from sub-daily rainfall intensity.
Products: Daily precipitation (mm), Erosivity index.
🌱 Soil Moisture
Processes 4-layer Noah LSM soil moisture data (m³/m³) to compute layer-wise daily means, total soil water storage, and root zone averages.
Layers: L1 (0–10cm, 100mm) · L2 (10–35cm, 250mm) · L3 (35–100cm, 650mm) · L4 (100–300cm, 2000mm)
Products: Layer-wise daily mean, Total SWS (mm), Root Zone moisture (0–1 m), Surface layer (0–10 cm), Monthly summaries.
Build Custom Correction Engines
Create your own scientific correction modules and share them with the research community.
What You Need
Every custom correction module requires two files:
| File | Format | Purpose |
|---|---|---|
| logic.py | Python (.py) | The processing script with your scientific logic |
| theory.md | Markdown (.md) | Scientific documentation shown to users in the wizard |
Input File Requirements
Your module will receive a processed IMDAA CSV file. These CSVs always contain:
| Column | Type | Description |
|---|---|---|
lat | Float | Latitude coordinate |
lon | Float | Longitude coordinate |
time | Datetime | Timestamp of the observation |
| Variable columns | Float | The actual data values (e.g., temperature, wind speed) |
Python Script Structure
Your logic.py must define two things:
1. Metadata Constants
These tell the UI what your module needs and what it produces:
2. The apply_correction Function
This is the entry point the engine calls with the user's mapped data:
Output Schema
Your function must return a dictionary where:
- Keys = output filenames (e.g.,
"Daily_Mean.csv") - Values = Pandas DataFrames with the computed results
Each DataFrame should include lat, lon, date columns plus your computed values. The engine handles storage and download links automatically.
Writing Theory Documentation
The theory.md file is shown to users in the correction wizard. It should include:
$$ T(°C) = T(K) - 273.15 $$Getting Started Template
Copy this starter template and modify it for your use case:
How to Upload
logic.py and theory.md files.pandas, numpy, and scipy are available. If you need additional packages, contact the admin.Frequently Asked Questions
Common questions about using IMDAA Studio.
What file formats can I upload?
IMDAA Studio accepts .zip archives containing NetCDF (.nc) files from the IMDAA reanalysis dataset.
What is the maximum upload size?
In Online mode, the limit is 3 GB per file. In Offline mode, there is no limit — processing happens locally on your machine.
Do I need Python installed?
Only if you use Offline mode. The local server uses Python for scientific data processing. Python 3.9 or later is required. Online mode handles everything on the cloud.
Can I re-use uploaded archives?
Yes. Previously uploaded archives are saved in your workspace. You can select them again during the upload step to create new CSV variants without re-uploading.
What happens to my data?
In Online mode, your data is stored securely on our servers during processing and is only accessible from your authenticated account. In Offline mode, all data stays on your local machine.
How do I switch between Online and Offline mode?
Use the mode toggle in the dashboard header. Offline mode only appears if you've installed the IMDAA Studio PWA app.
What if the offline server won't start?
Run imdaa-studio doctor in your terminal to diagnose common issues. Make sure Node.js v18+ and Python 3.9+ are installed.