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

source: tags/nemo_dev_x6/NEMO/OPA_SRC/SBC/flxrnf_ORCA_R4.h90 @ 158

Last change on this file since 158 was 158, checked in by cvs2svn, 20 years ago

This commit was manufactured by cvs2svn to create tag 'nemo_dev_x6'.

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