source: BAORadio/AmasNancay/trunk/mkarchive.sh @ 581

Last change on this file since 581 was 581, checked in by campagne, 13 years ago

add option to mv the gain fits file too (jec)

  • Property svn:executable set to *
File size: 4.2 KB
Line 
1#!/bin/sh
2#make an archive of the processing
3DATE=/bin/date
4GREP=/bin/grep
5AWK=/bin/awk
6ECHO=/bin/echo
7WC=/usr/bin/wc
8CAT=/bin/cat
9PRINTF=/usr/bin/printf
10FIND=/usr/bin/find
11MKDIR=/bin/mkdir
12XARGS=/usr/bin/xargs
13SORT=/bin/sort
14RM=/bin/rm
15TR=/usr/bin/tr
16CP=/bin/cp
17LS=/bin/ls
18CHMOD=/bin/chmod
19
20DefaultIFS=$' \t\n'
21IFS=$DefaultIFS
22
23#set Irods environment   
24. /usr/local/shared/bin/irods_env.sh -noverbose
25
26scriptName="`basename $0`"
27$ECHO "Processing script ${scriptName} at `date`"
28#which source to analyse
29
30#Process cmd line args: the -src option is mandatory (source name as Abell85)
31sourceRadio=
32dateSelected=
33prependTag=""
34appendTag=""
35simulationMode=Off
36mvgain=No
37while [ $# -gt 0 ]
38  do
39  case "$1" in
40      -src)  sourceRadio=$2;    shift;;
41      -date) dateSelected=$2;     shift;;
42      -ppTag) prependTag=$2; shift;;
43      -apTag) appendTag=$2; shift;;
44      -sim)  simulationMode=On;;
45      -all)  mvgain=Yes;;
46      -h)
47      echo >&2 \
48          "usage: $0 -src souce -date YYYYMMDD -ppTag <tag> -apTag <tag>  [-sim to trig simulation mode]"
49      exit 1;;
50      *)  break;;       # terminate while loop
51  esac
52  shift
53done
54
55
56if [ ${simulationMode} = "On" ]; then
57    $ECHO "INFO ${scriptName} running in SIMUL mode"
58fi
59
60if [ "<${sourceRadio}>" = "<>" ]; then
61    $ECHO "FATAL: You have forgotten to select the source option (-src)"
62    exit 1
63fi
64
65if [ "<${prependTag}>" = "<>" -a "<${appendTag}>" = "<>"  ]; then
66    $ECHO "FATAL: choose either a prepend Tag or a append Tag"
67    exit
68fi
69
70
71case ${sourceRadio} in
72    Abell85) $ECHO "INFO (${scriptName}): process ${sourceRadio}";;
73    Abell2440) $ECHO "INFO (${scriptName}): process ${sourceRadio}";;
74    Abell1205) $ECHO "INFO (${scriptName}): process ${sourceRadio}";;
75    *) ECHO "FATAL (${scriptName}): process ${sourceRadio} not yet foreseen"
76    exit 1;;
77esac
78
79srclower=`${ECHO} ${sourceRadio} | ${TR} "[:upper:]" "[:lower:]" `
80
81#Path to public backupable path
82publicpath="/afs/in2p3.fr/home/c/campagne/public"
83
84
85#temporary files to synchronize scripts
86tmppublicpath=${TMPPUBLICPATH}
87#wakeup the NFS disk
88$LS -l ${tmppublicpath} > /dev/null
89
90#Path where the job will do temporary IO
91. ${SCRIPTPATH}/set_iojobpath.sh
92iojobpath=$(set_iojobpath)
93cd ${iojobpath}
94
95localpath="${sourceRadio}"
96$MKDIR -p ./${localpath}
97cd ./${localpath}
98
99
100#Path of the utility scripts
101scriptpath=${SCRIPTPATH}
102
103OUT1=${publicpath}/baodaqstatus-current.txt
104if [ ! -e ${OUT1}  -o ! -r ${OUT1} ]; then
105    $ECHO "FATAL (${scriptName}): ${OUT1} has a problem"
106    exit 1
107fi
108
109
110
111$ECHO "You have selected sourceRadio = ${sourceRadio} [date = ${dateSelected}]"
112tableau=( `$GREP -i "${dateSelected}${srclower}" ${OUT1} | $AWK '( NF==4 ) { print $2 }' ` )
113IFS='
114' 
115tableau=( $( $PRINTF "%s\n" "${tableau[@]}" | $AWK 'x[$0]++ == 0' ) )
116IFS=$DefaultIFS
117
118$ECHO "We are in directory `pwd`"
119
120for i in ${tableau[@]}
121  do
122#
123 
124  $ECHO "DEBUG: (${scriptName}) irods root dir $i"
125
126 
127
128  #make a new archive directory
129  archiveDir=${prependTag}Arch${appendTag}
130
131  archExist=`ils ${i} 2>&1 | $GREP -i ".*C-.*${archiveDir}"| $WC -l`
132  if [ ${archExist} -gt 0 ]; then
133      $ECHO "FATAL: ${archiveDir} already exit in ${i}"
134      exit 1
135  fi
136
137  imkdir -v ${i}/${archiveDir}
138 
139  #Move the Off and On directory
140  imv -v ${i}/Off ${i}/${archiveDir}/Off
141  imv -v ${i}/On ${i}/${archiveDir}/On
142 
143  #recreate On and Off directories
144  imkdir -v ${i}/Off
145  imkdir -v ${i}/On
146 
147  #mv the fichiers de calibrations BAO
148  calibfiles=( `ils ${i} 2>&1 | $GREP -i "calib_.*\.txt" ` )
149  IFS='
150' 
151  calibfiles=( $( $PRINTF "%s\n" "${calibfiles[@]}" | $AWK 'x[$0]++ == 0' )  )
152  IFS=$DefaultIFS
153
154  for j in ${calibfiles[@]}
155    do
156    file=`$ECHO $j`
157    imv -v ${i}/${file} ${i}/${archiveDir}/${file}
158  done
159 
160  #mv the ppf files
161  ppffiles=( `ils ${i} 2>&1 | $GREP -i ".*\.ppf" ` )
162  IFS='
163' 
164  ppffiles=( $( $PRINTF "%s\n" "${ppffiles[@]}" | $AWK 'x[$0]++ == 0' )  )
165  IFS=$DefaultIFS
166
167  for j in ${ppffiles[@]}
168    do
169    file=`$ECHO $j`
170    imv -v ${i}/${file} ${i}/${archiveDir}/${file}
171  done
172
173  #save the gain file
174  gainfile=`ils ${i} 2>&1 | $GREP -i "gain.*\.fits"`
175  file=`$ECHO ${gainfile}`
176  if [ "<${mvgain}>" = "<No>" ]; then
177      icp -v ${i}/${file} ${i}/${archiveDir}/${file}
178  else
179      imv -v ${i}/${file} ${i}/${archiveDir}/${file}
180  fi
181
182done
183
184exit 0
Note: See TracBrowser for help on using the repository browser.