SUBROUTINE MILLIM(LL,RMM) C---------------------------------------------------------------------- C- C- Purpose and Methods : TRASFORMA IL NUMERO DI STRISCIA IN mm TENENDO CONTO C- DELLE AREE MORTE C- C- Inputs : NUMERO DI STRISCIA (INTERO) C- Outputs : VALORE IN mm (REALE) C- Controls: C- C- Created 3-FEB-1994 MIRKO BOEZIO C- Modified 1-MAR-1994 MIRKO BOEZIO . SOSTITUITO IN MILLIM C- - AA / 2. CON C- - 3.75 / 2. C- Modified 31-MAR-1994 MIRKO BOEZIO . AGGIUNTA IN LASTRISCIA LA RIGA : C- IF (IBAR.EQ.0) IBAR = 1 C- C---------------------------------------------------------------------- INCLUDE 'INTEST.TXT' COMMON /SHIFT/ SHIFT AAA = AA + SHIFT II = LL - 1 K1 = INT(II / 32) K2 = MOD(II,32) + 1 RMM = FLOAT(K1) * ADIST + AAA + FLOAT(K2) * 2.44 - 2.44 / 2. C 999 RETURN END C C--------------------------------------------------------------------- SUBROUTINE LASTRISCIA(BAR,IBAR) C--------------------------------------------------------------------- C TRASFORMA UN VALORE IN mm NELL'EQUIVALENTE VALORE IN NUMERO DI STRISCIA . C INCLUDE 'INTEST.TXT' COMMON /SHIFT/ SHIFT BBAR = BAR - SHIFT IBAR = 0 DO L = 1,NCHA ALUNG = INT((FLOAT(L) - 1.) / 32.) * ADIST + AA II = L - 1 K = MOD(II,32) RLINF = FLOAT(K) * 2.44 + ALUNG RLSUP = FLOAT(K + 1) * 2.44 + ALUNG IF (BBAR.GT.RLINF.AND.BBAR.LT.RLSUP) THEN IBAR = L GO TO 500 ENDIF ENDDO C C SE BAR SI TROVA SU UN'AREA MORTA SI PRENDE LA STRISCIA INFERIORE PIU` C PROSSIMA TRANNE QUANDO SI TRATTA DELLA PRIMA AREA MORTA NEL QUAL CASO SI C PRENDE IBAR = 1 . C IF (IBAR.EQ.0.AND.BBAR.GT.0.0001) THEN LK = INT(BBAR / ADIST) C$ IF (LK.EQ.0) LK = 1 DIS = BBAR - ADIST * FLOAT(LK+1) IF (DIS.LT.-1.96) THEN IBAR = 32 * LK ELSE IF (DIS.GE.-1.96.AND.DIS.LE.-0.5) THEN IBAR = 32 * (LK + 1) ELSE IF (DIS.GT.-0.5.AND.DIS.LE.0.) THEN IBAR = 32 * (LK + 1) + 1 ELSE PRINT *,'PROBLEMS :',BBAR ENDIF IF (IBAR.EQ.0) IBAR = 1 ENDIF C 500 CONTINUE RETURN END C