File: INIT2.FT of Tape: Sources/Multi8/m8-mprog-f
(Source file text) 

     	SUBROUTINE INIT1
	COMMON/TITLE/ADENT,DITOMO,IRUN,ICHAR
	COMMON/SAMPLE/SPL,SPA,SPV,HANG
	COMMON/FIELD/NP,HHI,HLO,DRHE3,DRH,DELDRH,VIND,IMIN,ISEC

	COMMON/PARAM/PS(2),PT(2),PF(2),CALI(2)
	COMMON/TEMP/PM,PV,TM,TV,TSET,DELTP,DELTI
C
	LOGICAL NEW,YES
C
	ITERM=4
	IPARA=5
	IFILE=6
	PI=3.14159
	SIG=.0
	SRATE=4.
C
10	REWIND IPARA
	WRITE(ITERM,2000)
	READ(ITERM,1000) NEW
	IF(.NOT.NEW) GOTO 200
	WRITE(ITERM,2001)
	READ(ITERM,1001) ADENT
	WRITE(ITERM,2002)
	READ(ITERM,1002) DITOMO
	CALL CGET3(DITOMO,1,ICHAR)
	IF(ICHAR.EQ.77) GOTO 140
	WRITE(ITERM,2003)
	MASK=16+32+64+2048
	CALL DOUT(1,MASK,IERRDO,0)
	IF(IERRDO.NE.0) GOTO 900
100	WRITE(ITERM,2500)
	CALL DINP(1,1,IERRDI,INPUT)
	IF(IERRDI.NE.0) GOTO 901
	IF(INPUT.EQ.0) GOTO 100
	ITORQH=DVINP(1+8,0+4,IERRDV,DUMMY)
	IF(IERRDV.NE.4) GOTO 110
	WRITE(ITERM,2501)
	IERRDV=IERRDV-4
110	IF(IERRDV.NE.0) GOTO 902
	IF(IABS(ITORQH).EQ.125000) WRITE(ITERM,2502)
	WRITE(ITERM,2004)
120	WRITE(ITERM,2500)
	CALL DINP(1,1,IERRDI,INPUT)
	IF(IERRDI.NE.0) GOTO 901
	IF(INPUT.EQ.0) GOTO 120
	ITORQL=DVINP(1+8,0+4,IERRDV,DUMMY)
	IF(IERRDV.NE.4) GOTO 130
	WRITE(ITERM,2501)
	IERRDV=IERRDV-4
130	IF(IERRDV.NE.0) GOTO 902
	IF(IABS(ITORQL).EQ.125000) WRITE(ITERM,2502)
	SIG=FLOAT(ITORQH-ITORQL)
	SIG=SIGN(1.,SIG)
	WRITE(ITERM,2005) SIG
140	WRITE(ITERM,2006)
	READ(ITERM,1003) SPL
	WRITE(ITERM,2007)
	READ(ITERM,1003) SPA
	WRITE(ITERM,2008)
	READ(ITERM,1003) SPV
	WRITE(ITERM,2009)
	READ(ITERM,1004) IRUN
	GOTO 220

200	READ(IPARA,3000) ADENT,DITOMO,IRUN
	READ(IPARA,3001) SPL,SPA,SPV,HANG
	READ(IPARA,3002) NP,HHI,HLO,DRHE3,PREC
	READ(IPARA,3003) VIND,IMIN,ISEC
	CALL CGET3(DITOMO,1,ICHAR)
	IF(ICHAR.EQ.68) READ(IPARA,3001) PS(1),PT(1),PF(1),CALI(1)
	IF(ICHAR.EQ.68.OR.ICHAR.EQ.84) READ(IPARA,3001)
     $	PS(2),PT(2),PF(2),CALI(2),SIG
	DRH=DRHE3*1.E-3
	DELDRH=DRH*PREC/100.
	IRUN=IRUN+1
	WRITE(ITERM,2010) ADENT,DITOMO,IRUN
	READ(ITERM,1000) YES
	IF(YES) GOTO 210
	WRITE(ITERM,2009)
	READ(ITERM,1004) IRUN
210	WRITE(ITERM,2011) HANG
	READ(ITERM,1000) YES
	IF(YES) GOTO 400
220	WRITE(ITERM,2012)
	READ(ITERM,1003) HANG
	IF(NEW) GOTO 230
	WRITE(ITERM,2013) NP
	WRITE(ITERM,2014) HHI,HLO,DRHE3,PREC
	READ(ITERM,1000) YES
	IF(YES) GOTO 260
