-
Notifications
You must be signed in to change notification settings - Fork 0
/
updateCSV
135 lines (111 loc) · 3.52 KB
/
updateCSV
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
124
125
126
127
128
129
130
131
132
133
134
135
#!/usr/bin/env bash
#
#-- Version: 1.0
#-- Author: Enrico Spinielli
#-- Date: 2016/04/18
#-- Last update: 2022/04/15
#-- Copyright (C) 2016 Eurocontrol/PRU
##- Usage: updateCSV
##- Extract all PRU download point CSV files
##-
##- This script relies on the following ENV variables
##- PRU_DEV_[USR|PWD|DBNAME] env vars for the En-Route dataset's schema.
##- PRU_TEST_[USR|PWD|DBNAME] env vars for the HFE dataset's schema.
##- Options:
##- -h, --help Print a usage message summarizing the command-line options, then exit.
##- -V, --version Output version information and exit.
##-
##- Examples:
##- $ updateCSV
##-
##- Caveat: be sure to use gnu-getopt and not OSX builtin or Git Bash missing one ;-)
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SCRIPT="$(basename "${BASH_SOURCE[0]}")"
help=$(grep "^##-" "${SCRIPT_DIR}/${SCRIPT}" | cut -c 4-)
version=$(grep "^#--" "${SCRIPT_DIR}/${SCRIPT}" | cut -c 4-)
opt_h() {
echo "$help"
}
opt_v() {
echo "$version"
}
# Execute getopt
TEMP=$(getopt -o :hV --long "help,version" -n "${SCRIPT}" -- "$@");
if [ $? != 0 ]
then
echo "Invalid option(s): $*" >&2
exit 1
fi
eval set -- "$TEMP"
unset TEMP
while true; do
case $1 in
-h|--help)
opt_h
exit
;;
-V|--version)
opt_v
exit
;;
--)
shift
break
;;
\?)
echo "Invalid option: -$OPTARG" >&2
opt_h
exit 1
;;
*)
echo "Internal error!"
exit 1
;;
esac
done
# there are NO mandatory arguments
if (( $# != 0 )); then
echo "Error: illegal number of parameters"
opt_h
exit 1
fi
# NOTE: beginning of current year BUT not ok for Jan release...
year_beg=$(date +'%Y-01-01')
if (( $(date +'%-m') == 1 )); then
# ...hence go back one year ;-)
year_beg=$(date -d "$year_beg -1 years" +"%Y-%m-%d")
fi
month_beg=$(date -d "`date +%Y%m01`" +%Y-%m-%d)
APT_DLY_WEF=${year_beg}
ERT_DLY_WEF=${year_beg}
TIL=${month_beg}
echo "[WEF, TIL) = [${year_beg}, ${TIL})"
(
cd "${SCRIPT_DIR}/" || exit;
#------------ export old CSVs ---------------
echo "Exporting ERT_DLY ansp ${ERT_DLY_WEF} ${TIL}..."
Rscript R/export_ert_dly.R -t ansp ${ERT_DLY_WEF} ${TIL} -o 'C:\Users\spi\OneDrive - EUROCONTROL\Download data files\csv';
echo "Exporting ERT_DLY ansp ... done."
echo "Exporting ERT_DLY fir ${ERT_DLY_WEF} ${TIL}..."
echo "**NOTE*: this takes quite a long time."
Rscript R/export_ert_dly.R -t fir ${ERT_DLY_WEF} ${TIL} -o 'C:\Users\spi\OneDrive - EUROCONTROL\Download data files\csv';
echo "Exporting ERT_DLY fir ... done."
echo "Exporting APT_DLY ${APT_DLY_WEF} ${TIL}..."
Rscript R/export_apt_dly.R ${APT_DLY_WEF} ${TIL} -o 'C:\Users\spi\OneDrive - EUROCONTROL\Download data files\csv';
echo "Exporting APT_DLY ... done"
echo "Exporting HFE ..."
Rscript R/export_hfe.R -o 'C:\Users\spi\OneDrive - EUROCONTROL\Download data files\csv';
echo "Exporting HFE ... done"
#------------ export new CSVs ---------------
echo "Exporting new CSVs ..."
Rscript R/export_csvs.R;
echo "Exporting new CSVs ... done"
#------------ export complementary data ---------------
echo "Exporting ANSP composition ... "
Rscript R/export_ansp_composition.R ${TIL};
echo "Exporting ANSP composition ... done"
#------------ export CO2 emissions data ---------------
echo "Exporting CO2 emissions ... "
Rscript R/co2_emissions.R;
echo "Exporting CO2 emissions ... done"
)