# activate conda environment
conda activate climax

# move to project repository
cd ~/git/climax

# loss functions
LOSS=(BernoulliGammaLoss(min_amount=1) BernoulliWeibullLoss(min_amount=1) L1Loss() MSELoss())

# wet day thresholds to test
# WET_DAY_THRESHOLDS=(0 0.5 1 2 3 5)

# weight decay values to test
LAMBDA=(0 0.0000001 0.000001 0.00001 0.0001 0.001 0.01 0.1 1)

# iterate over loss functions
for loss in ${LOSS[@]}; do
    # change loss function in configuration
    sed -i "s/LOSS\s*=.*/LOSS=$loss/" ./climax/main/config.py

    # iterate over weight decay values
    for lambda in ${LAMBDA[@]}; do
        # change weight regularization in configuration
        sed -i "s/LAMBDA\s*=.*/LAMBDA=$lambda)/" ./climax/main/config.py

        # run downscaling
        # python climax/main/downscale.py
        python climax/main/downscale_train.py
        python climax/main/downscale_infer.py
    done

    # for w in ${WET_DAY_THRESHOLDS[@]}; do
        # change wet day threshold in configuration
        # sed -i "s/min_amount\s*=.*/min_amount=$w)/" ./climax/main/config.py

        # run downscaling
        # python climax/main/downscale.py
        # python climax/main/downscale_train.py
        # python climax/main/downscale_infer.py
    # done
done
