Salome HOME
Homard executable
[modules/homard.git] / src / tool / Gestion_MTU / gmmess.F
1       subroutine gmmess (ulmess)
2 c ______________________________________________________________________
3 c
4 c                             H O M A R D
5 c
6 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
7 c
8 c Version originale enregistree le 18 juin 1996 sous le numero 96036
9 c aupres des huissiers de justice Simart et Lavoir a Clamart
10 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
11 c aupres des huissiers de justice
12 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
13 c
14 c    HOMARD est une marque deposee d'Electricite de France
15 c
16 c Copyright EDF 1996
17 c Copyright EDF 1998
18 c Copyright EDF 2002
19 c Copyright EDF 2020
20 c ______________________________________________________________________
21 c
22 c    'Gestion de la Memoire : unite de sortie des MESSages'
23 c     -             -                             ----
24 c ______________________________________________________________________
25 c
26 c but : modifie le numero de l'unite logique des messages du
27 c       gestionnaire de memoire
28 c ______________________________________________________________________
29 c .        .     .        .                                            .
30 c .  nom   . e/s . taille .           description                      .
31 c .____________________________________________________________________.
32 c . ulmess . e   .   1    . unite logique voulue pour les messages     .
33 c ______________________________________________________________________
34 c
35 c====
36 c 0. declarations et dimensionnement
37 c====
38 c
39 c 0.1. ==> generalites
40 c
41       implicit none
42       save
43 c
44       character*6 nompro
45       parameter ( nompro = 'GMMESS' )
46 c
47 #include "genbla.h"
48 c
49 c 0.2. ==> communs
50 c
51 #include "gmimpr.h"
52 #include "gmlang.h"
53 c
54 c 0.3. ==> arguments
55 c
56       integer ulmess
57 c
58 c 0.4. ==> variables locales
59 c
60       logical imprim, dejavu
61 c
62       integer lgimpr, ulimpr
63 c
64       integer guimp, gmimp, raison
65       integer codret
66 c
67       integer nbmess
68       parameter ( nbmess = 10 )
69       character*80 texte(nblang,nbmess)
70 c
71 c 0.5. ==> initialisations
72 c
73       data dejavu / .false. /
74 c ______________________________________________________________________
75 c
76 c====
77 c 1. initialisation des messages
78 c    remarque : on doit faire qqe chose pour prevenir des cas ou le
79 c               numero de l'unite logique ou de la langue serait nul.
80 c====
81 c
82       if ( dejavu ) then
83         ulimpr = ulsort
84       else
85         call gusost ( ulimpr )
86       endif
87 c
88       if ( langue.le.0 ) then
89         lgimpr = 1
90       else
91         lgimpr = langue
92       endif
93 c
94 #include "impr01.h"
95 c
96 #ifdef _DEBUG_HOMARD_
97       write (ulimpr,texte(lgimpr,1)) nompro
98 #endif
99 c
100       texte(1,10) = '(''Le numero d''''unite logique '',i2,'' voulu'')'
101       texte(1,4) =
102      >'(''pour les sorties GM n''''a pas le bon statut GU.'')'
103 c
104       texte(2,10) = '(''The logical unit # '',i2,'' wanted for'')'
105       texte(2,4) = '(''GM messages has not the right status in GU.'')'
106 c
107 c====
108 c 2. verification de la validite du numero. il faut que le statut soit :
109 c    2 : Sortie standard (sequentiel formate)
110 c    3 : Ouvert en acces sequentiel formate
111 c====
112 c
113       imprim = .false.
114       call guinfu ( ulmess, codret, imprim )
115 c
116       if ( codret.ne.2 .and. codret.ne.3 ) then
117 c
118         write (ulimpr,texte(lgimpr,1)) nompro
119         write (ulimpr,texte(lgimpr,10)) ulmess
120         write (ulimpr,texte(lgimpr,4))
121 c
122         guimp = 1
123         gmimp = 1
124         raison = 1
125         call ugstop(nompro,ulimpr,guimp, gmimp, raison)
126 c
127       endif
128 c
129 c====
130 c 3. archivage du numero
131 c====
132 c
133       ulsort = ulmess
134 c
135       dejavu = .true.
136 c
137       end