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

Last change on this file since 9147 was 9129, checked in by Daniela Dorner, 16 years ago
*** empty log message ***
  • Property svn:executable set to *
File size: 4.9 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. 2.3"
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 1 0. "$impact
69 echo "CERSIZ 1."
70 echo "CERFIL T"
71 echo "FIXCHI 280"
72 echo "DATBAS F"
73 echo "CERTEL 1"
74 echo " 0. 0. 0. 0. 0. 1800. 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
89corsikarunno=`sendquery`
90
91# lock sequ
92lockfile=$lockpath/lock-$table-$column-$corsikarunno.txt
93checklock >> $scriptlog 2>&1
94
95echo "run $program for run $run..." >> $scriptlog 2>&1
96printprocesslog "INFO starting $program for run $run"
97
98setstatus "start" >> $scriptlog 2>&1
99
100echo "run $program for run $run " >> $scriptlog 2>&1
101echo "create input card... " >> $scriptlog 2>&1
102
103# get values for inputcard
104query="SELECT fParticleTypeKEY FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
105primparticle=`sendquery`
106query="SELECT fEnergyMin, fEnergyMax FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
107erange=`sendquery`
108query="SELECT fNumEvents FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
109numevts=`sendquery`
110query="SELECT fEnergySlope FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
111slope=`sendquery`
112query="SELECT fZenithDistanceMin, fZenithDistanceMax FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
113zdrange=`sendquery`
114query="SELECT fAzimuthMin, fAzimuthMax FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
115azrange=`sendquery`
116query="SELECT DATE_FORMAT(fRunStart, '%Y/%m/%d') FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
117date=`sendquery`
118outpath=$mcpath"/"$program"/"$date
119query="SELECT fCorsikaSeed FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
120seed1=`sendquery`
121query="SELECT fCorsikaSeed+1 FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
122seed2=`sendquery`
123query="SELECT fCorsikaSeed+2 FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
124seed3=`sendquery`
125query="SELECT fImpactParameter FROM MCCorsikaRunData where fCorsikaRunNumber="$corsikarunno
126impact=`sendquery`
127
128echo "" >> $scriptlog 2>&1
129echo "INPUTCARD:" >> $scriptlog 2>&1
130echo "----------" >> $scriptlog 2>&1
131echo "" >> $scriptlog 2>&1
132echo "" >> $scriptlog 2>&1
133printinputcard >> $scriptlog 2>&1
134
135logfile=$outpath/$program"-"`printf %06d $corsikarunno`".log"
136makedir $outpath >> $scriptlog 2>&1
137
138cd $corsikapath
139
140echo "INPUTCARD:" >> $logfile 2>&1
141printinputcard >> $logfile 2>&1
142echo "" >> $logfile 2>&1
143echo "" >> $logfile 2>&1
144printinputcard | ./cc6501p-linux >> $logfile 2>&1
145
146check1=$?
147
148case $check1 in
149 0) echo " check1=$check1 -> everything ok " >> $scriptlog 2>&1
150 printprocesslog "INFO $program finished successfully for sequence $sequence"
151 ;;
152 *) echo " check1=$check1 -> ERROR -> step has to be repeated" >> $scriptlog 2>&1
153 printprocesslog "ERROR $program failed for sequence $sequence"
154 com=$Fcorsika
155 check=$check1
156 ;;
157esac
158
159setstatus "stop" >> $scriptlog 2>&1
160
161finish >> $scriptlog 2>&1
162
Note: See TracBrowser for help on using the repository browser.