**-d**- Debug with intermediate maps
**-c**- Clean vector lines
**--overwrite**- Allow output files to overwrite existing files
**--help**- Print usage summary
**--verbose**- Verbose module output
**--quiet**- Quiet module output
**--ui**- Force launching GUI dialog

**plant**=*name***[required]**- Name of input vector map with segments of potential plants
- Or data source for direct OGR access
**elevation**=*name***[required]**- Name of input elevation raster map
**plant_layer**=*string*- Name of the vector map layer of the plants
- Vector features can have category values in different layers. This number determines which layer to use. When used with direct OGR access this is the layer name.
- Default:
*1* **plant_column_plant_id**=*string*- Column name with the plant id
- Default:
*plant_id* **plant_column_point_id**=*string*- Column name with the point id
- Default:
*cat* **plant_column_elevup**=*string*- Column name with the elevation value at the intake (upstream) [m]
- Default:
*elev_up* **plant_column_elevdown**=*string*- Column name with the elevation value at the restitution (downstream) [m]
- Default:
*elev_down* **plant_column_discharge**=*string*- Column name with the discharge values [m3/s]
- Default:
*discharge* **plant_column_power**=*string*- Column name with the potential power [kW]
- Default:
*pot_power* **output_struct**=*name***[required]**- Name of output vector with potential plants and their structure
- Name for output vector map
**input_struct**=*name*- Name of input vector with potential plants and their structure
- Or data source for direct OGR access
**output_plant**=*name***[required]**- Name of output vector map with segments of potential plants
- Name for output vector map
**output_point**=*name*- Name of output vector map with potential intakes and restitution
- Name for output vector map
**ks_derivation**=*float*- Strickler coefficient of the derivation [m^(1/3)/s]
- Default:
*75* **velocity_derivation**=*float*- Flow velocity in the derivation pipe [m/s]
- Default:
*1.* **percentage_losses**=*float*- Percentage of losses (/gross head), if the diameter is not defined [%]
- Default:
*4* **roughness_penstock**=*float*- Roughness of the penstock [mm]
- Default:
*0.015* **turbine_folder**=*string***[required]**- Path to the folder containing the text file with info about all kind of turbines
- Default:
**turbine_list**=*string***[required]**- Path to the text file containing the list of the turbines considered
- Default:
**n**=*float*- Number of operative hours per year [hours/year]
- Default:
*3392* **efficiency_shaft**=*float*- Efficiency of the shaft (bearings friction) [-]
- Default:
*1* **efficiency_alt**=*float*- Efficiency of the alternator [-]
- Default:
*0.96* **efficiency_transf**=*float*- Efficiency of the transformer (magnetic losses) [-]
- Default:
*0.99* **ndigits**=*integer*- Number of digits to use for the elevation in the contour line vector map
- Default:
*0* **resolution**=*float*- Resolution use for the contour line vector map, if 0.25 approximate 703.31 tp 703.25
**contour**=*name*- Name of the contour line vector map

The input is a vector map with the intakes and restitutions of the potential plants as the one computed by r.green.hydro.recommended. The output is a vector map with the structure (derivation channel and penstock) for each potential plant with the value of the corrected power including these technical constrains.

Structure of the plants considered in the module

The power is maximized for the highest head in the penstock so the derivation channel is computed along the same quote (the low slope is neglected here) until the point which maximizes the head along the penstock. The structure is computed for both sides of the river in order to determine which one produces the most power.

Using the computed structure, the module calculates the

- in the derivation channelThen, the module chooses the

There are regular losses calculated thanks to Manning's formula:- in the forebay tankΔh_{deriv}=L*(Q/(ks*A*Rh^{2/3}))^{2}

where Rh is the hydraulic radius (m),

A the cross sectional area of flow (m^{2}),

L is the channel length (m),

Q is the discharge (m^{3}/s),

ks the Strickler coefficient (m^{1/3}/s), we consider steel as default parameter, with ks=75 m^{1/3}/s.

There are singular losses caused by the change of section in the forebay tank and the change of direction in the penstock (steep slope).- in the penstock

In any case, singular head losses are expressed like this:Δh_{sing}=K*V^{2}/(2g)

where V is the velocity (m/s),In our case, the singular losses are the sum of the ones for these three phenomena:

g the gravity term (9,81 m/s^{2}),

K is a coefficient determined according to the kind of singularity.

