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