RNO - Riesz Neural Operator
============================

Project Structure
-----------------
- example/NS_model.py: R2d model definition
- example/NS_train.py: Training script
- utilities3.py: Loss functions
- NS.sh: Training script wrapper

Quick Start
-----------
1. Prepare data: Place Navier-Stokes data (.npy format) in data/ directory

2. Train model:
   python example/NS_train.py \
       --gpu 0 \
       --ntrain 90 \
       --ntest 10 \
       --modes 20 \
       --modes1 5 \
       --modes2 5 \
       --width 128 \
       --batch-size 40 \
       --epochs 3 \
       --lr 0.001 \
       --s 128 \
       --t-in 100 \
       --t 400

Key Parameters
--------------
--gpu: GPU device ID
--ntrain/--ntest: Number of training/test samples
--modes: Number of spectral modes
--width: Model width
--batch-size: Batch size
--epochs: Number of training epochs
--lr: Learning rate
--s: Spatial resolution
--t-in: Input time steps
--t: Prediction time steps

Model Architecture
------------------
- Riesz2d: 2D Riesz transform layer with learnable adaptive scales
- DynamicBlock2d: Multi-layer block with residual connections
- R2d: Main model wrapper