- enlargement at the entrance of the forebay tank: K_{1}=1 and V=1 m/s

- narrowing at the exit of the forebay tank: K_{2}=0.5 and V=4Q/(πD^{2}) m/s

- bend at the beginning of the penstock: K_{3}=(gross head/L)^{2}+2*sin(ASIN(gross head/L)/2)^{4}and V=4Q/(πD^{2}) m/s

There are regular losses calculated thanks to this formula:Δh_{pen}=(f*8*L*Q^{2})/(π^{2}*D^{5}*g)

where L is the penstock length (m),

D is the penstock diameter (m),

Q is the discharge (m^{3}/s),

f is the Darcy-Weisbach friction coefficient, which can be determined by Colebrooke formula. We consider steel by default with absolute roughness of ε = 0,015 mm.

If you want to create an additional text file for another turbine model, the file has to have this scheme with the correct information at the corresponding lines:

In the turbine folder there is already the text file called list with a large choice of turbines available. You have to enter the path of the list file into the turbine_list=string field of the GUI. But the user can also create his own text file that has to have the same structure with a list of the names of the turbines he has selected and wants to be considered.TURBINE ALPHA_C Name of the turbine Value of alpha_c Q_MIN Q_MAX Value of q_min Value of q_max DH_MIN DH_MAX Value of dh_min Value of dh_max QW/Q_design ETA Coordinates of the curve efficiency=f(QW/Q_design)

To choose the turbine, the module first selects the turbines with ranges of discharge and head containing the values of the corresponding potential plant. Among these turbines, it chooses the one which has the best efficiency for QW=Q_design.

Thus the efficiency of the turbine is found. The global efficiency also includes the

Finally, the corrected value of power which can be exploited is calculated.

It corresponds to

where η is the global efficiency of the plant (turbine, shaft, alternator and transformer),The output map of the module is the one with the structure for each plant, including in the

ρ the density of water (1000 kg/m^{3}),

g the gravity term (9,81 m/s^{2}),

Q the discharge (m^{3}/s),

Δh_{net}the net head, that means the gross head minus head losses

- discharge (m^{3}/s)

- gross head (m)

- kind of the channel: derivation (conduct) or penstock

- side of the river (option0 or option1)

- diameter of the channel (m)

- losses in the channel (m)

Moreover, only in the penstock's line of the structure, there are:

- singular losses (m) in the forebay tank between the derivation channel and the penstock

- the total losses (m) for each structure, which are the sum of the regular losses in the derivation channel and in the penstock and the singular losses in the forebay tank

- net head (m), which is the gross head minus the total losses

- hydraulic power (hyd_power, in kW) which is the power considering the gross head and a global efficiency equal to 1. It corresponds to the theoretical power (the maximum)

- efficiency of the selected turbine (e_turbine)

- kind of the selected turbine (turbine)

- power (kW) which can be exploited considering the technical constrains

- global efficiency (power/hyd_power)

- max_power: yes or no, yes for the side (option1 or option0) which produces the most power

Here is the input vector map potentialplants with the intakes and restitutions (in red) computed by r.green.hydro.recommended. The vector map with the segments of river is also visible in blue in this picture. These potential plants have a maximum length of 800 m and a distance of 800 m between them.

Potential intakes and restitutions

The following command that you can either put in the command console or the GUI of r.green.hydro.technical computes the structure of the potential plants for each side of the river and includes the corrected power on the output map table:

r.green.hydro.technical plant=potentialplants elevation=elevation output_struct=techplants output_plant=segmentplants turbine_folder=/pathtothefileoftheturbine_folder turbine_list=/pathtothefileoftheturbine_list

The result is shown in the following vector map called techplants. The table of this map is completed as explained in the end of the NOTES part.

Structure of the potential plants in black (techplants map)

r.green.hydro.delplants

r.green.hydro.theoretical

r.green.hydro.recommended

r.green.hydro.structure

r.green.hydro.optimal

r.green.hydro.financial

Sources for the theory : Courses of French engineering schools ENSE3 Grenoble-INP (Hydraulique des ecoulements en charge) and ENGEES Strasbourg (Hydraulique a surface libre)

Available at: r.green.hydro.technical source code (history)

Main index | Raster index | Topics index | Keywords index | Graphical index | Full index

© 2003-2021 GRASS Development Team, GRASS GIS 7.8.7dev Reference Manual