5 subroutine crigcut(azmin, zen, rig, prob)
41 azm = mod(azm, 360.
d0)
44 if(rdatafmt .eq. 1 )
then 45 call k4ptdi(rigcuttbl, azmsize, zensize, azmsize, minazm,
46 * minzen, dazm, dzen, azm, zen, rigcut)
47 if(rig .lt. rigcut)
then 52 elseif(rdatafmt .le. 4)
then 59 i3 = log10(rig/minrig)/logdrig + 1
64 if(i3 .ge. rigsize)
then 68 if(rdatafmt .eq. 4)
then 74 i1 = (zen-zenmax)/dzen +1
77 * rigtbl2, zensize, azmsize, rigsize, i1, i2, i3,
79 prob = min(prob, 1.
d0)
80 elseif( rdatafmt .eq. 5)
then 83 call k2dtblv(rigcuttbl, azmsize, zensize, azmsize, minazm,
84 * minzen, dazm, dzen, azm, zen, rigcut)
85 if(rig .lt. rigcut)
then 91 call cerrormsg(
'format # error in rigidity table',0)
95 subroutine k2dtblv(tbl, xs, ys, adj, xm,
96 * ym, dx, dy, x, y, ans)
134 azm = mod(azmin, 360.
d0)
135 if(rdatafmt .eq. 1)
then 136 call k4ptdi(rigcuttbl, azmsize, zensize, azmsize, minazm,
137 * minzen, dazm, dzen, azm, zen, rigcut)
140 *
'only old cutoff table can be used', 0)
144 * izen, iphi, irig, i1, i2, i3, prob)
148 integer izen, iphi, irig
149 real tbl(izen, iphi, irig)
167 #include "Zmanagerp.h" 174 call copenf(tempdev, file, icon)
176 write(msg, *)
' file specification error ' 180 read(tempdev,
'(1x,i1)') rdatafmt
181 if(rdatafmt .eq. 1)
then 183 elseif(rdatafmt .eq. 2 .or. rdatafmt .eq. 3)
then 185 elseif(rdatafmt .eq. 4)
then 187 elseif(rdatafmt .eq. 5)
then 190 write(msg, *)
'rigidity cut data format =',rdatafmt,
198 #include "Zmanagerp.h" 207 read(tempdev, *) place, latit, longi, magdec, azmvalue,
208 * dazm, azmsize, zenvalue, dzen, zensize
213 call cerrormsg(
'cut-off table data has no ---- line', 0)
217 if(azmvalue .eq.
'deg')
then 220 if( (azmsize - 1)* dazm .lt. (360.
d0- dazm* 0.1
d0) )
then 223 call creadrigcut(tempdev, rigcuttbl, azmsize, zensize,
225 azmsize = azmsize + 1
228 call creadrigcut(tempdev, rigcuttbl, azmsize, zensize,
235 *
' Azimuthal angle unit must be deg for rigidity cut table' 237 write(msg, *)
' But it is ', azmvalue
243 if(zenvalue .eq.
'cos')
then 246 if(dzen .ge. 0.)
then 248 *
' step of Zenith angle for rigidity cut should be < 0' 250 write(msg, *)
' because you give it in cos value' 256 write(msg,*)
'Rigidity cut-off table has been read:',
257 *
' place=',place,
' latitute=',latit,
' longitude=',longi,
258 *
' mag. dec=', magdec
264 integer io, azm, zen, adj
272 read(io, *, iostat=ios) ( tbl(i, j), i = 1, azm)
274 write(msg, *)
'Unexpected EOF at rigicity table reading' 276 write(msg, *)
' line number=', j,
' azm=',azm,
' zen=',
290 tbl(azm, i) = tbl(1, i)
297 real*8 tlt, tlg, mdec
309 #include "Zmanagerp.h" 319 * place, latit, longi, magdec, zenvalue, zenmax, dzen, zensize,
320 * azmvalue, minazm, dazm, azmsize, minrig, logdrig, rigsize
326 call cerrormsg(
'cut-off table data has no ---- line', 0)
329 * rdatafmt, tempdev, rigtbl2, zensize, azmsize, rigsize)
332 if(zenvalue .eq.
'cos')
then 334 if(dzen .ge. 0.)
then 336 *
' step of Zenith angle for rigidity cut should be < 0' 338 write(msg, *)
' because you give it in cos value' 344 write(msg,*)
'New rigidity cut-off table has been read:',
345 *
' place=',place,
' latitute=',latit,
' longitude=',longi,
346 *
' mag. dec=', magdec
352 #include "Zmanagerp.h" 363 * place, latit, longi, magdec, zenvalue, zenmax, dzen, zensize,
364 * minrig, logdrig, rigsize
372 call cerrormsg(
'cut-off table data has no ---- line', 0)
375 * rdatafmt, tempdev, minrig, rigtbl2, zensize, rigsize)
378 if(zenvalue .eq.
'cos')
then 380 if(dzen .ge. 0.)
then 382 *
' step of Zenith angle for rigidity cut should be < 0' 384 write(msg, *)
' because you give it in cos value' 389 write(msg,*)
'New rigidity cut-off table (fmt4) has been read:',
390 *
' place=',place,
' latitute=',latit,
' longitude=',longi,
391 *
' mag. dec=', magdec
395 subroutine crdrigcut2(fmt, io, tbl, izen, iphi, irig)
404 real*4 tbl(izen, iphi, irig)
417 read(io, *, end=100) j1, j2, j3, tbl(i1, i2, i3)
422 *
' data index mismatch in new rigidit cut table',
423 * i1, j1+1, i2, j2+1, i2, j3+1
427 read(io, *) tbl(i1, i2, i3)
435 *
'Unexpected EOF in new rigidity cut table',0)
438 subroutine crdrigcut4(fmt, io, minval, tbl, izen, irig)
446 real*4 tbl(izen, irig)
459 * j1, idummy, idummy, dummy, tbl(i1, i3)
461 if( abs(dummy - minval)/minval .gt. 1.
e-3)
then 463 *
'check min rigidity in headr=', minval,
464 *
' in table=', dummy
470 *
' data index mismatch in new rigidit cut table',
479 *
'Unexpected EOF in new rigidity cut table',0)
486 #include "Zmanagerp.h" 496 * zenvalue, zenmax, dzen, zensize,
497 * azmvalue, minazm, dazm, azmsize
503 call cerrormsg(
'cut-off table data has no ---- line', 0)
506 if(azmvalue .eq.
'deg')
then 509 if( (azmsize - 1)* dazm .lt. (360.
d0- dazm* 0.1
d0) )
then 511 call creadrigcut(tempdev, rigcuttbl, azmsize, zensize,
513 azmsize = azmsize + 1
516 call creadrigcut(tempdev, rigcuttbl, azmsize, zensize,
522 *
' Azimuthal angle unit must be deg for rigidity cut table' 524 write(msg, *)
' But it is ', azmvalue
529 if(zenvalue .eq.
'cos')
then 532 if(dzen .ge. 0.)
then 534 *
' step of Zenith angle for rigidity cut should be < 0' 536 write(msg, *)
' because you give it in cos value' 542 write(msg,*)
'Rough rigidity cut-off table has been read:' subroutine cerrormsg(msg, needrtn)
dE dx *! Nuc Int sampling table e
subroutine crdrigcut2(fmt, io, tbl, izen, iphi, irig)
subroutine cgetrigcut(azmin, zen, rigcut)
subroutine crigcut(azmin, zen, rig, prob)
subroutine crigcut0(file)
subroutine creadrigcut(io, tbl, azm, zen, adj)
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
subroutine copenf(io, fnin, icon)
subroutine cqrigcutplace(tlt, tlg, mdec)
subroutine cfillrigcut(tbl, azm, zen)
subroutine crdrigcut4(fmt, io, minval, tbl, izen, irig)
subroutine k4ptdi(f, im, jm, iadj, x0, y0, hx, hy, x, y, ans)
subroutine cgetrigprob(tbl, izen, iphi, irig, i1, i2, i3, prob)
subroutine k2dtblv(tbl, xs, ys, adj, xm, ym, dx, dy, x, y, ans)