HOWTO rivers

GETM supports rivers with time-varying discharge and water properties. The general behaviour of rivers is set with the parameters from the rivers namelist in getm.inp.

getm.inp

&rivers
river_method = 2                                     ! 0 (default): no rivers
                                                     ! 2: rivers from file
river_info = 'riverinfo.dat'                         ! ascii file with river locations
river_data = 'rivers.nc'                             ! netcdf file with river data
river_ramp = -1                                      ! linear ramp for discharge (in micro timesteps)
river_factor = 1.0                                   ! factor to re-scale discharge data
use_river_salt = .true.                              ! False (default): freshwater discharge
                                                     ! True: check for individual salinity data
use_river_temp = .true.                              ! False (default): use temperature from ocean cell
                                                     ! True: check for individual temperature data
river_outflow_properties_follow_source_cell = .true. ! True (default): outflow with ocean salinity/temperature
                                                     ! False: use inflow properties
/

The location of rivers and their vertical extent is specified in riverinfo.dat.

riverinfo.dat

! In riverinfo.dat it is now allowed to have:
!   empty lines
!   comments using # or ! - everything to the right of the comment character
!   is discarded
!
! format of this file:
!
! a line with an integer number specifying the number of rivers to read
!
! lines with the following information for each of the rivers:
! i  j  name <zl zu>
! i,j specify the global indices of the position of the river
! name (without spaces) is used as key to the NetCDF file with the actual data
! zl and zu specifies the depth range over which the river influences the
! water column - zl and zu are depths i.e. measured from the surface. Negative
! values have the following meaning - if zl < 0 use bottom and if zu < 0 use
! surface. zl and zu are optional but either none or both must be specified
!
! number of rivers

Time varying river data are provided in rivers.nc.

rivers.nc

For every river specified in riverinfo.dat a corresponding variable rivername(time) with discharge data must exist in rivers.nc. Optional salinity and temperature data can be provided in additional variables rivername_salt(time) and rivername_temp(time). Whether they should be used depends on use_river_salt and use_river_temp in getm.inp, and the values of the optional attributes rivername:salt and rivername:temp (0: no, 1: yes). In this way each river can be treated individually. The time dimension MUST be unlimited!

An example file providing discharge and temperature data for only one river is given below. Note that the variable FreshRiver_salt(time) will not be used and could be omitted.

netcdf rivers {
dimensions:
    time = UNLIMITED ; // (2 currently)
variables:
    float time(time) ;
        time:units = "seconds since 2000-01-01 00:00:00" ;
    float FreshRiver(time) ;
        FreshRiver:salt = 0.f ;
        FreshRiver:temp = 1.f ;
    float FreshRiver_salt(time) ;
    float FreshRiver_temp(time) ;
}