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
6

7
# get current commit hash
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
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
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
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
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
58
echo ---------------------------------------------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
59
echo ')' create basis dir $tarball_tmp
60
mkdir $tarball_tmp
61
echo ---------------------------------------------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
62 63 64

echo

65
# patnames
66
echo ---------------------------------------------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
67
echo ')' copy pathnames 
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
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 ---------------------------------------------------------
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/
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
119
cp AVAILABLE $tarball_tmp/AVAILABLE
Ignacio Pisso's avatar
Ignacio Pisso committed
120 121 122
echo ---------------------------------------------------------

echo 
123

124
# output
125
echo ---------------------------------------------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
126
echo  ')' create output/ #  mkdir $tarball_tmp/output
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 ---------------------------------------------------------
136
echo ')' preprocess/
137
mkdir $tarball_tmp/preprocess
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
156
echo ---------------------------------------------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
157
echo ')' postprocess/
158 159 160 161

postprocess=postprocess
mkdir $tarball_tmp/$postprocess
echo -----------------flex_read_fortran-------------------
162
flex_read_fortran_src=$postprocess/flex_read_fortran/
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
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

178
echo ---------------------------------------------------------
Ignacio Pisso's avatar
Ignacio Pisso committed
179
echo ')' tests/
180
#echo '13) tests' 
181
mkdir $tarball_tmp/tests
182
echo ----------------- examples -------------------
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-------------------
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/
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/
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/
204

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

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
211

Ignacio Pisso's avatar
Ignacio Pisso committed
212
echo 
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
221

Ignacio Pisso's avatar
Ignacio Pisso committed
222
echo  tarball $tarball complete
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