Added to repository.

This commit is contained in:
2005-03-22 10:33:08 +00:00
parent d1a54adc4a
commit bad53d7f6c
125 changed files with 42837 additions and 0 deletions

8
accel/com/ACCEL.COM Normal file
View File

@ -0,0 +1,8 @@
$! in case a privious submitted batchjob didn't end properly:
$ FILE = F$SEARCH("SYS$SCRATCH:ACCEL.MESSAGE")
$ IF FILE .NES. """" THEN DELETE SYS$SCRATCH:ACCEL.MESSAGE.* /NOCON
$! run accel$EXEdirectory:ACCEL
$ ACCEL
$! in case ACCEL didn't end properly:
$ FILE = F$SEARCH("SYS$SCRATCH:ACCEL.MESSAGE")
$ IF FILE .NES. """" THEN DELETE SYS$SCRATCH:ACCEL.MESSAGE.* /NOCON

View File

@ -0,0 +1,33 @@
$!******************************************************************************
$! DIESE KOMMANDOPROZEDUR DEFINIERT ALLGEMEINE LOGICALS UND SYMBOLS FUER DIE
$! ARBEIT MIT ACCEL (ALS BATCH UND INTERAKTIV)
$!******************************************************************************
$ node = "PSW264"
$
$ define /trans=con accelSRC$directory "UD1:[simula.accel.]"
$ define accel$COMdirectory "accelSRC$directory:[com]"
$ define accel$MAPPENdirectory "UD1:[simula.mappen.accel]", -
"UD1:[simula.mappen.testmappen]", -
"UD2:[simula.mappen]"
$ define accel$EXEdirectory "accelSRC$directory:[exe]"
$!==============================================================================
$ archi = F$GETSYI("ARCH_NAME") ! Host OS either "VAX" or "Alpha"
$ ACCEL :== "RUN accel$EXEdirectory:ACCEL_''archi'.EXE"
$ ACDIR :== "dir accel$OUTdirectory:AC*.*.*
$ ACLIST :== "dir accel$OUTdirectory:AC*.LOG.
$ LSEAC :== "LSE accel$READdirectory:accel.input"
$ LSEACNR :== "LSE accel$NRdirectory:accel_nr.dat
$ ACSTAT :== "@ mutrack$COMdirectory:PLOT_BATCH_STATUS ACCEL AC CEL"
$ WRITEACLOG :== "@ accel$COMdirectory:WRITELOG.COM"
$ MAKEACCODE :== "@ mutrack$COMdirectory:MAKE_CODENUMMERN-LIST.COM ACCEL _AC MAKE
$ ACCODE :== "@ mutrack$COMdirectory:MAKE_CODENUMMERN-LIST.COM ACCEL _AC TYPE
$ ACCOPY :== "@ mutrack$COMdirectory:COPY.COM ACCEL AC"
$ MAKE_E0LIST :== "RUN accel$COMdirectory:MAKE_E0_LIST.EXE"
$!------------------------------------------------------------------------------
$ SUBAC*CEL :== -
"SUBMIT/NOTIFY/NOPRINT/NAME=ACCEL/LOG_FILE=accel$OUTdirectory accel$COMdirectory:ACCEL"
$ SUBACLIST*BATCH :== "@ mutrack$COMdirectory:SUB_LIST AC ACCEL ''node'_BATCH"
$ SUBACLISTF*AST :== "@ mutrack$COMdirectory:SUB_LIST AC ACCEL ''node'_FAST"
$ SUBACLISTS*LOW :== "@ mutrack$COMdirectory:SUB_LIST AC ACCEL ''node'_SLOW"
$ SUBACLISTD*EAD :== "@ mutrack$COMdirectory:SUB_LIST AC ACCEL ''node'_DEAD"
$!==============================================================================

11
accel/com/ACCEL_INIT.COM Normal file
View File

@ -0,0 +1,11 @@
$!******************************************************************************
$! DIESE KOMMANDOPROZEDUR DEFINIERT ALLGEMEINE LOGICALS UND SYMBOLS FUER DIE
$! ARBEIT MIT ACCEL (ALS BATCH UND INTERAKTIV)
$! SIE WIRD VON LOGIN.COM AUS AUFGERUFEN.
$!******************************************************************************
$ define accel$directory "UD1:[simula.accel.calc]"
$ define accel$READdirectory "accel$directory"
$ define accel$OUTdirectory "accel$directory"
$ define accel$NrDirectory "accel$directory"
$ accalc :== "SET DEF accel$directory"
$!==============================================================================

