river points

Discussion of how to use ROMS on different regional and basin scale applications.

Moderators: arango, robertson

Post Reply

river points

#1 Post by redhat007 » Wed Jan 22, 2014 12:19 pm

by reading some posts about river, what i found is that two sides of river cells should be wet and dry. also and u_mask or v_mask should be zero at river cells. But different explanation in various posts make me confuse about choosing correct river position :? ? as you know indices of rho, u (also v) mask start form 0 and 1, respectively. If river is in (i,j) position, which state in below is correct?
1-for west to east river, u_maks(i,j)=0 and:
state a) rho-mask (i-1,j)=0 rho-mask (i,j)=1 rho-mask (i+1,j)=1 or
state b) rho-mask (i,j)=0 rho-mask (i+1,j)=1 rho-mask (i+2,j)=1

for north to south river, v-mask (i,j)=0 and
state a) rho-mask (i,j+1)=0 rho-mask (i,j)=1 rho-mask (i,j-1)=1 or
state b) rho-mask (i,j+2)=0 rho-mask (i,j+1)=1 rho-mask (i,j)=1
believe that any reply can help me and i would be so grateful for this. If you have any recommend for me please tell me :wink:


Re: river points

#2 Post by redhat007 » Sat Jan 25, 2014 10:01 am

i would like to change above post as below.
As you In ROMS, for a staggered grid, the indexes starting at i=0 for some, at i=1 for others. but in Matlab all variables start at i=1. And know i am speaking about Matlab which in it source points (i,j) (as river-xposition and river_eposition) sould be:
For west to east river:
mask_u(i,j)=0, rho-mask (i,j+1)=0 and rho-mask (i+1,j+1)=1
for north to south river
mask_v(i,j)=0, rho-mask (i+1,j+1)=0 and rho-mask (i+1,j)=1
i become grateful if this new understanding is correct tell me or if there is any basically fault tell me , too.

User avatar
Posts: 3780
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: river points

#3 Post by kate » Tue Jan 28, 2014 12:58 am

Leaving matlab out of it, within ROMS proper, the masks are such that a west to east river is with mask_u(i,j)=0 and mask_rho(i-1,j)=0 and mask_rho(i,j)=1

North to south you have:
mask_v(i,j)=0, mask_rho(i,j)=0 and mask_rho(i,j-1)=1

Shift accordingly for Matlab grids.

User avatar
Posts: 135
Joined: Mon May 05, 2003 2:41 pm
Location: The University of Western Australia, Perth, Australia

Re: river points

#4 Post by jivica » Wed Jan 29, 2014 7:23 am

This topic is recycled over and over, many posts about river forcing, position, etc have been answered and all you need is to look *search* and scratch a bit under the forum, after all this is the main goal of the forum.
Rich Signell wrote matlab function to plot you river sources for a given grid and river forcing file, it is named map_rivers.m
If you can't find it I'll upload


Re: river points

#5 Post by redhat007 » Wed Jan 29, 2014 2:52 pm

Dear kate and jivica
thanks for your replies.
When there is not access to real river temperature, using flag= 2 and LtracerSrc == F T can keep model far from errors which will caused by not real temperature data.

User avatar
Site Admin
Posts: 1117
Joined: Wed Feb 26, 2003 4:41 pm
Location: IMCS, Rutgers University

Re: river points

#6 Post by arango » Wed Jan 29, 2014 3:18 pm

The river_flag is obsolete and not longer used it :!: Read the documentation:

Code: Select all

   LtracerSrc  Logical switches (T/F) to activate tracer variables point
               Sources/Sinks. Only NAT active tracers (temperature, salinity)
               and NPT inert tracers are activated here:
                 LtracerSrc(itemp,ng)     for temperature (itemp=1)
                 LtracerSrc(isalt,ng)     for salinity    (isalt=2)
                 LtracerSrc(NAT+1,ng)     for inert tracer 1
                 ...                      ...
                 LtracerSrc(NAT+NPT,ng)   for inert tracer NPT
               Other biological and sediment tracers switches are activated in
               their respective input scripts.
               In nesting applications, turn on only the grids that require
               activation and processing of tracers point Sources/Sinks.
               Recall that switches are usually activated to add river runoff
               as a point source. At minimum, it is necessary to specify both
               temperature and salinity for all rivers.  The other tracers are
               This logical switch REPLACES and ELIMINATES the need to have
               or read the variable "river_flag(river)" in the input rivers
               forcing NetCDF file:
                 double river_flag(river)
                         river_flag:long_name = "river runoff tracer flag"
                         river_flag:option_0 = "all tracers are off"
                         river_flag:option_1 = "only temperature"
                         river_flag:option_2 = "only salinity"
                         river_flag:option_3 = "both temperature and salinity"
                         river_flag:units = "nondimensional"
               The above variable was too cumbersome and complicated when
               additional tracers are considered. However, this change is
               backward compatible.
               The LtracerSrc switch will be used to activate the reading of
               respective tracer variable from input river forcing NetCDF
               file. If you want to add other tracer variables (other than
               temperature and salinity) as a source for a particular river(s),
               you just need to specify such values on those river(s). Then,
               set the values to ZERO on the other river(s) that do NOT
               require such river forcing for that tracer. Recall that you
               need to specify the tracer values for all rivers, even if
               their values are zero.
You always need to provide the temperature. Otherwise, you solution is unstable. This have been addressed countless times in this forum.


Re: river points

#7 Post by redhat007 » Sun Feb 09, 2014 2:53 pm

Dear thanks for your complete replies
for north to south rivers which they flow from land to sea, positive transport values have chosen. it causes that circle points locate in sea and star points in land which it is vice versa to river_map.m explanation. But when negative transport values used for them nothing changed. :?: So, would you please tell me that for north to south river which it flows from land to sea, positive transport is correct or negative? It makes me confused because all the time we use positive for source and negative for sink :?

Post Reply