Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#!/bin/bash
# set defaults if missing command line parameters
fertilizer_scenario="reference"
sowing_scenario="reference"
irrigation_scenario="reference"
weather_year="1984-1985"
## set valid options
fertilizer_options=( "reference" "refP25" "refP50" "refP100" )
sowing_options=( "minus30" "minus15" "reference" "plus15" "plus30" )
irrigation_options=( reference )
weather_options=( "1984-1985" "1985-1986" "1986-1987" "1987-1988" "1988-1989" "1989-1990" "1990-1991" "1991-1992" "1992-1993"
"1993-1994" "1994-1995" "1995-1996" "1996-1997" "1997-1998" "1998-1999" "1999-2000" "2000-2001" "2001-2002"
"2002-2003" "2003-2004" "2004-2005" "2005-2006" "2006-2007" "2007-2008" "2008-2009" "2009-2010" "2010-2011"
"2011-2012" "2012-2013" "2013-2014" "2014-2015" "2015-2016" "2016-2017" "2017-2018" "2018-2019" "2019-2020" )
# read input parameters from command line
while(( "$#" )); do
case "$1" in
-fertilizer_scenario)
if [ $# -lt 2 ]; then
echo >&2 value for fertilizer_scenario missing
exit 1
fi
fertilizer_scenario=$2
shift 2
;;
-sowing_scenario)
if [ $# -lt 2 ]; then
echo >&2 value for sowing_scenario missing
exit 1
fi
sowing_scenario=$2
shift 2
;;
-irrigation_scenario)
if [ $# -lt 2 ]; then
echo >&2 value for irrigation_scenario missing
exit 1
fi
irrigation_scenario=$2
shift 2
;;
-weather_year)
if [ $# -lt 2 ]; then
echo >&2 value for weather_year missing
exit 1
fi
weather_year=$2
shift 2
;;
-*)
echo >&2 Invalid option $1
exit 1
;;
*)
echo >&2 Invalid argument $1
exit 1
;;
esac
done
fert_valid=0
for opt in ${fertilizer_options[@]}; do
if [ "$fertilizer_scenario" == "$opt" ]; then
fert_valid=1
fi
done
if [ ${fert_valid} -lt 1 ]; then
echo >&2 Invalid fertilizer_scenario $fertilizer_scenario
exit 1
fi
sowing_valid=0
for opt in ${sowing_options[@]}; do
if [ "$sowing_scenario" == "$opt" ]; then
sowing_valid=1
fi
done
if [ ${sowing_valid} -lt 1 ]; then
echo >&2 Invalid sowing_scenario $sowing_scenario
exit 1
fi
irrig_valid=0
for opt in ${irrigation_options[@]}; do
if [ "$irrigation_scenario" == "$opt" ]; then
irrig_valid=1
fi
done
if [ ${irrig_valid} -lt 1 ]; then
echo >&2 Invalid irrigation_scenario $irrigation_scenario
exit 1
fi
weather_valid=0
for opt in ${weather_options[@]}; do
if [ "$weather_year" == "$opt" ]; then
weather_valid=1
fi
done
if [ ${weather_valid} -lt 1 ]; then
echo >&2 Invalid weather_year $weather_year
exit 1
fi
if [ ${#sowing_scenario} -lt 5 ]; then
echo >&2 Invalid sowing_scenario $sowing_scenario
exit 1
fi
if [ "$irrigation_scenario" != "reference" ]; then
echo >&2 Invalid irrigation_scenario $irrigation_scenario
exit 1
fi
if [ ${#weather_year} -ne 9 ]; then
echo >&2 Invalid weather_year $weather_year
exit 1
fi
echo Fetching data for irrigation_scenario \"$irrigation_scenario\", fertilizer_scenario \"$fertilizer_scenario\", sowing_scenario \"$sowing_scenario\", and weather_year \"$weather_year\" from PIK server.
run=set rsync --password-file=rsync_pik c2p2_user@rsync.pik-potsdam.de::c2p2/August2021_experiment/lpjml-results/forecast_2021-2022/irrigation_target_${irrigation_scenario}_n_rate_shift_${fertilizer_scenario}_sowing_delta_${sowing_scenario}/forecast_2021-2022_wy${weather_year}.nc output/forecast_2021-2022.nc
exit $?