C HANN SOURCE OF166741 25/02/20 21:16:43 12165 C HANN SOURCE ISPRA 90/02/22 SUBROUTINE HANN IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) CHARACTER *72 TI CHARACTER*12 MOTX,MOTY CHARACTER*2 CNH C======================================================================= C = CALCUL DE LA 'FENETRE' DE HANNING = C = = C = SYNTAXE : = C = = C = SPEC = HANN EVO1 N (COUL); = C = = C = = C = EVO1 : OBJET DE TYPE EVOLUTIO CONTENANT LE SPECTRE A TRAITER= C = ( UNE COURBE SEULEMENT ) = C = N : NUMERO DE HANNING = C = COUL : COULEUR ATTRIBUEE A L'OBJET CREE (FACULTATIF) = C = ( DEFAUT = COULEUR DU EVO1) = C = = C = CREATION : 22/02/90 = C = PROGRAMMEUR : A.P. ET P.P. = C======================================================================= C -INC CCGEOME -INC PPARAM -INC CCOPTIO -INC SMEVOLL -INC SMLREEL C SEGMENT MTRAV1 IMPLIED XX(NPOINT),YY(NPOINT) ENDSEGMENT C C LECTURE DE L'OBJET EVOLUTIO CONTENANT LE SPECTRE C CALL LIROBJ('EVOLUTIO',IPSIG,1,IRET2) IF(IRET2.EQ.0) RETURN C C LECTURE DU NUMERO DE HANNING C CALL LIRENT(NH,1,IRET1) IF(IRET1.EQ.0) RETURN C C LECTURE DE LA COULEUR C CALL LIRMOT(NCOUL,NBCOUL,ICOUL,0) IF(icoul.eq.0) icoul=idcoul+1 icoul=icoul-1 C IF(IERR.NE.0) RETURN C MEVOL1=IPSIG SEGACT MEVOL1 KEVOL1=MEVOL1.IEVOLL(1) SEGACT KEVOL1 C IF(ICOUL.EQ.0) ICOUL=KEVOL1.NUMEVX MOTX=KEVOL1.NOMEVX MOTY=KEVOL1.NOMEVY C IF(NH.GT.99)THEN CNH='**' ELSE WRITE(CNH,'(I2)')NH ENDIF IF(NH.GT.9)THEN INH=1 ELSE INH=2 ENDIF TI='HANNING('//CNH(INH:2)//') '//MEVOL1.IEVTEX(1:59+INH) C MLREE1=KEVOL1.IPROGX MLREE2=KEVOL1.IPROGY SEGACT MLREE1 SEGACT MLREE2 C NPOINT=MLREE2.PROG(/1) C SEGINI MTRAV1 C C CHARGEMENT DES TABLEAUX DE TRAVAIL C DO 10 I=1,NPOINT XX(I)=MLREE2.PROG(I) YY(I)=MLREE1.PROG(I) 10 CONTINUE C C DUPLICATION DES ABSCICES C SEGDES MLREE1 JG=NPOINT SEGINI MLREE1 DO 11 I=1,NPOINT 11 MLREE1.PROG(I)=YY(I) SEGDES MLREE1 C C CALCUL DE LA FENETRE C CALL HANNIN(NH,XX,NPOINT,YY) IF(IIMPI.EQ.1) WRITE(IOIMP,*)' CALCUL DE FENETRE ' C SEGDES MLREE2 C C CREATION ET CALCUL DES LISTES DE LA DSP C JG=NPOINT SEGINI MLREE2 DO 20 I=1,NPOINT MLREE2.PROG(I)=YY(I) 20 CONTINUE C SEGDES MLREE2 C C CREATION DE L'OBJET EVOLUTIO DSP C N=1 SEGINI MEVOLL IPVO=MEVOLL IEVTEX=TI ITYEVO='REEL' SEGINI KEVOLL KEVTEX=TI IEVOLL(1)=KEVOLL TYPX='LISTREEL' TYPY='LISTREEL' C IPROGX=MLREE1 NOMEVX=MOTX(1:12) C IPROGY=MLREE2 NOMEVY=MOTY(1:12) C NUMEVX=ICOUL NUMEVY='REEL' C SEGSUP MTRAV1 SEGDES KEVOL1 SEGDES MEVOL1 C SEGDES KEVOLL,MEVOLL CALL ECROBJ('EVOLUTIO',IPVO) C RETURN END