RTnn
RTnn (Radiative Transfer Neural Networks) is a PyTorch-based framework for emulating radiative transfer processes in climate models, with a primary application to Land Surface Models (LSM). It provides neural network surrogates that replace computationally expensive physical radiative transfer schemes while preserving accuracy.
GitHub repository: https://github.com/kardaneh/RTNN
Key Features
Multiple architectures: LSTM, GRU, Transformer, FCN, MLP
Climate data support: Native NetCDF4 handling with multi-year, multi-process workflows
GPU acceleration: CUDA support with multi-GPU training
Comprehensive evaluation: Built-in metrics (NMAE, NMSE, R²) and diagnostics/visualization tools
Flexible preprocessing: Multiple normalization methods (minmax, standard, robust, log1p, sqrt)
Command-line interface: Training and inference directly from CLI without code changes
Applications
Emulation of canopy radiative transfer in vegetation models
Acceleration of climate model simulations
Data assimilation and uncertainty quantification
Sensitivity analysis of radiative transfer parameters
Performance
Up to YYY× speed-up compared to physical radiative transfer models
Minimal accuracy loss (typically R² > 0.9999)
Scalable to large datasets with multi-GPU training
Getting Started
API Reference
Developer Guide
- Project Structure
- Testing Philosophy
- Pre-Push Workflow
- Why This Workflow Matters
- Prerequisites
- 1. Fetch Latest Changes From Remote
- 2. Check Branch Status
- 3. Rebase Onto Latest Remote Branch
- Conflict Resolution Guide
- Step 1 — Identify Conflicted Files
- Step 2 — Examine the Conflict
- Step 3 — Resolve the Conflict
- Step 4 — Mark as Resolved
- Step 5 — Continue the Rebase
- Abort Rebase (Emergency Option)
- 4. Standardize Code with Pre-commit Hooks
- 5. Run the Test Suite
- 6. Commit Changes (If Needed)
- 7. Push Your Changes
- Quick Reference: Daily Workflow
- Common Pitfalls to Avoid
- Important Rules Summary