1 | #!/bin/sh |
---|
2 | # |
---|
3 | # AUTHOR - date |
---|
4 | # =========== |
---|
5 | # Simona Flavoni - 02/2010 - LOCEAN |
---|
6 | # |
---|
7 | # DESCRIPTION |
---|
8 | # =========== |
---|
9 | # Graphics outputs files are written in my_IDL/PS/ps_ts/. |
---|
10 | # |
---|
11 | # A global document with all plots in Postscript, PDF or HTML file can be produced. |
---|
12 | # |
---|
13 | # EXAMPLES |
---|
14 | # ======== |
---|
15 | # $ ./time_series.sh -exp1 sEXP1 -exp2 sEXP2 -ystart year1 -yend year2 -format pdf |
---|
16 | # |
---|
17 | # PROBLEMS |
---|
18 | # ======== |
---|
19 | # no batch processing possible because of SAXO interactiviy Seb is working on it ... |
---|
20 | # |
---|
21 | # TODO |
---|
22 | # ==== |
---|
23 | # portability on linux |
---|
24 | # define overriding policy |
---|
25 | # finalize ps and pdf production |
---|
26 | # |
---|
27 | usage=" Usage : ${command} -exp1 exp1 -exp2 exp2 -ystart start -yend end -format pdf |
---|
28 | exp1 is your experience name |
---|
29 | exp2 is name of experience of reference |
---|
30 | ystart is the first year from which you want to compute Time Series |
---|
31 | yend is the last year for which you want to compute Time Series |
---|
32 | example: ./time_series.sh -exp1 core2000 -exp2 core2000 -ystart 1 -yend 2000 -format pdf " |
---|
33 | # |
---|
34 | minargcount=10 |
---|
35 | if [ ${#} -lt ${minargcount} ]; then |
---|
36 | echo "Not enought arguments" |
---|
37 | echo "${usage}" |
---|
38 | exit 1 |
---|
39 | fi |
---|
40 | # |
---|
41 | while [ ! -z "${1}" ] # ++ pb bash |
---|
42 | do |
---|
43 | case ${1} in |
---|
44 | -exp1) exp1=${2} shift ;; |
---|
45 | -exp2) exp2=${2} shift ;; |
---|
46 | -ystart) start=${2} shift ;; |
---|
47 | -yend) end=${2} shift ;; |
---|
48 | -format) format=${2} shift ;; |
---|
49 | -h) |
---|
50 | echo "${usage}" |
---|
51 | exit 0 |
---|
52 | ;; |
---|
53 | *) # other choice |
---|
54 | echo "${usage}" |
---|
55 | exit 1 |
---|
56 | ;; |
---|
57 | esac |
---|
58 | shift # next flag |
---|
59 | done |
---|
60 | # |
---|
61 | # ++ check parameters |
---|
62 | set -u |
---|
63 | # |
---|
64 | # define output directory for POSTCRIPT files |
---|
65 | #++ change directory |
---|
66 | #================CHANGE DIRECTORIES===================== |
---|
67 | psdir=/path_output_PS_time_series |
---|
68 | pdfdir=/path_output_PDF_time_series |
---|
69 | htmldir=/path_output_HTML_time_series |
---|
70 | #================END CHANGE DIRECTORIES================= |
---|
71 | # test if ${psdir} already exists |
---|
72 | if [ -d ${psdir} ]; then |
---|
73 | echo "${psdir} already exist" |
---|
74 | #+++exit 1 |
---|
75 | else |
---|
76 | mkdir -p ${psdir} |
---|
77 | fi |
---|
78 | # test if ${pdfdir} already exists |
---|
79 | if [ -d ${pdfdir} ]; then |
---|
80 | echo "${psdir} already exist" |
---|
81 | #+++exit 1 |
---|
82 | else |
---|
83 | mkdir -p ${pdfdir} |
---|
84 | fi |
---|
85 | |
---|
86 | # memorize current IDL_STARTUP file |
---|
87 | memo_idl_startup=${IDL_STARTUP} |
---|
88 | |
---|
89 | # generation of IDL commands file to launch several std_plots commands |
---|
90 | rm /tmp/time_series_multi.pro 2> /dev/null |
---|
91 | cat << EOF >> /tmp/time_series_multi.pro |
---|
92 | psdir='${psdir}' |
---|
93 | std_ts,'${exp1}','${exp2}',${start},${end},/postscript |
---|
94 | exit |
---|
95 | EOF |
---|
96 | # |
---|
97 | idl_command='/Applications/itt/idl64/bin/idl' # !! only on my mac |
---|
98 | # |
---|
99 | # check if IDL available |
---|
100 | type ${idl_command} |
---|
101 | status_type=${?} |
---|
102 | if [ ${status_type} -ne 0 ] |
---|
103 | then |
---|
104 | echo "eee : idl not found" |
---|
105 | exit 1 |
---|
106 | fi |
---|
107 | # debug |
---|
108 | more /tmp/time_series_multi.pro |
---|
109 | # |
---|
110 | # launch IDL |
---|
111 | ${idl_command} /tmp/time_series_multi.pro |
---|
112 | status_idl=${?} |
---|
113 | # test if idl returns ok |
---|
114 | # echo "iii : ${status_idl}" |
---|
115 | # |
---|
116 | # restore IDL_STARTUP file |
---|
117 | IDL_STARTUP=${memo_idl_startup} |
---|
118 | export IDL_STARTUP |
---|
119 | |
---|
120 | # produce the final document |
---|
121 | case ${format} in |
---|
122 | pdf) |
---|
123 | rm ${pdfdir}/all_ts.pdf 2> /dev/null |
---|
124 | echo "psdir: ${psdir}" |
---|
125 | for file in ${psdir}/*.ps ; do |
---|
126 | echo "ps2pdf" |
---|
127 | ps2pdf -sPAPERSIZE=a4 ${file} |
---|
128 | done |
---|
129 | ls ${pdfdir} |
---|
130 | mv *.pdf ${pdfdir}/. |
---|
131 | texexec --pdfarrange --result=/tmp/all_ts.pdf ${pdfdir}/*.pdf |
---|
132 | rm -rf *.aux *.log /tmp/*.log |
---|
133 | mv /tmp/all_ts.pdf ${pdfdir}/all_ts.pdf |
---|
134 | #commented because convert gives images of bad quality |
---|
135 | # convert ${psdir}/*.ps /tmp/all_ts.pdf |
---|
136 | # convert -resize 800x600 ${psdir}/${exp1}_${exp2}/ps/*.ps /tmp/all_ts.pdf |
---|
137 | ;; |
---|
138 | html) |
---|
139 | rm /tmp/time_series.html 2> /dev/null |
---|
140 | # check if convert available |
---|
141 | convert_command='/sw/bin/convert' # !! only on my mac |
---|
142 | type ${convert_command} |
---|
143 | status_type=${?} |
---|
144 | if [ ${status_type} -ne 0 ] |
---|
145 | then |
---|
146 | echo "eee : convert not found" |
---|
147 | exit 1 |
---|
148 | fi |
---|
149 | # debug |
---|
150 | |
---|
151 | for file in `ls ${psdir}/*.ps | sed -e "s/\.ps//"` ; do |
---|
152 | ${convert_command} -antialias ${file}.ps ${file}.png |
---|
153 | done |
---|
154 | # creation of a HTML file |
---|
155 | cat << EOF > /tmp/time_series.html |
---|
156 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
---|
157 | <html xmlns="http://www.w3.org/1999/xhtml"> |
---|
158 | <head> |
---|
159 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
160 | <hr> |
---|
161 | </head> |
---|
162 | <body> |
---|
163 | EOF |
---|
164 | cat /tmp/time_series.txt >> /tmp/time_series.html |
---|
165 | cat << EOF >> /tmp/time_series.html |
---|
166 | <hr/> |
---|
167 | EOF |
---|
168 | |
---|
169 | cat << EOF >> /tmp/time_series.html |
---|
170 | |
---|
171 | </body> |
---|
172 | </html> |
---|
173 | EOF |
---|
174 | more /tmp/time_series.html |
---|
175 | ;; |
---|
176 | *) |
---|
177 | echo " format ${format} not implemented" |
---|
178 | exit 1 |
---|
179 | ;; |
---|
180 | esac |
---|
181 | |
---|
182 | # |
---|
183 | exit 0 |
---|