Home

ParFlow User`s Manual - Inside Mines

image

Contents

1. 3 7 ANNOTATED INPUT SCRIPT 31 topo slopes do not figure into the impes fully sat case but we still need keys for them pfset TopoSlopesX Type Constant pfset TopoSlopesX GeomNames pfset TopoSlopesX Geom domain Value 0 0 pfset TopoSlopesY Type Constant pfset TopoSlopesY GeomNames pfset TopoSlopesY Geom domain Value 0 0 mannings roughnesses do not figure into the impes fully sat case but we still need a key for them pfset Mannings Type Constant pfset Mannings GeomNames pfset Mannings Geom domain Value 0 Phase sources allows you to add sources other than wells and boundaries but we do not have any so this key is constant 0 0 over entire domain pfset PhaseSources water Type Constant pfset PhaseSources water GeomNames domain pfset PhaseSources water Geom domain Value 0 0 Next we define solver parameters for IMPES Since this is the default solver we do not need a solver key 32 CHAPTER 3 THE PARFLOW SYSTEM We allow up to 50 iterations of the linear solver before it quits or converges p set Solver Maxlter 50 The solution must be accurate to this level p set Solver AbsTol 1E 10 We drop significant digits beyond E 15 p set Solver Drop 1E 15 Here you set the number of realizations again using a local tcl variable We have set only one run but by setting the n_runs variable to something else we can run more than one realization of hydraulic conductivity this script is setup to ru
2. 2 Prepare input data files from output data files 14 CHAPTER 3 THE PARFLOW SYSTEM e Take the last pressure output file before the restart with the sequence number from above and format them for regular input using the keys detailed in 5 1 24 and possibly the pfdist utility in the input script 3 Change the Main Input File 5 1 e Edit the tcl file you may want to save the old one and utilize the pressure initial condition input file option as referenced above to specify the input files you created above as initial conditions for concentrations 4 Restart the run e Utilizing an editor recreate all the input parameters used in the run except for the following two items Use the dump sequence number from step 1 as the start_count Use the real time that the dump occured at from step 1 as the start_time 3 4 Visualizing Output While PARFLOW does not have any visualization capabilities built in there are a number flexible free options Probably the best option is to use Visit Visit is a powerful free open source rendering environment It is multiplatform and may be downloaded directly from https wci 11n1 gov codes visit The most flexible option for using VisIt to view PARFLOW output is to write files using the SILO format which is available either as a direct output option or a conversion option using pftools Many other output conversion options exist as described in 3 5 and this allows PARFLOW
3. copyleft license designed for free software We have designed this License in order to use it for manuals for free software because free software needs free documentation a free program should come with manuals providing the same freedoms that the software does But this License is not limited to software manuals it can be used for any textual work regardless of subject matter or whether it is published as a printed book We recommend this License principally for works whose purpose is instruction or reference 1 APPLICABILITY AND DEFINITIONS This License applies to any manual or other work in any medium that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License Such a notice grants a world wide royalty free license unlimited in duration to use that work under the conditions stated herein The Document below refers to any such manual or work Any 103 104 CHAPTER 6 GNU FREE DOCUMENTATION LICENSE member of the public is a licensee and is addressed as you You accept the license if you copy modify or distribute the work in a way requiring permission under copyright law A Modified Version of the Document means any work containing the Document or a portion of it either copied verbatim or with modifications and or translated into another language A Secondary Section is a named appendix or a front matter section of the Document that deals exclusively w
4. saturated groundwater flow Then section 4 5 describes the Richards equation model specified by solver RICHARDS for variably saturated flow as implemented in PARFLOw Lastly the overland flow equations are presented 4 1 Multi Phase Flow Equations The flow equations are a set of mass balance and momentum balance Darcy s Law equations given respectively by 9 a g Pi V Vi Qi 0 4 1 Vi Aie Vpi pig 0 4 2 for i 0 np 1 np 1 2 3 where kkri A 4 3 Hi g 0 0 g 4 4 Table 4 1 defines the symbols in the above equations and outlines the symbol dependencies and units Here describes the fluid capacity of the porous medium and S describes the content of phase 1 in the porous medium where we have that 0 lt 49 lt 1 and 0 lt S lt 1 The coefficient k is considered a scalar here We also assume that p and u are constant Also note that in PARFLOW we assume that the relative permeability is given as k S The Darcy velocity vector is related to the velocity vector vi by the following V 68 4 5 35 36 CHAPTER 4 MODEL EQUATIONS Table 4 1 Notation and units for flow equations symbol quantity units Q T t porosity S T t saturation V 2 t Darcy velocity vector OA aa Qi Z t source sink T1 i mobility LTM Dile t pressure ML 1T Pi mass density ML g
5. 0 double Phase phase name Density CompressibilityConstant no default This key specifies the phase compressibility constant if an equation of state density function is specified for the phase phase name Example Useage pfset Phase water Density CompressibilityConstant 1 0 string Phase phase_name Viscosity Type Constant This key specifies whether viscosity will be a constant value Currently the only choice for this key is Constant Example Useage pfset Phase water Viscosity Type Constant double Phase phase name Viscosity Value no default This specifies the value of viscosity if this phase was specified to have a constant viscosity value Example Useage pfset Phase water Viscosity Value 1 0 5 1 8 Chemical Reactions double Contaminants contaminant_name Degradation Value no default This key specifies the half life decay rate of the named contaminant contaminant_name At present only first order decay reactions are implemented and it is assumed that one contaminant cannot decay into another Example Useage pfset Contaminants tce Degradation Value 0 0 5 1 MAIN INPUT FILE PFTCL 53 5 1 9 Permeability In this section permeability property values are assigned to grid points within geometries specified in 5 1 2 above using one of the methods described below Permeabilities are assumed to be a diagonal tensor with entries given as k x 0 0 0 ky x 0 K x 0 O k x where K x is the permeabili
6. 5 1 10 Porosity Here porosity values are assigned within geounits specified in 5 1 2 above using one of the methods described below The format for this section of input is list Geom Porosity GeomNames no default This key specifies all of the geometries on which a porosity will be assigned These geometries must cover the entire computational domain Example Useage pfset Geom Porosity GeomNames background string Geom geometry_name Porosity Type no default This key specifies which method is to be used to assign porosity data to the named geometry geometry_name The only choice currently available is Constant which indicates that a constant is to be assigned to all grid cells within a geometry Example Useage pfset Geom background Porosity Type Constant double Geom geometry_name Porosity Value no default This key specifies the value assigned to all points in the named geometry geometry_name if the type was set to constant Example Useage pfset Geom domain Porosity Value 1 0 5 1 11 Specific Storage Here specific storage Ss in Equation 4 28 values are assigned within geounits specified in 5 1 2 above using one of the methods described below The format for this section of input is list Specific Storage GeomNames no default This key specifies all of the geometries on which a different specific storage value will be 60 CHAPTER 5 PARFLOW FILES assigned These geometries must cover the entire co
7. PARFLOW input file The basic idea behind PARFLOW input is a simple database The database contains entries which have a key and a value associated with that key This is very similiar in nature to the Windows XP Vista registry and several other systems When PARFLOW runs it queries the database you have created by key names to get the values you have specified The command pfset is used to create the database entries A simple PARFLOW input script contains a long list of pfset commands It should be noted that the keys are dynamic in that many are built up from values of other keys For example if you have two wells named northwell and southwell then you will have to set some keys which specify the parameters for each well The keys are built up in a simple sort of heirarchy The following sections contain a description of all of the keys used by PARFLOW For an example of input files you can look at the test subdirectory of the PARFLOW distribution Looking over some examples should give you a good feel for how the file scripts are put together Each key s entry has the form type KeyName default value Description Example Useage The type is one of integer double string list Integer and double are IEEE numbers String is a text string for example a filename Strings can contain spaces if you use the proper TCL syntax i e using double quotes These types are standard TCL types Lists are strings but they indicate the
8. Perm Seed 1 integer Geom geometry_name Perm NumLines 100 This key specifies the number of lines to be used in the Turning Bands algorithm for the named geometry geometry_name Example Useage pfset Geom domain Perm NumLines 100 56 CHAPTER 5 PARFLOW FILES double Geom geometry_name Perm RZeta 5 0 This key specifies the resolution of the line processes in terms of the minimum grid spacing to be used in the Turning Bands algorithm for the named geometry geometry_name Large values imply high resolution Example Useage pfset Geom domain Perm RZeta 5 0 double Geom geometry_name Perm KMax 100 0 This key specifies the the maximum normalized frequency Kmax to be used in the Turning Bands algorithm for the named geometry geometry_name Example Useage pfset Geom domain Perm KMax 100 0 double Geom geometry_name Perm DelK 0 2 This key specifies the normalized frequency increment K to be used in the Turning Bands algorithm for the named geometry geometry_name Example Useage pfset Geom domain Perm DelK 0 2 integer Geom geometry_name Perm MaxNPts no default This key sets limits on the number of simulated points in the search neighborhood to be used in the Parallel Gaussian Simulator for the named geometry geometry_name Example Useage pfset Geom domain Perm MaxNPts 5 integer Geom geometry_name Perm MaxCpts no default This key sets limits on the number of external conditioning points in the search neig
9. Phase phase_name Mobility IrreducibleSaturation 0 0 This key specifies the irreducible saturation used in a polynomial representation of the relative permeability Currently only a value of 0 0 is allowed for this key Example Useage pfset Phase water Mobility IrreducibleSaturation 0 0 5 1 16 Richards Equation Relative Permeabilities The following keys are used to describe relative permeability input for the Richards equation implementation They will be ignored if a full two phase formulation is used string Phase RelPerm Type no default This key specifies the type of relative permeability function that will be used on all specified geometries Note that only one type of relative permeability may be used for the entire problem However parameters may be different for that type in different geometries For instance if the problem consists of three geometries then VanGenuchten may be specified with three different sets of parameters for the three different goemetries However once VanGenuchten is specified one geometry cannot later be specified to have Data as its relative permeability The possible values for this key are Constant VanGenuchten Haverkamp Data and Polynomial Example Useage pfset Phase RelPerm Type Constant The various possible functions are defined as follows The Constant specification means that the relative permeability will be constant on the specified geounit The VanGenuchten specifica tion means
10. Useage pfset Geom domain Saturation FileName domain_sats pfb 72 CHAPTER 5 PARFLOW FILES 5 1 20 Internal Boundary Conditions In this section we define internal Dirichlet boundary conditions by setting the pressure at points in the domain The format for this section of input is string InternalBC Names no default This key specifies the names for the internal boundary conditions At each named point x y and z will specify the coordinate locations and h will specify the hydraulic head value of the condition This real location is snapped to the nearest gridpoint in PARFLOW NOTE Currently PARFLOW assumes that internal boundary conditions and pressure wells are separated by at least one cell from any external boundary The user should be careful of this when defining the input file and grid Example Useage pfset InternalBC Names fixedvalue double InternalBC internal bc_name X no default This key specifies the x coordinate x of the named internal_bc_name condition Example Useage pfset InternalBC fixedheadvalue X 40 0 double InternalBC internal bc_name Y no default This key specifies the y coordinate y of the named internal_bc_name condition Example Useage pfset InternalBC fixedheadvalue Y 65 2 double InternalBC internal_bc_name Z no default This key specifies the z coordinate z of the named internal_bc_name condition Example Useage pfset InternalBC fixedheadvalue Z 12 1 double Inte
11. algorithm Example Useage pfset Solver AbsTol 1E 8 5 1 MAIN INPUT FILE PFTCL 89 double Solver Drop 1E 8 This key gives a clipping value for data written to PFSB files Data values greater than the negative of this value and less than the value itself are treated as zero and not written to PFSB files Example Useage pfset Solver Drop 1E 6 string Solver PrintSubsurf True This key is used to turn on printing of the subsurface data Permeability and Porosity The data is printed after it is generated and before the main time stepping loop only once during the run The data is written as a PFB file Example Useage pfset Solver PrintSubsurf False string Solver PrintPressure True This key is used to turn on printing of the pressure data The printing of the data is controlled by values in the timing information section The data is written as a PFB file Example Useage pfset Solver PrintPressure False string Solver PrintVelocities False This key is used to turn on printing of the x y and z velocity data The printing of the data is controlled by values in the timing information section The data is written as a PFB file Example Useage pfset Solver PrintVelocities True string Solver PrintSaturation True This key is used to turn on printing of the saturation data The printing of the data is controlled by values in the timing information section The data is written as a PFB file Example Useage p
12. csh like shell you will need the following in your cshrc file setenv PARFLOW_DIR parflow The variable PARFLOW_DIR specifies the location of the installed version of PARFLOW This is where executables and support files will be placed If you have a directory which is shared on multiple architectures you can set different PARFLOW_DIRs on the different machines for example parflow archi and parflow arch2 We will use the parflow directory as the root directory for building PARFLOw in this user manual you can use a different directory if you wish 2 Extract the source Extract the source files from the distribution compressed tar file This example assumes the parflow tar Z file is in your home directory and you are building it in a directory parf low mkdir parflow cd parflow gunzip parflow tar Z tar xvf parflow tar 3 Build and install PARFLOW This step builds the PARFLOw library and executable that runs on the nodes of the parallel machine The library is used when PARFLOW is used as a component of another simulation e g WRF cd PARFLOW_DIR cd pfsimulator configure prefix PARFLOW_DIR with amps mpil make make install This will build a parallel version of parflow using the MPI1 libraries You can control build options for parflow use configure help to see other configure options Note that PARFLOW defaults to building a sequential version so with amps is needed when building for a par
13. domain pfset TopoSlopesX Geom domain Value 0 001 pfset TopoSlopesY Type Constant pfset TopoSlopesY GeomNames domain pfset TopoSlopesY Geom domain Value 0 001 Example of setting x and y slopes by file pfset TopoSlopesX Type PFBFile pfset TopoSlopesX GeomNames domain pfset TopoSlopesX FileName lw 1km slope_x pfb pfset TopoSlopesY Type PFBFile pfset TopoSlopesY GeomNames domain pfset TopoSlopesY FileName lw 1km slope_y pfb 5 1 14 Retardation Here retardation values are assigned for contaminants within geounits specified in 5 1 2 above using one of the functions described below The format for this section of input is list Geom Retardation GeomNames no default This key specifies all of the geometries to which the contaminants will have a retardation function applied Example Useage 5 1 MAIN INPUT FILE PFTCL 63 pfset GeomInput Names background string Geom geometry_name contaminant_name Retardation Type no default This key specifies which function is to be used to compute the retardation for the named con taminant contaminant_name in the named geometry geometry_name The only choice currently available is Linear which indicates that a simple linear retardation function is to be used to com pute the retardation Example Useage pfset Geom background tce Retardation Type Linear double Geom geometry_name contaminant_name Retardation Value no default This key specifies the distribution coe
14. filename pfset GeomInput solidinput InputType SolidFile 5 1 MAIN INPUT FILE PFTCL 47 The names of the geometries contained in the solid file Order is important and defines the mapping First geometry gets the first name pfset GeomInput solidinput GeomNames domain bottomlayer middlelayer toplayer Filename that contains the geometry pfset GeomInput solidinput FileName ocwd pfsol Order is important here must match what is solid file what is printed by the conversion routine pfset Geom domain Patches henry frank jane betsy al nellie An indicator field is a 3D field of values The values within the field can be mapped to ParFlow geometries Indicator fields must match the computation grid exactly pfset GeomInput indinput InputType IndicatorField pfset GeomInput indinput GeomNames sourceregion concenregion pfset GeomInput indinput FileName ocwd pfb Here we set up the mapping between values in the field and ParFlow geometries pfset GeomInput sourceregion Value 11 pfset GeomInput concenregion Value 21 A box is just a box defined by two points pfset GeomInput boxinput InputType Box pfset GeomInput boxinput GeomName background pfset Geom background Lower X 1 0 pfset Geom background Lower Y 1 0 pfset Geom background Lower Z 1 20 48 CHAPTER 5 PARFLOW FILES pfset Geom background Upper X 151 0 pfset Geom background Upper Y 17
15. is lt double X gt lt double Y gt lt double Z gt lt integer NX gt lt integer NY gt lt integer NZ gt lt double DX gt lt double DY gt lt double DZ gt lt integer num_subgrids gt FOR subgrid 0 TO lt num_subgrids gt 1 BEGIN lt integer ix gt lt integer iy gt lt integer iz gt lt integer nx gt lt integer ny gt lt integer nz gt lt integer rx gt lt integer ry gt lt integer rz gt lt integer num_nonzero_data gt FOR k iz TO iz lt nz gt 1 BEGIN FOR j iy TO iy lt ny gt 1 BEGIN FOR i ix TO ix lt nx gt 1 BEGIN IF lt data_ijk gt gt tolerance BEGIN lt integer i gt lt integer j gt lt integer k gt 5 4 PARFLOW SOLID FILES PFSOL lt double data_ijk gt END END END END END 5 4 ParFlow Solid Files pfsol 97 The pfsol file format is an ASCII file format which is used to define 3D solids The solids are represented by closed triangulated surfaces and surface patches may be associated with each solid Note that unlike the user input files the solid file cannot contain comment lines The format for the file is lt integer file_version_number gt lt integer num_vertices gt Vertices FOR vertex O TO lt num_vertices gt 1 BEGIN lt real x gt lt real y gt lt real z gt END Solids lt integer num_solids gt FOR solid 0 TO lt num_solids gt 1 BEGIN Triangles l
16. is selected Example Useage pfset TimeStep InitialStep 0 001 double TimeStep GrowthFactor no default This key specifies the growth factor y by which a time step will be multiplied to get the new time step when the Growth type time step is selected Example Useage pfset TimeStep GrowthFactor 1 5 double TimeStep MaxStep no default This key specifies the maximum time step allowed dtmaz when the Growth type time step is selected Example Useage 50 CHAPTER 5 PARFLOW FILES pfset TimeStep MaxStep 86400 double TimeStep MinStep no default This key specifies the minimum time step allowed dtmin when the Growth type time step is selected Example Useage pfset TimeStep MinStep 1 0e 3 5 1 4 Time Cycles The data given in the time cycle section describe how time intervals are created and named to be used for time dependent boundary and well information needed by PARFLOw All the time cycles are synched to the TimingInfo BaseUnit key described above and are integer multipliers of that value list CycleNames no default This key is used to specify the named time cycles to be used in a simulation It is a list of names and each name defines a time cycle and the number of items determines the total number of time cycles specified Each named cycle is described using a number of keys defined below Example Useage pfset Cycle Names constant onoff list Cycle cycle name Names no default This key is used to specify the named
17. permeability field on the union of the geometries into a single binary file Note that the permeability values must be represented in precisely the same configuration as the computational grid Then the same file could be specified for each geounit in the input file Or the computational domain could be described as a single geouint in the ParFlow input file in which case the permeability values would be read in only once Example Useage pfset Geom domain Perm FileName domain_perm pfb 58 CHAPTER 5 PARFLOW FILES string Perm TensorType no default This key specifies whether the permeability tensor entries kz ky and k will be specified as three constants within a set of regions covering the domain or whether the entries will be specified cell wise by files The choices for this key are TensorByGeom and TensorByFile Example Useage pfset Perm TensorType TensorByGeom string Geom Perm TensorByGeom Names no default This key specifies all of the geometries to which permeability tensor entries will be assigned These geometries must cover the entire computational domain Example Useage pfset Geom Perm TensorByGeom Names background domain double Geom geometry_name Perm TensorValX no default This key specifies the value of k for the geometry given by geometry_name Example Useage pfset Geom domain Perm TensorValX 1 0 double Geom geometry name Perm TensorValY no default This key specifies the value of k for the geom
18. problem where phase 0 is the water phase Example Useage pfset Patch left BCSaturation water Type ConstantWTHeight double Patch patch_name BCSaturation phase_name Value no default This key specifies either the constant saturation value if DirConstant is selected or the constant water table height if ConstantWTHeight is selected Example Useage pfset Patch top BCSaturation air Value 1 0 double Patch patch_ name BCSaturation phase_name XLower no default This key specifies the lower x coordinate of a line in the xy plane if type PLinearW THeight boundary conditions are specified Example Useage pfset Patch left BCSaturation water XLower 10 0 double Patch patch_ name BCSaturation phase_name Y Lower no default This key specifies the lower y coordinate of a line in the xy plane if type PLinearW THeight boundary conditions are specified Example Useage pfset Patch left BCSaturation water YLower 5 0 double Patch patch_ name BCSaturation phase name XUpper no default This key specifies the upper x coordinate of a line in the xy plane if type PLinearWT Height boundary conditions are specified Example Useage pfset Patch left BCSaturation water XUpper 125 0 double Patch patch name BCSaturation phase name Y Upper no default This key specifies the upper y coordinate of a line in the xy plane if type PLinearWT Height boundary conditions are specified Example Useage 78 CHAPTER 5 PARFLOW FILES pfset Patch left
19. readable Transparent copy along with each Opaque copy or state in or with each Opaque copy a computer network location from which the general network using public has access to download using public standard network protocols a complete Transparent copy of the Document free of added material If you use the latter option you must take reasonably prudent steps when you begin distribution of Opaque copies in quantity to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time 106 CHAPTER 6 GNU FREE DOCUMENTATION LICENSE you distribute an Opaque copy directly or through your agents or retailers of that edition to the public It is requested but not required that you contact the authors of the Document well before redistributing any large number of copies to give them a chance to provide you with an updated version of the Document 4 MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sec tions 2 and 3 above provided that you release the Modified Version under precisely this License with the Modified Version filling the role of the Document thus licensing distribution and modifi cation of the Modified Version to whoever possesses a copy of it In addition you must do these things in the Modified Version A Use in the Title Page and on the covers if any a title distinct from that of the Document and from thos
20. run PARFLOW you use a script written in Tcl TK This script has a lot of flexibility as it is somewhere in between a program and a user interface The tcl script gives PARFLOW the data it requires or tells PARFLOW where to find or read in that data and also tells PARFLOW to run As stated above the tcl script for the Cape Cod simulation is called harvey flow tcl When the script runs it creates a new directory named flow right in the directory where the tcl script is stored PARFLOW then puts all its output in flow Of course you can change the name and location of this output directory by modifying the tcl script that runs PARFLOW To run the simulation 1 make any modifications to the tcl input script and give a new name if you want to 2 save the tcl script 3 For Windows double click on it to run PARFLOW 4 For Linux Unix OSX invoke the script from the command line using the tcl shell this looks like gt tclsh harvey_flow tcl 5 Wait patiently for a small empty square window to appear Windows or the command prompt to return Linux Unix OSX indicating that PARFLOW has finished Intermediate files are written as the simulation runs however there is no other indication that PARFLOW is running To modify a tcl script you right click and select edit from the menu If you select open you will run the script Note The units for K 1m d usually are critical to the entire construction These length and time units for K set
21. section of input is string ICSaturation phase_name Type no default This key specifies the type of initial condition that will be applied to different geometries for given phase phase_name The only key currently available is Constant The choice Constant will apply constants values within geometries for the phase Example Useage ICSaturation water Type Constant string ICSaturation phase name GeomNames no default This key specifies the geometries on which an initial condition will be given if the type is set to Constant Note that geometries listed later overlay geometries listed earlier Example Useage 5 1 MAIN INPUT FILE PFTCL 79 ICSaturation water GeomNames domain double Geom geom input_name ICSaturation phase name Value no default This key specifies the initial condition value assigned to all points in the named geometry geom_input_name if the type was set to Constant Example Useage Geom domain ICSaturation water Value 1 0 5 1 24 Initial Conditions Pressure The keys in this section are used to specify pressure initial conditions for Richards equation cases only These keys will be ignored if any other case is run string ICPressure Type no default This key specifies the type of initial condition given The choices for this key are Constant HydroStaticDepth HydroStaticPatch and PFBFile The choice Constant specifies that the initial pressure will be constant over the regions given The c
22. specifies the fraction of the extracted contaminant which gets resupplied to the injec tion well Example Useage Wells inj_well all_time Injection Concentration water tce Fraction 0 01 Multiple wells assigned to one grid location can occur in several instances The current actions taken by the code are as follows e If multiple pressure wells are assigned to one grid cell the code retains only the last set of overlapping well values entered e If multiple flux wells are assigned to one grid cell the code sums the contributions of all overlapping wells to get one effective well flux e If multiple pressure and flux wells are assigned to one grid cell the code retains the last set of overlapping hydrostatic pressure values entered and sums all the overlapping flux well values to get an effective pressure flux well value 5 1 28 Code Parameters In addition to input keys related to the physics capabilities and modeling specifics there are some key values used by various algorithms and general control flags for PARFLOW These are described next string Solver Linear PCG This key specifies the linear solver used for solver IMPES Choices for this key are MGSemi PPCG PCG and CGHS The choice MGSemi is an algebraic mulitgrid linear solver not a preconditioned conjugate gradient which may be less robust than PCG as described in 1 The choice PPCG is a preconditioned conjugate gradient solver The choice PCG is a conjugate gradient
23. this key are NoVerbosity Low Verbosity NormalVerbosity and HighVer bosity The choice NoVerbosity prints no statistics about the nonlinear convergence process The choice LowVerbosity outputs the nonlinear iteration count the scaled norm of the nonlinear function and the number of function calls The choice NormalVerbosity prints the same as for LowVerbosity and also the global strategy statistics The choice High Verbosity prints the same as for NormalVerbosity with the addition of further Krylov iteration statistics Example Useage pfset Solver Nonlinear PrintFlag NormalVerbosity string Solver Nonlinear EtaChoice Walker2 This key specifies how the linear system tolerance will be selected The linear system is solved until a relative residual reduction of y is achieved Linear residuall norms are measured in the 12 norm Choices for this key include EtaConstant Walkerl and Walker2 If the choice EtaConstant is specified then 7 will be taken as constant The choices Walker1 and Walker2 specify choices for 7 developed by Eisenstat and Walker 4 The choice Walker1 specifies that 7 will be given by F u Flu 1 J u 0 x pl F u 1 The choice Walker2 specifies that 7 will be given by y F u F u 1 For both of the last two choices 7 is never allowed to be less than 1e 4 Example Useage p set Solver Nonlinear EtaChoice EtaConstant double Solver Nonlinear EtaValue le 4 This key specifies the co
24. 1 0 pfset Geom background Upper Z 11 0 Order is fixed but you can change the name pfset Geom background Patches left right front back bottom top 5 1 3 Timing Information The data given in the timing section describe all the temporal information needed by PARFLOW The data items are used to describe time units for later sections sequence iterations in time indicate actual starting and stopping values and give instructions on when data is printed out double TimingInfo BaseUnit no default This key is used to indicate the smallest common unit of time for describing time cycling data in currently the well and boundary condition sections The lengths of the cycles in those sections will be integer multiples of this value therefore it needs to be the smallest divisor which produces an integral result for every real time cycle interval length needed Example Useage pfset Timinglnfo BaseUnit 1 0 integer TimingInfo StartCount no default This key is used to indicate the time step number that will be associated with the first advection cycle in a transient problem The value 1 indicates that advection is not to be done The value O indicates that advection should begin with the given initial conditions Values greater than 0 are intended to mean restart from some previous checkpoint time step but this has not yet been implemented Example Useage pfset TimingInfo StartCount 0 double Timing
25. 5 Richards Equation The form of Richards equation implemented in PARFLOW is given as Op O S p p p 4 S p Ss At r V K p ol p Vp p p 9 Q in Q 4 28 40 CHAPTER 4 MODEL EQUATIONS where Q is the flow domain p is the pressure head of water L S is the water saturation Ss is the specific storage coefficient L is the porosity of the medium K p is the hydraulic conductivity tensor LT and Q is the water source sink term L T includes wells and surface fluxes The hydraulic conductivity can be written as kk K p 4 29 Boundary conditions can be stated as p pp onT 4 30 K p Vp nh gN on eae 4 31 where PP UTN 90 I 4 and n is an outward pointing unit normal vector to Q This is the mixed form of Richards equation Note here that due to the constant or passive air phase pressure assumption Richards equation ignores the air phase except through its effects on the hydraulic conductivity K An initial condition p p x t 0 4 32 completes the specification of the problem 4 6 Overland Flow As detailed in 7 PARFLOW may simulate fully coupled surface and subsurface flow via an overland flow boundary condition While complete details of this approach are given in that paper a brief summary of the equations solved are presented here Shallow overland flow is now represented in PARFLOW by the kimematic wave equation In two spatial dimension
26. 90 95 compilers such as Intel or Porland Group to match hardware specifics for performance reasons or simply personal preference To change compilers set the CC FC and F77 variables these may include a path too For example to change to the Intel compilers in c shell setenv CC icc setenv FC ifort setenv F77 ifort 2 2 Running the Sample Problem Here we assume that PARFLOW is already built The following steps will allow you to run a simple test problem supplied with the distribution 1 We first create a directory in which to run the problem then copy into it some supplied default input files So do the following anywhere in your HOME directory mkdir foo cd foo cp PARFLOW_DIR test default_single tcl chmod 640 We used the directory name foo above you may use any name you wish The last line changes the permissions of the files so that you may write to them 2 Run PARFLOW using the pftcl file as a TCL script tclsh default_single tcl You have now successfully run a simple PARFLOW problem For more information on running PARFLOW see 3 2 2 3 PARFLOW SOLVERS Y Adding a Pumping Well Let us change the input problem by adding a pumping well 1 Edit the file default_single tcl using your favorite text editor 2 Add the following lines to the input file near where the existing well information is in the input file You need to replace the Wells Names line with the one included here to get both wells acti
27. A Newton Krylov Multigrid solver for variably saturated flow prob lems In Proceedings of the XIIth International Conference on Computational Methods in Water Resources June Woodward C S K E Grant and R Maxwell 2002 Applications of Sensitivity Analysis to Uncertainty Quantification for Variably Saturated Flow In Proccedings of the XIVth Interna tional Conference on Computational Methods in Water Resources Amsterdam The Nether lands June
28. BCSaturation water YUpper 82 0 integer Patch patch_name BCPressure phase_name NumPoints no default This key specifies the number of points on which saturation data is given along the line used for type DirEquilPLinear boundary conditions Example Useage pfset Patch left BCPressure water NumPoints 2 double Patch patch name BCPressure phase_name point_number Location no default This key specifies a number between 0 and 1 which represents the location of a point on the line for which data is given in type DirEquilPLinear boundary conditions The line is parameterized so that 0 corresponds to the lower end of the line and 1 corresponds to the upper end Example Useage pfset Patch left BCPressure water 0 Location 0 333 double Patch patch name BCPressure phase_name point_number Value no default This key specifies the water table height for the given point if type DirEquilP Linear boundary conditions are selected All saturation values on the patch are determined by first projecting the water table height value onto the line then linearly interpolating between the neighboring water table height values onto the line Example Useage pfset Patch left BCPressure water 0 Value 4 5 5 1 23 Initial Conditions Phase Saturations Note this section needs to be defined only for multi phase flow and should not be defined for single phase and Richards equation cases Here we define initial phase saturation conditions The format for this
29. CPressure rec FileName bc flux test 0 pfb PARFLOW may also be coupled with the land surface model CLM 2 This version of CLM has been extensively modified to be called from within PARFLOW as a subroutine to support parallel infrastructure including I O and most importantly with modified physics to support coupled operation to best utilize the more sophisticated physics in PARFLOW 11 8 To couple CLM into PARFLOW first the with clm option is needed in the configure command as indicated in 2 1 Second the CLM module needs to be called from within PARFLOw this is done using the following solver key 2 3 PARFLOW SOLVERS 9 pfset Solver LSM CLM Note that this key is used to call CLM from within the nonlinear solver time loop and requires that the solver bet set to RICHARDS to work Note also that this key defaults to not call CLM so if this line is omitted CLM will not be called from within PARFLOW even if compiled and linked Currently CLM gets some of it s information from PARFLOW such as grid topology and discretization but also has some of it s own input files for land cover land cover types and atmospheric forcing 10 CHAPTER 2 GETTING STARTED Chapter 3 The ParFlow System The PARFLOW system is still evolving but here we discuss how to define the problem in 3 1 how to run PARFLOW in 3 2 and options for to visualizing the results in 3 4 There is also a utility providing a set of functions for manipulatin
30. ComputationalGrid NZ 100 3 7 ANNOTATED INPUT SCRIPT 23 This next piece is comparable to a pre declaration of variables These will be areas in our domain geometry The regions themselves will be defined later You must always have one that is the name of your entire domain If you want subsections within your domain you may declare these as well For Cape Cod we have the entire domain and also the 2 upper and lower permeability zones in the aquifer pfset GeomInput Names domain_input upper_aquifer_input lower_aquifer_input Now you characterize your domain that you just pre declared to be a box see 5 1 2 and you also give it a name domain pfset GeomInput domain_input InputType Box pfset GeomInput domain_input GeomName domain Here you set the limits in space for your entire domain The span from Lower X to Upper X will be equal to the product of ComputationalGrid DX times ComputationalGrid NX Same for Y and Z i e the number of grid elements times size of the grid element has to equal the size of the grid in each dimension The Patches command assigns names to the outside edges because the domain is the limit of the problem in space pfset Geom domain Lower X 0 0 pfset Geom domain Lower Y 0 0 pfset Geom domain Lower Z 0 0 pfset Geom domain Upper X 17 0 pfset Geom domain Upper pfset Geom domain Upper Z 3 8 lt Pp o N pfset Geom domain Patches left right front back bottom top Just like domain geometry yo
31. END END LINE BEGIN FOR phase O TO lt number_of_phases gt 1 BEGIN lt real saturation_statistic gt END END LINE BEGIN FOR phase O TO lt number_of_phases gt 1 BEGIN FOR component O TO lt number_of_components gt 1 102 CHAPTER 5 PARFLOW FILES BEGIN lt real component_statistic gt END END END LINE BEGIN FOR phase O TO lt number_of_phases gt 1 BEGIN FOR component O TO lt number_of_components gt 1 BEGIN lt real concentration_data gt END END END END END END Chapter 6 GNU Free Documentation License Version 1 3 3 November 2008 Copyright c 2000 2001 2002 2007 2008 Free Software Foundation Inc http fsf org Everyone is permitted to copy and distribute verbatim copies of this license document but changing it is not allowed Preamble The purpose of this License is to make a manual textbook or other functional and useful document free in the sense of freedom to assure everyone the effective freedom to copy and redistribute it with or without modifying it either commercially or noncommercially Secondarily this License preserves for the author and publisher a way to get credit for their work while not being considered responsible for modifications made by others This License is a kind of copyleft which means that derivative works of the document must themselves be free in the same sense It complements the GNU General Public License which is a
32. Info StartTime no default This key is used to indicate the starting time for the simulation Example Useage pfset Timinglnfo StartTime 0 0 double TimingInfo StopTime no default This key is used to indicate the stopping time for the simulation Example Useage pfset TimingInfo StopTime 100 0 5 1 MAIN INPUT FILE PFTCL 49 double TimingInfo DumpInterval no default This key is the real time interval at which time dependent output should be written A value of O will produce undefined behavior If the value is negative output will be dumped out every n time steps where n is the absolute value of the integer part of the value Example Useage pfset TimingInfo DumpInterval 10 0 For Richards equation cases only input is collected for time step selection Input for this section is given as follows list TimeStep Type no default This key must be one of Constant or Growth The value Constant defines a constant time step The value Growth defines a time step that starts as dtp and is defined for other steps as dre yd such that di lt dtmax and dt gt dtmin Example Useage pfset TimeStep Type Constant double TimeStep Value no default This key is used only if a constant time step is selected and indicates the value of the time step for all steps taken Example Useage pfset TimeStep Value 0 001 double TimeStep InitialStep no default This key specifies the initial time step dto if the Growth type time step
33. PARFLOW User s Manual Software May 2009 Reed M Maxwell Stefan J Kollet Steven G Smith Carol S Woodward Robert D Falgout Chuck Baldwin William J Bosl Richard Hornung Steven Ashby 1 Department of Geology and Geologic Engineering Colorado School of Mines Golden CO USA rmaxwell mines edu 2 Meteorological Institute Bonn University Bonn Germany stefan kollet uni bonn de 3 Center for Applied Scientific Computing Lawrence Livermore National Laboratory Liv ermore CA USA sgsmith lln gov 1Center for Applied Scientific Computing Lawrence Livermore National Laboratory Liv ermore CA USA cswoodward llnl gov Center for Applied Scientific Computing Lawrence Livermore National Laboratory Liv ermore CA USA Children s Hospital Informatics Program Harvard Medical School Boston MA USA Center for Applied Scientific Computing Lawrence Livermore National Laboratory Liv ermore CA USA 8 Pacific Northwest National Laboratory Richland WA USA ParFlow is released under the GNU LPGL License Version 1 3 3 November 2008 Copyright c 2000 2001 2002 2007 2008 Free Software Foundation Inc http fsf org This manual is licensed under the GNU Free Documentation License Copyright 2009 Reed M Maxwell Stefan J Kollet Steven G Smith Carol S Woodward Permission is granted to copy distribute and or modify this document under the terms of the GNU Free Documentation Licens
34. PARFLOW will ensure that the flux field satisfies this condition in the computational cells which define the well Example Useage Wells inj_well InjectionType Flux double Wells well_name X no default This key specifies the x location of the vectical well if the input type is set to Vectical or of both the extraction and injection wells if the input type is set to Recirc Example Useage Wells test_well X 20 0 double Wells well_name Y no default This key specifies the y location of the vectical well if the input type is set to Vectical or of both the extraction and injection wells if the input type is set to Recirc Example Useage Wells test_well Y 36 5 84 CHAPTER 5 PARFLOW FILES double Wells wellname ZUpper no default This key specifies the z location of the upper extent of a vectical well if the input type is set to Vectical Example Useage Wells test_well ZUpper 8 0 double Wells wellname ExtractionZUpper no default This key specifies the z location of the upper extent of a extraction well if the input type is set to Recirc Example Useage Wells ext_well ExtractionZUpper 3 0 double Wells well name InjectionZUpper no default This key specifies the z location of the upper extent of a injection well if the input type is set to Recirc Example Useage Wells inj_well InjectionZUpper 6 0 double Wells welllname ZLower no default This key specifies the z location of the lower extent of a vectical well
35. Parklow e ett Ra AA ee a pa pe 2 2 Running the Sample Problem e 2 3 ParFlow Solvers e R e aE AEE TE 3 The ParFlow System 3 1 Defining the Problem 0 002 eee ee ees 3 21 Running RarFloWw Si e ge 200 AAA BS Peale Ga ee Bo aed es aed 3 9 a Restarting a RUN A ee A a Bete gee tke Bekele ee Bocce ee Seek Bee 3 4 Visualizing Output 2 a a e aa ae ee a e puie a oa 3 5 Manipulating Data 3 5 1 Introduction to the PARFLOw TCL commands PFTCL 359 2 PETOG Commands woi p pna a Ge dee ee ig ee BA A ee ee 3 6 Directory of Test Cases 3 7 Annotated Input Script 4 Model Equations 4 1 Multi Phase Flow Equations 0 20 0 00000 eee eee AD lransport quations oes a 2 a eee eg tee Aha a he es BE ed a Ae 4 3 Notation and Units oe n ee a aa aie e e ee 4 4 Steady State Saturated Groundwater Flow a A5 Richards Equation i minii a a tae a a S oe Ene ee as Raed 46 Overland EIOW joo tr A e do hoe ae ta a Oe ee Pees 5 ParFlow Files 5 1 Main Input Eiletpitios 141564 dd a 5 1 1 Input File Format Number e A o NR a DL Timine IntormabiOn uds 408 E E a e a Se ee ee Bree DA Time yal ic e ao en ce cha A eee Sl en ee Aa es 11 11 12 13 14 14 14 15 20 21 35 35 37 37 39 39 40 ii CONTENTS 5 1 5 Domain ce ba 46 Che Ke OA a ae Da ha ee eS 51 5 1 6 Phases and Contaminants 0 0 a a 51 5 1 7 Gravity Phase Density and Phase V
36. Turning Bands and Parallel Gaussian Simulators generate a random field with correlation lengths in the 3 spatial directions given by Az Ay and A with the geometric mean of the log normal field given by y and the standard deviation of the normal field given by o In generating the field both of these methods can be made to stratify the data that is follow the top or bottom surface The generated field can also be made so that the data is normal or log normal with or without bounds truncation Turning Bands uses a line process the number of lines used and the resolution of the process can be changed as well as the maximum normalized frequency Kyax and the normalized frequency increment K The Parallel Gaussian Simulator uses a search neighborhood the number of simulated points and the number of conditioning points can be changed Example Useage pfset Geom background Perm Type Constant double Geom geometry_name Perm Value no default This key specifies the value assigned to all points in the named geometry geometry_name if the type was set to constant Example Useage pfset Geom domain Perm Value 1 0 double Geom geometry_name Perm LambdaX no default This key specifies the x correlation length Az of the field generated for the named geometry geometry_name if either the Turning Bands or Parallel Gaussian Simulator are chosen Example Useage 5 1 MAIN INPUT FILE PFTCL 55 pfset Geom domain Perm LambdaX 200 0 double Geo
37. W we can use the units of equations 4 19 and 4 20 To be more precise let us denote PARFLOW input symbols by appending the symbols in table 4 1 with I and let y pog this is a typical definition Then we want k I yk po 4 21 pi pi po 4 22 pi pi po 4 24 g 1 1 4 25 By doing this k 1 represents hydraulic conductivity of the base phase Ko e g water under saturated conditions i e kro 1 4 4 Steady State Saturated Groundwater Flow Many groundwater problems are solved assuming steady state fully saturated groundwater flow This follows the form often written as V q Q z 4 26 where Q is the spatially variable source sink term to represent wells etc and q is the Darcy flux L T which is commonly written as q KVH 4 27 where K is the saturated hydraulic conductivity tensor LT and H L is the head potential Inspection of 4 1 and 4 2 show that these equations agree with the above formulation for a single phase i 1 fully satured S S 1 problem where the mobility A is set to the saturated hydraulic conductivity K above This is accomplished by setting the relative permeability and viscosity terms to unity in 4 3 as well as the gravity and density terms in 4 2 This is shown in the example in 3 7 but please note that the resulting solution is in pressure head h not head potential H and will still contain a hydrostatic pressure gradient in the z direction 4
38. a no default This key specifies the the y parameter for the Haverkamp relative permeability on geom_name Example Useage pfset Geom domain RelPerm Gamma 1 0 integer Geom geom_name RelPerm Degree no default This key specifies the degree of the polynomial for the Polynomial relative permeability given on geom_name Example Useage pfset Geom domain RelPerm Degree 1 double Geom geom_name RelPerm Coeff coeff_number no default This key specifies the coeff_numberth coefficient of the Polynomial relative permeability given on geom_name Example Useage pfset Geom domain RelPerm Coeff 0 0 5 pfset Geom domain RelPerm Coeff 1 1 0 NOTE For all these cases if only one region is to be used the domain the background region should NOT be set as that single region Using the background will prevent the upstream weighting from being correct near Dirichlet boundaries 5 1 17 Phase Sources The following keys are used to specify phase source terms The units of the source term are 1 T So for example to specify a region with constant flux rate of L T one must be careful to convert this rate to the proper units by dividing by the volume of the enclosing region For Richards equation input the source term must be given as a flux multiplied by density string PhaseSources phase_name Type no default This key specifies the type of source to use for phase phase_name Possible values for this key are Constant and PredefinedFunction Con
39. a dual segmented recirculating well with one segment being an extraction well and another being an injection well The extraction well filters out a specified fraction of each contaminant and recirculates the remain der to the injection well where the diluted fluid is injected back in The phase saturations at the extraction well are passed without modification to the injection well Note with the recirculating well several input options are not needed as the extraction well will provide these values to the injection well Example Useage Wells test_well InputType Vertical string Wells well_name Action no default This key specifies the pumping action of the well This key can be either Injection or Ex traction A value of Injection indicates that this is an injection well A value of Extraction indicates that this is an extraction well Example Useage Wells test_well Action Injection double Wells well_name Type no default This key specfies the mechanism by which the well works how PARFLOW works with the well data if the input type key is set to Vectical This key can be either Pressure or Flux A value of Pressure indicates that the data provided for the well is in terms of hydrostatic pressure and 5 1 MAIN INPUT FILE PFTCL 83 PARFLOW will ensure that the computed pressure field satisfies this condition in the computational cells which define the well A value of Flux indicates that the data provided is in terms of volumetr
40. a set represented by the identifier phead The identifier of the data set created by this operation is returned upon successful completion pfprintdata dataset This command executes pfgetgrid and pfgetelt in order to display all the elements in the data set represented by the identifier dataset pfprintdiff datasetp datasetq digits zero This command executes pfdiffelt and pfmdiff to print differences to standard output The differences are printed one per line along with the coordinates where they occur The last two lines displayed will show the point at which there is a minimum number of significant digits in the difference as well as the maximum absolute difference pfprintgrid dataset This command executes pfgetgrid and formats its output before printing it on the screen The triples nx ny nz x y z and dx dy dz are all printed on seperate lines along with labels describing each pfprintlist dataset This command executes pflistdata and formats the output of that command The formatted output is then printed on the screen The output consists of a list of data sets and their labels one per line if no argument was given or just one data set if an identifier was given pfprintmdiff datasetp datasetq digits zero This command executes pfmdiff and formats that command s output before displaying it on the screen Given the search criteria a line displaying the point at which t
41. ad no cover texts or invariant sections and 2 were thus incorporated prior to November 1 2008 The operator of an MMC Site may republish an MMC contained in the site under CC BY SA on the same site at any time before August 1 2009 provided the MMC is eligible for relicensing Bibliography 1 2 10 Ashby S F and R D Falgout 1996 A parallel multigrid preconditioned conjugate gradient algorithm for groundwater flow simulations Nuclear Science and Engineering 124 145 159 Dai Y X Zeng R E Dickinson I Baker G B Bonan M G Bosilovich A S Denning P A Dirmeyer P R G Niu K W Oleson C A Schlosser and Z L Yang 2003 The common land model The Bulletin of the American Meteorological Society 84 8 1013 1023 de Barros F P J Rubin Y and Maxwell R M 2009 The concept of comparative informa tion yield curves and their application to risk based site characterization em Water Resources Research doi 10 1029 2008WR007324 in press Eisenstat S C and H F Walker 1996 Choosing the forcing terms in an inexact newton method SIAM J Sci Comput 17 1 16 32 Haverkamp R and M Vauclin 1981 A comparative study of three forms of the Richard equation used for predicting one dimensional infiltration in unsaturated soil Soil Sci Soc of Am J 45 13 20 Jones J E and C S Woodward 2001 Newton krylov multigrid solvers for large scale highly heterogeneous variably saturated flow problem
42. ad values from a ParFlow Binary file see 5 2 Example Useage PhaseConcen water tce Type Constant string PhaseConcen phase_name GeomNames no default This key specifies the geometries on which an initial condition will be given if the type was set to Constant Note that geometries listed later overlay geometries listed earlier Example Useage 5 1 MAIN INPUT FILE PFTCL 81 PhaseConcen water GeomNames ic_concen_region double PhaseConcen phase_name contaminant_name geom_input_name Value no default This key specifies the initial condition value assigned to all points in the named geometry geom_input_name if the type was set to Constant Example Useage PhaseConcen water tce ic_concen_region Value 0 001 string PhaseConcen phase_name contaminant_name FileName no default This key specifies the name of the ParFlow Binary file which contains the initial condition values if the type was set to PFBFile Example Useage PhaseConcen water tce FileName initial_concen_tce pfb 5 1 26 Known Exact Solution For Richards equation cases only we allow specification of an exact solution to be used for testing the code Only types that have been coded and predefined are allowed Note that if this is speccified as something other than no known solution corresponding boundary conditions and phase sources should also be specified string KnownSolution no default This specifies the predefined function that wil
43. ain executable pfdir pfsimulator parflow_exe and a library pfdir pfsimulator parflow_lib where pfdir is the main directory location and is comprised of more than 190 separate source files PARFLOW is structured to allow it to be 2 CHAPTER 1 INTRODUCTION called from within another application e g WRF or as a stand alone application There is also a directory structure for the message passing layer pfdir pfsimulator amps for the associated tools pfdir pftools for CLM pfdir pfsimulator clm and a directory of test cases pfdir test This manual describes how to use PARFLOW and is intended for hydrologists geoscientists environmental scientists and engineers In Chapter 2 we describe how to install PARFLOw Then we lead the user through a simple PARFLOW run In Chapter 3 we describe the PARFLOW system in more detail Chapter 5 describes the formats of the various files used by PARFLOW Chapter 2 Getting Started This chapter is an introduction to setting up and running PARFLOw In 2 1 we describe how to install PARFLOW In 2 2 we lead the user through a simple groundwater problem supplied with the PARFLOW distribution 2 1 Installing ParFlow PARFLOW uses a configure make system based on the standard GNU autoconf configure system This replaces the home grown set of scripts used in previous versions and is much more portable to a range of machines For greater portability the PARFLOW build process seperates configuration and comp
44. allel computer You can explicitly specify 2 1 INSTALLING PARFLOW 5 the path to the MPI to use with the with mpi option to configure This controls AMPS which stands for Another Message Passing Sytem AMPS is a flexible message passing layer within PARFLOW that allows a common code core to be quickly and easily adapted to different parallel environments Build and install pftools pftools is a package of utilities and a TCL library that is used to setup and postprocess Parflow files The input files to PARFLOW are TCL scripts so TCL must be installed on the system The first command will build PARFLOW and the bundled tools and install them in the PARFLOW_DIR directory The second command will build and install the documentation A typical configure and build looks like cd PARFLOW_DIR cd pftools configure prefix PARFLOW_DIR with amps mpil make make install make doc_install Note that pftools is NOT parallel but some options for how files are written are based on the communication layer so pftools needs to have the same options that were used to build the PARFLOw library If TCL is not installed in the system locations usr or usr local you need to specify the path with the with tcl lt PATH gt configure option See configure help for additional configure options for pftools Running a sample problem There is a test directory that contains not only example scripts of PARFLOW problems but the correc
45. ames FOR IF and LINE and the beginning and end of each of these constructs is delimited by the keywords BEGIN and END The FOR construct is used to describe repeated input format patterns For example consider the following file format lt integer num_coordinates gt FOR coordinate O TO lt num_coordinates gt 1 BEGIN lt real x gt lt real y gt lt real z gt END The field lt num_coordinates gt is an integer specifying the number of coordinates to follow The FOR construct indicates that lt num_coordinates gt entries follow and each entry is composed of the Table 5 1 Field types field type ASCII binary integer integer XDR integer real real string string double IEEE 8 byte double float IEEE 4 byte float 41 42 CHAPTER 5 PARFLOW FILES three real fields lt x gt lt y gt and lt z gt Here is an example of a file with this format 3 2 0 1 0 3 5 1 0 1 1 3 1 2 5 3 0 3 7 The IF construct is actually an IF ELSE construct and is used to describe input format patterns that appear only under certain circumstances For example consider the following file format lt integer type gt IF lt type gt 0 BEGIN lt real x gt lt real y gt lt real z gt END ELSE IF lt type gt 1 BEGIN lt integer i gt lt integer j gt lt integer k gt END The field lt type gt is an integer specifying the type of input
46. ample Useage pfset Domain GeomName domain 5 1 6 Phases and Contaminants list Phase Names no default This specifies the names of phases to be modeled Currently only 1 or 2 phases may be modeled Example Useage pfset Phase Names water list Contaminant Names no default This specifies the names of contaminants to be advected Example Useage pfset Contaminants Names tce 5 1 7 Gravity Phase Density and Phase Viscosity double Gravity no default Specifies the gravity constant to be used Example Useage pfset Gravity 1 0 string Phase phase_name Density Type no default This key specifies whether density will be a constant value or if it will be given by an equation of state of the form rd exp cP where P is pressure rd is the density at atmospheric pressure and c is the phase compressibility constant This key must be either Constant or EquationOfState Example Useage pfset Phase water Density Type Constant double Phase phase_name Density Value no default This specifies the value of density if this phase was specified to have a constant density value 52 CHAPTER 5 PARFLOW FILES for the phase phase_name Example Useage pfset Phase water Density Value 1 0 double Phase phase name Density ReferenceDensity no default This key specifies the reference density if an equation of state density function is specified for the phase phase_name Example Useage pfset Phase water Density ReferenceDensity 1
47. andFlow corresponds to a Value key with a positive or negative value to indicate uniform fluxes such as rainfall or evapotranspiration over the entire domain while the key OverlandFlowPFB allows a pfb file to contain grid based spatially variable fluxes The choice ExactSolution specifies that an exact known solution is to be applied as a Dirichlet boundary condition on the respective patch Note that this does not change according to any cycle Instead time dependence is handled by evaluating at the time the boundary condition value is desired The solution is specified by using a predefined function choices are described below NOTE These last three types of boundary condition input is for Richards equation cases only Example Useage pfset Patch top BCPressure Type DirEquilRefPatch string Patch patch_name BCPressure Cycle no default 74 CHAPTER 5 PARFLOW FILES This key specifies the time cycle to which boundary condition data for patch patch_name cor responds Example Useage pfset Patch top BCPressure Cycle Constant string Patch patch_name BCPressure RefGeom no default This key specifies the name of the solid on which the reference patch for the DirEquilRefPatch boundary condition data is given Care should be taken to make sure the correct solid is specified in cases of layered domains Example Useage pfset Patch top BCPressure RefGeom domain string Patch patch name BCPressure RefPatch no default This key sp
48. ansport Equations The transport equations in PARFLOW are currently defined as follows Zc Aj dci V aav 4 13 O NYT ei 3 NE E F C Pats rj dps Pn xa ley Ly D w xn k k where i 0 Np 1 np 1 2 3 is the number of phases j 0 ne 1 is the number of contaminants and where c j is the concentration of contaminant j in phase 7 Recall also that xa is the characteristic function of set A i e x4 1 1 if x A and xya xz 0 if x A Table 4 2 defines the symbols in the above equation and outlines the symbol dependencies and units The equation is basically a statement of mass conservation in a convective flow no diffusion with adsorption and degradation effects incorporated along with the addition of injection and extraction wells These equations will soon have to be generalized to include a diffusion term At the present time as an adsorption model we take the mass concentration term F j to be instantaneous in time and a linear function of contaminant concentration Fij Kajciy 4 14 where Ka is the distribution coefficient of the component L M 1 If 4 14 is substituted into 4 13 the following equation results which is the current model used in PARFLOW O gt 1 d osKaj cij Ve an m nz T NE Ex 6 1 psKaMjcij Sore xar 459 y Sook xr 4 15 k k 4 3 Notation and Units In this section we discuss other common formulations of the flow and
49. are considered geometries This input section is a little confusing Two items are being specified geometry inputs and geometries A geometry input is a type of geometry input for example a box or an input file A geometry input can contain more than one geometry A geometry input of type Box has a single geometry the square box defined by the extants of the two points A SolidFile input type can contain several geometries list GeomInput Names no default This is a list of the geometry input names which define the containers for all of the geometries defined for this problem Example Useage pfset GeomInput Names solidinput indinput boxinput string GeomInput geom_input_name InputType no default This defines the input type for the geometry input with geom_input_name This key must be one of SolidFile IndicatorField Box Example Useage pfset GeomInput solidinput InputType SolidFile list GeomInput geom_input_name GeomNames no default This is a list of the names of the geometries defined by the geometry input For a geometry input type of Box the list should contain a single geometry name For the SolidFile geometry type this should contain a list with the same number of gemetries as were defined using GMS The order of geometries in the SolidFile should match the names For IndicatorField types you need to specify the value in the input field which matches the name using GeomInput geom_input_name Value Example Useage p
50. b surface contaminant migration and remediation using high performance computing Advances in Water Resources 22 3 203 221 Tompson A F B C J Bruton and G A Pawloski eds 1999b Evaluation of the hydrologic source term from underground nuclear tests in Frenchman Flat at the Nevada Test Site The CAMBRIC test Lawrence Livermore National Laboratory Livermore CA UCRL ID 132300 360pp Tompson A F B S F Carle N D Rosenberg and R M Maxwell 1999 Analysis of ground water migration from artificial recharge in a large urban aquifer A simulation perspective Water Resources Research 35 10 2981 2998 BIBLIOGRAPHY 113 23 Tompson AFB C J Bruton G A Pawloski D K Smith W L Bourcier D E Shumaker A B Kersting S F Carle and R M Maxwell 2002 On the evaluation of groundwater con tamination from underground nuclear tests Environmental Geology 42 2 3 235 247 Tompson A F B R M Maxwell S F Carle M Zavarin G A Pawloski and D E Shu maker 2005 Evaluation of the Non Transient Hydrologic Source Term from the CAMBRIC Underground Nuclear Test in Frenchman Flat Nevada Test Site Lawrence Livermore National Laboratory Livermore CA UCRL TR 217191 van Genuchten M Th 1980 A closed form equation for predicting the hydraulic conductivity of unsaturated soils Soil Sci Soc Am J 44 892 898 B Welch 1995 Practical Programming in TCL and TK Prentice Hall Woodward C S 1998
51. ce This can be done using either a double quote or braces pfset Geom domain Patches left right front back bottom top pfset Geom domain Patches left right front back bottom top For commands longer than a single line the TCL continuation character can be used pfset Geom domain Patches very_long_name_1 very_long_name_2 very_long_name_3 very_long_name_4 very_long_name_5 very_long_name_6 Since the input file is a TCL script you can use any feature of TCL to define the problem This manual will make no effort to teach TCL so refer to one of the available TCL manuals for more information Practical Programming in TCL and TK by Brent Welch 26 is a good starting point This is NOT required you can get along fine without understanding TCL TK Looking at the example programs in the test directory is one of the best ways to understand what a PARFLOW input file looks like See 3 6 3 2 Running ParFlow Once the problem input is defined you need to add a few things to the script to make it execute PARFLOw First you need to add the TCL commands to load the PARFLOW command package Import the ParFlow TCL package lappend auto_path env PARFLOW_DIR bin package require parflow namespace import Parflow This loads the pfset and other PARFLOW commands into the TCL shell Since this is a script you need to actually run PARFLOW These are normally the last lines of the input script pfrun default_single pfundist de
52. composed of pixels generic paint pro grams or for drawings some widely available drawing editor and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters A copy made in an otherwise Transparent file format whose markup or absence of markup has been arranged to thwart or discourage subsequent modification by readers is not Transparent An image format is not Transparent if used for any substantial amount of text A copy that is not Transparent is called Opaque Examples of suitable formats for Transparent copies include plain ASCII without markup Texinfo input format LaTeX input format SGML or XML using a publicly available DTD and standard conforming simple HTML PostScript or PDF designed for human modification Examples of transparent image formats include PNG XCF and JPG Opaque formats include proprietary formats that can be read and edited only by proprietary word processors SGML or XML for which the DTD and or processing tools are not generally available and the machine generated HTML PostScript or PDF produced by some word processors for output purposes only The Title Page means for a printed book the title page itself plus such following pages as are needed to hold legibly the material this License requires to appear in the title page For works in formats which do not have any title page as such Title Page means the text
53. ction This data may be read in by VisIT and other visualization packages Example Useage pfset Solver WriteSiloPressure True string Solver WriteSiloSaturation False This key is used to specify printing of the saturation data using silo binary format The printing of the data is controlled by values in the timing information section Example Useage pfset Solver WriteSiloSaturation True string Solver WriteSiloConcentration False This key is used to specify printing of the concentration data in silo binary format The printing of the data is controlled by values in the timing information section Example Useage pfset Solver WriteSiloConcentration True 5 1 MAIN INPUT FILE PFTCL 91 string Solver WriteSiloVelocities False This key is used to specify printing of the x y and z velocity data in silo binary format The printing of the data is controlled by values in the timing information section Example Useage pfset Solver WriteSiloVelocities True 5 1 29 Richards Equation Solver Parameters The following keys are used to specify various parameters used by the linear and nonlinear solvers in the Richards equation implementation For information about these solvers see 27 and 1 double Solver Nonlinear ResidualTol le 7 This key specifies the tolerance that measures how much the relative reduction in the nonlinear residual should be before nonlinear iterations stop The magnitude of the residual is measur
54. does not do this conditioning is done for every grid point using the given conditioning data at the location given Mapping to grid points for that algorithm does not give any speedup so there is no need to do it 54 CHAPTER 5 PARFLOW FILES NOTE The given values should be the actual measured values adjustment in the conditioning for the lognormal distribution that is assumed is taken care of in the algorithms The general format for the permeability input is as follows list Geom Perm Names no default This key specifies all of the geometries to which a permeability field will be assigned These geometries must cover the entire computational domain Example Useage pfset GeomInput Names background domain concen_region string Geom geometry_name Perm Type no default This key specifies which method is to be used to assign permeability data to the named geometry geometry_name It must be either Constant TurnBands ParGuass or PFBFile The Constant value indicates that a constant is to be assigned to all grid cells within a geometry The TurnBand value indicates that Tompson s Turning Bands method is to be used to assign permeability data to all grid cells within a geometry 19 The ParGauss value indicates that a Parallel Gaussian Simulator method is to be used to assign permeability data to all grid cells within a geometry The PFBFile value indicates that premeabilities are to be read from the ParFlow Binary file Both the
55. e Version 1 3 or any later version published by the Free Software Foundation with no Invariant Sections no Front Cover Texts and no Back Cover Texts A copy of the license is included in the section entitled GNU Free Documentation License Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies This computer software and documentation was prepared as an account of work sponsored by an agency of the United States Government Neither the United States Government nor the University of California nor any of their employees makes any warranty express or implied or assumes any legal liability or responsibility for the accuracy completeness or usefulness of any information apparatus product or process disclosed or represents that its use would not infringe privately owned rights Reference herein to any specific commercial products process or service by trade name trademark manufacturer or otherwise does not necessarily constitute or imply its endorsement recommendation or favoring by the United States Government or the University of California The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or the University of California and shall not be used for advertising or product endorsement purposes Contents 1 Introduction 2 Getting Started 251 J nstallings
56. e Document you may at your option designate some or all of these sections as invariant To do this add their titles to the list of Invari ant Sections in the Modified Version s license notice These titles must be distinct from any other section titles You may add a section Entitled Endorsements provided it contains nothing but endorsements of your Modified Version by various parties for example statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard You may add a passage of up to five words as a Front Cover Text and a passage of up to 25 words as a Back Cover Text to the end of the list of Cover Texts in the Modified Version Only one passage of Front Cover Text and one of Back Cover Text may be added by or through arrangements made by any one entity If the Document already includes a cover text for the same cover previously added by you or by arrangement made by the same entity you are acting on behalf of you may not add another but you may replace the old one on explicit permission from the previous publisher that added the old one The author s and publisher s of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version 5 COMBINING DOCUMENTS You may combine the Document with other documents released under this License under the terms defined in section 4 above fo
57. e of previous versions which should if there were any be listed in the History section of the Document You may use the same title as a previous version if the original publisher of that version gives permission B List on the Title Page as authors one or more persons or entities responsible for authorship of the modifications in the Modified Version together with at least five of the principal authors of the Document all of its principal authors if it has fewer than five unless they release you from this requirement C State on the Title page the name of the publisher of the Modified Version as the publisher D Preserve all the copyright notices of the Document E Add an appropriate copyright notice for your modifications adjacent to the other copyright notices F Include immediately after the copyright notices a license notice giving the public permis sion to use the Modified Version under the terms of this License in the form shown in the Addendum below G Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document s license notice H Include an unaltered copy of this License I Preserve the section Entitled History Preserve its Title and add to it an item stating at least the title year new authors and publisher of the Modified Version as given on the Title Page If there is no section Entitled History in the Document create one stating the ti
58. e type for files with a sb extension e rsa ParF low real scattered ASCII format Default file type for files with a rsa extension pfloadsds filename dsnum This command is used to load Scientific Data Sets from HDF files The SDS number dsnum will be used to find the SDS you wish to load from the HDF file filename The data set loaded into memory will be assigned an identifier which will be used to refer to the data set until it is deleted This identifier will be returned upon successful completion of the command pfmdiff datasetp datasetq digits zero If digits is greater than or equal to zero then this command computes the grid point at which the number of digits in agreement significant digits is fewest and differs by more than digits significant digits If digits is less than zero then the point at which the number of digits in agreement significant digits is minimum is computed Finally the maximum absolute difference is computed The above information is returned in a Tcl list of the following form mi mj mk sd adiff Given the search criteria mi mj mk is the coordinate where the minimum number of significant digits sd was found and adiff is the maximum absolute difference pfnewdata nx ny nz x y z dx dy dz label This command creates a new data set whose dimension is described by the lists nx ny nz x y z and dx dy dz The first list describes the dimensions
59. e used for the entire problem However parameters may be different for that type in different geometries For instance if the problem consists of three geometries then VanGenuchten may be specified with three different sets of parameters for the three different goemetries However once VanGenuchten is specified one geometry cannot later be specified to have Data as its saturation The possible values for this key are Constant VanGenuchten Haverkamp Data Polynomial and PFBFile Example Useage pfset Phase Saturation Type Constant The various possible functions are defined as follows The Constant specification means that the saturation will be constant on the specified geounit The VanGenuchten specification means that the saturation will be given as a Van Genuchten function 25 with the form Ssat Sres slp _ s 5 4 p 1 ap r res where Ssat is the saturation at saturated conditions Sres is the residual saturation and a and n are soil parameters with m 1 1 n on each region The Haverkamp specification means that the saturation will be given in the following form 5 Q Ssat Sres s p A p F Sres 5 5 where A and y are soil parameters on each region The Data specification is currently unsupported but will later mean that data points for the saturation curve will be given and PARFLOW will set up the proper interpolation coefficients to get values between the given data point
60. earch specifies that a line search strategy should be used where the nonlinear step can be lengthened or decreased to satisfy certain criteria Example Useage pfset Solver Nonlinear Globalization LineSearch string Solver Linear Preconditioner MGSemi This key specifies which preconditioner to use Currently the three choices are NoPC MGSemi PFMGOctree and SMG The choice NoPC specifies that no preconditioner should be used The choice MGSemi specifies a semi coarsening multigrid algorithm which uses a point relaxation method The choice SMG specifies a semi coarsening multigrid algorithm which uses plane re laxations This method is more robust than MGSemi but generally requires more memory and compute time The choice PFMGOctree can be more efficient for problems with large numbers of inactive cells Example Useage pfset Solver Linear Preconditioner MGSemi string Solver Linear Preconditioner SymmetricMat Symmetric This key specifies whether the preconditioning matrix is symmetric Choices fo rthis key are Symmetric and Nonsymmetric The choice Symmetric specifies that the symmetric part of 94 CHAPTER 5 PARFLOW FILES the Jacobian will be used as the preconditioning matrix The choice Nonsymmetric specifies that the full Jacobian will be used as the preconditioning matrix NOTE ONLY Symmetric CAN BE USED IF MGSemi IS THE SPECIFIED PRECONDITIONER Example Useage pfset Solver Linear Preconditioner SymmetricMat Symmetric int
61. ecifies the reference elevation on which the reference pressure is given for type HydroStaticDepth initial pressures Example Useage pfset Geom toplayer ICPressure RefElevation 0 0 double Geom geom_name ICPressure RefGeom no default This key specifies the geometry on which the reference patch resides for type HydroStatic Patch initial pressures Example Useage pfset Geom toplayer ICPressure RefGeom bottomlayer double Geom geom name ICPressure RefPatch no default This key specifies the patch on which the reference pressure is given for type HydorStatic Patch initial pressures Example Useage pfset Geom toplayer ICPressure RefPatch bottom string Geom geom_name ICPressure FileName no default This key specifies the name of the file containing pressure values for the domain It is assumed that geom_name is domain for this key Example Useage pfset Geom domain ICPressure FileName ic_pressure pfb 5 1 25 Initial Conditions Phase Concentrations Here we define initial concentration conditions for contaminants The format for this section of input is string PhaseConcen phase_name contaminant_name Type no default This key specifies the type of initial condition that will be applied to different geometries for given phase phase_name and the given contaminant contaminant_name The choices for this key are Constant or PFBFile The choice Constant will apply constants values to different geometries The choice PFBFile will re
62. ecifies the reference patch on which the DirEquilRefPatch boundary condition data is given This patch must be on the reference solid specified by the Patch patch_name BCPressure RefGeom key Example Useage pfset Patch top BCPressure RefPatch bottom double _Patch patch_name BCPressure interval_name Value no default This key specifies the reference pressure value for the DirEquilRefPatch boundary condition or the constant flux value for the FluxConst boundary condition or the constant volumetric flux for the FluxVolumetric boundary condition Example Useage pfset Patch top BCPressure alltime Value 14 0 double Patch patch name BCPressure interval_name phase_name IntValue no default Note that the reference conditions for types DirEquilP Linear and DirEquilRefPatch bound ary conditions are for phase 0 only This key specifies the constant pressure value along the interface with phase phase_name for cases with two phases present Example Useage pfset Patch top BCPressure alltime water IntValue 13 0 double Patch patch_ name BCPressure interval_name XLower no default This key specifies the lower x coordinate of a line in the xy plane Example Useage pfset Patch top BCPressure alltime XLower 0 0 5 1 MAIN INPUT FILE PFTCL 75 double Patch patch_ name BCPressure interval_name YLower no default This key specifies the lower y coordinate of a line in the xy plane Example Useage pfset Patch top BCPressure alltime YLowe
63. ed with the max norm Example Useage pfset Solver Nonlinear ResidualTol le 4 double Solver Nonlinear StepTol le 7 This key specifies the tolerance that measures how small the difference between two consecutive nonlinear steps can be before nonlinear iterations stop Example Useage pfset Solver Nonlinear StepTol le 4 integer Solver Nonlinear MaxIter 15 This key specifies the maximum number of nonlinear iterations allowed before iterations stop with a convergence failure Example Useage pfset Solver Nonlinear Maxlter 50 integer Solver Linear KrylovDimension 10 This key specifies the maximum number of vectors to be used in setting up the Krylov subspace in the GMRES iterative solver These vectors are of problem size and it should be noted that large increases in this parameter can limit problem sizes However increasing this parameter can sometimes help nonlinear solver convergence Example Useage pfset Solver Linear KrylovDimension 15 integer Solver Linear MaxRestarts 0 This key specifies the number of restarts allowed to the GMRES solver Restarts start the 92 CHAPTER 5 PARFLOW FILES development of the Krylov subspace over using the current iterate as the initial iterate for the next pass Example Useage pfset Solver Linear MaxRestarts 2 string Solver Nonlinear PrintFlag HighVerbosity This key specifies the amount of informational data that is printed to the out kinsol log file Choices for
64. een the neighboring point pressure values on the line Example Useage pfset Patch top BCPressure alltime 0 Value 14 0 string Patch patch_name BCPressure interval_name FileName no default This key specifies the name of a properly distributed pfb file that contains boundary data to 76 CHAPTER 5 PARFLOW FILES be read for types PressureFile and FluxFile For flux data the data must be defined over a grid consistent with the pressure field In both cases only the values needed for the patch will be used The rest of the data is ignored Example Useage pfset Patch top BCPressure alltime FileName ocwd_bc pfb string Patch patch name BCPressure interval_name PredefinedFunction no default This key specifies the predefined function that will be used to specify Dirichlet boundary con ditions on patch patch_name Note that this does not change according to any cycle Instead time dependence is handled by evaluating at the time the boundary condition value is desired Choices for this key include X XPlusYPlusZ X3Y2PlusSinX YPlus1 X3Y4PlusX2PlusSinX Y CosYPlus1 XYZTPlus1 and XYZTPlus1PermTensor Example Useage pfset Patch top BCPressure alltime PredefinedFunction XPlusYPlusZ The choices for this key correspond to pressures as follows X p x XPlusYPlusZ p x y z X3Y2PlusSinXYPlusl p x y sin xy 1 X3Y4PlusX2PlusSinX Y CosYPlus1 p x y4 2 sin 1y cosy 1 XYZTPlusl p xyzt 1 XYZTPlusiPermTensor p xyzt 1 5 1 22 B
65. eger Solver Linear Preconditioner precond_method MaxIter 1 This key specifies the maximum number of iterations to take in solving the preconditioner system with precond_method solver Example Useage pfset Solver Linear Preconditioner SMG Maxlter 2 integer Solver Linear Preconditioner SMG NumPreRelax 1 This key specifies the number of relaxations to take before coarsening in the specified precon ditioner method Note that this key is only relevant to the SMG multigrid preconditioner Example Useage pfset Solver Linear Preconditioner SMG NumPreRelax 2 integer Solver Linear Preconditioner SMG NumPostRelax 1 This key specifies the number of relaxations to take after coarsening in the specified precondi tioner method Note that this key is only relevant to the SMG multigrid preconditioner Example Useage pfset Solver Linear Preconditioner SMG NumPostRelax 0 string Solver LSM none This key specifies whether a land surface model such as CLM will be called each solver timestep Choices for this key include none and CLM Note that CLM must be compiled and linked at runtime for this option to be active Example Useage pfset Solver LSM CLM string Solver CLM PrintidOut False This key specifies whether the CLM one dimensional averaged over each processor output file is written or not Choices for this key include True and False Note that CLM must be compiled and linked at runtime for this option to be active Example U
66. ells 5 20 se 2244959 oo e ooo ee eee es 98 6 GNU Free Documentation License 103 GNU Free Documentation License 103 1 APPLICABILITY AND DEFINITIONS 0 0 a 103 2 VERBATIM COPYING 360 6 Pocus gale bette ace Rb Be heated BOE eas 105 3 COPYING INOUYANTIEY Ses tie be nha Sr ti a eb Bae 105 A MODIFICATIONS origena ai Bie th tye ee See Ae ei a ee eae a ek 106 5 COMBINING DOCUMENTS 0 e 107 6 COLLECTIONS OF DOCUMENTS 0 0 0 0 0 000202 2G 108 7 AGGREGATION WITH INDEPENDENT WORKS 108 8 TRANSLATION 2 sec oie be ante te eens POM low Gh bale a beer eae RRs 108 9 TERMINACION 2 a Gigi A ys abba le a bes a ee aoe pS 109 10 FUTURE REVISIONS OF THIS LICENSE o o e 109 CONTENTS 11 RELICENSING ii CONTENTS Chapter 1 Introduction PARFLOW 1 6 7 is a parallel simulation platform that operates in three modes 1 steady state saturated 2 variably saturated 3 and integrated watershed flow PARFLOW is especially suitable for large scale problems on a range of single and multi processor computing platforms PARFLOW simulates the three dimensional saturated and variably satu rated subsurface flow in heterogeneous porous media in three spatial dimensions using a mulitgrid preconditioned conjugate gradient solver 1 and a Newton Krylov nonlinear solver 6 PARFLOW has recently been extended to coupled surface subsurface flow to enable the simulation of
67. er CLM CLMDumpInterval 1 This key specifies how often output from the CLM is written This key is in integer multipliers of the CLM timestep Note that CLM must be compiled and linked at runtime for this option to be active Example Useage pfset Solver CLM CLMDumpInterval 2 5 2 ParFlow Binary Files pfb The pfb file format is a binary file format which is used to store PARFLOW grid data The format for the file is lt double X gt lt double Y gt lt double Z gt lt integer NX gt lt integer NY gt lt integer NZ gt lt double DX gt lt double DY gt lt double DZ gt lt integer num_subgrids gt FOR subgrid 0 TO lt num_subgrids gt 1 BEGIN 96 lt integer lt integer lt integer iz TO iz lt nz gt 1 FOR k BEGIN FOR j BEGIN FOR BEG END END END END ix gt lt integer iy gt lt integer nx gt lt integer ny gt lt integer rx gt lt integer ry gt lt integer iy TO iy lt ny gt 1 i ix TO ix lt nx gt 1 IN lt double data_ijk gt CHAPTER 5 PARFLOW FILES iz gt nz gt rz gt 5 3 ParFlow Scattered Binary Files pfsb The pfsb file format is a binary file format which is used to store PARFLOW grid data This format is used when the grid data is scattered that is when most of the data is 0 For data of this type the pfsb file format can reduce storage requirements considerably The format for the file
68. er Perm Seed expr 33333 2 k pfset Geom lower_aquifer Perm Seed expr 31313 2 k The following command runs ParFlow and gives you a suite of output files for each realization The file names will begin harvey_flow 1 xxxxx harvey_flow 2 xxxx etc up to as many real izations as you run The xxxxx part will designate x y and z permeability etc Recall that in this case since we normalized gravity viscosity and density remember that were really getting hydraulic conductivity pfrun harvey_flow k This command removes a large number of superfluous dummy files pfundist harvey_flow k The following commands take advantage of PF Tools see 3 5 2 and load pressure head output of the Parflow model into a pressure matrix we use pf tools to convert from pressure to head we could do a number of other things here like copy files to different format set press pfload harvey_flow k out press pfb The next command takes the pressures that were just loaded and converts it to head and loads them into a head matrix tcl variable set head pfhhead press Finally the head matrix is saved as a ParFlow binary file pfb and the k do loop is closed by the character The we move up to the root directory when we are finished pfsave head pfb harvey_flow k head pfb cd ur 34 CHAPTER 3 THE PARFLOW SYSTEM Once you have modified the tcl input script if necessary and run PARFLOWw you will have as many realizations of
69. er Z 1 0 double Geom bor_geom_name Upper X no default This gives the upper X real space coordinate value of the previously specified box geometry of name box_geom_name Example Useage pfset Geom background Upper X 151 0 46 CHAPTER 5 PARFLOW FILES double Geom box_geom_name Upper Y no default This gives the upper Y real space coordinate value of the previously specified box geometry of name box_geom_name Example Useage pfset Geom background Upper Y 171 0 double Geom bor_geom_name Upper Z no default This gives the upper Z real space coordinate value of the previously specified box geometry of name box_geom_name Example Useage pfset Geom background Upper Z 11 0 list Geom geom_name Patches no default Patches are defined on the surfaces of geometries Currently you can only define patches on Box geometries and on the the first geometry in a SolidFile For a Box the order is fixed left right front back bottom top but you can name the sides anything you want For SolidFiles the order is printed by the conversion routine that converts GMS to SolidFile format Example Useage pfset Geom background Patches left right front back bottom top Here is an example geometry input section which has three geometry inputs This defines the three geometry input names pfset GeomInput Names solidinput indinput boxinput For a solid file geometry input type you need to specify the names of the gemetries and the
70. er in ParFlow so if no solver is specified the code solves using IMPES p set Solver Impes To simulate variably saturated transient conditions using Richards equation variably fully saturated transient w compressible storage set the solver to RICHARDS An example is below This is also the solver used to simulate surface flow or coupled surface subsurface flow p set Solver Richards To simulate overland flow using the kinematic wave approximation to the shallow wave equa tions set the solver to RICHARDS and set the upper patch boundary condition for the domain geometry to OverlandFlow an example is below This simulates overland flow independently or coupled to Richards Equation as detailed in 7 The overland flow boundary condition can simulate both uniform and spatially distributed sources reading a distribution of fluxes from a binary file in the latter case The two cases are set in a ParFlow input script as follows p set Patch z upper BCPressure Type OverlandFlow or p set Patch z upper BCPressure Type OverlandFlowPFB For either case the solver needs to be set to RICHARDS p set Solver Richards and the jacobian is approximated p set Solver Nonlinear UseJacobian False In both cases the boundary fluxes may be set as a function of time cycle For the Overland FlowPFB case p set Patch z upper BCPressure Cycle rainrec p set Patch z upper BCPressure rain FileName bc flux test 1 pfb p set Patch z upper B
71. eters should be the same for each in order to have a consistent problem double Geom geom_name Saturation SRes no default This key specifies the residual saturation on geom_name Example Useage pfset Geom domain Saturation SRes 0 0 double Geom geom_name Saturation SSat no default This key specifies the saturation at saturated conditions on geom_name Example Useage pfset Geom domain Saturation SSat 1 0 double Geom geom_name Saturation A no default This key specifies the A parameter for the Haverkamp saturation on geom_name Example Useage pfset Geom domain Saturation A 1 0 double Geom geom_name Saturation Gamma no default This key specifies the the y parameter for the Haverkamp saturation on geom_name Example Useage pfset Geom domain Saturation Gamma 1 0 integer Geom geom_name Saturation Degree no default This key specifies the degree of the polynomial for the Polynomial saturation given on geom_name Example Useage pfset Geom domain Saturation Degree 1 double Geom geom_name Saturation Coeff coeff number no default This key specifies the coeff_numberth coefficient of the Polynomial saturation given on geom_name Example Useage pfset Geom domain Saturation Coeff 0 0 5 pfset Geom domain Saturation Coeff 1 1 0 string Geom geom_name Saturation FileName no default This key specifies the name of the file containing saturation values for the domain It is assumed that geom_name is domain for this key Example
72. etry given by geom_name Example Useage pfset Geom domain Perm TensorValY 1 0 double Geom geometry_name Perm TensorValZ no default This key specifies the value of k for the geometry given by geom_name Example Useage pfset Geom domain Perm TensorValZ 1 0 string Geom geometry name Perm TensorFileX no default This key specifies that ky values for the specified geometry geometry_name are given according to a user supplied description in the ParFlow Binary file whose filename is given as the value The only choice for the value of geometry_name is domain Example Useage pfset Geom domain Perm TensorByFileX perm_x pfb string Geom geometry_name Perm TensorFileY no default This key specifies that k values for the specified geometry geometry_name are given according to a user supplied description in the ParFlow Binary file whose filename is given as the value The only choice for the value of geometry_name is domain Example Useage 5 1 MAIN INPUT FILE PFTCL 59 pfset Geom domain Perm TensorByFileY perm_y pfb string Geom geometry_name Perm TensorFileZ no default This key specifies that k values for the specified geometry geometry_name are given according to a user supplied description in the ParFlow Binary file whose filename is given as the value The only choice for the value of geometry_name is domain Example Useage pfset Geom domain Perm TensorByFileZ perm_z pfb
73. fault_single 3 3 RESTARTING A RUN 13 The pfrun command runs PARFLOW with the database as it exists at that point in the file The argument is the name to give to the output files which will normally be the same as the name of the script Advanced users can set up multiple problems within the input script by using different output names The pfundist command takes the output files from the PARFLOW run and undistributes them PARFLOW uses a virtual file system which allows files to be distributed across the processors The pfundist takes these files and collapses them into a single file On some machines if you don t do the pfundist you will see many files after the run Each of these contains the output from a single node before attempting using them you should undistribute them Since the input file is a TCL script run it using TCL tclsh runname tcl NOTE Make sure you are using TCL 8 0 or later The script will not work with earlier releases One output file of particular interest is the lt run name gt out log file This file contains informa tion about the run such as number of processes used convergence history of algorithms timings and MFLOP rates For Richards equation problems including overland flow the lt run name gt out kinsol log file contains the nonlinear convergence information for each timestep Additionally the lt run name gt out tx contains all information routed to standard out of the machine you are runnin
74. fers see 5 1 9 Note the special section at the very end of this block where we reset the geometric mean and standard deviation to our values we read in from a file Note PARFLOW uses Standard Deviation not Variance pfset Geom upper_aquifer Perm Type TurnBands pfset Geom upper_aquifer Perm LambdaX 3 60 pfset Geom upper_aquifer Perm LambdaY 3 60 pfset Geom upper_aquifer Perm LambdaZ 0 19 pfset Geom upper_aquifer Perm GeomMean 112 00 pfset Geom upper_aquifer Perm Sigma 1 0 p set Geom upper_aquifer Perm Sigma 0 48989794 pfset Geom upper_aquifer Perm NumLines 150 26 Geom Perm Geom Geom Geom Geom Geom Geom Geom Geom Geom pfset pfset pfset pfset pfset pfset pfset pfset pfset pfset upper_aquifer upper_aquifer upper_aquifer upper_aquifer upper_aquifer upper_aquifer lower_aquifer lower_aquifer lower_aquifer lower_aquifer Perm Perm Perm Perm Perm Perm Perm Perm Perm Geom Perm Geom Geom Geom Geom Geom Geom Geom Geom Geom pfset pfset pfset pfset pfset pfset pfset pfset pfset pfset lower_aquifer lower_aquifer lower_aquifer lower_aquifer lower_aquifer lower_aquifer lower_aquifer lower_aquifer lower_aquifer lower_aquifer Perm Perm Perm Perm Perm Perm Perm Perm Perm pfset lower aqu and upper aq pfset Geom Perm pfset Geom upper_aquifer Upper_aquifer Perm p set Geom Perm p set Geom lo
75. fficient for the linear function used to compute the retardation of the named contaminant contaminant_name in the named geometry geometry_name The value should be scaled by the density of the material in the geometry Example Useage pfset Geom domain Retardation Value 0 2 5 1 15 Full Multiphase Mobilities Here we define phase mobilities by specifying the relative permeability function Input is speci fied differently depending on what problem is being specified For full multi phase problems the following input keys are used See the next section for the correct Richards equation input format string Phase phase_name Mobility Type no default This key specifies whether the mobility for phase_name will be a given constant or a polynomial of the form S Sp where S is saturation So is irreducible saturation and a is some exponent The possibilities for this key are Constant and Polynomial Example Useage pfset Phase water Mobility Type Constant double Phase phase_name Mobility Value no default This key specifies the constant mobility value for phase phase name Example Useage pfset Phase water Mobility Value 1 0 double Phase phase _name Mobility Exponent 2 0 This key specifies the exponent used in a polynomial representation of the relative permeability Currently only a value of 2 0 is allowed for this key Example Useage pfset Phase water Mobility Exponent 2 0 64 CHAPTER 5 PARFLOW FILES double
76. fset GeomInput solidinput GeomNames domain bottomlayer middlelayer toplayer 5 1 MAIN INPUT FILE PFTCL 45 string GeomInput geom_input_name Filename no default For IndicatorField and SolidFile geometry inputs this key specifies the input filename which contains the field or solid information Example Useage pfset GeomInput solidinput FileName ocwd pfsol integer GeomInput geometry_input_name Value no default For IndicatorField geometry inputs you need to specify the mapping between values in the input file and the geometry names The named geometry will be defined whereever the input file is equal to the specifed value Example Useage pfset GeomInput sourceregion Value 11 For box geometries you need to specify the location of the box This is done by defining two corners of the the box double Geom bor_geom_name Lower X no default This gives the lower X real space coordinate value of the previously specified box geometry of name box_geom_name Example Useage pfset Geom background Lower X 1 0 double Geom box_geom_name Lower Y no default This gives the lower Y real space coordinate value of the previously specified box geometry of name box_geom_name Example Useage pfset Geom background Lower Y 1 0 double Geom box_geom_name Lower Z no default This gives the lower Z real space coordinate value of the previously specified box geometry of name box_geom_name Example Useage pfset Geom background Low
77. fset Solver PrintSaturation False string Solver PrintConcentration True This key is used to turn on printing of the concentration data The printing of the data is controlled by values in the timing information section The data is written as a PFSB file Example Useage pfset Solver PrintConcentration False 90 CHAPTER 5 PARFLOW FILES string Solver PrintWells True This key is used to turn on collection and printing of the well data The data is collected at intervals given by values in the timing information section Printing occurs at the end of the run when all collected data is written Example Useage pfset Solver PrintWells False string Solver PrintLSMSink False This key is used to turn on printing of the flux array passed from CLM to PARFLOW Printing occurs at each DumpInterval time Example Useage pfset Solver PrintLSMSink True string Solver WriteSiloSubsurfData False This key is used to specify printing of the subsurface data Permeability and Porosity in silo binary file format The data is printed after it is generated and before the main time stepping loop only once during the run This data may be read in by VisIT and other visualization packages Example Useage pfset Solver WriteSiloSubsurfData True string Solver WriteSiloPressure False This key is used to specify printing of the saturation data in silo binary format The printing of the data is controlled by values in the timing information se
78. g PARFLOW data This utility is discussed in 3 5 Lastly 3 6 discusses the contents of a directory of test problems provided with PARFLOw 3 1 Defining the Problem Defining the problem may involve several steps One of these steps may require definition com plicated geometries such as hydrostratigraphic layers These geometries are then converted to the pfsol file format 5 4 using the appropriate PFTOOLs conversion utility 3 5 The main PARFLOW input file is the tcl file This input file is a TCL script with some special routines to create a database which is used as the input for PARFLOW See 5 1 for details on the format of this file The input values into PARFLOW are defined by a key value pair For each key you provide the associated value using the pfset command inside the input script To set the computational grid for the problem you would enter H A A O ee A A Computational Grid H SA A A A EEE pfset ComputationalGrid Lower X 10 0 pfset ComputationalGrid Lower Y 10 0 pfset ComputationalGrid Lower Z 1 0 pfset ComputationalGrid DX 8 8888888888888893 pfset ComputationalGrid DY 10 666666666666666 pfset ComputationalGrid DZ 1 0 pfset ComputationalGrid NX 18 pfset ComputationalGrid NY 15 11 12 CHAPTER 3 THE PARFLOW SYSTEM pfset ComputationalGrid NZ 8 The value is normally a single string double or integer In some cases in particular for a list of names you need to supply a space seperated sequen
79. g on and often con tains error messages and other control information 3 3 Restarting a Run A PARFLOW run may need to be restarted because either a system time limit has been reached PARFLOW has been prematurely terminated or the user specifically sets up a problem to run in segments In order to restart a run the user needs to know the conditions under which PARFLOW stopped If PARFLOW was prematurely terminated then the user must examine the output files from the last timed dump to see if they are complete If not then those data files should be discarded and the output files from the next to last timed dump will be used in the restarting procedure As an important note if any set of timed dump files are deleted remember to also delete corresponding lines in the well output file or recombining the well output files from the individual segments afterwards will be difficult It is not necessary to delete lines from the log file as you will only be noting information from it To summarize make sure all the important output data files are complete accurate and consistent with each other Given a set of complete consistent output files to restart a run follow this procedure 1 Note the important information for restarting e Write down the dump sequence number for the last collection of timed dump data e Examine the log file to find out what real time that timed dump data was written out at and write it down
80. geometries on which a different y topographic slope values will be assigned Topographic slopes may be assigned by PFBFile or as Constant by geometry These geometries must cover the entire upper surface of the computational domain Example Useage pfset ToposlopesY GeomNames domain string ToposlopesX Type no default This key specifies which method is to be used to assign topographic slopes The choices currently available are Constant which indicates that a constant is to be assigned to all grid cells within a geometry and PFBFile which indicates that all values are read in from a distributed grid based PARFLOW binary file Example Useage pfset ToposlopesX Type Constant 62 CHAPTER 5 PARFLOW FILES double ToposlopeX Geom geometry_name Value no default This key specifies the value assigned to all points in the named geometry geometry_name if the type was set to constant Example Useage pfset ToposlopeX Geom domain Value 0 001 double ToposlopesX FileName no default This key specifies the value assigned to all points be read in from a PARFLOW binary file Example Useage pfset TopoSlopesX FileName l1w 1km slope_x pfb double ToposlopesY FileName no default This key specifies the value assigned to all points be read in from a PARFLOW binary file Example Useage pfset TopoSlopesY FileName 1w 1km slope_y pfb Example of setting x and y slopes by geometry pfset TopoSlopesX Type Constant pfset TopoSlopesX GeomNames
81. gravity vector er k Z t intrinsic permeability tensor L7 kri x t relative permeability li viscosity MET g gravitational acceleration LT To complete the formulation we have the following np consititutive relations yl 4 6 Pio pio So t ll DE Np 1 4 7 where pj pi pj is the capillary pressure between phase i and phase j We now have the 3n equations 4 1 4 2 4 6 and 4 7 in the 3n unknowns Si V and pj For technical reasons we want to rewrite the above equations First we define the total mobility Ar and the total velocity Vr by the relations Ar 5 Ai 4 8 Vr Y V 4 9 After doing a bunch of algebra we get the following equation for po SX V A V o pio pif Qi 0 4 10 After doing some more algebra we get the following np 1 equations for Sj a i gt dA y Ai 68 Ne a AO pe p Q 0 4 11 54 PS V Te 2 Ne p na D ne VD Q 0 4 11 4 2 TRANSPORT EQUATIONS 37 The capillary pressures pz in 4 11 are rewritten in terms of the constitutive relations in 4 7 so that we have Pji Pjo Pio 4 12 where by definition p 0 Note that equations 4 11 are analytically the same equations as in 4 1 The reason we rewrite them in this latter form is because of the numerical scheme we are using We now have the 3n equations 4 10 4 11 4 9 4 2 and 4 7 in the 3n unknowns Si V and pj 4 2 Tr
82. hborhood to be used in the Parallel Gaussian Simulator for the named geometry geometry_name Example Useage pfset Geom domain Perm MaxCpts 200 string Geom geometry_name Perm LogNormal LogTruncated The key specifies when a normal log normal truncated normal or truncated log normal field is to be generated by the method for the named geometry geometry_name This value must be one of Normal Log NormalTruncated or LogTruncate and can be used with either Turning Bands or the Parallel Gaussian Simulator Example Useage pfset Geom domain Perm LogNormal LogTruncated 5 1 MAIN INPUT FILE PFTCL 57 string Geom geometry_name Perm StratType Bottom This key specifies the stratification of the permeability field generated by the method for the named geometry geometry_name The value must be one of Horizontal Bottom or Top and can be used with either the Turning Bands or the Parallel Gaussian Simulator Example Useage pfset Geom domain Perm StratType Bottom double Geom geometry_name Perm LowCutoff no default This key specifies the low cutoff value for truncating the generated field for the named geometry geometry_name when either the Normal Truncated or LogTruncated values are chosen Example Useage pfset Geom domain Perm LowCutoff 0 0 double Geom geometry_name Perm HighCutoff no default This key specifies the high cutoff value for truncating the generated field for the named geom etry geometry_
83. he difference has 20 CHAPTER 3 THE PARFLOW SYSTEM the least number of significant digits will be displayed Another line displaying the maximum absolute difference will also be displayed printstats dataset This command executes pfstats and formats that command s output before printing it on the screen Each of the values mentioned in the description of pfstats will be displayed along with a label pfundist filename pfundist runname The command undistributes a PARFLOW output file PARFLOW uses a distributed file system where each node can write to its own file The pfundist command takes all of these individual files and collapses them into a single file The arguments can be a runname or a filename If a runname is given then all of the output files associated with that run are undistributed Normally this is done after every pfrun command 3 6 Directory of Test Cases PARFLOW comes with a directory containing a few simple input files for use as templates in making new files and for use in testing the code This section gives a brief description of the problems in this directory crater2D tcl An example of a two dimensional variably saturated crater infiltration prblem with time varying boundary conditions It uses the solid file crater2D pfsol default_richards tcl The default variably saturated Richards Equation simulation test script default_single tcl The default parflow single processor fully saturated tes
84. hillslope runoff and channel routing in a truly integrated fashion 7 PARFLOW is also fully coupled with the land surface model CLM 2 as described in 11 8 The development and application of PARFLOW has been on going for more than 10 years 18 3 17 9 8 16 15 14 13 7 11 24 10 23 28 6 12 22 21 20 1 and resulted in some of the most advanced numerical solvers and multigrid precondition ers for massively parallel computer environments that are available today Many of the numerical tools developed within the PARFLOw platform have been turned into or are from libraries that are now distributed and maintained at LLNL Hypre and SUNDIALS for example An additional advantage of PARFLOW is the use of a sophisticated octree space partitioning algorithm to depict complex structures in three space such as topography different hydrologic facies and watershed boundaries All these components implemented into PARFLOW enable large scale high resolution watershed simulations PARFLOW simulates the three dimensional variably saturated subsurface flow in strongly heterogeneous porous media in three spatial dimensions PARFLOW is primarily written in C uses a module architecture and contains a flexible com munications layer to encapsolate parallel process interaction on a range of platforms CLM is fully integrated into PARFLOW as a module and has been parallelized including I O and is written in FORTRAN 90 95 PARFLOW is organized into a m
85. his License you may choose any version ever published not as a draft by the Free Software Foundation If the Document specifies that a proxy can decide which future versions of this License can be used that proxy s public statement of acceptance of a version permanently authorizes you to choose that version for the Document 11 RELICENSING 110 CHAPTER 6 GNU FREE DOCUMENTATION LICENSE Massive Multiauthor Collaboration Site or MMC Site means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works A public wiki that anybody can edit is an example of such a server A Massive Multiau thor Collaboration or MMC contained in the site means any set of copyrightable works thus published on the MMC site CC BY SA means the Creative Commons Attribution Share Alike 3 0 license published by Creative Commons Corporation a not for profit corporation with a principal place of business in San Francisco California as well as future copyleft versions of that license published by that same organization Incorporate means to publish or republish a Document in whole or in part as part of another Document An MMC is eligible for relicensing if it is licensed under this License and if all works that were first published under this License somewhere other than this MMC and subsequently incorporated in whole or in part into the MMC 1 h
86. hoice HydroStaticDepth specifies that the initial pressure within a region will be in hydrostatic equilibrium with a given pressure specified at a given depth The choice HydroStaticPatch specifies that the initial pressure within a region will be in hydrostatic equilibrium with a given pressure on a specified patch Note that all regions must have the same type of initial data different regions cannot have different types of initial data However the parameters for the type may be different The PFBFile specification means that the initial pressure will be taken as a spatially varying function given by data in a PARFLOw binary pfb file Example Useage pfset ICPressure Type Constant list ICPressure GeomNames no default This key specifies the geometry names on which the initial pressure data will be given These geometries must comprise the entire domain Note that conditions for regions that overlap other regions will have unpredictable results The regions given must be disjoint Example Useage pfset ICPressure GeomNames toplayer middlelayer bottomlayer double Geom geom name ICPressure Value no default This key specifies the initial pressure value for type Constant initial pressures and the reference pressure value for types HydroStaticDepth and HydroStaticPatch Example Useage p set Geom toplayer ICPressure Value 734 0 80 CHAPTER 5 PARFLOW FILES double Geom geom_name ICPressure RefElevation no default This key sp
87. ic flux rates and PARFLOW will ensure that the flux field satisfies this condition in the computational cells which define the well Example Useage Wells test_well Type Flux string Wells wellname ExtractionType no default This key specfies the mechanism by which the extraction well works how PARFLOW works with the well data if the input type key is set to Recirc This key can be either Pressure or Flux A value of Pressure indicates that the data provided for the well is in terms of hydrostatic pressure and PARFLOW will ensure that the computed pressure field satisfies this condition in the computational cells which define the well A value of Flux indicates that the data provided is in terms of volumetric flux rates and PARFLOW will ensure that the flux field satisfies this condition in the computational cells which define the well Example Useage Wells ext_well ExtractionType Pressure string Wells well_name InjectionType no default This key specfies the mechanism by which the injection well works how PARFLOW works with the well data if the input type key is set to Recirc This key can be either Pressure or Flux A value of Pressure indicates that the data provided for the well is in terms of hydrostatic pressure and PARFLOW will ensure that the computed pressure field satisfies this condition in the computational cells which define the well A value of Flux indicates that the data provided is in terms of volumetric flux rates and
88. ication by region or 1 for specification in a file Note that either all parameters are specified in files each has their own input file or none are specified by files Parameters specified by files are and N Example Useage pfset Phase RelPerm VanGenuchten File 1 string Geom geom_name RelPerm Alpha Filename no default This key specifies a pfb filename containing the alpha parameters for the VanGenuchten function cell by cell The ONLY option for geom_name is domain Example Useage pfset Geom domain RelPerm Alpha Filename alphas pfb string Geom geom_name RelPerm N Filename no default This key specifies a pfb filename containing the N parameters for the VanGenuchten function cell by cell The ONLY option for geom_name is domain Example Useage pfset Geom domain RelPerm N Filename Ns pfb double Geom geom_name RelPerm Alpha no default This key specifies the a parameter for the Van Genuchten function specified on geom_name Example Useage pfset Geom domain RelPerm Alpha 0 005 double Geom geom_name RelPerm N no default This key specifies the N parameter for the Van Genuchten function specified on geom_name Example Useage 66 CHAPTER 5 PARFLOW FILES pfset Geom domain RelPerm N 2 0 double Geom geom_name RelPerm A no default This key specifies the A parameter for the Haverkamp relative permeability on geom_name Example Useage pfset Geom domain RelPerm A 1 0 double Geom geom_name RelPerm Gamm
89. if the input type is set to Vectical Example Useage Wells test_well ZLower 2 0 double Wells welllname ExtractionZLower no default This key specifies the z location of the lower extent of a extraction well if the input type is set to Recirc Example Useage Wells ext_well ExtractionZLower 1 0 double Wells well_name InjectionZLower no default This key specifies the z location of the lower extent of a injection well if the input type is set to Recirc Example Useage Wells inj_well InjectionZLower 4 0 string Wells wellname Method no default This key specifies a method by which pressure or flux for a vertical well will be weighted 5 1 MAIN INPUT FILE PFTCL 85 before assignment to computational cells This key can only be Standard if the type key is set to Pressure or this key can be either Standard Weighted or Patterned if the type key is set to Flux A value of Standard indicates that the pressure or flux data will be used as is A value of Weighted indicates that the flux data is to be weighted by the cells permeability divided by the sum of all cell permeabilities which define the well The value of Patterned is not implemented Example Useage Wells test_well Method Weighted string Wells well_name ExtractionMethod no default This key specifies a method by which pressure or flux for an extraction well will be weighted before assignment to computational cells This key can only be Standard if the type key is set
90. ilation of the simulator and associated tools This seperation allows easier porting to platforms where the architecture is different on the nodes and the front end These instructions are for building PARFLOW on a range of serial and parallel linux unix and OSX machines including stand alone single and multi core to large parallel clusters These instructions do NOT include compilation on Windows machines PARFLOW requires a Standard ANSI C and FORTRAN 90 95 compiler to build code GCC and gFortran available for free on almost every platform are good options and may be found at http gcc gnu org and http gcc gnu org wiki GFortran PARFLOW also requires TCL TK version 8 0 or higher TCL TK can be obtained from http www tcl tk These three packages are often pre installed on most computers and generally do not need to be installed by the user The following steps are designed to take you through the process of installing PARFLOW from a source distribution PARFLOW uses the gnu package autoconf to create a configuration file for building and installing the PARFLOW program 3 CHAPTER 2 GETTING STARTED 1 Setup Decide where you wish to install Parflow and associated libraries The following environment variable should be set up in your profile cshrc or other file Set the environment variable PARFLOW_DIR to your chosen location if you are using bash or a bourne syntax shell export PARFLOW_DIR parflow If you are using a
91. iscosity 2 51 5 1 8 Chemical Reactions s rers u par o a T e a oa e E ia pipa 52 5 179 Permeability iv toue ana a Be aa a ta Be 53 J110 POTOSI a A al a o e O ee ad 59 5 1 11 Specific Storage so emoco sca dala ma ane a ee eee AR 59 5 1 12 Manning s Roughness Values aoaaa aaa a 60 5 1 13 Topographical Slopes ee 61 971 14 Retatdation 0 ao senate Ah res a o RE A pees 62 5 1 15 Full Multiphase Mobilities oa aaa e 63 5 1 16 Richards Equation Relative Permeabilities ooo a 64 FELT Phase DOUCES o a ea i eae tts Boe E E ge eh an ee D 66 5 1 18 Capillary Pressures a 68 DAVAO Satra O r A a T ge dag ee Bet 68 5 1 20 Internal Boundary Conditions a e 72 5 1 21 Boundary Conditions Pressure ooo a a 72 5 1 22 Boundary Conditions Saturation e a 76 5 1 23 Initial Conditions Phase Saturations s o oao a 000 0G 78 5 1 24 Initial Conditions Pressure a 79 5 1 25 Initial Conditions Phase Concentrations a 80 5 1 26 Known Exact Solution a aooaa a 81 AA IA AE A A 82 5 1 28 Code Parameters Lia pis A A A A A ea OS hee 87 5 1 29 Richards Equation Solver Parameters 0 0 0 0 00 pee ee eee 91 5 2 ParFlow Binary Files pfb an ek as o O det dos ae ahaa E 95 5 3 ParFlow Scattered Binary Files pisb 2 2 403 24005 64444204 cu Leos 96 5 4 Park low Solid Files pfsol 2 grec di t s Seer A a he AA 97 5 5 ParFlow Well Output File w
92. ith the relationship of the publishers or authors of the Document to the Document s overall subject or to related matters and contains nothing that could fall directly within that overall subject Thus if the Document is in part a textbook of mathematics a Secondary Section may not explain any mathematics The relationship could be a matter of historical connection with the subject or with related matters or of legal commercial philosophical ethical or political position regarding them The Invariant Sections are certain Secondary Sections whose titles are designated as being those of Invariant Sections in the notice that says that the Document is released under this License If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant The Document may contain zero Invariant Sections If the Document does not identify any Invariant Sections then there are none The Cover Texts are certain short passages of text that are listed as Front Cover Texts or Back Cover Texts in the notice that says that the Document is released under this License A Front Cover Text may be at most 5 words and a Back Cover Text may be at most 25 words A Transparent copy of the Document means a machine readable copy represented in a for mat whose specification is available to the general public that is suitable for revising the document straightforwardly with generic text editors or for images
93. l be used as the known solution Possible choices for this key are NoKnownSolution Constant X XPlusYPlusZ X3Y2PlusSinX Y Plus1 X3Y4PlusX2PlusSinX YCosYPlus1 XYZTPlus1 and XYZTPlus1PermTensor Example Useage pfset KnownSolution XPlusYPlusZ Choices for this key correspond to solutions as follows NoKnownSolution No solution is known for this problem Constant p constant X p x XPlusYPlusZ p x y z X3Y2PlusSinXYPlusl p x y sin xy 1 X3Y4PlusX2PlusSinX Y CosYPlus1 p x y4 2 sin ry cosy 1 XYZTPlusl p xyzt 1 XYZTPlusl p xyzt 1 82 CHAPTER 5 PARFLOW FILES double KnownSolution Value no default This key specifies the constant value of the known solution for type Constant known solutions Example Useage pfset KnownSolution Value 1 0 Only for known solution test cases will information on the L norm of the pressure error be printed 5 1 27 Wells Here we define wells for the model The format for this section of input is string Wells Names no default This key specifies the names of the wells for which input data will be given Example Useage Wells Names test_well inj_well ext_well string Wells well name InputType no default This key specifies the type of well to be defined for the given well well_name This key can be either Vertical or Recirc The value Vertical indicates that this is a single segmented well whose action will be specified by the user The value Recirc indicates that this is
94. m geometry name Perm LambdaY no default This key specifies the y correlation length Ay of the field generated for the named geometry geometry_name if either the Turning Bands or Parallel Gaussian Simulator are chosen Example Useage pfset Geom domain Perm LambdaY 200 0 double Geom geometry_name Perm LambdaZ no default This key specifies the z correlation length Az of the field generated for the named geometry geometry_name if either the Turning Bands or Parallel Gaussian Simulator are chosen Example Useage pfset Geom domain Perm LambdaZ 10 0 double Geom geometry_name Perm GeomMean no default This key specifies the geometric mean u of the log normal field generated for the named geometry geometry_name if either the Turning Bands or Parallel Gaussian Simulator are chosen Example Useage pfset Geom domain Perm GeomMean 4 56 double Geom geometry_name Perm Sigma no default This key specifies the standard deviation of the normal field generated for the named geometry geometry_name if either the Turning Bands or Parallel Gaussian Simulator are chosen Example Useage pfset Geom domain Perm Sigma 2 08 integer Geom geometry name Perm Seed 1 This key specifies the initial seed for the random number generator used to generate the field for the named geometry geometry_name if either the Turning Bands or Parallel Gaussian Simulator are chosen This number must be positive Example Useage pfset Geom domain
95. main Example Useage pfset Geom domain Saturation Filename alphas pfb string Geom geom_name Saturation N Filename no default This key specifies a pfb filename containing the N parameters for the VanGenuchten function cell by cell The ONLY option for geom_name is domain Example Useage pfset Geom domain Saturation N Filename Ns pfb string Geom geom_name Saturation SRes Filename no default This key specifies a pfb filename containing the SRes parameters for the VanGenuchten function cell by cell The ONLY option for geom_name is domain Example Useage pfset Geom domain Saturation SRes Filename SRess pfb string Geom geom_name Saturation SSat Filename no default This key specifies a pfb filename containing the SSat parameters for the VanGenuchten function cell by cell The ONLY option for geom_name is domain Example Useage pfset Geom domain Saturation SSat Filename SSats pfb double Geom geom_name Saturation Alpha no default This key specifies the a parameter for the Van Genuchten function specified on geom_name Example Useage pfset Geom domain Saturation Alpha 0 005 double Geom geom_name Saturation N no default This key specifies the N parameter for the Van Genuchten function specified on geom_name Example Useage 5 1 MAIN INPUT FILE PFTCL 71 pfset Geom domain Saturation N 2 0 Note that if both a Van Genuchten saturation and relative permeability are specified then the soil param
96. mputational domain Example Useage pfset SpecificStorage GeomNames domain string SpecificStorage Type no default This key specifies which method is to be used to assign specific storage data The only choice currently available is Constant which indicates that a constant is to be assigned to all grid cells within a geometry Example Useage pfset SpecificStorage Type Constant double Geom geometry_name SpecificStorage Value no default This key specifies the value assigned to all points in the named geometry geometry_name if the type was set to constant Example Useage pfset Geom domain SpecificStorage Value 1 0e 4 5 1 12 Manning s Roughness Values Here Manning s roughness values n in Equations 4 35 and 4 36 are assigned to the upper boundary of the domain using one of the methods described below The format for this section of input is list Mannings GeomNames no default This key specifies all of the geometries on which a different Mannings roughness value will be assigned Mannings values may be assigned by PFBFile or as Constant by geometry These geometries must cover the entire upper surface of the computational domain Example Useage pfset Mannings GeomNames domain string Mannings Type no default This key specifies which method is to be used to assign Mannings roughness data The choices currently available are Constant which indicates that a constant is to be assigned to all grid cells within a geomet
97. n 100 realizations for testing we just run one set n_runs 100 set n_runs 1 Here is where you tell PARFLOW where to put the output In this case its a directory called flow Then you cd change directory into that new directory If you wanted to put an entire path rather than just a name you would have more control over where your output file goes For example you would put file mkdir C cape_cod revised_statistics flow and then change into that directory Note that for Windows you must use a DOUBLE backslash in the file path the single backslash is a control character file mkdir flow cd flow Now we loop through the realizations again using tcl k is the integer counter that is incre mented for each realization When you use a variable rather than define it you precede it with The hanging character opens the do loop for k Loop through runs for set k 1 k lt n_runs incr k 1 4 3 7 ANNOTATED INPUT SCRIPT 33 The following expressions sets the variable seed equal to the expression in brackets which increments with each turn of the do loop and each seed will produce a different random field of K You set upper and lower aquifer because in the Cape Cod site these are the two subsets of the domain Note the seed starts at a different point to allow for different random field generation for the upper and lower zones set the random seed to be different for every run pfset Geom upper_aquif
98. n 4 Replacing Invariant Sections with translations requires special permission from their copyright holders but you may include translations of some or all 109 Invariant Sections in addition to the original versions of these Invariant Sections You may include a translation of this License and all the license notices in the Document and any Warranty Disclaimers provided that you also include the original English version of this License and the original versions of those notices and disclaimers In case of a disagreement between the translation and the original version of this License or a notice or disclaimer the original version will prevail If a section in the Document is Entitled Acknowledgements Dedications or History the requirement section 4 to Preserve its Title section 1 will typically require changing the actual title 9 TERMINATION You may not copy modify sublicense or distribute the Document except as expressly provided under this License Any attempt otherwise to copy modify sublicense or distribute it is void and will automatically terminate your rights under this License However if you cease all violation of this License then your license from a particular copyright holder is reinstated a provisionally unless and until the copyright holder explicitly and finally terminates your license and b permanently if the copyright holder fails to notify you of the violation by some reasonable mea
99. n the specified patch will be in hydrostatic equilib rium with a constant reference pressure given on a reference patch The choice DirEquilP Linear specifies that the pressure on the specified patch will be in hydrostatic equilibrium with pressure given along a piecewise line at elevation z 0 The choice FluxConst defines a constant normal flux boundary condition through the domain patch This flux must be specified in units of L T For Richards equation fluxes must be specified as a mass flux and given as the above flux multi plied by the density Thus this choice of input type for a Richards equation problem has units of T M 1 9 The choice FluxVolumetric defines a volumetric flux boundary condition through the domain patch The units should be consistent with all other user input for the problem For Richards equation fluxes must be specified as a mass flux and given as the above flux multi plied by the density The choice PressureFile defines a hydraulic head boundary condition that is read from a properly distributed pfb file Only the values needed for the patch are used The choice FluxFile defines a flux boundary condition that is read form a properly distributed pfb file defined on a grid consistent with the pressure field grid Only the values needed for the patch are used The choices OverlandFlow and OverlandFlowPFB both turn on fully coupled overland flow routing as described in 7 and in 4 6 The key Overl
100. n this case is only when steady state has been reached pfset TimingInfo DumpInterval 1 Next we assign the porosity see 5 1 10 For the Cape Cod the porosity is 0 39 a a a a ne E eee Porosity saa SS Sees SSS SS E a ee a a ea ee ee ee SS eS ee ae ee ea eee a ee ee SS eS SSS pfset Geom Porosity GeomNames domain pfset Geom domain Porosity Type Constant pfset Geom domain Porosity Value 0 390 Having defined the geometry of our problem before and named it domain were now ready to report upload that problem which we do here pfset Domain GeomName domain Mobility between phases is set to 1 0 because we only have one phase water 3 7 ANNOTATED INPUT SCRIPT 29 H SS 2 2 22 gt 2 gt 2 gt 2 2 2 gt 2 2 2 22 2 323 5S 2 222222322 2 2 2 gt 3 Mobility H A A A A A A ee Se A A A A ee eS A A ES pfset Phase water Mobility Type Constant pfset Phase water Mobility Value 1 0 Again PARFLOW has more capabilities that we are using for Cape Cod We will deal with our monitoring wells in a separate code as we assume the do not remove a significant amount of water from the domain Note that since there are no well names listed here PARFLOW assumes we have no wells If we had pumping wells we would have to include them here because they would affect the head distribution throughout our domain pfset Wells Names You can give certain periods of time names if you want to ie Pre injection
101. name when either the Normal Truncated or Log Truncated values are chosen Example Useage pfset Geom domain Perm HighCutoff 100 0 string Geom geometry name Perm FileName no default This key specifies that permeability values for the specified geometry geometry_name are given according to a user supplied description in the ParFlow Binary file whose filename is given as the value For a description of the ParFlow Binary file format see 5 2 The ParFlow Binary file associated with the named geometry must contain a collection of permeability values corresponding in a one to one manner to the entire computational grid That is to say when the contents of the file are read into the simulator a complete permeability description for the entire domain is supplied Only those values associated with computational cells residing within the geometry as it is represented on the computational grid will be copied into data structures used during the course of a simulation Thus the values associated with cells outside of the geounit are irrelevant For clarity consider a couple of different scenarios For example the user may create a file for each geometry such that appropriate permeability values are given for the geometry and garbage values e g some flag value are given for the rest of the computational domain In this case a separate binary file is specified for each geometry Alternatively one may place all values representing the
102. names of a series of items For example you might need to specify the names of the geometries You would do this using space seperated names what we are calling a list layerl layer2 layer3 The descriptions that follow are organized into functional areas An example for each database entry is given Note that units used for each physical quantity specified in the input file must be consistent with units used for all other quantities The exact units used can be any consistent set as PARFLOW does not assume any specific set of units However it is up to the user to make sure all specifications are indeed consistent 5 1 1 Input File Format Number integer FileVersion no default 44 CHAPTER 5 PARFLOW FILES This gives the value of the input file version number that this file fits Example Useage pfset FileVersion 4 As development of the PARFLOW code continues the input file format will vary We have thus included an input file format number as a way of verifying that the correct format type is being used The user can check in the parflow config file_versions h file to verify that the format number specified in the input file matches the defined value of PFIN_VERSION 5 1 2 Geometries Here we define all geometrical information needed by PARFLOW For example the domain and patches on the domain where boundary conditions are to be imposed lithology or hydrostrati graphic units faults initial plume shapes and so on
103. near the most prominent appearance of the work s title preceding the beginning of the body of the text The publisher means any person or entity that distributes copies of the Document to the public A section Entitled XYZ means a named subunit of the Document whose title either is pre 105 cisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language Here XYZ stands for a specific section name mentioned below such as Acknowledgements Dedications Endorsements or History To Preserve the Title of such a section when you modify the Document means that it remains a section Entitled XYZ according to this definition The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document These Warranty Disclaimers are considered to be included by reference in this License but only as regards disclaiming warranties any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License 2 VERBATIM COPYING You may copy and distribute the Document in any medium either commercially or noncommer cially provided that this License the copyright notices and the license notice saying this License applies to the Document are reproduced in all copies and that you add no other conditions whatso ever to those of this License You may not use technical measures to obst
104. ns prior to 60 days after the cessation Moreover your license from a particular copyright holder is reinstated permanently if the copy right holder notifies you of the violation by some reasonable means this is the first time you have received notice of violation of this License for any work from that copyright holder and you cure the violation prior to 30 days after your receipt of the notice Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License If your rights have been terminated and not permanently reinstated receipt of a copy of some or all of the same material does not give you any rights to use it 10 FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new revised versions of the GNU Free Documen tation License from time to time Such new versions will be similar in spirit to the present version but may differ in detail to address new problems or concerns See http www gnu org copyleft Each version of the License is given a distinguishing version number If the Document specifies that a particular numbered version of this License or any later version applies to it you have the option of following the terms and conditions either of that specified version or of any later version that has been published not as a draft by the Free Software Foundation If the Document does not specify a version number of t
105. nstant value of y for the EtaChoice key EtaConstant Example Useage p set Solver Nonlinear EtaValue le 7 double Solver Nonlinear EtaAlpha 2 0 This key specifies the value of a for the case of EtaChoice being Walker2 Example Useage p set Solver Nonlinear EtaAlpha 1 0 double Solver Nonlinear EtaGamma 0 9 This key specifies the value of y for the case of EtaChoice being Walker2 Example Useage 5 1 MAIN INPUT FILE PFTCL 93 p set Solver Nonlinear EtaGamma 0 7 string Solver Nonlinear UseJacobian False This key specifies whether the Jacobian will be used in matrix vector products or whether a matrix free version of the code will run Choices for this key are False and True Using the Jacobian will most likely decrease the number of nonlinear iterations but require more memory to run Example Useage pfset Solver Nonlinear UseJacobian True double Solver Nonlinear DerivativeEpsilon le 7 This key specifies the value of e used in approximating the action of the Jacobian on a vector with approximate directional derivatives of the nonlinear function This parameter is only used when the UseJacobian key is False Example Useage pfset Solver Nonlinear DerivativeEpsilon le 8 string Solver Nonlinear Globalization LineSearch This key specifies the type of global strategy to use Possible choices for this key are Inex actNewton and LineSearch The choice InexactNewton specifies no global strategy and the choice LineS
106. o the pfrun This command requires that the processor topology and computational grid be set in the input file so that it knows how to distribute the data pfflux conductivity hhead This command computes the net Darcy flux at vertices for the conductivity data set conduc tivity and the hydraulic head data set given by hhead An identifier representing the flux computed will be returned upon successful completion pfgetelt dataset ij k This command returns the value at element i j k in data set dataset The i j and k above must range from 0 to nx 1 0 to ny 1 and 0 to nz 1 respectively The values nx ny and nz are the number of grid points along the x y and z axes respectively The string dataset is an identifier representing the data set whose element is to be retrieved pfgetgrid dataset This command returns a description of the grid which serves as the domain of data set dataset The format of the description is given below e nx ny nz The number of coordinates in each direction e x y Z The origin of the grid e dx dy dz The distance between each coordinate in each direction The above information is returned in the following Tcl list format nx ny nz x y z dx dy dz pfgridtype gridtype This command sets the grid type to either cell centered if gridtype is set to cell or vetex centered if gridtype is set to vertex If no new value for gridtype i
107. on routine takes any number of GMS sol files concatenates the vertices of the solids defined in the files throws away duplicate vertices then prints out the pfsol file Information relating the solid index in the resulting pfsol file with the GMS names and material IDs are printed to stdout 5 5 ParFlow Well Output File wells A well output file is produced by PARFLOW when wells are defined The well output file contains information about the well data being used in the internal computations and accumulated statistics about the functioning of the wells The header section has the following format LINE BEGIN lt real BackgroundX gt lt real BackgroundY gt lt real BackgroundZ gt lt integer BackgroundNX gt lt integer BackgroundNY gt lt integer BackgroundNZ gt lt real BackgroundDX gt lt real BackgroundDY gt lt real BackgroundDZ gt END LINE BEGIN lt integer number_of_phases gt 5 5 PARFLOW WELL OUTPUT FILE WELLS lt integer number_of_components gt lt integer number_of_wells gt END FOR well O TO lt number_of_wells gt 1 BEGIN LINE BEGIN lt integer sequence_number gt END LINE BEGIN lt string well_name gt END LINE BEGIN lt real well_x_lower gt lt real well_y_lower gt lt real well_z_lower gt lt real well_x_upper gt lt real well_y_upper gt lt real well_z_upper gt lt real well_diameter gt END LINE BEGIN lt in
108. oundary Conditions Saturation Note this section needs to be defined only for multi phase flow and should not be defined for the single phase and Richards equation cases Here we define the boundary conditions for the saturations Boundary condition input is asso ciated with domain patches see 5 1 5 Note that different patches may have different types of boundary conditions on them list BCSaturation PatchNames no default This key specifies the names of patches on which saturation boundary conditions will be specified Note that these must all be patches on the external boundary of the domain and these patches must cover that external boundary Example Useage pfset BCSaturation PatchNames left right front back top bottom 5 1 MAIN INPUT FILE PFTCL TT string Patch patch_name BCSaturation phase_name Type no default This key specifies the type of boundary condition data given for the given phase phase name on the given patch patch_name Possible values for this key are DirConstant Constant WT Height and PLinearWTHeight The choice DirConstant specifies that the saturation is constant on the whole patch The choice Constant W THeight specifies a constant height of the water table on the whole patch The choice PLinearWT Height specifies that the height of the water table on the patch will be given by a piecewise linear function Note the types Constant W THeight and PLinearWTHeight assume we are running a 2 phase
109. output to be converted into formats used by almost all visualization software 3 5 Manipulating Data 3 5 1 Introduction to the PARFLow TCL commands PFTCL Several tools for manipulating data are provided in PFTCL command set In order to use them you need to load the PARFLOW package into the TCL shell If you are doing simple data manipulation the xpftools provides GUI access to most of these features All of these tools are accessible inside of a PARFLOW input script You can use them to do post and pre processing of datafiles each time you execute a run To Import the ParFlow TCL package lappend auto_path env PARFLOW_DIR bin 3 5 MANIPULATING DATA 15 package require parflow namespace import Parflow Use pfhelp to get a list of commands PFTCL assigns identifiers to each data set it stores For example if you read in a file called foo pfb you get the following parflow gt pfload foo pfb dataset0 The first line is typed in by the user and the second line is printed out by PFTCL It indicates that the data read from file foo pfb is associated with the identifier dataseto To exit use the standard TCL command exit 3 5 2 PFTCL Commands The following gives a list of PARFLOW commands and instructions for their use Note that com mands that perform operations on data sets will require an identifier for each data set it takes as input pfaxpy alpha x y This command computes y alpha x y where alpha is a scala
110. per_aquifer lower_aquifer You can set for example homogeneous constant permeability or you can generate a random field that meets your statistical requirements To define a constant permeability for the entire domain pfset Geom domain Perm Type Constant pfset Geom domain Perm Value 4 0 However for Cape Cod we didnt want a constant permeability field so we instead generated a random permeability field meeting our statistical parameters for each the upper and lower zones Third from the bottom is the Seed This is a random starting point to generate the K field Pick any large ODD number First we do something tricky with Tcl TK We use the native commands within tcl to open a text file and read in locally set variables Note we use set here and not pfset One is a native tcl command the other a PARFLOW specific command For this problem we are linking the parameter estimation code PEST to PARFLOw PEST writes out the ascii file stats4 txt also located in the test directory as the result of a calibration run Since we are not coupled to PEST in this example we just read in the file and use the values to assign statistical properties we open a file in this case from PEST to set upper and lower kg and sigma set fileId open stats4 txt r 0600 set kgu gets fileld set varu gets fileld set kgl gets fileld set varl gets fileld close fileld Now we set the heterogeneous parameters for the Upper and Lower aqui
111. post injection etc Here however we do not have multiple time intervals and are simulating in steady state so time cycle keys are simple We have only one time cycle and its constant for the duration of the simulation We accomplish this by giving it a repeat value of 1 which repeats indefinitely The length of the cycle is the length specified below an integer multiplied by the base unit value we specified earlier pfset Cycle Names constant pfset Cycle constant Names alltime pfset Cycle constant alltime Length 1 p set Cycle constant Repeat 1 Now we assign Boundary Conditions for each face each of the Patches in the domain defined before Recall the previously stated Patches and associate them with the boundary conditions that follow p set BCPressure PatchNames left right front back bottom top These are Dirichelet BCs i e constant head over cell so the pressure head is set to hydrostatic see 8 5 1 21 There is no time dependence so use the constant time cycle we defined previously RefGeom links this to the established domain geometry and tells ParFlow what to use for a datum when calculating hydrostatic head conditions 30 CHAPTER 3 THE PARFLOW SYSTEM p set Patch left BCPressure Type DirEquilRefPatch p set Patch left BCPressure Cycle constant p set Patch left BCPressure RefGeom domain Reference the current left patch to the bottom to define the line of intersection between the two pfset Patch left BCP
112. put is string CapPressure phase_name Type Constant This key specifies the capillary pressure between phase 0 and the named phase phase_name The only choice available is Constant which indicates that a constant capillary pressure exists between the phases Example Useage pfset CapPressure water Type Constant list CapPressure phase_name GeomNames no default This key specifies the geometries that capillary pressures will be computed for in the named phase phase_name Regions listed later overlay regions listed earlier Any geometries not listed will be assigned 0 0 capillary pressure by PARFLOW Example Useage pfset CapPressure water GeomNames domain double Geom geometry_name CapPressure phase_name Value 0 0 This key specifies the value of the capillary pressure in the named geometry geometry_name for the named phase phase_name Example Useage pfset Geom domain CapPressure water Value 0 0 Important note the code currently works only for capillary pressure equal zero 5 1 19 Saturation This section is only relevant to the Richards equation cases All keys relating to this section will be ignored for other cases The following keys are used to define the saturation pressure curve string Phase Saturation Type no default This key specifies the type of saturation function that will be used on all specified geometries 5 1 MAIN INPUT FILE PFTCL 69 Note that only one type of saturation may b
113. r 0 0 double Patch patchname BCPressure interval_name XUpper no default This key specifies the upper x coordinate of a line in the xy plane Example Useage pfset Patch top BCPressure alltime XUpper 1 0 double Patch patch name BCPressure interval_name YUpper no default This key specifies the upper y coordinate of a line in the xy plane Example Useage pfset Patch top BCPressure alltime YUpper 1 0 integer Patch patch_ name BCPressure intervalname NumPoints no default This key specifies the number of points on which pressure data is given along the line used in the type DirEquilP Linear boundary conditions Example Useage pfset Patch top BCPressure alltime NumPoints 2 double Patch patch name BCPressure interval_name point_number Location no default This key specifies a number between 0 and 1 which represents the location of a point on the line on which data is given for type DirEquilP Linear boundary conditions Here 0 corresponds to the lower end of the line and 1 corresponds to the upper end Example Useage pfset Patch top BCPressure alltime 0 Location 0 0 double Patch patch name BCPressure interval_name point_number Value no default This key specifies the pressure value for phase 0 at point number point_number and z 0 for type DirEquilP Linear boundary conditions All pressure values on the patch are determined by first projecting the boundary condition coordinate onto the line then linearly interpolating betw
114. r and x and y are identifiers representing data sets No data set identifier is returned upon successful completion since data set y is overwritten pfcvel conductivity phead This command computes the Darcy velocity in cells for the conductivity data set represented by the identifier conductivity and the pressure head data set represented by the identifier phead note This cell is not the same as the grid cells its corners are defined by the grid vertices The identifier of the data set created by this operation is returned upon successful completion pfdelete dataset This command deletes the data set represented by the identifier dataset pfdiffelt datasetp datasetq i j k digits zero This command returns the difference of two corresponding coordinates from datasetp and datasetq if the number of digits in agreement significant digits differs by more than digits significant digits and the difference is greater than the absolute zero given by zero pfdist filename Distribute the file onto the virtual file system This utility must be used to create files which PARFLOW can use as input PARFLOW uses a virtual file system which allows each node of the parallel machine to read from the input file independentaly The utility does the inverse 16 CHAPTER 3 THE PARFLOW SYSTEM of the pfundist command If you are using a PARFLOW binary file for input you should do a pfdist just before you d
115. r modified versions provided that you include in the combination all of the Invariant Sections of all of the original documents unmodified and list them all as 108 CHAPTER 6 GNU FREE DOCUMENTATION LICENSE Invariant Sections of your combined work in its license notice and that you preserve all their Warranty Disclaimers The combined work need only contain one copy of this License and multiple identical Invariant Sections may be replaced with a single copy If there are multiple Invariant Sections with the same name but different contents make the title of each such section unique by adding at the end of it in parentheses the name of the original author or publisher of that section if known or else a unique number Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work In the combination you must combine any sections Entitled History in the various original documents forming one section Entitled History likewise combine any sections Entitled Ac knowledgements and any sections Entitled Dedications You must delete all sections Entitled Endorsements 6 COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License and replace the individual copies of this License in the various documents with a single copy that is included in the collection provided that you follow the rule
116. ressure RefPatch bottom Set the head permanently to 10 0m Pressure head will of course vary top to bottom because of hydrostatics but head potential will be constant pfset Patch left BCPressure alltime Value 10 0 Repeat the declarations for the rest of the faces of the domain The left to right X dimension is aligned with the hydraulic gradient The difference between the values assigned to right and left divided by the length of the domain corresponds to the correct hydraulic gradient pfset Patch right BCPressure Type DirEquilRefPatch pfset Patch right BCPressure Cycle constant pfset Patch right BCPressure RefGeom domain pfset Patch right BCPressure RefPatch bottom pfset Patch right BCPressure alltime Value 9 97501 pfset Patch front BCPressure Type FluxConst pfset Patch front BCPressure Cycle constant pfset Patch front BCPressure alltime Value 0 0 pfset Patch back BCPressure Type FluxConst pfset Patch back BCPressure Cycle constant pfset Patch back BCPressure alltime Value 0 0 pfset Patch bottom BCPressure Type FluxConst pfset Patch bottom BCPressure Cycle constant pfset Patch bottom BCPressure alltime Value 0 0 pfset Patch top BCPressure Type FluxConst pfset Patch top BCPressure Cycle constant pfset Patch top BCPressure alltime Value 0 0 Next we define topographic slopes and Mannings n values These are not used since we do not solve for overland flow However the keys still need to appear in the input script
117. rnalBC internal_bc_name Value no default This key specifies the value of the named internal_bc_name condition Example Useage pfset InternalBC fixedheadvalue Value 100 0 5 1 21 Boundary Conditions Pressure Here we define the pressure boundary conditions The Dirichlet conditions below are hydrostatic conditions and it is assumed that at each phase interface the pressure is constant It is also assumed here that all phases are distributed within the domain at all times such that the lighter phases are vertically higher than the heavier phases 5 1 MAIN INPUT FILE PFTCL 73 Boundary condition input is associated with domain patches see 5 1 5 Note that different patches may have different types of boundary conditions on them list BCPressure PatchNames no default This key specifies the names of patches on which pressure boundary conditions will be specified Note that these must all be patches on the external boundary of the domain and these patches must cover that external boundary Example Useage pfset BCPressure PatchNames left right front back top bottom string Patch patch name BCPressure Type no default This key specifies the type of boundary condition data given for patch patch_name Possible values for this key are DirEquilRefPatch DirEquilPLinear FluxConst FluxVolumetric PressureFile FluxFile OverlandFow OverlandFlowPFB and ExactSolution The choice DirEquilRefPatch specifies that the pressure o
118. ruct or control the reading or further copying of the copies you make or distribute However you may accept compensation in exchange for copies If you distribute a large enough number of copies you must also follow the conditions in section 3 You may also lend copies under the same conditions stated above and you may publicly display copies 3 COPYING IN QUANTITY If you publish printed copies or copies in media that commonly have printed covers of the Document numbering more than 100 and the Document s license notice requires Cover Texts you must enclose the copies in covers that carry clearly and legibly all these Cover Texts Front Cover Texts on the front cover and Back Cover Texts on the back cover Both covers must also clearly and legibly identify you as the publisher of these copies The front cover must present the full title with all words of the title equally prominent and visible You may add other material on the covers in addition Copying with changes limited to the covers as long as they preserve the title of the Document and satisfy these conditions can be treated as verbatim copying in other respects If the required texts for either cover are too voluminous to fit legibly you should put the first ones listed as many as fit reasonably on the actual cover and continue the rest onto adjacent pages If you publish or distribute Opaque copies of the Document numbering more than 100 you must either include a machine
119. rvey 2007 Revisiting the Cape Cod Bacteria Injection Experiment Using a Stochastic Modeling Approach Environmental Science and Technology 41 15 5548 5558 Maxwell R M Chow F K and Kollet S J The groundwater land surface atmosphere con nection soil moisture effects on the atmospheric boundary layer in fully coupled simulations Advances in Water Resources 30 12 2447 2466 Maxwell R M Carle S F and Tompson A F B 2008 Contamination Risk and Hetero geneity On the Effectiveness of Aquifer Remediation Environmental Geology 54 1771 1786 Maxwell R M and Kollet S J 2008 Quantifying the effects of three dimensional subsurface heterogeneity on Hortonian runoff processes using a coupled numerical stochastic approach Advances in Water Resources 31 5 807 817 Maxwell R M and Kollet S J 2008 Interdependence of groundwater dynamics and land energy feedbacks under climate change Nature Geoscience 1 10 665 669 Maxwell R M Tompson A F B and Kollet S J 2009 A Serendipitous Long Term Infil tration Experiment Water and Tritium Circulation Beneath the CAMBRIC Trench at the Nevada Test Site Journal of Contaminant Hydrology in press Tompson A F B R Ababou and L W Gelhar 1989 Implementation of of the three dimensional turning bands random field generator Water Resources Research 25 10 2227 2243 Tompson A F B R D Falgout S G Smith W J Bosl and S F Ashby 1998 Analysis of su
120. ry and PFBFile which indicates that all values are read in from a distributed grid based PARFLOW binary file Example Useage pfset Mannings Type Constant double Mannings Geom geometry_name Value no default This key specifies the value assigned to all points in the named geometry geometry_name if the type was set to constant Example Useage 5 1 MAIN INPUT FILE PFTCL 61 pfset Mannings Geom domain Value 5 52e 6 double Mannings FileName no default This key specifies the value assigned to all points be read in from a PARFLOW binary file Example Useage pfset Mannings FileName roughness pfb Complete example of setting Mannings roughness n values by geometry pfset Mannings Type Constant pfset Mannings GeomNames domain pfset Mannings Geom domain Value 5 52e 6 5 1 13 Topographical Slopes Here topographical slope values Sy and S fy in Equations 4 35 and 4 36 are assigned to the upper boundary of the domain using one of the methods described below The format for this section of input is list ToposlopesX GeomNames no default This key specifies all of the geometries on which a different x topographic slope values will be assigned Topographic slopes may be assigned by PFBFile or as Constant by geometry These geometries must cover the entire upper surface of the computational domain Example Useage pfset ToposlopesX GeomNames domain list ToposlopesY GeomNames no default This key specifies all of the
121. s Advances in Water Resources 24 763 774 Kollet S J and R M Maxwell 2006 Integrated surface groundwater flow modeling A free surface overland flow boundary condition in a parallel groundwater flow model Advances in Water Resources 29 945 958 Kollet S J and Maxwell R M 2007 Capturing the influence of groundwater dynamics on land surface processes using an integrated distributed watershed model Water Resources Research 44 W02402 Kollet S J and Maxwell R M 2008 Demonstrating fractal scaling of baseflow residence time distributions using a fully coupled groundwater and land surface model Geophysical Research Letters 35 L07402 Maxwell R M C Welty and A F B Tompson 2003 Streamline based simulation of virus transport resulting from long term artificial recharge in a heterogeneous aquifer Advances in Water Resources 22 3 203 221 111 112 11 12 15 16 17 18 20 21 22 BIBLIOGRAPHY Maxwell R M and N L Miller 2005 Development of a coupled land surface and groundwater model Journal of Hydrometeorology 6 3 233 247 Maxwell R M S F Carle and A F B Tompson 2000 Risk Based Management of Contam inated Groundwater The Role of Geologic Heterogeneity Exposure and Cancer Risk in De termining the Performance of Aquifer Remediation In Proceedings of Computational Methods in Water Resources XII Balkema 533 539 Maxwell R M C Welty and R W Ha
122. s The Polynomial specification defines a polynomial saturation function for each region of the form degree s p y cip 5 6 i 0 The PFBFile specification means that the saturation will be taken as a spatially varying but constant in pressure function given by data in a PARFLOW binary pfb file list Phase Saturation GeomNames no default This key specifies the geometries on which saturation will be given The union of these geome tries must cover the entire computational domain Example Useage pfset Phase Saturation Geonames domain double Geom geom_name Saturation Value no default This key specifies the constant saturation value on the geom_name region Example Useage pfset Geom domain Saturation Value 0 5 70 CHAPTER 5 PARFLOW FILES integer Phase Saturation VanGenuchten File 0 This key specifies whether soil parameters for the VanGenuchten function are specified in a pfb file or by region The options are either O for specification by region or 1 for specification in a file Note that either all parameters are specified in files each has their own input file or none are specified by files Parameters specified by files are a N SRes and SSat Example Useage pfset Phase Saturation VanGenuchten File 1 string Geom geom_name Saturation Alpha Filename no default This key specifies a pfb filename containing the alpha parameters for the VanGenuchten function cell by cell The ONLY option for geom_name is do
123. s the continuity equation can be written as OWs Ot where Y is the depth averaged velocity vector LT7 1 is the surface ponding depth L and qr x is the a general source sink e g rainfall rate LT If diffusion terms are neglected the momentum equation can be written as V Tps G x 4 33 Spi So 4 34 which is commonly referred to as the kinematic wave approximation In Equation 4 34 S is the bed slope gravity forcing term which is equal to the friction slope Sr L i stands for the x and y direction Mannings equation is used to establish a flow depth discharge relationship Vz Pht 2 3 4 35 n and VP fou 2 8 4 36 vy n where n TL7 8 is the Mannings coefficient Chapter 5 ParFlow Files In this chapter we discuss the various file formats used in PARFLOWw To help simplify the descrip tion of these formats we use a pseudocode notation composed of fields and control constructs A field is a piece of data having one of the field types listed in Table 5 1 note that field types may have one meaning in ASCII files and another meaning in binary files Fields are denoted by enclosing the field name with a lt on the left and a gt on the right The field name is composed of alphanumeric characters and underscores _ In the defining entry of a field the field name is also prepended by its field type and a The control constructs used in our pseudocode have the keyword n
124. s command is used to save the data set given by the identifier dataset to a file filename of type filetype in one of the ParFlow formats below File type options include pfb ParFlow binary format e sa ParFlow simple ASCII format e sb ParFlow simple binary format e vis Vizamrai binary format pfsavesds dataset filetype filename This command is used to save the data set represented by the identifier dataset to the file filename in the format given by filetype The possible HDF formats are e float32 e float64 e int8 e uint8 e int16 e uintl6 3 5 MANIPULATING DATA 19 e int32 e uint32 pfstats dataset This command prints various statistics for the data set represented by the identifier dataset The minimum maximum mean sum variance and standard deviation are all computed The above values are returned in a list of the following form min max mean sum variance standard deviation pfvmag datasetx datasety datasetz This command computes the velocity magnitude when given three velocity components The three parameters are identifiers which represent the x y and z components respectively The identifier of the data set created by this operation is returned upon successful completion pfvvel conductivity phead This command computes the Darcy velocity in cells for the conductivity data set represented by the identifier conductivity and the pressure head dat
125. s given then the current value of gridtype is returned The value of gridtype will be returned upon successful completion of this command pfhhead phead This command computes the hydraulic head from the pressure head represented by the iden tifier phead An identifier for the hydraulic head computed is returned upon successful completion pflistdata dataset This command returns a list of pairs if no argument is given The first item in each pair will be an identifier representing the data set and the second item will be that data set s label If a data set s identifier is given as an argument then just that data set s name and label will be returned 3 5 MANIPULATING DATA 17 pfload file format filename Loads a dataset into memory so it can be manipulated using the other utilities A file format may preceed the filename in order to indicate the file s format If no file type option is given then the extension of the filename is used to determine the default file type An identifier used to represent the data set will be returned upon successful completion File type options include e pfb ParF low binary format Default file type for files with a pfb extension e pfsb ParF low scattered binary format Default file type for files with a pfsb extension esa ParFlow simple ASCII format Default file type for files with a sa extension e sb ParF low simple binary format Default fil
126. s of this License for verbatim copying of each of the documents in all other respects You may extract a single document from such a collection and distribute it individually under this License provided you insert a copy of this License into the extracted document and follow this License in all other respects regarding verbatim copying of that document 7 AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent docu ments or works in or on a volume of a storage or distribution medium is called an aggregate if the copyright resulting from the compilation is not used to limit the legal rights of the compilation s users beyond what the individual works permit When the Document is included in an aggregate this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document If the Cover Text requirement of section 3 is applicable to these copies of the Document then if the Document is less than one half of the entire aggregate the Document s Cover Texts may be placed on covers that bracket the Document within the aggregate or the electronic equivalent of covers if the Document is in electronic form Otherwise they must appear on printed covers that bracket the whole aggregate 8 TRANSLATION Translation is considered a kind of modification so you may distribute translations of the Document under the terms of sectio
127. sX source 0 0 X3Y2PlusSinX YPlus1 source 312 y y cos 1y 22 y x cos xy 2 y sin ay 1 Gay 20 x y sin xy This function type specifies that the source applied over the entire domain is as noted above This corresponds to p zy sin xy 1 in the problem V pVp f X3Y4PlusX2PlusSinX YCosYPlus1 source 3272y 2x y cos xy cos y 4a y x cos xy cos y sin xy sin y a y 2 sin xy cos y 1 6xy 2 x y 1 sin xy cos y 12x y 2x cos ay sin y This function type specifies that the source applied over the entire domain is as noted above This corresponds to p 1 y z sin xy cos y 1 in the problem V pVp f 68 CHAPTER 5 PARFLOW FILES XYZTPlusl source gyz t 2 y 2 2 y 2 This function type specifies that the source applied over the entire domain is as noted above This corresponds to p xyzt 1 in the problem op V pVp f XYZTPlus1PermTensor source ryz t x y 3 222224 y 2 This function type specifies that the source applied over the entire domain is as noted above This corresponds to p xyzt 1 in the problem op V KpVp f where K diag 1 2 3 5 1 18 Capillary Pressures Here we define capillary pressure Note this section needs to be defined only for multi phase flow and should not be defined for single phase and Richards equation cases The format for this section of in
128. seage pfset Solver CLM Printid0ut False 5 2 PARFLOW BINARY FILES PFB 95 string Solver BinaryOutDir True This key specifies whether the CLM writes each set of two dimensional binary output files to a corresponding directory These directories my be created before PARFLOW is run using the tcl script for example Choices for this key include True and False Note that CLM must be compiled and linked at runtime for this option to be active Example Useage pfset Solver CLM BinaryOutDir True These directories are qf1x_top_soil for soil flux qf1x_inf1 for infiltration qflx_evap_grnd for ground evaporation ef1x_soil_grnd for ground heat flux qflx_evap_veg for vegetation evaporation ef1x_sh_tot for sensible heat flux ef1x_1h_tot for latent heat flux qflx_evap_tot for total evaporation t_grnd for ground surface temperature qf1x_evap_soi for soil evapo ration qflx_tran_veg for vegetation transpiration eflx_lwrad_out for outgoing long wave radiation swe_out for snow water equivalent and diag_out for diagnostics string Solver CLM CLMFileDir no default This key specifies what directory all output from the CLM is written to This key may be set to or to write output to the PARFLOW run directory This directory must be created before PARFLOW is run Note that CLM must be compiled and linked at runtime for this option to be active Example Useage pfset Solver CLM CLMFileDir CLM_Output integer Solv
129. solver with a multigrid preconditioner The choice CGHS is a conjugate gradient solver Example Useage 88 CHAPTER 5 PARFLOW FILES pfset Solver Linear MGSemi integer Solver SadvectOrder 2 This key controls the order of the explicit method used in advancing the saturations This value can be either 1 for a standard upwind first order or 2 for a second order Godunov method Example Useage pfset Solver SadvectOrder 1 integer Solver AdvectOrder 2 This key controls the order of the explicit method used in advancing the concentrations This value can be either 1 for a standard upwind first order or 2 for a second order Godunov method Example Useage pfset Solver AdvectOrder 2 double Solver CFL 0 7 This key gives the value of the weight put on the computed CFL limit before computing a global timestep value Values greater than 1 are not suggested and in fact because this is an approximation values slightly less than 1 can also produce instabilities Example Useage pfset Solver CFL 0 7 integer Solver Maxlter 1000000 This key gives the maximum number of iterations that will be allowed for time stepping This is to prevent a run away simulation Example Useage pfset Solver MaxIter 100 double Solver RelTol 1 0 This value gives the relative tolerance for the linear solve algorithm Example Useage pfset Solver RelTol 1 0 double Solver AbsTol 1E 9 This value gives the absolute tolerance for the linear solve
130. ssure head If you were to set density and viscosity to their true values the code would calculate k permeability By using the normalized values instead you effectively imbed the conversion of k to K hydraulic conductivity So this way we get hydraulic conductivity which is what we want for this problem pfset Phase Names water pfset Phase water Density Type Constant pfset Phase water Density Value 1 0 pfset Phase water Viscosity Type Constant pfset Phase water Viscosity Value 1 0 We will not use the PARFLOW grid based transport scheme We will then leave contaminants blank because we will use a different code for to model virus tracer contamination pfset Contaminants Names As with density and viscosity gravity is normalized here If we used the true value in the L and T units of hydraulic conductivity the code would be calculating permeability Instead we normalize so that the code calculates hydraulic conductivity 28 CHAPTER 3 THE PARFLOW SYSTEM p set Gravity 1 0 This basic time unit of 1 0 is used for transient boundary and well conditions We are not using those features in this example p set Timinglnfo BaseUnit 1 0 Cape Cod is a steady state problem so these timing features are again unused but need to be included p set TimingInfo StartCount 1 pfset TimingInfo StartTime 0 0 pfset TimingInfo StopTime 0 0 Set the dump interval to 1 to report info at the end of every calculation which i
131. stant type phase sources specify a constant phase source value for a given set of regions PredefinedFunction type phase sources use a preset 5 1 MAIN INPUT FILE PFTCL 67 function choices are listed below to specify the source Note that the PredefinedFunction type can only be used to set a single source over the entire domain and not separate sources over different regions Example Useage pfset PhaseSources water Type Constant list PhaseSources phase_name GeomNames no default This key specifies the names of the geometries on which source terms will be specified This is used only for Constant type phase sources Regions listed later overlay regions listed earlier Example Useage pfset PhaseSources water GeomNames bottomlayer middlelayer toplayer double PhaseSources phase_name Geom geom_name Value no default This key specifies the value of a constant source term applied to phase phase _name on geometry geom_name Example Useage pfset PhaseSources water Geom toplayer Value 1 0 string PhaseSources phase_name PredefinedFunction no default This key specifies which of the predefined functions will be used for the source Possible values for this key are X XPlusYPlusZ X3Y2PlusSinX Y Plus1 X3Y4PlusX2PlusSinX Y CosYPlus1 XYZTPlus1 and XYZTPlus1PermTensor Example Useage pfset PhaseSources water PredefinedFunction XPlusYPlusZ The choices for this key correspond to sources as follows X source 0 0 XPlusYPlu
132. t integer num_triangles gt FOR triangle O TO lt num_triangles gt 1 BEGIN lt integer v0 gt lt integer vi gt lt integer END Patches lt integer num_patches gt FOR patch O TO lt num_patches gt 1 BEGIN lt integer num_patch_triangles gt FOR patch_triangle 0 TO lt num_patch_triangles gt 1 BEGIN 98 CHAPTER 5 PARFLOW FILES lt integer t gt END END END The field lt file_version_number gt is used to make file format changes more manageable The field lt num_vertices gt specifies the number of vertices to follow The fields lt x gt lt y gt and lt z gt define the coordinate of a triangle vertex The field lt num_solids gt specifies the number of solids to follow The field lt num_triangles gt specifies the number of triangles to follow The fields lt v0 gt lt v1 gt and lt v2 gt are vertex indexes that specify the 3 vertices of a triangle Note that the vertices for each triangle MUST be specified in an order that makes the normal vector point outward from the domain The field lt num_patches gt specifies the number of surface patches to follow The field num_patch_triangles specifies the number of triangles indices to follow these triangles make up the surface patch The field lt t gt is an index of a triangle on the solid solid PARFLOW pfsol files can be created from GMS sol files using the utility gmssol2pfsol located in the PARFLOW_DIR bin directory This conversi
133. t output for these scripts as well This may be used to test the compilation process and verify that PARFLOw is installed correctly If all went well a sample PARFLOW problem can be run using cd PARFLOW_DIR cd test tclsh default_single pftcl Note that PAFLOW_DIR must be set for this to work and it assume tclsh is in your path Make sure to use the same TCL as was used in the pftools configure The entire suite of test cases may be run at once to test a range of functionality in PARFLOw This may be done by cd PARFLOW_DIR cd test make check 6 CHAPTER 2 GETTING STARTED 6 Notes and other options PARFLOW may be compiled with a number of options using the configure script Some common options are compiling CLM as in 11 8 to compile with timing and optimization or to use a compiler other than gcc To compile with CLM add with clm to the configure line such as configure prefix PARFLOW_DIR with amps mpil with clm To enable detailed timing of the performance of several different components within PARFLOW use the enable timing option To use compiler optimizations use the enable opt STRING where the STRING is an optional flag to specify the level and type of optimization IMPORTANT NOTE Optimization and debugging are controlled independent of one an other So to compile with optimization and no debugging you need to specify both enable opt STRING AND disable debug It is often desirable to use different C and F
134. t script forsyth2 tcl An example two dimensional variably saturated infiltration problem with layers of different hydraulic properties It uses the solid file fors2_hf pfsol harvey flow tcl An example from 13 for the Cape Cod bacterial injection site This example is a three dimensional fully saturated flow problem with spatially heterogeneous media using a correlated random field approach It also provides examples of how tcl tk scripts may be used in conjunction with ParFlow to loop iteratively or to run other scripts or programs It uses the input text file stats4 txt This input script is fully detailed in 3 7 default_overland tcl An overland flow boundary condition test and example script based loosely on the V catchment problem in 7 There are options provided to expand this prob lem into other overland flow type transient boundary type problems included in the file as well 3 7 ANNOTATED INPUT SCRIPT 21 3 7 Annotated Input Script This tutorial matches the harvey_flow tcl file found in the test directory This example is directly from 13 This example demonstrates how to set up and run a fully saturated flow problem with heterogeneous hydraulic conductivity Given statistical parameters describing the geology of your site this script can be easily modified to make as many realizations of the subsurface as you like each different and yet having the same statistical parameters useful for a Monte Carlo simulation To
135. t to Pressure Note This value gives the pressure of the primary phase water at z 0 The other phase pressures if any are computed from the physical relationships that exist between the phases Example Useage Wells test_well all_time Pressure Value 6 0 86 CHAPTER 5 PARFLOW FILES double Wells well_name interval_name Extraction Pressure Value no default This key specifies the hydrostatic pressure value for an extraction well if the extraction type key is set to Pressure Note This value gives the pressure of the primary phase water at z 0 The other phase pressures if any are computed from the physical relationships that exist between the phases Example Useage Wells ext_well all_time Extraction Pressure Value 4 5 double Wells well name interval name Injection Pressure Value no default This key specifies the hydrostatic pressure value for an injection well if the injection type key is set to Pressure Note This value gives the pressure of the primary phase water at z 0 The other phase pressures if any are computed from the physical relationships that exist between the phases Example Useage Wells inj_well all_time Injection Pressure Value 10 2 double Wells well name interval name Flux phase_name Value no default This key specifies the volumetric flux for a vectical well if the type key is set to Flux Note only a positive number should be entered PARFLOW assignes the correct sign based on the chosen ac
136. teger well_type gt lt integer well_action gt END END The data section has the following format FOR time 1 TO lt number_of_time_intervals gt BEGIN LINE BEGIN lt real time gt END 100 CHAPTER 5 PARFLOW FILES FOR well O TO lt number_of_wells gt 1 BEGIN LINE BEGIN lt integer END LINE BEGIN lt integer lt integer lt integer lt integer lt integer lt integer lt integer lt integer lt integer END FOR well O TO lt number_of_wells gt 1 BEGIN LINE BEGIN sequence_number gt SubgridIX gt SubgridIY gt SubgridIZ gt SubgridNX gt SubgridNY gt SubgridNZ gt SubgridRX gt SubgridRY gt SubgridRZ gt FOR phase O TO lt number_of_phases gt 1 BEGIN lt real END END phase_value gt IF injection well BEGIN LINE BEGIN END LIN BEG FOR phase BEGIN lt real END E IN 0 TO lt number_of_phases gt 1 saturation_value gt 5 5 PARFLOW WELL OUTPUT FILE WELLS 101 FOR phase O TO lt number_of_phases gt 1 BEGIN FOR component O TO lt number_of_components gt 1 BEGIN lt real component_value gt END END END END LINE BEGIN FOR phase O TO lt number_of_phases gt 1 BEGIN FOR component O TO lt number_of_components gt 1 BEGIN lt real component_fraction gt END END END LINE BEGIN FOR phase O TO lt number_of_phases gt 1 BEGIN lt real phase_statistic gt
137. that the relative permeability will be given as a Van Genuchten function 25 with the form ap 32 Uta 5 1 1 ap 2 l k p where a and n are soil parameters and m 1 1 n on each region The Haverkamp specification means that the relative permeability will be given in the following form 5 A bl Fa 5 2 where A and y are soil parameters on each region The Data specification is currently unsupported but will later mean that data points for the relative permeability curve will be given and PARFLOW will set up the proper interpolation coefficients to get values between the given data points The Polynomial specification defines a polynomial relative permeability function for each region of the form degree ke p Y cpt 5 3 1 0 5 1 MAIN INPUT FILE PFTCL 65 list Phase RelPerm GeomNames no default This key specifies the geometries on which relative permeability will be given The union of these geometries must cover the entire computational domain Example Useage pfset Phase RelPerm Geonames domain double Geom geom_name RelPerm Value no default This key specifies the constant relative permeability value on the specified geometry Example Useage pfset Geom domain RelPerm Value 0 5 integer Phase RelPerm VanGenuchten File 0 This key specifies whether soil parameters for the VanGenuchten function are specified in a pfb file or by region The options are either 0 for specif
138. the second indicates the origin and the third gives the length intervals between each coordinate along each axis The label argument will be the label of the data set that gets created This new data set that is created will have all of its data points set to zero automatically An identifier for the new data set will be returned upon successful completion 18 CHAPTER 3 THE PARFLOW SYSTEM pfnewlabel dataset newlabel This command changes the label of the data set dataset to newlabel pfphead hhead This command computes the pressure head from the hydraulic head represented by the iden tifier hhead An identifier for the pressure head is returned upon successful completion pfsavediff datasetp datasetq digits zero file filename This command saves to a file the differences between the values of the data sets represented by datasetp and datasetq to file filename The data points whose values differ in more than digits significant digits and whose differences are greater than zero will be saved Also given the above criteria the minimum number of digits in agreement significant digits will be saved If digits is less than zero then only the minimum number of significant digits and the coordinate where the minimum was computed will be saved In each of the above cases the maximum absolute difference given the criteria will also be saved pfsave dataset filetype filename Thi
139. the units for all other variables input or generated throughout the entire simulation in the simulation PARFLOW can set to solve using hydraulic conductivity by literally setting density viscosity and gravity to one as is done in the script below This means the pressure units are in length meters so pressure is now so called pressure head Now for the tcl script Import the ParFlow TCL package These first three lines are what link Parflow and the tcl script thus allowing you to use a set of commands seen later such as pfset etc 22 CHAPTER 3 THE PARFLOW SYSTEM lappend auto_path env PARFLOW_DIR bin package require parflow namespace import Parflow pfset FileVersion 4 These next lines set the parallel process topology The domain is divided in x y and z by P Q and R The total number of processors is P Q R pfset Process Topology P 1 pfset Process Topology Q pfset Process Topology R 1 Next we set up the computational grid see 3 1 Locate the origin in the domain pfset ComputationalGrid Lower X ooo O p set ComputationalGrid Lower Y O p set ComputationalGrid Lower Z O Define the size of the domain grid block Length units same as those on hydraulic conductivity p set ComputationalGrid DX 0 34 p set ComputationalGrid DY 0 34 p set ComputationalGrid DZ 0 038 Define the number of grid blocks in the domain p set ComputationalGrid NX 50 p set ComputationalGrid NY 30 p set
140. time intervals for each cycle It is a list of names and each name defines a time interval when a specific boundary condition is applied and the number of items determines the total number of intervals in that time cycle Example Useage pfset Cycle onoff Names on off integer Cycle cycle_name interval_name Length no default This key is used to specify the length of a named time intervals It is an integer multiplier of the value set for the TimingInfo BaseUnit key described above The total length of a given time cycle is the sum of all the intervals multiplied by the base unit Example Useage pfset Cycle onoff on Length 10 integer Cycle cycle name Repeat no default This key is used to specify the how many times a named time interval repeats A positive value specifies a number of repeat cycles a value of 1 specifies that the cycle repeat for the entire simulation Example Useage pfset Cycle onoff Repeat 1 5 1 MAIN INPUT FILE PFTCL 51 5 1 5 Domain The domain may be represented by any of the solid types in 3 5 1 2 above that allow the definition of surface patches These surface patches are used to define boundary conditions in 5 1 21 and 5 1 22 below Subsequently it is required that the union of the defined surface patches equal the entire domain surface NOTE This requirement is NOT checked in the code string Domain GeomName no default This key specifies which of the named geometries is the problem domain Ex
141. tion for the well Example Useage Wells test_well all_time Flux water Value 250 0 double Wells well name interval name Extraction Flux phase_name Value no default This key specifies the volumetric flux for an extraction well if the extraction type key is set to Flux Note only a positive number should be entered PARFLOW assignes the correct sign based on the chosen action for the well Example Useage Wells ext_well all_time Extraction Flux water Value 125 0 double Wells well_name interval_name Injection Flux phase_name Value no default This key specifies the volumetric flux for an injection well if the injection type key is set to Flux Note only a positive number should be entered PARFLOW assignes the correct sign based on the chosen action for the well Example Useage Wells inj_well all_time Injection Flux water Value 80 0 5 1 MAIN INPUT FILE PFTCL 87 double Wells well_name interval_name Saturation phase_name Value no default This key specifies the saturation value of a vertical well Example Useage Wells test_well all_time Saturation water Value 1 0 double Wells well_name interval_name Concentration phase_name contaminant_name Value no default This key specifies the contaminant value of a vertical well Example Useage Wells test_well all_time Concentration water tce Value 0 0005 double Wells well_name interval_name Injection Concentration phase_name contaminant_name Fractic no default This key
142. tle year authors and publisher of the Document as given on its Title Page then add an item describing the Modified Version as stated in the previous sentence 107 J Preserve the network location if any given in the Document for public access to a Transparent copy of the Document and likewise the network locations given in the Document for previous versions it was based on These may be placed in the History section You may omit a network location for a work that was published at least four years before the Document itself or if the original publisher of the version it refers to gives permission K For any section Entitled Acknowledgements or Dedications Preserve the Title of the section and preserve in the section all the substance and tone of each of the contributor acknowledgements and or dedications given therein L Preserve all the Invariant Sections of the Document unaltered in their text and in their titles Section numbers or the equivalent are not considered part of the section titles M Delete any section Entitled Endorsements Such a section may not be included in the Modified Version N Do not retitle any existing section to be Entitled Endorsements or to conflict in title with any Invariant Section O Preserve any Warranty Disclaimers If the Modified Version includes new front matter sections or appendices that qualify as Sec ondary Sections and contain no material copied from th
143. to Pressure or this key can be either Standard Weighted or Patterned if the type key is set to Flux A value of Standard indicates that the pressure or flux data will be used as is A value of Weighted indicates that the flux data is to be weighted by the cells permeability divided by the sum of all cell permeabilities which define the well The value of Patterned is not implemented Example Useage Wells ext_well ExtractionMethod Standard string Wells well_name InjectionMethod no default This key specifies a method by which pressure or flux for an injection well will be weighted before assignment to computational cells This key can only be Standard if the type key is set to Pressure or this key can be either Standard Weighted or Patterned if the type key is set to Flux A value of Standard indicates that the pressure or flux data will be used as is A value of Weighted indicates that the flux data is to be weighted by the cells permeability divided by the sum of all cell permeabilities which define the well The value of Patterned is not implemented Example Useage Wells inj_well InjectionMethod Standard string Wells wellname Cycle no default This key specifies the time cycles to which data for the well well_name corresponds Example Useage Wells test_well Cycle all_time double Wells well_name interval_name Pressure Value no default This key specifies the hydrostatic pressure value for a vectical well if the type key is se
144. to follow The IF construct indicates that if lt type gt has value 0 then the three real fields lt x gt lt y gt and lt z gt follow If lt type gt has value 1 then the three integer fields lt i gt lt j gt and lt k gt follow Here is an example of a file with this format 0 2 0 1 0 3 5 The LINE construct indicates fields that are on the same line of a file Since input files in PARFLOW are all in free format it is used only to describe some output file formats For example consider the following file format LINE BEGIN lt real x gt lt real y gt lt real z gt END The LINE construct indicates that the three real fields lt x gt lt y gt and lt z gt are all on the same line Here is an example of a file with this format 2 0 1 0 3 5 Comment lines may also appear in our file format pseudocode All text following a character is a comment and is not part of the file format 5 1 MAIN INPUT FILE PFTCL 43 5 1 Main Input File pftcl The main PARFLOW input file is a TCL script This might seem overly combersome at first but the basic input file structure is not very complicated although it is somewhat verbose For more advanced users the TCL scripting means you can very easily create programs to run PARFLOW A simple example is creating a loop to run several hundred different simulations using different seeds to the random field generators This can be automated from within the
145. transport equations and how they relate to the equations solved by PARFLOw CHAPTER 4 MODEL EQUATIONS Table 4 2 Notation and units for transport equation symbol quantity units OG porosity Ci j Z t concentration fraction V 2 t Darcy velocity vector oe Aj degradation rate T t ps T density of the solid mass ML Fy 3 2 t mass concentration L3 M7 ny number of injection wells e injection rate 1 Q T injection well region 250 injected concentration fraction NE number of extraction wells AF E extraction rate ee OF Z extraction well region Table 4 3 Notation and units for reformulated flow equations symbol quantity units V Darcy velocity vector LE K hydraulic conductivity tensor ET hi pressure head L y constant scale factor MBA g gravity vector er We can rewrite equation 4 2 as Ve oR ie 0 4 16 where hi pi B 7 4 18 Table 4 3 defines the symbols and their units We can then rewrite equations 4 10 and 4 11 as yk vo hio Ag a 0 4 19 4 4 STEADY STATE SATURATED GROUNDWATER FLOW 39 a Rs KiK pi pi Ki kj a pS Ve Vr F yo 2 NV Vhji Qi 4 20 Ot Kr je BE ONY 7 m Kr Note that K is supposed to be a tensor but we treat it as a scalar here Also note that by carefully defining the input to PARFLO
146. ty field given below Specification of the tensor entries kz ky and kz will be given at the end of this section The random field routines turning bands and pgs can use conditioning data if the user so desires It is not necessary to use conditioning as PARFLOW automatically defaults to not use conditioning data but if conditioning is desired the following key should be set string Perm Conditioning FileName NA This key specifies the name of the file that contains the conditioning data The default string NA indicates that conditioning data is not applicable Example Useage p set Perm Conditioning FileName wel1_cond txt The file that contains the conditioning data is a simple ascii file containing points and values The format is nlines x1 y1 z1 valuel x2 y2 z2 value2 xn yn zn valuen The value of nlines is just the number of lines to follow in the file which is equal to the number of data points The variables xi yi zi are the real space coordinates in the units used for the given parflow run of a point at which a fixed permeability value is to be assigned The variable valuei is the actual permeability value that is known Note that the coordinates are not related to the grid in any way Conditioning does not require that fixed values be on a grid The PGS algorithm will map the given value to the closest grid point and that will be fixed This is done for speed reasons The conditioned turning bands algorithm
147. u also set the limits in space for the individual components upper and lower as defined in the Names of GeomInputs pre declaration There are no patches for these geometries as they are internal to the domain 24 CHAPTER 3 THE PARFLOW SYSTEM p set GeomInput upper_aquifer_input InputType Box p set GeomInput upper_aquifer_input GeomName upper_aquifer p set Geom upper_aquifer Lower X 0 0 p set Geom upper_aquifer Lower Y 0 0 p set Geom upper_aquifer Lower Z 1 5 p set Geom upper_aquifer Upper X 17 0 p set Geom upper_aquifer Upper Y 10 2 p set Geom upper_aquifer Upper Z 1 5 p set GeomInput lower_aquifer_input InputType Box p set GeomInput lower_aquifer_input GeomName lower_aquifer JSS SS SOS See St Se ee Se ae SS Se ee Se ee eS Lower Aquifer Geometry SSS SSeS SS SS Sa 22222222 a a a Se 22222522 SS 22 S gt eS SS ss E 222 PS 2 SS 22 3 p set Geom lower_aquifer Lower X 0 0 p set Geom lower_aquifer Lower Y 0 0 p set Geom lower_aquifer Lower Z 0 0 p set Geom lower_aquifer Upper X 17 0 p set Geom lower_aquifer Upper Y 10 2 p set Geom lower_aquifer Upper Z 1 5 Now you add permeability data to the domain sections defined above 5 1 9 You can reassign values simply by re stating them there is no need to comment out or delete the previous version the final statement is the only one that counts Name the permeability regions you will describe 3 7 ANNOTATED INPUT SCRIPT 25 pfset Geom Perm Names up
148. vated this value lists the names of the wells pfset Wells Names snoopy new_well pfset Wells new_well InputType Recirc pfset Wells new_well Cycle constant pfset Wells new_well ExtractionType Flux pfset Wells new_well InjectionType Flux pfset Wells new_well X 10 0 pfset Wells new_well Y 10 0 pfset Wells new_well ExtractionZLower pfset Wells new_well ExtractionZUpper pfset Wells new_well InjectionZLower 2 0 pfset Wells new_well InjectionZUpper 2 0 a a oo pfset Wells new_well ExtractionMethod Standard pfset Wells new_well InjectionMethod Standard pfset Wells new_well alltime Extraction Flux water Value 5 0 pfset Wells new_well alltime Injection Flux water Value 7 5 pfset Wells new_well alltime Injection Concentration water tce Fraction 0 1 For more information on defining the problem see 3 1 2 3 ParFlow Solvers PARFLOW can operate using a number of different solvers Two of these solvers IMPES running in single phase fully saturated mode not multiphase and RICHARDS are detailed below This is a brief summary of solver settings used to simulate under three sets of conditions fully saturated variably saturated and variably saturated with overland flow A complete detailed explanation of the solver parameters for ParFlow may be found later in this manual To simulate fully saturated 8 CHAPTER 2 GETTING STARTED steady state conditions set the solver to IMPES an example is given below This is also the default solv
149. wer_aquifer lower_aquifer Perm CHAPTER 3 THE PARFLOW SYSTEM RZeta 5 0 KMax 100 0 DelK 0 2 Seed 33333 LogNormal Log StratType Bottom Type TurnBands LambdaX 3 60 LambdaY 3 60 Lambdaz 0 19 GeomMean 77 0 Sigma 1 0 Sigma 0 48989794 NumLines 150 RZeta 5 0 KMax 100 0 DelK 0 2 Seed 33333 LogNormal Log StratType Bottom stats to pest read in values GeomMean kgu Sigma varu GeomMean kgl Sigma varl The following section allows you to specify the permeability tensor In the case below perme ability is symmetric in all directions x y and z and therefore each is set to 1 0 pfset Perm TensorType TensorByGeom p set Geom Perm TensorByGeom Names domain p set Geom domain Perm TensorValX 1 0 p set Geom domain Perm TensorValY 1 0 p set Geom domain Perm TensorValZ 1 0 Next we set the specific storage though this is not used in the IMPES steady state calculation 3 7 ANNOTATED INPUT SCRIPT 27 Specific Storage specific storage does not figure into the impes fully sat case but we still need a key for it pfset SpecificStorage Type Constant pfset SpecificStorage GeomNames di pfset Geom domain SpecificStorage Value 1 0e 4 PARFLOW has the capability to deal with a multiphase system but we only have one water at Cape Cod As we stated earlier we set density and viscosity artificially and later gravity both to 1 0 Again this is merely a trick to solve for hydraulic conductivity and pre
150. your subsurface as you specified Each of these realizations will be used as input for a particle or streamline calculation in the future We can see below that since we have a tcl script as input we can do a lot of different operations for example we might run a particle tracking transport code simulation using the results of the PARFLOW runs This actually corresponds to the example presented in the users manual this could run other tcl scripts now an example is below puts stdout running SLIM source bromide_trans sm tcl We could also visualize the results of the PARFLOW simulations using a number of codes For ex ample if we used chunk to create visual representations of your results the file harvey_flow out perm_x pft where is the realization number will be the field of your domain showing the variation in x permeability in 3 D space You can also generate representations of head or pressure or y or z permeability throughout your domain using parflow output files See the section on visualization for more details Chapter 4 Model Equations In this chapter we discuss the model equations used by PARFLOW for both its multiphase flow and transport model and the variably saturated flow model In section 4 1 we describe the multi phase flow equations specified by solver IMPES and in section 4 2 we describe the transport equations Next we describe how the multiphase flow equations may be reduced to solve for steady state

Download Pdf Manuals

image

Related Search

Related Contents

SMC SMC7904WBRA-N Manual  Billing User Manual - Oracle Documentation  Kenwood KMD-D401 User's Manual  Motorische PH10 Dreh-/ Schwenkköpfe  

Copyright © All rights reserved.
Failed to retrieve file