[3990] | 1 | #!/bin/bash |
---|
| 2 | #set -xv |
---|
| 3 | |
---|
| 4 | # sanity check: do we have the required argument ? |
---|
| 5 | if (( $# < 1 )) || (( $# > 3 )) |
---|
| 6 | then |
---|
| 7 | echo "Wrong number of parameters in $0 !!!" |
---|
| 8 | echo " Usage:" |
---|
| 9 | echo " $0 [im] [jm] lm" |
---|
| 10 | echo " where im, jm and lm are the dimensions" |
---|
| 11 | exit 1 |
---|
| 12 | fi |
---|
| 13 | |
---|
| 14 | if (($1 % 8 != 0)) && (( $# == 3 )) |
---|
| 15 | then |
---|
| 16 | echo "The number of longitudes must be a multiple of 8." |
---|
| 17 | echo "See the files dyn3d/groupe.F and dyn3dmem/groupe_loc.F." |
---|
| 18 | exit 1 |
---|
| 19 | fi |
---|
| 20 | |
---|
| 21 | # build "fichnom", the relevant 'dimensions.im.jm.lm' file name |
---|
| 22 | for i in $* |
---|
| 23 | do |
---|
| 24 | list=$list.$i |
---|
| 25 | done |
---|
| 26 | fichdim=dimensions${list} |
---|
| 27 | |
---|
| 28 | if [ ! -f $fichdim ] |
---|
| 29 | then |
---|
| 30 | # echo "$fichdim does not exist" |
---|
| 31 | |
---|
| 32 | # assign values of im, jm and lm |
---|
| 33 | if [ $# -ge 3 ] |
---|
| 34 | then |
---|
| 35 | im=$1 |
---|
| 36 | jm=$2 |
---|
| 37 | lm=$3 |
---|
| 38 | ndm=1 |
---|
| 39 | elif [ $# -ge 2 ] |
---|
| 40 | then |
---|
| 41 | im=1 |
---|
| 42 | jm=$1 |
---|
| 43 | lm=$2 |
---|
| 44 | ndm=1 |
---|
| 45 | elif [ $# -ge 1 ] |
---|
| 46 | then |
---|
| 47 | im=1 |
---|
| 48 | jm=1 |
---|
| 49 | lm=$1 |
---|
| 50 | ndm=1 |
---|
| 51 | fi |
---|
| 52 | |
---|
| 53 | # since the file doesn't exist, we create it |
---|
| 54 | cat << EOF > $fichdim |
---|
| 55 | !----------------------------------------------------------------------- |
---|
| 56 | ! INCLUDE 'dimensions.h' |
---|
| 57 | ! |
---|
| 58 | ! dimensions.h contient les dimensions du modele |
---|
| 59 | ! ndm est tel que iim=2**ndm |
---|
| 60 | !----------------------------------------------------------------------- |
---|
| 61 | |
---|
| 62 | INTEGER iim,jjm,llm,ndm |
---|
| 63 | |
---|
| 64 | PARAMETER (iim= $im,jjm=$jm,llm=$lm,ndm=$ndm) |
---|
| 65 | |
---|
| 66 | !----------------------------------------------------------------------- |
---|
| 67 | EOF |
---|
| 68 | |
---|
| 69 | fi |
---|
| 70 | |
---|
| 71 | # remove 'old' dimensions.h file (if any) and replace it with new one |
---|
| 72 | if [ -f ../dimensions.h ] ; then |
---|
| 73 | \rm ../dimensions.h |
---|
| 74 | fi |
---|
| 75 | tar cf - $fichdim | ( cd .. ; tar xf - ; mv $fichdim dimensions.h ) |
---|
| 76 | # line above is a trick to preserve time of creation of dimensions.h files |
---|