package org.osgeo.grass.r3; import org.jgrasstools.grass.utils.ModuleSupporter; import oms3.annotations.Author; import oms3.annotations.Documentation; import oms3.annotations.Label; import oms3.annotations.Description; import oms3.annotations.Execute; import oms3.annotations.In; import oms3.annotations.UI; import oms3.annotations.Keywords; import oms3.annotations.License; import oms3.annotations.Name; import oms3.annotations.Out; import oms3.annotations.Status; @Description("Numerical calculation program for transient, confined groundwater flow in three dimensions") @Author(name = "Grass Developers Community", contact = "http://grass.osgeo.org") @Keywords("raster3d, voxel") @Label("Grass/Raster 3D Modules") @Name("r3__gwflow") @Status(Status.CERTIFIED) @License("General Public License Version >=2)") public class r3__gwflow { @UI("infile,grassfile") @Description("The initial piezometric head in [m]") @In public String $$pheadPARAMETER; @UI("infile,grassfile") @Description("The status for each cell, = 0 - inactive, 1 - active, 2 - dirichlet") @In public String $$statusPARAMETER; @UI("infile,grassfile") @Description("The x-part of the hydraulic conductivity tensor in [m/s]") @In public String $$hc_xPARAMETER; @UI("infile,grassfile") @Description("The y-part of the hydraulic conductivity tensor in [m/s]") @In public String $$hc_yPARAMETER; @UI("infile,grassfile") @Description("The z-part of the hydraulic conductivity tensor in [m/s]") @In public String $$hc_zPARAMETER; @UI("infile,grassfile") @Description("Sources and sinks in [m^3/s] (optional)") @In public String $$qPARAMETER; @UI("infile,grassfile") @Description("Specific yield in 1/m") @In public String $$sPARAMETER; @UI("infile,grassfile") @Description("Recharge raster map in m^3/s (optional)") @In public String $$rPARAMETER; @UI("outfile,grassfile") @Description("The piezometric head result of the numerical calculation will be written to this map") @In public String $$outputPARAMETER; @UI("outfile,grassfile") @Description("Calculate the groundwater distance velocity vector field and write the x, y, and z components to maps named name_[xyz]. Name is basename for the new raster3d maps (optional)") @In public String $$velocityPARAMETER; @Description("The calculation time in seconds") @In public String $$dtPARAMETER = "86400"; @Description("Maximum number of iteration used to solver the linear equation system (optional)") @In public String $$maxitPARAMETER = "100000"; @Description("Error break criteria for iterative solvers (jacobi, sor, cg or bicgstab) (optional)") @In public String $$errorPARAMETER = "0.0000000001"; @Description("The type of solver which should solve the symmetric linear equation system (optional)") @In public String $$solverPARAMETER = "cg"; @Description("The relaxation parameter used by the jacobi and sor solver for speedup or stabilizing (optional)") @In public String $$relaxPARAMETER = "1"; @Description("Use G3D mask (if exists)") @In public boolean $$mFLAG = false; @Description("Use a sparse linear equation system, only available with iterative solvers") @In public boolean $$sFLAG = false; @Description("Allow output files to overwrite existing files") @In public boolean $$overwriteFLAG = false; @Description("Verbose module output") @In public boolean $$verboseFLAG = false; @Description("Quiet module output") @In public boolean $$quietFLAG = false; @Execute public void process() throws Exception { ModuleSupporter.processModule(this); } }