source: trunk/MagicSoft/Mars/datacenter/scripts/runcorsika@ 9168

Last change on this file since 9168 was 9167, checked in by Daniela Dorner, 17 years ago
*** empty log message ***
  • Property svn:executable set to *
File size: 5.5 KB
Line 
1#!/bin/sh
2#
3# ========================================================================
4#
5# *
6# * This file is part of MARS, the MAGIC Analysis and Reconstruction
7# * Software. It is distributed to you in the hope that it can be a useful
8# * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
9# * It is distributed WITHOUT ANY WARRANTY.
10# *
11# * Permission to use, copy, modify and distribute this software and its
12# * documentation for any purpose is hereby granted without fee,
13# * provided that the above copyright notice appear in all copies and
14# * that both that copyright notice and this permission notice appear
15# * in supporting documentation. It is provided "as is" without express
16# * or implied warranty.
17# *
18#
19#
20# Author(s): Daniela Dorner 05/2007 <mailto:dorner@astro.uni-wuerzburg.de>
21#
22# Copyright: MAGIC Software Development, 2000-2007
23#
24#
25# ========================================================================
26#
27# This script runs corsika.
28#
29
30source `dirname $0`/sourcefile
31printprocesslog "INFO starting $0"
32program=corsika
33column=fCorsikaFileAvail
34
35set -C
36
37export FLUPRO=$corsikapath'/fluka2006_3'
38
39# printing input card to stdout
40function printinputcard()
41{
42 echo "RUNNR "$corsikarunno
43 echo "PRMPAR "$primparticle
44 query="SELECT fEnergyMin, fEnergyMax FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
45 echo "ERANGE "$erange
46 echo "EVTNR 1"
47 echo "NSHOW "$numevts
48 echo "ESLOPE "$slope
49 echo "THETAP "$zdrange
50 echo "PHIP "$azrange
51 echo "VIEWCONE 0. "$viewconemax
52 echo "DIRECT "$outpath
53 echo "SEED "$seed1" 0 0 "
54 echo "SEED "$seed2" 0 0 "
55 echo "SEED "$seed3" 0 0 "
56 echo "OBSLEV 2200.E2"
57 echo "RADNKG 200.E2"
58 echo "MAGNET 29.5 23.0"
59 echo "ECUTS 0.3 0.3 0.02 0.02"
60 echo "MUADDI F"
61 echo "MUMULT T"
62 echo "LONGI T 10. T F"
63 echo "MAXPRT 0"
64 echo "ECTMAP 1.E4"
65 echo "STEPFC 0.1"
66 echo "DEBUG F 6 F 1000000"
67 echo "CWAVLG 290. 600."
68 echo "CSCAT "$reuse" 0. "$impactmax
69 echo "CERSIZ 1."
70 echo "CERFIL T"
71 echo "FIXCHI "$startalt
72 echo "DATBAS F"
73 echo "CERTEL 1"
74 echo " 0. 0. 0. 0. 0. "$diameter" 1700."
75 echo "USER "`whoami`
76 echo "ATMOSPHERE 11 T"
77 echo "EXIT"
78}
79
80
81scriptlog=$runlogpath/run$program-$datetime.log
82date >> $scriptlog 2>&1
83
84# get sequence #
85gettodo "1" >> $scriptlog 2>&1
86run=${primaries[0]}
87# get corsika runno
88query="SELECT fCorsikaRunNumber FROM MCRunData where fMCRunNumber="$run
89# to be changed later again, when additional tables are available
90#corsikarunno=`sendquery`
91corsikarunno=$run
92
93# lock sequ
94lockfile=$lockpath/lock-$table-$column-$corsikarunno.txt
95checklock >> $scriptlog 2>&1
96
97echo "run $program for run $run..." >> $scriptlog 2>&1
98printprocesslog "INFO starting $program for run $run"
99
100setstatus "start" >> $scriptlog 2>&1
101
102echo "run $program for run $run " >> $scriptlog 2>&1
103echo "create input card... " >> $scriptlog 2>&1
104
105# get values for inputcard
106query="SELECT fParticleTypeKEY FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
107primparticle=`sendquery`
108query="SELECT fEnergyMin, fEnergyMax FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
109erange=`sendquery`
110query="SELECT fNumEvents FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
111numevts=`sendquery`
112query="SELECT fEnergySlope FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
113slope=`sendquery`
114query="SELECT fZenithDistanceMin, fZenithDistanceMax FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
115zdrange=`sendquery`
116query="SELECT fAzimuthMin, fAzimuthMax FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
117azrange=`sendquery`
118query="SELECT DATE_FORMAT(fRunStart, '%Y/%m/%d') FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
119date=`sendquery`
120outpath=$mcpath"/"$program"/"$date
121query="SELECT fCorsikaSeed FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
122seed1=`sendquery`
123query="SELECT fCorsikaSeed+1 FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
124seed2=`sendquery`
125query="SELECT fCorsikaSeed+2 FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
126seed3=`sendquery`
127query="SELECT fImpactMax FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
128impactmax=`sendquery`
129query="SELECT fViewConeMax FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
130viewconemax=`sendquery`
131query="SELECT fNumReUseShower FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
132reuse=`sendquery`
133query="SELECT fStartingAltitude FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
134startalt=`sendquery`
135query="SELECT fMirrorDiameter FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
136diameter=`sendquery`
137
138echo "" >> $scriptlog 2>&1
139echo "INPUTCARD:" >> $scriptlog 2>&1
140echo "----------" >> $scriptlog 2>&1
141echo "" >> $scriptlog 2>&1
142echo "" >> $scriptlog 2>&1
143printinputcard >> $scriptlog 2>&1
144
145logfile=$outpath/$program"-"`printf %06d $corsikarunno`".log"
146makedir $outpath >> $scriptlog 2>&1
147
148cd $corsikapath
149
150echo "INPUTCARD:" >> $logfile 2>&1
151printinputcard >> $logfile 2>&1
152echo "" >> $logfile 2>&1
153echo "" >> $logfile 2>&1
154printinputcard | ./cc6501p-linux >> $logfile 2>&1
155
156check1=$?
157
158case $check1 in
159 0) echo " check1=$check1 -> everything ok " >> $scriptlog 2>&1
160 printprocesslog "INFO $program finished successfully for corsika run number $corsikarunno"
161 ;;
162 *) echo " check1=$check1 -> ERROR -> step has to be repeated" >> $scriptlog 2>&1
163 printprocesslog "ERROR $program failed for corsika run number $corsikarunno"
164 com=$Fcorsika
165 check=$check1
166 ;;
167esac
168
169setstatus "stop" >> $scriptlog 2>&1
170
171finish >> $scriptlog 2>&1
172
Note: See TracBrowser for help on using the repository browser.