230	WRITE(ITERM,2015)
	READ(ITERM,1005) NP
	WRITE(ITERM,2016)
	READ(ITERM,1003) HHI
	WRITE(ITERM,2017)
	READ(ITERM,1003) DRHE3
	IF(DRHE3.LT.1.E-6) GOTO 240
	DRH=DRHE3*1.E-3
	HLO=HHI/(1.+NP*DRH*HHI)
	WRITE(ITERM,2018) HLO
	GOTO 250
240	WRITE(ITERM,2019)
	READ(ITERM,1003) HLO
	DRH=(HHI-HLO)/(HHI*HLO*NP)
	DRHE3=DRH*1.E3
	WRITE(ITERM,2020) DRHE3
250	WRITE(ITERM,2021)
	READ(ITERM,1003) PREC
	DELDRH=DRH*PREC/100.
	VIND=SRATE*DELDRH*HHI**2
	WRITE(ITERM,2022) VIND
	VIND=52.*VIND/.1472
	ITIME=INT(NP*DRH/(SRATE*DELDRH)+.5)
	IMIN=ITIME/60
	ISEC=ITIME-IMIN*60
	WRITE(ITERM,2023) VIND,IMIN,ISEC
	WRITE(ITERM,2024)
	READ(ITERM,1000) YES
	IF(.NOT.YES) GOTO 230

260	IF(ICHAR.NE.68) GOTO 310
	WRITE(ITERM,2025)
	WRITE(ITERM,2026)
	READ(ITERM,1003) PS(1)
	WRITE(ITERM,2027)
	READ(ITERM,1003) PT(1)
	WRITE(ITERM,2028)
	READ(ITERM,1003) PF(1)
	WRITE(ITERM,2029)
	READ(ITERM,1003) DCAP
	WRITE(ITERM,2030)
	MASK=16+32+64+2048
	CALL DOUT(1,MASK,IERRDO,16+32)
	IF(IERRDO.NE.0) GOTO 900
270	WRITE(ITERM,2500)
	CALL DINP(1,1,IERRDI,INPUT)
	IF(IERRDI.NE.0) GOTO 901
	IF(INPUT.EQ.0) GOTO 270
	IDILAH=DVINP(1+8,0+4,IERRDV,DUMMY)
	IF(IERRDV.NE.4) GOTO 280
	WRITE(ITERM,2501)
	IERRDV=IERRDV-4
280	IF(IERRDV.NE.0) GOTO 902
	IF(IABS(IDILAH).EQ.125000) WRITE(ITERM,2502)
	WRITE(ITERM,2031)
290	WRITE(ITERM,2500)
	CALL DINP(1,1,IERRDI,INPUT)
	IF(IERRDI.NE.0) GOTO 901
	IF(INPUT.EQ.0) GOTO 290
	IDILAL=DVINP(1+8,0+4,IERRDV,DUMMY)
	IF(IERRDV.NE.4) GOTO 300
	WRITE(ITERM,2501)
	IERRDV=IERRDV-4
300	IF(IERRDV.NE.0) GOTO 902
	IF(IABS(IDILAL).EQ.125000) WRITE(ITERM,2502)
	CALI(1)=8.859*SPA*DCAP*1000./(FLOAT(IDILAL-IDILAH)*PF**2)
	WRITE(ITERM,2032) CALI(1)
C
310	IF(ICHAR.EQ.77) GOTO 330
	WRITE(ITERM,2033)
	WRITE(ITERM,2026)
	READ(ITERM,1003) PS(2)
	WRITE(ITERM,2027)
	READ(ITERM,1003) PT(2)
	WRITE(ITERM,2028)
	READ(ITERM,1003) PF(2)
	WRITE(ITERM,2034)
	READ(ITERM,1004) ISHUNT
	IEXP=(ISHUNT-1)/3
	IPRO=ISHUNT-3*IEXP
	IF(IPRO.GE.3) IPRO=5
	ISHUNT=IPRO*10**(IEXP+1)
	WRITE(ITERM,2035) ISHUNT
	WRITE(ITERM,2036)
	READ(ITERM,1004) ICOIL
	AEFF=37.55*1.E-4
	ANG=.0
	IF(ICOIL.EQ.1) GOTO 320
	AEFF=12.63*1.E-4
	ANG=85.