View File

@ -0,0 +1,19 @@
$!******************************************************************************
$! DIESE KOMMANDOPROZEDUR DEFINIERT LOGICALS UND SYMBOLS FUER DIE PROGRAMMIER-
$! ARBEIT, DAS KOMPILIEREN UND LINKEN VON ACCEL (INTERAKTIV)
$! SIE WIRD VON LOGIN.COM AUS AUFGERUFEN.
$!******************************************************************************
$ define accel$OBJdirectory "accelSRC$directory:[EXE]"
$ OLDAC :== "define accel$SOURCEdirectory UD1:[SIMULA.ACCEL.OLD_SOURCE]"
$ NEWAC :== "define accel$SOURCEdirectory UD1:[SIMULA.ACCEL.SOURCE]"
$ NEWAC
$!------------------------------------------------------------------------------
$ ACCOM :== "SET DEF UD1:[SIMULA.ACCEL.COM]"
$ ACSOURCE :== "SET DEF accel$SOURCEdirectory"
$ ACMAP :== "SET DEF accel$MAPPENdirectory"
$ FORAC :== "@mutrack$COMdirectory:compile.com ACCEL _AC "
$ LINKAC :== "@accel$COMdirectory:linkac.com"
$ LINKACV :== "@accel$COMdirectory:linkacv.com"
$ LINKACD :== "@accel$COMdirectory:linkacd.com"
$ LINKACVD :== "@accel$COMdirectory:linkacvd.com"
$!==============================================================================

View File

@ -0,0 +1,6 @@
DEFINE VERB MakeWriteLogOut
IMAGE "accel$COMdirectory:MAKEWRITELOGOUT"
PARAMETER P1
LABEL = RUNNUMBER
VALUE (REQUIRED)
PROMPT = "vierstellige Runnummer"

1
accel/com/GETAC.COM Normal file
View File

@ -0,0 +1 @@
copy /log PSICLU::USR_SCROOT:[AHOFER]AC_'P1'.*. accel$OUTdirectory:*.*.

1
accel/com/GETACG.COM Normal file
View File

@ -0,0 +1 @@
copy /log PSICLU::USR_SCROOT:[GLUECKLER]AC_'P1'.*. accel$OUTdirectory:*.*.

31
accel/com/LINKAC.COM Normal file
View File

@ -0,0 +1,31 @@
$ set noverify
$ set noon
$!==============================================================================
$ prog= "accel"
$ ext = "_AC"
$!==============================================================================
$ sourceDir = "''prog'$SOURCEdirectory"
$ objectDir = "''prog'$OBJdirectory"
$ executeDir = "''prog'$EXEdirectory"
$!==============================================================================
$ archi = F$GETSYI("ARCH_NAME") ! Host OS either "VAX" or "Alpha"
$ ext = "''ext'_''archi'"
$ set verify
$!==============================================================================
$ link -
'objectDir':ACCEL'ext', -
'objectDir':SUB_ARTLIST'ext', -
'objectDir':SUB_INTEGR_1'ext', -
'objectDir':SUB_INTEGR_2'ext', -
'objectDir':SUB_INTEGR_3'ext', -
'objectDir':SUB_INTEGR_4'ext', -
'objectDir':SUB_INTEGR_5'ext', -
'objectDir':SUB_INTEGR_6'ext', -
'objectDir':SUB_INPUT'ext', -
'objectDir':SUB_PICTURE'ext', -
'objectDir':SUB_OUTPUT'ext',-
'cernlibs' /exe='executeDir':ACCEL_'archi'
$ purge 'executeDir':*.EXE
$ set on
$ set noverify
$!==============================================================================

16
accel/com/LINKACD.COM Normal file
View File

