7 subroutine copenf(io, fnin, icon)
47 #include "Zreadonly.h" 49 character(*),
intent(in):: fnin
51 integer io, ios, icon, klena, fornamelist
58 entry copennlf(io, fnin, icon)
64 inquire(file=fn(1:klena(fn)), opened=opn, exist=ex)
68 #if defined (PCLinux) || defined (PCLinuxIFC) || defined (MACOSX) || defined (PCLinuxIFC8) || defined (PCLinuxIFC64) || defined (MacIFC) 70 #define DELIM ,delim='apostrophe' 79 if(fornamelist .eq. special)
then 80 open(io, file=fn(1:klena(fn)),
81 * iostat=ios, access=
'sequential',
82 * form=
'formatted', action=
'read' delim)
84 open(io, file=fn(1:klena(fn)),
85 * iostat=ios, access=
'sequential',
86 * form=
'formatted', action=
'read')
89 if(fornamelist .eq. special)
then 90 open(io, file=fn(1:klena(fn)),
91 * iostat=ios, access=
'sequential',
92 * form=
'formatted' delim )
94 open(io, file=fn(1:klena(fn)),
95 * iostat=ios, access=
'sequential',
102 write(msg, *)
' file=',fn(1:klena(fn)),
103 *
' exists but cannot be opened' 105 write(msg,*)
' see copnef.f in Manager dir' 110 write(msg, *)
' file=', fn(1:klena(fn)),
' not exist' 121 subroutine copenfw(io, fnin, icon)
128 #include "Zreadonly.h" 132 integer io, ios, icon, klena, fornamelist
133 character*100 msg, fn
140 entry copennlfw(io, fnin, icon)
147 inquire(file=fn(1:klena(fn)), opened=opn, exist=ex)
151 if(fornamelist .eq. special)
then 152 open(io, file=fn(1:klena(fn)),
153 * iostat=ios, access=
'sequential',
154 * form=
'formatted' delim )
156 open(io, file=fn(1:klena(fn)),
157 * iostat=ios, access=
'sequential',
164 write(msg, *)
' file=',fn(1:klena(fn)),
165 *
' exists but cannot be opened' 167 write(msg,*)
' see copnef.f in Manager dir' 172 if(fornamelist .eq. special)
then 173 open(io, file=fn(1:klena(fn)),
174 * iostat=ios, access=
'sequential',
175 * form=
'formatted' delim )
177 open(io, file=fn(1:klena(fn)),
178 * iostat=ios, access=
'sequential',
194 read(iodev, *, end=100)
204 subroutine copenfw2(io, fnin, form, icon)
222 elseif(form .eq. 2)
then 226 *
'form input to chookopenfw is invalid',0)
230 inquire(file=fn(1:klena(fn)), opened=opn, exist=ex)
234 open(io, file=fn(1:klena(fn)),
235 * iostat=ios, access=
'sequential',
242 *
'exists but cannot be opened', 1)
246 open(io, file=fn(1:klena(fn)),
247 * iostat=ios, access=
'sequential',
248 * form=
format, status=
'new' )
266 read(iodev, *, end=100)
267 elseif(form .eq. 2)
then 285 if( fnin(1:1) ==
"~" )
then 286 fn =
"$HOME/"//fnin(2:)
297 do while ( j .gt. 0 )
303 do while ( j .gt. 0 )
308 do while ( j .gt. 0 )
314 do while ( j .gt. 0 )
320 do while ( j .gt. 0 )
326 if(fn(1:1) /=
" ")
then 333 subroutine creplst( fn, j, ch )
335 #include "Zmanagerp.h" 343 integer klena, leng, kgetpid, dummy, kgetenv2, kgetnow
353 if( fn(j+1:j+1) ==
'(' )
then 355 jp =index( fn(j+1:),
')')
359 leng = kgetenv2(envname, replst)
361 write(0,*)
' envrironmetal variable =', envname
362 write(0,*)
' not found for fn=',trim(fn)
368 write(0,*)
' $( is used in file name fn=',fn
369 write(0,*)
' but no counterpart ) ' 374 jp =index( fn(j+1:),
'/')
381 envname = trim(fn(j+1:))
383 jj = len(trim(fn(j+1:)))+j
385 leng = kgetenv2(envname, replst)
387 write(0,*)
' Env. =', envname,
' not exist' 394 if( ch .eq.
'@' )
then 395 if(atenv .ne.
' ' )
then 396 leng = kgetenv2(atenv, replst)
399 *
'Environmental variable specified by AtEnv=', 1)
408 if( ch .eq.
'R')
then 411 write(replst,
'(i11)') ir(1)
412 call kseblk(replst,
'{', leng)
416 if( ch .eq.
'r')
then 419 write(replst,
'(i11)') ir(2)
420 call kseblk(replst,
'{', leng)
424 if( ch .eq.
'#' )
then 425 if(sharpenv .ne.
' ' )
then 426 leng = kgetenv2(sharpenv, replst)
429 *
'Environmental variable specified by SharpEnv=', 1)
436 write(replst,
'(i10)') kgetpid(dummy)
437 call kseblk(replst,
'{', leng)
441 if( ch .eq.
'%' )
then 442 if(percentenv .ne.
' ' )
then 443 leng = kgetenv2(percentenv, replst)
446 *
'Environmental variable specified by PercentEnv=', 1)
453 leng = kgetnow(replst)
458 fntemp = replst(1:leng)//fn(j+jj:klena(fn))
462 * fn(1:j-1)//replst(1:leng)//fn(jj+j:)
467 write(0,*)
' input fn=',fn
479 leng = kgetenv(
"HOSTNAME"//null, hostn)
481 leng = kgetenv(
"HOST"//null, hostn)
484 *
cerrormsg(
'Env. var. HOST or HOSTNAME not found',0)
492 hostn = hostn(1:leng)
subroutine cgetfname(fnin, fn)
subroutine cerrormsg(msg, needrtn)
block data cblkElemag data *AnihiE ! Eposi< 1 TeV, anihilation considered *X0/365.667/, ! radiation length of air in kg/m2 *Ecrit/81.e-3/, ! critical energy of air in GeV *MaxComptonE/1./, ! compton is considered below 1 GeV *MaxPhotoE/1.e-3/, ! above this, PhotoElectric effect neg. *MinPhotoProdE/153.e-3/, ! below 153 MeV, no gp --> hadrons ! scattering const not MeV *Knockon true
subroutine copenfw2(io, fnin, form, icon)
subroutine copenf(io, fnin, icon)
subroutine copenfw(io, fnin, icon)
subroutine cskiptoeof2(iodev, form)
subroutine cgethost(leng, hostn)
subroutine cskiptoeof(iodev)
subroutine creplst(fn, j, ch)
subroutine kseblk(text, c, lc)