320	AEFF=AEFF*ABS(SIN((HANG-ANG)*PI/180.))
	CALI(2)=SIG*AEFF*HHI*1.E7/(5.19*FLOAT(ISHUNT))
	WRITE(ITERM,2037) CALI(2)

330	IF(ICHAR.NE.77) GOTO 400
C	MODULATION
400	CONTINUE
C
	WRITE(ITERM,4000) ADENT,DITOMO,IRUN
	WRITE(ITERM,4001) SPL,SPA,SPV,HANG
	WRITE(ITERM,4002) NP,HHI,HLO,DRHE3,PREC,VIND,IMIN,ISEC
	IF(ICHAR.EQ.68) WRITE(ITERM,4003) PS(1),PT(1),PF(1),CALI(1)
	IF(ICHAR.EQ.68.OR.ICHAR.EQ.84) WRITE(ITERM,4004)
     $	PS(2),PT(2),PF(2),CALI(2)
C
	WRITE(ITERM,2038)
	READ(ITERM,1000) YES
	IF(.NOT.YES) GOTO 10

	REWIND IPARA
	WRITE(IPARA,3000) ADENT,DITOMO,IRUN
	WRITE(IPARA,3001) SPL,SPA,SPV,HANG
	WRITE(IPARA,3002) NP,HHI,HLO,DRHE3,PREC
	WRITE(IPARA,3003) VIND,IMIN,ISEC
	IF(ICHAR.EQ.68) WRITE(IPARA,3001) PS(1),PT(1),PF(1),CALI(1)
	IF(ICHAR.EQ.68.OR.ICHAR.EQ.84) WRITE(IPARA,3001)
     $	PS(2),PT(2),PF(2),CALI(2),SIG
C
	WRITE(IFILE,3004) ADENT,DITOMO,IRUN,IRUN
	WRITE(IFILE,3005) NP
C
	RETURN

900	WRITE(ITERM,2900) IERRDO
	STOP
901	WRITE(ITERM,2901) IERRDI
	STOP
902	WRITE(ITERM,2902) IERRDV
	STOP

1000	FORMAT	(L1)
1001	FORMAT	(A3)
1002	FORMAT	(A1)
1003	FORMAT	(F8.4)
1004	FORMAT	(I2)
1005	FORMAT	(I4)

2000	FORMAT	(/1X,'NEW SET OF MEASUREMENTS (T OR F):'T70,$)
2001	FORMAT	(/1X,'SAMPLE:',T70,$)
2002	FORMAT	(1X,'DILA (D), TORQUE (T) OR MOD (M):',T70,$)
2003	FORMAT	(1X,'TORQUE SIGN TEST'/T5,'UPPER C:'/)
2004	FORMAT	(1H+,T5,'LOWER C:'/)
2005	FORMAT	(1H+,T5,'SIGN',T40,'SIG  =',F8.1)
2006	FORMAT	(/1X,'SAMPLE:'/T5'LENGTH [CM]:',T70,$)
2007	FORMAT	(T5,'FACE [SCM]:',T70,$)
2008	FORMAT	(T5,'VOLUME [CCM]:',T70,$)
2009	FORMAT	(/1X,'RUN NUMBER:',T70,$)
2010	FORMAT	(/1X,'RUN: ',A3,A1,I2,' ? (T OR F)',T70,$)
2011	FORMAT	(1X,'ANGLE',T40,'HANG =',F8.1,' ? (T OR F)',T70,$)
2012	FORMAT	(1X,'ANGLE:',T70,$)
2013	FORMAT	(1X,'NUMBER OF DATA POINTS',T40,'NP   =',4X,I4)
2014	FORMAT	(1X,'LARGEST FIELD',T40,'HHI  =',F8.4,' [T]'/
     $		1X,'SMALLEST FIELD',T40,'HLO  =',F8.4,' [T]'/
     $		1X,'INCREMENT IN 1/H',T40,'DRH  =',F8.4,' [1E-3/T]'/
     $		1X,'PRECISION OF DRH',T40,'PREC =',F8.2,' % ? (T/F)',T70,$)