@ -0,0 +1,16 @@
$ set verify
$ link -
accel$directory:[exe]ACCEL, -
accel$directory:[exe]SUB_ARTLIST, -
accel$directory:[exe]SUB_INTEGR_1, -
accel$directory:[exe]SUB_INTEGR_2, -
accel$directory:[exe]SUB_INTEGR_3, -
accel$directory:[exe]SUB_INTEGR_4, -
accel$directory:[exe]SUB_INTEGR_5, -
accel$directory:[exe]SUB_INTEGR_6, -
accel$directory:[exe]SUB_INPUT, -
accel$directory:[exe]SUB_PICTURE, -
accel$directory:[exe]SUB_OUTPUT,-
'cernlibs' /debug /exe=accel$directory:[exe]accel
$ purge /log accel$directory:[exe]
$ set noverify

76
accel/com/LINKACV.COM Normal file
View File

@ -0,0 +1,76 @@
$ set noverify
$!==============================================================================
$! Author: Anselm Hofer
$!
$! Commandoprozedur fuer das Compilieren und Linken des kompletten ACCEL-
$! Quelltextes. Aufzurufen mittels '$ LINKACV'. ('V' steht fuer 'Vollstaendig').
$!==============================================================================
$ set noon
$!==============================================================================
$ prog= "accel"
$ ext = "_AC"
$!==============================================================================
$ sourceDir = "''prog'$SOURCEdirectory"
$ objectDir = "''prog'$OBJdirectory"
$ executeDir = "''prog'$EXEdirectory"
$!==============================================================================
$ options = "/fast /nolist"
$! options = "/fast /nolist /warn=nogeneral"
$!==============================================================================
$ archi = F$GETSYI("ARCH_NAME") ! Host OS either "VAX" or "Alpha"
$ ext = "''ext'_''archi'"
$ if archi .EQS. "VAX" then options = ""
$ if P1 .NES. "" then options = "''options' ''P1'"
$
$ file = "ACCEL"
$ CALL compile
$ file = "SUB_ARTLIST
$ CALL compile
$ file = "SUB_INTEGR_1
$ CALL compile
$ file = "SUB_INTEGR_2
$ CALL compile
$ file = "SUB_INTEGR_3
$ CALL compile
$ file = "SUB_INTEGR_4
$ CALL compile
$ file = "SUB_INTEGR_5
$ CALL compile
$ file = "SUB_INTEGR_6
$ CALL compile
$ file = "SUB_INPUT
$ CALL compile
$ file = "SUB_PICTURE
$ CALL compile
$ file = "SUB_OUTPUT
$ CALL compile
$!==============================================================================
$ set verify
$ purge 'objectDir':*.OBJ
$ link -
'objectDir':ACCEL'ext', -
'objectDir':SUB_ARTLIST'ext', -
'objectDir':SUB_INTEGR_1'ext', -
'objectDir':SUB_INTEGR_2'ext', -
'objectDir':SUB_INTEGR_3'ext', -
'objectDir':SUB_INTEGR_4'ext', -
'objectDir':SUB_INTEGR_5'ext', -
'objectDir':SUB_INTEGR_6'ext', -
'objectDir':SUB_INPUT'ext', -
'objectDir':SUB_PICTURE'ext', -
'objectDir':SUB_OUTPUT'ext',-
'cernlibs' /exe='executeDir':ACCEL_'archi'
$ purge 'executeDir':*.EXE
$ set on
$ set noverify
$ EXIT
$
$!==============================================================================
$
$ COMPILE: SUBROUTINE
$ comp = "fortran ''sourceDir':''file' ''options' /object=''objectDir':''file'''ext'"
$ write sys$output "=============================================================================="
$ write sys$output "''COMP'"
$ comp
$ ENDSUBROUTINE
$!==============================================================================

38
accel/com/LINKACVD.COM Normal file
View File

