create_tarball.sh 8.04 KB
Newer Older
1
#!/bin/bash
2
# Ignacio Pisso, May 2017 
Ignacio Pisso's avatar
Ignacio Pisso committed
3
# Changes 2018-2019
4

Ignacio Pisso's avatar
Ignacio Pisso committed
5
echo CREATE A NEW FLEXPART DISTRIBUTION
Ignacio Pisso's avatar
Ignacio Pisso committed
6

7
# get current commit hash
Ignacio Pisso's avatar
Ignacio Pisso committed
8
githash=$(git rev-parse --short --verify HEAD)
Ignacio Pisso's avatar
Ignacio Pisso committed
9
echo githash $githash 
10
11
#define version number with hash
version=10.4_$githash
Ignacio Pisso's avatar
Ignacio Pisso committed
12
echo version $version  
13

14
# define tarball name
Ignacio Pisso's avatar
Ignacio Pisso committed
15
targetdir=../flexpart_distribution/
Ignacio Pisso's avatar
Ignacio Pisso committed
16
17
echo targetdir $targetdir

18
# name distribution version
Ignacio Pisso's avatar
Ignacio Pisso committed
19
20
distribution_name=flexpart_v$version

21
# name distribution temporary dir
Ignacio Pisso's avatar
Ignacio Pisso committed
22
23
24
tarball_tmp=${targetdir}flexpart_v$version
echo tarball_tmp $tarball_tmp

25
# name distribution tarball file
Ignacio Pisso's avatar
Ignacio Pisso committed
26
27
#tarball=${targetdir}flexpart_v$version.tar 
tarball=${tarball_tmp}.tar 
Ignacio Pisso's avatar
Ignacio Pisso committed
28
echo tarball $tarball
29

30
# if needed clean old package
Ignacio Pisso's avatar
Ignacio Pisso committed
31
if [ -d $tarball_tmp ]; then
Ignacio Pisso's avatar
Ignacio Pisso committed
32
33
34
35
36
37
38
39
40
41
42
  echo
  echo clean old tarball
  hora=$(date +"%Y-%m-%d_%H%M%S")
  tarball_tmp_bk=$tarball_tmp$tarball_tmp_$hora
  echo tarball_tmp=$tarball_tmp exists: move to tarball_tmp_bk=$tarball_tmp_bk #and exit  
  mkdir $tarball_tmp_bk 
  mv $tarball_tmp $tarball_tmp_bk/ 
  mv $tarball $tarball_tmp_bk/ 
  #exit 
  echo old files moved to tarball_tmp_bk=$tarball_tmp_bk 
  echo
Ignacio Pisso's avatar
Ignacio Pisso committed
43
44
fi

45
46
47
48
49
50
51
# start packing
## needs in addition to the git repo ANCILLARY git repos
# VERIFY THESE RESOURCES EXIST BEFORE PACKING DISTRIBUTION
#1 OH file OH_variables.bin || OH_variables=../flexin/OH_FIELDS/OH_variables.bin
#2 flex_extract || flex_extract=../flex_extract_v7.0.4/
#3 flex_read_fortran from ../flex_read_matlab/export_basic  TODO: add functions to ../flex_read_matlab/export/ 
#  flex_read_matlab_src=../flex_read_matlab/export_basic
Ignacio Pisso's avatar
Ignacio Pisso committed
52
#4 tests/examples ../flex_tests_examples/examples/*
53
54
55
56
57




# mkdir container
Ignacio Pisso's avatar
Ignacio Pisso committed
58
echo ---------------------------------------------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
59
echo ')' create basis dir $tarball_tmp
60
mkdir $tarball_tmp
Ignacio Pisso's avatar
Ignacio Pisso committed
61
echo ---------------------------------------------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
62
63
64

echo

65
# patnames
Ignacio Pisso's avatar
Ignacio Pisso committed
66
echo ---------------------------------------------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
67
echo ')' copy pathnames 
Ignacio Pisso's avatar
Ignacio Pisso committed
68
69
cp pathnames $tarball_tmp/pathnames
echo ---------------------------------------------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
70
71
72

echo 

