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/OPA_SRC/SBC – NEMO

source: trunk/NEMO/OPA_SRC/SBC/flxrnf_ORCA_R4.h90 @ 699

Last change on this file since 699 was 699, checked in by smasson, 16 years ago

insert revision Id

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