Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
! ****************************
SUBROUTINE USER_CONDI3D_TRAC
! ****************************
!
!
!***********************************************************************
! TELEMAC3D
!***********************************************************************
!
! Lecture de la couche TM pour la définition des cc initiales (sinon,
! selon zone géographique).
!
! Modifié par rapport au fichier du CEREMA pour décaler l'indice des
! traceur COH1 et COH2, plus 2 et 3 resp. mais 6 et 7 maintenant.
!
! 7 traceurs simulés : S,T,O2,L,NH4,COH1,COH2
!
! On précise aussi les conditions initiales pour T, O2, L et NH4
! car le couplage avec GAIA efface les valeurs données dans le T3DCAS
!
!***********************************************************************
!brief USER INITIALISES TRACER(S)
!
!history C.-T. PHAM (LNHE)
!+ 24/03/2017
!+ V7P3
!+ Creation from not splitted CONDIM
!+ Called by CONDIM
!
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!
USE BIEF
USE INTERFACE_TELEMAC3D, EX_USER_CONDI3D_TRAC => USER_CONDI3D_TRAC
USE DECLARATIONS_TELEMAC3D
USE DECLARATIONS_GAIA, ONLY: GAI_FILES,GAIGEO
!
IMPLICIT NONE
INTEGER I,NP,J,IBORD
DOUBLE PRECISION flow0
DOUBLE PRECISION TMS(NPOIN2)
CHARACTER*16 NAME
LOGICAL OK
!*** Modif EGIS ********************************************************
!
! Indices à modifier selon modules intégrés
!
INTEGER,PARAMETER :: ICOH1=6,ICOH2=7
!
!*** Fin modif EGIS ****************************************************
! CALL BIEF_ALLVEC(1,SEDMIX,'SEDMIX ',2,1,2,MESH)
! ALLOCATE(W(NPOIN),STAT=ERR)
NAME='TM '
!
!!-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
!
! REMOVE THIS RETURN IF YOU WANT TO ENTER INTO THIS USER SUBROUTINE
! IF (.TRUE.) RETURN
!
!!-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
!
!
!======================================================================!
!
! EXAMPLE 1: DEFAULT CASE: NO STRATIFICATION = ONLY ONE STRATUM 100 M DEEP
print *, 'coucou init compo'
CALL READ_BIN_2D
& (TMS,NAME,0.d0,GAI_FILES(GAIGEO)%LU,
& 'SERAFIN ',NPOIN2,OK,0.d0)
!
!-----------------------------------------------------------------------
!
! INITIALISES TRACERS
!
!*** Modif EGIS ********************************************************
!
! Initialisation de T, O2, L, NH4
CALL OS( 'X=C ', X=TA%ADR(2)%P, C=10.D0)
CALL OS( 'X=C ', X=TA%ADR(3)%P, C=8.D0)
CALL OS( 'X=C ', X=TA%ADR(4)%P, C=0.0D0)
CALL OS( 'X=C ', X=TA%ADR(5)%P, C=0.0D0)
! DO I=1,NTRAC
! CALL OS( 'X=C ', X=TA%ADR(I)%P, C=TRAC0(I))
! write(LU,*) I,TRAC0(I)
! ENDDO
!
! suite CEREMA
!
IF(NTRAC.GT.0) THEN
! DO I=1,1
! CALL OS( 'X=C ', X=TA%ADR(I)%P, C=TRAC0(I))
DO J=1,NPOIN2
DO NP=1,NPLAN
IBORD= (NP-1)*NPOIN2+J
if (Y(J).ge.6520000) then
! maritime
! TA%ADR(2)%P%R(IBORD)= 0.
! TA%ADR(3)%P%R(IBORD) = 0.
TA%ADR(ICOH1)%P%R(IBORD)= 0.
TA%ADR(ICOH2)%P%R(IBORD) = 0.
elseif(X(J).le.380000.and.Y(J).le.6520000) then!
TA%ADR(ICOH1)%P%R(IBORD)= 0.
TA%ADR(ICOH2)%P%R(IBORD)= 0.
elseif (X(J).le.390000 .and.Y(J).ge.6478000) then
! TA%ADR(2)%P%R(IBORD) = 0.75
! TA%ADR(3)%P%R(IBORD) = 0.75
TA%ADR(ICOH1)%P%R(IBORD) = 0.75
TA%ADR(ICOH2)%P%R(IBORD) = 0.75
elseif (X(J).le.420000.and.Y(J).ge.6478000) then
! Dordogne aval
! TA%ADR(2)%P%R(IBORD) = 1.25
! TA%ADR(3)%P%R(IBORD) = 1.25
TA%ADR(ICOH1)%P%R(IBORD) = 1.25
TA%ADR(ICOH2)%P%R(IBORD) = 1.25
elseif (Y(J).ge.6462000.and.Y(J).le.6478000) then
! Dordogne aval
! TA%ADR(2)%P%R(IBORD) = 1.25
! TA%ADR(3)%P%R(IBORD) = 1.25
TA%ADR(ICOH1)%P%R(IBORD) = 1.25
TA%ADR(ICOH2)%P%R(IBORD) = 1.25
elseif (Y(J).le.6462000.and.Y(J).ge.6432000) then
! TA%ADR(2)%P%R(IBORD) = 1.25
! TA%ADR(3)%P%R(IBORD) = 1.25
TA%ADR(ICOH1)%P%R(IBORD) = 1.25
TA%ADR(ICOH2)%P%R(IBORD) = 1.25
else
! ! Garonne amont
! TA%ADR(2)%P%R(IBORD) = 0
! TA%ADR(3)%P%R(IBORD) = 0.
TA%ADR(ICOH1)%P%R(IBORD) = 0
TA%ADR(ICOH2)%P%R(IBORD) = 0.
endif
! print *, 'TMS',TMS(J)
if(TMS(J).gt.200) then
! TA%ADR(2)%P%R(IBORD) = 50
! elseif(TMS(J).gt.10) then
! TA%ADR(2)%P%R(IBORD) = 2.5
! TA%ADR(3)%P%R(IBORD) = 2.5
TA%ADR(ICOH1)%P%R(IBORD) = 2.5
TA%ADR(ICOH2)%P%R(IBORD) = 2.5
! elseif(X(J).le.6520000) then
! TA%ADR(2)%P%R(IBORD) = 5
! else
! TA%ADR(2)%P%R(IBORD) = 0.
endif
ENDDO
ENDDO
! ENDDO
ENDIF
!
!-----------------------------------------------------------------------
!
!
!-----------------------------------------------------------------------
!
!
!-----------------------------------------------------------------------
!
!
!-----------------------------------------------------------------------
!
RETURN
END