Télécharger filmtopo.procedur

Retour à la liste

Numérotation des lignes :

  1. * FILMTOPO PROCEDUR GOUNAND 26/07/06 21:15:05 12592
  2. ************************************************************************
  3. * NOM : FILMTOPO
  4. * DESCRIPTION : Fait un film avec la table de sortie de REMA ou TRIA
  5. * 'TOPO'
  6. * Cette table contient une sequence de maillage en format
  7. * compresse a l'indice seqtopo (on n'a stocke que les
  8. * differences entre deux maillages consecutifs)
  9. *
  10. * En entree, on a demande la sortie de tous les maillages
  11. * avec :
  12. * tparam = tabl ;
  13. * tparam . 'sort_seqm' = 1 ;
  14. * mailap = REMA mailav metriq tparam ;
  15. * FILMTOPO tparam ;
  16. *
  17. *
  18. * LANGAGE : GIBIANE-CAST3M
  19. * AUTEUR : Stephane GOUNAND (CEA/DES/ISAS/DM2S/SEMT/LTA)
  20. * mail : stephane.gounand@cea.fr
  21. **********************************************************************
  22. * VERSION : v1, 02/06/2026, version initiale
  23. * HISTORIQUE : v1, 02/06/2026, creation
  24. * HISTORIQUE :
  25. * HISTORIQUE :
  26. ************************************************************************
  27. *
  28. 'DEBPROC' FILMTOPO ;
  29. 'ARGU' tfilm*'TABLE' ;
  30. 'ARGU' nimgmax/'ENTIER' ;
  31. 'SI' ('NON' ('EXIS' nimgmax)) ;
  32. nimgmax = 600 ;
  33. 'FINS' ;
  34. nimpmax = 100 ;
  35. 'ARGUMENT' motcle/'MOT' ;
  36. *
  37. 'SI' ('EXIS' motcle) ;
  38. *
  39. lmotcle = 'MOTS' 'IMPR' ;
  40. 'SI' ('NON' ('EXISTE' lmotcle motcle)) ;
  41. 'ERRE' 1052 'AVEC' motcle 'IMPR' ;
  42. 'FINSI' ;
  43. limpr = vrai ;
  44. 'SINO' ;
  45. limpr = faux ;
  46. 'FINS' ;
  47. *
  48. tok = 'EXIS' tparam 'sort_seqm' ;
  49. 'SI' tok ;
  50. tok = 'EGA' (tparam . 'sort_seqm') 1 ;
  51. 'FINS' ;
  52. 'SI' ('NON' tok) ;
  53. 'ERRE' 'tparam . ''sort_seqm'' NEG 1' ;
  54. 'FINS' ;
  55. * Filmons
  56. seqtopo = tparam . 'seqtopo' ;
  57. metva = tparam . 'metrique' ;
  58. lmet = ('NEG' metva faux) ;
  59. *
  60. tstat = tparam . 'tstat' ;
  61. lnchange = tstat . 'lnchange' ;
  62. lipass = tstat . 'lipass' ;
  63. lpcritq = tparam . 'critquals_eff' ; dlp = 'DIME' lpcritq ; lcritq = 'EXTR' lpcritq dlp ;
  64. * Consistance
  65. nmail = ('SOMM' lnchange) '+' 1 ;
  66. dim3 = ('DIME' seqtopo) '-' 1 ;
  67. dim = dim3 '/' 3 ;
  68. 'SI' ('NEG' ('*' dim 3) dim3) ;
  69. 'ERRE' 'Dimension liste maillage non divisible par 3' ;
  70. 'FINS' ;
  71. nmail2 = dim '+' 1 ;
  72. 'SI' ('NEG' nmail nmail2) ;
  73. 'ERRE' 'Pb nombre de maillage' ;
  74. 'FINS' ;
  75. 'SI' limpr ;
  76. 'MESS' 'FILMTOPO: Nombre de maillages=' nmail ;
  77. 'FINS' ;
  78. idxtopo = 1 ;
  79. curtopo = 'EXTR' seqtopo idxtopo ;
  80. imail = 1 ;
  81. netap = 'DIME' lnchange ;
  82. 'SI' limpr ;
  83. 'MESS' 'FILMTOPO: Nombre d''etapes=' netap ;
  84. 'FINS' ;
  85. vdim = 'VALE' 'DIME' ;
  86. dximp = '/' ('FLOT' nmail) ('FLOT' nimpmax) ; ximp = 0. ;
  87. dximg = '/' ('FLOT' nmail) ('FLOT' nimgmax) ; ximg = 0. ;
  88. *
  89. 'REPE' iietap netap ;
  90. ietap = &iietap ;
  91. nchange = 'EXTR' lnchange ietap ;
  92. ipass = 'EXTR' lipass ietap ;
  93. lcritq = 'EXTR' lpcritq ipass ;
  94. jcritq = 'ENTI' ('EXTR' lcritq 1) 'PROC' ;
  95. 'SI' lmet ;
  96. pcritq = 'EXTR' lcritq 2 ;
  97. qcritq = 'EXTR' lcritq 3 ;
  98. 'FINS' ;
  99. 'REPE' iichange ('+' nchange 1) ;
  100. ichange = &iichange ;
  101. 'SI' ('>' ichange 1) ;
  102. imail = imail '+' 1 ;
  103. idxtopo = '+' idxtopo 1 ;
  104. lmi = 'EXTR' seqtopo idxtopo;
  105. idxtopo = '+' idxtopo 1 ;
  106. topoavi = 'EXTR' seqtopo idxtopo ;
  107. curtopo = 'DIFF' curtopo topoavi ;
  108. idxtopo = '+' idxtopo 1 ;
  109. topoapi = 'EXTR' seqtopo idxtopo ;
  110. curtopo = curtopo 'ET' topoapi ;
  111. 'FINS' ;
  112. limg = ('>' imail ximg) ;
  113. limp = ('>' imail ximp) ;
  114. 'SI' limg ; ximg = ximg '+' dximg ; 'FINS' ;
  115. 'SI' limp ; ximp = ximp '+' dximp ; 'FINS' ;
  116. 'SI' (('ET' limp limpr) 'OU' limg) ;
  117. 'SI' lmet ;
  118. qcurt = 'INDI' 'TOPO' curtopo metva lcritq ;
  119. 'SINO' ;
  120. qcurt = 'INDI' 'TOPO' curtopo lcritq ;
  121. 'FINS' ;
  122. qcurtg = 'CHAN' qcurt ('MODE' ('EXTR' qcurt 'MAIL') 'THERMIQUE') 'GRAVITE' ;
  123. lr = 'EXTR' qcurtg 'VALE' 'TOPO' ;
  124. lro = 'ORDO' lr ; dlr = 'DIME' lr ;
  125. miq = 'EXTR' lro 1 ; maq = 'EXTR' lro dlr ;
  126. meq = 'EXTR' lro ('/' ('+' 1 dlr) 2) ;
  127. txt2 = 'CHAI' 'FORMAT' '(E11.3)' imail ' /' ' ' nmail ' pass' ' ' ipass
  128. ' Qmin=' miq ' Qmax=' maq ' Qmed=' meq ' crit=' jcritq ;
  129. 'SI' lmet ;
  130. txt2 = 'CHAINE' 'FORMAT' '(F4.1)' txt2 ' p=' pcritq ' q=' qcritq ;
  131. 'FINS' ;
  132. 'SI' ('ET' limpr limp) ;
  133. 'MESS' 'FILMTOPO:' ' ' txt2 ;
  134. 'FINS' ;
  135. 'SI' limg ;
  136. 'SI' ('<EG' vdim 2) ;
  137. 'TRAC' curtopo 'TITR' txt2 ;
  138. 'SINO' ;
  139. curtopoq = 'CHAN' curtopo 'QUAF' ;
  140. 'TRAC' 'CACH' curtopoq 'TITR' txt2 ;
  141. 'FINS' ;
  142. 'FINS' ;
  143. 'FINS' ;
  144. 'FIN' iichange ;
  145. 'FIN' iietap ;
  146. *
  147. * End of procedure file FILMTOPO
  148. *
  149. 'FINPROC' ;
  150.  
  151.  

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