@ -0,0 +1,38 @@
$ set verify
$ fortran accel$SOURCEdirectory:accel /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe]
$ fortran accel$SOURCEdirectory:SUB_ARTLIST /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe]
$ fortran accel$SOURCEdirectory:SUB_INTEGR_1 /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe]
$ fortran accel$SOURCEdirectory:SUB_INTEGR_2 /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe]
$ fortran accel$SOURCEdirectory:SUB_INTEGR_3 /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe]
$ fortran accel$SOURCEdirectory:SUB_INTEGR_4 /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe]
$ fortran accel$SOURCEdirectory:SUB_INTEGR_5 /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe]
$ fortran accel$SOURCEdirectory:SUB_INTEGR_6 /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe]
$ fortran accel$SOURCEdirectory:SUB_INPUT /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe]
$ fortran accel$SOURCEdirectory:SUB_PICTURE /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe]
$ fortran accel$SOURCEdirectory:SUB_OUTPUT /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe]
$ link -
accel$directory:[exe]accel, -
accel$directory:[exe]SUB_ARTLIST, -
accel$directory:[exe]SUB_INTEGR_1, -
accel$directory:[exe]SUB_INTEGR_2, -
accel$directory:[exe]SUB_INTEGR_3, -
accel$directory:[exe]SUB_INTEGR_4, -
accel$directory:[exe]SUB_INTEGR_5, -
accel$directory:[exe]SUB_INTEGR_6, -
accel$directory:[exe]SUB_INPUT, -
accel$directory:[exe]SUB_PICTURE, -
accel$directory:[exe]SUB_OUTPUT,-
'cernlibs' /debug /exe=accel$directory:[exe]accel
$ purge /log accel$directory:[exe]
$ set noverify

38
accel/com/LINKACVDL.COM Normal file
View File

@ -0,0 +1,38 @@
$ set verify
$ fortran accel$SOURCEdirectory:accel /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_ARTLIST /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_INTEGR_1 /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_INTEGR_2 /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_INTEGR_3 /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_INTEGR_4 /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_INTEGR_5 /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_INTEGR_6 /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_INPUT /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_PICTURE /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_OUTPUT /warn=nogen -
/check /list /debug /noopt /object=accel$directory:[exe] /d_line
$ link -
accel$directory:[exe]accel, -
accel$directory:[exe]SUB_ARTLIST, -
accel$directory:[exe]SUB_INTEGR_1, -
accel$directory:[exe]SUB_INTEGR_2, -
accel$directory:[exe]SUB_INTEGR_3, -
accel$directory:[exe]SUB_INTEGR_4, -
accel$directory:[exe]SUB_INTEGR_5, -
accel$directory:[exe]SUB_INTEGR_6, -
accel$directory:[exe]SUB_INPUT, -
accel$directory:[exe]SUB_PICTURE, -
accel$directory:[exe]SUB_OUTPUT,-
'cernlibs' /debug /exe=accel$directory:[exe]accel
$ purge /log accel$directory:[exe]
$ set noverify

47
accel/com/LINKACVL.COM Normal file
View File

@ -0,0 +1,47 @@
$ set verify
$ fortran accel$SOURCEdirectory:ACCEL -
/warn=nogeneral /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_ARTLIST -
/warn=nogeneral /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_INTEGR_1 -
/warn=nogeneral /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_INTEGR_2 -
/warn=nogeneral /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_INTEGR_3 -
/warn=nogeneral /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_INTEGR_4 -
/warn=nogeneral /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_INTEGR_5 -
/warn=nogeneral /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_INTEGR_6 -
/warn=nogeneral /object=accel$directory:[exe] /d_line
$! fortran accel$SOURCEdirectory:SUB_INTEGR_7 -
$! /warn=nogeneral /object=accel$directory:[exe] /d_line
$! fortran accel$SOURCEdirectory:SUB_INTEGR_8 -
$! /warn=nogeneral /object=accel$directory:[exe] /d_line
$! fortran accel$SOURCEdirectory:SUB_INTEGR_9 -
$! /warn=nogeneral /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_INPUT -
/warn=nogeneral /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_ACPIC -
/warn=nogeneral /object=accel$directory:[exe] /d_line
$ fortran accel$SOURCEdirectory:SUB_OUTPUT -
/warn=nogeneral /object=accel$directory:[exe] /d_line
$ link -
accel$directory:[exe]ACCEL, -
accel$directory:[exe]SUB_ARTLIST, -
accel$directory:[exe]SUB_INTEGR_1, -
accel$directory:[exe]SUB_INTEGR_2, -
accel$directory:[exe]SUB_INTEGR_3, -
accel$directory:[exe]SUB_INTEGR_4, -
accel$directory:[exe]SUB_INTEGR_5, -
accel$directory:[exe]SUB_INTEGR_6, -
$! accel$directory:[exe]SUB_INTEGR_7, -
$! accel$directory:[exe]SUB_INTEGR_8, -
$! accel$directory:[exe]SUB_INTEGR_9, -
accel$directory:[exe]SUB_INPUT, -
accel$directory:[exe]SUB_ACPIC, -
accel$directory:[exe]SUB_OUTPUT,-
'cernlibs' /exe=accel$directory:[exe]ACCEL
$ purge /log accel$directory:[exe]
$ set noverify

