[GRASS-SVN] r66494 - grass-addons/grass7/raster/r.green/r.green.hydro/r.green.hydro.financial
svn_grass at osgeo.org
svn_grass at osgeo.org
Wed Oct 14 05:39:59 PDT 2015
Author: Giulia
Date: 2015-10-14 05:39:59 -0700 (Wed, 14 Oct 2015)
New Revision: 66494
Modified:
grass-addons/grass7/raster/r.green/r.green.hydro/r.green.hydro.financial/r.green.hydro.financial.html
grass-addons/grass7/raster/r.green/r.green.hydro/r.green.hydro.financial/r.green.hydro.financial.py
Log:
r.green: gui changes and small changes in the description
Modified: grass-addons/grass7/raster/r.green/r.green.hydro/r.green.hydro.financial/r.green.hydro.financial.html
===================================================================
--- grass-addons/grass7/raster/r.green/r.green.hydro/r.green.hydro.financial/r.green.hydro.financial.html 2015-10-14 12:37:25 UTC (rev 66493)
+++ grass-addons/grass7/raster/r.green/r.green.hydro/r.green.hydro.financial/r.green.hydro.financial.html 2015-10-14 12:39:59 UTC (rev 66494)
@@ -2,36 +2,36 @@
<em>r.green.hydro.financial</em> computes the economic costs and values of the plants. It provides an analysis calculating realization costs and profits for each potential plant in order to know which ones are feasible.<br>
<h2>NOTES</h2>
-The required input maps are the one with the segments of potentials plants (vector), the structure of these potential plants (vector), the electric grid (vector), the landuse (raster) and the slope (raster).<br><br>
+The required input maps are the ones with the segments of the potential plants (vector), the structure of these potential plants (vector), the electric grid (vector), the landuse (raster) and the slope (raster).<br><br>
-In the section "Input column", the column names in the table of the map with potential plants have to be reported in order to read correctly the corresponding values. <br><br>
+In the section "input column", the column names in the table of the map with the potential plants have to be reported in order to read correctly the corresponding values. <br><br>
Each section of the module calculates a cost. The used formula are valid for all the currencies but the values have to be adapted. The default values related to a cost are considered in Euro. <br><br>
-First, we define the <b>Total cost</b> which is the sum of all the fixed costs corresponding to the construction and the implementation of the plant. It includes :
+First, we define the <b>total cost</b> which is the sum of all the fixed costs corresponding to the construction and the implementation of the plant. It includes:
-<blockquote><b>- Compensation cost :</b><br><br>
+<blockquote><b>- Compensation cost:</b><br><br>
-This cost represents the value to compensate land owner in case of plants components implementation according to current Italian legislation. It is calculated thanks to this formula :<br><br>
+This cost represents the value to compensate land owners in case of plants components implementation according to current Italian legislation. It is calculated with this formula:<br><br>
<center>
<img src="r_green_hydro_financial_fcompensation.png" alt="formula_compensation"><br></center><br>
<blockquote>where L<SUB>v</SUB> is a raster map with the land use value [currency/ha];<br>
T<SUB>r</SUB> is a raster map with the tributes [currency/ha];<br>
V<SUB>u</SUB> is a raster map with the value upper part of the soil [currency/ha];<br>
r is a scalar with the interest rate (default value: 0.03);<br>
-n is the life of hydropower plant [year] (default value: 30);<br>
+n is the life of a hydropower plant [year] (default value: 30);<br>
γ is a scalar (default value: 5/4);<br>
w<SUB>e</SUB> is a scalar with the average width excavation [m] (default value: 2);<br>
-res is a scalar with the raster resolution.<br><br>
+res is a scalar with the raster resolution <br><br>
The V<SUB>u</SUB> raster map is computed with the formula:<br><br>
<center>
<img src="r_green_hydro_financial_fvu.png" alt="Vu"><br></center><br>
<blockquote> where S<SUB>v</SUB> is a raster map with the stumpage value [currency/ha];<br>
Rot is a raster map with the value rotation period per land use type [year];<br>
-Y is a raster map with the average year [year];</blockquote><br>
+Y is a raster map with the average year [year]</blockquote><br>
-The user can add directly the maps L<SUB>v</SUB>, T<SUB>r</SUB>, S<SUB>v</SUB>, Rot and Y as inputs. Otherwise, the maps can be computed using the land use raster map and reclassifying the values with the module r.reclass. The program creates the reclassified maps if the user provides the input text files for each category (the input data is the path of the text file). Here is an example of a text file to create the landvalue raster map, the costs are in currency/ha :<br>
+The user can directly add the maps L<SUB>v</SUB>, T<SUB>r</SUB>, S<SUB>v</SUB>, Rot and Y as inputs. Otherwise, the maps can be computed using the land use raster map and reclassifying the values with the module r.reclass. The program creates the reclassified maps if the user provides the input text files for each category (the input data is the path of the text file). Here is an example of a text file to create the landvalue raster map, the costs are in currency/ha:<br>
<pre>1 = 0 rocks, macerated, glaciers
2 = 0 urbanized areas, infrastructure
3 = 0 shores
@@ -41,65 +41,65 @@
7 = 2000 agricultural areas
8 = 1500 meadows
9 = 1000 areas with predominantly pastoral value
-10 = 3000 forestry land</pre></blockquote>
+10 = 3000 forestry land</pre></blockquote>
-Once the calculation is made, a new column with the compensation cost is added in the table of the input map with potential plants. A raster map with the compensation cost can also be computed, as well as a raster map with the value upper part of the soil (See Optional section).<br><br><br>
+Once the calculation is made, a new column with the compensation cost is added in the table of the input map with potential plants. A raster map with the compensation cost can also be computed, as well as a raster map with the value upper part of the soil (see Optional section).<br><br><br>
-<b>- Excavation cost :</b><br><br>
+<b>- Excavation cost:</b><br><br>
-This cost concerns the works of digging to implement channels. It is calculated as followed :<br><br>
+This cost concerns the works of digging to implement channels. It is calculated as followed:<br><br>
<center><img src="r_green_hydro_financial_fexcavation.png" alt="Excavation"><br></center><br>
<blockquote>where S is a raster map with the slope in [%];<br>
-Ψ is a raster map with values of minimum excavation costs [currency/mc]<br>
-Φ is a raster map with values of maximum excavation costs [currency/mc]<br>
+Ψ is a raster map with values of minimum excavation costs [currency/mc];<br>
+Φ is a raster map with values of maximum excavation costs [currency/mc];<br>
w is the width of the excavation [m] (default value: 2);<br>
d is the depth of the excavation [m] (default value: 2);<br>
-l is the length of the excavation [m] which depends on the channels lengths;<br><br></blockquote>
+l is the length of the excavation [m] which depends on the channels lengths<br><br></blockquote>
-If the user hasn't the raster maps Ψ and Φ, the latter can be computed from the land use raster map if the user provides a text file with the reclassification values (from land use value to excavation cost (min or max)). It is the same principle as the one explained above for landvalue, tributes, stumpage, rotation period per land use type and average age.<br><br>
+If the user hasn't got the raster maps Ψ and Φ, the latter can be computed from the land use raster map if the user provides a text file with the reclassification values (from land use value to excavation cost (min or max)). It is the same principle as the one explained above for landvalue, tributes, stumpage, rotation period per land use type and average age.<br><br>
The user can choose to put a slope limit (S<SUB>lim</SUB>) [%] above which the cost will be equal to the maximum cost.<br><br>
-Then, a new column with the excavation cost is added in the table of the input map with potential plants. A raster map with excavation cost can also be computed (See Optional section).<br><br><br>
+Then, a new column with the excavation cost is added in the table of the input map with potential plants. A raster map with excavation cost can also be computed (see Optional section).<br><br><br>
-<b>- Electro-mechanical cost :</b><br><br>
+<b>- Electro-mechanical cost:</b><br><br>
It is the cost of the electro-mechanical equipment which includes the turbine, the alternator and the regulator. It is a high percentage of a small hydropower plant budget (around 30% and 40% of the total sum). <br><br>
-We use the Aggidis et al. formula which calculates this cost thanks to the values of power and head :<br><br>
+We use the Aggidis et al. formula which calculates this cost thanks to the values of power and head:<br><br>
<center>CEM = γ * power<SUP>α</SUP> * head<SUP>β</SUP> + c</center>
<blockquote> where power is the power of the plant [kW];<br>
head is the head of the plant [m];<br>
α is a power coefficient (default value: 0.56);<br>
β is a head coefficient (default value: -0.112);<br>
γ is a coefficient (default value: 15600);<br>
-c is a constant (default value: 0);<br></blockquote>
+c is a constant (default value: 0)<br></blockquote>
A new column with the electro-mechanical costs is added in the table of the input map with potential plants.<br><br><br>
-<b>- Supply and installation cost for pipeline and electroline :</b><br><br>
+<b>- Supply and installation cost for pipeline and electroline:</b><br><br>
-This is the sum of the supply and installation costs for the derivation channel, the penstock (boths compose the pipeline) and the electroline which links the transformer near the turbine to the existing grid. The formula is the following :<br><br>
+This is the sum of the supply and installation costs for the derivation channel, the penstock (both compose the pipeline) and the electroline which links the transformer near the turbine to the existing grid. The formula is the following:<br><br>
<center><img src="r_green_hydro_financial_flinearcost.png" alt="Lines cost"><br></center>
<blockquote>where α is the supply and installation costs [currency/m] (default value for pipeline: 310 Euro/m, and for the electroline 250 Euro/m);<br>
-l is the length of the line [m], the pipeline length is found in the structure map and the electroline length is computed thanks to the grid vector map;<br><br><br></blockquote>
+l is the length of the line [m], the pipeline length is found in the structure map and the electroline length is computed thanks to the grid vector map<br><br><br></blockquote>
-<b>- Power station cost</b><br><br>
+<b>- Power station cost:</b><br><br>
-It concerns the construction cost of the building composing the power station. It is considered as a percentage of the electro-mechanical cost :<br><br>
+It concerns the construction cost of the building composing the power station. It is considered as a percentage of the electro-mechanical cost:<br><br>
<center>CST = α * CEM</center>
-<blockquote>where α is as default 0.52;</blockquote><br><br><br>
+<blockquote>where α is as default 0.52</blockquote><br><br><br>
-<b>- Inlet cost</b><br><br>
+<b>- Inlet cost:</b><br><br>
-It concerns the construction cost of the water intake structure. It is considered as a percentage of the electro-mechanical cost :<br><br>
+It concerns the construction cost of the water intake structure. It is considered as a percentage of the electro-mechanical cost:<br><br>
<center>CIN = α *EM</center>
-<blockquote>where α is as default 0.38;</blockquote></blockquote><br><br>
+<blockquote>where α is as default 0.38</blockquote></blockquote><br><br>
-All these costs define the <b>Total cost</b> :<br><br>
+All these costs define the <b>Total cost</b>:<br><br>
<center>Total cost = (CCM+CL+CEX+CEM+CST+CIN+CGRD)(1+α+β)</center>
<blockquote>where CCM is the
[currency];<br>
@@ -109,8 +109,8 @@
CST is the Power station cost [currency];<br>
CIN is the Inlet cost [currency];<br>
CGRD is the Grid connection cost, (default is 50000 Euro), that includes the easement indemnity;<br>
-α is the factor to consider general expenses, (default is 0.15);<br>
-β is the factor to consider hindrances expenses, (default is 0.10);<br><br></blockquote>
+α is the factor to consider general expenses (default is 0.15);<br>
+β is the factor to consider hindrances expenses (default is 0.10)<br><br></blockquote>
α and β are factors which offset the underestimation of this total cost. Indeed, some other costs have to be taken into consideration but it's hard to make a general assessment because they are specific for each plant. Moreover, for each plant realization there are unexpected events (hindrances) which make the implementation more complex and expensive.<br><br><br>
@@ -119,50 +119,55 @@
<blockquote>where power is the power of the plant [kW]; <br>
α is a power coefficient (default value: 3871.2); <br>
β is a power coefficient (default value: 0.45); <br>
-c is a constant, (default value: 0); <br><br><br></blockquote>
+c is a constant (default value: 0) <br><br><br></blockquote>
-The <b>yearly revenue</b> corresponds to the money gained selling all the electricity the plant produces in a year. It is simply calculated as the product of the power produced in a year by the price of the electricity (including some coefficients) :<br><br>
+The <b>yearly revenue</b> corresponds to the money gained selling all the electricity the plant produces in a year. It is simply calculated as the product of the power produced in a year by the price of the electricity (including some coefficients):<br><br>
<center>revenue = η * power * price * yh * α + c </center>
<blockquote> where η is the efficiency of the electro-mechanical components (default value: 0.81); <br>
power is the installed power of the plant [kW]; <br>
-price is the energy price [currency/kW], (default value: 0.09 Euro/kW); <br>
-yh is the yearly operation hours of the plant [hours], (default value: 6500); <br>
-α is the coefficient to transform installed power to mean power, (default value:
+price is the energy price [currency/kW] (default value: 0.09 Euro/kW); <br>
+yh is the yearly operation hours of the plant [hours] (default value: 6500); <br>
+α is the coefficient to transform installed power to mean power (default value:
0.5); <br>
-c is a constant, (default value: 0);</blockquote><br><br>
+c is a constant (default value: 0)</blockquote><br><br>
-Finally, all these values allow to calculate the <b>Net Present Value (NPV)</b>. It is the sum of the present values of incoming and outgoing cash flows over a period of time. It allow to know if there are profits so if the plant is feasible. It corresponds to :<br><br>
+Finally, all these values allow to calculate the <b>Net Present Value (NPV)</b>. It is the sum of the present values of incoming and outgoing cash flows over a period of time. It allows to know if there are profits so if the plant is feasible. It corresponds to:<br><br>
<center><img src="r_green_hydro_financial_fnpv.png" alt="NPV"><br></center>
<blockquote>where revenue is the yearly revenue value [currency/year]; <br>
maintenance is the yearly maintenance value [currency/year]; <br>
-Total cost is the total cost of the plant [currency] <br>
-n the number of years of the plant [year] (default value: 30) <br>
+Total cost is the total cost of the plant [currency]; <br>
+n the number of years of the plant [year] (default value: 30); <br>
γ is a coefficient which assesses the cost of interest and amortization. It is defined as:<br><br>
<center><img src="r_green_hydro_financial_fgamma.png" alt="Gamma"><br></center><br>
-<blockquote>where r is the interest rate (default value: 0.03).<br><br></blockquote>
+<blockquote>where r is the interest rate (default value: 0.03)<br><br></blockquote>
</blockquote>
-More concretely, the program computes the following results :<br>
-<blockquote>- the input map with the structure of the plants has an updated table with the different costs of construction and implementation and their sum (tot_cost).<br><br>
+More concretely, the program computes the following results:<br>
+<blockquote>- the input map with the structure of the plants has an updated table with the different costs of construction and implementation and their sum (tot_cost)<br><br>
-- the created output map shows the structure of the potential plants with a re-organized table. The latter doesn't make the difference between derivation channel and penstock. Each line gives the intake_id, plant_id, side (structures are computed on both sides of the river), power (kW), gross_head (m), discharge (m<SUP>3</SUP>/s), tot_cost (total cost for construction and implementation), yearly maintenance cost, yearly revenue,net present value (NPV) and max_NPV. The structure of potential plants is given for each side of the river, max_NPV is 'yes' for the side with the highest NPV and 'no' for the other side.<br><br>
+- the created output map shows the structure of the potential plants with a re-organized table. The latter doesn't make the difference between derivation channel and penstock. Each line gives the intake_id, plant_id, side (structures are computed on both sides of the river), power (kW), gross_head (m), discharge (m<SUP>3</SUP>/s), tot_cost (total cost for construction and implementation), yearly maintenance cost, yearly revenue, net present value (NPV) and max_NPV. The structure of potential plants is given for each side of the river, max_NPV is 'yes' for the side with the highest NPV and 'no' for the other side.<br><br>
-- the input map with the segments of the plants has an updated table with the total cost, yearly maintenance cost, yearly revenue and the net present value. The parameter "segment_basename" (in Input column) allows to add a prefix at the column names in order to show the results for different cases in the same table without overwriting the columns.<br><br>
+- the input map with the segments of the plants has an updated table with the total cost, yearly maintenance cost, yearly revenue and the net present value. The parameter "segment_basename" (in input column) allows to add a prefix at the column names in order to show the results for different cases in the same table without overwriting the columns.<br><br>
-- In the Optional section, there is the possibility to create three raster maps showing the compensation, excavation and upper part of the soil values.</blockquote><br>
+- in the Optional section, there is the possibility to create three raster maps showing the compensation, excavation and upper part of the soil values</blockquote><br>
<h2>EXAMPLE</h2>
This example is based on the case-study of Gesso and Vermenagna valleys in the Natural Park of the Maritime Alps, Piedmont, Italy.<br><br>
-Here in black is the input vector file techplants with the structure of the potential plants and the technical value of power (including head losses and efficiencies, computed by r.green.hydro.technical). The vector map with the segments of river potentialplants is also visibile in blue on this picture, as well as the vector map with the intakes and restitutions of the plants (in red).
+Here in black you can see the input vector file techplants with the structure of the potential plants and the technical value of power (including head losses and efficiencies, computed by r.green.hydro.technical) computed by r.green.hydro.technical. The vector map with the segments of the river potentialplants is also visible in blue in this picture, as well as the vector map with the intakes and restitutions of the plants (in red).
<center>
<img src="r_green_hydro_financial_input.png" alt="input"><br>
-Structure of the potential plants
+structure of the potential plants
</center><br><br>
-The following command updates the table of structplants and segplants adding the costs :<br>
+The following command updates the table of structplants and segplants adding the costs:<br><br>
+
+Notes:<br>
+The rules files for the reclassification needed for the following command can be created as shown in the section NOTES above for the rules_landvalue.<br>
+To create the other rule files this link might be helpful: <a href="https://grass.osgeo.org/grass71/manuals/r.category.html">r.category</a> <br>
+The file techplants (input vector map with the structure of the plants) has to be created for example by r.green.hydro.technical before entering the following code.
<div class="code"><pre>
r.green.hydro.financial
plant=potentialplants
@@ -170,7 +175,7 @@
struct_column_head=net_head
landuse=landuse
rules_landvalue=/pathtothefile/landvalue.rules
-rules_tributes=pathtothefile/tributes.rules
+rules_tributes=/pathtothefile/tributes.rules
rules_stumpage=/pathtothefile/stumpage.rules
rules_rotation=/pathtothefile/rotation.rules
rules_age=/pathtothefile/age.rules
@@ -183,22 +188,22 @@
excavation=exc
upper=upper</pre></div><br>
-It also creates four new raster maps (ecoplants, comp, exc and upper) :<br>
-<blockquote>- ecoplants which shows the structure of the potential plants. The table contains these four columns (total cost, maintenance cost, revenue and NPV) :<br><br>
+It also creates four new raster maps (ecoplants, comp, exc and upper):<br>
+<blockquote>- ecoplants which shows the structure of the potential plants. The table contains these four columns (total cost, maintenance cost, revenue and NPV):<br><br>
<center>
<img src="r_green_hydro_financial_tableeco.png" alt="table_eco"><br>
-Table of the ouput raster map ecoplants
+table of the output raster map ecoplants
</center><br>
The same columns are added for the input map with the segments (potentialplants). In the table of the input map with the structure (techplants), the different costs which compose the total cost are added in columns (but not the four previous values).<br><br>
-- comp which shows the compensation values (in currency) for each land use :<br>
+- comp which shows the compensation values (in currency) for each land use:<br>
<center>
<img src="r_green_hydro_financial_compmap.png" alt="Compensation_map"><br>
-Output raster map with compensation values
+output raster map with compensation values
</center><br><br>
-- upper which shows the values of the upper part of the soil (in currency) for each land use.<br><br>
-- exc which shows the excavation value (in currency) for each land use.<br><br>
+- upper which shows the values of the upper part of the soil (in currency) for each land use<br><br>
+- exc which shows the excavation value (in currency) for each land use<br><br>
These two last maps look like comp, but with their corresponding values.<br><br></blockquote>
Modified: grass-addons/grass7/raster/r.green/r.green.hydro/r.green.hydro.financial/r.green.hydro.financial.py
===================================================================
--- grass-addons/grass7/raster/r.green/r.green.hydro/r.green.hydro.financial/r.green.hydro.financial.py 2015-10-14 12:37:25 UTC (rev 66493)
+++ grass-addons/grass7/raster/r.green/r.green.hydro/r.green.hydro.financial/r.green.hydro.financial.py 2015-10-14 12:39:59 UTC (rev 66494)
@@ -78,7 +78,7 @@
#% guisection: Input columns
#%end
#%option
-#% key: struct_columm_kind
+#% key: struct_column_kind
#% type: string
#% description: Table of the struct map: column name with the strings that define if it's a derivation channel or a penstock
#% required: no
@@ -88,7 +88,7 @@
#%option
#% key: struct_kind_intake
#% type: string
-#% description: Table of the structures map : Value contained in the column 'kind' which corresponds to the derivation channel
+#% description: Table of the structures map: Value contained in the column 'kind' which corresponds to the derivation channel
#% required: no
#% answer: conduct
#% guisection: Input columns
@@ -96,14 +96,14 @@
#%option
#% key: struct_kind_turbine
#% type: string
-#% description: Table of the structures map : Value contained in the column 'kind' which corresponds to the penstock
+#% description: Table of the structures map: Value contained in the column 'kind' which corresponds to the penstock
#% required: no
#% answer: penstock
#% guisection: Input columns
#%end
#%option
#% key: plant_column_id
-#% description: Table of the plants map : Column name with the plant id
+#% description: Table of the plants map: Column name with the plant id
#% required: no
#% answer: plant_id
#% guisection: Input columns
@@ -111,7 +111,7 @@
#%option
#% key: plant_basename
#% type: string
-#% description:Table of the plants map : basename of the columns that will be added to the input plants vector map
+#% description:Table of the plants map: basename of the columns that will be added to the input plants vector map
#% required: no
#% answer: case1
#% guisection: Input columns
@@ -468,26 +468,26 @@
# DEFINE OUTPUTS
#%option G_OPT_V_OUTPUT
#% key: output_struct
-#% label: Name of the output vector map : plants' structure including the main costs in the table
+#% label: Name of the output vector map: plants' structure including the main costs in the table
#% required: yes
#%end
## COSTS
#%option G_OPT_R_OUTPUT
#% key: compensation
-#% label: Raster map with the compensation values
+#% label: Output raster map with the compensation values
#% required: no
#%end
#%option G_OPT_R_OUTPUT
#% key: excavation
-#% label: Raster map with the excavation costs
+#% label: Output raster map with the excavation costs
#% required: no
#%end
## VALUES
#%option G_OPT_R_OUTPUT
#% key: upper
-#% label: Raster map with the value upper part of the soil
+#% label: Output raster map with the value upper part of the soil
#% required: no
#%end
More information about the grass-commit
mailing list