The TELEMAC-MASCARET system  trunk
nomvar_khione.f
Go to the documentation of this file.
1 ! ************************
2  SUBROUTINE nomvar_khione
3 ! ************************
4 !
5  &(texte,textpr,mnemo,nadvar,names_advar)
6 !
7 !***********************************************************************
8 ! KHIONE
9 !***********************************************************************
10 !
11 !brief GIVES THE VARIABLE NAMES FOR THE RESULTS AND GEOMETRY
12 !+ FILES (IN TEXTE) AND FOR THE PREVIOUS COMPUTATION
13 !+ RESULTS FILE (IN TEXTPR).
14 !+
15 !+ TEXTE AND TEXTPR ARE GENERALLY EQUAL EXCEPT IF THE
16 !+ PREVIOUS COMPUTATION COMES FROM ANOTHER SOFTWARE.
17 !
18 !history F.SOUILLE (EDF)
19 !+ 30/09/2019
20 !+ V8P0
21 !+ Added new outputs
22 !
23 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24 !| MNEMO |<--| MNEMONIC FOR 'VARIABLES FOR GRAPHIC OUTPUTS'
25 !| NADVAR |-->| NUMBER OF VARIABLES FOR AUTOMATIC DIFFERENTIATION
26 !| NAMES_ADVAR |-->| NAMES OF VARIABLES FOR AUTOMATIC DIFFERENTIATION
27 !| TEXTE |<--| SEE ABOVE
28 !| TEXTPR |<--| SEE ABOVE
29 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30 !
33  IMPLICIT NONE
34 !
35 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
36 !
37  INTEGER, INTENT(IN) :: NADVAR
38  CHARACTER(LEN=32), INTENT(INOUT) :: TEXTE(*),TEXTPR(*)
39  CHARACTER(LEN=8), INTENT(INOUT) :: MNEMO(*)
40  CHARACTER(LEN=32), INTENT(IN) :: NAMES_ADVAR(*)
41 !
42 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
43 !
44  CHARACTER(LEN=2) CHAR2
45  INTEGER I,ILAST,INEXT
46 !
47 !-----------------------------------------------------------------------
48 !
49 ! ENGLISH
50 !
51  IF(lng.EQ.lng_en) THEN
52 !
53  texte(1 ) = 'SOLRAD CLEAR SKY[SI] '
54  texte(2 ) = 'SOLRAD CLOUDY [SI] '
55  texte(3 ) = 'NET SOLRAD [SI] '
56  texte(4 ) = 'EFFECTIVE SOLRAD[SI] '
57  texte(5 ) = 'EVAPO HEAT FLUX [SI] '
58  texte(6 ) = 'CONDUC HEAT FLUX[SI] '
59  texte(7 ) = 'PRECIP HEAT FLUX[SI] '
60  texte(8 ) = 'FRAZIL THETA0 [SI] '
61  texte(9 ) = 'FRAZIL THETA1 [SI] '
62  texte(10) = 'REENTRAINMENT [SI] '
63  texte(11) = 'SETTLING VEL. [SI] '
64  texte(12) = 'SOLID ICE CONC. [SI] ' ! ANFEM
65  texte(13) = 'SOLID ICE THICK.[SI] ' ! THIFEMS
66  texte(14) = 'FRAZIL THICKNESS[SI] ' ! THIFEMF
67  texte(15) = 'UNDER ICE THICK.[SI] ' ! HUN
68  texte(16) = 'EQUIV. SURFACE M '
69  texte(17) = 'TOP ICE COVER M '
70  texte(18) = 'BOTTOM ICE COVERM '
71  texte(19) = 'TOTAL ICE THICK.M '
72  texte(20) = 'CHARACTERISTICS ' ! ICETYPE
73  texte(21) = 'PARTICLES NUMBER '
74  texte(22) = 'TOTAL CONCENTRATION OF FRAZIL '
75 !
76 ! TEXTPR IS USED TO READ PREVIOUS COMPUTATION FILES.
77 ! IN GENERAL TEXTPR=TEXTE BUT YOU CAN FOLLOW UP A COMPUTATION
78 ! FROM ANOTHER CODE WITH DIFFERENT VARIABLE NAMES, WHICH MUST
79 ! BE GIVEN HERE:
80 !
81  textpr(1 ) = 'SOLRAD CLEAR SKY[SI] '
82  textpr(2 ) = 'SOLRAD CLOUDY [SI] '
83  textpr(3 ) = 'NET SOLRAD [SI] '
84  textpr(4 ) = 'EFFECTIVE SOLRAD[SI] '
85  textpr(5 ) = 'EVAPO HEAT FLUX [SI] '
86  textpr(6 ) = 'CONDUC HEAT FLUX[SI] '
87  textpr(7 ) = 'PRECIP HEAT FLUX[SI] '
88  textpr(8 ) = 'FRAZIL THETA0 [SI] '
89  textpr(9 ) = 'FRAZIL THETA1 [SI] '
90  textpr(10) = 'REENTRAINMENT [SI] '
91  textpr(11) = 'SETTLING VEL. [SI] '
92  textpr(12) = 'SOLID ICE CONC. [SI] '
93  textpr(13) = 'SOLID ICE THICK.[SI] '
94  textpr(14) = 'FRAZIL THICKNESS[SI] '
95  textpr(15) = 'UNDER ICE THICK.[SI] '
96  textpr(16) = 'EQUIV. SURFACE M '
97  textpr(17) = 'TOP ICE COVER M '
98  textpr(18) = 'BOTTOM ICE COVERM '
99  textpr(19) = 'TOTAL ICE THICK.M '
100  textpr(20) = 'CHARACTERISTICS '
101  textpr(21) = 'PARTICLES NUMBER '
102  textpr(22) = 'TOTAL CONCENTRATION OF FRAZIL '
103 !
104 !-----------------------------------------------------------------------
105 !
106 ! FRANCAIS OU AUTRE
107 !
108  ELSE
109  textpr(1 ) = 'SOLRAD CLEAR SKY[SI] '
110  textpr(2 ) = 'SOLRAD CLOUDY [SI] '
111  textpr(3 ) = 'NET SOLRAD [SI] '
112  textpr(4 ) = 'EFFECTIVE SOLRAD[SI] '
113  textpr(5 ) = 'EVAPO HEAT FLUX [SI] '
114  textpr(6 ) = 'CONDUC HEAT FLUX[SI] '
115  textpr(7 ) = 'PRECIP HEAT FLUX[SI] '
116  textpr(8 ) = 'FRAZIL THETA0 [SI] '
117  textpr(9 ) = 'FRAZIL THETA1 [SI] '
118  textpr(10) = 'REENTRAINMENT [SI] '
119  textpr(11) = 'SETTLING VEL. [SI] '
120  textpr(12) = 'SOLID ICE CONC. [SI] '
121  textpr(13) = 'SOLID ICE THICK.[SI] '
122  textpr(14) = 'FRAZIL THICKNESS[SI] '
123  textpr(15) = 'UNDER ICE THICK.[SI] '
124  textpr(16) = 'EQUIV. SURFACE M '
125  textpr(17) = 'TOP ICE COVER M '
126  textpr(18) = 'BOTTOM ICE COVERM '
127  textpr(19) = 'TOTAL ICE THICK.M '
128  textpr(20) = 'CHARACTERISTICS '
129  textpr(21) = 'PARTICLES NUMBER '
130  textpr(22) = 'TOTAL CONCENTRATION OF FRAZIL '
131 !
132 ! TEXTPR SERT A LA LECTURE DES FICHIERS DE CALCULS PRECEDENTS
133 ! A PRIORI TEXTPR=TEXTE MAIS ON PEUT ESSAYER DE FAIRE UNE SUITE
134 ! DE CALCUL A PARTIR D'UN AUTRE CODE.
135 !
136  textpr(1 ) = 'SOLRAD CLEAR SKY[SI] '
137  textpr(2 ) = 'SOLRAD CLOUDY [SI] '
138  textpr(3 ) = 'NET SOLRAD [SI] '
139  textpr(4 ) = 'EFFECTIVE SOLRAD[SI] '
140  textpr(5 ) = 'EVAPO HEAT FLUX [SI] '
141  textpr(6 ) = 'CONDUC HEAT FLUX[SI] '
142  textpr(7 ) = 'PRECIP HEAT FLUX[SI] '
143  textpr(8 ) = 'FRAZIL THETA0 [SI] '
144  textpr(9 ) = 'FRAZIL THETA1 [SI] '
145  textpr(10) = 'REENTRAINMENT [SI] '
146  textpr(11) = 'SETTLING VEL. [SI] '
147  textpr(12) = 'SOLID ICE CONC. [SI] '
148  textpr(13) = 'SOLID ICE THICK.[SI] '
149  textpr(14) = 'FRAZIL THICKNESS[SI] '
150  textpr(15) = 'UNDER ICE THICK.[SI] '
151  textpr(16) = 'EQUIV. SURFACE M '
152  textpr(17) = 'TOP ICE COVER M '
153  textpr(18) = 'BOTTOM ICE COVERM '
154  textpr(19) = 'TOTAL ICE THICK.M '
155  textpr(20) = 'CHARACTERISTICS '
156  textpr(21) = 'PARTICLES NUMBER '
157  textpr(22) = 'TOTAL CONCENTRATION OF FRAZIL '
158 !
159  ENDIF
160 !
161 !-----------------------------------------------------------------------
162 !
163 ! ALIASES FOR THE VARIABLES IN THE STEERING FILE
164 !
165 ! THERMAL BUDGET: SOLAR RADIATION UNDER CLEAR SKY
166  mnemo(1) = 'PHCL '
167 ! THERMAL BUDGET: SOLAR RADIATION UNDER CLOUDY SKY
168  mnemo(2) = 'PHRI '
169 ! THERMAL BUDGET: NET SOLAR RADIATION AFTER REFLECTION
170  mnemo(3) = 'PHPS '
171 ! THERMAL BUDGET: EFFECTIVE BACK RADIATION
172  mnemo(4) = 'PHIB '
173 ! THERMAL BUDGET: EVAPORATION HEAT FLUX
174  mnemo(5) = 'PHIE '
175 ! THERMAL BUDGET: CONDUCTIVITY HEAT FLUX
176  mnemo(6) = 'PHIH '
177 ! PRECIPITATION HEAT FLUX
178  mnemo(7) = 'PHIP '
179 ! FEEZE-UP AND ICE GROWTH:
180  mnemo(8) = 'COV_TH0 '
181 ! FEEZE-UP AND ICE GROWTH:
182  mnemo(9) = 'COV_TH1 '
183 ! FEEZE-UP AND ICE GROWTH:
184  mnemo(10) = 'COV_BT1 '
185 ! FEEZE-UP AND ICE GROWTH:
186  mnemo(11) = 'COV_VBB '
187 ! ICE CONCENTRATION AS COMPUTED FROM SURFACE ICE PARTICLES
188  mnemo(12) = 'COV_FC '
189 ! FEEZE-UP AND ICE GROWTH: SOLID ICE COVER THICKNESS
190  mnemo(13) = 'COV_THS '
191 ! FEEZE-UP AND ICE GROWTH: FRAZIL ICE COVER THICKNESS
192  mnemo(14) = 'COV_THF '
193 ! ICE COVER: UNDER ICE THICKNESS
194  mnemo(15) = 'COV_THUN'
195 ! EQUIVALENT SURFACE ELEVATION
196  mnemo(16) = 'COV_EQ '
197 ! TOP OF THE ICE COVER
198  mnemo(17) = 'COV_ET '
199 ! BOTTOM OF THE ICE COVER (ALSO THE FREE SURFACE))
200  mnemo(18) = 'COV_EB '
201 ! TOTAL ICE THICKNESS
202  mnemo(19) = 'COV_THT '
203 ! ICE CHARACTERISATION
204 ! (PRIMARY NUMBERS FOR COMBINED CHARACTERISATIONS)
205 ! 1 - OPEN WATER
206 ! 2 - STATIC BODER ICE
207  mnemo(20) = 'ICETYPE '
208 ! TOTAL ICE THICKNESS
209  mnemo(21) = 'NTOT '
210 ! TOTAL ICE THICKNESS
211  mnemo(22) = 'CTOT '
212 !
213 ! THE LAST RANK
214 !
215  ilast = 22
216  inext = ilast+1
217 !
218 !-----------------------------------------------------------------------
219 !
220 ! FRAZIL CONCENTRATIONS
221 !
222  IF(thermal_budget) THEN
223  DO i=1,nc_fra
224  WRITE(char2,'(I2)') i
225  texte(ilast+i) = 'FRAZIL CLASS '
226  & //adjustl(char2)//''
227  textpr(ilast+i) = 'FRAZIL CLASS '
228  & //adjustl(char2)//''
229  mnemo(ilast+i) = 'F'//adjustl(char2)//' '
230  texte(ilast+i+nc_fra)='NB PARTICLE '
231  & //adjustl(char2)//' '
232  textpr(ilast+i+nc_fra) = 'NB PARTICLE '
233  & //adjustl(char2)//' '
234  mnemo(ilast+i+nc_fra) = 'N'//adjustl(char2)//' '
235  ENDDO
236  texte(ilast+2*nc_fra+1) = 'TEMPERATURE '
237  textpr(ilast+2*nc_fra+1) = 'TEMPERATURE '
238  mnemo(ilast+2*nc_fra+1) = 'TEMP '
239  IF(salinity) THEN
240  texte(ilast+2*nc_fra+2) = 'SALINITY '
241  textpr(ilast+2*nc_fra+2) = 'SALINITY '
242  mnemo(ilast+2*nc_fra+2) = 'SAL '
243  ENDIF
244  ENDIF
245 
246 
247 
248 !
249 !-----------------------------------------------------------------------
250 !
251 ! DIFFERENTIATORS
252 !
253  IF(nadvar.GT.0) THEN
254  DO i=1,nadvar
255  texte(ilast+i) = names_advar(i)
256  textpr(ilast+i) = names_advar(i)
257  WRITE(char2,'(I2)') i
258  mnemo(ilast+i) = 'AD'//adjustl(char2)//' '
259  ENDDO
260  ENDIF
261 !
262 !-----------------------------------------------------------------------
263 !
264  RETURN
265  END
integer, parameter lng_en
subroutine nomvar_khione(TEXTE, TEXTPR, MNEMO, NADVAR, NAMES_ADVAR)
Definition: nomvar_khione.f:7