10
accel/com/LINKPS_MAP.COM Normal file
View File

@ -0,0 +1,10 @@
$ fortran p-source$directory:[source]SUB_INTEGR -
/warn=nogeneral /object=p-source$directory:[exe]
$ link -
p-source$directory:[exe]P-SOURCE, -
p-source$directory:[exe]SUB_ARTLIST, -
p-source$directory:[exe]SUB_INTEGR, -
p-source$directory:[exe]SUB_INPUT, -
p-source$directory:[exe]SUB_PPIC, -
p-source$directory:[exe]SUB_OUTPUT,-
'cernlibs' /exe=p-source$directory:[exe]p-source

View File

@ -0,0 +1,98 @@
OPTIONS /EXTEND_SOURCE
c PROGRAM WRITELOG
c ================
c===============================================================================
c Dieses Programm uebernimmt aus der Command Zeile eine Runnummer und
c uebertraegt den Header des zugehoerigen Logfiles in WRITELOG_nnnn.OUT.
c gleich wieder loescht.
c===============================================================================
IMPLICIT NONE
c Deklarationen fuer das Einlesen der Runnummer von der Commandline:
external cli$get_value
integer cli$get_value
integer status
character*4 runNumber
integer length
c sonstige Deklarationen:
character*80 zeile
integer i,iostat,marke
logical flag
c-------------------------------------------------------------------------------
c Lies Runnummer aus Commandline:
status = cli$get_value('runNumber',runNumber,length)
if (.NOT.status) call lib$signal(%val(status))
call str$trim(runNumber,runNumber,length)
c Oeffne zugehoeriges LOGfile:
open (20,file='accel$OUTdirectory:AC_'//runNumber//'.LOG',status='OLD',
+ readonly,iostat=iostat)
if (iostat.NE.0) then
write(*,*)
write(*,*)'can''t find accel$OUTdirectory:AC_'//runNumber//'.LOG'
write(*,*)'-> STOP'
write(*,*)
STOP
endif
c Oeffne WRITELOG_nnnn.OUT:
open (21,file='accel$OUTdirectory:WRITELOG_'//runNumber//'.OUT',
+ status='NEW')
c Uebertrage die Headerzeilen:
c do i = 1, 130
c read(20,'(A)',end=20) zeile
c write(21,'(xA)') zeile
c enddo
c write(21,*)
c write(21,*)' >>>>>>>>>> AUSDRUCK HIER ABGEBROCHEN >>>>>>>>>>'
c - Teste, ob LOGfile mehr als 140 Zeilen hat. Falls ja, drucke nur den
c Haeder. Andernfalls drucke das ganze Logfile
flag = .false.
marke = -10
do i = 1, 141
read(20,'(A)',end=10) zeile
if (index(Zeile,'>>>>> T E S T - R U N <<<<<').NE.0) marke = i
enddo
flag = .true. ! -> nur Headerzeilen schreiben
10 rewind (20)
do i = 1, 140
read(20,'(A)',end=20) zeile
if (flag .AND. index(Zeile,'>>> Schleife :').NE.0) goto 20
if (i.NE.marke .AND. i.NE.marke+1) then
write(21,'(xA)') zeile
endif
enddo
c Schliesse die Files:
20 close (20)
close (21)
END

167
accel/com/MAKE_E0_LIST.FOR Normal file
View File

