[GRASS-SVN] r47724 - grass/trunk/raster3d/r3.gwflow

svn_grass at osgeo.org svn_grass at osgeo.org
Wed Aug 17 17:55:49 EDT 2011


Author: neteler
Date: 2011-08-17 14:55:49 -0700 (Wed, 17 Aug 2011)
New Revision: 47724

Modified:
   grass/trunk/raster3d/r3.gwflow/main.c
   grass/trunk/raster3d/r3.gwflow/r3.gwflow.html
Log:
Milena Nowotarska: i18n cleanup; HTML cleanup

Modified: grass/trunk/raster3d/r3.gwflow/main.c
===================================================================
--- grass/trunk/raster3d/r3.gwflow/main.c	2011-08-17 21:48:18 UTC (rev 47723)
+++ grass/trunk/raster3d/r3.gwflow/main.c	2011-08-17 21:55:49 UTC (rev 47724)
@@ -51,70 +51,70 @@
 {
     param.phead = G_define_standard_option(G_OPT_R3_INPUT);
     param.phead->key = "phead";
-    param.phead->description = _("Input 3d-raster map with initial piezometric heads in [m]");
+    param.phead->description = _("Input 3D raster map with initial piezometric heads in [m]");
 
     param.status = G_define_standard_option(G_OPT_R3_INPUT);
     param.status->key = "status";
     param.status->description =
 	_
-	("Input 3d-raster map providing the status for each cell, = 0 - inactive, 1 - active, 2 - dirichlet");
+	("Input 3D raster map providing the status for each cell, = 0 - inactive, 1 - active, 2 - dirichlet");
 
     param.hc_x = G_define_standard_option(G_OPT_R3_INPUT);
     param.hc_x->key = "hc_x";
     param.hc_x->description =
-	_("Input 3d-raster map with the x-part of the hydraulic conductivity tensor in [m/s]");
+	_("Input 3D raster map with the x-part of the hydraulic conductivity tensor in [m/s]");
 
     param.hc_y = G_define_standard_option(G_OPT_R3_INPUT);
     param.hc_y->key = "hc_y";
     param.hc_y->description =
-	_("Input 3d-raster map with the y-part of the hydraulic conductivity tensor in [m/s]");
+	_("Input 3D raster map with the y-part of the hydraulic conductivity tensor in [m/s]");
 
     param.hc_z = G_define_standard_option(G_OPT_R3_INPUT);
     param.hc_z->key = "hc_z";
     param.hc_z->description =
-	_("Input 3d-raster map with the z-part of the hydraulic conductivity tensor in [m/s]");
+	_("Input 3D raster map with the z-part of the hydraulic conductivity tensor in [m/s]");
 
     param.q = G_define_standard_option(G_OPT_R3_INPUT);
     param.q->key = "q";
     param.q->required = NO;
-    param.q->description = _("Input 3d-raster map with sources and sinks in [m^3/s]");
+    param.q->description = _("Input 3D raster map with sources and sinks in [m^3/s]");
 
     param.s = G_define_standard_option(G_OPT_R3_INPUT);
     param.s->key = "s";
-    param.s->description = _("Specific yield [1/m] input 3d-raster map");
+    param.s->description = _("Specific yield [1/m] input 3D raster map");
 
     param.r = G_define_standard_option(G_OPT_R3_INPUT);
     param.r->key = "r";
     param.r->required = NO;
-    param.r->description = _("Recharge input 3d-raster map in m^3/s");
+    param.r->description = _("Recharge input 3D raster map in m^3/s");
 
     param.output = G_define_standard_option(G_OPT_R3_OUTPUT);
     param.output->key = "output";
-    param.output->description = _("Output 3d-raster map storing the piezometric head result of the numerical calculation");
+    param.output->description = _("Output 3D raster map storing the piezometric head result of the numerical calculation");
 
     param.vector_x = G_define_standard_option(G_OPT_R3_OUTPUT);
     param.vector_x->key = "vx";
     param.vector_x->required = NO;
     param.vector_x->description =
-	_("Output 3d-raster map storing the groundwater filter velocity vector part in x direction [m/s]");
+	_("Output 3D raster map storing the groundwater filter velocity vector part in x direction [m/s]");
 
     param.vector_y = G_define_standard_option(G_OPT_R3_OUTPUT);
     param.vector_y->key = "vy";
     param.vector_y->required = NO;
     param.vector_y->description =
-	_("Output 3d-raster map storing the groundwater filter velocity vector part in y direction [m/s]");
+	_("Output 3D raster map storing the groundwater filter velocity vector part in y direction [m/s]");
 
     param.vector_z = G_define_standard_option(G_OPT_R3_OUTPUT);
     param.vector_z->key = "vz";
     param.vector_z->required = NO;
     param.vector_z->description =
-	_("Output 3d-raster map storing the groundwater filter velocity vector part in z direction [m/s]");
+	_("Output 3D raster map storing the groundwater filter velocity vector part in z direction [m/s]");
 
     param.budget = G_define_standard_option(G_OPT_R3_OUTPUT);
     param.budget->key = "budget";
     param.budget->required = NO;
     param.budget->description =
-	_("Output 3d-raster map Storing the groundwater budget for each cell [m^3/s]\n");
+	_("Output 3D raster map Storing the groundwater budget for each cell [m^3/s]\n");
 
     param.dt = N_define_standard_option(N_OPT_CALC_TIME);
     param.maxit = N_define_standard_option(N_OPT_MAX_ITERATIONS);
@@ -179,8 +179,8 @@
     solver = param.solver->answer;
 
     if (strcmp(solver, G_MATH_SOLVER_DIRECT_CHOLESKY) == 0 && !param.full_les->answer)
-	G_fatal_error(_("The cholesky solver dos not work with sparse matrices.\n"
-                "You may choose a full filled quadratic matrix, flag -f. "));
+	G_fatal_error(_("The cholesky solver does not work with sparse matrices.\n"
+                "Consider to choose a full filled quadratic matrix with flag -f "));
 
 
 
@@ -352,11 +352,8 @@
 	     char *name)
 {
     void *map = NULL;
-
     int changemask = 0;
-
     int z, y, x, rows, cols, depths, count, stat;
-
     double d1 = 0;
 
     rows = region->rows;
@@ -367,10 +364,8 @@
     map = Rast3d_open_new_opt_tile_size(name, RASTER3D_USE_CACHE_XY, region, DCELL_TYPE, 32);
 
     if (map == NULL)
-	Rast3d_fatal_error(_("Error opening g3d map <%s>"), name);
+	Rast3d_fatal_error(_("Unable to create 3D raster map <%s>"), name);
 
-    G_message(_("Write the result to g3d map <%s>"), name);
-
     /*if requested set the Mask on */
     if (param.mask->answer) {
 	if (Rast3d_mask_file_exists()) {

Modified: grass/trunk/raster3d/r3.gwflow/r3.gwflow.html
===================================================================
--- grass/trunk/raster3d/r3.gwflow/r3.gwflow.html	2011-08-17 21:48:18 UTC (rev 47723)
+++ grass/trunk/raster3d/r3.gwflow/r3.gwflow.html	2011-08-17 21:55:49 UTC (rev 47724)
@@ -1,26 +1,26 @@
-<H2>DESCRIPTION</H2>
-This numerical program calculates implicit transient and steady state,
-confined groundwater flow in three dimensions
-based on volume maps and the current 3d region settings.
+<h2>DESCRIPTION</h2>
+This numerical module calculates implicit transient and steady state,
+confined groundwater flow in three dimensions based on volume maps
+and the current 3D region settings.
 All initial- and boundary-conditions must be provided as volume maps.
 The unit in the location must be meters.
 <br>
 <p>
 This module is sensitive to mask settings. All cells which are outside the mask
 are ignored and handled as no flow boundaries.
-<br>
-This module calculates the piezometric head and optionally the water balance for each cell
+<p>
+The module calculates the piezometric head and optionally the water balance for each cell
 and the groundwater velocity field in 3 dimensions.
-The vector components can be visualized with paraview if they are exported
+The vector components can be visualized with ParaView if they are exported
 with <em>r3.out.vtk</em>.
-<br>
-<br>
+
+<p>
 The groundwater flow will always be calculated transient. 
-For stady state computation set the timestep
+For steady state computation set the timestep
 to a large number (billions of seconds) or set the
 specific yield raster map to zero.
 
-<H2>NOTES</H2>
+<h2>NOTES</h2>
 
 The groundwater flow calculation is based on Darcy's law and a numerical implicit
 finite volume discretization. The discretization results in a symmetric and positive definit
@@ -45,8 +45,7 @@
 <li>q - inner source/sinc in [1/s]</li>
 </ul>
 
-<br>
-<br>
+<p>
 Two different boundary conditions are implemented, 
 the Dirichlet and Neumann conditions. By default the calculation area
 is surrounded by homogeneous Neumann boundary conditions.
@@ -58,13 +57,13 @@
 <li>1 == active - this cell is used for groundwater calculation, inner sources can be defined for those cells</li>
 <li>2 == Dirichlet - cells of this type will have a fixed piezometric head value which do not change over time </li>
 </ul>
-<br>
-<br>
+
+<p>
 Note that all required raster maps are read into main memory. Additionally the
 linear equation system will be allocated, so the memory consumption of this
 module rapidely grow with the size of the input maps.
-<br>
-<br>
+
+<p>
 The resulting linear equation system <i>Ax = b</i> can be solved with several solvers.
 An iterative solvers with sparse and quadratic matrices support is implemented.
 The conjugate gradients method with (pcg) and without (cg) precondition.
@@ -73,34 +72,34 @@
 (maps of size 10.000 cells will need more than one gigabyte of RAM).
 Always prefer a sparse matrix solver.
 
-<H2>EXAMPLE 1</H2>
-Use this small script to create a working
-groundwater flow area and data. Make sure you are not in a lat/lon projection.
+<h2>EXAMPLE 1</h2>
+Use this small script to create a working groundwater flow area and
+data. Make sure you are not in a lat/lon projection.
 
 <div class="code"><pre>
 # set the region accordingly
-g.region res=25 res3=25 t=100 b=0 n=1000 s=0 w=0 e=1000
+g.region res=25 res3=25 t=100 b=0 n=1000 s=0 w=0 e=1000 -p
 
 #now create the input raster maps for a confined aquifer
-r3.mapcalc --o expression="phead = if(row() == 1 && depth() == 4, 50, 40)"
-r3.mapcalc --o expression="status = if(row() == 1 && depth() == 4, 2, 1)"
-r3.mapcalc --o expression="well = if(row() == 20 && col() == 20 && depth() == 2, -0.25, 0)"
-r3.mapcalc --o expression="hydcond = 0.00025"
-r3.mapcalc --o expression="syield = 0.0001"
-r.mapcalc  --o expression="recharge = 0.0"
+r3.mapcalc expression="phead = if(row() == 1 && depth() == 4, 50, 40)"
+r3.mapcalc expression="status = if(row() == 1 && depth() == 4, 2, 1)"
+r3.mapcalc expression="well = if(row() == 20 && col() == 20 && depth() == 2, -0.25, 0)"
+r3.mapcalc expression="hydcond = 0.00025"
+r3.mapcalc expression="syield = 0.0001"
+r.mapcalc  expression="recharge = 0.0"
 
-r3.gwflow --o solver=cg phead=phead status=status hc_x=hydcond hc_y=hydcond  \
-hc_z=hydcond q=well s=syield r=recharge output=gwresult dt=8640000 vx=vx vy=vy vz=vz budget=budget
+r3.gwflow solver=cg phead=phead status=status hc_x=hydcond hc_y=hydcond  \
+   hc_z=hydcond q=well s=syield r=recharge output=gwresult dt=8640000 vx=vx vy=vy vz=vz budget=budget
 
-# The data can be visualized with paraview when exported with r3.out.vtk
+# The data can be visualized with ParaView when exported with r3.out.vtk
 r3.out.vtk -p in=gwresult,status,budget vector=vx,vy,vz out=/tmp/gwdata3d.vtk
 
-#now load the data into paraview
+#now load the data into ParaView
 paraview --data=/tmp/gwdata3d.vtk
 </pre></div>
 
 <H2>EXAMPLE 2</H2>
-This will create a nice 3d model with geological layer with different
+This will create a nice 3D model with geological layer with different
 hydraulic conductivities. Make sure you are not in a lat/lon projection.
 
 <div class="code"><pre>
@@ -108,18 +107,18 @@
 g.region res=15 res3=15 t=500 b=0 n=1000 s=0 w=0 e=1000
 
 #now create the input raster maps for a confined aquifer
-r3.mapcalc --o expression="phead = if(col() == 1 && depth() == 33, 50, 40)"
-r3.mapcalc --o expression="status = if(col() == 1 && depth() == 33, 2, 1)"
-r3.mapcalc --o expression="well = if(row() == 20 && col() == 20 && depth() == 3, -0.25, 0)"
-r3.mapcalc --o expression="well = if(row() == 50 && col() == 50 && depth() == 3, -0.25, well)"
-r3.mapcalc --o expression="hydcond = 0.0025"
-r3.mapcalc --o expression="hydcond = if(depth() < 30 && depth() > 23 && col() < 60, 0.000025, hydcond)"
-r3.mapcalc --o expression="hydcond = if(depth() < 20 && depth() > 13 && col() >  7, 0.000025, hydcond)"
-r3.mapcalc --o expression="hydcond = if(depth() < 10 && depth() >  7 && col() < 60, 0.000025, hydcond)"
-r3.mapcalc --o expression="syield = 0.0001"
+r3.mapcalc expression="phead = if(col() == 1 && depth() == 33, 50, 40)"
+r3.mapcalc expression="status = if(col() == 1 && depth() == 33, 2, 1)"
+r3.mapcalc expression="well = if(row() == 20 && col() == 20 && depth() == 3, -0.25, 0)"
+r3.mapcalc expression="well = if(row() == 50 && col() == 50 && depth() == 3, -0.25, well)"
+r3.mapcalc expression="hydcond = 0.0025"
+r3.mapcalc expression="hydcond = if(depth() < 30 && depth() > 23 && col() < 60, 0.000025, hydcond)"
+r3.mapcalc expression="hydcond = if(depth() < 20 && depth() > 13 && col() >  7, 0.000025, hydcond)"
+r3.mapcalc expression="hydcond = if(depth() < 10 && depth() >  7 && col() < 60, 0.000025, hydcond)"
+r3.mapcalc expression="syield = 0.0001"
 
-r3.gwflow --o solver=cg phead=phead status=status hc_x=hydcond hc_y=hydcond  \
-hc_z=hydcond q=well s=syield output=gwresult dt=8640000 vx=vx vy=vy vz=vz budget=budget
+r3.gwflow solver=cg phead=phead status=status hc_x=hydcond hc_y=hydcond  \
+   hc_z=hydcond q=well s=syield output=gwresult dt=8640000 vx=vx vy=vy vz=vz budget=budget
 
 # The data can be visualized with paraview when exported with r3.out.vtk
 r3.out.vtk -p in=gwresult,status,budget,hydcond,well vector=vx,vy,vz out=/tmp/gwdata3d.vtk
@@ -128,18 +127,18 @@
 paraview --data=/tmp/gwdata3d.vtk
 </pre></div>
 
-<H2>SEE ALSO</H2>
+<h2>SEE ALSO</h2>
 
-<EM><A HREF="r.gwflow.html">r.gwflow</A></EM><br>
-<EM><A HREF="r.solute.transport.html">r.solute.transport</A></EM><br>
-<EM><A HREF="r3.out.vtk.html">r3.out.vtk</A></EM><br>
+<em><a href="r.gwflow.html">r.gwflow</a></em><br>
+<em><a href="r.solute.transport.html">r.solute.transport</a></em><br>
+<em><a href="r3.out.vtk.html">r3.out.vtk</a></em>
 
 <h2>AUTHOR</h2>
 S&ouml;ren Gebbert
 <p>
 This work is based on the Diploma Thesis of S&ouml;ren Gebbert available 
 <a href="http://www.hydrogeologie.tu-berlin.de/fileadmin/fg66/_hydro/Diplomarbeiten/2007_Diplomarbeit_Soeren_Gebbert.pdf">here</a>
-at Technical University Berlin in Germany.
+at Technical University Berlin, Germany.
 
 
 <p><i>Last changed: $Date$</i>



More information about the grass-commit mailing list