2015	FORMAT	(1X,'NUMBER OF DATA POINTS:',T70,$)
2016	FORMAT	(1X,'LARGEST FIELD [T]:',T70,$)
2017	FORMAT	(1X,'INCREMENT IN 1/H [1E-3/T]:',T70,$)
2018	FORMAT	(1X,'SMALLEST FIELD',T40,'HLO  =',F8.4,' [T]')
2019	FORMAT	(1X,'SMALLEST FIELD [T]:',T70,$)
2020	FORMAT	(1X,'INCREMENT IN 1/H',T40,'DRH  =',F8.4,' [1E-3/T]')
2021	FORMAT	(1X,'PRECISION OF DRH [%] (MAX 12 %):',T70,$)
2022	FORMAT	(1X,'INITIAL SWEEP SPEED',T40,'v    =',F8.4,' [T/s]')
2023	FORMAT	(1X,'SET INDUCED VOLTAGE',T40,'Vind<=',F8.2,' [V];'/
     $		1X,'SMALLEST SWEEP TIME',T40,'TIME =',I3,3H ' ,I2,3H '')
2024	FORMAT	(/1X,'NUMBER OF DATA POINTS, FIELD VALUES'/
     $		1X,'AND SWEEP VELOCITY OK ? (T OR F)',T70,$)
2025	FORMAT	(/1X,'DILATION:')
2026	FORMAT	(T5,'PAR SENSITIVITY [mmV]:',T70,$)
2027	FORMAT	(T5,'PAR TIME CONSTANT [s]:',T70,$)
2028	FORMAT	(T5,'CAPACITANCE [pF]:',T70,$)
2029	FORMAT	(T5,'CALIBRATION [1E-3 pF]:',T70,$)
2030	FORMAT	(T8,'UPPER C:'/)
2031	FORMAT	(1H+,T8,'LOWER C:'/)
2032	FORMAT	(1H+,T5,'CALIBRATION FACTOR',T40,'CALI =',
     $		F8.3,' [1E-8 m/V]')
2033	FORMAT	(/1X,'TORQUE:')
2034	FORMAT	(T5,'SHUNT NUMBER:',T70,$)
2035	FORMAT	(T5,'SHUNT',T40,'R    =',2X,I6,' OHM')
2036	FORMAT	(T5,'COIL NUMBER:',T70,$)
2037	FORMAT	(T5,'CALIBRATION FACTOR',T40,'CALI =',F8.3,
     $		' [1E-7 Nm/V]')
2038	FORMAT	(/1X,'ALL OK ? (T OR F):',T70,$)

2500	FORMAT	(1H+,T60,'')
2501	FORMAT	(1X,'SIGN-CHANGE IN DVM MODE')
2502	FORMAT	(1X,'OVERFLOW IN DVM MODE')
C
2900	FORMAT	(1X,'SUBROUTINE DOUT:',T40,'IERR =',6X,I2)
2901	FORMAT	(1X,'SUBROUTINE DINP:',T40,'IERR =',6X,I2)
2902	FORMAT	(1X,'SUBROUTINE DVINP:',T40,'IERR =',6X,I2)

3000	FORMAT	(A3,A1,I2)
3001	FORMAT	(5E15.6)
3002	FORMAT	(10X,I5,4E15.6)
3003	FORMAT	(E15.6,10X,I5,10X,I5)
3004	FORMAT	(A3,A1,I2,I4)
3005	FORMAT	(I6)

4000	FORMAT	(//1X,A3,A1,I2/1X,'------')
4001	FORMAT	(1X,'SAMPLE:',T12,'SPL  =',F8.4,' [CM]',T36,'SPA  =',F8.4,
     $		' [SCM]',T60,'SPV  =',F8.4,' [CCM]'/T12,'HANG =',F8.1)
4002	FORMAT	(1X,'FIELD:',T12,'NP   =',4X,I4,T36,'HHI  =',F8.4,
     $		' [T]',T60,'HLO  =',F8.4,' [T]'/
     $		T36,'DRH  =',F8.4,' [1E-3/T]',T60,'PREC =',F8.2,' %'/
     $		T36,'VIND<=',F8.2,' [V]',T60,'TIME =',I3,3H ' ,I2,3H '')
4003	FORMAT	(1X,'DILATION:',T12,'PS   =',F8.1,' [mmV]',T36,'PT   =',
     $		F8.3,' [s]'/
     $		T12,'PF   =',F8.4,' [pF]',T36,'CALI =',F8.3,' [1E-8 m/V]')
4004	FORMAT	(1X,'TORQUE:',T12,'PS   =',F8.1,' [mmV]',T36,'PT   =',F8.3,
     $		' [s]'/
     $		T12,'PF   =',F8.4,' [pF]',T36,'CALI =',F8.3,' [1E-7 Nm/V]')
C
	END