@ -0,0 +1,167 @@
options /extend_source
program MAKE_E0_LIST
c ====================
implicit none
c===============================================================================
c Dieses Fortran-Programm erstellt Files 'E0-Intervalls.input_', die durch
c Editieren (falls noetig) und Umbenennen in 'E0-Intervalls.input' (ohne
c '_' am Ende) als entsprechende Eingabefiles fuer ACCEL verwendet werden
c koennen. Der Inhalt dieser Datei umfasst die Definition von Startenergie-
c intervallen, fuer die ACCEL-Simulationen durchgefuehrt werden sollen.
c
c Hierbei geht es um die Bereitstellung der fuer die Anpassung der Austritts-
c energie der langsamen MYonen benoetigten Simulationen.
c
c Der untere Wert des ersten Startenergieintervalles, die Breite des ersten
c Intervalles, und die Zunahme der Intervallbreite von einem zum naechsten
c Intervall sowie die Anzahl der so zu erstellenden Intervalle werden zunaechst
c eingelesen und die entsprechenden Daten in das Ausgabefile geschrieben.
c
c Um weiter Intervalle mit anderen Intervallbreiten-Incrementen anhaengen zu
c koennen, wird dann wiederum die Breite des ersten hinzuzufuegenden Intervalles
c sowie das neue Increment und die Anzahl damit anzuhaengender Intervalle
c eingelesen. Das wiederholt sich dann so lange, bis eine negative Zahl
c eingegeben wird. Dann wird das File geschlossen und das Programm beendet.
c
c Das File wird in 'ACCEL$READdirectory' erstellt
c
c Anselm Hofer
c===============================================================================
integer lunOUT
parameter (lunOUT = 10)
integer E0 /0/ ,E0Binwidth /2/ ,BinwidthIncr /0/
integer E0_ ,E0Binwidth_ ,BinwidthIncr_
integer nBins /20/, nBins_, i, lun, indx /1/, indx_
character*10 answer
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
c Oeffnen des Files:
open (lunOUT,file='E0-Intervalls.input_',status='new',
+ defaultFile='ACCEL$READdirectory')
write(lunOUT,*) '*==============================================================================='
write(lunOUT,*) '* In dieser Datei koennen (aneinandergrenzende) E0-Intervalle fuer ACCEL'
write(lunOUT,*) '* vorgegeben werden! Die Intervalle laufen dabei von der Angabe der i. bis'
write(lunOUT,*) '* zur Angabe der i+1. Datenzeile. Die DATENzeilen 2 bis n-1 geben also'
write(lunOUT,*) '* jeweils das Ende des einen sowie gleichzeitig den Anfang des anderen'
write(lunOUT,*) '* Intervalls an.'
write(lunOUT,*) '*'
write(lunOUT,*) '* Die E0-Angaben erfolgen in keV-Einheiten!'
write(lunOUT,*) '*'
write(lunOUT,*) '* Beispiel:'
write(lunOUT,*) '* Die Datenzeilen'
write(lunOUT,*) '*'
write(lunOUT,*) '* 0.010'
write(lunOUT,*) '* 0.040'
write(lunOUT,*) '* 0.100'
write(lunOUT,*) '*'
write(lunOUT,*) '* geben zwei E0-Intervalle an: von 10 eV bis 40 eV und von 40 eV bis 100 eV.'
write(lunOUT,*) '*'
write(lunOUT,*) '* eine Zeile mit mindestens 5 aufeinanderfolgenden x (''xxxxx'') markiert ge-'
write(lunOUT,*) '* gebenenfalls das Ende der Datenzeilen. Nachfolgende Zeilen werden ignoriert.'
write(lunOUT,*) '*'
write(lunOUT,*) '* Der Inhalt dieser Datei wird mit ''E0InterFromFile = .true.'' in ACCEL.INPUT'
write(lunOUT,*) '* aktiviert.'
write(lunOUT,*) '*==============================================================================='
1000 format ($,x,A,:' (.LT.0 => finish) [',I4,'] > ')
1001 format ($,x,A,:' [',I4,'] > ')
write(*,*)
write(*,*) 'alle Eingaben in eV!'
write(*,*)
write(*,1001) ' lower E0 ',E0
read(*,'(A)') answer
if (answer.NE.' ') read(answer,*) E0
write(lunOUT,'(x,F8.3)') real(E0) / 1000.
c Einlesen und Ausgeben ...:
10 write(*,*)
write(*,1000) ' first E0-Binwidth ',E0Binwidth
read(*,'(A)') answer
if (answer.NE.' ') read(answer,*) E0Binwidth
if (E0Binwidth.LE.0) goto 100
write(*,1000) ' Binwidth-increment ',BinwidthIncr
read(*,'(A)') answer
if (answer.NE.' ') read(answer,*) BinwidthIncr
if (BinwidthIncr.LT.0) goto 100
write(*,1000) ' number of bins to add ', nBins
read(*,'(A)') answer
if (answer.NE.' ') read(answer,*) nBins
if (nBins.LE.0) goto 100
E0_ = E0
E0Binwidth_ = E0Binwidth
BinwidthIncr_ = BinwidthIncr
nBins_ = nBins
indx_ = indx
lun = 6
write(*,*)
write(*,*) ' so, next intervalls would be: (number, lowerE0, upperE0, binWidth)'
write(*,*)
write(*,2000) indx,E0, E0 + E0BinWidth,E0BinWidth
2000 format (x,I3,': ',I5,'-',I5, 4x,'(',I4,')')
50 do i = 1, nBins
indx = indx + 1
E0 = E0 + E0BinWidth
if (lun.EQ.6) then
if (i.NE.nBins) write(*,2000) indx,E0, E0+E0BinWidth+BinwidthIncr,E0BinWidth+BinwidthIncr
else
write(lun,'(x,F8.3)') real(E0) / 1000.
endif
E0BinWidth = E0BinWidth + BinwidthIncr
enddo
if (lun.EQ.6) then
write(*,*)
write(*,1001) ' add them to file ? > '
read(*,'(A)') answer
call str$upcase(answer,answer)
E0 = E0_
E0Binwidth = E0Binwidth_
BinwidthIncr = BinwidthIncr_
nBins = nBins_
indx = indx_
if (index(answer,'Y').NE.0 .OR. index(answer,'J').NE.0) then
lun = lunOUT
goto 50
else
write(*,*) '=> cancel'
endif
endif
goto 10
c Schliessen des Ausgabefiles:
100 close (lunOUT)
write(*,*)
write(*,*) ' -> created file ''accel$READdirectory:E0-Intervalls.input_'''
write(*,*)
END

