#!/bin/bash echo CREATE A NEW FLEXPART DISTRIBUTION #define version number githash=$(git rev-parse --short --verify HEAD) echo githash $githash version=10.3.1_$githash echo version $version # define tarball name targetdir=../flexpart_distribution/ echo targetdir $targetdir distribution_name=flexpart_v$version tarball_tmp=${targetdir}flexpart_v$version echo tarball_tmp $tarball_tmp #tarball=${targetdir}flexpart_v$version.tar tarball=${tarball_tmp}.tar echo tarball $tarball # clean old package if [ -d $tarball_tmp ]; then 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 fi echo --------------------------------------------------------- echo ')' create basis dir $tarball_tmp mkdir $tarball_tmp echo --------------------------------------------------------- echo echo --------------------------------------------------------- echo ')' copy pathnames #cp pathnames_distribution $tarball_tmp/pathnames cp pathnames $tarball_tmp/pathnames echo --------------------------------------------------------- echo echo --------------------------------------------------------- echo ')' copy src/ mkdir $tarball_tmp/src cp src/*.f90 $tarball_tmp/src cp -r src/gributils $tarball_tmp/src # echo '3)' copy makefile cp src/makefile $tarball_tmp/src #cp src/makefile.gfs $tarball_tmp/src echo --------------------------------------------------------- ################################################################ echo echo --------------------------------------------------------- echo ')' copy options/ # (for the distribution they work with the defult flex_ecmwf test winds) #cp -r options_flex_ecmwf_EA $tarball_tmp/options 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 #echo copy $i to $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/ echo copy options/SPECIES/ to $tarball_tmp/options/SPECIES/ echo --------------------------------------------------------- echo echo --------------------------------------------------------- echo ')' copy AVAILABLE #cp AVAILABLE_flex_ecmwf_EA $tarball_tmp/AVAILABLE cp AVAILABLE $tarball_tmp/AVAILABLE echo --------------------------------------------------------- echo echo --------------------------------------------------------- echo ')' create output/ # mkdir $tarball_tmp/output mkdir $tarball_tmp/output echo --------------------------------------------------------- ################################################################ echo echo --------------------------------------------------------- echo ')' preprocess/ mkdir $tarball_tmp/preprocess echo echo -----------------flex_extract------------------- #echo '6)' mkdir $tarball_tmp/flex_extract [a separate repository] #mkdir $tarball_tmp/preprocess #mkdir $tarball_tmp/preprocess/flex_ecmwf mkdir $tarball_tmp/preprocess/flex_extract #echo '7) add ECMWF retrieve routines (change EA wind files for latest source code)' #mkdir $tarball_tmp/preprocess/flex_extract #mkdir $tarball_tmp/preprocess/flex_extract/work #cp -r flex_ecmwf_src/* $tarball_tmp/preprocess/flex_ecmwf/ #cp -r flex_ecmwf_src/* $tarball_tmp/preprocess/flex_extract/ ## cp -r flex_extract/work/EA* $tarball_tmp/preprocess/flex_extract/work flex_extract=../flex_extract_v7.0.4/ echo include flex_extract v7.0.4 b7c1c04a204c91e53759ef590504bf52dfaece64 echo from $flex_extract [use git modules?] IP 3/2018 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 echo flex_extract copied echo --------------------------------------------------------- #echo '10)' cp example generating scripts [a separate repository] #echo moved below #mkdir $tarball_tmp/examples #cp -r examples/*.sh $tarball_tmp/examples/ #cp -r examples/Makefile $tarball_tmp/examples/ echo echo --------------------------------------------------------- ################################################################ echo ')' postprocess/ postprocess=postprocess mkdir $tarball_tmp/$postprocess echo -----------------flex_read_fortran------------------- #echo ')' directory for reading routines #echo '12)' add fortran reading routines [a separate repository] 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 echo flex_read_fortran copied echo -----------------flex_read_matlab------------------- echo flex_read_fortran NOT copied # add matlab reading routines #mkdir $tarball_tmp/postprocess/flex_read_matlab #cp postprocess/flex_read_matlab/*.m $tarball_tmp/postprocess/flex_read_matlab echo --------------------------------------------------------- echo echo --------------------------------------------------------- echo ')' tests/ ############################################################### #echo '13) tests' mkdir $tarball_tmp/tests echo -----------------flex_read_fortran------------------- #echo 'b) ./tests/flex_read_fortran/' echo fixme #mkdir $tarball_tmp/tests/flex_read_fortran #cp tests/flex_read_fortran/test_read_default.sh $tarball_tmp/tests/flex_read_fortran ############################################################### echo -----------------examples------------------- #echo ') ./tests/examples/' mkdir $tarball_tmp/tests/examples echo ') scripts' cp -r ./tests/examples/*.sh $tarball_tmp/tests/examples/ echo ') makefile' cp -r ./tests/examples/Makefile $tarball_tmp/tests/examples/ # echo USAGE: ~/repos/flexpart/tests/examples'$' make run ############################################################### echo -----------------postprocess examples------------------- echo --read examples------------------- #echo '13 c) ./tests/read_examples/' mkdir $tarball_tmp/tests/read_examples cp tests/read_examples/read_grids.sh $tarball_tmp/tests/read_examples/ cp tests/read_examples/read_headers.sh $tarball_tmp/tests/read_examples/ # echo USAGE ~/repos/flexpart/tests/read_examples'$'./read_grids.sh ############################################################### echo --compare examples------------------- #echo tests/compare_examples.sh #mkdir $tarball_tmp/tests/compare_examples #cp tests/compare_examples/compare_grids.sh $tarball_tmp/tests/compare_examples cp tests/compare_grids.sh $tarball_tmp/tests/ # list of examples with units cp tests/declare_examples $tarball_tmp/tests/ echo # ~/repos/flexpart/tests$./compare_grids.sh #echo mkdir $tarball_tmp/tests/examples2/ #echo cp tests/examples2/setup.sh $tarball_tmp/tests/examples2/ # echo --repeat examples------------------- # echo FIXME ############################################################### #echo -----------------ctbto------------------- # mkdir $tarball_tmp/tests/ctbto # cp -r tests/NILU/test_1 $tarball_tmp/tests/ # cp -r tests/default_cases $tarball_tmp/tests/ echo --------------------------------------------------------- echo create tarball #tar cvf $tarball $tarball_tmp #tar cf $tarball $tarball_tmp #cd cd $targetdir tar cf $distribution_name.tar $distribution_name pwd echo tarball $tarball complete echo exported untarred files in $tarball_tmp exit #return ############################################################### # obtain $FLEXHOME (and set) #1 cd $FLEXHOME/src #2 compile # #[laptop] source /Users/ignacio/repos/flexpart/src/make_in_laptop.sh # [njord] make # ->created executable (FLEXPART) #3 execute in src (absolute paths) # #[laptop] cp /Users/ignacio/repos/flexpart/src/pathnames . #[njord] FIXME # # mkdir output # ./FLEXPART # ->created output in output/ #4 read output # cd $FLEXHOME/postprocess/flex_read_fortran/ # make # -> printheader* printgrid* flex_read_compare2* #/postprocess/flex_read_fortran$./printheader ../../src/output/ #/postprocess/flex_read_fortran$./printgrid ../../src/output/ conc # -> output in stdout (max: 11122924.0 sum: 90330784.0) #5 execute in $FLEXHOME # cd $FLEXHOME # get winds #[laptop] cp -r ~/repos/flex_winds/work/ ./preprocess/flex_extract/ #[njord] curl https://folk.nilu.no/~ignacio/FLEXPART/EA120101.tar --output EA120101.tar ; tar -xvf EA120101.tar ; mv flex_extract/work preprocess/flex_extract/ ; rmdir flex_extract # src/FLEXPART # -> output in $FLEXHOME/output/ #6 read output # postprocess/flex_read_fortran/printheader output/ # postprocess/flex_read_fortran/printgrid output/ conc # -> output in stdout ( max: 11578738.0 sum: 104058720.) #7 gnererate examples # cd $FLEXHOME/tests/examples #make run #make examples #make batch #./run_batch_cl.sh #make (set_default_example.sh) #tests/examples$../../src/FLEXPART #output #8 read examples: #cd $FLEXHOME/tests/read_examples # ./read_headers.sh # ./read_grids.sh #9 compare examples with reference