New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
flxrnf_ORCA_R4.h90 in trunk/NEMO/OFF_SRC/SBC – NEMO

source: trunk/NEMO/OFF_SRC/SBC/flxrnf_ORCA_R4.h90 @ 719

Last change on this file since 719 was 719, checked in by ctlod, 16 years ago

get back to the nemo_v2_3 version for trunk

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 54.9 KB
Line 
1   !!----------------------------------------------------------------------
2   !!                    ***  flxrnf_ORCA_R4.h90  ***
3   !!----------------------------------------------------------------------
4
5   !!----------------------------------------------------------------------
6   !!                  OLD ORCA R4 runoff specification
7   !!                      kept here for memory
8   !!                         ( 20/04/2000 )
9   !!----------------------------------------------------------------------
10
11      !!----------------------------------------------------------------------
12      !! * Local declarations
13      INTEGER  :: kt
14      INTEGER  :: jpmois
15      INTEGER  ::   &
16         jpriv,    & ! jpriv : maximum river number
17         jpcoef      ! jpcoef: maximum point number
18      INTEGER, PARAMETER ::   jpmois=12, jpriv=120, jpcoef=150
19
20      INTEGER  ::   ji, jj, jl, jm, jn, jr, jc
21      INTEGER  ::   i15, imois, iman
22      INTEGER  ::   inbp, idbd, idmeom
23      INTEGER  ::   iipt0, iipt1, ijpt0, ijpt1, ii, ij
24      INTEGER  ::   iirnf(jpcoef,jpriv),ijrnf(jpcoef,jpriv)
25      INTEGER  ::   inb(jpriv)
26
27      REAL(wp) ::   zconv, zxy
28      REAL(wp) ::   zrup1,zrup2,zrup3
29      REAL(wp) ::   zrnfm(jpmois, jpriv)
30      REAL(wp) ::   zcoefr(jpi, jpj, 5)
31      CHARACTER (len=20) ::   criver(jpriv)
32
33      REAL(wp) ::   zbilan , zero
34
35      COMMON/zzzrnf/ zrnfm, iirnf, ijrnf, inb
36
37   !!----------------------------------------------------------------------
38   !!   OPA 9.0 , LOCEAN-IPSL  (2005)
39   !!   $Header$
40   !!   This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
41   !!----------------------------------------------------------------------
42
43      ! ====
44      ! DATA
45      ! ====
46
47      zero = 0.0e0
48      IF( kt == nit000 ) THEN
49          criver = "                    "
50          inb = 0
51          iirnf = 0
52          ijrnf = 0
53          zrnfm  = zero
54          runoff = zero
55         
56          ! I NORTH AMERICA
57          ! ---------------
58         
59          ! 1-Saint Lawrence (Canada) 49N30 67W00           R2
60          ! Old=447 km3/year=14165m3/s; CLIPPER=12430m3/s; ratio=1.14
61          ! --> 13975.249m3/s
62          criver(1) = "Saint Lawrence      "
63          inb(1) = 1
64          iirnf(1:1,1) = 57
65          ijrnf(1:1,1) = 55
66          zrnfm(1:jpmois,1) = (/   &
67              11718.,  11971.,  12466.,  14980.,  19257.,  16913.,   &
68              14211.,  13119.,  13367.,  13644.,  13463.,  12594./)
69          ! 2-Hudson River (USA) 41N00 77W00                R1
70          ! Old=12 km3/year=380m3/s; UNESCO(64-83,p255)=408m3/s
71          ! --> 407.416687m3/s
72          criver(2) = "Hudson River        "
73          inb(2) = 1
74          iirnf(1:1,2) = 54
75          ijrnf(1:1,2) = 53
76          zrnfm(1:jpmois,2) = (/   &
77              364.,    404.,    648.,    873.,    593.,    301.,   &
78              205.,    171.,    205.,    290.,    379.,    456./)
79          ! 3-Missisipi and Atchafalaya (USA) 29N 90W       R1
80          ! Old=580 km3/year=18380m3/s; CLIPPER=17599m3/s
81          ! --> 17599.334m3/s
82          criver(3) = "Missisipi           "
83          inb(3) = 1
84          iirnf(1:1,3) = 50
85          ijrnf(1:1,3) = 49
86          zrnfm(1:jpmois,3) = (/   &
87              19260.,  20813.,  23026.,  28160.,  26510.,  19650.,   &
88              14181.,  10676.,   9578.,  10167.,  11699.,  17472./)
89          ! 4-Brazos (USA) 29N58 95W53                      R1
90          ! Old=7 km3/year=222m3/s; UNESCO(65-84, p298)=200m3/s
91          ! --> 199.666656m3/s
92          criver(4) = "Brazos              "
93          inb(4) = 1
94          iirnf(1:1,4) = 48
95          ijrnf(1:1,4) = 49
96          zrnfm(1:jpmois,4) = (/   &
97              165.,    224.,    200.,    266.,    457.,    327.,   &
98              143.,     69.,    102.,    132.,    160.,    151. /)
99          ! 5-Colorado (Mexico) 31N54 114W57                R5
100          ! Old=20 km3/year=634m3/s
101          ! --> 634.m3/s
102          criver(5) = "Colorado            "
103          inb(5) = 1
104          iirnf(1:1,5) = 43
105          ijrnf(1:1,5) = 50
106          zrnfm(1:jpmois,5) = 634.
107          ! 6-Columbia (USA) 45N60 121W17                   R1
108          ! Old=251 km3/year=7954m3/s; UNESCO(65-84, p312)=5368m3/s
109          ! --> 5368.41602m3/s
110          criver(6) = "Columbia            "
111          inb(6) = 1
112          iirnf(1:1,6) = 40
113          ijrnf(1:1,6) = 56
114          zrnfm(1:jpmois,6) = (/   &
115              4752.,    5077.,    5633.,    6075.,    8422.,    9822.,   &
116              6350.,    4112.,    3273.,    3251.,    3548.,    4106. /)
117          ! 7-Fraser (USA) 47N 124W                         R5
118          ! Old=112 km3/year=3550m3/s;not found in UNESCO
119          ! --> 3549.99976m3/s
120          criver(7) = "Fraser              "
121          inb(7) = 1
122          iirnf(1:1,7) = 40
123          ijrnf(1:1,7) = 57
124          zrnfm(1:jpmois,7) = 3550.
125          ! 8-Yukon (USA) 63N00 165W00                      R3
126          ! Old=195 km3/year=6179m3/s; UNESCO(65-77+80-84, p321)=4245; ratio=1.46
127          ! --> 6017.24951m3/s
128          criver(8) = "Yukon               "
129          inb(8) = 1
130          iirnf(1:1,8) = 30
131          ijrnf(1:1,8) = 62
132          zrnfm(1:jpmois,8) = (/   &
133              1459.,    1213.,    1065.,    1100.,    9067.,   17675.,   &
134              10680.,   11271.,    8658.,    5453.,    2649.,    1917./)
135          ! 9-Copper (USA) 61N47 144W45                     R2
136          ! Old=39 km3/year=1236m3/s; UNESCO(65-84, p317)=1052m3/s; ratio=1.18
137          ! --> 1236.25m3/s
138          criver(9) = "Copper              "
139          inb(9) = 1
140          iirnf(1:1,9) = 35
141          ijrnf(1:1,9) = 60
142          zrnfm(1:jpmois,9) = (/   &
143              219.,    195.,    181.,    214.,    904.,   2532.,   &
144              4026.,   3627.,   1632.,    697.,    354.,    254. /)
145          ! 10-Susitna (USA)   62N 150E                     R5
146          ! Old=40 km3/year=1268m3/s
147          ! --> 1268.m3/s
148          criver(10) = "Susitna             "
149          inb(10) = 1
150          iirnf(1:1,10) = 34
151          ijrnf(1:1,10) = 60
152          zrnfm(1:jpmois,10) = 1268.
153          ! 11-McKenzie (Canada) 70N00 135W00               R3
154          ! Old=306 km3/year=9697m3/s; UNESCO(67+72+7479+82-84, p168)=8343m3/s;
155          ! ratio=1.16
156          ! --> 9606.66797m3/s
157          criver(11) = "McKenzie            "
158          inb(11) = 1
159          iirnf(1:1,11) = 35
160          ijrnf(1:1,11) = 66
161          zrnfm(1:jpmois,11) = (/   &
162              3644.,    3400.,    3258.,    3546.,   14188.,   21544.,   &
163              18954.,   15487.,   11284.,   10169.,    5901.,    3905./)
164          ! 12-Kuksokwim (USA) 60N00 ~162W30                R4
165          ! UNESCO(65-84, p318)=1112m3/s (61N87 158E10, Crooked Creek, inland)
166          ! --> 1111.99988m3/s
167          criver(12) = "Kuksokwim           "
168          inb(12) = 1
169          iirnf(1:1,12) = 30
170          ijrnf(1:1,12) = 60
171          zrnfm(1:jpmois,12) = (/   &
172              335.,     308.,     295.,     407.,    2415.,    2027.,   &
173              1917.,   2049.,    1585.,    1072.,     545.,     389./)
174          ! 13-Nelson
175          criver(13) = "Nelson              "
176          inb(13) = 1
177          iirnf(1:1,13) = 51
178          ijrnf(1:1,13) = 65
179          zrnfm(1:jpmois,13) = 0.
180
181          ! Total run-offs(I)=60974.2539m3/s
182
183          ! II SOUTH AMERICA
184          ! -----------------
185          ! 16-Chira (Peru) 4s54 81w08                      R2
186          ! Old=5 km3/year=158m3/s; UNESCO (65-68, p357)=80.9; ratio=1.95
187          ! --> 158.000015m3/s
188          criver(16) = "Chira               "
189          inb(16) = 1
190          iirnf(1:1,16) = 51
191          ijrnf(1:1,16) = 34
192          zrnfm(1:jpmois,16) = (/   &
193              70.,     105.,     564.,     582.,     230.,      94.,   &
194              87.,      47.,      35.,      32.,      29.,      21./)
195          ! 17-Magdalena (Colombia) 11N06 74W51             R2
196          ! Old=237 km3/year=7510m3/s; UNESCO(71-73+76-79, p348)=6973m3/s;
197          ! ratio=1.08
198          ! --> 7451.58301m3/s
199          criver(17) = "Magdelena           "
200          inb(17) = 1
201          iirnf(1:1,17) = 53
202          ijrnf(1:1,17) = 45
203          zrnfm(1:jpmois,17) = (/   &
204              6598.,    4441.,    4087.,    5445.,    7380.,    8067.,   &
205              8509.,    7428.,    7631.,    9296.,   10588.,    9949./)
206          ! 18-Orinoco (Venezuela) 8N37 62W15!              R1
207          ! Old=1100 km3/year=34857m3/s; UNESCO(73-75, p364)=28736m3/s;
208          ! HLA=26371m3/s
209          ! Data from HLA: 8.1N - 63.3W   1925/89
210          ! --> 26371.416
211          criver(18) = "Orinico             "
212          inb(18) = 1
213          iirnf(1:1,18) = 57
214          ijrnf(1:1,18) = 44
215          zrnfm(1:jpmois,18) = (/   &
216              10670.,    7513.,    6344.,    6887.,   13086.,   26699.,   &
217              43938.,   59957.,   57435.,   39951.,   27410.,   16567./)
218          ! 19-Amazon (Brazil) 0S05 50W00                   R1
219          ! Old=6300 km3/year=199634m3/s; CLIPPER=166192m3/s~UNESCO;
220          ! HLA=184806m3/s
221          ! UNESCO data are at Obidos which is far inland and therefore does not
222          ! fully represent the actual discharge
223          ! Data from HLA: 1.5N - 55.3W   1970/96
224          ! --> 184845.484m3/s
225          criver(19) = "Amazon              "
226          inb(19) = 3
227          iirnf(1:3,19) = (/ 60, 60, 60 /)
228          ijrnf(1:3,19) = (/ 39, 40, 41 /)
229          zrnfm(1:jpmois,19) = (/   &
230              152233., 176415., 199941., 225565., 244016., 244861.,   &
231              230711., 203128., 164531., 128486., 118214., 130045. /)
232          ! 20-Sao Francisco (Brazil) 10S30 36W24           R1
233          ! Old=97 km3/year=3074m3/s; UNESCO(77-79, p338)=2645m3/s
234          ! --> 2645.3335m3/s
235          criver(20) = "San Fransisco       "
236          inb(20) = 1
237          iirnf(1:1,20) = 63
238          ijrnf(1:1,20) = 31
239          zrnfm(1:jpmois,20) = (/   &
240              3244.,   4116.,   5139.,   4330.,   2323.,   1800.,     &
241              1587.,   1511.,   1593.,   1740.,   2190.,   2171. /)
242          ! 21-Parana+Uruguay(Arg./Uru.) 34S12 58W18        R1
243          ! Old=470 km3/year=14893m3/s; UNESCO(p323/324)=22263m3/s
244          ! --> 22203.168m3/s
245          criver(21) = "Parana              "
246          inb(21) = 1
247          iirnf(1:1,21) = 58
248          ijrnf(1:1,21) = 24
249          zrnfm(1:jpmois,21) = (/   &
250              24803.,   26836.,   24585.,   21358.,   20041.,   21689.,   &
251              22647.,   20403.,   19627.,   21400.,   21126.,   21923./)
252          ! 22-Negro (Argentina)  41S02  62W47              R2
253          ! Old=30 km3/year=951m3/s; UNESCO(65-79,p330)=765m3/s; ratio=1.24
254          ! --> 907.666687m3/s
255          criver(22) = "Rio Negro           "
256          inb(22) = 1
257          iirnf(1:1,22) = 56
258          ijrnf(1:1,22) = 22
259          zrnfm(1:jpmois,22) = (/   &
260              882.,     587.,     519.,     482.,     623.,     984.,   &
261              1120.,   1294.,    1092.,    1166.,    1105.,    1038./)
262          ! 23- Tocantins :  ~48W00 ~0.5S                   R4
263          ! UNESCO(76-77+80-81, p335)=12167m3/s (station far inland!)
264          ! --> 12173.082m3/s
265          criver(23) = "Tocantins           "
266          inb(23) = 1
267          iirnf(1:1,23) = 60
268          ijrnf(1:1,23) = 38
269          zrnfm(1:jpmois,23) = (/   &
270              15507.,  24855.,  27854.,  24257.,  15860.,   7861.,   &
271              4440.,   3082.,   2728.,   3417.,   5511.,  10705. /)
272
273          ! Total run-offs(II)=256755.75
274          ! Total run-offs(I+II)=317730
275
276          ! III EUROPE
277          ! ----------
278          ! 26-Rhone (France) 43N20 4E50                    R1
279          ! Old=49 km3/year=1553m3/s; UNESCO(65-83, p512)=1229
280          ! --> 1217.16663m3/s
281          criver(26) = "Rhone               "
282          inb(26) = 1
283          iirnf(1:1,26) = 76
284          ijrnf(1:1,26) = 55
285          zrnfm(1:jpmois,26) = (/   &
286              1385.,    1848.,    1568.,    1311.,    1420.,    1191.,   &
287              937.,     796.,     794.,     962.,    1161.,    1233./)
288          ! 27-Po (Italy) 41N10 11E09                       R1
289          ! Old=46 km3/year=1458m3/s; UNESCO(65-84, p527)=1550m3/s
290          ! --> 1550.08337m3/s
291          criver(27) = "Po                  "
292          inb(27) = 1
293          iirnf(1:1,27) = 79
294          ijrnf(1:1,27) = 54
295          zrnfm(1:jpmois,27) = (/   &
296              1304.,    1605.,    1856.,    1549.,    1958.,    1760.,   &
297              1040.,    1007.,    1615.,    1907.,    1772.,    1228./)
298          ! 28-Danube (Roumania) 45N20 29E40                R1
299          ! Old=206 km3/year=6527m3/s; UNESCO(65-84, p544)=7011m3/s
300          ! --> 7011.8335m3/s
301          criver(28) = "Danube              "
302          inb(28) = 1
303          iirnf(1:1,28) = 87
304          ijrnf(1:1,28) = 53
305          zrnfm(1:jpmois,28) = (/   &
306              6625.,    7352.,    7986.,    9279.,    9482.,    8618.,   &
307              7586.,    6001.,    5210.,    4989.,    4921.,    6093./)
308
309          ! 29-Volga
310          criver(29) = "Volga               "
311          inb(29) = 1
312          iirnf(1:1,29) = 4
313          ijrnf(1:1,29) = 56
314          zrnfm(1:jpmois,29) = 0.
315          ! 30-Dniepr
316          criver(30) = "Dniepr+Don          "
317          inb(30)= 2
318          iirnf(1:2,30) = (/ 89, 90 /)
319          ijrnf(1:2,30) = (/ 56, 56 /)
320
321          ! Total run-offs(III)=9779.08301m3/s
322          ! Total run-offs(I+II+III)=327509.094m3/s
323
324          ! IV EURASIAN ARCTIC
325          ! ------------------
326          ! 31-Iana (Russia)      126E40 72N25              R1
327          ! Old=29 km3/year=919m3/s; UNESCO(65-72+74+76-84, p463)=936m3/s
328          ! --> 0m3/s
329          criver(31) = "Iana                "
330          inb(31) = 1
331          iirnf(1:1,31) = 20
332          ijrnf(1:1,31) = 68
333          zrnfm(1:jpmois,31) = (/   &
334              2.,       1.,       0.,       0.,     917.,    3514.,   &
335              2968.,    2329.,    1322.,   178.,      36.,       8./)
336          ! 32-Ob (Russia) 66N45 69E30                      R1
337          ! Old=385 km3/year=12200m3/s; UNESCO(65-84, p478)=12862m3/s
338          ! --> 12861.5m3/s
339          criver(32) = "Ob                  "
340          inb(32) = 1
341          iirnf(1:1,32) = 78
342          ijrnf(1:1,32) = 72
343          zrnfm(1:jpmois,32) = (/   &
344              4977.,    4150.,    3611.,    3590.,   14723.,   33366.,   &
345              30773.,   22785.,   14701.,    9705.,    6078.,    5879./)
346          ! 33-Yenesei (Russia) 71N50 82E40                 R1
347          ! Old=560 km3/year=17745m3/s; UNESCO(65-84, p472)=17462m3/s
348          ! --> 17461.666m3/s
349          criver(33) = "Yenesei             "
350          inb(33) = 1
351          iirnf(1:1,33) = 77
352          ijrnf(1:1,33) = 75
353          zrnfm(1:jpmois,33) = (/   &
354              6659.,    7007.,    6895.,    7089.,   24183.,   74965.,   &
355              25325.,   15940.,   16050.,   12678.,    6741.,    6008./)
356          ! 34-Severnaya Dvina(Russia)64N32 40E30           R5
357          ! Old=106 km3/year=3359m3/s; not in UNESCO data base
358          ! --> 3359.00024m3/s
359          criver(34) = "Severnaya Dvina     "
360          inb(34) = 1
361          iirnf(1:1,34) = 78
362          ijrnf(1:1,34) = 68
363          zrnfm(1:jpmois,34) = 3359.
364          ! 35-Lena (Russia) 72N25 126E40                   R1
365          ! --> 16192.333m3/s
366          criver(35) = "Lena                "
367          inb(35) = 1
368          iirnf(1:1,35) = 20
369          ijrnf(1:1,35) = 68
370          zrnfm(1:jpmois,35) = (/   &
371              2663.,    2095.,    1629.,    1324.,    7203.,   64230.,   &
372              40810.,   28310.,   25995.,   13299.,    3673.,    3077./)
373          ! 36-Kolyma (Russia) 69N30 161E00                 R1
374          ! Old=71 km3/year=2250m3/s; UNESCO(65-84)=2138m3/s
375          ! --> 2138.66675m3/s
376          criver(36) = "Kolyma              "
377          inb(36) = 1
378          iirnf(1:1,36) = 24
379          ijrnf(1:1,36) = 65
380          zrnfm(1:jpmois,36) = (/   &
381              131.,      92.,      76.,      65.,    2576.,    9143.,   &
382              4670.,    3727.,    3226.,    1119.,     630.,     209./)
383          ! 37-Indigirka (russia) 70N48 148E54              R1
384          ! Old=55 km3/year=1743m3/s; UNESCO(65-68+70+72-84)=1622.
385          ! --> 1622.00012m3/s
386          criver(37) = "Indigirka           "
387          inb(37) = 1
388          iirnf(1:1,37) = 23
389          ijrnf(1:1,37) = 66
390          zrnfm(1:jpmois,37) = (/   &
391              32.,      17.,      11.,       7.,     354.,    5629.,   &
392              5210.,    4617.,    2823.,     559.,     142.,      63./)
393          ! 38-Khatanga
394          criver(38) = "Khatanga             "
395          inb(38) = 1
396          iirnf(1:1,38) = 20
397          ijrnf(1:1,38) = 72
398          zrnfm(1:jpmois,38) = 0.
399
400          ! Total run-offs(IV)=40773.6641m3/s
401          ! Total run-offs(I+II+III+IV)=368282.75m3/s
402
403          ! V ASIA
404          ! ------
405          ! 41-Amur (Russia) 52N56 141E10                   R2
406          ! Old=325 km3/year=10299m3/s; UNESCO(65-84, p451)=8792m3/s; ratio=1.17
407          ! --> 10299.332m3/s
408          criver(41) = "Amur                "
409          inb(41) = 1
410          iirnf(1:1,41) = 18
411          ijrnf(1:1,41) = 59
412          zrnfm(1:jpmois,41) = (/   &
413              2108.,    1543.,    1252.,    4088.,   15464.,   17336.,   &
414              16100.,   20801.,   21548.,   15658.,    5188.,    2506./)
415          ! 42-Liaohe (China) 40N40 122E09                  R5
416          ! Old=6 km3/year=190m3/s; not found in UNESCO data base
417          ! --> 189.999985m3/s
418          criver(42) = "Liaohe              "
419          inb(42) = 1
420          iirnf(1:1,42) = 15
421          ijrnf(1:1,42) = 54
422          zrnfm(1:jpmois,42) = 190.
423          ! 43-Daling (China) 40N56 121E43                  R5
424          ! Old=1 km3/year=32m3/s; not found in UNESCO data base
425          ! --> 31.9999962m3/s
426          criver(43) = "Daling              "
427          inb(43) = 1
428          iirnf(1:1,43) = 15
429          ijrnf(1:1,43) = 54
430          zrnfm(1:jpmois,43) = 32.
431          ! 44-Haiho (China) 6N17   1E23
432          ! Old=2 km3/year=64m3/s; not found in UNESCO data base
433          ! --> 63.9999924m3/s
434          criver(44) = "Haiho               "
435          inb(44) = 0
436          iirnf(1:1,44) = 0
437          ijrnf(1:1,44) = 0
438          zrnfm(1:jpmois,44) = 64.
439          ! 45-Yellow/Huangho (China) 37N32 118E19          R2
440          ! Old=49 km3/year=1553m3/s; UNESCO(p371)=1210m3/s; ratio=1.28
441          ! --> 1552.5m3/s
442          criver(45) = "Yellow/Huangho      "
443          inb(45) = 1
444          iirnf(1:1,45) = 13
445          ijrnf(1:1,45) = 51
446          zrnfm(1:jpmois,45) = (/   &
447              697.,     674.,    1282.,    1206.,    1109.,     778.,   &
448              1964.,    3270.,    3668.,    2133.,     978.,     871./)
449          ! 46-Yangtze (China) 31N48 121E10=Changjiang      R2
450          ! Old=900 km3/year=28520m3/s; UNESCO(p372)=25032m3/s; ratio=1.14
451          ! --> 28519.584m3/s
452          criver(46) = "Yangtze             "
453          inb(46) = 1
454          iirnf(1:1,46) = 13
455          ijrnf(1:1,46) = 50
456          zrnfm(1:jpmois,46) = (/   &
457              10994.,   10548.,   13254.,   24097.,   36972.,   47197.,   &
458              53891.,   42070.,   37627.,   30762.,   22046.,   12777./)
459          ! 47-Pearl/Zhujiang (China) 23N36 106E34=Xijiang  R2
460          ! Old=302 km3/year=9570m3/s; UNESCO(76,82, p373)=6987m3/s; ratio=1.37
461          ! --> 9570.75m3/s
462          criver(47) = "Pearl Zhujiang       "
463          inb(47) = 1
464          iirnf(1:1,47) = 12
465          ijrnf(1:1,47) = 48
466          zrnfm(1:jpmois,47) = (/   &
467              2357.,    2415.,    2634.,    6446.,   14246.,   18395.,   &
468              19213.,   17558.,   12312.,    7255.,    5864.,    6154./)
469          ! 48-Red/Hungho (Vietnam) 20N17 106E34            R5
470          ! Old=123 km3/year=3897m3/s; not in UNESCO data base
471          ! --> 3897.m3/s
472          criver(48) = "Red Hungho          "
473          inb(48) = 1
474          iirnf(1:1,48) = 10
475          ijrnf(1:1,48) = 47
476          zrnfm(1:jpmois,48) = 3897.
477          ! 49-Mekong (Vietnam) 10N33 105E24                R5
478          ! Old=470 km3/year=14893m3/s; not in UNESCO data base
479          ! --> 14893.0029m3/s
480          criver(49) = "Mekong              "
481          inb(49) = 1
482          iirnf(1:1,49) =  8
483          ijrnf(1:1,49) = 44
484          zrnfm(1:jpmois,49) = 14893.
485          ! 50-Irrawady (Burma) 15N50  95E06                R5
486          ! Old=428 km3/year=13563m3/s; not in UNESCO data base
487          ! --> 13563.m3/s
488          criver(50) = "Irrawady            "
489          inb(50) = 1
490          iirnf(1:1,50) =  6
491          ijrnf(1:1,50) = 46
492          zrnfm(1:jpmois,50) = 13563.
493          ! 51-Ganges+Brahmaputra (Beng.) 22N00  91E00      R1
494          ! Old=971 km3/year=30769m3/s; UNESCO(69-70+73-75, p367)=31760m3/s
495          ! --> 32147.498m3/s
496          criver(51) = "Ganges              "
497          inb(51) = 2
498          iirnf(1:2,51) = (/  4,  5 /)
499          ijrnf(1:2,51) = (/ 47, 47 /)
500          zrnfm(1:jpmois,51) = (/   &
501              6623.,    6315.,    6432.,    9410.,   17263.,   38302.,   &
502              64688.,   80338.,   84802.,   43387.,   17888.,   10322./)
503          ! 52-Mehandi (India)                              R5
504          ! Old=67 km3/year=2123m3/s; not in UNESCO data base
505          ! --> 0m3/s
506          criver(52) = "Mehandi             "
507          inb(52) = 0
508          iirnf(1:1,52) = 0
509          ijrnf(1:1,52) = 0
510          zrnfm(1:jpmois,52) = 2123.
511          ! 53-Damodar (India)                              R2
512          ! Old=10 km3/year=320m3/s; UNESCO(p386)=173m3/s; ratio=1.85
513          ! --> 432.916656m3/s
514          criver(53) = "Damodar             "
515          inb(53) = 0
516          iirnf(1:1,53) = 0
517          ijrnf(1:1,53) = 0
518          zrnfm(1:jpmois,53) = (/   &
519              51.,      37.,      42.,      49.,      85.,     296.,   &
520              896.,    1390.,    1591.,     542.,     172.,      44./) 
521          ! 54-Godavari (India) 17N00  81E45                R2
522          ! Old=84 km3/year=2662m3/s; UNESCO(p379)=1916m3/s; ratio=1.39
523          ! --> 3670.5m3/s
524          criver(54) = "Godaravi            "
525          inb(54) = 1
526          iirnf(1:1,54) =  3
527          ijrnf(1:1,54) = 46
528          zrnfm(1:jpmois,54) = (/   &
529              988.,     737.,     280.,     219.,     196.,    1691.,   &
530              8063.,   14571.,   11428.,    3953.,    1221.,     699./)
531          ! 55-Indus (Pakistan) 24N20  67E47                R2
532          ! Old=238 km3/year=7542m3/s; UNESCO (76-79, p428)=2396m3/s; ratio=3.15
533          ! --> 7562.m3/s
534          criver(55) = "Indus               "
535          inb(55) = 1
536          iirnf(1:1,55) = 89
537          ijrnf(1:1,55) = 47
538          zrnfm(1:jpmois,55) = (/   &
539              988.,     737.,    1904.,    1968.,    3625.,    6143.,   &
540              15969.,    36656.,  17173.,    3215.,    1251.,    1115./)
541          ! 56-Tigris and Euphrates (Iraq) 31N00  47E25     R1
542          ! Old=46 km3/year=1458m3/s; UNESCO(76-79, p428)=2396m3/s
543          ! --> 2248.8335m3/s
544          criver(56) = "Tigris              "
545          inb(56) = 1
546          iirnf(1:1,56) = 88
547          ijrnf(1:1,56) = 47
548          zrnfm(1:jpmois,56) = (/   &
549              1872.,    2127.,    2962.,    4944.,    5036.,    3078.,   &
550              1362.,     900.,     786.,     993.,    1184.,    1742./)
551
552          ! Total run-offs (V)=128642.922m3/s
553          ! Total run-offs (I+II+III+IV+V)=496925.688m3/s
554
555          ! VI AFRICA
556          ! ----------
557          ! 61-Nile (Egypt) 30N10  31E06                    R1
558          ! Old=30 km3/year=951m3/s; UNESCO(73-84)=1251m3/s
559          ! --> 1251.33337m3/s
560          criver(61) = "Nile                "
561          inb(61) = 1
562          iirnf(1:1,61) = 90
563          ijrnf(1:1,61) = 50
564          zrnfm(1:jpmois,61) = (/   &
565              1239.,    1035.,    1126.,    1110.,    1170.,    1542.,   &
566              1742.,    1559.,    1191.,    1103.,    1075.,    1124./)
567          ! 62-Niger (Nigeria) 5N33   6E33                  R1
568          ! Old=192 km3/year=6084m3/s; HLA=5545m3/s;
569          ! Data from HLA: 4.5N -  6  E   1950/87
570          ! --> 5545.08301m3/s
571          criver(62) = "Niger               "
572          inb(62) = 1
573          iirnf(1:1,62) = 74
574          ijrnf(1:1,62) = 41
575          zrnfm(1:jpmois,62) = (/   &
576              2029.,    1804.,    1573.,    1418.,    1494.,    2561.,   &
577              5272.,    9629.,   14951.,   16227.,    6842.,    2741./)
578          ! 63-Zaire/Congo (Congo) 6S04  12E24              R1     
579          ! Old=1250 km3/year=39610m3/s; UNESCO(65-83, p149)=41941m3/s; HLA
580          ! =39720m3/s
581          ! Data from HLA: 6S - 12  E   1902/96
582          ! --> 39719.5m3/s
583          criver(63) = "Zaire Congo         "
584          inb(63) = 1
585          iirnf(1:1,63) = 75
586          ijrnf(1:1,63) = 33
587          zrnfm(1:jpmois,63) = (/   &
588              47200.,   37692.,   34374.,   36603.,   37862.,   35588.,   &
589              30966.,   30774.,   35981.,   42825.,   51455.,   55314./)
590          ! 64-Orange (Sth Africa) 28S41 16E28              R5
591          ! Old=11 km3/year=349m3/s
592          ! --> 349.000031m3/s
593          criver(64) = "Orange              "
594          inb(64) = 1
595          iirnf(1:1,64) = 76
596          ijrnf(1:1,64) = 26
597          zrnfm(1:jpmois,64) = 349.
598          ! 65-Zambesi (Mozambique) 18S55 36E04             R5
599          ! Old=223 km3/year=7066m3/s
600          ! --> 7066.00049m3/s
601          criver(65) = "Zambesi             "
602          inb(65) = 1
603          iirnf(1:1,65) = 81
604          ijrnf(1:1,65) = 29
605          zrnfm(1:jpmois,65) = 7066.
606          ! 66-Limpopo (mozambique) 25S15 33E30             R5
607          ! Old=5 km3/year=158m3/s
608          ! --> 158.m3/s
609          criver(66) = "Limpopo             "
610          inb(66) = 1
611          iirnf(1:1,66) = 81
612          ijrnf(1:1,66) = 28
613          zrnfm(1:jpmois,66) = 158.
614          ! 67-Rufiji (tanzania) 8S00 39E20                 R5
615          ! Old=9 km3/year=285m3/s
616          ! --> 285.m3/s
617          criver(67) = "Rufiji             "
618          inb(67) = 1
619          iirnf(1:1,67) = 82
620          ijrnf(1:1,67) = 33
621          zrnfm(1:jpmois,67) = 285.
622          ! Other rivers from the Gulf of Guinea
623          ! 68-Kouilou (Congo)  4.5S-11.5E (UNESCO=p51)     R1
624          ! Data from HLA:  4S - 11  E   1953/86 = 919m3/s
625          ! --> 924.25m3/s
626          criver(68) = "Kouilou            "
627          inb(68) = 1
628          iirnf(1:1,68) = 75
629          ijrnf(1:1,68) = 33
630          zrnfm(1:jpmois,68) = (/   &
631              1115.,    1166.,    1285.,    1462.,    1454.,     725.,   &
632              480.,     378.,     327.,     400.,    1018.,    1281./)
633          ! 69-Nyanga (Gabon)  3S-10E (UNESCO=p66)          R1
634          ! Data from HLA: 2.8N - 10  E   1952/82 = 264m3/s
635          ! --> 264.166687m3/s
636          criver(69) = "Nyanga              "
637          inb(69) = 1
638          iirnf(1:1,69) = 74
639          ijrnf(1:1,69) = 36
640          zrnfm(1:jpmois,69) = (/   &
641              126.,      99.,     143.,     253.,     316.,     300.,   &
642              156.,      93.,     231.,     557.,     592.,     304./)
643          ! 70-Ogoue (Gabon) 1S-9E (UNESCO, p69)            R1
644          ! Data from HLA: .75S -  9  E   1930/90 = 4512m3/s
645          ! --> 4511.83301m3/s
646          criver(70) = "Ogoue               "
647          inb(70) = 1
648          iirnf(1:1,70) = 74
649          ijrnf(1:1,70) = 37
650          zrnfm(1:jpmois,70) = (/   &
651              4514.,    3988.,    4622.,    5403.,    5790.,    4145.,   &
652              2616.,    1961.,    2119.,    4304.,    7870.,    6810./)
653          ! 71-Sanaga (Cameroun) 3.5N-9.5E (UNESCO, p31)    R1
654          ! Data from HLA: 3.9N -  9.6E   1944/80 = 1983m3/s
655          ! --> 1982.58337m3/s
656          criver(71) = "Sanaga              "
657          inb(71) = 1
658          iirnf(1:1,71) = 74
659          ijrnf(1:1,71) = 41
660          zrnfm(1:jpmois,71) = (/   &
661              813.,     578.,     517.,     633.,     909.,    1278.,   &
662              1928.,    2653.,    4361.,    5470.,    3307.,    1344./)
663          ! 72-Nyong (Cameroun) 3.1N-9.5E (UNESCO, p36)     R1
664          ! Data from HLA: 3.5N -  9.8E   1951/84 = 432m3/s
665          ! --> 431.166656m3/s     
666          criver(72) = "Nyong               "
667          inb(72) = 1
668          iirnf(1:1,72) = 74
669          ijrnf(1:1,72) = 41
670          zrnfm(1:jpmois,72) = (/   &
671              232.,     128.,     150.,     266.,     402.,     459.,   &
672              353.,     306.,     604.,     930.,     878.,     466./)
673          ! 73-Ntem (Cameroun) 2.5N-9.5E (UNESCO, p36)      R1
674          ! Data from HLA: 3N -  9.8E   1951/87 = 330m3/s     
675          ! --> 329.75m3/s
676          criver(73) = "Ntem                "
677          inb(73) = 1
678          iirnf(1:1,73) = 74
679          ijrnf(1:1,73) = 41
680          zrnfm(1:jpmois,73) = (/   &
681              452.,     455.,     492.,     466.,     482.,     251.,   &
682              151.,     108.,      87.,     133.,     395.,     485./)
683          ! 74-Wouri (Cameroun) 4N-9.5E (UNESCO, p34)       R1
684          ! Data from HLA: 4N -  9.5E   1951/84  = 307m3/s
685          ! --> 306.583374m3/s
686          criver(74) = "Wouri               "
687          inb(74) = 1
688          iirnf(1:1,74) = 74
689          ijrnf(1:1,74) = 41
690          zrnfm(1:jpmois,74) = (/   &
691              88.,      63.,      68.,      95.,     139.,     222.,   &
692              395.,     633.,     825.,     675.,     328.,     148./)
693          ! 75-Oueme (Benin) 6.5N-2.5E (UNESCO, p27)        R1
694          ! Data from HLA:  6.2N -  2.5E   1951/84 =113m3/s
695          ! --> 112.666664m3/s
696          criver(75) = "Oueme               "
697          inb(75) = 1
698          iirnf(1:1,75) = 73
699          ijrnf(1:1,75) = 42
700          zrnfm(1:jpmois,75) = (/   &
701              0.,       0.,       0.,       0.,       1.,      18.,   &
702              96.,     324.,     531.,     319.,      58.,       5./)
703          ! 76-Mono(Tepetou,Benin/Togo) 6.25N-1.8E (U, p27) R1
704          ! Data from HLA: 6.2N -  1  E   1951/85  = 96m3/s       
705          ! --> 96.4999924m3/s
706          criver(76) = "Mono                "
707          inb(76) = 1
708          iirnf(1:1,76) = 72
709          ijrnf(1:1,76) = 42
710          zrnfm(1:jpmois,76) = (/   &
711              2.,       1.,       1.,       4.,       8.,      44.,   &
712              168.,     274.,     386.,     215.,      47.,       8./)
713          ! 77-Comoe (Ivory Coast) 5N-4W (UNESCO, p56)      R1
714          ! Data from HLA: 5.1N -  4  W   1955/86 = 194m3/s       
715          ! --> 194.25m3/s
716          criver(77) = "Comoe               "
717          inb(77) = 1
718          iirnf(1:1,77) = 71
719          ijrnf(1:1,77) = 41
720          zrnfm(1:jpmois,77) = (/   &
721              14.,       7.,       9.,      17.,      29.,      90.,   &
722              145.,     349.,     740.,     688.,     198.,      45./)
723          ! 78-Sassandra (Ivory Coast) 5N-6W (UNESCO, p58)  R1
724          ! Data from HLA: 5N -  6  W   1953/86 = 449m3/s
725          ! --> 449.333344m3/s
726          criver(78) = "Sassandra           "
727          inb(78) = 1
728          iirnf(1:1,78) = 71
729          ijrnf(1:1,78) = 41
730          zrnfm(1:jpmois,78) = (/   &
731              144.,     116.,     119.,     143.,     156.,     334.,   &
732              419.,     692.,    1277.,    1190.,     553.,     249./)
733          ! 79-Jubba (Somali Coast)
734          criver(79) = "Jubba               "
735          inb(79) = 1
736          iirnf(1:1,79) = 84
737          ijrnf(1:1,79) = 39
738          zrnfm(1:jpmois,79) = 0.
739          ! 80-Senaga
740          criver(80) = "Senegal             "
741          inb(79) = 1
742          iirnf(1:1,80) = 66
743          ijrnf(1:1,80) = 47
744          zrnfm(1:jpmois,79) = 0.
745     
746          ! Total run-offs (VI)=63977.m3/s
747          ! Total run-offs (I+II+III+IV+V+VI)=560902.688m3/s
748         
749          ! VII OCEANIA
750          ! ------------
751          ! 91-Murray (Australia) 35S34 138E54              R5
752          ! Old=22 km3/year=697m3/s
753          ! --> 696.999939m3/s
754          criver(91) = "Murray              "
755          inb(91) = 1
756          iirnf(1:1,91) = 16
757          ijrnf(1:1,91) = 24
758          zrnfm(1:jpmois,91) = 697.
759          ! 92-Haast (N. Zeland) 43S50 169E02               R5
760          ! Old=6 km3/year=190m3/s
761          ! --> 189.999985m3/s
762          criver(92) = "Haast               "
763          inb(92) = 1
764          iirnf(1:1,92) = 24
765          ijrnf(1:1,92) = 22
766          zrnfm(1:jpmois,92) = 190.
767          ! 93-Fly (N. Guinea) 8S30 143E05                  R5
768          ! Old=77 km3/year=2440m3/s
769          ! --> 2440.m3/s
770          criver(93) = "Fly                 "
771          inb(93) = 1
772          iirnf(1:1,93) = 19
773          ijrnf(1:1,93) = 31
774          zrnfm(1:jpmois,93) = 2440.
775          ! 94-Purari (N. Guinea) 7S25 145E05               R4
776          ! Old=77 km3/year=2440m3/s; UNESCO(77+83,p595)=2727m3/s
777          ! --> 2727.33325m3/s
778          criver(94) = "Purari              "
779          inb(94) = 1
780          iirnf(1:1,94) = 19
781          ijrnf(1:1,94) = 33
782          zrnfm(1:jpmois,94) = (/   &
783              1972.,    3067.,    2332.,    2981.,    2693.,    2876.,   &
784              2867.,    3477.,    2195.,    2967.,    2674.,    2627./)
785          ! 95-Choshui ch''i (taiwan) 24N03 120E23          R2
786          ! Old=6 km3/year=190m3/s; UNESCO(65-68, p374)=120m3/s; ratio=1.58
787          ! --> 0.m3/s
788          criver(95) = "Choshui             "
789          inb(95) = 1
790          iirnf(1:1,95) = 12
791          ijrnf(1:1,95) = 48
792          zrnfm(1:jpmois,95) = (/   &
793              65.,      63.,      83.,     100.,     177.,     535.,   &
794              332.,     313.,     236.,     193.,     101.,      84./)
795          ! 96-Kaoping (Taiwan)                             R5 
796          ! Old=9 km3/year=285m3/s
797          ! --> 0.m3/s
798          criver(96) = "Kaoping             "
799          inb(96) = 0
800          iirnf(1:1,96) = 0
801          ijrnf(1:1,96) = 0
802          zrnfm(1:jpmois,96) = 285.
803          ! 97-Tsengwen (Taiwan)                            R5
804          ! Old=2 km3/year=63m3/s
805          ! --> 0.m3/s
806          criver(97) = "Tsengwen            "
807          inb(97) = 0
808          iirnf(1:1,97) = 0
809          ijrnf(1:1,97) = 0
810          zrnfm(1:jpmois,97) = 63.
811          ! 98-Hualien (Taiwan)                             R5
812          ! Old=4 km3/year=127m3/s
813          ! --> 0.m3/s
814          criver(98) = "Hualien             "
815          inb(98) = 0
816          iirnf(1:1,98) = 0
817          ijrnf(1:1,98) = 0
818          zrnfm(1:jpmois,98) = 127.
819          ! 99-Peinan (Taiwan) 22N46 121E10                 R5
820          ! Old=4 km3/year=127m3/s
821          ! --> 127.000008m3/s
822          criver(99) = "Peinan              "
823          inb(99) = 1
824          iirnf(1:1,99) = 12
825          ijrnf(1:1,99) = 48
826          zrnfm(1:jpmois,99) = 127.
827          ! 100-Hsiukuluan (Taiwan)                         R5
828          ! Old=4 km3/year=127m3/s
829          ! --> 0.m3/s
830          criver(100) = "Hsiukuluan          "
831          inb(100) = 0
832          iirnf(1:1,100) = 0
833          ijrnf(1:1,100) = 0
834          zrnfm(1:jpmois,100) = 127.
835
836          !  Total run-offs(VII)=6181.33301m3/s
837         
838
839          ! VIII ANTARCTICA
840          ! ---------------
841          ! 103 -Antarctic ice discharge (2 613 Gt/year) (jacobs et al 1992)
842          ! Data from Jacobs et al 92: =2613 km3/year=82857.686454 m3/s
843          ! --> 82858 m3/s
844          criver(103) = "Antarctica         "
845          inb(103) = 108
846          iirnf(1:108,103) = (/   &
847               2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20,   &
848              21,22,23,24,25,25,24,24,24,25,26,27,28,29,30,31,32,33,34,   &
849              35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,51,53,   &
850              53,53,53,54,54,54,56,57,57,57,57,57,57,57,57,57,57,58,59,   &
851              60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,   &
852              79,80,81,82,83,84,85,86,87,88,89,90,91 /)
853          ijrnf(1:108,103) = (/   &
854              12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,   &
855              10,10, 9, 9, 8, 7, 6, 5, 3, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3,   &
856               3, 4, 5, 6, 6, 6, 7, 7, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7,   &
857               8, 9,10,10,11,12,13,12,11,10, 9, 8, 7, 6, 5, 4, 3, 2, 2,   &
858               2, 2, 2, 2, 3, 4, 4, 5, 7, 8, 9, 9, 9, 9, 9, 9,10,10,10,   &
859              10,10,10,10,11,12,12,12,12,11,11,10,10 /)
860          zrnfm(1:jpmois,100) = 82858.0
861                   
862
863          !  Total run-offs(I+II+III+IV+V+VI+VII)= 567084. m3/s
864          !                                      = 1.588668056E-6 kg/m2/s
865          !                                      = 17883.5586 km3/Year
866          !                                      = 0.567083955 Sverdrup
867      ENDIF
868
869      IF( kt == nit000 ) THEN
870         IF(lwp) WRITE(numout,*)
871         IF(lwp) WRITE(numout,*) 'flxrnf : runoff + orca4'
872         IF(lwp) WRITE(numout,*) '~~~~~~'
873         IF(lwp) WRITE(numout,*) '   nrunoff = ', nrunoff
874         IF(lwp) WRITE(numout,*)
875      ENDIF
876
877      ! 0. initialization and  indexes  modification for zoom version
878      ! --------------------------------------------------------------
879     
880     
881      ! conversion factor m3/s --> kg/m2/s *e1t*e2t
882
883      zconv = rauw
884
885      IF( kt == nit000 ) THEN
886         ! Set runoffs and upstream coeff to zero
887         runoff (:,:) = 0.e0                                                                                 
888         upsrnfh(:,:) = 0.e0
889         upsrnfz(:)   = 0.e0
890         upsadv (:,:) = 0.e0
891         zcoefr(:,:,:) = 0.e0
892
893         IF( nrunoff == 0 ) THEN
894            IF(lwp) WRITE(numout,*)
895            IF(lwp) WRITE(numout,*) ' NO RUNOFF in this simulation '
896            IF(lwp) WRITE(numout,*)
897         ENDIF
898      ENDIF
899
900      IF( kt == nit000 ) THEN
901         IF( nrunoff >= 1 ) THEN
902            zbilan = 0.0
903!OCL SCALAR
904            DO jr = 1, jpriv-1
905               inbp = inb(jr)
906               IF( inbp /= 0 ) THEN
907                  ii = mj0(iirnf(1,jr))
908                  ij = mi0(ijrnf(1,jr))
909                  ii = MAX( 2, MIN( ii, jpi-1 ) )
910                  ij = MAX( 2, MIN( ij, jpj-1 ) )
911!OCL SCALAR
912                  IF( tmask(ii,ij,1) <= 0.5 ) THEN
913                     IF(lwp) WRITE(numout,*) 'Erreur riviere masquee   ', ii, ij, jr, criver(jr)
914                  ENDIF
915                  IF( tmask(ii-1,ij,1)*tmask(ii+1,ij,1)   &
916                     *tmask(ii,ij-1,1)*tmask(ii,ij+1,1) /= 0. )THEN
917                     IF(lwp) WRITE(numout,*) 'Erreur riviere non cotiere ',ii, ij, jr, criver(jr)
918                  ENDIF
919                  DO nrnf1 = 1, jpmois
920                     zbilan = zbilan + zrnfm(nrnf1,jr) * tmask(ii,ij,1)
921                  END DO
922               ENDIF
923            END DO
924            IF(lwp) WRITE(numout,*) 'zrnfm (runoff) ', zero, zconv, rauw, SUM(zrnfm)
925            IF(lwp) THEN
926               WRITE(numout,'("Total runoff : ",1E30.15)' ) zbilan
927               WRITE(numout,*) 'Run-off : POSITION and value '
928               WRITE(numout,*) 'ji jj glamt gphit annual mask 12-month '
929!OCL SCALAR
930               DO jr = 1, jpriv-1
931                  inbp = inb(jr)
932                  IF(inbp /= 0) THEN
933!OCL SCALAR
934                     DO jl = 1, inbp
935                        ii = mj0(iirnf(jl,jr))
936                        ij = mi0(ijrnf(jl,jr))
937                        WRITE(numout,'(2I3,1X,1A20,2X,2I4,2F7.1,1I3,1PE10.1,1I2,12E9.1)')   &
938                           jr, jl, criver(jr),   &
939                           ii, ij, glamt(ii,ij), gphit(ii,ij), inbp,   &
940                           SUM(zrnfm(1:jpmois,jr))/float(inbp),   &
941                           NINT(tmask(ii,ij,1)),   &
942                           zrnfm(1:jpmois,jr)/float(inbp)
943                     END DO
944                  ENDIF
945               END DO
946            ENDIF
947            IF(lwp) WRITE(numout,*) ' zrnfm (runoff) ', zero, zconv, rauw, SUM(zrnfm)
948         ENDIF
949      ENDIF
950
951      ! 1. initialization of the runoff array
952      ! -------------------------------------
953
954      IF( nrunoff == 1 .OR. nrunoff == 2) THEN
955
956         iman  = jpmois
957         
958         i15 = nday/16
959         
960         imois = nmonth + i15 - 1
961         IF( imois == 0) imois = iman
962         IF( nleapy == 1 .AND. MOD( nyear, 4 ) == 0 ) THEN
963            ! Number of Day Between Data
964            idbd = nbiss(imois)
965         ELSEIF( nleapy > 1 ) THEN
966            idbd = nleapy
967         ELSE
968            idbd = nobis(imois)
969         ENDIF
970         ! Number of days between imois, 15 and the end of month
971         idmeom = idbd - 15
972         
973         ! 1.1 Calendar computation
974         
975         ! nrnf1 number of the first array record used in the simulation
976         ! nrnf2 number of the last  array record
977         
978         nrnf1 = imois
979         nrnf2 = nrnf1 + 1
980         nrnf1 = MOD( nrnf1, iman )
981         IF( nrnf1 == 0 ) nrnf1 = iman
982         nrnf2 = MOD( nrnf2, iman )
983         IF( nrnf2 == 0 ) nrnf2 = iman
984         
985         IF( kt == nit000 ) THEN
986            IF(lwp) WRITE(numout,*)
987            IF(lwp) WRITE(numout,*) 'flxrnf routine'
988            IF(lwp) WRITE(numout,*) 'first array record used nrnf1 ',nrnf1
989            IF(lwp) WRITE(numout,*) 'last  array record used nrnf2 ',nrnf2
990            IF(lwp) WRITE(numout,*) 'total zrnfm ', SUM(zrnfm)
991            IF(lwp) WRITE(numout,*) 'total surface ', SUM(e1t*e2t*tmask(:,:,1))
992         ENDIF
993
994         zxy = FLOAT( nday + idmeom - idbd * i15 ) / idbd
995
996!OCL SCALAR
997         DO jr = 1, jpriv-1
998            inbp = inb(jr)
999!OCL SCALAR
1000            IF( inbp /= 0 ) THEN
1001               DO jl = 1, inbp
1002                  ii = iirnf(jl,jr) - nimpp + 1 - jpizoom + 1
1003                  ij = ijrnf(jl,jr) - njmpp + 1 - jpjzoom + 1
1004                  iipt0 = MAX( 1, MIN( ii, jpi   ) )
1005                  iipt1 = MAX( 0, MIN( ii, jpi-1 ) )
1006                  ijpt0 = MAX( 1, MIN( ij, jpj   ) )
1007                  ijpt1 = MAX( 0, MIN( ij, jpj-1 ) )
1008                  DO jj = ijpt0, ijpt1
1009                     DO ji = iipt0, iipt1
1010                        runoff(ji,jj) = runoff(ji,jj)   &
1011                                      + ( (1.-zxy) * zrnfm(nrnf1,jr)   &
1012                                      +       zxy  * zrnfm(nrnf2,jr)  ) / FLOAT(inbp)     
1013                     END DO
1014                  END DO
1015               END DO
1016            ENDIF
1017         END DO
1018
1019
1020         ! 2. conversion in mm/day
1021         ! -----------------------
1022         !     C a u t i o n : upward water flux, runoff is negative
1023
1024         runoff(:,:) = -zconv * runoff(:,:) / ( e1t(:,:) * e2t(:,:) )
1025         
1026
1027         ! 3. advectve coefficient
1028         ! -----------------------
1029
1030         !  Creates the array coef that contains the coefficient to affect to
1031         !  the upstream scheme. advection scheme will be:
1032         !  coefr * upstream + (1- coefr) centered
1033         !  coefr must be between 0 and 1.
1034         !  3 values are used: maximum = zrup1, between zrup2, small zrup3.
1035         !
1036         IF( nrunoff == 2 .AND. kt == nit000 ) THEN
1037
1038            zrup1 = 0.5
1039            zrup2 = 0.25
1040            zrup3 = 0.125
1041            DO jr = 1, jpriv-1
1042               inbp = inb(jr)
1043               IF( inbp /= 0) THEN
1044                  DO jl = 1, inbp
1045                     ! --> zrup1 (originally, = 1 = all upstream).
1046                     ! ji,jj
1047                     ii = iirnf(jl,jr) - nimpp + 1 - jpizoom - 1
1048                     ij = ijrnf(jl,jr) - njmpp + 1 - jpjzoom - 1
1049                     iipt0 = MAX( 1, MIN( ii,jpi  ) )
1050                     iipt1 = MAX( 0, MIN( ii,jpi-1) )
1051                     ijpt0 = MAX( 1, MIN( ij,jpj  ) )
1052                     ijpt1 = MAX( 0, MIN( ij,jpj-1) )
1053                     DO jj = ijpt0, ijpt1
1054                        DO ji = iipt0, iipt1
1055                           DO jn = 1, 3
1056                              zcoefr(ji,jj,jn) = zrup1
1057                           END DO
1058                           zcoefr(ji,jj,4) = zrup2
1059                           zcoefr(ji,jj,5) = zrup3
1060                        END DO
1061                     END DO
1062                     ! --> zrup2 (originally = 0.5)
1063                     ! ji,jj+1
1064                     ijpt0 = MAX( 1, MIN( ij+1, jpj  ) )
1065                     ijpt1 = MAX( 0, MIN( ij+1, jpj-1) )
1066                     DO jj = ijpt0, ijpt1
1067                        DO ji = iipt0, iipt1
1068                           DO jn = 1, 3
1069                              zcoefr(ji,jj,jn) = MAX( zrup2, zcoefr(ji,jj,jn) )
1070                           END DO
1071                           zcoefr(ji,jj,4) = MAX( zrup3, zcoefr(ji,jj,4) )
1072                        END DO
1073                     END DO
1074                     ! ji,jj-1
1075                     ijpt0 = MAX( 1, MIN( ij-1, jpj  ) )
1076                     ijpt1 = MAX( 0, MIN( ij-1, jpj-1) )
1077                     DO jj = ijpt0, ijpt1
1078                        DO ji = iipt0, iipt1
1079                           DO jn = 1, 3
1080                              zcoefr(ji,jj,jn) = MAX( zrup2, zcoefr(ji,jj,jn) )
1081                           END DO
1082                           zcoefr(ji,jj,4) = MAX( zrup3, zcoefr(ji,jj,4) )
1083                        END DO
1084                     END DO
1085                     ! ji+1,jj-1
1086                     iipt0 = MAX( 1, MIN( ii+1, jpi  ) )
1087                     iipt1 = MAX( 0, MIN( ii+1, jpi-1) )
1088                     DO jj = ijpt0, ijpt1
1089                        DO ji = iipt0, iipt1
1090                           DO jn = 1, 3
1091                              zcoefr(ji,jj,jn) = MAX( zrup2, zcoefr(ji,jj,jn) )
1092                           END DO
1093                           zcoefr(ji,jj,4) = MAX( zrup3, zcoefr(ji,jj,4) )
1094                        END DO
1095                     END DO
1096                     ! ji+1,jj
1097                     ijpt0 = MAX( 1, MIN( ij, jpj  ) )
1098                     ijpt1 = MAX( 0, MIN( ij, jpj-1) )
1099                     DO jj = ijpt0, ijpt1
1100                        DO ji = iipt0, iipt1
1101                           DO jn = 1, 3
1102                              zcoefr(ji,jj,jn) = MAX( zrup2, zcoefr(ji,jj,jn) )
1103                           END DO
1104                           zcoefr(ji,jj,4) = MAX( zrup3, zcoefr(ji,jj,4) )
1105                        END DO
1106                     END DO
1107                     ! ji+1,jj+1
1108                     ijpt0 = MAX( 1, MIN( ij+1,jpj  ) )
1109                     ijpt1 = MAX( 0, MIN( ij+1,jpj-1) )
1110                     DO jj = ijpt0, ijpt1
1111                        DO ji = iipt0, iipt1
1112                           DO jn = 1, 3
1113                              zcoefr(ji,jj,jn) = MAX( zrup2, zcoefr(ji,jj,jn) )
1114                           END DO
1115                           zcoefr(ji,jj,4) = MAX( zrup3, zcoefr(ji,jj,4) )
1116                        END DO
1117                     END DO
1118                     ! ji-1,jj+1
1119                     iipt0 = MAX( 1, MIN( ii-1,jpi  ) )
1120                     iipt1 = MAX( 0, MIN( ii-1,jpi-1) )
1121                     DO jj = ijpt0, ijpt1
1122                        DO ji = iipt0, iipt1
1123                           DO jn = 1, 3
1124                              zcoefr(ji,jj,jn) = MAX( zrup2, zcoefr(ji,jj,jn) )
1125                           END DO
1126                           zcoefr(ji,jj,4) = MAX( zrup3, zcoefr(ji,jj,4) )
1127                        END DO
1128                     END DO
1129                     ! ji-1,jj
1130                     ijpt0 = MAX( 1, MIN( ij,jpj  ) )
1131                     ijpt1 = MAX( 0, MIN( ij,jpj-1) )
1132                     DO jj = ijpt0, ijpt1
1133                        DO ji = iipt0, iipt1
1134                           DO jn = 1, 3
1135                              zcoefr(ji,jj,jn) = MAX( zrup2, zcoefr(ji,jj,jn) )
1136                           END DO
1137                           zcoefr(ji,jj,4) = MAX( zrup3, zcoefr(ji,jj,4) )
1138                        END DO
1139                     END DO
1140                     ! ji-1,jj-1
1141                     ijpt0 = MAX( 1, MIN( ij-1,jpj  ) )
1142                     ijpt1 = MAX( 0, MIN( ij-1,jpj-1) )
1143                     DO jj = ijpt0, ijpt1
1144                        DO ji = iipt0, iipt1
1145                           DO jn = 1, 3
1146                              zcoefr(ji,jj,jn) = MAX( zrup2, zcoefr(ji,jj,jn) )
1147                           END DO
1148                           zcoefr(ji,jj,4) = MAX( zrup3, zcoefr(ji,jj,4) )
1149                        END DO
1150                     END DO
1151                     ! --> zrup3 (originally = 0.25)
1152                     ! ji-1,jj+2
1153                     ijpt0 = MAX( 1, MIN( ij+2,jpj  ) )
1154                     ijpt1 = MAX( 0, MIN( ij+2,jpj-1) )
1155                     DO jj = ijpt0, ijpt1
1156                        DO ji = iipt0, iipt1
1157                           DO jn = 1, 3
1158                              zcoefr(ji,jj,jn) = MAX( zrup3, zcoefr(ji,jj,jn) )
1159                           END DO
1160                        END DO
1161                     END DO
1162                     ! ji-1,jj-2
1163                     ijpt0 = MAX( 1, MIN( ij-2,jpj  ) )
1164                     ijpt1 = MAX( 0, MIN( ij-2,jpj-1) )
1165                     DO jj = ijpt0, ijpt1
1166                        DO ji = iipt0, iipt1
1167                           DO jn = 1, 3
1168                              zcoefr(ji,jj,jn) = MAX( zrup3, zcoefr(ji,jj,jn) )
1169                           END DO
1170                        END DO
1171                     END DO
1172                     ! ji,jj-2
1173                     iipt0 = MAX( 1, MIN( ii,jpi  ) )
1174                     iipt1 = MAX( 0, MIN( ii,jpi-1) )
1175                     DO jj = ijpt0, ijpt1
1176                        DO ji = iipt0, iipt1
1177                           DO jn = 1, 3
1178                              zcoefr(ji,jj,jn) = MAX( zrup3, zcoefr(ji,jj,jn) )
1179                           END DO
1180                        END DO
1181                     END DO
1182                     ! ji,jj+2
1183                     ijpt0 = MAX( 1, MIN( ij+2,jpj  ) )
1184                     ijpt1 = MAX( 0, MIN( ij+2,jpj-1) )
1185                     DO jj = ijpt0, ijpt1
1186                        DO ji = iipt0, iipt1
1187                           DO jn = 1, 3
1188                              zcoefr(ji,jj,jn) = MAX( zrup3, zcoefr(ji,jj,jn) )
1189                           END DO
1190                        END DO
1191                     END DO
1192                     ! ji+1,jj-2
1193                     iipt0 = MAX( 1, MIN( ii+1,jpi  ) )
1194                     iipt1 = MAX( 0, MIN( ii+1,jpi-1) )
1195                     DO jj = ijpt0, ijpt1
1196                        DO ji = iipt0, iipt1
1197                           DO jn = 1, 3
1198                              zcoefr(ji,jj,jn) = MAX( zrup3, zcoefr(ji,jj,jn) )
1199                           END DO
1200                        END DO
1201                     END DO
1202                     ! ji+1,jj+2
1203                     ijpt0 = MAX( 1, MIN( ij+2,jpj  ) )
1204                     ijpt1 = MAX( 0, MIN( ij+2,jpj-1) )
1205                     DO jj = ijpt0, ijpt1
1206                        DO ji = iipt0, iipt1
1207                           DO jn = 1, 3
1208                              zcoefr(ji,jj,jn) = MAX( zrup3, zcoefr(ji,jj,jn) )
1209                           END DO
1210                        END DO
1211                     END DO
1212                     ! ji+2,jj-2
1213                     iipt0 = MAX( 1, MIN( ii+2,jpi  ) )
1214                     iipt1 = MAX( 0, MIN( ii+2,jpi-1) )
1215                     DO jj = ijpt0, ijpt1
1216                        DO ji = iipt0, iipt1
1217                           DO jn = 1, 3
1218                              zcoefr(ji,jj,jn) = MAX( zrup3, zcoefr(ji,jj,jn) )
1219                           END DO
1220                        END DO
1221                     END DO
1222                     ! ji+2,jj+2
1223                     ijpt0 = MAX( 1, MIN( ij+2,jpj  ) )
1224                     ijpt1 = MAX( 0, MIN( ij+2,jpj-1) )
1225                     DO jj = ijpt0, ijpt1
1226                        DO ji = iipt0, iipt1
1227                           DO jn = 1, 3 
1228                              zcoefr(ji,jj,jn) = MAX( zrup3, zcoefr(ji,jj,jn) )
1229                           END DO
1230                        END DO
1231                     END DO
1232                     ! ji+2,jj-1
1233                     ijpt0 = MAX( 1, MIN( ij-1,jpj  ) )
1234                     ijpt1 = MAX( 0, MIN( ij-1,jpj-1) )
1235                     DO jj = ijpt0, ijpt1
1236                        DO ji = iipt0, iipt1
1237                           DO jn = 1, 3
1238                              zcoefr(ji,jj,jn) = MAX( zrup3, zcoefr(ji,jj,jn) )
1239                           END DO
1240                        END DO
1241                     END DO
1242                     ! ji+2,jj+1
1243                     ijpt0 = MAX( 1, MIN( ij+1,jpj  ) )
1244                     ijpt1 = MAX( 0, MIN( ij+1,jpj-1) )
1245                     DO jj = ijpt0, ijpt1
1246                        DO ji = iipt0, iipt1
1247                           DO jn = 1, 3
1248                              zcoefr(ji,jj,jn) = MAX( zrup3, zcoefr(ji,jj,jn) )
1249                           END DO
1250                        END DO
1251                     END DO
1252                     ! ji+2,jj
1253                     ijpt0 = MAX( 1, MIN( ij,jpj  ) )
1254                     ijpt1 = MAX( 0, MIN( ij,jpj-1) )
1255                     DO jj = ijpt0, ijpt1
1256                        DO ji = iipt0, iipt1
1257                           DO jn = 1, 3
1258                              zcoefr(ji,jj,jn) = MAX( zrup3, zcoefr(ji,jj,jn) )
1259                           END DO
1260                        END DO
1261                     END DO
1262                     ! ji-2,jj
1263                     iipt0 = MAX( 1, MIN( ii-2,jpi  ) )
1264                     iipt1 = MAX( 0, MIN( ii-2,jpi-1) )
1265                     DO jj = ijpt0, ijpt1
1266                        DO ji = iipt0, iipt1
1267                           DO jn = 1, 3       
1268                              zcoefr(ji,jj,jn) = MAX( zrup3, zcoefr(ji,jj,jn) )
1269                           END DO
1270                        END DO
1271                     END DO
1272                     ! ji-2,jj-2
1273                     ijpt0 = MAX( 1, MIN( ij-2,jpj  ) )
1274                     ijpt1 = MAX( 0, MIN( ij-2,jpj-1) )
1275                     DO jj = ijpt0, ijpt1
1276                        DO ji = iipt0, iipt1
1277                           DO jn = 1, 3
1278                              zcoefr(ji,jj,jn) = MAX( zrup3, zcoefr(ji,jj,jn) )
1279                           END DO
1280                        END DO
1281                     END DO
1282                     ! ji-2,jj+2
1283                     ijpt0 = MAX( 1, MIN( ij+2,jpj  ) )
1284                     ijpt1 = MAX( 0, MIN( ij+2,jpj-1) )
1285                     DO jj = ijpt0, ijpt1
1286                        DO ji = iipt0, iipt1
1287                           DO jn = 1, 3
1288                              zcoefr(ji,jj,jn) = MAX( zrup3, zcoefr(ji,jj,jn) )
1289                           END DO
1290                        END DO
1291                     END DO
1292                     ! ji-2,jj-1
1293                     ijpt0 = MAX( 1, MIN( ij-1,jpj  ) )
1294                     ijpt1 = MAX( 0, MIN( ij-1,jpj-1) )
1295                     DO jj = ijpt0, ijpt1
1296                        DO ji = iipt0, iipt1
1297                           DO jn = 1, 3
1298                              zcoefr(ji,jj,jn) = MAX( zrup3, zcoefr(ji,jj,jn) )
1299                           END DO
1300                        END DO
1301                     END DO
1302                     ! ji-2,jj+1
1303                     ijpt0 = MAX( 1, MIN( ij+1,jpj  ) )
1304                     ijpt1 = MAX( 0, MIN( ij+1,jpj-1) )
1305                     DO jj = ijpt0, ijpt1
1306                        DO ji = iipt0, iipt1
1307                           DO jn = 1, 3
1308                              zcoefr(ji,jj,jn) = MAX( zrup3, zcoefr(ji,jj,jn) )
1309                           END DO
1310                        END DO
1311                     END DO
1312                  END DO
1313               ENDIF
1314            END DO
1315            upsrnfh(:,:) = zcoefr(:,:,1)
1316            upsrnfz(:)   = 0.e0
1317            upsrnfz(1)   = 1.0
1318            upsrnfz(2)   = 1.0
1319            upsrnfz(3)   = zrup1
1320            upsrnfz(4)   = zrup2
1321            upsrnfz(5)   = zrup3
1322         ENDIF
1323      ENDIF
1324     
1325      ! Upstream and centered scheme in the vicinity of some straits
1326     
1327      IF( kt == nit000 ) THEN
1328
1329         ! ORCA_R4 configuration :
1330         ! Gibraltar Strait
1331         DO jj = mj0(52), mj1(53)
1332            DO ji = mi0(70), mi1(71)
1333               upsadv(ji,jj) = 0.5
1334            END DO
1335         END DO
1336
1337      ENDIF
Note: See TracBrowser for help on using the repository browser.