49
accel/com/WRITELOG.COM Normal file
View File

@ -0,0 +1,49 @@
$! KOMMANDOPROZEDUR FUER DEN AUSDRUCK DER HEADERZEILEN VON 'AC_nnnn.LOG'-Dateien
$! =============================================================================
$!
$ SET NOON
$ SET NOVERIFY
$ SAY := WRITE SYS$OUTPUT
$ SET COMMAND accel$COMdirectory:DEF_MAKEWRITELOGOUT.CLD
$ ! FILE MIT HEADERZEILEN ERSTELLEN LASSEN:
$ IF P1 .EQS. ""
$ THEN
$ SAY "%WRITELOG: error: NO RUN NUMBER GIVEN IN COMMANDLINE"
$ EXIT
$ ENDIF
$ IF P1 .EQS. "?"
$ THEN
$ SAY " "
$ SAY " WRITEACLOG runNr [destinaton]"
$ SAY " "
$ SAY " destination not specified -> output to screen"
$ SAY " "
$ SAY " accepted destinations are: PSW04, PSW23, PRL, PRL2 (have to be given in upper case!)"
$ SAY " "
$ EXIT
$ ENDIF
$ IF (P2.NES."PSW04" .AND. P2.NES."PSW23" .AND. P2.NES."PRL" .AND. P2.NES."PRL2" .AND. P2.NES."")
$ THEN
$ SAY " "
$ SAY " ""''P2'"" is not an accepted destination!"
$ SAY " accepted destinations are: PSW04, PSW23, PRL, PRL2 (UPPER CASE ONLY!)"
$ SAY " "
$ EXIT
$ ENDIF
$!
$ MAKEWRITELOGOUT "''P1'"
$ OUTFILENAME = "accel$OUTdirectory:WRITELOG_" + "''P1'" + ".OUT;"
$ say "''outfilename'"
$ IF P2 .EQS. ""
$ THEN
$ TY 'OUTFILENAME'
$ DELETE /NOCON 'OUTFILENAME'
$ WRITE SYS$OUTPUT "================================================================================"
$ EXIT
$ ENDIF
$ IF (P2.EQS."PRL" .OR. P2.EQS."PRL2")
$ THEN
$ PRL2 'OUTFILENAME' /del
$ EXIT
$ ENDIF
$ VPP 'OUTFILENAME' /delete /dev=printer /form=listq /dest= "''P2'"