The TELEMAC-MASCARET system  trunk
nomvar_2d_in_3d.f
Go to the documentation of this file.
1 ! **************************
2  SUBROUTINE nomvar_2d_in_3d
3 ! **************************
4 !
5  &(texte,textpr,mnemo,ntrac,maxtra,
6  & nametrac,n_names_priv2d,names_prive2d)
7 !
8 !***********************************************************************
9 ! TELEMAC3D V8P2
10 !***********************************************************************
11 !
12 !brief GIVES THE VARIABLE NAMES FOR THE RESULTS AND GEOMETRY
13 !+ FILES (IN TEXTE) AND FOR THE PREVIOUS COMPUTATION
14 !+ RESULTS FILE (IN TEXTPR).
15 !
16 !note TEXTE AND TEXTPR ARE GENERALLY THE SAME EXCEPT IF THE
17 !+ PREVIOUS COMPUTATION COMES FROM ANOTHER SOFTWARE.
18 !
19 !history J-M HERVOUET (LNH)
20 !+ 15/09/06
21 !+ V5P7
22 !+
23 !
24 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
25 !+ 13/07/2010
26 !+ V6P0
27 !+ Translation of French comments within the FORTRAN sources into
28 !+ English comments
29 !
30 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
31 !+ 21/08/2010
32 !+ V6P0
33 !+ Creation of DOXYGEN tags for automated documentation and
34 !+ cross-referencing of the FORTRAN sources
35 !
36 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37 !| MAXTRA |-->| MAXIMUM NUMBER OF TRACERS
38 !| MNEMO |<->| MNEMOTECHNIC NAME
39 !| NAMETRAC |-->| NAME OF TRACERS
40 !| NTRAC |-->| NUMBER OF ACTIVE TRACERS
41 !| TEXTE |<->| SEE ABOVE
42 !| TEXTPR |<->| SEE ABOVE
43 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
44 !
46  & s3d_mixte,maxvar,maxva3,
47  & nvar_hyd,adr_trac_2d
48 !
50  IMPLICIT NONE
51 !
52 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
53 !
54  INTEGER , INTENT(IN) :: NTRAC,N_NAMES_PRIV2D,MAXTRA
55  CHARACTER(LEN=32), INTENT(INOUT) :: TEXTE(*),TEXTPR(*)
56  CHARACTER(LEN=8) , INTENT(INOUT) :: MNEMO(*)
57  CHARACTER(LEN=32), INTENT(IN) :: NAMETRAC(maxtra)
58  CHARACTER(LEN=32), INTENT(IN) :: NAMES_PRIVE2D(4)
59 !
60 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
61 !
62 
63  CHARACTER(LEN=2) CHAR2
64  CHARACTER(LEN=32) TEXTE_ES(s3d_nlaymax)
65  CHARACTER(LEN=8) MNEMO_ES(s3d_nlaymax)
66  CHARACTER(LEN=2) LAY
67 !
68  INTEGER I,NEXT,K
69 !
70 !-----------------------------------------------------------------------
71 !
72 ! ENGLISH
73 !
74  IF(lng.EQ.lng_en) THEN
75 !
76  texte(1 ) = 'VELOCITY U M/S '
77  texte(2 ) = 'VELOCITY V M/S '
78  texte(3 ) = 'CELERITY M/S '
79  texte(4 ) = 'WATER DEPTH M '
80  texte(5 ) = 'FREE SURFACE M '
81  texte(6 ) = 'BOTTOM M '
82  texte(7 ) = 'FROUDE NUMBER '
83  texte(8 ) = 'SCALAR FLOWRATE M2/S '
84  texte(9 ) = 'TRACER '
85  texte(10) = 'TURBULENT ENERG.JOULE/KG '
86  texte(11) = 'DISSIPATION WATT/KG '
87  texte(12) = 'VISCOSITY M2/S '
88  texte(13) = 'FLOWRATE ALONG XM2/S '
89  texte(14) = 'FLOWRATE ALONG YM2/S '
90  texte(15) = 'SCALAR VELOCITY M/S '
91  texte(16) = 'WIND ALONG X M/S '
92  texte(17) = 'WIND ALONG Y M/S '
93  texte(18) = 'AIR PRESSURE PASCAL '
94  texte(19) = 'BOTTOM FRICTION '
95  texte(20) = 'DRIFT ALONG X M '
96  texte(21) = 'DRIFT ALONG Y M '
97  texte(22) = 'COURANT NUMBER '
98  texte(23) = 'RIGID BED M '
99  texte(24) = 'BED THICKNESS M '
100  texte(25) = 'EROSION FLUX KG/M2/S '
101  texte(26) = 'DEPOSITION FLUX KG/M2/S '
102  texte(27) = 'PRIVE 1 ?? '
103  texte(28) = 'PRIVE 2 ?? '
104  texte(29) = 'PRIVE 3 ?? '
105  texte(30) = 'PRIVE 4 ?? '
106  texte(31) = 'FRICTION VELOCITM/S '
107  texte(32) = 'SOLID DISCHARGE M2/S '
108  texte(33) = 'SOLID DIS IN X M2/S '
109  texte(34) = 'SOLID DIS IN Y M2/S '
110  texte(35) = 'HIGH WATER MARK M '
111  texte(36) = 'HIGH WATER TIME S '
112  texte(37) = 'BED EVOLUTION M '
113  texte(38) = 'AIR TEMPERATURE DEGREE C '
114  texte(39) = 'U SURFACE M/S '
115  texte(40) = 'V SURFACE M/S '
116  texte(41) = 'W SURFACE M/S '
117  texte(42) = 'M SURFACE M/S '
118 !
119 ! TEXTPR IS USED TO READ PREVIOUS COMPUTATION FILES.
120 ! IN GENERAL TEXTPR=TEXTE BUT YOU CAN FOLLOW UP A COMPUTATION
121 ! FROM ANOTHER CODE WITH DIFFERENT VARIABLE NAMES, WHICH MUST
122 ! BE GIVEN HERE:
123 !
124  textpr(1 ) = 'VELOCITY U M/S '
125  textpr(2 ) = 'VELOCITY V M/S '
126  textpr(3 ) = 'CELERITY M/S '
127  textpr(4 ) = 'WATER DEPTH M '
128  textpr(5 ) = 'FREE SURFACE M '
129  textpr(6 ) = 'BOTTOM M '
130  textpr(7 ) = 'FROUDE NUMBER '
131  textpr(8 ) = 'SCALAR FLOWRATE M2/S '
132  textpr(9 ) = 'TRACER '
133  textpr(10) = 'TURBULENT ENERG.JOULE/KG '
134  textpr(11) = 'DISSIPATION WATT/KG '
135  textpr(12) = 'VISCOSITY M2/S '
136  textpr(13) = 'FLOWRATE ALONG XM2/S '
137  textpr(14) = 'FLOWRATE ALONG YM2/S '
138  textpr(15) = 'SCALAR VELOCITY M/S '
139  textpr(16) = 'WIND ALONG X M/S '
140  textpr(17) = 'WIND ALONG Y M/S '
141  textpr(18) = 'AIR PRESSURE PASCAL '
142  textpr(19) = 'BOTTOM FRICTION '
143  textpr(20) = 'DRIFT ALONG X M '
144  textpr(21) = 'DRIFT ALONG Y M '
145  textpr(22) = 'COURANT NUMBER '
146  textpr(23) = 'RIGID BED M '
147  textpr(24) = 'BED THICKNESS M '
148  textpr(25) = 'EROSION FLUX KG/M2/S '
149  textpr(26) = 'DEPOSITION FLUX KG/M2/S '
150  textpr(27) = 'PRIVE 1 ?? '
151  textpr(28) = 'PRIVE 2 ?? '
152  textpr(29) = 'PRIVE 3 ?? '
153  textpr(30) = 'PRIVE 4 ?? '
154  textpr(31) = 'FRICTION VELOCITM/S '
155  textpr(32) = 'SOLID DISCHARGE M2/S '
156  textpr(33) = 'SOLID DIS IN X M2/S '
157  textpr(34) = 'SOLID DIS IN Y M2/S '
158  textpr(35) = 'HIGH WATER MARK M '
159  textpr(36) = 'HIGH WATER TIME S '
160  textpr(37) = 'BED EVOLUTION M '
161  textpr(38) = 'AIR TEMPERATURE DEGREE C '
162  textpr(39) = 'U SURFACE M/S '
163  textpr(40) = 'V SURFACE M/S '
164  textpr(41) = 'W SURFACE M/S '
165  textpr(42) = 'M SURFACE M/S '
166 !
167 !-----------------------------------------------------------------------
168 !
169 ! FRANCAIS OU AUTRE
170 !
171  ELSE
172 !
173  texte(1 ) = 'VITESSE U M/S '
174  texte(2 ) = 'VITESSE V M/S '
175  texte(3 ) = 'CELERITE M/S '
176  texte(4 ) = 'HAUTEUR D''EAU M '
177  texte(5 ) = 'SURFACE LIBRE M '
178  texte(6 ) = 'FOND M '
179  texte(7 ) = 'FROUDE '
180  texte(8 ) = 'DEBIT SCALAIRE M2/S '
181  texte(9 ) = 'TRACEUR '
182  texte(10) = 'ENERGIE TURBUL. JOULE/KG '
183  texte(11) = 'DISSIPATION WATT/KG '
184  texte(12) = 'VISCOSITE TURB. M2/S '
185  texte(13) = 'DEBIT SUIVANT X M2/S '
186  texte(14) = 'DEBIT SUIVANT Y M2/S '
187  texte(15) = 'VITESSE SCALAIREM/S '
188  texte(16) = 'VENT X M/S '
189  texte(17) = 'VENT Y M/S '
190  texte(18) = 'PRESSION ATMOS. PASCAL '
191  texte(19) = 'FROTTEMENT '
192  texte(20) = 'DERIVE EN X M '
193  texte(21) = 'DERIVE EN Y M '
194  texte(22) = 'NBRE DE COURANT '
195  texte(23) = 'FOND RIGIDE M '
196  texte(24) = 'EPAISSEUR DU LITM '
197  texte(25) = 'FLUX D''EROSION KG/M2/S '
198  texte(26) = 'FLUX DE DEPOT KG/M2/S '
199  texte(27) = 'PRIVE 1 ?? '
200  texte(28) = 'PRIVE 2 ?? '
201  texte(29) = 'PRIVE 3 ?? '
202  texte(30) = 'PRIVE 4 ?? '
203  texte(31) = 'VITESSE FROT M/S '
204  texte(32) = 'DEBIT SOLIDE M2/S '
205  texte(33) = 'DEBIT SOL EN X M2/S '
206  texte(34) = 'DEBIT SOL EN Y M2/S '
207  texte(35) = 'COTE MAXIMUM M '
208  texte(36) = 'TEMPS COTE MAXI S '
209  texte(37) = 'EVOLUTION FOND M '
210  texte(38) = 'TEMPERATURE AIR DEGRE C '
211  texte(39) = 'U SURFACE M/S '
212  texte(40) = 'V SURFACE M/S '
213  texte(41) = 'W SURFACE M/S '
214  texte(42) = 'M SURFACE M/S '
215 !
216 ! TEXTPR SERT A LA LECTURE DES FICHIERS DE CALCULS PRECEDENTS
217 ! A PRIORI TEXTPR=TEXTE MAIS ON PEUT ESSAYER DE FAIRE UNE SUITE
218 ! DE CALCUL A PARTIR D'UN AUTRE CODE.
219 !
220  textpr(1 ) = 'VITESSE U M/S '
221  textpr(2 ) = 'VITESSE V M/S '
222  textpr(3 ) = 'CELERITE M/S '
223  textpr(4 ) = 'HAUTEUR D''EAU M '
224  textpr(5 ) = 'SURFACE LIBRE M '
225  textpr(6 ) = 'FOND M '
226  textpr(7 ) = 'FROUDE '
227  textpr(8 ) = 'DEBIT SCALAIRE M2/S '
228  textpr(9 ) = 'TRACEUR '
229  textpr(10) = 'ENERGIE TURBUL. JOULE/KG '
230  textpr(11) = 'DISSIPATION WATT/KG '
231  textpr(12) = 'VISCOSITE TURB. M2/S '
232  textpr(13) = 'DEBIT SUIVANT X M2/S '
233  textpr(14) = 'DEBIT SUIVANT Y M2/S '
234  textpr(15) = 'VITESSE SCALAIREM/S '
235  textpr(16) = 'VENT X M/S '
236  textpr(17) = 'VENT Y M/S '
237  textpr(18) = 'PRESSION ATMOS. PASCAL '
238  textpr(19) = 'FROTTEMENT '
239  textpr(20) = 'DERIVE EN X M '
240  textpr(21) = 'DERIVE EN Y M '
241  textpr(22) = 'NBRE DE COURANT '
242  textpr(23) = 'FOND RIGIDE M '
243  textpr(24) = 'EPAISSEUR DU LITM '
244  textpr(25) = 'FLUX D''EROSION KG/M2/S '
245  textpr(26) = 'FLUX DE DEPOT KG/M2/S '
246  textpr(27) = 'PRIVE 1 ?? '
247  textpr(28) = 'PRIVE 2 ?? '
248  textpr(29) = 'PRIVE 3 ?? '
249  textpr(30) = 'PRIVE 4 ?? '
250  textpr(31) = 'VITESSE FROT M/S '
251  textpr(32) = 'DEBIT SOLIDE M2/S '
252  textpr(33) = 'DEBIT SOL EN X M2/S '
253  textpr(34) = 'DEBIT SOL EN Y M2/S '
254  textpr(35) = 'COTE MAXIMUM M '
255  textpr(36) = 'TEMPS COTE MAXI S '
256  textpr(37) = 'EVOLUTION FOND M '
257  textpr(38) = 'TEMPERATURE AIR DEGRE C '
258  textpr(39) = 'U SURFACE M/S '
259  textpr(40) = 'V SURFACE M/S '
260  textpr(41) = 'W SURFACE M/S '
261  textpr(42) = 'M SURFACE M/S '
262 !
263 !-----------------------------------------------------------------------
264 !
265  ENDIF
266 !
267 ! NAMES OF 2D PRIVATE VARIABLES
268 !
269  IF(n_names_priv2d.GT.0) THEN
270  DO i=1,n_names_priv2d
271  texte(26+i) = names_prive2d(i)
272  textpr(26+i) = names_prive2d(i)
273  ENDDO
274  ENDIF
275 !
276 !-----------------------------------------------------------------------
277 !
278 ! ALIASES FOR THE VARIABLES IN THE STEERING FILE
279 !
280 ! UVCHSBFQTKEDIJMXYPWAGLNORZ
281 ! VELOCITY COMPONENT U
282  mnemo(1) = 'U '
283 ! VELOCITY COMPONENT V
284  mnemo(2) = 'V '
285 ! CELERITY
286  mnemo(3) = 'C '
287 ! WATER DEPTH
288  mnemo(4) = 'H '
289 ! FREE SURFACE ELEVATION
290  mnemo(5) = 'S '
291 ! BOTTOM ELEVATION
292  mnemo(6) = 'B '
293 ! FROUDE
294  mnemo(7) = 'F '
295 ! FLOW RATE
296  mnemo(8) = 'Q '
297 ! TRACER
298  mnemo(9) = 'T '
299 ! TURBULENT ENERGY
300  mnemo(10) = 'K '
301 ! DISSIPATION
302  mnemo(11) = 'E '
303 ! TURBULENT VISCOSITY
304  mnemo(12) = 'D '
305 ! FLOWRATE ALONG X
306  mnemo(13) = 'I '
307 ! FLOWRATE ALONG Y
308  mnemo(14) = 'J '
309 ! SPEED
310  mnemo(15) = 'M '
311 ! WIND COMPONENT X
312  mnemo(16) = 'X '
313 ! WIND COMPONENT Y
314  mnemo(17) = 'Y '
315 ! ATMOSPHERIC PRESSURE
316  mnemo(18) = 'P '
317 ! FRICTION
318  mnemo(19) = 'W '
319 ! DRIFT IN X
320  mnemo(20) = 'A '
321 ! DRIFT IN Y
322  mnemo(21) = 'G '
323 ! COURANT NUMBER
324  mnemo(22) = 'L '
325 ! RIGID BOTTOM
326  mnemo(23) = 'RB '
327 ! SEDIMENT LAYER THICKNESS
328  mnemo(24) = 'HD '
329 ! EROSION FLUX
330  mnemo(25) = 'EF '
331 ! DEPOSITION FLUX
332  mnemo(26) = 'DF '
333 ! VARIABLE 27
334  mnemo(27) = 'PRIVE1 '
335 ! VARIABLE 28
336  mnemo(28) = 'PRIVE2 '
337 ! VARIABLE 29
338  mnemo(29) = 'PRIVE3 '
339 ! VARIABLE 30
340  mnemo(30) = 'PRIVE4 '
341 ! FRICTION VELOCITY
342  mnemo(31) = 'US '
343 ! SOLID DISCHARGE
344  mnemo(32) = 'QS '
345 ! SOLID DISCHARGE ALONG X
346  mnemo(33) = 'QSX '
347 ! SOLID DISCHARGE ALONG Y
348  mnemo(34) = 'QSY '
349 ! HIGH WATER MARK
350  mnemo(35) = 'MAXZ '
351 ! HIGH WATER TIME
352  mnemo(36) = 'TMXZ '
353 ! BED EVOLUTION
354  mnemo(37) = 'DZF '
355 ! AIR TEMPERATURE
356  mnemo(38) = 'TAIR '
357 ! VELOCITY COMPONENT U AT THE FREE SURFACE
358  mnemo(39) = 'USURF '
359 ! VELOCITY COMPONENT V AT THE FREE SURFACE
360  mnemo(40) = 'VSURF '
361 ! VELOCITY COMPONENT W AT THE FREE SURFACE
362  mnemo(41) = 'WSURF '
363 ! VELOCITY MAGNITUDE AT THE FREE SURFACE
364  mnemo(42) = 'MSURF '
365 !
366 !-----------------------------------------------------------------------
367 !
368 ! TRACERS
369 !
370  nvar_hyd = 42
371  adr_trac_2d = nvar_hyd + 1
372  next = adr_trac_2d
373 !
374  IF(ntrac.GT.0) THEN
375  DO i=1,ntrac
376  texte(next+i-1) = nametrac(i)
377  WRITE(char2,'(I2)') i
378  mnemo(next+i-1) = 'TA'//adjustl(char2)//' '
379  ENDDO
380  ENDIF
381 !
382  IF(next+ntrac-1.GT.min(maxvar,maxva3)) THEN
383  WRITE(lu,99)
384 99 FORMAT(1x,'NOMVAR_2D_IN_3D : MAXVAR OR MAXVA3 TOO SMALL')
385  ENDIF
386 !
387  IF(ntrac.GT.0) THEN
388  DO i=1,ntrac
389 ! TEXTE(NEXT+NTRAC+I-1) = NAMETRAC(I)
390  WRITE(char2,'(I2)') i
391  texte(next+ntrac+i-1) = 'TRACER SURF '//adjustl(char2)//' '
392  mnemo(next+ntrac+i-1) = 'TASURF'//adjustl(char2)
393  ENDDO
394  ENDIF
395 !
396 ! CV LAYER THICKNESS PRINTOUT
397 !
398  DO k=1,s3d_ncouch
399  IF(k.LT.10) THEN
400  WRITE(lay,'(I1)') k
401  mnemo_es(k) = trim(lay)//'ES '
402  ELSEIF(k.LT.100) THEN
403  WRITE(lay,'(I2)') k
404  mnemo_es(k) = trim(lay)//'ES '
405  ELSE
406  WRITE (lu,*) 'NOMVAR_2D: NOT IMPLEMENTED FOR ',s3d_ncouch
407  WRITE (lu,*) ' LAYERS'
408  CALL plante(1)
409  stop
410  ENDIF
411  texte_es(k)(1:16) = 'LAYER'//lay//' THICKNES'
412  texte_es(k)(17:32) = 'M '
413  ENDDO
414 !
415  next=next+2*ntrac
416 !
417 !
418  DO i=1,s3d_ncouch
419 !
420  texte(next+i-1) = texte_es(i)
421  mnemo(next+i-1) = mnemo_es(i)
422 !
423  ENDDO
424 !
425  next = next + s3d_ncouch
426 !
427  IF(s3d_mixte) THEN
428 ! PERCENTAGE OF MUD IN THE BED
429  IF(lng.EQ.lng_fr) THEN
430  texte(next) = 'POURCENTAGE VASE '
431  ENDIF
432  IF(lng.EQ.lng_en) THEN
433  texte(next) = 'MUD PERCENTAGE '
434  ENDIF
435  mnemo(next) = 'PVSCO '
436 ! PERCENTAGE OF SAND IN THE BED
437  IF(lng.EQ.lng_fr) THEN
438  texte(next+1) = 'POURCENT. SABLE '
439  ENDIF
440  IF(lng.EQ.lng_en) THEN
441  texte(next+1) = 'SAND PERCENTAGE '
442  ENDIF
443  mnemo(next+1) = 'PVSNCO '
444  ENDIF
445 !
446  DO i=adr_trac_2d,min(maxvar,maxva3)
447  textpr(i)=texte(i)
448  ENDDO
449 !
450 !-----------------------------------------------------------------------
451 !
452  RETURN
453  END
integer, parameter lng_en
integer, parameter lng_fr
Y. AUDOUIN & J-M HERVOUET (EDF LAB, LNHE) 09/05/2014 V7P0 First version.
subroutine nomvar_2d_in_3d(TEXTE, TEXTPR, MNEMO, NTRAC, MAXTRA, NAMETRAC, N_NAMES_PRIV2D, NAMES_PRIVE2D)
integer, parameter s3d_nlaymax