Télécharger agrega.eso

Retour à la liste

Numérotation des lignes :

agrega
  1. C AGREGA SOURCE FD218221 25/12/24 21:15:04 12435
  2. SUBROUTINE AGREGA
  3.  
  4. C Typages implicites habituels
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8 (A-H,O-Z)
  7.  
  8. C Les includes necessaires
  9. -INC PPARAM
  10. -INC CCOPTIO
  11. -INC SMLREEL
  12.  
  13. C Les objets necessaires
  14. PARAMETER (NMOT=17)
  15. CHARACTER*(4) MCLE1(NMOT),MCLE2(2)
  16. DATA MCLE1/'SOMM','PROD','MOYE','MOHA','MOGE','VARI','ECTY',
  17. & 'ASYM','KURT','MEDI','PMOM','PMOY','PNOR','LEHM',
  18. & 'KSL','KSU','BOLT'/
  19. DATA MCLE2/'ROBU','DERI'/
  20. DATA ZER/0.D0/,UN/1.D0/
  21.  
  22. C Lecture du mot clef obligatoire (fonction d'agregation choisie ?)
  23. CALL LIRMOT(MCLE1,NMOT,IPOSI,1)
  24. IF (IERR .NE. 0) RETURN
  25.  
  26. C Lecture des mots clefs facultatifs (calcul robuste ? calcul des derivees ?)
  27. IROBU=0
  28. IDERI=0
  29. DO I=1,2
  30. CALL LIRMOT(MCLE2,2,I1,0)
  31. IF (IERR .NE. 0) RETURN
  32. IF (I1.EQ.1) IROBU=1
  33. IF (I1.EQ.2) IDERI=1
  34. ENDDO
  35.  
  36. C Lecture d'un 'LISTREEL' obligatoire et activation
  37. CALL LIROBJ('LISTREEL',MLREE1,1,IRETOU)
  38. IF (IERR .NE. 0) RETURN
  39. SEGACT,MLREE1
  40.  
  41. C Lecture d'un 'FLOTTANT' facultatif
  42. CALL LIRREE(XP,0,IRETOU)
  43. IF (IERR .NE. 0) RETURN
  44. IF (IRETOU.EQ.0) XP=1.D0
  45.  
  46. C Appel a la subroutine qui fait le travail
  47. CALL AGREG1(MLREE1,IPOSI,XP,IDERI,IROBU,XRESU,MLREE2)
  48. IF (IERR.NE.0) RETURN
  49.  
  50. C Ecriture des resultats (FLOTTANT et LISTREEL)
  51. IF (IDERI.EQ.1) THEN
  52. CALL ECROBJ('LISTREEL',MLREE2)
  53. ENDIF
  54. CALL ECRREE(XRESU)
  55. RETURN
  56. END
  57.  
  58.  
  59.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales