#ls2(research/Memo/ECPC)

* River Routing [#s4bb83f1]

#contents

** General Info (from pgriv.F) [#ke796975]
  river discharge estimation coded by kei yoshimura (07/02/09)
 
  compute river discharge by TRIP (Oki and Sud, 1996)
     S(t+1)=S(t)*exp(-dc*dt)+(1-exp(-dc*dt))*I/dc
     O=(S(t+1)-S(t))/dt+I
     S:river storage 
     O:river discharge
     I:input to the flow (inflow from upstream and total runoff 
       accumulated in a grid)
     dc=v/l (v: flow velocity, l: flowpath length)
 
     input runoff are taken from LSM and output river discharge etc.
     are written to riv.ftXX in grib format.
 
  variables:
     gdriv: river storage [kg/m/m]
     rflow: river discharge [kg/s]
     imap : flow direction (0:sea, 9:rivermouth)
           8  1  2
           7  *  3
           6  5  4
     roff : converted runoff [kg/m/m/s]
 
  initial and restart file:
     rivi (if not exsited, all river channel storage is assumed
           to have 10mm water)
** Specification [#q2ed960c]
-New subroutines
-- pgriv.F
-- gau2llc.F
-- comfriv.h (in include directory)
-Modified subroutines
-- gsmstep.F : call pgriv and write restart file (rivi)
-- gbphys.F : calculate total runoff (surface+subsurface)
-- wriflx.F : writing to riv.ftXX in grib format.
-- idsdef.F : (in share directory) define output variable IDs.~
gdriv(199), rflow(200), imap(202), roff(203)

** Step by step [#y41f3bbb]
1. Select river resolution (1deg or 0.5deg). Get digital river map. Make a binary (of course River version).
- The digital river maps are on courtesy of Oki Lab, IIS, UT.

2. Soft-link the river map as "fort.93"
- It is better to add "ln" command in gruns/runscr/fcst. Such as,
 ln -fs /home/kei/work5/GSMpsplit/flwdir.GSWP2hlf.txt              fort.93

3. Modify the main script.
- As usual. Simulation period, initial files, boundary files, etc.etc.

4. Execution.
- Output will be "riv.ftXX". Restart and initial files are named as "rivi".
** Notes (from pgriv.F) [#a9a30764]
  Note1: 
     Calculation is in a single processor 
     (Same as I/O process. Does not influence to other routines.)
  Note2: 
     Map(s) of riverflow direction is very important.
     Currently, 1deg x 1deg version (Oki and Sud, 1996) and
     0.5deg x 0.5deg version (Okada, 1999) are available.
     The map should be placed/linked as fort.93
  Note3: 
     io_ and jo_ in paramodel.h are used as io2_ and jo2_.
     t126 (io_=360,jo_=181) and t248 (io_=720,jo_=361) are
     usable in default, but other resolution io2_ and jo2_ 
     needs to be selected manually. => in comfriv.h and gau2llc.F
 
     Grid coordination (1deg) is centered, such as 
     (0.5E, 89.5N)  - (0.5W, 89.5N) ; i=1,io_
                    :               ; j=1,jo_-1
     (0.5E, 89.5S)  - (0.5W, 89.5S) 
     (        dummy column        ) ; j=jo_