19 CHARACTER(LEN=SIS_VAR_LEN),
ALLOCATABLE ::
vname_sis(:)
21 CHARACTER(LEN=SIS_INFO_LEN),
ALLOCATABLE ::
vinfo_sis(:)
29 & (inst, varname, valeur, dim1, ierr , block_index)
32 CHARACTER(LEN=SIS_VAR_LEN),
INTENT(IN) :: VARNAME
33 INTEGER,
INTENT(IN) :: DIM1
34 INTEGER,
OPTIONAL,
INTENT(IN) :: BLOCK_INDEX
35 DOUBLE PRECISION,
INTENT(OUT):: VALEUR(dim1)
36 INTEGER,
INTENT(OUT):: IERR
41 IF(trim(varname).EQ.
'MODEL.FLOWRATEQ')
THEN 42 valeur(1:inst%Q%DIM1) = inst%Q%R(1:inst%Q%DIM1)
43 ELSE IF(trim(varname).EQ.
'MODEL.EVOLUTION')
THEN 44 valeur(1:inst%E%DIM1) = inst%E%R(1:inst%E%DIM1)
45 ELSE IF(trim(varname).EQ.
'MODEL.Z')
THEN 46 valeur(1:inst%Z%DIM1) = inst%Z%R(1:inst%Z%DIM1)
47 ELSE IF(trim(varname).EQ.
'MODEL.BOTTOMELEVATION')
THEN 48 valeur(1:inst%ZF%DIM1) = inst%ZF%R(1:inst%ZF%DIM1)
49 ELSE IF(trim(varname).EQ.
'MODEL.ZF_C')
THEN 50 valeur(1:inst%ZF_C%DIM1) = inst%ZF_C%R(1:inst%ZF_C%DIM1)
51 ELSE IF(trim(varname).EQ.
'MODEL.FLBOR')
THEN 52 valeur(1:inst%FLBOR%DIM1) = inst%FLBOR%R(1:inst%FLBOR%DIM1)
53 ELSE IF(trim(varname).EQ.
'MODEL.FLBOR_SIS')
THEN 54 valeur(1:inst%FLBOR_SIS%DIM1) =
55 & inst%FLBOR_SIS%R(1:inst%FLBOR_SIS%DIM1)
56 ELSE IF(trim(varname).EQ.
'MODEL.X')
THEN 57 valeur(1:inst%MESH%X%DIM1) = inst%MESH%X%R(1:inst%MESH%X%DIM1)
58 ELSE IF(trim(varname).EQ.
'MODEL.Y')
THEN 59 valeur(1:inst%MESH%Y%DIM1) = inst%MESH%Y%R(1:inst%MESH%Y%DIM1)
60 ELSE IF(trim(varname).EQ.
'MODEL.XNEBOR')
THEN 61 valeur(1:inst%MESH%XNEBOR%DIM1) =
62 & inst%MESH%XNEBOR%R(1:inst%MESH%XNEBOR%DIM1)
63 ELSE IF(trim(varname).EQ.
'MODEL.YNEBOR')
THEN 64 valeur(1:inst%MESH%YNEBOR%DIM1) =
65 & inst%MESH%YNEBOR%R(1:inst%MESH%YNEBOR%DIM1)
66 ELSE IF(trim(varname).EQ.
'MODEL.TOB')
THEN 67 valeur(1:inst%TOB%DIM1) = inst%TOB%R(1:inst%TOB%DIM1)
68 ELSE IF(trim(varname).EQ.
'MODEL.CHESTR')
THEN 69 valeur(1:inst%CHESTR%DIM1) = inst%CHESTR%R(1:inst%CHESTR%DIM1)
70 ELSE IF(trim(varname).EQ.
'MODEL.CONCENTRATION')
THEN 71 IF(
PRESENT(block_index))
THEN 72 valeur(1:inst%CS%ADR(block_index)%P%DIM1) =
73 & inst%CS%ADR(block_index)%P%R(1:inst%CS%ADR(block_index)%P%DIM1)
76 err_mess =
'THE BOCK NUMBER IS MISSING FOR'//trim(varname)
78 ELSE IF(trim(varname).EQ.
'MODEL.QBOR')
THEN 79 IF(
PRESENT(block_index))
THEN 80 valeur(1:inst%QBOR%ADR(block_index)%P%DIM1) =
81 & inst%QBOR%ADR(block_index)%P%R(
82 & 1:inst%QBOR%ADR(block_index)%P%DIM1)
85 err_mess =
'THE BOCK NUMBER IS MISSING FOR'//trim(varname)
87 ELSE IF(trim(varname).EQ.
'MODEL.CBOR')
THEN 88 IF(
PRESENT(block_index))
THEN 89 valeur(1:inst%CBOR%ADR(block_index)%P%DIM1) =
90 & inst%CBOR%ADR(block_index)%P%R(
91 & 1:inst%CBOR%ADR(block_index)%P%DIM1)
94 err_mess =
'THE BOCK NUMBER IS MISSING FOR'//trim(varname)
96 ELSE IF(trim(varname).EQ.
'MODEL.EBOR')
THEN 97 IF(
PRESENT(block_index))
THEN 98 valeur(1:inst%EBOR%ADR(block_index)%P%DIM1) =
99 & inst%EBOR%ADR(block_index)%P%R(
100 & 1:inst%EBOR%ADR(block_index)%P%DIM1)
103 err_mess =
'THE BOCK NUMBER IS MISSING FOR'//trim(varname)
108 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
118 & (inst, varname, valeur, dim1, ierr, block_index)
121 CHARACTER(LEN=SIS_VAR_LEN),
INTENT(IN) :: VARNAME
122 INTEGER,
OPTIONAL,
INTENT(IN) :: BLOCK_INDEX
123 INTEGER,
INTENT(IN) :: DIM1
124 DOUBLE PRECISION,
INTENT(IN) :: VALEUR(dim1)
125 INTEGER,
INTENT(OUT) :: IERR
130 IF(trim(varname).EQ.
'MODEL.FLOWRATEQ')
THEN 131 inst%Q%R(1:inst%Q%DIM1) = valeur(1:inst%Q%DIM1)
132 ELSE IF(trim(varname).EQ.
'MODEL.EVOLUTION')
THEN 133 inst%E%R(1:inst%E%DIM1) = valeur(1:inst%E%DIM1)
134 ELSE IF(trim(varname).EQ.
'MODEL.Z')
THEN 135 inst%Z%R(1:inst%Z%DIM1) = valeur(1:inst%Z%DIM1)
136 ELSE IF(trim(varname).EQ.
'MODEL.BOTTOMELEVATION')
THEN 137 inst%ZF%R(1:inst%ZF%DIM1) = valeur(1:inst%ZF%DIM1)
138 ELSE IF(trim(varname).EQ.
'MODEL.ZF_C')
THEN 139 inst%ZF_C%R(1:inst%ZF_C%DIM1) = valeur(1:inst%ZF_C%DIM1)
140 ELSE IF(trim(varname).EQ.
'MODEL.FLBOR')
THEN 141 inst%FLBOR%R(1:inst%FLBOR%DIM1) = valeur(1:inst%FLBOR%DIM1)
142 ELSE IF(trim(varname).EQ.
'MODEL.FLBOR_SIS')
THEN 143 inst%FLBOR_SIS%R(1:inst%FLBOR_SIS%DIM1) =
144 & valeur(1:inst%FLBOR_SIS%DIM1)
145 ELSE IF(trim(varname).EQ.
'MODEL.X')
THEN 146 inst%MESH%X%R(1:inst%MESH%X%DIM1) = valeur(1:inst%MESH%X%DIM1)
147 ELSE IF(trim(varname).EQ.
'MODEL.Y')
THEN 148 inst%MESH%Y%R(1:inst%MESH%Y%DIM1) = valeur(1:inst%MESH%Y%DIM1)
149 ELSE IF(trim(varname).EQ.
'MODEL.XNEBOR')
THEN 150 inst%MESH%XNEBOR%R(1:inst%MESH%XNEBOR%DIM1) =
151 & valeur(1:inst%MESH%XNEBOR%DIM1)
152 ELSE IF(trim(varname).EQ.
'MODEL.YNEBOR')
THEN 153 inst%MESH%YNEBOR%R(1:inst%MESH%YNEBOR%DIM1) =
154 & valeur(1:inst%MESH%YNEBOR%DIM1)
155 ELSE IF(trim(varname).EQ.
'MODEL.TOB')
THEN 156 inst%TOB%R(1:inst%TOB%DIM1) = valeur(1:inst%TOB%DIM1)
157 ELSE IF(trim(varname).EQ.
'MODEL.CHESTR')
THEN 158 inst%CHESTR%R(1:inst%CHESTR%DIM1) = valeur(1:inst%CHESTR%DIM1)
159 ELSE IF(trim(varname).EQ.
'MODEL.CONCENTRATION')
THEN 160 IF(
PRESENT(block_index))
THEN 161 inst%CS%ADR(block_index)%P%R(1:inst%CS%ADR
162 & (block_index)%P%DIM1) =valeur(1:inst%CS%ADR
163 & (block_index)%P%DIM1)
166 err_mess =
'THE BOCK NUMBER IS MISSING FOR'//trim(varname)
168 ELSE IF(trim(varname).EQ.
'MODEL.QBOR')
THEN 169 IF(
PRESENT(block_index))
THEN 170 inst%QBOR%ADR(block_index)%P%R(1:inst%QBOR%ADR
171 & (block_index)%P%DIM1) =valeur(1:inst%QBOR%ADR
172 & (block_index)%P%DIM1)
175 err_mess =
'THE BOCK NUMBER IS MISSING FOR'//trim(varname)
177 ELSE IF(trim(varname).EQ.
'MODEL.CBOR')
THEN 178 IF(
PRESENT(block_index))
THEN 179 inst%CBOR%ADR(block_index)%P%R(1:inst%CBOR%ADR
180 & (block_index)%P%DIM1) = valeur(1:inst%CBOR%ADR
181 & (block_index)%P%DIM1)
184 err_mess =
'THE BOCK NUMBER IS MISSING FOR'//trim(varname)
186 ELSE IF(trim(varname).EQ.
'MODEL.EBOR')
THEN 187 IF(
PRESENT(block_index))
THEN 188 inst%EBOR%ADR(block_index)%P%R(1:inst%EBOR%ADR
189 & (block_index)%P%DIM1) =valeur(1:inst%EBOR%ADR
190 & (block_index)%P%DIM1)
193 err_mess =
'THE BOCK NUMBER IS MISSING FOR'//trim(varname)
198 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
207 & (inst, varname, valeur, dim1, ierr)
210 CHARACTER(LEN=SIS_VAR_LEN),
INTENT(IN) :: VARNAME
211 INTEGER,
INTENT(IN) :: DIM1
212 INTEGER,
INTENT(OUT) :: VALEUR(dim1)
213 INTEGER,
INTENT(OUT) :: IERR
217 IF(trim(varname).EQ.
'MODEL.LIHBOR')
THEN 218 valeur(1:inst%LIHBOR%DIM1) = inst%LIHBOR%I(1:inst%LIHBOR%DIM1)
219 ELSE IF(trim(varname).EQ.
'MODEL.CLU')
THEN 220 valeur(1:inst%CLU%DIM1) = inst%CLU%I(1:inst%CLU%DIM1)
221 ELSE IF(trim(varname).EQ.
'MODEL.CLV')
THEN 222 valeur(1:inst%CLV%DIM1) = inst%CLV%I(1:inst%CLV%DIM1)
223 ELSE IF(trim(varname).EQ.
'MODEL.LIQBOR')
THEN 224 valeur(1:inst%LIQBOR%DIM1) =
225 & inst%LIQBOR%I(1:inst%LIQBOR%DIM1)
226 ELSE IF(trim(varname).EQ.
'MODEL.LICBOR')
THEN 227 valeur(1:inst%LICBOR%DIM1) =
228 & inst%LICBOR%I(1:inst%LICBOR%DIM1)
229 ELSE IF(trim(varname).EQ.
'MODEL.LIEBOR')
THEN 230 valeur(1:inst%LIEBOR%DIM1) =
231 & inst%LIEBOR%I(1:inst%LIEBOR%DIM1)
232 ELSE IF(trim(varname).EQ.
'MODEL.NUMLIQ')
THEN 233 valeur(1:inst%NUMLIQ%DIM1) =
234 & inst%NUMLIQ%I(1:inst%NUMLIQ%DIM1)
235 ELSE IF(trim(varname).EQ.
'MODEL.IKLE')
THEN 236 valeur(1:
SIZE(inst%MESH%IKLE%I)) =
237 & inst%MESH%IKLE%I(1:
SIZE(inst%MESH%IKLE%I))
238 ELSE IF(trim(varname).EQ.
'MODEL.NACHB')
THEN 239 valeur(1:
SIZE(inst%MESH%NACHB%I)) =
240 & inst%MESH%NACHB%I(1:
SIZE(inst%MESH%NACHB%I))
244 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
254 & (inst, varname, valeur, dim1, ierr)
257 CHARACTER(LEN=SIS_VAR_LEN),
INTENT(IN) :: VARNAME
258 INTEGER,
INTENT(IN) :: DIM1
259 INTEGER,
INTENT(IN) :: VALEUR(dim1)
260 INTEGER,
INTENT(OUT) :: IERR
263 IF(trim(varname).EQ.
'MODEL.LIHBOR')
THEN 264 inst%LIHBOR%I(1:inst%LIHBOR%DIM1) = valeur(1:inst%LIHBOR%DIM1)
265 ELSE IF(trim(varname).EQ.
'MODEL.CLU')
THEN 266 inst%CLU%I(1:inst%CLU%DIM1) = valeur(1:inst%CLU%DIM1)
267 ELSE IF(trim(varname).EQ.
'MODEL.CLV')
THEN 268 inst%CLV%I(1:inst%CLV%DIM1) = valeur(1:inst%CLV%DIM1)
269 ELSE IF(trim(varname).EQ.
'MODEL.LIQBOR')
THEN 270 inst%LIQBOR%I(1:inst%LIQBOR%DIM1) = valeur(1:inst%LIQBOR%DIM1)
271 ELSE IF(trim(varname).EQ.
'MODEL.LICBOR')
THEN 272 inst%LICBOR%I(1:inst%LICBOR%DIM1) = valeur(1:inst%LICBOR%DIM1)
273 ELSE IF(trim(varname).EQ.
'MODEL.LIEBOR')
THEN 274 inst%LIEBOR%I(1:inst%LIEBOR%DIM1) = valeur(1:inst%LIEBOR%DIM1)
275 ELSE IF(trim(varname).EQ.
'MODEL.IKLE')
THEN 276 inst%MESH%IKLE%I(1:
SIZE(inst%MESH%IKLE%I)) =
277 & valeur(1:
SIZE(inst%MESH%IKLE%I))
278 ELSE IF(trim(varname).EQ.
'MODEL.NACHB')
THEN 279 inst%MESH%NACHB%I(1:
SIZE(inst%MESH%NACHB%I)) =
280 & valeur(1:
SIZE(inst%MESH%NACHB%I))
284 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
302 & (inst, varname, valeur, index1, index2, index3, ierr)
305 CHARACTER(LEN=SIS_VAR_LEN),
INTENT(IN) :: VARNAME
306 DOUBLE PRECISION,
INTENT(OUT):: VALEUR
307 INTEGER,
INTENT(IN) :: INDEX1
308 INTEGER,
INTENT(IN) :: INDEX2
309 INTEGER,
INTENT(IN) :: INDEX3
310 INTEGER,
INTENT(OUT):: IERR
315 IF(trim(varname).EQ.
'MODEL.FLOWRATEQ')
THEN 316 valeur=inst%Q%R(index1)
317 ELSE IF(trim(varname).EQ.
'MODEL.EVOLUTION')
THEN 318 valeur = inst%E%R(index1)
319 ELSE IF(trim(varname).EQ.
'MODEL.Z')
THEN 320 valeur = inst%Z%R(index1)
321 ELSE IF(trim(varname).EQ.
'MODEL.BOTTOMELEVATION')
THEN 322 valeur = inst%ZF%R(index1)
323 ELSE IF(trim(varname).EQ.
'MODEL.ZF_C')
THEN 324 valeur = inst%ZF_C%R(index1)
325 ELSE IF(trim(varname).EQ.
'MODEL.FLBOR')
THEN 326 valeur = inst%FLBOR%R(index1)
327 ELSE IF(trim(varname).EQ.
'MODEL.FLBOR_SIS')
THEN 328 valeur = inst%FLBOR_SIS%R(index1)
329 ELSE IF(trim(varname).EQ.
'MODEL.X')
THEN 330 valeur = inst%MESH%X%R(index1)
331 ELSE IF(trim(varname).EQ.
'MODEL.Y')
THEN 332 valeur = inst%MESH%Y%R(index1)
333 ELSE IF(trim(varname).EQ.
'MODEL.XNEBOR')
THEN 334 valeur = inst%MESH%XNEBOR%R(index1)
335 ELSE IF(trim(varname).EQ.
'MODEL.YNEBOR')
THEN 336 valeur = inst%MESH%YNEBOR%R(index1)
337 ELSE IF(trim(varname).EQ.
'MODEL.TIMESTEP')
THEN 339 ELSE IF(trim(varname).EQ.
'MODEL.TOB')
THEN 340 valeur = inst%TOB%R(index1)
341 ELSE IF(trim(varname).EQ.
'MODEL.CHESTR')
THEN 342 valeur = inst%CHESTR%R(index1)
343 ELSE IF(trim(varname).EQ.
'MODEL.D50')
THEN 344 valeur = inst%D50(index1)
345 ELSE IF(trim(varname).EQ.
'MODEL.CBOR_CLASSE')
THEN 346 valeur = inst%CBOR_CLASSE(index1)
347 ELSE IF(trim(varname).EQ.
'MODEL.MPM')
THEN 349 ELSE IF(trim(varname).EQ.
'MODEL.PARTHENIADES')
THEN 350 valeur = inst%PARTHENIADES
351 ELSE IF(trim(varname).EQ.
'MODEL.SHIELDS')
THEN 352 valeur = inst%AC(index1)
353 ELSE IF(trim(varname).EQ.
'MODEL.XWC')
THEN 354 valeur = inst%XWC(index1)
355 ELSE IF(trim(varname).EQ.
'MODEL.POROSITY')
THEN 357 ELSE IF(trim(varname).EQ.
'MODEL.KSPRATIO')
THEN 358 valeur = inst%KSPRATIO
359 ELSE IF(trim(varname).EQ.
'MODEL.PHISED')
THEN 361 ELSE IF(trim(varname).EQ.
'MODEL.BETA')
THEN 363 ELSE IF(trim(varname).EQ.
'MODEL.ALPHA')
THEN 365 ELSE IF(trim(varname).EQ.
'MODEL.CONCENTRATION')
THEN 366 valeur = inst%CS%ADR(index1)%P%R(index2)
367 ELSE IF(trim(varname).EQ.
'MODEL.QBOR')
THEN 368 valeur = inst%QBOR%ADR(index1)%P%R(index2)
369 ELSE IF(trim(varname).EQ.
'MODEL.EBOR')
THEN 370 valeur = inst%EBOR%ADR(index1)%P%R(index2)
371 ELSE IF(trim(varname).EQ.
'MODEL.CBOR')
THEN 372 valeur = inst%CBOR%ADR(index1)%P%R(index2)
376 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
395 & (inst, varname, valeur, index1, index2, index3, ierr)
398 CHARACTER(LEN=SIS_VAR_LEN),
INTENT(IN) :: VARNAME
399 DOUBLE PRECISION,
INTENT(IN) :: VALEUR
400 INTEGER,
INTENT(IN) :: INDEX1
401 INTEGER,
INTENT(IN) :: INDEX2
402 INTEGER,
INTENT(IN) :: INDEX3
403 INTEGER,
INTENT(OUT) :: IERR
408 IF(trim(varname).EQ.
'MODEL.FLOWRATEQ')
THEN 409 inst%Q%R(index1) = valeur
410 ELSE IF(trim(varname).EQ.
'MODEL.EVOLUTION')
THEN 411 inst%E%R(index1) = valeur
412 ELSE IF(trim(varname).EQ.
'MODEL.Z')
THEN 413 inst%Z%R(index1) = valeur
414 ELSE IF(trim(varname).EQ.
'MODEL.BOTTOMELEVATION')
THEN 415 inst%ZF%R(index1) = valeur
416 ELSE IF(trim(varname).EQ.
'MODEL.ZF_C')
THEN 417 inst%ZF_C%R(index1) = valeur
418 ELSE IF(trim(varname).EQ.
'MODEL.FLBOR')
THEN 419 inst%FLBOR%R(index1) = valeur
420 ELSE IF(trim(varname).EQ.
'MODEL.FLBOR_SIS')
THEN 421 inst%FLBOR_SIS%R(index1) = valeur
422 ELSE IF(trim(varname).EQ.
'MODEL.X')
THEN 423 inst%MESH%X%R(index1) = valeur
424 ELSE IF(trim(varname).EQ.
'MODEL.Y')
THEN 425 inst%MESH%Y%R(index1) = valeur
426 ELSE IF(trim(varname).EQ.
'MODEL.XNEBOR')
THEN 427 inst%MESH%XNEBOR%R(index1) = valeur
428 ELSE IF(trim(varname).EQ.
'MODEL.YNEBOR')
THEN 429 inst%MESH%YNEBOR%R(index1) = valeur
430 ELSE IF(trim(varname).EQ.
'MODEL.TIMESTEP')
THEN 432 ELSE IF(trim(varname).EQ.
'MODEL.TOB')
THEN 433 inst%TOB%R(index1) = valeur
434 ELSE IF(trim(varname).EQ.
'MODEL.CHESTR')
THEN 435 inst%CHESTR%R(index1) = valeur
436 ELSE IF(trim(varname).EQ.
'MODEL.D50')
THEN 437 inst%D50(index1) = valeur
438 ELSE IF(trim(varname).EQ.
'MODEL.CBOR_CLASSE')
THEN 439 inst%CBOR_CLASSE(index1) = valeur
440 ELSE IF(trim(varname).EQ.
'MODEL.MPM')
THEN 442 inst%MPM_ARAY%R(:) = valeur
443 ELSE IF(trim(varname).EQ.
'MODEL.PARTHENIADES')
THEN 444 inst%PARTHENIADES = valeur
445 ELSE IF(trim(varname).EQ.
'MODEL.SHIELDS')
THEN 446 inst%AC(index1) = valeur
447 ELSE IF(trim(varname).EQ.
'MODEL.XWC')
THEN 448 inst%XWC(index1) = valeur
449 ELSE IF(trim(varname).EQ.
'MODEL.POROSITY')
THEN 451 inst%CSF_SABLE = 1 - valeur
452 ELSE IF(trim(varname).EQ.
'MODEL.KSPRATIO')
THEN 453 inst%KSPRATIO = valeur
454 ELSE IF(trim(varname).EQ.
'MODEL.PHISED')
THEN 456 ELSE IF(trim(varname).EQ.
'MODEL.BETA')
THEN 458 ELSE IF(trim(varname).EQ.
'MODEL.ALPHA')
THEN 460 ELSE IF(trim(varname).EQ.
'MODEL.CONCENTRATION')
THEN 461 inst%CS%ADR(index1)%P%R(index2) = valeur
462 ELSE IF(trim(varname).EQ.
'MODEL.QBOR')
THEN 463 inst%QBOR%ADR(index1)%P%R(index2) = valeur
464 ELSE IF(trim(varname).EQ.
'MODEL.CBOR')
THEN 465 inst%CBOR%ADR(index1)%P%R(index2) = valeur
466 ELSE IF(trim(varname).EQ.
'MODEL.EBOR')
THEN 467 inst%EBOR%ADR(index1)%P%R(index2) = valeur
471 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
489 & (inst, varname, valeur, index1, index2, index3, ierr)
492 CHARACTER(LEN=SIS_VAR_LEN),
INTENT(IN) :: VARNAME
493 INTEGER,
INTENT(OUT) :: VALEUR
494 INTEGER,
INTENT(IN) :: INDEX1
495 INTEGER,
INTENT(IN) :: INDEX2
496 INTEGER,
INTENT(IN) :: INDEX3
497 INTEGER,
INTENT(OUT) :: IERR
501 IF(trim(varname).EQ.
'MODEL.LIHBOR')
THEN 502 valeur = inst%LIHBOR%I(index1)
503 ELSE IF(trim(varname).EQ.
'MODEL.CLU')
THEN 504 valeur = inst%CLU%I(index1)
505 ELSE IF(trim(varname).EQ.
'MODEL.CLV')
THEN 506 valeur = inst%CLV%I(index1)
507 ELSE IF(trim(varname).EQ.
'MODEL.LIQBOR')
THEN 508 valeur = inst%LIQBOR%I(index1)
509 ELSE IF(trim(varname).EQ.
'MODEL.LICBOR')
THEN 510 valeur = inst%LICBOR%I(index1)
511 ELSE IF(trim(varname).EQ.
'MODEL.LIEBOR')
THEN 512 valeur = inst%LIEBOR%I(index1)
513 ELSE IF(trim(varname).EQ.
'MODEL.NUMLIQ')
THEN 514 valeur = inst%NUMLIQ%I(index1)
515 ELSE IF(trim(varname).EQ.
'MODEL.NPOIN')
THEN 516 valeur = inst%MESH%NPOIN
517 ELSE IF(trim(varname).EQ.
'MODEL.NELEM')
THEN 518 valeur = inst%MESH%NELEM
519 ELSE IF(trim(varname).EQ.
'MODEL.NPTFR')
THEN 520 valeur = inst%MESH%NPTFR
521 ELSE IF(trim(varname).EQ.
'MODEL.NELMAX')
THEN 522 valeur = inst%MESH%NELMAX
523 ELSE IF(trim(varname).EQ.
'MODEL.IKLE')
THEN 524 valeur = inst%MESH%IKLE%I((index2-1)*inst%MESH%IKLE%DIM1
526 ELSE IF(trim(varname).EQ.
'MODEL.NACHB')
THEN 527 valeur = inst%MESH%NACHB%I((index2-1)*inst%NBMAXNSHARE
529 ELSE IF(trim(varname).EQ.
'MODEL.NTIMESTEPS')
THEN 531 ELSE IF(trim(varname).EQ.
'MODEL.CURRENTSTEP')
THEN 533 ELSE IF(trim(varname).EQ.
'MODEL.CPL_PERIOD')
THEN 534 valeur = inst%TEL%PERICOU
535 ELSE IF(trim(varname).EQ.
'MODEL.NSICLA')
THEN 540 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
559 & (inst, varname, valeur, index1, index2, index3, ierr)
562 CHARACTER(LEN=SIS_VAR_LEN),
INTENT(IN) :: VARNAME
563 INTEGER,
INTENT(IN) :: VALEUR
564 INTEGER,
INTENT(IN) :: INDEX1
565 INTEGER,
INTENT(IN) :: INDEX2
566 INTEGER,
INTENT(IN) :: INDEX3
567 INTEGER,
INTENT(OUT) :: IERR
570 IF(trim(varname).EQ.
'MODEL.LIHBOR')
THEN 571 inst%LIHBOR%I(index1) = valeur
572 ELSE IF(trim(varname).EQ.
'MODEL.CLU')
THEN 573 inst%CLU%I(index1) = valeur
574 ELSE IF(trim(varname).EQ.
'MODEL.CLV')
THEN 575 inst%CLV%I(index1) = valeur
576 ELSE IF(trim(varname).EQ.
'MODEL.LIQBOR')
THEN 577 inst%LIQBOR%I(index1) = valeur
578 ELSE IF(trim(varname).EQ.
'MODEL.LICBOR')
THEN 579 inst%LICBOR%I(index1) = valeur
580 ELSE IF(trim(varname).EQ.
'MODEL.LIEBOR')
THEN 581 inst%LIEBOR%I(index1) = valeur
582 ELSE IF(trim(varname).EQ.
'MODEL.NTIMESTEPS')
THEN 584 ELSE IF(trim(varname).EQ.
'MODEL.NSICLA')
THEN 589 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
607 & (inst, varname, valeur, valuelen, index1, index2, ierr)
610 CHARACTER(LEN=SIS_VAR_LEN),
INTENT(IN) :: VARNAME
611 INTEGER,
INTENT(IN) :: VALUELEN
612 INTEGER,
INTENT(IN) :: INDEX1
613 INTEGER,
INTENT(IN) :: INDEX2
614 CHARACTER,
INTENT(OUT) :: VALEUR(valuelen)
615 INTEGER,
INTENT(OUT) :: IERR
621 IF(trim(varname).EQ.
'MODEL.RESULTFILE')
THEN 624 valeur(j:j) = inst%SIS_FILES(i)%NAME(j:j)
626 ELSE IF(trim(varname).EQ.
'MODEL.BCFILE')
THEN 629 valeur(j:j) = inst%SIS_FILES(i)%NAME(j:j)
631 ELSE IF(trim(varname).EQ.
'MODEL.GEOMETRYFILE')
THEN 634 valeur(j:j) = inst%SIS_FILES(i)%NAME(j:j)
639 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
657 & (inst, varname, valeur, valuelen, index1, index2, ierr)
660 CHARACTER(LEN=SIS_VAR_LEN),
INTENT(IN) :: VARNAME
661 INTEGER,
INTENT(IN) :: VALUELEN
662 INTEGER,
INTENT(IN) :: INDEX1
663 INTEGER,
INTENT(IN) :: INDEX2
664 CHARACTER,
INTENT(IN) :: VALEUR(valuelen)
665 INTEGER,
INTENT(OUT) :: IERR
670 IF(trim(varname).EQ.
'MODEL.RESULTFILE')
THEN 673 inst%SIS_FILES(i)%NAME(j:j) = valeur(j)
678 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
697 & (inst, varname, valeur, index1, index2, index3, ierr)
700 CHARACTER(LEN=SIS_VAR_LEN),
INTENT(IN) :: VARNAME
701 INTEGER,
INTENT(OUT) :: VALEUR
702 INTEGER,
INTENT(IN) :: INDEX1
703 INTEGER,
INTENT(IN) :: INDEX2
704 INTEGER,
INTENT(IN) :: INDEX3
705 INTEGER,
INTENT(OUT) :: IERR
709 IF(trim(varname).EQ.
'XXXXXX')
THEN 714 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
732 & (inst, varname, valeur, index1, index2, index3, ierr)
735 CHARACTER(LEN=SIS_VAR_LEN),
INTENT(IN) :: VARNAME
736 INTEGER,
INTENT(IN) :: VALEUR
737 INTEGER,
INTENT(IN) :: INDEX1
738 INTEGER,
INTENT(IN) :: INDEX2
739 INTEGER,
INTENT(IN) :: INDEX3
740 INTEGER,
INTENT(OUT) :: IERR
745 IF(trim(varname).EQ.
'XXXXXX')
THEN 750 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
767 & (inst, varname, dim1, dim2, dim3, ierr)
769 CHARACTER(LEN=SIS_VAR_LEN),
INTENT(IN) :: VARNAME
770 INTEGER,
INTENT(OUT) :: DIM1
771 INTEGER,
INTENT(OUT) :: DIM2
772 INTEGER,
INTENT(OUT) :: DIM3
773 INTEGER,
INTENT(OUT) :: IERR
779 IF(trim(varname).EQ.
'MODEL.FLOWRATEQ')
THEN 781 ELSE IF(trim(varname).EQ.
'MODEL.D50')
THEN 782 dim1 =
SIZE(inst%D50)
783 ELSE IF(trim(varname).EQ.
'MODEL.CBOR_CLASSE')
THEN 784 dim1 =
SIZE(inst%CBOR_CLASSE)
785 ELSE IF(trim(varname).EQ.
'MODEL.SHIELDS')
THEN 787 ELSE IF(trim(varname).EQ.
'MODEL.XWC')
THEN 788 dim1 =
SIZE(inst%XWC)
789 ELSE IF(trim(varname).EQ.
'MODEL.EVOLUTION')
THEN 791 ELSE IF(trim(varname).EQ.
'MODEL.Z')
THEN 793 ELSE IF(trim(varname).EQ.
'MODEL.BOTTOMELEVATION')
THEN 795 ELSE IF(trim(varname).EQ.
'MODEL.ZF_C')
THEN 796 dim1 = inst%ZF_C%DIM1
797 ELSE IF(trim(varname).EQ.
'MODEL.FLBOR')
THEN 798 dim1 = inst%FLBOR%DIM1
799 ELSE IF(trim(varname).EQ.
'MODEL.FLBOR_SIS')
THEN 800 dim1 = inst%FLBOR_SIS%DIM1
801 ELSE IF(trim(varname).EQ.
'MODEL.X')
THEN 802 dim1 = inst%MESH%X%DIM1
803 ELSE IF(trim(varname).EQ.
'MODEL.Y')
THEN 804 dim1 = inst%MESH%Y%DIM1
805 ELSE IF(trim(varname).EQ.
'MODEL.XNEBOR')
THEN 806 dim1 = inst%MESH%XNEBOR%DIM1
807 ELSE IF(trim(varname).EQ.
'MODEL.YNEBOR')
THEN 808 dim1 = inst%MESH%YNEBOR%DIM1
809 ELSE IF(trim(varname).EQ.
'MODEL.TOB')
THEN 811 ELSE IF(trim(varname).EQ.
'MODEL.CHESTR')
THEN 812 dim1 = inst%CHESTR%DIM1
813 ELSEIF(trim(varname).EQ.
'MODEL.LIHBOR')
THEN 814 dim1 = inst%LIHBOR%DIM1
815 ELSE IF(trim(varname).EQ.
'MODEL.CLU')
THEN 817 ELSE IF(trim(varname).EQ.
'MODEL.CLV')
THEN 819 ELSE IF(trim(varname).EQ.
'MODEL.LIQBOR')
THEN 820 dim1 = inst%LIQBOR%DIM1
821 ELSE IF(trim(varname).EQ.
'MODEL.LICBOR')
THEN 822 dim1 = inst%LICBOR%DIM1
823 ELSE IF(trim(varname).EQ.
'MODEL.LIEBOR')
THEN 824 dim1 = inst%LIEBOR%DIM1
825 ELSE IF(trim(varname).EQ.
'MODEL.RESULTFILE')
THEN 827 ELSE IF(trim(varname).EQ.
'MODEL.NTIMESTEPS')
THEN 829 ELSE IF(trim(varname).EQ.
'MODEL.PARTHENIADES')
THEN 831 ELSE IF(trim(varname).EQ.
'MODEL.IKLE')
THEN 832 dim1 = inst%MESH%IKLE%DIM2
833 dim2 = inst%MESH%IKLE%DIM1
834 ELSE IF(trim(varname).EQ.
'MODEL.NACHB')
THEN 836 dim2 = inst%NBMAXNSHARE
837 ELSE IF(trim(varname).EQ.
'MODEL.CONCENTRATION')
THEN 839 dim2 = inst%CS%ADR(1)%P%DIM1
840 ELSE IF(trim(varname).EQ.
'MODEL.QBOR')
THEN 842 dim2 = inst%QBOR%ADR(1)%P%DIM1
843 ELSE IF(trim(varname).EQ.
'MODEL.CBOR')
THEN 845 dim2 = inst%CBOR%ADR(1)%P%DIM1
846 ELSE IF(trim(varname).EQ.
'MODEL.EBOR')
THEN 848 dim2 = inst%EBOR%ADR(1)%P%DIM1
852 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
876 & (varname, vartype, readonly, ndim, ient, jent, kent,
877 & getpos, setpos, ierr)
879 CHARACTER(LEN=SIS_VAR_LEN),
INTENT(IN) :: VARNAME
880 CHARACTER(LEN=SIS_TYPE_LEN),
INTENT(OUT) :: VARTYPE
881 LOGICAL,
INTENT(OUT) :: READONLY
882 INTEGER,
INTENT(OUT) :: NDIM
883 INTEGER,
INTENT(OUT) :: IERR
884 INTEGER,
INTENT(OUT) :: IENT
885 INTEGER,
INTENT(OUT) :: JENT
886 INTEGER,
INTENT(OUT) :: KENT
887 INTEGER,
INTENT(OUT) :: GETPOS
888 INTEGER,
INTENT(OUT) :: SETPOS
900 IF(trim(varname).EQ.
'MODEL.FLOWRATEQ')
THEN 904 ELSE IF(trim(varname).EQ.
'MODEL.D50')
THEN 908 ELSE IF(trim(varname).EQ.
'MODEL.CBOR_CLASSE')
THEN 912 ELSE IF(trim(varname).EQ.
'MODEL.SHIELDS')
THEN 916 ELSE IF(trim(varname).EQ.
'MODEL.PARTHENIADES')
THEN 920 ELSE IF(trim(varname).EQ.
'MODEL.XWC')
THEN 924 ELSE IF(trim(varname).EQ.
'MODEL.NTIMESTEPS')
THEN 927 ELSE IF(trim(varname).EQ.
'MODEL.EVOLUTION')
THEN 931 ELSE IF(trim(varname).EQ.
'MODEL.Z')
THEN 936 ELSE IF(trim(varname).EQ.
'MODEL.BOTTOMELEVATION')
THEN 941 ELSE IF(trim(varname).EQ.
'MODEL.ZF_C')
THEN 946 ELSE IF(trim(varname).EQ.
'MODEL.QBOR')
THEN 950 ELSE IF(trim(varname).EQ.
'MODEL.EBOR')
THEN 954 ELSE IF(trim(varname).EQ.
'MODEL.CBOR')
THEN 958 ELSE IF(trim(varname).EQ.
'MODEL.FLBOR')
THEN 962 ELSE IF(trim(varname).EQ.
'MODEL.FLBOR_SIS')
THEN 966 ELSE IF(trim(varname).EQ.
'MODEL.X')
THEN 971 ELSE IF(trim(varname).EQ.
'MODEL.Y')
THEN 976 ELSE IF(trim(varname).EQ.
'MODEL.XNEBOR')
THEN 980 ELSE IF(trim(varname).EQ.
'MODEL.YNEBOR')
THEN 984 ELSE IF(trim(varname).EQ.
'MODEL.TIMESTEP')
THEN 988 ELSE IF(trim(varname).EQ.
'MODEL.TOB')
THEN 992 ELSE IF(trim(varname).EQ.
'MODEL.CHESTR')
THEN 997 ELSEIF(trim(varname).EQ.
'MODEL.LIHBOR')
THEN 1001 ELSE IF(trim(varname).EQ.
'MODEL.CLU')
THEN 1005 ELSE IF(trim(varname).EQ.
'MODEL.CLV')
THEN 1009 ELSE IF(trim(varname).EQ.
'MODEL.LIQBOR')
THEN 1013 ELSE IF(trim(varname).EQ.
'MODEL.LICBOR')
THEN 1017 ELSE IF(trim(varname).EQ.
'MODEL.LIEBOR')
THEN 1021 ELSE IF(trim(varname).EQ.
'MODEL.RESULTFILE')
THEN 1025 ELSE IF(trim(varname).EQ.
'MODEL.IKLE')
THEN 1029 ELSE IF(trim(varname).EQ.
'MODEL.NACHB')
THEN 1035 ELSE IF(trim(varname).EQ.
'MODEL.CONCENTRATION')
THEN 1036 vartype =
'DOUBLE_BLOCK' 1041 ELSE IF(trim(varname).EQ.
'MODEL.NSICLA')
THEN 1050 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
1067 & VARNAME, VARINFO, IERR)
1069 INTEGER,
INTENT(IN) :: I
1070 INTEGER,
INTENT(IN) :: VAR_LEN
1071 INTEGER,
INTENT(IN) :: INFO_LEN
1072 CHARACTER,
INTENT(OUT) :: VARNAME(var_len)
1073 CHARACTER,
INTENT(OUT) :: VARINFO(info_len)
1074 INTEGER,
INTENT(OUT) :: IERR
1098 INTEGER,
INTENT(OUT) :: IERR
1107 IF(ierr.NE.0)
RETURN 1109 IF(ierr.NE.0)
RETURN 1112 vinfo_sis(i) =
'SOLID TRANSPORT FLOWRATE' 1118 vinfo_sis(i) =
'IMPOSED CONCENTRATION IN CASE FILE' 1139 vinfo_sis(i) =
'EVOLUTION DUE TO BEDLOAD' 1142 vinfo_sis(i) =
'BOUNDARY VALUE ON Q FOR EACH BOUNDARY POINT' 1145 vinfo_sis(i) =
'BOUNDARY VALUE ON E FOR EACH BOUNDARY POINT' 1148 vinfo_sis(i) =
'BOUNDARY VALUE ON C FOR EACH BOUNDARY POINT' 1151 vinfo_sis(i) =
'BOUNDARY VALUE ON ZF FOR EACH BOUNDARY POINT' 1157 vinfo_sis(i) =
'X COORDINATES FOR EACH POINT OF THE MESH' 1160 vinfo_sis(i) =
'Y COORDINATES FOR EACH POINT OF THE MESH' 1178 vinfo_sis(i) =
'BOUNDARY TYPE ON H FOR EACH BOUNDARY POINT' 1181 vinfo_sis(i) =
'BOUNDARY TYPE ON U FOR EACH BOUNDARY POINT' 1184 vinfo_sis(i) =
'BOUNDARY TYPE ON V FOR EACH BOUNDARY POINT' 1187 vinfo_sis(i) =
'BOUNDARY TYPE ON Q FOR EACH BOUNDARY POINT' 1190 vinfo_sis(i) =
'BOUNDARY TYPE ON C FOR EACH BOUNDARY POINT' 1193 vinfo_sis(i) =
'BOUNDARY TYPE ON E FOR EACH BOUNDARY POINT' 1196 vinfo_sis(i) =
'LIQUID BOUNDARY NUMBERING' 1199 vinfo_sis(i) =
'NUMBER OF POINT IN THE MESH' 1202 vinfo_sis(i) =
'NUMBER OF ELEMENT IN THE MESH' 1205 vinfo_sis(i) =
'NUMBER OF BOUNDARY POINTS' 1208 vinfo_sis(i) =
'MAXIMUM NUMBER OF ELEMENTS IN THE MESH' 1211 vinfo_sis(i) =
'CONNECTIVITY TABLE OF ELEMENTS AND NODES' 1214 vinfo_sis(i) =
'NUMBERS OF PROC CONTAINING A GIVEN POINT' 1223 vinfo_sis(i) =
'RESULTS FILE OF THE CASE' 1226 vinfo_sis(i) =
'BOUNDARY CONDITIONS FILE OF THE CASE' 1229 vinfo_sis(i) =
'GEOMETRY FILE OF THE CASE' 1232 vinfo_sis(i) =
'CONCENTRATION AT TIME N' 1235 vinfo_sis(i) =
'NUMBER OF SIZE-CLASSES OF BED MATERIAL' subroutine get_boolean_sis_d(INST, VARNAME, VALEUR, INDEX1, INDEX2, INDEX3, IERR)
subroutine get_integer_array_sis_d(INST, VARNAME, VALEUR, DIM1, IERR)
character(len=sis_var_len), dimension(:), allocatable vname_sis
List of variable names.
subroutine set_integer_array_sis_d(INST, VARNAME, VALEUR, DIM1, IERR)
subroutine set_string_sis_d(INST, VARNAME, VALEUR, VALUELEN, INDEX1, INDEX2, IERR)
integer, parameter run_allocation_pos
integer, parameter sis_var_len
Size of the string containing the name of a variable.
integer, parameter sis_info_len
Size of the string containing the information about a variable.
subroutine set_double_sis_d(INST, VARNAME, VALEUR, INDEX1, INDEX2, INDEX3, IERR)
subroutine set_boolean_sis_d(INST, VARNAME, VALEUR, INDEX1, INDEX2, INDEX3, IERR)
subroutine set_integer_sis_d(INST, VARNAME, VALEUR, INDEX1, INDEX2, INDEX3, IERR)
integer, parameter index_block_missing
integer, parameter no_position
subroutine get_double_sis_d(INST, VARNAME, VALEUR, INDEX1, INDEX2, INDEX3, IERR)
subroutine get_var_info_sis_d(I, VAR_LEN, INFO_LEN, VARNAME, VARINFO, IERR)
subroutine set_var_list_sis_d(IERR)
subroutine get_integer_sis_d(INST, VARNAME, VALEUR, INDEX1, INDEX2, INDEX3, IERR)
subroutine get_var_size_sis_d(INST, VARNAME, DIM1, DIM2, DIM3, IERR)
integer, parameter sis_type_len
Size of the string containing the type of a variable.
integer, parameter increase_nb_var_sis_error
subroutine get_string_sis_d(INST, VARNAME, VALEUR, VALUELEN, INDEX1, INDEX2, IERR)
integer, parameter unknown_var_error
subroutine get_double_array_sis_d(INST, VARNAME, VALEUR, DIM1, IERR, BLOCK_INDEX)
character(len=error_mess_len) err_mess
Error message.
subroutine get_var_type_sis_d(VARNAME, VARTYPE, READONLY, NDIM, IENT, JENT, KENT, GETPOS, SETPOS, IERR)
character(len=sis_info_len), dimension(:), allocatable vinfo_sis
List of variable info.
subroutine set_double_array_sis_d(INST, VARNAME, VALEUR, DIM1, IERR, BLOCK_INDEX)
integer, parameter nb_var_sis
The maximum number of variable.