From b9cda066e486f17b36d4cb063de3223f8cf4c79f Mon Sep 17 00:00:00 2001
From: "Daniel.Frisinghelli" <daniel.frisinghelli@eurac.edu>
Date: Tue, 19 Oct 2021 16:41:18 +0200
Subject: [PATCH] Iterate over predictands.

---
 Scripts/lr_range_test.sh | 34 ++++++++++++++++++++++++----------
 1 file changed, 24 insertions(+), 10 deletions(-)

diff --git a/Scripts/lr_range_test.sh b/Scripts/lr_range_test.sh
index 1dc3c25..780d680 100644
--- a/Scripts/lr_range_test.sh
+++ b/Scripts/lr_range_test.sh
@@ -6,19 +6,33 @@ conda activate climax
 # move to project repository
 cd ~/git/climax
 
-# loss functions
-LOSS=(L1Loss BernoulliGammaLoss BernoulliWeibullLoss MSELoss)
+# predictands
+PREDICTAND=(pr tasmin tasmax)
 
-# iterate over loss functions
-for loss in ${LOSS[@]}; do
+# iterate over predictands
+for predictand in ${PREDICTAND[@]}; do
 
-    # change loss function in configuration
-    if [ "$loss" = "L1Loss" ] || [ "$loss" = "MSELoss" ]; then
-	    sed -i "s/LOSS\s*=.*/LOSS=$loss()/" ./climax/main/config.py
+    # change predictand in configuration
+    sed -i "s/PREDICTAND\s*=.*/PREDICTAND='$predictand'/" ./climax/main/config.py
+
+    # define available loss functions for current predictand
+    if [ "$predictand" = "pr" ]; then
+        LOSS=(L1Loss BernoulliGammaLoss BernoulliWeibullLoss MSELoss)
     else
-	    sed -i "s/LOSS\s*=.*/LOSS=$loss(min_amount=1)/" ./climax/main/config.py
+        LOSS=(L1Loss MSELoss)
     fi
 
-    # run learning rate range test
-    python climax/main/lr_range_test.py
+    # iterate over loss functions
+    for loss in ${LOSS[@]}; do
+
+        # change loss function in configuration
+        if [ "$loss" = "L1Loss" ] || [ "$loss" = "MSELoss" ]; then
+    	    sed -i "s/LOSS\s*=.*/LOSS=$loss()/" ./climax/main/config.py
+        else
+    	    sed -i "s/LOSS\s*=.*/LOSS=$loss(min_amount=1)/" ./climax/main/config.py
+        fi
+
+        # run learning rate range test
+        python climax/main/lr_range_test.py
+    done
 done
-- 
GitLab