bask0 / q10hybrid

Q10 hybrid modeling experiment for a book chapter.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Author: B. Kraft [bkraf@bgc-jena.mpg.de]

Hybrid modeling of ecosystem respiration temperature sensitivity



Description

Q10 hybrid modeling experiment for a book chapter.

How to run

First, install dependencies.

# clone project
git clone https://github.com/bask0/q10hybrid

# Optional: create and activate new conda environment.
conda create --yes --name q10hybrid python=3.6
conda activate q10hybrid

# install project
cd q10hybrid
pip install -e .
pip install -r requirements.txt

Q10 hybrid modeling experiment

Base respiration is simulated using observed short-wave irradiation and the delta thereof. Ecosyste respiration is calculated using the Q10 approach.


Experiment

Estimate Q10 in two different setups:

  • Rb=NN(SW_in, dSW_in)
  • Rb=NN(SW_in, dSW_in, T)

We investigate wheter we can estimate Q10 in both cases robustly and how model hyperparameters (here: dropout={0.0, 0.2, 0.4, 0.6}) impact the results.

data

Usage

Run experiments:

# Create a new study (delete old runs).
python experiments/experiment_01.py --create_study
# Start first process on GPU 0.
CUDA_VISIBLE_DEVICES="0" python experiments/experiment_01.py

To work on independent runs in parallel, just call the study again from another terminal!

# Start a second process on GPU 1.
CUDA_VISIBLE_DEVICES="1" python experiments/experiment_01.py

Alternatively, you can use run_experiment.py to create a new study and spawn multiple processes, for example with 12 jobs distributed on 4 GPUs (0,1,2,3).

# Start a second process on GPU 1.
CUDA_VISIBLE_DEVICES="0,1,2,3" python run_experiment.py --num_jobs 12

Use analysis/analysis.ipynb for evaluation.

Note

From the optuna doc: GridSampler automatically stops the optimization if all combinations in the passed search_space have already been evaluated, internally invoking the stop() method.

The grid search runs too many combinations, they are cleane in analysis/analysis.ipynb.

Results

Q10 estimation without (top) and with (bottom) air temperature as predictor:

training progress

Q10 estimation and loss for different HPs.

Q10 interactions

Citation

@article{YourName,
  title={Your Title},
  author={Your team},
  journal={Location},
  year={Year}
}

About

Q10 hybrid modeling experiment for a book chapter.

License:Apache License 2.0


Languages

Language:Jupyter Notebook 97.5%Language:Python 2.5%Language:Shell 0.0%