73
# fortran source files
Ignacio Pisso's avatar
Ignacio Pisso committed
74
75
echo ---------------------------------------------------------
echo ')' copy src/
76
77
mkdir $tarball_tmp/src
cp src/*.f90 $tarball_tmp/src
78
cp -r src/gributils $tarball_tmp/src 
79
cp src/makefile $tarball_tmp/src
Ignacio Pisso's avatar
Ignacio Pisso committed
80
echo ---------------------------------------------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
81

82
83
84
cp LICENSE $tarball_tmp/LICENSE_GPLv3
cp src/flexpart_license.txt  $tarball_tmp/src

Ignacio Pisso's avatar
Ignacio Pisso committed
85
86
echo

87
# options dir
Ignacio Pisso's avatar
Ignacio Pisso committed
88
89
echo ---------------------------------------------------------
echo ')' copy options/ 
90
echo ---------------------------------------------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
91
92
93
94
95
96
97
98
99
100
mkdir $tarball_tmp/options
user_input_files="AGECLASSES     COMMAND        IGBP_int1.dat  OUTGRID        OUTGRID_NEST   RECEPTORS      RELEASES       surfdata.t     surfdepo.t"
for i in $user_input_files
do
  echo $i
  cp -r options/$i $tarball_tmp/options
done
mkdir $tarball_tmp/options/SPECIES
cp options/SPECIES/SPECIES* $tarball_tmp/options/SPECIES/
cp options/SPECIES/specoverview.f90 $tarball_tmp/options/SPECIES/
Ignacio Pisso's avatar
Ignacio Pisso committed
101
echo copy options/SPECIES/ to $tarball_tmp/options/SPECIES/
102
103
104
echo ---------------------------------------------------------

echo
Ignacio Pisso's avatar
Ignacio Pisso committed
105

106
107
108
109
110
111
# OH file 
echo ---------------------------------------------------------
echo ')' copy OH_variables.bin to flexin 
mkdir $tarball_tmp/flexin
OH_variables=../flexin/OH_FIELDS/OH_variables.bin
cp $OH_variables $tarball_tmp/flexin/
Ignacio Pisso's avatar
Ignacio Pisso committed
112
echo ---------------------------------------------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
113
114
115

echo

116
# AVAILABLE
Ignacio Pisso's avatar
Ignacio Pisso committed
117
118
echo ---------------------------------------------------------
echo ')' copy AVAILABLE
Ignacio Pisso's avatar
Ignacio Pisso committed
119
cp AVAILABLE $tarball_tmp/AVAILABLE
Ignacio Pisso's avatar
Ignacio Pisso committed
120
121
122
echo ---------------------------------------------------------

echo 
Ignacio Pisso's avatar
Ignacio Pisso committed
123

124
# output
Ignacio Pisso's avatar
Ignacio Pisso committed
125
echo ---------------------------------------------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
126
echo  ')' create output/ #  mkdir $tarball_tmp/output
Ignacio Pisso's avatar
Ignacio Pisso committed
127
128
mkdir $tarball_tmp/output
echo ---------------------------------------------------------
129
130
echo output reference?
echo ---------------------------------------------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
131

132
echo
Ignacio Pisso's avatar
Ignacio Pisso committed
133

134
# preprocess
Ignacio Pisso's avatar
Ignacio Pisso committed
135
echo ---------------------------------------------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
136
echo ')' preprocess/
137
mkdir $tarball_tmp/preprocess
Ignacio Pisso's avatar
Ignacio Pisso committed
138
echo -----------------flex_extract-------------------
139
mkdir $tarball_tmp/preprocess/flex_extract
140
flex_extract=../flex_extract_v7.0.4/
Ignacio Pisso's avatar
Ignacio Pisso committed
141
142
echo include flex_extract v7.0.4 b7c1c04a204c91e53759ef590504bf52dfaece64
echo from $flex_extract [use git modules?] IP 3/2018 
143
144
145
146
147
cp $flex_extract/README.md $tarball_tmp/preprocess/flex_extract
cp -r $flex_extract/docs $tarball_tmp/preprocess/flex_extract
cp -r $flex_extract/grib_templates $tarball_tmp/preprocess/flex_extract
cp -r $flex_extract/python $tarball_tmp/preprocess/flex_extract
cp -r $flex_extract/src $tarball_tmp/preprocess/flex_extract
Ignacio Pisso's avatar
Ignacio Pisso committed
148
149
echo flex_extract copied
echo ---------------------------------------------------------
150
151
echo AVAILABLE generation scripts?
echo ---------------------------------------------------------
152

Ignacio Pisso's avatar
Ignacio Pisso committed
153
154
echo 

155
# postprocess
Ignacio Pisso's avatar
Ignacio Pisso committed
156
echo ---------------------------------------------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
157
echo ')' postprocess/
Ignacio Pisso's avatar
Ignacio Pisso committed
158
159
160
161

postprocess=postprocess
mkdir $tarball_tmp/$postprocess
echo -----------------flex_read_fortran-------------------
162
flex_read_fortran_src=$postprocess/flex_read_fortran/
Ignacio Pisso's avatar
Ignacio Pisso committed
163
164
165
166
mkdir $tarball_tmp/$postprocess/flex_read_fortran
cp $postprocess/flex_read_fortran/*.f $tarball_tmp/$postprocess/flex_read_fortran
cp $postprocess/flex_read_fortran/*.f90 $tarball_tmp/$postprocess/flex_read_fortran
cp $postprocess/flex_read_fortran/makefile $tarball_tmp/$postprocess/flex_read_fortran
167
echo flex_read_fortran copied from $flex_read_fortran_src
Ignacio Pisso's avatar
Ignacio Pisso committed
168
169

echo -----------------flex_read_matlab-------------------
170
171
172
173
flex_read_matlab_src=../flex_read_matlab/export_basic
mkdir $tarball_tmp/$postprocess/flex_read_matlab
cp -r $flex_read_matlab_src/* $tarball_tmp/$postprocess/flex_read_matlab
echo flex_read_fortran from $flex_read_matlab_src  # NOT copied
Ignacio Pisso's avatar
Ignacio Pisso committed
174
echo ---------------------------------------------------------
175

Ignacio Pisso's avatar
Ignacio Pisso committed
176
echo
177

Ignacio Pisso's avatar
Ignacio Pisso committed
178
echo ---------------------------------------------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
179
echo ')' tests/
Ignacio Pisso's avatar
Ignacio Pisso committed
180
#echo '13) tests' 
181
mkdir $tarball_tmp/tests
182
echo ----------------- examples -------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
183
184

mkdir $tarball_tmp/tests/examples
185
cp -r ../flex_tests_examples/examples/* $tarball_tmp/tests/examples/
186
187
188
189
190

echo ----------------- examples_reference -------------------
cp -r ./tests/examples_reference $tarball_tmp/tests/

echo -----------------read examples-------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
191
192

mkdir $tarball_tmp/tests/read_examples
193
194
195
196
197

cp tests/read_examples/declare_examples $tarball_tmp/tests/read_examples/
cp tests/read_examples/display_examples.sh $tarball_tmp/tests/read_examples/
cp tests/read_examples/examples_output.txt $tarball_tmp/tests/read_examples/
cp tests/read_examples/read_examples.sh $tarball_tmp/tests/read_examples/
Ignacio Pisso's avatar
Ignacio Pisso committed
198
cp tests/read_examples/read_grids.sh $tarball_tmp/tests/read_examples/
199
200
201
cp tests/read_examples/read_parts.sh $tarball_tmp/tests/read_examples/
cp tests/read_examples/set_examples_all $tarball_tmp/tests/read_examples/
cp tests/read_examples/set_examples_3.sh $tarball_tmp/tests/read_examples/
Ignacio Pisso's avatar
Ignacio Pisso committed
202
cp tests/read_examples/read_headers.sh $tarball_tmp/tests/read_examples/
203
cp tests/read_examples/read_examples_output.txt $tarball_tmp/tests/ #read_examples/
Ignacio Pisso's avatar
Ignacio Pisso committed
204

205
206
207
echo ------------compare examples-------------------
mkdir $tarball_tmp/tests/compare_examples

Ignacio Pisso's avatar
Ignacio Pisso committed
208

209
210
cp tests/compare_examples/*.sh $tarball_tmp/tests/compare_examples
cp tests/compare_examples/compare_grids_output.txt $tarball_tmp/tests/ #compare_examples
Ignacio Pisso's avatar
Ignacio Pisso committed
211

Ignacio Pisso's avatar
Ignacio Pisso committed
212
echo 
Ignacio Pisso's avatar
Ignacio Pisso committed
213

Ignacio Pisso's avatar
Ignacio Pisso committed
214
215
216
217
218
219
220
echo ---------------------------------------------------------
echo create tarball

cd $targetdir
tar cf $distribution_name.tar $distribution_name 

pwd
Ignacio Pisso's avatar
Ignacio Pisso committed
221

Ignacio Pisso's avatar
Ignacio Pisso committed
222
echo  tarball $tarball complete
Ignacio Pisso's avatar
Ignacio Pisso committed
223
echo exported untarred files in $tarball_tmp 
224

Ignacio Pisso's avatar
Ignacio Pisso committed
225
echo verify:
226
227
228
229
230
231
echo cp -r preprocess/flex_extract/work $tarball_tmp/preprocess/flex_extract/ 
echo cd $tarball_tmp/src
echo $HOME/repos/flexpart/src/make_in_laptop.sh
echo cd .. ';' ./src/FLEXPART 
echo cd postprocess/flex_read_fortran
echo make test
Ignacio Pisso's avatar
Ignacio Pisso committed
232
echo e.g.: max:  0.115784094     mean:   4.70877676E-05
233
234
235
236
237
238
239
240
241
242
echo cd ../../tests/examples ';'   make run
echo cd ../read_examples
echo ./read_examples.sh
echo ./read_examples.sh '>' ../read_examples_output.txt
echo cd ../compare_examples
echo ./compare_grids.sh
echo ./compare_grids.sh '>' ../compare_grids_output.txt

echo e.g. tar --append --file=$tarball_tmp/ ../compare_grids_output.txt ../read_examples_output.txt