Home

ParFlow User`s Manual - Inside Mines

image

Contents

1. lt Pp o N pfset Geom domain Patches left right front back bottom top Just like domain geometry you 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 pfset GeomInput upper_aquifer_input InputType Box pfset GeomInput upper_aquifer_input GeomName upper_aquifer SSS 2S A A A ee Se Se er AA a eS Se Upper Aquifer Geometry Soe SS SS eS eS SS A SS SS SS SS SS SS SS SS SS SS SS a pfset Geom upper_aquifer Lower X 0 0 pfset Geom upper_aquifer Lower Y 0 0 26 CHAPTER 3 THE PARFLOW SYSTEM 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 SS eS Se a ee ae Se ee ee oe SS a SS ee eS SS eS ee 2 Lower Aquifer Geometry Input SSS SSS Se ae SS SS ee a ee a 2 2 2 S See 20 20222222222 2 22 2 SS SS 22 2 p set GeomInput lower_aquifer_input InputType Box p set GeomInput lower_aquifer_input GeomName lower_aquifer Seo SS EA Lower Aquifer Geometry 22222522352 eS ee ee ee ee a 222222228 Ss ee ee S 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 permeabilit
2. M L 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 multiplied 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 28 and in 5 4 The key OverlandF low 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
3. pfset Geom domain Saturation SRes 0 2 pfset Geom domain Saturation SSat 1 0 pfset Geom s1 Saturation Alpha 3 548 pfset Geom s1 Saturation N 4 162 pfset Geom s1 Saturation SRes 0 000001 pfset Geom s1 Saturation SSat 1 0 pfset Geom s2 Saturation Alpha 3 467 pfset Geom s2 Saturation N 2 738 pfset Geom s2 Saturation SRes 0 000001 pfset Geom s2 Saturation SSat 1 0 pfset Geom s3 Saturation Alpha 2 692 pfset Geom s3 Saturation N 2 445 pfset Geom s3 Saturation SRes 0 000001 pfset Geom s3 Saturation SSat 1 0 pfset Geom s4 Saturation Alpha 0 501 pfset Geom s4 Saturation N 2 659 pfset Geom s4 Saturation SRes 0 000001 pfset Geom s4 Saturation SSat 1 0 pfset Geom s5 Saturation Alpha 0 661 pfset Geom s5 Saturation N 2 659 pfset Geom s5 Saturation SRes 0 000001 pfset Geom s5 Saturation SSat 1 0 3 6 ANNOTATED INPUT SCRIPTS 49 pfset Geom s6 Saturation Alpha 1 122 pfset Geom s6 Saturation N 2 479 pfset Geom s6 Saturation SRes 0 000001 pfset Geom s6 Saturation SSat 1 0 p set Geom s7 Saturation Alpha 2 089 p set Geom s7 Saturation N 2 318 p set Geom s7 Saturation SRes 0 000001 p set Geom s7 Saturation SSat 1 0 p set Geom s8 Saturation Alpha 0 832 p set Geom s8 Saturation N 2 514 p set Geom s8 Saturation SRes 0 000001 p set Geom s8 Saturation SSat 1 0 p set Geom s9 Saturation Alpha 1 585 p set Geom s9 Saturation N 2 413 p set Geom s9 Saturation SRes 0 000001 p set Geom s9 Saturation SSat 1 0 Phase sources allows yo
4. 1 Aj degradation rate TY ps 2 density of the solid mass MLS Fi x t mass concentration 3M ny number of injection wells vE E injection rate IS Q z injection well region 50 injected concentration fraction NE number of extraction wells e extraction rate Tt QE z extraction well region The capillary pressures pj in 5 27 are rewritten in terms of the constitutive relations in 5 23 so that we have Pji Pjo Pio 5 28 where by definition pi 0 Note that equations 5 27 are analytically the same equations as in 5 17 The reason we rewrite them in this latter form is because of the numerical scheme we are using We now have the 3n equations 5 26 5 27 5 25 5 18 and 5 23 in the 3n unknowns S V and p 5 6 Transport Equations The transport equations in PARFLOW are currently defined as follows Zes j seis V ag 5 29 0 Ta X B i Fa psFiz Aj 1 os Son Xo a5 3 Sow xozas k k where i 0 np 1 mp E 1 2 3 is the number of phases j 0 n 1 is the number of contaminants and where c is the concentration of contaminant j in phase 7 Recall also that xa is the characteristic function of set A i e ya a Lif x A and xa x Oif x g A Table 5 2 defines the symbols in the above equation and outlines the symbol dependencies and units The equation is basically a statement of mass conservatio
5. Now we specify what outputs we would like written In this example we specify that we would like to write out CLM variables as well as Pressure and Saturation However there are many options for this and you should change these options according to what type of analysis you will be performing on your results A complete list of print options is provided in 6 1 31 3 6 ANNOTATED INPUT SCRIPTS 51 SSS a ee ee Se Se A A a ee eS a A ae ee ee eS Outputs A ete a ee A ee ee ee Writing output all pfb pfset Solver PrintSubsurfData False pfset Solver PrintPressure True pfset Solver PrintSaturation True pfset Solver PrintMask True pfset Solver WriteCLMBinary False pfset Solver PrintCLM True pfset Solver WriteSiloSpecificStorage False pfset Solver WriteSiloMannings False pfset Solver WriteSiloMask False pfset Solver WriteSiloSlopes False pfset Solver WriteSiloSubsurfData False pfset Solver WriteSiloPressure False pfset Solver WriteSiloSaturation False pfset Solver WriteSiloEvapTrans False pfset Solver WriteSiloEvapTransSum False pfset Solver WriteSiloOverlandSum False pfset Solver WriteSiloCLM False Next we specify the solver settings for the ParFlow 6 1 33 First we turn on solver Richards and the terrain following grid We turn off variable dz ParFlow Solution pfset Solver Richards pfset Solver TerrainFollowingGrid True p set Solver Nonlinear VariableDz False We then set the max solver settings and linear and
6. face fluxes 15 de Rooij et al 2013 SLIM Model Devel Hillslope Idealized X FAST opment sur face particles Table 1 2 List of PARFLOW references with application and process details cont CHAPTER 1 INTRODUCTION Reference Coupled Application Scale Domain TB TFG VS Vdz Model 34 Maxwell 2013 Model Idealized X X X Development 49 Mikkelson et al 2013 CLM Mountain Pine Hillslope Idealized X X Beetle 67 Wiliams et al 2013 WRF Atmosphere Watershed Idealized X X DART Data Assimilation 6 B rger et al 2012 ParFlow Model X Web Develop ment ParFlow Web 19 Ferguson and Maxwell 2012 CLM Agriculture Watershed Little X Washita OK 52 Siirila et al 2012 SLIM Risk Aquifer Idealized X FAST Assessment 53 Siirila and Maxwell 2012 SLIM Risk Aquifer Idealized X FAST Assessment 54 Siirila and Maxwell 2012 SLIM Risk Aquifer Idealized X FAST Assessment 3 Atchley and Maxwell 2011 CLM Subsurface Hillslope Golden X X Heterogene CO ity land sur face processes 13 Daniels et al 2011 Regional Streamflow Owens Val X ley CA floodplain 18 Ferguson and Maxwell 2011 CLM Agriculture Watershed Little X Washita OK 40 Maxwell et al 2011 WRF Atmosphere Watershed Little X Washita OK 1 2 PUBLISHED STUDIES THAT HAVE USED PARFLOW 5 Table 1 3 List of PARFLOW references with application and process details cont Refe
7. pfcomputetop mask This command computes the top of the domain based on the mask of active and inactive zones This is the land surface in clm or overland flow simulations The identifier of the data set created by this operation is returned upon successful completion 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 This command can be useful when working with multiple datasets time series such as those created when many timesteps of a file are loaded and processed Deleting these datasets in between reads can help with tcl memory management p diffelt 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 us
8. 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 Daniels M H Maxwell R M Chow F K 2010 An algorithm for flow direction enforce ment using subgrid scale stream location data Journal of Hydrologic Engineering 16 677 683 doi 10 1061 ASCE HE 1943 5584 0000340 de Barros F P J Rubin Y and Maxwell R M 2009 The concept of comparative information yield curves and their application to risk based site characterization Water Resources Research 45 W06401 doi 10 1029 2008WR007324 de Rooij R Graham W and Maxwell R M 2013 A particle tracking scheme for sim ulating pathlines in coupled surface subsurface flows Advances in Water Resources 52 7 18 doi 10 1016 j advwatres 2012 07 022 Eisenstat S C and Walker H F 1996 Choosing the forcing terms in an inexact newton method SIAM J Sci Comput 17 1 16 32 Ferguson I M and Maxwell R M 2010 Role of groundwater in watershed response and land surface feedbacks under climate change Water Resources Research 46 W00F02 doi 10 1029 2009WR008616 Ferguson I M and Maxwell R M 2011 Hydrologic and landenergy feedbacks of agricultural water management practices Environmental Research Letters 6 1 7 doi 10 1088 1748 9326 6 1 014006 Ferguson I M and Maxwell R M 2012 Human impacts on terrestrial hydrology
9. The second command will build and install the documentation A bare bones 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 correct 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 10 CHAPTER 2 GETTING STARTED cd test tclsh default_single tcl 111 Note that PAFLOW_DIR must be set for this to work and it assumes 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 Notes and other options PARFLOW may be compiled with a number of options using the co
10. This section contains some brief examples of how to use the pftools commands along with standard TCL commands to postprocess data 1 Load a file as one format and write as another format set press pfload harvey_flow out press pfb pfsave press sa harvey_flow out sa HHHHHHHHHHREHHHHHHHHHAAHHAA AEE HHHRR RAHA ARR RRR RAR Also note that PFTCL automatically assigns identifiers to each data set it stores In this example we load the pressure file and assign it the identifier press However if you read in a file called foo pfb into a TCL shell with assigning your own identifier you get the following parflow gt pfload foo pfb dataset0O In this example 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 dataset 0 2 Load pressure head output from a file convert to head potential and write out as a new file set press pfload harvey_flow out press pfb set head pfhhead press pfsave head pfb harvey_flow head pfb 3 Build a SAMARI compatible domain decomposition based off of a mask file This example script takes 3 command line arguments for P Q R and then builds a SAMRAI compatible domain decomposition based off of a mask file Processor Topology set P lindex argv 0 set Q lindex argv 1 set R lindex argv 2 pfset Process Topology P P pfset Process Topology
11. UTM double ComputationalGrid Lower X no default This assigns the lower x coordinate location for the computational grid Example Useage pfset ComputationalGrid Lower X 0 0 double ComputationalGrid Lower Y no default This assigns the lower y coordinate location for the computational grid Example Useage p set ComputationalGrid Lower Y 0 0 double ComputationalGrid Lower Z no default This assigns the lower z coordinate location for the computational grid Example Useage pfset ComputationalGrid Lower Z 0 0 integer ComputationalGrid NX no default This assigns the number of grid cells in the x direction for the computational grid 6 1 MAIN INPUT FILE TCL 85 Example Useage pfset ComputationalGrid NX 10 integer ComputationalGrid NY no default This assigns the number of grid cells in the y direction for the computational grid Example Useage pfset ComputationalGrid NY 10 integer ComputationalGrid NZ no default This assigns the number of grid cells in the z direction for the computational grid Example Useage pfset ComputationalGrid NZ 10 real ComputationalGrid DX no default This defines the size of grid cells in the x direction Units are L and are defined by the units of the hydraulic conductivity used in the problem Example Useage pfset ComputationalGrid DX 10 0 real ComputationalGrid DY no default This defines the size of grid cells in the y direction Units are L and are defined by the units of t
12. boundaries All these components implemented into PARFLOW enable large scale high resolution watershed simulations PARFLOW is primarily written in C uses a modular architecture and contains a flexible com munications layer to encapsulate 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 main executable pfdir pfsimulator parflow_exe 1 2 CHAPTER 1 INTRODUCTION 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 called from within another application e g WRF the Weather Research and Forecasting at mospheric model 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 1 1 How to use this manual This manual describes how to use PARFLOW and is intended for hydrologists geoscientists en vironmental scientists and engineers This manual is written assuming the reader has a basic understanding of Linux UNIX environments how to compose and execute scripts in various pro gramming languages e g TCL and is familiar with groundwater and surface water hydrology parallel comput
13. lt integer SubgridRZ gt END FOR well O TO lt number_of_wells gt 1 BEGIN LINE BEGIN FOR phase O TO lt number_of_phases gt 1 BEGIN lt real phase_value gt 6 6 PARFLOW WELL OUTPUT FILE WELLS 147 END END IF injection well BEGIN LINE BEGIN FOR phase O TO lt number_of_phases gt 1 BEGIN lt real saturation_value gt END END LINE BEGIN FOR phase O TO lt number_of_phases gt 1 BEGIN FOR component 0 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 END END LINE BEGIN FOR phase O TO lt number_of_phases gt 1 BEGIN 148 CHAPTER 6 PARFLOW FILES 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 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 6 7 ParFlow Simple ASCII and Simple Binary Files sa and sb The simple binary sa file format is an ASCII file
14. p set 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 pfset Wells new_well InjectionZUpper pfset Wells new_well ExtractionMethod Standard pfset Wells new_well InjectionMethod Standard pfset Wells new_well alltime Extraction Flux water Value 0 50 pfset Wells new_well alltime Injection Flux water Value 0 75 For more information on defining the problem see 3 1 We could also visualize the results of the PARFLOW simulations using Vis t For example we can turn on SILO file output which allows these files to be directly read and visualized We would do this by adding the following pfset commands I usually add them to the solver section pfset Solver WriteSiloSubsurfData True pfset Solver WriteSiloPressure True pfset Solver WriteSiloSaturation True You can then directly open the file harvey_flow out perm_x silo where is the realization number The resulting image will be the hydraulic conductivity 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 3 6 ANNOTATED INPUT SCRIPTS 37 3 6 2 Lit
15. pfslopex Calculate slopes in the x direction 5 X pfslopey Calculate slope in the y direction 5 X pfchildD8 Calculate D8 child X pfsegmentD8 Calculate D8 segment lengths X pfslopeD8 Calculate D8 slopes X pfslopexD4 Calculate D4 slopes in the x direction X pfslopeyD4 Calculate D4 slopes in the y direction X pffillflats Fill DEM flats 5 X pfmovingavgdem Fill dem sinks with moving average X pfpitfilldem Fill sinks in the dem using iterative pit 5 X filling routine pfflintslawfit Calculate Flint s Law parameters X pfflintslaw Smooth DEM using Flints Law X pfflintslawbybasin Smooth DEM using Flints Law by basin X Topmodel functions pftopodeficit Calculate TOPMODEL water deficit X pftopoindex Calculate topographic index X pftopowt Calculate watertable based on topo X graphic index pftoporecharge Calculate effective recharge X Domain Operations pfcomputedomain Compute domain mask 3 X pfcomputetop Compute domain top 3 6 8 9 X pfextracttop Extract domain top 6 X pfcomputebottom Compute domain bottom 3 X pfsetgrid Set grid 5 X pfgridtype Set grid type X pfgetgrid Return grid information X pfgetelt Extract element from domain 10 X pfextract2Ddomain Build 2D domain X pfenlargebox Compute expanded dataset X pfgetsubbox Return subset of data X pfprintdomain Print domain 3 X pfbuilddomain Build a subgrid array from a ParFlow X database Dataset operations pflistdata Return dataset names and labels X pfgetlist Return dataset descriptions X pfp
16. 1E 8 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 p set 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 128 CHAPTER 6 PARFLOW FILES 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 set Solver PrintSaturation False string Solver PrintConcentra
17. 4 is the surface ponding depth L and q x is the a general source sink e g rainfall rate LT 1 If diffusion terms are neglected the momentum equation can be written as V Us me qr x 5 9 Spi Sos 5 10 5 5 MULTI PHASE FLOW EQUATIONS 79 which is commonly referred to as the kinematic wave approximation In Equation 5 10 So is the bed slope gravity forcing term which is equal to the friction slope Sp L i stands for the x and y direction Mannings equation is used to establish a flow depth discharge relationship VS fx Ug P y 2 3 5 11 n and JS vy VER yes 5 12 n where n TL13 is the Manning s coefficient Though complete details of the coupled approach are given in 28 brief details of the approach are presented here The coupled approach takes Equation 5 9 and adds a flux for subsurface exchanges q Os ot We then assign a continuity of pressure at the top cell of the boundary between the surface and subsurface systems by setting pressure head p in 5 3 equal to the vertically averaged surface pressure ps as follows p 5 14 If we substitute this relationship back into Equation 5 13 as follows V Typs qr x E qe x 5 13 911 0 D ARA y E 9 01 a2 ael 5 15 Where the 4 0 operator chooses the greater of the two quantities Yy and 0 We may now solve this term for the flux qe x which we may set equal to flux boundary condition shown in Equation
18. A a ee eS eS A a p set GeomInput Names box_input indi_input Now you characterize the domain that you just pre declared to be a box see 6 1 4 and you also give it a name domain A a A A A A A A A ee eS Domain Geometry Input SSS ee Se A SS Se Se ee ee SS SS ee eee p set GeomInput box_input InputType Box pfset GeomInput box_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 key assigns names to the outside edges because the domain is the limit of the problem in space SSS Se ee oS ee ea aa SS SS Se See SS eS ea Se SS ee ee eee ee Domain Geometry See eee eS eS a a SS SS SS SS Se a SS ee A A 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 41000 0 pfset Geom domain Upper Y 41000 0 pfset Geom domain Upper Z 100 0 pfset Geom domain Patches x lower x upper y lower y upper z lower z upper Now we setup the indicator file As noted above the indicator file has integer values for every grid cell in the domain designating what geologic unit it belongs to The GeomNames list should include a name for every unit in your indicator file In this example we h
19. BCPressure interval_name phase_name IntValue no default Note that the reference conditions for types DirEquilPLinear and DirEquilRefPatch boundary con ditions 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 p set Patch top BCPressure alltime XLower 0 0 double Patch patch name BCPressure intervalname Y Lower no default This key specifies the lower y coordinate of a line in the xy plane Example Useage p set Patch top BCPressure alltime YLower 0 0 double Patch patch name BCPressure interval name XUpper no default This key specifies the upper x coordinate of a line in the xy plane Example Useage p set 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 p set Patch top BCPressure alltime YUpper 1 0 integer Patch patch_name BCPressure interval_name NumPoints no default This key specifies the number of points on which pressure data is given along the line used in the type DirEquilPLinear boundary conditions Example Useage p set Patch top BCPressure alltime NumPoint
20. EvaporationCanopy qflx_tran_veg for vegetation transpiration mm s using the silo variable Transpiration qf1x_inf1 for soil infiltration mm s using the silo variable Infiltration swe_out for snow water equivalent mm using the silo variable SWE t_grnd for ground surface temperature K using the silo variable TemperatureGround and t_soil for soil temperature over all layers K using the silo variable TemperatureSoil string Solver PrintCLM False This key specifies whether the CLM writes two dimensional binary output files to a PFB binary format Note that CLM must be compiled and linked at runtime for this option to be active These files are all written according to the standard format used for all PARFLOW variables using the runname and istep Variables are either two dimensional or over the number of CLM layers default of ten Example Useage pfset Solver PrintCLM True The output variables are eflx_1h_tot for latent heat flux total W m using the silo variable LatentHeat eflx_lwrad_out for outgoing long wave radiation W m using the silo variable Long Wave eflx_sh_tot for sensible heat flux total W m using the silo variable SensibleHeat eflx_soil_grnd for ground heat flux W m using the silo variable GroundHeat qflx_evap_tot for total evaporation mm s using the silo variable Evaporation Total qflx_evap_grnd for ground evaporation without sublimation mm s using the silo variable Evapora tionGroundNoSublima
21. KiK pi N KiK Bi Pi V Kr Vr 5 Rop 2 y g NV a ES Vhji Qi 0 5 36 j i j i 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 PARFLOW we can use the units of equations 5 35 and 5 36 To be more precise let us denote PARFLOW input symbols by appending the symbols in table 5 1 with T and let y pog this is a typical definition Then we want k I 1k po 5 37 5 8 WATER BALANCE 79 p T pi Ho 5 38 pil hi 5 39 pil pi po 5 40 gI 1 5 41 By doing this k I represents hydraulic conductivity of the base phase Ko e g water under saturated conditions i e kro 1 5 8 Water Balance PARFLOW can calculate a water balance for the Richards equation overland flow and clm capabilities For a schematic of the water balance in PARFLOW please see 33 This water balance is computes using pftools commands as described in 4 There are two water balance storage components subsurface and surface and two flux calculations overland flow and evapotranspiration The storage components have units L while the fluxes may be instantaneous and have units L T or cumulative over an output interval with units L Examples of water balance calculations and errors are given in the scripts water_balance_x tcl and water_balance_y tcl The size of water balance errors depend on solver settings and tolerances but are
22. 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 p set 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 p set 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 pfset Geom domain Saturation N 2 0 112 CHAPTER 6 PARFLOW FILES Note that if both a Van Genuchten saturation and relative permeability are specified then the soil parameters 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 p set 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 p set 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 Ga
23. Sigma 1 0 p set Geom lower_aquifer Perm Sigma 0 48989794 p set Geom lower_aquifer Perm NumLines 150 p set Geom lower_aquifer Perm RZeta 5 0 p set Geom lower_aquifer Perm KMax 100 0 p set Geom lower_aquifer Perm DelK 0 2 p set Geom lower_aquifer Perm Seed 33333 p set Geom lower_aquifer Perm LogNormal Log p set Geom lower_aquifer Perm StratType Bottom pfset lower aqu and upper aq stats to pest read in values pfset Geom upper_aquifer Perm GeomMean kgu pfset Geom upper_aquifer Perm Sigma varu pfset Geom lower_aquifer Perm GeomMean kgl pfset Geom lower_aquifer Perm 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 pfset Geom Perm TensorByGeom Names domain pfset Geom domain Perm TensorValX 1 0 pfset Geom domain Perm TensorValY 1 0 pfset Geom domain Perm TensorValZ 1 0 Next we set the specific storage though this is not used in the IMPES steady state calculation 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 wn 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 artificial
24. Type Linear double Geom geometry_name contaminant_name Retardation Value no default This key specifies the distribution coefficient 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 6 1 MAIN INPUT FILE TCL 105 6 1 18 Full Multiphase Mobilities Here we define phase mobilities by specifying the relative permeability function Input is specified 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 So 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 permeabilit
25. Useage pfset Solver CLM SingleFile True 6 2 ParFlow Binary Files pfb The pfb file format is a binary file format which is used to store PARFLOW grid data It is written as BIG ENDIAN binary bit ordering 68 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 142 CHAPTER 6 PARFLOW FILES lt integer num_subgrids gt FOR subgrid O 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 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 lt double data_ijk gt END END END END 6 3 ParFlow CLM Single Output Binary Files c pfb The pfb file format is a binary file format which is used to store CLM output data in a single file It is written as BIG ENDIAN binary bit ordering 68 The forma 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 O TO lt num_subgrids gt 1 BEGIN lt integer ix gt lt integer iy gt lt integer lt integer nx gt lt
26. 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 run 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 it is 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 cape_cod revised_statistics flow and then change into that directory 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 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 d
27. be defined for single phase and Richards equation cases Here we define initial phase saturation conditions The format for this 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 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 6 1 27 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 Hydro StaticDepth HydroStaticPatch and PFBFile The choice Con
28. contaminant which gets resupplied to the injection 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 6 1 31 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 conju gate gradient which may be less robust than PCG as described in 2 The choice PPCG is a preconditioned conjugate gradient solver The choice PCG is a conjugate gradient solver with a multigrid preconditioner The
29. fluxes 39 Maxwell and Kollet 2008 Subsurface Hillslope Idealized X X Heterogeneity runoff 38 Maxwell and Kollet 2008 CLM Climate Watershed Little X Change land Washita energy OK feedbacks to groudnwater 44 Maxwell et al 2007 particles Subsurface Aquifer Cape Cod X Transport MA 37 Maxwell et al 2007 ARPS Model Watershed Little X CLM Development Washita ARPS OK 28 Kollet and Maxwell 2006 Model Devel Catchment Idealized X X opment Over land Flow amp Sub surface Hetero geneity shallow over land flow 41 Maxwell and Miller 2005 CLM Model Devel Column Valdai X opment CLM Russia 61 Tompson et al 2005 Subsurface Aquifer Nevada Transport Test Site 45 Maxwell et al 2003 Subsurface Aquifer Forebay Transport Aquifer 58 Tompson et al 1999 Subsurface Aquifer Nevada Transport Test Site 57 Tompson et al 1998 Subsurface Aquifer LLNL Site Transport 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 In 2 3 we describe the solver options available for use with PARFLOW applications 2 1 Installing ParFlow PARFLOW is distributed as source code only and must be configured and built compiled on each machine on which you would like to run simulations PARFLOW uses a co
30. for your domain CLM requires the following variables also described on p 136 DLWR Long wave radiation W m DSWR Visible or short wave radiation W m APCP Precipitation mm s Temp Air Temperature K UGRD East west wind speed m s SPFH Specific humidity kg kg Press Atmospheric pressure pa VGRD South to North wind speed m s 3 2 RUNNING PARFLOW 19 If you choose to do spatially heterogenous forcings you will need to generate separate files for each variable The files should be formatted in the standard ParFlow format with the third i e z dimension as time If you are doing hourly simulations it is standard practice to put 24 hours in one file but you can decide how many time steps per file For an example of heterogenous forcing files refer to the NLDAS directory in the Washita Example Alternatively if you would like to force the model with spatially homogenous forcings then a single file can be provided where each variable is a column and rows designate time steps 12 Run your simulation 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 t
31. 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 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 149 150 CHAPTER 7 GNU FREE DOCUMENTATION LICENSE 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 with the relationship of the publishers or authors of the Document to the Document s overall subject or to rela
32. hydrologic simulation platform ParFlow Computers and Geosciences 48 334 336 doi 10 1016 j cageo 2012 01 007 Condon L E and Maxwell R M 2013 Implementation of a linear optimization water allocation algorithm into a fully integrated physical hydrology model Advances in Water Resources 60 135 147 doi 10 1016 j advwatres 2013 07 012 Condon L E Maxwell R M and Gangopadhyay S 2013 The impact of subsur face conceptualization on land energy fluxes Advances in Water Resources 60 188 203 doi 10 1016 j advwatres 2013 08 001 Condon L E and Maxwell R M 2014 Feedbacks between managed irrigation and water availability Diagnosing temporal and spatial patterns using an integrated hydrologic model Water Resources Research 50 2600 2616 doi 10 1002 2013WR014868 Condon L E and Maxwell R M 2014 Groundwater fed irrigation impacts spatially distributed temporal scaling behavior of the natural system a spatio temporal framework for understanding water management impacts Environmental Research Letters 9 1 9 doi 10 1088 1748 9326 9 3 034009 Cui Z Welty C and Maxwell R M 2014 Modeling nitrogen transport and transfor mation in aquifers using a particle tracking approach Computers and Geosciences 70 1 14 doi 10 1016 j cageo 2014 05 005 155 156 12 13 15 16 17 18 19 20 21 22 23 25 26 BIBLIOGRAPHY Dai Y X Zeng R E Dickinson I Baker G B Bonan M G
33. integer ny gt lt integer lt integer rx gt lt integer ry gt lt integer FOR j iy TO iy lt ny gt 1 BEGIN FOR i ix TO ix lt nx gt 1 BEGIN eflx_lh_tot_ij eflx_lwrad_out_ij eflx_sh_tot_ij ef1lx_soil_grnd_ij qflx_evap_tot_ij qflx_evap_grnd_ij qflx_evap_soi_ij qflx_evap_veg_ij qf1x_inf1_ij swe_out_ij t for the file is iz gt nz gt rz gt 6 4 PARFLOW SCATTERED BINARY FILES PFSB 143 t_grnd_ij IF clm_irr_type 1 qflx_qirr_ij ELSE IF clm_irr_type 3 qflx_qirr_inst_ij ELSE NULL FOR k 1 TO clm_nz tsoil_ijk END END END END 6 4 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 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 O 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 BEG
34. 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 test_well Type Flux string Wells well_name 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 6 1 MAIN INPUT FILE TCL 123 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 da
35. 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 6 1 MAIN INPUT FILE TCL 87 double Geom box_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 p set 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 p set Geom background Lower Z 1 0 double Geom box_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 p set Geom background Upper X 151 0 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 p set Geom background Upper Y 17
36. of the computational domain Example Useage p set ToposlopesX GeomNames domain list ToposlopesY GeomNames no default This key specifies all of the 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 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 p set TopoSlopesX FileName lw 1ikm 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 104 CHAPTER 6 PARFLOW FILES Example Useage
37. p set TopoSlopesY FileName lw ikm slope_y pfb Example of setting x and y slopes by geometry pfset TopoSlopesX Type Constant p set TopoSlopesX GeomNames domain p set TopoSlopesX Geom domain Value 0 001 p set TopoSlopesY Type Constant pfset TopoSlopesY GeomNames domain pfset TopoSlopesY Geom domain Value 0 001 Example of setting x and y slopes by file p set TopoSlopesX Type PFBFile p set TopoSlopesX GeomNames domain p set TopoSlopesX FileName lw ikm slope_x pfb p set TopoSlopesY Type PFBFile pfset TopoSlopesY GeomNames domain p set TopoSlopesY FileName lw ikm slope_y pfb 6 1 17 Retardation Here retardation values are assigned for contaminants within geounits specified in 6 1 4 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 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 contaminant 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 compute the retardation Example Useage pfset Geom background tce Retardation
38. pfset Solver CLM WiltingPoint 0 15 140 CHAPTER 6 PARFLOW FILES double Solver CLM FieldCapacity 1 0 This key specifies the field capacity for the 6 function in CLM specified above Note that the units for this function are pressure m for a Pressure formulation and saturation for a Saturation formulation Note that CLM must be compiled and linked at runtime for this option to be active Example Useage p set Solver CLM FieldCapacity 0 95 string Solver CLM IrrigationTypes none This key specifies the form of the irrigation in CLM The valid types for this key are none Spray Drip Instant Example Useage p set Solver CLM IrrigationTypes Drip string Solver CLM IrrigationCycle Constant This key specifies the cycle of the irrigation in CLM The valid types for this key are Constant Deficit Note only Constant is currently implemented Constant cycle applies irrigation each day from Irrigation StartTime to IrrigationStopTime in GMT Example Useage pfset Solver CLM IrrigationCycle Constant double Solver CLM IrrigationRate no default This key specifies the rate of the irrigation in CLM in mm s Example Useage pfset Solver CLM IrrigationRate 10 double Solver CLM IrrigationStartTime no default This key specifies the start time of the irrigation in CLM GMT Example Useage p set Solver CLM IrrigationStartTime 0800 double Solver CLM IrrigationStopTime no default This key specifies the stop time of the irrigati
39. 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 documents 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 section 4 Replacing Invariant Sections with translations requires special permission from their copyright holders but you may include translations of some or all Invariant Sections in addition to the origi
40. saturation value on the geom_name region Example Useage 6 1 MAIN INPUT FILE TCL 111 pfset Geom domain Saturation Value 0 5 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 0 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 domain Example Useage p set 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 p set 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 p set Geom domain Saturation SRes Filename
41. soil parameters for the VanGenuchten function are specified in a pfb file or by region The options are either 0 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 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 p set Geom domain RelPerm Alpha Filename alphas pfb 6 1 MAIN INPUT FILE TCL 107 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 p set 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 pfset Geom domain RelPerm N 2 0 int Geom geom_name RelPerm NumSamplePoints 0 This key specifies the number of sample points for a sp
42. 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 114 CHAPTER 6 PARFLOW FILES for this key are DirEquilRefPatch DirEquilPLinear FluxConst FluxVolumetric PressureFile FluxFile OverlandFow OverlandFlowPFB and ExactSolution The choice DirEquilRefPatch specifies that the pressure on the specified patch will be in hydrostatic equilibrium 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 Z T For Richards equation fluxes must be specified as a mass flux and given as the above flux multiplied by the density Thus this choice of input type for a Richards equation problem has units of Z T
43. the local slope For more details on methods and assumptions refer to toposlopes c in pftools pftoporecharge riverfile nriver trans dem sx sy Compute effective recharge at all i j over upstream area based on topmodel assumptions and given list of river points Notes See detailed notes in toposlopes c regarding assumptions methods etc Input Notes nriver is an integer number of river points river is an array of integers nriver 2 list of river indices ordered from outlet to headwaters is a Databox of saturated transmissivity dem is a Databox of elevations at each cell sx is a Databox of slopes x dir lets you use processed slopes sy is a Databox of slopes y dir lets you use processed slopes pftopowt deficit porosity ssat sres mask top wtdepth Compute water depth from column water deficit for all i j based on TOPMODEL topographic index 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 pfupstreamarea slope_x slope_y This command computes the upstream area contributing to surface runoff at each cell based on the x and y slope va
44. yet been implemented Example Useage pfset TimingInfo StartCount 0 double TimingInfo StartTime no default This key is used to indicate the starting time for the simulation Example Useage pfset TimingInfo StartTime 0 0 double TimingInfo StopTime no default This key is used to indicate the stopping time for the simulation 90 CHAPTER 6 PARFLOW FILES Example Useage pfset TimingInfo StopTime 100 0 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 p set 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 dto and is defined for other steps as dt ydtod such that dt lt dtmaz and dt gt dtmin Example Useage p set 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 p set TimeStep Value 0 001 double TimeStep InitialS
45. 0 pfset TimingInfo StopTime 0 0 Set the dump interval to 1 to report info at the end of every calculation which in this case is only when steady state has been reached pfset TimingInfo DumpInterval Next we assign the porosity see 6 1 12 For the Cape Cod the porosity is 0 39 SS SS SS SS SS SS 22 SS SS SS SS SS SS SS SS SS SS SS SS SS SS SS PS o Porosity i Sa ee a Se ee ee ee ee AE e a a a E 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 we are 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 SS SS SS Se Sa ee ee ee 2 20 29200229 eee ee SS See Mobility SS SS a Ss A a SS a SS Se SSS Se SS a SS ee SS SS SS a p set Phase water Mobility Type Constant p set Phase water Mobility Value 1 0 Again PARFLOW has more capabilities than we are using here in the Cape Cod example For this example we handle monitoring wells in a separate code as we assume they 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 See below for an exampl
46. 1 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 p set 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 p set Geom background Patches left right front back bottom top Here is an example geometry input section which has three geometry inputs 88 CHAPTER 6 PARFLOW FILES a A A A mm The Names of the GeomInputs H A E A A A er ee O i pfset GeomInput Names solidinput indinput boxinput For a solid file geometry input type you need to specify the names of the gemetries and the filename pfset GeomInput solidinput InputType SolidFile 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 Filename that contains the geometry pfset GeomInput solidinput FileName ocwd pfsol An indicator field is a 3D field of values The values within the field can
47. 4 2 PFTCL COMMANDS 65 pfprintdomain domain This command creates a set of TCL commands that setup a domain as specified by the provided domain input which can be then be written to a file for inclusion in a Parflow input script Note that this kind of domain is only supported by the SAMRAI version of Parflow pfprintelt i j k dataset This command prints a single element from the provided dataset given an i j k location 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 the difference has 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
48. 5 6 This yields the following equation which is referred to as the overland flow boundary condition 28 K Vy n HE y 519 01 arta 5 16 This results a version of the kinematic wave equation that is only active when the pressure at the top cell of the subsurface domain has a ponded depth and is thus greater than zero This method solves both systems where active in the domain over common grids in a fully integrated fully mass conservative manner 5 5 Multi Phase Flow Equations The flow equations are a set of mass balance and momentum balance Darcy s Law equations given respec tively by 3 By Psi V V Qi 0 5 17 V A Vpi pig 0 5 18 for i 0 np 1 np 1 2 3 where kkri Ap o 5 19 pi l g 0 0 g 5 20 76 CHAPTER 5 MODEL EQUATIONS Table 5 1 Notation and units for flow equations symbol quantity units olz t porosity S Z t saturation Vi 2 t Darcy velocity vector LT Qi 2 t source sink L ri mobility EeTM pi a t pressure ML T 2 Pi mass density ML g gravity vector LT k Z t intrinsic permeability tensor L kri z t relative permeability Li viscosity Moar g gravitational acceleration LT Table 5 1 defines the symbols in the above equations and outlines the symbol dependencies and units Here describes the fluid capacity of the porous medium a
49. 725 Maxwell R M Tompson A F B and Kollet S J 2009 A serendipitous long term infiltration exper iment Water and tritium circulation beneath the CAMBRIC trench at the Nevada Test Site Journal of Contaminant Hydrology 108 1 2 12 28 doi 10 1016 j jconhyd 2009 05 002 Maxwell R M Welty C and Harvey R W 2007 Revisiting the Cape Cod Bacteria Injection Exper iment Using a Stochastic Modeling Approach Environmental Science and Technology 41 15 5548 5558 Maxwell R M Welty C and Tompson A F B 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 Meyerhoff S B and Maxwell R M 2011 Quantifying the effects of subsurface heterogeneity on hillslope runoff using a stochastic approach Hydrogeology Journal 19 15151530 doi 10 1007 s10040 011 0753 y Meyerhoff S B Maxwell R M Graham W D and Williams J L 2014 Improved hydrograph pre diction through subsurface characterization conditional stochastic hillslope simulations Hydrogeology Journal doi 10 1007 s10040 014 1112 6 Meyerhoff S B Maxwell R M Revil A Martin J B Karaoulis M and Graham W D 2014 Characterization of groundwater and surface water mixing in a semiconfined karst aquifer using time lapse electrical resistivity tomography Water Resources Research 50 25662585 doi 10 1002 2013WR013991 Mikkelson K M Max
50. ATH is the location of the Silo libraries Some features of PARFLOW need to call the solver package Hypre externally These include the command options PFMG SMG and PFMGOctree Hypre is a free open source library detailed at https computation 11n1 gov casc hypre software html 12 CHAPTER 2 GETTING STARTED Support for Hypre 2 4 0b or later is integrated into PARFLOW but the libraries must be built separately and then linked into PARFLOW during the build and configure process This may be done using the with hypre PATH where the PATH is the location of the Hypre libraries 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 examples 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 PARFLOW can operate using a number of different solvers Two of these solvers IMPES r
51. BCPressure alltime Value constant 0 0 Next we define topographic slopes and values These slope values were derived from a digital elevation model of the domain following the workflow outlined in 3 1 2 In this example we read the slope files in from pfb files that were copied into the run directory at the start of this script See See SS eS a SS a ee a a a eS Se ee ee SS a eS ee ee SS Se SS SS Se SS Topo slopes in x direction ae Se A ee ee ee ee ee ee ee ee a A Se pfset TopoSlopesx Type PFBFile pfset TopoSlopesX GeomNames domain pfset TopoSlopesX FileName LW slopex pfb a5 S Se ee ee a SS Se ee eS a oa eS SS ee ee ee Se ee Topo slopes in y direction a a ee pfset TopoSlopesY Type PFBFile pfset TopoSlopesY GeomNames domain pfset TopoSlopesY FileName LW slopey pfb And now we define the Mannings n again just one value for the whole domain in this example 3 6 ANNOTATED INPUT SCRIPTS 47 SS Se ee SS Se 22 SS 2 a gt ee a a ee ee SS SS Se a ee ae So Se ee ee eee a Se Mannings coefficient a rete aoe A ah ee Se ee ee eS A A pfset Mannings Type Constant pfset Mannings GeomNames domain p set Mannings Geom domain Value 5 52e 6 Following the same approach as we did for Porosity we define the relative permeability inputs that will be used for Richards equation implementation 6 1 19 Here we use VanGenuchten parameters Note that every geometry listed in Porosity GeomNames mus
52. Binary file format see 6 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 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 Exa
53. Example Useage p set Geom domain RelPerm Coeff 0 0 5 p set 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 6 1 20 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 Constant type phase sources specify a constant phase source value for a given set of regions PredefinedFunction type phase sources use a preset 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
54. IN 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 lt double data_ijk gt END END END END END 144 CHAPTER 6 PARFLOW FILES 6 5 ParFlow Solid Files pfsol 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 0 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 lt integer num_triangles gt FOR triangle 0 TO lt num_triangles gt 1 BEGIN lt integer v0 gt lt integer vi gt lt integer v2 gt 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 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 fi
55. IPTS 23 2 save the tcl script 3 For Linux Unix OSX invoke the script from the command line using the tcl shell this looks like gt tclsh filename tcl 4 Wait patiently for 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 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 3 6 1 Harvey Flow Example This tutorial matches the harvey_flow tcl file found in the test directory This example is di rectly from 44 This example demonstrates how to set up and run a fully saturated flow problem with heterogeneous hydraulic conductivity using the turning bands approach 56 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 sta
56. M MetForcing no default This key specifies defines whether 1D uniform over the domain 2D spatially distributed or 3D spatially distributed with multiple timesteps per pfb forcing file forcing data is used Choices for this key are 1D 2D and 3D This key has no default so the user must set it to 1D 2D or 3D Failure to set this key will cause CLM to still be run but with unpredictable values causing CLM to eventually crash 1D meteorological forcing files are text files with single columns for each variable and each timestep per row while 2D forcing files are distributed PARFLOW binary files one for each variable and timestep File names are specified in the Solver CLM MetFileName variable below Note that CLM must be compiled and linked at runtime for this option to be active Example Useage p set Solver CLM MetForcing 2D String Solver CLM MetFileName no default This key specifies defines the file name for 1D 2D or 3D forcing data 1D meteorological forcing files 136 CHAPTER 6 PARFLOW FILES are text files with single columns for each variable and each timestep per row while 2D and 3D forcing files are distributed PARFLOW binary files one for each variable and timestep 2D or one for each variable and multiple timesteps 3D Behavior of this key is different for 1D and 2D and 3D cases as sepcified by the Solver CLM MetForcing key above For 1D cases it is the FULL FILE NAME Note that in this configuration this forcing file
57. NPUT FILE TCL 93 Example Useage pfset Contaminants Names tce 6 1 9 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 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 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 vis
58. PARFLOW User s Manual GMWI 2014 01 July 2014 v 693 IW International Ground Water Modeling Center Reed M Maxwell Stefan J Kollet Steven G Smith Carol S Woodward Robert D Falgout Ian M Ferguson Nicholas Engdahl Laura E Condon Sonya Lopez James Gilbert Lindsay Bearup Jennifer Jefferson Christine Pribulick Chuck Baldwin William J Bosl 7 Richard Hornung Steven Ashby Department of Geology and Geological Engineering and Integrated GroundWater Modeling Center Colorado School of Mines Golden CO USA rmaxwell mines edu Institute for Bio and Geosciences Agrosphere IBG 3 and Centre for High Performance Scientific Computing in Terrestrial Systems Research Centre J lich J lich Germany s kollet fz juelich de 3 Center for Applied Scientific Computing Lawrence Livermore National Laboratory Livermore CA USA Center for Applied Scientific Computing Lawrence Livermore National Laboratory Livermore CA USA cswood wardOlln gov 5 Center for Applied Scientific Computing Lawrence Livermore National Laboratory Livermore CA USA S Department of Geology and Geological Engineering and Integrated Ground Water Modeling Center Colorado School of Mines Golden CO USA Children s Hospital Informatics Program Harvard Medical School Boston MA USA 8 Center for Applied Scientific Computing Lawrence Livermore National Laboratory Livermore CA USA 9 Pacific Northwest Nat
59. Pressure RefGeom domain Reference the current left patch to the bottom to define the line of intersection between the two pfset Patch left BCPressure 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 32 CHAPTER 3 THE PARFLOW SYSTEM 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 alltim
60. Q Q CHAPTER 4 MANIPULATING DATA PFTOOLS pfset Process Topology R R Computational Grid pfset ComputationalGrid Lower X 10 0 pfset ComputationalGrid Lower Y 10 0 pfset ComputationalGrid Lower Z 1 0 p set ComputationalGrid DX 8 8888888888888893 p set ComputationalGrid DY 10 666666666666666 p set ComputationalGrid DZ 1 0 pfset ComputationalGrid NX 10 pfset ComputationalGrid NY 10 pfset ComputationalGrid NZ 8 Calculate top and bottom and build domain set mask pfload samrai out mask pfb set top pfcomputetop mask set bottom pfcomputebottom mask set domain pfcomputedomain top bottom set out pfprintdomain domain set grid _file open samrai_grid tcl w puts grid_file out close grid_file The resulting TCL file samrai_grid tcl may be read into a Parflow input file using source samrai_grid tcl A common problem for new ParFlow users is to distribute slope files using the 3 D computational grid that is set at the begging of a run script This results in errors because slope files are 2 D To avoid this problem the computational grid should be reset before and after distributing slope files As follows First set NZ to 1 and distribute the 2D slope files p set ComputationalGrid NX 40 4 3 COMMON EXAMPLES USING PARFLOW TCL COMMANDS PFTCL 71 pfset ComputationalGrid NY 40 pfset ComputationalGrid NZ 1 pfdist slopex pfb pfdist slopey pfb Reset NZ to the correct
61. SS SS SS SS SS SS SS SS SS SS SS SS SS SS SS ni pfset ComputationalGrid NX 41 pfset ComputationalGrid NY 41 pfset ComputationalGrid NZ 1 pfdist LW slopex pfb pfdist LW slopey pfb pfset ComputationalGrid NX 41 pfset ComputationalGrid NY 41 pfset ComputationalGrid NZ 50 pfdist IndicatorFile_Gleeson 50z pfb pfdist press init pfb Now we run the simulation Note that we use a tcl variable to set the run name 3 6 ANNOTATED INPUT SCRIPTS set runname LW puts runname pfrun runname All that is left is to undistribute files pfundist runname pfundist press init pfb pfundist LW slopex pfb pfundist LW slopey pfb pfundist IndicatorFile_Gleeson 50z pfb puts ParFlow run Complete 54 CHAPTER 3 THE PARFLOW SYSTEM Chapter 4 Manipulating Data PFTOOLS 4 1 Introduction to the PARFLow TCL commands PFTCL Several tools for manipulating data are provided in PFTCL command set Tools can be accessed directly from the TCL shell or within a PARFLOW input script In both cases you must first load the PARFLOW package into the TCL shell as follows To Import the ParFlow TCL package lappend auto_path env PARFLOW_DIR bin package require parflow namespace import Parflow In addition to these methods xpftools provides GUI access to most of these features However the simplest approach is generally to include the tools commands within a tcl script The following section lists all of the available ParFlow TCL c
62. a dataset if an argument is provided If no argument is given then all of the data set names followed by their descriptions is returned to the TCL interpreter If an argument dataset is given it should be the it should be the name of a loaded dataset pfgetstats dataset This command calculates the following statistics for the data set represented by the identifier dataset minimum maximum mean sum variance and standard deviation pfgetsubbox dataset il jl kl iu ju ku This command computes a new dataset with the subbox starting at il jl kl and going to iu ju ku 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 is given then the current value of gridtype is returned The value of gridtype will be returned upon successful completion of this command pfgwstorage mask porosity pressure saturation specific_storage This command computes the sub surface water storage compressible and incompressible components based on mask porosity saturation storativity and pressure fields similar to pfsubsurfacestorage but only for the saturated cells 4 2 PFTCL COMMANDS 63 pfhelp command This command returns a list of pftools commands If a command is provided it gives a detailed description of the command and the necessary inputs pfhhead phead This command computes the
63. all Note that CLM and Hypre are not used by pftools and those options do not need to be included however the file formats SILO and single file PFB are very important and need to match exactly what is specified in pfsimulator 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 F90 95 compilers such as Intel or Portland 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 1 1 External Libraries Many of the features of PARFLOW use a file structure called Silo Silo is a free open source format detailed at https wci 11n1 gov codes silo Support for Silo is integrated into PARFLOW but the Silo libraries must be built separately and then linked into PARFLOW during the build and configure process This may be done using the with silo PATH where the P
64. alman filtering evolutionary optimization and visual analytics Water Resources Research doi 10 1029 2010WR009194 Kollet S J 2009 Influence of soil heterogeneity on evapotranspiration under shallow water table conditions transient stochastic simulations Environmental Research Letters 4 1 9 doi 10 1088 1748 9326 4 3 035007 BIBLIOGRAPHY 157 27 Kollet S J Cvijanovic I Schittemeyer D Maxwell R M Moene A F and Bayer P 2009 28 29 30 31 32 33 34 35 36 37 38 39 40 The influence of rain sensible heat subsurface heat convection and the lower temperature boundary condition on the energy balance at the land surface Vadose Zone Journal doi 10 2136 vzj2009 0005 Kollet S J and Maxwell R M 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 2008 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 distri butions using a fully coupled groundwater and land surface model Geophysical Research Letters 35 L07402 Kollet S J Maxwell R M Woodward C S Smith S G Vanderborght J Vere
65. alue 734 0 double Geom geom_name ICPressure RefElevation no default This key specifies the reference elevation on which the reference pressure is given for type HydroStat icDepth initial pressures Example Useage p set 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 HydroStaticPatch initial pressures Example Useage p set 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 HydorStaticPatch 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 6 1 28 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 Con
66. ant 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 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 uint16 e int32 e uint32 pfsegmentD8 dem This command computes the distance between the cell centers of every parent cell i j and its child cell Child cells are determined using the eight point pour method commonly referred to as the D8 method based on the digital elevation model dem If i j is a local minima the segment length is set to zero pfsetgrid nx ny nz 1x0 yO z0 dx dy dz dataset This command replaces the grid information of dataset with the values provided p slopeD8 dem This command computes slopes according to the eight point pour method commonly referred to as the D8 method based on the digital elevation model dem Slopes are computed as the maximum downward gradient between a given cell and it s lowest neighbor adjacent or diagonal Local minima are set to zero where local minima occur on the edge of the domain the 1st order upwind slope is used i e t
67. apter 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 restart a simulation in 3 3 We also cover options for visualizing the results in 3 4 and summarize the contents of a directory of test problems provided with PARFLOW in 3 5 Finally in 3 6 we walk through two PARFLOW input scripts in detail The reader is also referred to 4 for a detailed listing of the of functions for manipulating PARFLOW data 3 1 Defining the Problem There are many ways to define a problem in PARFLOw here we summarize the general approach for defining a domain 3 1 1 and simulating a real watershed 3 1 2 In all cases the main PARFLOW input file is the tc1 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 6 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 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 63 is a good starting point This is NOT required you can get along fine without understanding TCL TK Lo
68. ards equation are read in from a series of flux pfb file Each file has T71 units Example Useage pfset Solver EvapTransFileTransient True string Solver EvapTrans FileName no default This key specifies specifies filename for the distributed pfb file that contains the flux values for Richards equation This file has T71 units For the steady state option Solver Evap TransFile True this key should be the complete filename For the transient option Solver Evap TransFile Transient True then the filename is a header and PARFLOW will load one file per timestep with the form filename 00000 pfb Example Useage p set Solver EvapTrans FileName evap trans test pfb 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 p set Solver LSM CLM 6 1 34 Spinup Options These keys allow for reduced or dampened physics during model spinup or initialization They are only intended for these initialization periods not for regular runtime integer OverlandFlowSpinUp 0 This key specifies that a simplified form of the overland flow boundary condition Equation 5 16 be used in place of the full equation This formulation removes lateral flow and drives and ponded water pressures to zero While this can be helpful in spinning up t
69. are required consider setting the timestep to a smaller value Example Useage pfset Solver MaxConvergenceFailures 4 string Solver Nonlinear PrintFlag HighVerbosity This key specifies the amount of informational data that is printed to the out kinsol log file Choices for this key are NoVerbosity LowVerbosity NormalVerbosity and HighVerbosity 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 Normal Verbosity with the addition of further Krylov iteration statistics Example Useage p set 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 1 norm Choices for this key include EtaConstant Walker1 and Walker2 If the choice EtaConstant is specified then 7 will be taken as constant The choices Walker1 and Walker2 specify choices for y developed by Eisenstat and Walker 16 The choice Walker1 specifies that y will be given by F u F u 3 J uk 1 x P l F u 4 The
70. ask pfload runname out mask silo set top pfcomputetop mask set surface_storage pfsurfacestorage top pressure set total_surface_storage pfsum surface_storage puts format Surface storage t t t t 16e total_surface_storage 8 Calculate and output the runoff out of the entire domain over a timestep set pressure pfload runname out press 00001 silo set slope_x pfload runname out slope_x silo set slope_y pfload runname out slope_y silo set mannings pfload runname out mannings silo set mask pfload runname out mask silo set top pfcomputetop mask set surface_runoff pfsurfacerunoff top slope_x slope_y mannings pressure set total_surface_runoff expr pfsum surface_runoff pfget TimeStep Value puts format Surface runoff from pftools t t t 16e total_surface_runoff 9 Calculate overland flow at a point using Manning s equation Set the location set Xloc 2 set Yloc 2 set Zloc 50 This should be a z location on the surface of your domain Set the grid dimension and Mannings roughness coefficient set dx 1000 0 set n 0 000005 Get the slope at the point set slopex pfload runname out slope_x pfb set slopey pfload runname out slope_y pfb set sx1 pfgetelt slopex Xloc Yloc 0 set syl pfgetelt slopey Xloc Yloc 0 set S expr sx 2 sy 2 0 5 Get the pressure at the point set press pfload runname out press 00001 pfb set P pfgetelt press Xloc Yloc Zloc I
71. assigned to all points in the named geometry geometry_name if the type was set to constant Example Useage p set Geom domain SpecificStorage Value 1 0e 4 6 1 14 dZMultipliers Here dZ multipliers Z x m values are assigned within geounits specified in 6 1 4 above using one of the methods described below The format for this section of input is string Solver Nonlinear VariableDz False This key specifies whether dZ multipliers are to be used the default is False The default indicates a false or non active variable dz and each layer thickness is 1 0 L Example Useage pfset Solver Nonlinear VariableDz True list dzScale GeomNames no default This key specifies which problem domain is being applied a variable dz subsurface These geometries must cover the entire computational domain Example Useage pfset dzScale GeomNames domain string dzScale Type no default This key specifies which method is to be used to assign variable vertical grid spacing The choices currently available are Constant which indicates that a constant is to be assigned to all grid cells within a geometry nzList which assigns all layers of a given model to a list value and PFBFile which reads in values from a distributed pfb file Example Useage 6 1 MAIN INPUT FILE TCL 101 pfset dzScale Type Constant list Specific dzScale GeomNames no default This key specifies all of the geometries on which a different dz scaling value will be assigned T
72. 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 56 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 Turning Bands and Parallel Gaussian Simulators generate a random field with correlation lengths in the 3 spatial directions given by Az Ay and Az with the geometric mean of the log normal field given by u and the standard deviation of the normal field given by In generating the field both of these methods can be made to stratify the data that is follow the top or bottom surfa
73. ault This key specifies the predefined function that will be used to specify Dirichlet boundary conditions 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 Y Plus1 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 zy sin xy 1 X3Y4PlusX2PlusSinX YCosYPlusl p x y4 2 sin xy cos y 1 XYZTPlusl p xzyzt 1 XYZTPlus1PermTensor p xyzt 1 Example Script Using a patch is great when you are not using a box domain If using a box domain HydroStaticDepth is fine If your RefPatch is z lower bottom of domain the pressure is positive If your RefPatch is z upper top of domain the pressure is negative Set water table to be at the bottom of the domain the top layer is initially dry pfset ICPressure Type HydroStaticPatch pfset ICPressure GeomNames domain 6 1 MAIN INPUT FILE TCL 117 pfset Geom domain ICPressure Value 2 2 pfset Geom domain ICPressure RefGeom domain pfset Geom domain ICPressure RefPatch z lower Using a pfb to initialize pfset ICPressure Type PFBFile pfset ICPressure GeomNames domain pfset Geo
74. ave thirteen soil units and eight geologic units The FileName points to the indicator file that PARFLOW will read Recall that this file into the run directory at the start of the script A SS Se ee Se ee eS eS Indicator Geometry Input Sa Se A A a ee e e ES Se ee eS pfset GeomInput indi_input InputType IndicatorField pfset GeomInput indi_input GeomNames s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 gl g2 g3 pfset Geom indi_input FileName IndicatorFile_Gleeson 50z pfb 40 CHAPTER 3 THE PARFLOW SYSTEM For every name in the GeomNames list we define the corresponding value in the indicator file For example here we are saying that our first soil unit s1 is represented by the number 1 in the indicator file while the first geologic unit g1 is represented by the number 21 Note that the integers used in the indicator file do not need to be consecutive p set GeomInput s1 Value 1 p set GeomInput s2 Value 2 p set GeomInput s3 Value 3 p set GeomInput s4 Value 4 p set GeomInput s5 Value 5 p set GeomInput s6 Value 6 p set GeomInput s7 Value 7 p set GeomInput s8 Value 8 p set GeomInput s9 Value 9 p set GeomInput s10 Value 10 p set GeomInput s11 Value 11 p set GeomInput s12 Value 12 p set GeomInput s13 Value 13 p set GeomInput gl Value 21 p set GeomInput g2 Value 22 p set GeomInput g3 Value 23 p set GeomInput g4 Value 24 p set GeomInput g5 Value 25 p set GeomInput g6 Value 26 p set GeomInput g7 Valu
75. be mapped to ParFlow geometries Indicator fields must match the computation grid exactly HAHAHAHA pfset GeomInput indinput InputType IndicatorField pfset GeomInput indinput GeomNames sourceregion concenregion pfset GeomInput indinput FileName ocwd pfb Within the indicator pfb file assign the values to each GeomNames pfset GeomInput sourceregion Value 11 pfset GeomInput concenregion Value 12 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 0 pfset Geom background Upper X 151 0 pfset Geom background Upper Y 171 0 6 1 MAIN INPUT FILE TCL 89 pfset Geom background Upper Z 11 0 The patch order is fixed in the pfsol file but you can call the patch name anything you want i e left right front back bottom top z upper x lower y lower x upper y upper z lower pfset Geom domain Patches 6 1 5 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 base unit of time for entering ti
76. before August 1 2009 provided the MMC is eligible for relicensing Bibliography 1 10 11 Ajami H McCabe M F Evans J P and Stisen S 2014 Assessing the impact of model spin up on surface water groundwater interactions using an integrated hydrologic model Water Resources Research 50 26362656 doi 10 1002 2013WR014258 Ashby S F and Falgout R D 1996 A parallel multigrid preconditioned conjugate gradient algorithm for groundwater flow simulations Nuclear Science and Engineering 124 145 159 Atchley A and Maxwell R M 2011 Influences of subsurface heterogeneity and vegetation cover on soil moisture surface temperature and evapotranspiration at hillslope scales Hydrogeology Journal doi 10 1007 s10040 010 0690 1 Atchley A L Maxwell R M and Navarre Sitchler A K 2013 Human Health Risk Assessment of CO 2 Leakage into Overlying Aquifers Using a Stochastic Geochemical Reactive Transport Approach Environmental Science and Technology 47 5954 5962 doi 10 1021 es400316c Atchley A L Maxwell R M and Navarre Sitchler A K 2013 Using streamlines to simulate stochas tic reactive transport in heterogeneous aquifers Kinetic metal release and transport in CO2 impacted drinking water aquifers Advances in Water Resources 52 93 106 doi 10 1016 j advwatres 2012 09 005 Birger C M Kollet S Schumacher J and Bsel D 2012 Introduction of a web service for cloud computing with the integrated
77. bility SSS 2 2222 22 222 gt gt a 2 2 2222 2222 22 22 eee ee eS a ee ee ae Se ee ee eS ee Se Se SS This specifies the base unit of time for all time values entered All time should be expressed as multiples of this value To keep things simple here we set it to 1 Because we expressed our permeability in units of m hr in this example this means that our basin unit of time is 1hr pfset TimingInfo BaseUnit 1 0 This key specifies the time step number that will be associated with the first advection cycle of the transient problem Because we are starting from scratch we set this to 0 If we were restarting a run we would set this to the last time step of your previous simulation Refer to 3 3 for additional instructions on restarting a run pfset TimingInfo StartCount 0 0 StartTime and StopTime specify the start and stop times for the simulation These values should correspond with the forcing files you are using pfset TimingInfo StartTime 0 0 pfset TimingInfo StopTime 72 0 This key specifies the timing interval at which PARFLOW time dependent outputs will be writ ten Here we have a base unit of 1hr so a dump interval of 24 means that we are writing daily outputs Note that this key only controls the PARFLOW output interval and not the interval that CLM outputs will be written out at pfset TimingInfo DumpInterval 24 0 Here we set the time step value For this example we use a constant time step of 1hr pfset TimeStep Type Cons
78. cally anisotropic media Human health risk implications Water Resources Research 48 1 23 doi 10 1029 2011WR011516 Sulis M Meyerhoff S Paniconi C Maxwell R M Putti M and Kollet S J 2010 A com parison of two physics based numerical models for simulating surface water groundwater interactions Advances in Water Resources 33 4 456 467 doi 10 1016 j advwatres 2010 01 010 Tompson A F B Ababou R and Gelhar L W 1989 Implementation of of the three dimensional turning bands random field generator Water Resources Research 25 10 2227 2243 Tompson A F B Falgout R D Smith S G Bosl W J and Ashby S F 1998 Analysis of subsur face contaminant migration and remediation using high performance computing Advances in Water Resources 22 3 203 221 Tompson A F B Bruton C J and Pawloski G A 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 Carle S F Rosenberg N D and Maxwell R M 1999 Analysis of groundwater migration from artificial recharge in a large urban aquifer A simulation perspective Water Resources Research 35 10 2981 2998 Tompson AFB Bruton C J Pawloski G A Smith D K Bourcier W L Shumaker D E Kersting A B Carle S F and Maxwell R M 2002 On the evaluation of groun
79. cause we only have one phase water 3 6 ANNOTATED INPUT SCRIPTS 45 eS SS ee A ee A A Mobility A a eS ee eS Se a ee eS Se ee p set Phase water Mobility Type Constant p set Phase water Mobility Value 1 0 Again PARFLOW has more capabilities than we are using here in this example 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 See 3 6 1 for an example of how to include pumping wells in this script pfset Wells Names You can give certain periods of time names if you want For example if you aren t running with CLM and you would like to have periods with rain and periods without Here however we have only one time cycle because CLM will handle the variable forcings Therefore we specify one time cycle and it s 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 SSS SS nn E a A SS SS SS SS A Time Cycles SSS Se Se Ss 222220222 a ee ee ee Se Se ee Sa ee Sc ee a 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 th
80. ce 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 Kmax and the normalized frequency increment dk The Parallel Gaussian Simulator uses a search neighborhood the number of simulated points and the number of conditioning points can be changed Example Useage p set 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 geome try_name if either the Turning Bands or Parallel Gaussian Simulator are chosen Example Useage pfset Geom domain Perm LambdaX 200 0 double Geom geometry name Perm LambdaY no default This key specifies the y correlation length A of the field generated for the named geometry geome try_name if either the Turning Bands or Parallel Gaussian Simulator are chosen Example Useage 96 CHAPTER 6 PARFLOW FILES pfset Geom domain Perm LambdaY 200 0 double Geom geometry_name Perm LambdaZ no default This key specifies the z correlation length z of the fie
81. choice CGHS is a conjugate gradient solver Example Useage p set 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 p set Solver SadvectOrder 1 6 1 MAIN INPUT FILE TCL 127 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 p set Solver CFL 0 7 integer Solver MaxIter 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 p set Solver MaxIter 100 double Solver RelTol 1 0 This value gives the relative tolerance for the linear solve algorithm Example Useage p set Solver RelTol 1 0 double Solver AbsTol 1E 9 This value gives the absolute tolerance for the linear solve algorithm Example Useage p set Solver AbsTol
82. choice Walker2 specifies that 7 will be given by 7 F u F u For both of the last two choices y 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 constant value of 7 for the EtaChoice key EtaConstant Example Useage pfset 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 pfset 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 pfset 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 6 1 MAIN INPUT FILE TCL 133 decrease the number of nonlinear iterations but require more memory to run Example Useage p set 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 UseJa cobian key is False Example Useage pfset Solver Nonli
83. climate change ver sus pumping and irrigation Environmental Research Letters 7 1 8 doi 10 1088 1748 9326 7 4 044022 Forsyth P A Wu Y S and Pruess K 1995 Robust Numerical Methods for Saturated Unsaturated Flow with Dry Initial Conditions Advances in Water Resources 17 25 38 Frei S Fleckenstein J H Kollet S J and Maxwell R M 2009 Patterns and dynamics of river aquifer exchange with variably saturated flow using a fully coupled model Journal of Hydrology 375 3 4 383 393 doi 10 1016 j jhydrol 2009 06 038 Haverkamp R and Vauclin M 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 Woodward C S 2001 Newton krylov multigrid solvers for large scale highly het erogeneous variably saturated flow problems Advances in Water Resources 24 763 774 Keyes D E McInnes L C Woodward C Gropp W Myra E Pernice M Bell J Brown J Clo A Connors J Constantinescu E Estep D Evans K Farhat C Hakim A Ham mond G Hansen G Hill J Isaac T et al 2013 Multiphysics simulations Challenges and opportunities International Journal of High Performance Computing Applications 27 4 83 doi 10 1177 1094342012468181 Kollat J B Reed P M and Maxwell R M 2011 Many objective groundwater monitoring network design using bias aware ensemble K
84. cosity 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 94 CHAPTER 6 PARFLOW FILES 6 1 10 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 6 1 11 Permeability In this section permeability property values are assigned to grid points within geometries specified in 6 1 4 above using one of the methods described below Permeabilities are assumed to be a diagonal tensor with entries given as ka x 0 0 0 k x 0 K x 0 O k x where K x is the permeability field given below Specification of the tensor entries ky 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
85. d to Richards Equation as detailed in 28 The overland flow boundary condition can sim ulate both uniform and spatially distributed sources reading a distribution of fluxes from a binary file in the latter case pfset Patch z upper BCPressure Type OverlandFlow For this case the solver needs to be set to RICHARDS pfset Solver Richards PARFLOW may also be coupled with the land surface model CLM 12 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 oper ation to best utilize the integrated hydrology in PARFLOw 41 29 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 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 14 CHAPTER 2 GETTING STARTED Ch
86. dwater contamination from underground nuclear tests Environmental Geology 42 2 3 235 247 Tompson A F B Maxwell R M Carle S F Zavarin M Pawloski G A and Shumaker D E 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 Liver more 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 Welch B 1995 Practical Programming in TCL and TK Prentice Hall Woodward C S 1998 A Newton Krylov Multigrid solver for variably saturated flow problems In Proceedings of the XIIth International Conference on Computational Methods in Water Resources June Woodward C S Grant K E and Maxwell R M 2002 Applications of Sensitivity Analysis to Uncertainty Quantification for Variably Saturated Flow In Proceedings of the XIVth International Conference on Computational Methods in Water Resources Amsterdam The Netherlands June Williams J L and Maxwell R M 2011 Propagating Subsurface Uncertainty to the Atmo sphere Using Fully Coupled Stochastic Simulations Journal of Hydrometeorology 12 690 701 doi 10 1175 2011JHM1363 1 Williams J L Maxwell R M and Monache L D 2013 Development and verification of a new wind speed forecasting system using an ensemble Kalman fil
87. e is written overwritten and if False outputs are written more frequently Compatible with DailyRST and ReuseCount for the latter outputs are written every n steps where n is the value of ReuseCount Example Useage p set Solver CLM WriteLastRST True string Solver CLM DailyRST True Controls whether CLM writes daily restart files default or at every time step when set to False outputs are numbered according to the istep from ParFlow If ReuseCount n with n greater than 1 the output will be written every n steps i e it still writes hourly restart files if your time step is 0 5 or 0 25 etc Fully compatible with WriteLastRST False so that each daily output is overwritten to time 00000 in restart file name 00000 p where p is the processor number Example Useage pfset Solver CLM DailyRST False string Solver CLM SingleFile False Controls whether PARFLOW writes all CLM output variables as a single file per time step When True this combines the output of all the CLM output variables into a special multi layer PFB with the file extension C pfb The first 13 layers correspond to the 2 D CLM outputs and the remaining layers are the soil temperatures in each layer For example a model with 4 soil layers will create a SingleFile CLM output with 17 layers at each time step The file pseudo code is given below in 6 3 and the variables and units are as specified in the multiple PFB and SILO formats as above Example
88. e 27 p set GeomInput g8 Value 28 Now you add permeability data to the domain sections defined above 6 1 11 You can re assign 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 Also note that you do not need to assign permeability values to all of the geometries names Any geometry that is not assigned its own per meability value will take the domain value However every geometry listed in Porosity GeomNames must have values assigned pfset Geom Perm Names domain si s2 s3 s4 sb s6 s7 s8 s9 g2 g3 g6 g8 pfset Geom domain Perm Type Constant pfset Geom domain Perm Value 0 2 pfset Geom s1 Perm Type Constant 3 6 ANNOTATED INPUT SCRIPTS Al p set Geom s1 Perm Value 0 269022595 pfset Geom s2 Perm Type Constant pfset Geom s2 Perm Value 0 043630356 p set Geom s3 Perm Type Constant p set Geom s3 Perm Value 0 015841225 p set Geom s4 Perm Type Constant p set Geom s4 Perm Value 0 007582087 p set Geom s5 Perm Type Constant p set Geom s5 Perm Value 0 01818816 p set Geom s6 Perm Type Constant p set Geom s6 Perm Value 0 005009435 p set Geom s7 Perm Type Constant p set Geom s7 Perm Value 0 005492736 p set Geom s8 Perm Type Constant p set Geom s8 Perm Value 0 004675077 p set Geom s9 Perm Type Constant p set Geom s9 Perm Value 0 003386794 p set Geom g2 Perm Type Constant p set Geom g2 Perm Value 0 025 p set Geom g3 Perm Typ
89. e Constant p set Geom g3 Perm Value 0 059 p set Geom g6 Perm Type Constant p set Geom g6 Perm Value 0 2 p set Geom g8 Perm Type Constant p set Geom g8 Perm Value 0 68 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 Also note that we just specify this once for the whole domain because we want isotropic permeability everywhere You can specify different tensors for different units by repeating these lines with different Geom Names 42 CHAPTER 3 THE PARFLOW SYSTEM pfset Perm TensorType TensorByGeom p set Geom Perm TensorByGeom Names domain p set Geom domain Perm TensorValX 1 040 p set Geom domain Perm TensorValY 1 040 p set Geom domain Perm TensorValZ 1 040 Next we set the specific storage Here again we specify one value for the whole domain but these lines can be easily repeated to set different values for different units H S 2 gt 2 gt 2222 2 3 2 2H 2 2 2 22 22 25 222 222 2 2 2222 gt 2222 2 Specific Storage H S2 2 2 gt gt 2 2 22 22 2 22222222 22 gt 2 22 2222 22 2 2 gt 2 22 32 2 pfset SpecificStorage Type Constant pfset SpecificStorage GeomNames domain pfset Geom domain SpecificStorage Value 1 0e 5 PARFLOW has the capability to deal with a multiphase system but we only have one water in this example As we stat
90. e Patches in the domain defined before Recall the previously stated Patches and associate them with the boundary conditions that follow a a ae eh eS re SS a o ES ee Boundary Conditions SSS A SS ee ee a SS Se eS SS SS Se Se SS SS SS SS SSS ee ee pfset BCPressure PatchNames pfget Geom domain Patches The bottom and sides of our domain are all set to no flow i e constant flux of 0 boundaries p set Patch x lower BCPressure Type FluxConst pfset Patch x lower BCPressure Cycle constant 46 pfset Patch x lower pfset BCPressure pfset pfset Patch y lower Patch y lower Patch y lower BCPressure Patch z lower pfset Patch z lower pfset pfset Patch z lower pfset BCPressure pfset pfset Patch x upper Patch x upper Patch x upper p set BCPressure pfset pfset Patch y upper Patch y upper Patch y upper BCPressure BCPressure BCPressure BCPressure BCPressure BCPressure BCPressure BCPressure BCPressure CHAPTER 3 THE PARFLOW SYSTEM alltime Value 0 0 Type FluxConst Cycle constant alltime Value 0 0 Type FluxConst Cycle constant alltime Value 0 0 Type FluxConst Cycle constant alltime Value 0 0 Type FluxConst Cycle constant alltime Value 0 0 The top is set to an OverlandFLow boundary to turn on the fully coupled overland flow routing OverlandFlow pfset Patch z upper BCPressure Type pfset Patch z upper BCPressure Cycle pfset Patch z upper
91. e 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 double Wells well name interval name Saturation phase _name Value no default This key specifies the saturation value of a vertical well 126 CHAPTER 6 PARFLOW FILES 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 Fraction no default This key specifies the fraction of the extracted
92. e 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 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 3 6 ANNOTATED INPUT SCRIPTS 33 p set TopoSlopesY Type Constant p set TopoSlopesY GeomNames p set 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 p set Mannings Type Constant p set Mannings GeomNames p set 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 We allow up to 50 iterations of the linear solver before it quits or converges pfset Solver Maxlter 50 The solution must be accurate to this level pfset Solver AbsTol 1E 10 We drop significant digits beyond E 15 34 CHAPTER 3 THE PARFLOW SYSTEM pfset Solver Drop 1E 15 Here you set the number of realizations again using
93. e capability is used that is a with silo PATH flag is used during the configure and build process pfmg tcl and pfmg_octree tcl Tests of the external Hypre preconditioner options Note this problem only will run if the Hypre capability is used that is a with hypre PATH flag is used during the configure and build process test_x tcl A test problem for the Richards solver that compares output to an analytical solution washita tcl_scripts LW_Test tcl A three day simulation of the Little Washita domain using PARFLOW CLM with 3D forcings 3 6 Annotated Input Scripts This section contains two annotated input scripts e 3 6 1 contains the harvey flow example harvey flow tcl which is an idealized domain with a heterogenous subsurface The example also demonstrates how to generate multiple realizations of the subsurface and add pumping wells e 3 6 2 contains the Little Washita example LW_Test tcl which simulates a moderately sized 41km by 41km real domain using PARFLOW CLM with 3D meteorological forcings To 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 To run the simulation 1 make any modifications to the tcl input script and give a new name if you want to 3 6 ANNOTATED INPUT SCR
94. e 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 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 146 CHAPTER 6 PARFLOW FILES 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 integer 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 FOR well O TO lt number_of_wells gt 1 BEGIN LINE BEGIN lt integer sequence_number gt END LINE BEGIN lt integer SubgridIX gt lt integer SubgridIY gt lt integer SubgridIZ gt lt integer SubgridNX gt lt integer SubgridNY gt lt integer SubgridNz gt lt integer SubgridRX gt lt integer SubgridRY gt
95. e of how to include pumping wells in this script 3 6 ANNOTATED INPUT SCRIPTS 31 pfset Wells Names You can give certain periods of time names if you want to ie Pre injection 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 it s 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 pfset 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 pfset BCPressure PatchNames left right front back bottom top These are Dirichlet BCs i e constant head over cell so the pressure head is set to hydrostatic see 6 1 24 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 pfset Patch left BCPressure Type DirEquilRefPatch pfset Patch left BCPressure Cycle constant pfset Patch left BC
96. e that you must have configured SILO with HDF5 in order to use that option Example Useage pfset SILO Filetype PDB string SILO CompressionOptions _ This key is used to specify the SILO compression options See the SILO manual for the DB_SetCompression command for information on available options NOTE the options avaialable are highly dependent on the configure options when building SILO 6 1 MAIN INPUT FILE TCL 131 Example Useage pfset SILO CompressionOptions METHOD GZIP 6 1 33 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 64 and 2 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 measured 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 p set Solver Nonlinear StepTol le 4 integer Solver Nonlinear Maxlter 15 This key specifies the maximum number of nonlinear iterations allowed before iterations stop with a conve
97. e 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 test_well all_time Pressure Value 6 0 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 action for the well Exampl
98. e 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 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 Multiauthor 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 Docu ment 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 had 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
99. ead 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 p set 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 p set Mannings FileName roughness pfb Complete example of setting Mannings roughness n values by geometry 6 1 MAIN INPUT FILE TCL 103 pfset Mannings Type Constant pfset Mannings GeomNames domain pfset Mannings Geom domain Value 5 52e 6 6 1 16 Topographical Slopes Here topographical slope values Sy and Sf in Equations 5 11 and 5 12 are assigned to the upper boundary of the domain using one of the methods described below Note that due to the negative sign in these equations Sy and Sz take a sign in the direction opposite of the direction of the slope That is negative slopes point downhill and positive slopes uphill 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
100. ecken H and Simmer C 2010 Proof of concept of regional scale hydrologic simulations at hydrologic res olution utilizing massively parallel computer resources Water Resources Research 46 W04201 doi 10 1029 2009WR008730 Major E Benson D A Revielle J Ibrahim H Dean A Maxwell R M Poeter E and Dogan M 2011 Comparison of Fickian and temporally nonlocal transport theories over many scales in an exhaustively sampled sandstone slab Water Resources Research 47 1 14 doi 10 1029 2011WR010857 Maxwell R M 2010 Infiltration in arid environments Spatial patterns between subsurface hetero geneity and water energy balances Vadose Zone Journal 9 970 983 doi 10 2136 vzj2010 0014 Maxwell R M 2013 A terrain following grid transform and preconditioner for paral lel large scale integrated hydrologic modeling Advances in Water Resources 53 109 117 doi 10 1016 j advwatres 2012 10 001 Maxwell R M Carle S F and Tompson A F B 2000 Risk Based Management of Contaminated Groundwater The Role of Geologic Heterogeneity Exposure and Cancer Risk in Determining the Performance of Aquifer Remediation In Proceedings of Computational Methods in Water Resources XII Balkema 533 539 Maxwell R M Carle S F and Tompson A F B 2008 Contamination risk and heterogeneity on the effectiveness of aquifer remediation Environmental Geology 54 1771 1786 Maxwell R M Chow F K and Kollet S J 2007 T
101. ection 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 2 Prepare input data files from output data files 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 6 1 27 and possibly the pfdist utility in the input script 3 Change the Main Input File 6 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 3 4 VISUALIZING OUTPUT 21 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 render ing environment It is multiplatform and may be downloaded directly from https visit 11n1 gov 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 op
102. ects on the hydraulic conductivity K An initial condition p p x t 0 5 7 completes the specification of the problem 5 3 Terrain Following Grid The terrain following grid formulation transforms the PARFLOW grid to conform to topography 34 This alters the form of Darcy s law to include a topographic slope component de Koop E cos 6 sin y 5 8 where 0 arctan So x and 6 arctan So y which are assumed to be the same as the TopoSlope keys assigned for overland flow described below The terrain following grid formulation can be very useful for coupled surface subsurface flow problems where groundwater flow follows the topography As cells are distributed near the ground surface and can be combined with the variable 6Z capability the number of cells in the problem can be reduced dramatically over the orthogonal formulation For complete details on this formulation the stencil used and the function evaluation developed please see 34 5 4 Overland Flow As detailed in 28 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 kinematic wave equation In two spatial dimensions the continuity equation can be written as Os Ot where 7 is the depth averaged velocity vector LT 71
103. ed 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 pressure 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 embed the conversion of k to K hydraulic conductivity So this way we get hydraulic conductivity which is what we want for this problem H A A A A A O A A A E a a ee SE SE ee S Phases H A A A A A A A A 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 This example does not include the PARFLOW grid based transport scheme Therefore we leave contaminants blank pfset Contaminants Names mo As with density and viscosity gravity is normalized here If we used the true value in the Z and T units of hydraulic conductivity the code would be calculating permeability Instead we normalize so that the code calculates hydraulic conductivity 3 6 ANNOTATED INPUT SCRIPTS 43 Se ee 22 Se Se ee ea ea Se ee SS Se SS eS Se a Se a ae eo ee ee ee SS Gravity A te Se A A ee Se Se ee a a ee SS ee pfset Gravity 1 0 Next we set up the timing for our simulation 222222222 2202202222 a ee ae a 22222 232222 222 22222322 R se 22 2 Timing time units is set by units of permea
104. ed 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 independently The utility does the inverse of the pfundist command If you are using a ParFlow binary file for input you should do a pfdist just before you do 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 NOTE When distributing slope files the NZ must be set to 1 to indicate a two dimensional file pfdistondomain filename domain Distribute the file onto the virtual file system based on the domain provided rather than the processor topology as used by pfdist This is used by the SAMRAI version of which allows for a more com plicated computation domain specification with different sized subgrids on each processor and allows for more than one subgrid per processor Frequently this will be used with a domain created by the pfcomputedomain command 4 2 PFTCL COMMANDS 61 pfeffectiverecharge precip et slopex slopey dem This command computes the effective recharge at every grid cell based on total precipitation minus evapotranspiration P ET in the upstream area Effective recharge is consistent with TOPMODEL definition NOT local P ET Inputs are total annual or average annual precipitation precip at each point total annual or average annual evapotranspiration ET at each point
105. eft 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 3 1 2 Setting Up a Real Domain This section provides a brief outline of a sample workflow for setup PARFLOW CLM simulation of a real domain Of course there are many ways to accomplish this and users are encouraged to develop a workflow that works for them This example assumes that you are running with PARFLOW CLM and it uses slope files and an indicator file to define the topography and geologic units of the domain An alternate approach would be to define geometries by building a pfsol file 6 5 using the appropriate PF TOOLS conversion utility 4 The general approach is as follows 3 1 DEFINING THE PROBLEM 17 1 Gather input datasets to define the domain First decide the resolution that you would like to simulate at Then gather the following datasets at the appropriate resolution for your domain a Elevation DEM b c d Soil data for the near surface layers Geologic maps for the deeper subsurface Me A RA ES Land Cover 2 Create consistent gridded layers that are all clipped to your domain and have the same number of grid cells 3 Convert gridded files to pfb 6 2 One way to accompl
106. el in your simulations you can ignore the following steps Either way at this point it is advisable to run a spinup simulation to initialize the water table There are several ways to approach this One way is to start with the water table at a constant depth and run for a long time with a constant recharge forcing until the water table reaches a steady state There are some additional key for spinup runs that are provided in 6 1 34 8 Convert land cover classifications to the IGBP land cover classes that are used in CLM http www igbp net 18 Oo ABN oF WwW NY ee e e oe ND a FP WSO FF O CHAPTER 3 Evergreen Needleleaf Forest Evergreen Broadleaf Forest Deciduous Needleleaf Forest Deciduous Broadleaf Forest Mixed Forests Closed Shrublands Open Shrublands Woody Savannas Savannas Grasslands Permanent Wetlands Croplands Urban and Built Up Cropland Natural Vegetation Mosaic Snow and Ice Barren or Sparsely Vegetated Water 18 Wooded Tundra THE PARFLOW SYSTEM 9 Create a CLM vegm file that designates the land cover fractions for every cell Refer to the clm input directory in the Washita Example for an sample of what a vegm file should look like 10 Create a CLM driver file to set the parameters for the CLM model Refer to the clm input directory in the Washita Example for a sample of a CLM driver file 11 Assemble meteorological forcing data
107. elds 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 conversion routine takes any number of GMS sol files concatenates 6 6 PARFLOW WELL OUTPUT FILE WELLS 145 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 6 6 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 th
108. entifier of the data set created by this operation is returned upon successful completion pfsum dataset This command computes the sum over the domain of the dataset pfsurfacerunoff top slope_x slope_y mannings pressure This command computes the surface water runoff out of the domain based on a computed top pressure field slopes and mannings roughness values This is integrated along all domain boundaries and is calculated at any location that slopes at the edge of the domain point outward This data is in units of L3T and the equations used to calculate this quantity are given in 5 8 The identifier of the data set created by this operation is returned upon successful completion pfsurfacestorage top pressure This command computes the surface water storage ponded water on top of the domain based on a computed top and pressure field The equations used to calculate this quantity are given in 5 8 The identifier of the data set created by this operation is returned upon successful completion 68 CHAPTER 4 MANIPULATING DATA PFTOOLS pftopodeficit profile m trans dem slopex slopey recharge ssat sres porosity mask Compute water deficit for all i j based on TOPMODEL topographic index For more details on methods and assumptions refer to toposlopes c in pftools pftopoindex dem sx sy Compute topographic index for all i j Here topographic index is defined as the total upstream area divided by the contour length divided by
109. er CLM MetFileNT no default This key specifies the number of timesteps per file for 3D forcing data Example Useage p set Solver CLM MetFileNT 24 string Solver WriteSiloCLM False This key specifies whether the CLM writes two dimensional binary output files to a silo binary format This data may be read in by VisIT and other visualization packages Note that CLM and silo must be compiled and linked at runtime for this option to be active These files are all written according to the standard format used for all PARFLOW variables using the runname and istep Variables are either two dimensional or over the number of CLM layers default of ten Example Useage p set Solver WriteSiloCLM True 6 1 MAIN INPUT FILE TCL 137 The output variables are eflx_lh_tot for latent heat flux total W m using the silo variable LatentHeat eflx_lwrad_out for outgoing long wave radiation W m using the silo variable Long Wave eflx_sh_tot for sensible heat flux total W m using the silo variable SensibleHeat eflx_soil_grnd for ground heat flux W m using the silo variable GroundHeat qflx_evap_tot for total evaporation mm s using the silo variable Evaporation Total qflx_evap_grnd for ground evaporation without sublimation mm s using the silo variable Evapora tionGroundNoSublimation qf1x_evap_soi for soil evaporation mm s using the silo variable EvaporationGround qflx_evap_veg for vegetation evaporation mm s using the silo variable
110. er WriteSiloPressure True 6 1 MAIN INPUT FILE TCL 129 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 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 string Solver WriteSiloSlopes False This key is used to specify printing of the x and y slope data using silo binary format The printing of the data is controlled by values in the timing information section Example Useage pfset Solver WriteSiloSlopes True string Solver WriteSiloMannings False This key is used to specify printing of the Manning s roughness data in silo binary format The printing of the data is controlled by values in the timing information section Example Useage pfset Solver WriteSiloMannings True string Solver WriteSiloSpecificStorage False This key is
111. 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 readable Transparent copy along with each Opaque copy or state in or with each Opaque copy a computer network location from wh
112. f the pressure is less than zero set to zero if P lt 0 set P 0 set QT expr dx n S 0 5 P 5 3 puts QT Chapter 5 Model Equations In this chapter we discuss the model equations used by PARFLOW for its fully and variably saturated flow overland flow and multiphase flow and transport models First section 5 1 describes steady state groundwater flow specified by solver IMPES Next section 5 2 describes the Richards equation model specified by solver RICHARDS for variably saturated flow as implemented in PARFLOW Section 5 3 describes the terrain following grid formulation Next the overland flow equations are presented in section 5 4 In section 5 5 we describe the multi phase flow equations specified by solver IMPES and in section 5 6 we describe the transport equations Finally section 5 7 presents some notation and units and section 5 8 presents some basic water balance equations 5 1 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 x 5 1 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 5 2 where K is the saturated hydraulic conductivity tensor LT and H L is the head potential Inspection of 5 17 and 5 18 show that these equations agree with the above for
113. fault This key specifies which method is to be used to assign porosity data to the named geometry geome try_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 p set 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 100 CHAPTER 6 PARFLOW FILES 6 1 13 Specific Storage Here specific storage S in Equation 5 3 values are assigned within geounits specified in 6 1 4 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 assigned These geometries must cover the entire computational 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
114. fined as follows The Constant specification means that the relative permeability will be constant on the specified geounit The VanGenuchten specification means that the relative permeability will be given as a Van Genuchten function 62 with the form apro 32 O area 1 ap r yr k p 6 1 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 22 A kr p Arp 6 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 kp X a 6 3 i 0 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
115. format which is used by pftools to write out PARFLOW grid data The simple binary sb file format is exactly the same just written as BIG ENDIAN binary bit ordering 68 The format for the file is lt integer NX gt lt integer NY gt lt integer NZ gt FOR k 0 TO lt nz gt 1 BEGIN FOR j 0 TO lt ny gt 1 BEGIN FOR i 0 TO lt nx gt 1 BEGIN lt double data_ijk gt END END END Chapter 7 GNU Free Documentation License Version 1 3 3 November 2008 Copyright 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 copyleft license designed for free software We have designed this License in order to use it for manuals for
116. fying the type of input 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 6 1 Main Input File tcl 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 PARFLOW
117. g NormalTruncated or LogTruncate and can be used with either Turning Bands or the Parallel Gaussian Simulator Example Useage p set Geom domain Perm LogNormal LogTruncated 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 p set 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 p set 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 geometry geometry_name when either the Normal Truncated or LogTruncated values are chosen Example Useage p set Geom domain Perm HighCutoff 100 0 98 CHAPTER 6 PARFLOW FILES 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
118. grated watershed flow PARFLOW is especially suitable for large scale problems on a range of single and multi processor computing platforms PARFLOW simulates saturated and variably saturated subsurface flow in heterogeneous porous media in three spatial dimensions using a mulitgrid preconditioned conjugate gradient solver 2 and a Newton Krylov nonlinear solver 23 PARFLOw has recently been extended to coupled surface subsurface flow to enable the simulation of hillslope runoff and channel routing in a truly integrated fashion 28 PARFLOW is also fully coupled with the land surface model CLM 12 as described in 41 29 The development and application of PARFLOw has been on going for more than 20 years 47 48 46 49 50 51 52 53 54 55 66 67 17 24 25 7 8 34 25 25 52 13 3 40 33 17 31 55 21 27 43 14 39 30 29 38 36 37 44 28 41 61 45 60 65 23 35 59 58 57 2 and resulted in some of the most advanced numerical solvers and multigrid preconditioners 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
119. greater than a minimum threshold pfsavediff Save the difference between two X datasets pfaxpy y alpha x y X pfgetstats Calculate dataset statistics min max X mean var stdev pfprintstats Print formatted statistics X pfstats Calculate and print dataset statistics X min max mean var stdev Calculate physical parameters pfbfevel Calculate block face centered velocity pfevel Calculate Darcy velocity pfvvel Calculate Darcy velocity at cell vertices pfvmag Calculate velocity magnitude given components pfflux Calculate Darcy flux pfhhead Calculate hydraulic head 2 pfphead Calculate pressure head from hydraulic head pfsattrans calculate saturated transmissivity X pfupstreamarea Calculate upstream area X pfeffectiverecharge Calculate effective recharge X pfwatertabledepth Calculate water table from saturation X pfhydrostatic Calculate hydrostatic pressure field pfsubsurfacestorage Calculate total sub surface storage 7 X pfgwstorage Calculate saturated subsurface storage X pfsurfacerunoff Calculate total surface runoff 9 X pfsurfacestorage Calculate total surface storage 8 X 4 2 PFTCL COMMANDS Table 4 2 List of PF TOoLs commands by function cont Name Short Description Examples Compatible with TFG DEM Operations
120. he hydraulic conductivity used in the problem Example Useage pfset ComputationalGrid DY 10 0 real ComputationalGrid DZ no default This defines the size of grid cells in the z direction Units are L and are defined by the units of the hydraulic conductivity used in the problem Example Useage pfset ComputationalGrid DZ 1 0 Example Usage SRA A ES a AAA A E A a eee E Computational Grid H A A A A A A A A A ee ee Se See p set ComputationalGrid Lower X 10 0 p set ComputationalGrid Lower Y 10 0 p set ComputationalGrid Lower Z 1 0 p set ComputationalGrid NX 18 p set ComputationalGrid NY 18 p set ComputationalGrid NZ 8 p set ComputationalGrid DX 8 0 p set ComputationalGrid DY 10 0 pfset ComputationalGrid DZ 1 0 86 CHAPTER 6 PARFLOW FILES 6 1 4 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 hydrostratigraphic units faults initial plume shapes and so on 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 geometr
121. he cell is assumed to drain out of the domain Note that dem must be a ParFlow dataset and must have the correct grid information dx and dy both used in slope calculations If gridded elevation values are read in from a text file e g using pfload s simple ascii format grid information must be specified using the pfsetgrid command It should be noted that ParFlow uses slopex and slopey NOT D8 slopes in runoff calculations pfslopex dem This command computes slopes in the x direction using 1st order upwind finite differences based on the digital elevation model dem Slopes at local maxima in x direction are calculated as the maximum 4 2 PFTCL COMMANDS 67 downward gradient to an adjacent neighbor Slopes at local minima in x direction do not drain in the x direction and are therefore set to zero Note that dem must be a ParFlow dataset and must have the correct grid information dx in particular is used in slope calculations If gridded elevation values are read from a text file e g using pfload s simple ascii format grid inforamtion must be specified using the pfsetgrid command pfslopexD4 dem This command computes the slope in the x direction for all i j using a four point D4 method The slope is set to the maximum downward slope to the lowest adjacent neighbor If i j is a local minima the slope is set to zero i e no drainage pfslopey dem This command computes slopes in the y direction using 1st order
122. he cell to which i j drains according to the D8 method ds i j is the segment length between the i j and its child A i j is the upstream contributing area of i j and c and p are constants pfflintslawbybasin dem cO pO maxiter This command smooths the digital elevation model dem using the same approach as pfflints law However here the c and p parameters are fit for each basin separately The Flints Law parameters are calculated for the provided digital elevation model dem using the iterative Levenberg Marquardt method of non linear least squares minimization as in pfflintslawfit The user must provide initial estimates of c0 and p0 results are not sensitive to these initial values The user must also specify the maximum number of iterations as maxiter pfflintslawfit dem cO pO maxiter This command fits Flint s Law parameters c and p for the provided digital elevation model dem using the iterative Levenberg Marquardt method of non linear least squares minimization The user must provide initial estimates of c0 and p0 results are not sensitive to these initial values The user must also specify the maximum number of iterations as maxiter Final values of c and p are printed to the screen and a dataset containing smoothed elevation values is returned Smoothed elevations are 62 CHAPTER 4 MANIPULATING DATA PFTOOLS identical to running pfflintslaw for the final values of c and p Note that dem must be a ParFlow data
123. he 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 and Kollet S J 2008 Quantifying the effects of three dimensional subsurface het erogeneity 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 Lundquist J K Mirocha J D Smith S G Woodward C S and Tompson A F B 2011 Development of a coupled groundwater atmospheric model Monthly Weather Review doi 10 1175 2010MWR3392 158 41 42 43 44 45 46 47 48 49 50 5l 52 53 BIBLIOGRAPHY Maxwell R M and Miller N L 2005 Development of a coupled land surface and groundwater model Journal of Hydrometeorology 6 3 233 247 Maxwell R M Putti M Meyerhoff S Delfs J O Ferguson I M Ivanov V Kim J Kolditz O Kollet S J Kumar M Lopez S Niu J Paniconi C Park Y J Phanikumar M S Shen C Sudicky E a and Sulis M 2014 Surface subsurface model intercomparison A first set of benchmark results to diagnose integrated hydrology and feedbacks Water Resources Research 50 15311549 doi 10 1002 2013WR013
124. he subsurface this is no longer coupled subsurface surface 6 1 MAIN INPUT FILE TCL 135 flow If set to zero the default this key behaves normally Example Useage pfset OverlandFlowSpinUp 1 double OverlandFlowSpinUpDampP1 0 0 This key sets P and provides exponential dampening to the pressure relationship in the overland flow equation by adding the following term Pa exp w x Pa Example Useage p set OverlandSpinupDampPi 10 0 double OverlandFlowSpinUpDampP2 0 0 This key sets Py and provides exponential dampening to the pressure relationship in the overland flow equation adding the following term Pz x exp w Pa Example Useage pfset OverlandSpinupDampP2 0 1 6 1 35 CLM Solver Parameters 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 Useage p set Solver CLM PrintidOut False integer Solver CLM IstepStart 1 This key specifies the value of the counter step in CLM This key primarily determines the start of the output counter for CLM It is used to restart a run by setting the key to the ending step of the previous run plus one Note that CLM must be compiled and linked at runtime for this option to be active Example Useage p set Solver CLM IstepStart 8761 String Solver CL
125. 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 Then we move up to the root directory when we are finished pfsave head pfb harvey_flow k head pfb J cd L Once you have modified the tcl input script if necessary and run PARFLOw you will have as many realizations of 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 SLIM user s manual this could run other tcl scripts now an example is below puts stdout running SLIM source bromide_trans sm tcl We can add options to this script For example if we wanted to add a pumping well these additions are described below 36 CHAPTER 3 THE PARFLOW SYSTEM Adding a Pumping Well Let us change the input problem by adding a pumping well 1 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 activated this value lists the names of the wells pfset Wells Names new_well pfset Wells new_well InputType Recirc
126. hese geometries must cover the entire computational domain Example Useage pfset dzScale GeomNames domain double Geom geometry_name dzScale 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 dzScale Value 1 0 string Geom geometry_name dzScale FileName no default This key specifies file to be read in for variable dz values for the given geometry geometry_name if the type was set to PFBFile Example Useage pfset Geom domain dzScale FileName vardz pfb integer dzScale nzListNumber no default This key indicates the number of layers with variable dz in the subsurface This value is the same as the ComputationalGrid NZ key Example Useage pfset dzScale nzListNumber 10 double Cell nzListNumber dzScale Value no default This key assigns the thickness of each layer defined by nzListNumber ParFlow assigns the layers from the bottom up i e the bottom of the domain is layer 0 the top is layer NZ 1 The total domain depth Geom domain Upper Z does not change with variable dz The layer thickness is calculated by ComputationalGrid DZ dZScale Example Useage p set Cell 0 dzScale Value 1 0 Example Usage H A a A ea SS A A a E A Variable dz Assignments H A A ee E ee A A Se Set VariableDz to be true Indicate number of layers nzlistnumber which is the same as nz 1 There is nz dz total de
127. his is a script you need to actually run PARFLOW These are normally the last lines of the input script pfrun default_single pfundist default_single 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 20 CHAPTER 3 THE PARFLOW SYSTEM 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 1log 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
128. hydraulic head from the pressure head represented by the identifier phead An identifier for the hydraulic head computed is returned upon successful completion pfhydrostatic wtdepth top mask Compute hydrostatic pressure field from water table depth 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 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 ne binary format Default file type for files with a pfb extension e pfsb ParFlow scattered binary format Default file type for files with a pfsb extension e sa ParFlow simple ASCII format Default file type for files with a sa extension e sb ParFlow simple binary format Default file type for files with a sb extension e silo Silo binary format Default file type for files with a silo extension e rsa ParF
129. ich 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 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 sections 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 modification 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 those 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
130. ies 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 pfset GeomInput solidinput GeomNames domain bottomlayer middlelayer toplayer 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
131. ifferent for every run pfset Geom upper_aquifer Perm Seed expr 33333 2 k pfset Geom lower_aquifer Perm Seed expr 31313 2 k 3 6 ANNOTATED INPUT SCRIPTS 35 The following command runs PARFLOW and gives you a suite of output files for each realiza tion The file names will begin harvey_flow 1 xxxxx harvey_flow 2 xxxx etc up to as many realizations 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 we are really getting hydraulic conductivity pfrun harvey_flow k This command removes a large number of superfluous dummy files or un distributes parallel files back into a single file If you compile with the with amps sequential io option then a single PARFLOW file is written with corresponding XXXX dist files and the pfundist command just removes these dist files though you don t really need to remove them if you don t want to pfundist harvey_flow k The following commands take advantage of PFTools see 4 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
132. ify that we are using 3D forcing files meaning that we have spatially distributed forcing with multiple time steps in every file Therefore we must also specify the number of times steps MetFileNT in every file in this case 24 Finally we specify the initial value for the CLM counter pfset Solver CLM MetFileName NLDAS pfset Solver CLM MetFilePath NLDAS p set Solver CLM MetForcing 3D p set Solver CLM MetFileNT 24 p set Solver CLM IstepStart 1 This last set of CLM parameters refers to the physical properties of the system Refer to 6 1 35 for details pfset Solver CLM EvapBeta Linear pfset Solver CLM VegWaterStress Saturation pfset Solver CLM ResSat 0 1 p set Solver CLM WiltingPoint 0 12 p set Solver CLM FieldCapacity 0 98 p set Solver CLM IrrigationType none Next we set the initial conditions for the domain In this example we are using a pressure pfb file that was obtained by spinning up the model in the workflow outlined in 3 1 2 Alternatively the water table can be set to a constant value by changing the ICPressure Type Again the input file that is referenced here was was copied into the run directory at the top of this script Bes Sie eS Ss eS ee ee Se et aE Initial conditions water pressure SSeS SS i SS eS SS SS SS 2 2 pfset ICPressure Type PFBFile pfset ICPressure GeomNames domain pfset Geom domain ICPressure RefPatch Z upper p set Geom domain ICPressure FileName press init pfb
133. ill be assigned 0 0 capillary pressure by PARFLOW Example Useage p set 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 110 CHAPTER 6 PARFLOW FILES 6 1 22 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 Note that only one type of saturation may be used for the entire problem However parameters may be differ ent 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 satu ration The possible values for this key are Constant VanGenuchten Haverkamp Data Polynomial and PFBFile Example Useage p set Phase Saturation Type Constant The various possible functi
134. information for each timestep Additionally the lt run name gt out tx contains all information routed to standard out of the machine you are running 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 coll
135. ing and numerical modeling in general In Chapter 2 we describe how to install PARFLOW including building the code and associated libraries Then we lead the user through a simple PARFLOW run and discuss the automated test suite In Chapter 3 we describe the PARFLOW system in more detail This chapter contains a lot of useful information regarding how a run is constructed and most importantly contains two detailed annotated scripts that run two classical PARFLOW problems a fully saturated heterogeneous aquifer and a variably saturated transient coupled watershed Both test cases are published in the literature and are a terrific initial starting point for a new PARFLOW user Chapter 4 describes data analysis and processing Chapter 5 provides the basic equations solved by PARFLOW Chapter 6 describes the formats of the various files used by PARFLOW These chapters are really intended to be used as reference material This manual provides some overview of PARFLOW some information on building the code examples of scripts that solve certain classes of problems and a compendium of keys that are set for code options 1 2 Published Studies That Have Used PARFLOW PARFLOW has been used in a number of research studies published in the literature What follows are tables of PARFLOW references with information on topics types of problem and application 1 1 1 2 1 3 and 1 4 describe any coupled physics categorize the scale and domain and discuss what
136. 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 6 1 MAIN INPUT FILE TCL 83 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 string
137. ional Laboratory Richland WA USA Suggested citation Maxwell R M S J Kollet S G Smith C S Woodward R D Falgout I M Ferguson N Engdahl L E Condon S R Lopez J Gilbert L Bearup J Jefferson C Prubilick C Baldwin W J Bosl R Hornung S Ashby PARFLOW User s Manual Integrated GroundWater Modeling Center Report GWMI 2014 01 159p ParFlow is released under the GNU LPGL License Version 1 3 3 November 2008 Copyright 2000 2001 2002 2007 2008 Free Software Foundation Inc http fsf org This manual is licensed under the GNU Free Documentation License Copyright 2014 Reed M Maxwell Stefan J Kollet Ian M Ferguson Steven G Smith Carol S Woodward Nicholas Engdahl Laura E Condon Permission is granted to copy distribute and or modify this document under the terms of the GNU Free Documentation License 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 n
138. is function type specifies that the source applied over the entire domain is as noted above This corresponds to p x y 2 sin xy cos y 1 in the problem V pVp f XYZTPlusl source gyz t x y 2227 y 2 This function type specifies that the source applied over the entire domain is as noted above This corresponds to p ryzt 1 in the problem op V pVp f XYZTPlus1PermTensor source zyz t x7y 3 27272 y 2 This function type specifies that the source applied over the entire domain is as noted above This Op corresponds to p xyzt 1 in the problem 5 V KpVp f where K diag 1 2 3 6 1 21 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 input 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 w
139. is not distributed the user does not provide copies such as narr 1hr txt o0 narr 1hr txt 1 for each processor PARFLOW only needs the single original file e g narr 1hr txt For 2D cases this key is the BASE FILE NAME for the 2D forcing files currently set to NLDAS with individual files determined as follows NLDAS lt variable gt lt time step gt pfb Where the lt variable gt is the forcing variable and lt timestep gt is the integer file counter corresponding to istep above Forcing is needed for following variables DSWR Downward Visible or Short Wave radiation W m DLWR Downward Infa Red or Long Wave radiation W m APCP Precipitation rate mm s Temp Air temperature K UGRD West to East or U component of wind m s VGRD South to North or V component of wind m s Press Atmospheric Pressure pa SPFH Water vapor specific humidity kg kg Note that CLM must be compiled and linked at runtime for this option to be active Example Useage pfset Solver CLM MetFileName narr 1hr txt String Solver CLM MetFilePath no default This key specifies defines the location of 1D 2D or 3D forcing data For 1D cases this is the path to a single forcing file e g narr 1hr txt For 2D and 3D cases this is the path to the directory containing all forcing files Note that CLM must be compiled and linked at runtime for this option to be active Example Useage p set Solver CLM MetFilePath path to met forcing data integer Solv
140. ish this is by reformatting the gridded outputs to the correct PARFLOW sa order 6 7 and to convert the sa file to pfb using the conversion tools see 4 3 Example 1 4 Calculate slopes in the x and y directions from the elevation dataset This can be done with the built in tools as shown in 4 3 Example 5 In most cases some additional processing of the DEM will be required to ensure that the drainage patterns are correct To check this you can run a parking lot test by setting the permeability of surface to almost zero and adding a flux to the top surface If the results from this test don t look right i e your runoff patterns don t match what you expect you will need to go back and modify your DEM The built in PARFLOW tools pitfill and flatfill can be used to address some issues These tools are also shown in 4 3 Example 5 5 Create an indicator file for the subsurface The indicator file is a 3D pfb file with the same dimensions as your domain that has an integer for every cell designating which unit it belongs to The units you define will correspond to the soil types and geologic units from your input datasets 6 Determine the hydrologic properties for each of the subsurface units defined in the indicator file You will need Permeability specific storage porosity and vanGenuchten parameters 7 At this point you are ready to run a PARFLOW model without CLM and if you don t need to include the land surface mod
141. itable 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 near the most prominent appearance of the work s title preceding the beginning of the body of the text The
142. l if the input type is set to Vectical Example Useage Wells test_well ZLower 2 0 124 CHAPTER 6 PARFLOW FILES double Wells well_name 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 well_name Method no default This key specifies a method by which pressure or flux for a vertical 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 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 to Pressure
143. 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 This key specifies the time cycle to which boundary condition data for patch patch name corresponds Example Useage p set 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 bound ary condition data is given Care should be taken to make sure the correct solid is specified in cases of layered domains Example Useage p set Patch top BCPressure RefGeom domain string Patch patch_name BCPressure RefPatch no default This key specifies 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 p set 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 6 1 MAIN INPUT FILE TCL 115 constant flux value for the FluxConst boundary condition or the constant volumetric flux for the Flux Vol umetric boundary condition Example Useage pfset Patch top BCPressure alltime Value 14 0 double Patch patch_name
144. ld generated for the named geometry geome try_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 p set Geom domain 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 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 Turni
145. line base interpolation table for the Van Genuchten function specified on geom_name If this number is 0 the default then the function is evaluated directly Using the interpolation table is faster but is less accurate Example Useage pfset Geom domain RelPerm NumSamplePoints 20000 int Geom geom_name RelPerm MinPressureHead no default This key specifies the lower value for a spline base interpolation table for the Van Genuchten function specified on geom_name The upper value of the range is 0 This value is used only when the table lookup method is used NumSamplePoints is greater than 0 Example Useage pfset Geom domain RelPerm MinPressureHead 300 double Geom geom_name RelPerm A no default This key specifies the A parameter for the Haverkamp relative permeability on geom_name Example Useage p set Geom domain RelPerm A 1 0 double Geom geom name RelPerm Gamma no default This key specifies the the y parameter for the Haverkamp relative permeability on geom_name Example Useage p set 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 108 CHAPTER 6 PARFLOW FILES 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
146. ll be specified by the user The value Recirc indicates that this is 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 remainder 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 wellname Action no default This key specifies the pumping action of the well This key can be either Injection or Extraction 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 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
147. 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 p mdiff 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 64 CHAPTER 4 MANIPULATING DATA PFTOOLS 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 pfmovingaveragedem dem wsize maxiter This command fills sinks in the digital elevation model dem by a standard iterative moving average routine Sinks are identified as cells with zero slope in both x and y direc
148. lues provided in datasets slope_x and slope_y respectively Contributing area is computed recursively for each cell areas are not weighted by slope direction Areas are returned as the number of upstream contributing cells to compute actual area simply multiply by the cell area dx dy 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 data set represented by the identifier phead The identifier of the data set created by this operation is returned upon successful completion pfwatertabledepth top saturation This command computes the water table depth distance from top to first cell with saturation 1 The identifier of the data set created by this operation is returned upon successful completion pfwritedb runname This command writes the settings of parflow run to a pfidb database that can be used to run the model at a later time In general this command is used in lieu of the pfrun command 4 3 COMMON EXAMPLES USING PARFLOW TCL COMMANDS PFTCL 69 4 3 Common examples using PARFLow TCL commands PF TCL
149. ly and later gravity both 3 6 ANNOTATED INPUT SCRIPTS 29 to 1 0 Again this is merely a trick to solve for hydraulic conductivity and pressure 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 embed 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 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 Z and T units of hydraulic conductivity the code would be calculating permeability Instead we normalize so that the code calculates hydraulic conductivity This basic time unit of 1 0 is used for transient boundary and well conditions We are not using those features in this example pfset TimingInfo BaseUnit 1 0 30 CHAPTER 3 THE PARFLOW SYSTEM Cape Cod is a steady state problem so these timing features are again unused but need to be included pfset TimingInfo StartCount 1 pfset TimingInfo StartTime 0
150. m domain ICPressure FileName press 00090 pfb pfset Geom domain ICPressure RefGeom domain pfset Geom domain ICPressure RefPatch z upper 6 1 25 Boundary 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 associated with domain patches see 6 1 7 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 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 ConstantWTHeight and PLinearWTHeight The choice DirConstant specifies that the saturation is constant on the whole patch The choice ConstantWTHeight specifies a constant height of the water table on the whole patch The choice PLinearWTHeight specifies that the height of the water table on the patch will be given by a piecewise li
151. me values All time should be expressed as a multiple of this value This should be set to the smallest interval of time to be used in the problem For example a base unit of 1 means that all times will be integer valued A base unit of 0 5 would allow integers and fractions of 0 5 to be used for time input values The rationale behind this restriction is to allow time to be discretized on some interval to enable integer arithmetic to be used when computing comparing times This avoids the problems associated with real value comparisons which can lead to events occurring at different timesteps on different architectures or compilers This values is also used when 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 TimingInfo 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 O are intended to mean restart from some previous checkpoint time step but this has not
152. mentioned in the description of pfstats will be displayed along with a label pfreload dataset This argument reloads a dataset Only one arguments is required the name of the dataset to reload pfreloadall This command reloads all of the current datasets pfsattrans mask perm Compute saturated transmissivity for all i j as the sum of the permeability i j k dz within a column i j Currently this routine uses dz from the input permeability so the dz in permeability must be correct Also it is assumed that dz is constant so this command is not compatible with variable dz pfsave dataset filetype filename This 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 e pfb ParFlow binary format e sa ParFlow simple ASCII format e sb ParFlow simple binary format e silo Silo binary format e vis Vizamrai binary format 66 CHAPTER 4 MANIPULATING DATA PFTOOLS 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 signific
153. mma 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 p set 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 Useage p set Geom domain Saturation FileName domain_sats pfb 6 1 23 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 6 1 MAIN INPUT FILE TCL 113 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 ass
154. mple Useage pfset Geom domain Perm FileName domain_perm pfb 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 p set 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 p set 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 p set Geom domain Perm TensorValX 1 0 double Geom geometry name Perm TensorValY no default This key specifies the value of k for the geometry given by geom_name Example Useage p set 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 6 1 MAIN INPUT FILE TCL 99 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 su
155. mulation for a single phase i 1 fully saturated S S 1 problem where the mobility A is set to the saturated hydraulic conductivity K below This is accomplished by setting the relative permeability and viscosity terms to unity in 5 19 as well as the gravity and density terms in 5 18 This is shown in the example in 3 6 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 5 2 Richards Equation The form of Richards equation implemented in PARFLOW is given as Op 0 S p p p H at at S p Ss V K p e p Vp p p 3 Q in Q 5 3 73 74 CHAPTER 5 MODEL EQUATIONS where Q is the flow domain p is the pressure head of water L S is the water saturation S is the specific storage coefficient L7 is the porosity of the medium K p is the hydraulic conductivity tensor LT7 and Q is the water source sink term L T includes wells and surface fluxes The hydraulic conductivity can be written as kk p Kip 64 u Boundary conditions can be stated as Pp Ppp on p 5 5 K p Vp n gn onI 5 6 where T UTN 00 T Q and n is an outward pointing unit normal vector to 2 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 eff
156. n 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 Kajci 5 30 78 CHAPTER 5 MODEL EQUATIONS Table 5 3 Notation and units for reformulated flow equations symbol quantity units V Darcy velocity vector ET 5 Ki hydraulic conductivity tensor LTY hi pressure head L y constant scale factor MEAT g gravity vector LT where Kq is the distribution coefficient of the component L M 7 If 5 30 is substituted into 5 29 the following equation results which is the current model used in PARFLOW cid V agt 9 1 psKa nI NE 1 9 peKas rje 3 Dm xor a3 y Soe Xara 5 31 k k 5 7 Notation and Units In this section we discuss other common formulations of the flow and transport equations and how they relate to the equations solved by PARFLOW We can rewrite equation 5 18 as V Ki Vh a g 0 5 32 y where hi pi P 7 5 34 Table 5 3 defines the symbols and their units We can then rewrite equations 5 26 and 5 27 as ry Dyk vio hio 25 i a 0 5 35 Y a Ki gt
157. n successful completion since data set y is overwritten pfbfcvel conductivity phead This command computes the block face centered flow velocity at every grid cell Conductivity and pressure head data sets are given as arguments The output includes x y and z velocity components that are appended to the Tcl result pfbuilddomain database This command builds a subgrid array given a ParFlow database that contains the domain parameters and the processor topology pfcelldiff datasetx datasety mask This command computes cell wise differences of two datasets diff datasetx datasety This is the difference at each individual cell not over the domain Datasets must have the same dimensions pfcelldiffconst dataset constant mask This command subtracts a constant value from each active cell of dataset dif dataset constant pfcelldiv datasetx datasety mask This command computes the cell wise quotient of datasetx and datasety div datasetx datasety This is the quotient at each individual cell Datasets must have the same dimensions pfcelldivconst dataset constant mask This command divides each active cell of dataset by a constant div dataset constant pfcellmult datasetx datasety mask This command computes the cell wise product of datasetx and datasety mult datasetx datasety This is the product at each individual cell Datasets must have the same dimensions pfcellmultconst dataset constant mask This command multiplies each acti
158. n the previous sentence 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 Secondary Sections and contain no material copied from the 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 Invariant Secti
159. nal 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 require ment section 4 to Preserve its Title section 1 will typically require changing the actual title 154 CHAPTER 7 GNU FREE DOCUMENTATION LICENSE 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 means prior to 60 days after the cessation Moreover your license from a particular copyright holder is reinstated permanently if the copyright holder notifies y
160. nd S describes the content of phase 1 in the porous medium where we have that 0 lt 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 U by the following V 68 0 5 21 To complete the formulation we have the following np consititutive relations Ny 5 1 5 22 Pio pio So i 1 np 1 5 23 where pij pi pj is the capillary pressure between phase i and phase j We now have the 3n equations 5 17 5 18 5 22 and 5 23 in the 3np unknowns S V and p 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 Som 5 24 Vr NV 5 25 After doing a bunch of algebra we get the following equation for po DU V Ai V Po pio pid Qi 0 5 26 After doing some more algebra we get the following np 1 equations for S VE NG p My a Si Bil ae gt i Pj gt i Qi 0 2 90951 V lo 2 ei pi 2y e Vpj Q 0 5 27 5 6 TRANSPORT EQUATIONS 77 Table 5 2 Notation and units for transport equation symbol quantity units e z porosity Ci 2 t concentration fraction Vi 2 t Darcy velocity vector ET
161. nd list them all as 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 Acknowledgements 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 rules 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
162. near DerivativeEpsilon le 8 string Solver Nonlinear Globalization LineSearch j This key specifies the type of global strategy to use Possible choices for this key are InexactNewton and LineSearch The choice InexactNewton specifies no global strategy and the choice LineSearch 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 relaxations 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 p set 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 the Jacobian will be used as the preconditioning matrix The choice Nonsymme
163. near function Note the types ConstantWTHeight and PLinearWTHeight assume we are running a 2 phase problem where phase 0 is the water phase Example Useage p set 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 Constant W THeight is selected Example Useage p set 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 PLinear WT Height boundary 118 CHAPTER 6 PARFLOW FILES conditions are specified Example Useage pfset Patch left BCSaturation water XLower 10 0 double Patch patch_name BCSaturation phase_name YLower no default This key specifies the lower y coordinate of a line in the xy plane if type PLinearW T Height boundary conditions are specified Example Useage p set 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 PLinearW T Height boundary conditions are specified Example Useage p set Patch left BCSaturation water XUpper 125 0 double Patch patch_name BCSaturation phase_name YUpper no default This key specifies the upper y coordinate of a line in the xy plane if t
164. newlabel 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 identifier hhead An identifier for the pressure head is returned upon successful completion pfpitfilldem dem dpit maxiter This command fills sinks in the digital elevation model dem by a standard iterative pit filling routine Sinks are identified as cells with zero slope in both x and y directions or as local minima in elevation i e all adjacent neighbors have higher elevations At each iteration the value dpit is added to all remaining sinks The procedure continues iteratively until all sinks are filled or the number of iterations reaches maxiter For most applications sinks should be filled prior to computing slopes i e prior to executing pfslopex and pfslopey 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
165. nfigure 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 Though we will cover some basic guidelines for the installation of PARFLOW here many tips and tricks for building PARFLOW on a range of systems may be found at the PARFLOW blog http parflow blogspot com For greater portability the PARFLOW build process separates configuration and compilation of the simulator and associated tools This separation 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 Many versions of C and Fortran are compatible with PARFLOW e g Intel or IBM However GCC and gFortran available for free on almost every platform are good options They 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 7 8 CHAPTER 2 GETTING STARTED http www tcl tk These three packages are often pre installed on most computers and generally do not need to be installed by
166. nfigure script Some common options are compiling CLM as in 41 29 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 Common options are e to include the CLM module with clm e to include the SILO library which provides greater file output formats that are compat ible with the Vis t rendering package and must first be compiled separately see below with silo SILO_DIR e to include the Hypre library which provides greater solver flexibility and options and also needs to be downloaded and built separately with hypre HYPRE_DIR e to write a single undistributed PARFLOW binary file with amps sequential io e to write timing information in the log file enable timing All these options combined in the configure line would look like cd PARFLOW_DIR cd pfsimulator configure prefix PARFLOW_DIR with amps mpil with clm enable timing with silo SILO_DIR with hypre HYPRE_DIR with amps sequential io make make install pftools needs to be compiled and built with compatible options that correspond to PARFLOW For the options above pftools would be built as follows 2 1 INSTALLING PARFLOW 11 cd PARFLOW_DIR cd pftools configure prefix PARFLOW_DIR with amps mpil with silo SILO_DIR with amps sequential io make make install make doc_inst
167. ng 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 6 1 MAIN INPUT FILE TCL 97 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 neighborhood 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 Lo
168. nonlinear convergence tolerance settings The linear system will be solved to a norm of 107 and the nonlinear system will be solved to less than 107 Of note in latter key block is the EtaChoice and that we use the analytical Jacobian UseJacobian True We are using the FullJacobian preconditioner which is a more robust approach but is more expensive p set Solver Maxlter 25000 p set Solver Drop 1E 20 p set Solver AbsTol 1E 8 52 CHAPTER 3 THE PARFLOW SYSTEM pfset Solver MaxConvergenceFailures 8 pfset Solver Nonlinear MaxIter 80 pfset Solver Nonlinear ResidualTol le 6 p set Solver Nonlinear EtaChoice EtaConstant p set Solver Nonlinear EtaValue 0 001 p set Solver Nonlinear UseJacobian True p set Solver Nonlinear DerivativeEpsilon le 16 p set Solver Nonlinear StepTol 1e 30 p set Solver Nonlinear Globalization LineSearch p set Solver Linear KrylovDimension 70 p set Solver Linear MaxRestarts 2 p set Solver Linear Preconditioner PFMG p set Solver Linear Preconditioner PCMatrixType FullJacobian This key is just for testing the Richards formulation so we are not using it p set KnownSolution NoKnownSolution Next we distribute all the inputs as described by the keys in 4 2 Note the slopes are 2D files while the rest of the PARFLOW inputs are 3D so we need to alter the NZ accordingly following example 4 in 4 3 SSeS Sees See A ee ee Se ee ee See ee See ee ee SSS eS eee ee SS eS A Distribute inputs
169. nownSolution no default This specifies the predefined function that will be used as the known solution Possible choices for this key are NoKnownSolution Constant X XPlusYPlusZ X3Y2PlusSinX YPlus1 X3Y4PlusX2PlusSinX Y Cos Y Plus XYZTPlusl and XYZTPlus1PermTensor Example Useage p set 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 YCosYPlusl p 2 2 sin xy cos y 1 XYZTPlusl p zyzt 1 XYZTPlusl p zyzt 1 double KnownSolution Value no default This key specifies the constant value of the known solution for type Constant known solutions Example Useage p set KnownSolution Value 1 0 Only for known solution test cases will information on the L norm of the pressure error be printed 122 CHAPTER 6 PARFLOW FILES 6 1 30 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 wi
170. nput text file stats4 txt This input script is fully detailed in 3 6 default_overland tcl An overland flow boundary condition test and example script based loosely on the V catchment problem in 28 There are options provided to expand this problem into other overland flow type transient boundary type problems included in the file as well LW_var_dz_spinup tcl An example that uses the Little Washita domain to demonstrate a steady state spinup initialization using P E forcing It also demonstrates the variable dz keys 22 CHAPTER 3 THE PARFLOW SYSTEM LW_var_dz tcl An example that uses the Little Washita domain to demonstrate surface flow network development It also uses the variable dz keys Evap_Trans_test tcl An example that modifies the default_overland tcl to demonstrate steady state external flux pfb files overland_flux tcl An example that modifies the default_overland tcl to demonstrate tran sient external flux pfb files clm clm tcl An example of how to use PARFLOW coupled to clm This directory also includes clm specific input Note this problem will only run if with clm flag is used during the configure and build process water_balance_x tcl and water_balance_y tcl An overland flow example script that uses the water balance routines integrated into pftools These two problems are based on simple overland flow conditions with slopes primarily in the x or y directions Note this problem only will run if the Silo fil
171. ntervals 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 p set Cycle Names constant onoff list Cycle cycle name Names no default This key is used to specify the named 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 p set Cycle onoff Names on off integer Cycle cycle_name intervalname 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 92 CHAPTER 6 PARFLOW FILES 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
172. o the grid cells in z Please note R should always be 1 if you are running with Solver Richards 23 unless youre running a totally saturated domain solver IMPES integer Process Topology P no default This assigns the process splits in the x direction Example Useage pfset Process Topology P 2 84 CHAPTER 6 PARFLOW FILES integer Process Topology Q no default This assigns the process splits in the y direction Example Useage pfset Process Topology Q 1 integer Process Topology P no default This assigns the process splits in the z direction Example Useage pfset Process Topology R 1 In addition you can assign the computing topology when you initiate your parflow script using tcl You must include the topology allocation when using tclsh and the parflow script Example Usage from Terminal tclsh default_single tcl 2 1 1 At the top of default_single tcl you must include the following set NP lindex argv 0 set NQ lindex argv 1 pfset Process Topology P NP pfset Process Topology Q NQ pfset Process Topology R 1 6 1 3 Computational Grid The computational grid is briefly described in 3 1 The computational grid keys set the bottom left corner of the domain to a specific point in space If using a pfsol file the bottom left corner location of the pfsol file must be the points designated in the computational grid The user can also assign the x y and z location to correspond to a specific coordinate system i e
173. of balances over the domain as follows Volsubsurface Y 1S 1 S YVATAYAz S Y 1 PATAYyAz 5 43 Q The surface storage is calculated over the upper surface boundary cells in the domain I as computed by the mask and contains based on Equation 5 9 This is again computed on a cell by cell basis with the result being an array of balances over the domain as follows Volsurface gt pAxAy 5 44 T For the overland flow outflow from the domain any cell at the top boundary that has a slope that points out of the domain and is ponded will remove water from the domain This is calculated for example in the 80 CHAPTER 5 MODEL EQUATIONS y direction as the multiple of Equation 5 12 and the area Js Js Qovertand vA Ey ae n 2 2p5 3 A q 5 45 n Chapter 6 ParFlow Files In this chapter we discuss the various file formats used in PARFLOW To help simplify the description 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 6 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 o
174. oking at the example programs in the test directory 3 5 and going through the annotated input scripts included in this manual 3 6 is one of the best ways to understand what a PARFLOW input file looks like 3 1 1 Basic Domain Definition ParFlow can handle complex geometries and defining the problem may involve several steps Users can specify simple box domains directly in the tcl script If a more complicated domain is required the user may convert geometries into the pfsol file format 6 5 using the appropriate PF TOOLS 15 16 CHAPTER 3 THE PARFLOW SYSTEM conversion utility 4 Alternatively the topography can be specified using pfb files of the slopes in the x and y directions Regardless of the approach the user must set the computational grid within the pfb script as follows S S555 a E SS Se Se Computational Grid SaaS SS a a SS SS SS Se A ee ee ee ee A A ee Se ee eS eS pfset ComputationalGrid Lower X 10 0 pfset ComputationalGrid Lower Y 10 0 pfset ComputationalGrid Lower Z 1 0 pfset ComputationalGrid DX 8 89 pfset ComputationalGrid DY 10 67 pfset ComputationalGrid DZ 1 0 pfset ComputationalGrid NX 18 pfset ComputationalGrid NY 15 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 sequence This can be done using either a double quote or braces pfset Geom domain Patches l
175. ommands along with detailed instructions for their use 4 2 provides several examples of pre and post processing using the tools In addition a list of tools can be obtained by typing pfhelp into a TCL shell after importing ParFlow Typing pfhelp followed by a command name will display a detailed description of the command in question 4 2 PFTCL Commands The tables that follow 4 1 4 2 and 4 3 provide a list of ParFlow commands with short descriptions grouped according to their function The last two columns in this table indicate what examples from 4 3 if any the command is used in and whether the command is compatible with a terrain following grid domain formulation 59 CHAPTER 4 MANIPULATING DATA PFTOOLS Table 4 1 List of PF TOOLS commands by function Name Short Description Examples Compatible with TFG pfhelp Get help for PF Tools X Mathematical Operations pfcellsum datasetx datasety X pfcelldiff datasetx datasety X pfcellmult datasetx datasety X pfcelldiv datasetx datasety X pfcellsumconst dataset constant X pfcelldiffconst dataset constant X pfcellmultconst dataset constant X pfcelldivconst dataset constant X pfsum Sum dataset 7 9 X pfdiffelt Element difference X pfprintdiff Print difference X pfmdiff Calculate area where the difference X between two datasets is less than a threshold pfprintmdiff Print the locations with differences X
176. on in CLM GMT Example Useage p set Solver CLM IrrigationStopTime 1200 double Solver CLM IrrigationThreshold 0 5 This key specifies the threshold value for the irrigation in CLM Example Useage pfset Solver CLM IrrigationThreshold 0 2 integer Solver CLM ReuseCount 1 How many times to reuse a CLM atmospheric forcing file input For example timestep 1 reuse 1 is normal behavior but reuse 2 and timestep 0 5 subdivides the time step using the same CLM input for both halves instead of needing two files This is particually useful for large distributed runs when the user wants to run PARFLOW at a smaller timestep than the CLM forcing Forcing files will be re used and total fluxes 6 2 PARFLOW BINARY FILES PFB 141 adjusted accordingly without needing duplicate files Example Useage pfset Solver CLM ReuseCount 5 string Solver CLM WriteLogs True When False this disables writing of the CLM output log files for each processor For example in the clm tcl test case if this flag is added False washita output txt p and washita para out dat p were p is the processor are not created assuming washita is the run name Example Useage pfset Solver CLM WriteLogs False string Solver CLM WriteLastRST False Controls whether CLM restart files are sequentially written or whether a single file restart file name 00000 p is overwritten each time the restart file is output where p is the processor number If True only one fil
177. ons 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 62 with the form Ssat Sres s p Sres 6 4 OS di where Ssat is the saturation at saturated conditions Sres is the residual saturation and 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 22 po a ed 6 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 points The Polynomial specification defines a polynomial saturation function for each region of the form degree s p Y ap 6 6 1 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 geometries must cover the entire computational domain Example Useage p set Phase Saturation Geonames domain double Geom geom_name Saturation Value no default This key specifies the constant
178. ons 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 153 5 COMBINING DOCUMENTS You may combine the Document with other documents released under this License under the terms defined in section 4 above for modified versions provided that you include in the combination all of the Invariant Sections of all of the original documents unmodified a
179. or 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 1 1 How to Use this Manual mmm a ee Boe ee ea 1 2 Published Studies That Have Used PARFLOW 2 Getting Started 2A Installing ParEloWw ami A a ae al oleae 211 External Libraries nas a ae Aw a look ha 2 2 Running the Sample Problem e 2 3 ParFlow Solvers 06 s a0 a Se ee AEA A 3 The ParFlow System 3 1 Defining the Problem 20 0 0 000 2 pee ee 3 1 1 Basic Domain Definition 2 0 0 020 000 0020 0004 3 1 2 Setting Up a Real Domain o 32 Rina Par Blow ue pas Gd ent e a a rata ache El det ye dea 3 3 REstarting a RUN slas au da a AA ww ES A a ap e
180. 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 well_name 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 6 1 MAIN INPUT FILE TCL 125 double Wells well_name interval_name Pressure Value no default This key specifies the hydrostatic pressure value for a vectical well if th
181. ou 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 Documentation 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 this 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 futur
182. ow_input LW slopey pfb file copy force parflow_input IndicatorFile_Gleeson 50z pfb file copy force parflow_input press init pfb CLM Inputs file copy force clm_input drv_clmin dat file copy force clm_input drv_vegp dat file copy force clm_input drv_vegm alluv dat puts Files Copied Next we set up the computational grid see 3 1 and 6 1 3 Locate the origin in the domain p set ComputationalGrid Lower X O p set ComputationalGrid Lower Y O p set ComputationalGrid Lower Z O ooo Define the size of the domain grid block Length units same as those on hydraulic conductivity p set ComputationalGrid DX 1000 0 p set ComputationalGrid DY 1000 0 p set ComputationalGrid DZ 2 0 Define the number of grid blocks in the domain p set ComputationalGrid NX 41 p set ComputationalGrid NY 41 p set ComputationalGrid NZ 50 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 Here we define two geometries one is the domain and one is for the indicator file which will also span the entire domain 3 6 ANNOTATED INPUT SCRIPTS 39 2 222 SS a eS Se a ee ee oS Se ee ee ee ea SS The Names of the GeomInputs a aia ae eh ee eS Se
183. positive value specifies a number of repeat cycles a value of 1 specifies that the cycle repeat for the entire simulation Example Useage p set Cycle onoff Repeat 1 Here is a detailed example of how time cycles might be used in a simualtion pfset Cycle Names constant rainrec pfset Cycle constant Names alltime pfset Cycle constant alltime Length 8760 pfset Cycle constant Repeat 1 Creating a rain and recession period for the rest of year pfset Cycle rainrec Names rain rec pfset Cycle rainrec rain Length 10 pfset Cycle rainrec rec Length 8750 pfset Cycle rainrec Repeat 1 6 1 7 Domain The domain may be represented by any of the solid types in 8 6 1 4 above that allow the definition of surface patches These surface patches are used to define boundary conditions in 6 1 24 and 6 1 25 below Subsequently it is required that the union or combination 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 Example Useage pfset Domain GeomName domain 6 1 8 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 6 1 MAIN I
184. pplied 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 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 6 1 12 Porosity Here porosity values are assigned within geounits specified in 6 1 4 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 de
185. processes within PARFLOW are used For this last set of columns TB Turning Bands TFG Terrain Following Grid VS Variably Saturated and Vdz Variable DZ 1 2 PUBLISHED STUDIES THAT HAVE USED PARFLOW 3 Table 1 1 List of PARFLOW references with application and process details Reference Coupled Application Scale Domain TB TFG VS Vdz Model 1 Ajami et al 2014 CLM Spin Up initial Watershed Ringkobing X conditions Fjord 9 Condon and Maxwell 2014 CLM Agriculture Watershed Little X X Washita OK 10 Condon and Maxwell 2014 CLM Agriculture Watershed Little X X Washita OK 11 Cui et al 2014 SLIM Model Column Idealized X X FAST Develop Hillslope ment nitrogen biogeochemistry 42 Maxwell et al 2014 Model Many Idealized X X Comparison 47 Meyerhoff et al 2014 Stochastic Hillslope Idealized X X runoff genera tion conditioning 48 Meyerhoff et al 2014 SLIM Karst Aquifer Transects X FAST Environments in Santa Fe River Watershed 51 Shrestha et al 2014 COSMO Model Watershed Idealized X X CLM Development Rur TerrSysMP catchment 4 Atchley et al 2013 SLIM Risk Aquifer Idealized X FAST Assessment CrunchFlow 5 Atchley et al 2013 SLIM Risk Aquifer Idealized X X FAST Assessment CrunchFlow 7 Condon and Maxwell 2013 CLM Agriculture Sub Little X X Watershed Washita OK 8 Condon et al 2013 CLM Subsurface Watershed Upper Kla X X X Heterogene math OR ity land sur
186. pth to allocate 2 Each layers thickness is dz dzScale and 3 Assign the layer thickness from the bottom up In this example nz 5 dz 10 total depth 40 Layers Thickness m 102 CHAPTER 6 PARFLOW FILES 0 15 Bottom layer 1 15 25 3 4 5 4 0 5 Top layer pfset Solver Nonlinear VariableDz True pfset dzScale GeomNames domain pfset dzScale Type nzList pfset dzScale nzListNumber 5 pfset Cell 0 dzScale Value p set Cell 1 dzScale Value pfset Cell 2 dzScale Value pfset Cell 3 dzScale Value pfset Cell 4 dzScale Value OOOrRF a Oo pp OOH a 6 1 15 Manning s Roughness Values Here Manning s roughness values n in Equations 5 11 and 5 12 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 geometry and PFBFile which indicates that all values are r
187. 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 precisely 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 151 You may copy and distribute the Document in any medium either commercially or noncommercially 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 whatsoever to those of this License You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute However you may accept compensation in
188. r 3 Build and install PARFLOW This step builds the PARFLOW library and executable that runs on a serial or 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 2 1 INSTALLING PARFLOW 9 This will build a parallel version of parflow using the MPI1 libraries but no other options a very basic installation with few features commonly used You can control build options for parflow in the configure step by adding other options to that command line For a list of all the configure options use configure help to list them Note that PARFLOW defaults to building a sequential version so with amps is needed when building for a parallel computer You can explicitly specify 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 envi ronments 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
189. re oe a 3 4 Visualizing Output ios ep a a OR Se ad A aA 3 5 Directory of Test Cases ne T a e E Ao eai E a N E N 3 6 Annotated Input Seripts ee 3 6 1 Harvey Flow Example e 3 6 2 Little Washita Example aoaaa aa eee eee eee 4 Manipulating Data PFTOOLS 4 1 Introduction to the PARFLOW TCL commands PFTCL 4 2 PETG Commands pda a aie abe ae eth ee de eS Qe HS 4 3 Common examples using PARFLOw TCL commands PFTCL 5 Model Equations 5 1 Steady State Saturated Groundwater Flow 000000 4 5 2 Richards Equation A ee Se ee A a ee a 5 3 Terr lo KollowineGrid ps Eee ae Bde beets are ae Be Aa OverlandsFlow ue ca a we Se ee eee lee ee bat eal ek at 11 12 12 15 15 15 16 19 20 21 21 22 23 37 55 59 59 69 CONTENTS 5 5 Multi Phase Flow Equations 0 0 0 000 eee ee 75 5 67 Transport Hquations eren 2 8 6 aa e A oy gl doe ted ele BARS 77 5 7 Notation and Units Vds as ee ee aoe ee a we a da Dira 78 08 Water Balance seso a ta age REM oe oe ts Pe awe de Pod Ne et As 79 ParFlow Files 81 Gal Mandale bel A AS A A A aa 82 6 1 1 Input File Format Number e o 83 6 1 2 Computing Topology 0 0000 2 ee ee eee 83 6 1 3 Computational Grid 2 2 2 2 000 020 2 ee eee 84 6 104 lt Geometries te A eae Ee i eo IN eS 86 6 1 5 Timing Information Aed sa 0 2 08 ee Eee ee a ee 89 6 1 6 Time Cycles
190. rence Coupled Application Scale Domain TB TFG VS Vdz Model 46 Meyerhoff and Maxwell 2011 Subsurface Hillslope Idealized X X Hetero geneity runoff generation 66 Williams and Maxwell 2011 WRF Atmosphere Watershed Idealized X X 17 Ferguson and Maxwell 2010 CLM Agriculture Watershed Little X Washita OK 31 Kollet et al 2010 CLM Computational Hillslope Idealized X X Scaling 33 Maxwell 2010 CLM Subsurface Hillslope Rainer X X Heterogeneity Mesa infiltration Nevada Test Site 50 Rihani et al 2010 CLM Subsurface Hillslope Idealized X Heterogene ity land en ergy fluxes 55 Sulis et al 2010 Model Hillslope Idealized X Comparison CATHY 21 Frei et al 2009 Groundwater Catchment Consumnes X X Surface water River exchange 27 Kollet et al 2009 CLM Heat Transport Column Wagineng X ParFlowE NL 26 Kollet 2009 CLM Subsurface Column Idealized X X Heterogeneity Hillslope evapotranspiration CHAPTER 1 INTRODUCTION Table 1 4 List of PARFLOW references with application and process details cont Reference Coupled Application Scale Domain TB TFG VS Vdz Model 43 Maxwell et al 2009 SLIM Subsurface Hillslope Nevada X Transport Test Site 30 Kollet and Maxwell 2008 SLIM Residence Watershed Little X FAST Time Washita Distributions OK 29 Kollet and Maxwell 2008 CLM Subsurface Watershed Little X Heterogene Washita ity land en OK ergy
191. rgence failure Example Useage pfset Solver Nonlinear MaxIter 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 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 integer Solver MaxConvergencFailures 3 This key gives the maximum number of convergence failures allowed Each convergence failure cuts the timestep in half and the solver tries to advance the solution with the reduced timestep The default value is 3 Note that setting this value to a value greater than 9 may result in errors in how time cycles are calculated Time is discretized in terms of the base time unit and if the solver begins to take very small 132 CHAPTER 6 PARFLOW FILES timesteps smallerthanbasetimeunit1000 the values based on time cycles will be change at slightly incorrect times If the problem is failing converge so poorly that a large number of restarts
192. rintlist Print list of datasets and their labels X pfnewlabel Change dataset label X pfnewdata Create new dataset X pfprintgrid Print grid X pfnewgrid Set grid for new dataset X pfdelete Delete dataset X pfreload Reload dataset X pfreloadall Reload all current datasets X pfprintdata Print all elements of a dataset X pfprintelt Print a single element X 57 58 CHAPTER 4 MANIPULATING DATA PFTOOLS Table 4 3 List of PF TOOLS commands by function cont Name Short Description Examples Compatible with TFG File Operations pfload Load file All X pfloadsds Load Scientific Data Set from HDF file X pfdist Distribute files based on processor 4 X topology pfdistondomain Distribute files based on domain X pfundist Undistribute files X pfsave Save dataset 1 2 5 6 X pfsavesds Save dataset in an HDF format X pfwritedb Write the settings for a PF run to a X database 4 2 PFTCL COMMANDS 59 Detailed descriptions of every command are included below in alphabetical order Note that the required inputs are listed following each command Commands that perform operations on data sets will require an identifier for each data set it takes as input Inputs listed in square brackets are optional and do not need to be provided pfaxpy alpha x y This command computes y alpha x y where alpha is a scalar and x and y are identifiers representing data sets No data set identifier is returned upo
193. rs 2 4 4 24 4 ha ke eM ee we Se Rew Sw 126 6 1 32 SILOtOptions yin g ede A ee A a eae a a 130 6 1 33 Richards Equation Solver Parameters 000 eee eee 131 6 1 34 Spin p Options sa sues Sane See Boe oped bee BB eee ee Ee 134 6 1 35 CLM Solver Parameters 0 0 00000 ee ee eee 135 CONTENTS 6 2 ParFlow Binary Files pfb osea 6 3 ParFlow CLM Single Output Binary Files c pfb 6 4 ParFlow Scattered Binary Files pfsb 6 5 ParFlow Solid Files pfsol 5 2 6 pa Bie we elas 6 6 ParFlow Well Output File wells 6 7 ParFlow Simple ASCII and Simple Binary Files sa and 7 GNU Free Documentation License GNU Free Documentation License APPLICABILITY AND DEFINITIONS VERBATIM COPYING 0004 COPYING IN QUANTITY MODIFICATIONS 0 0 0 2000 4 COMBINING DOCUMENTS COLLECTIONS OF DOCUMENTS AGGREGATION WITH INDEPENDENT WORKS TRANSLATION cui Bp eb eae he dl eu 9 TERMINATION e 10 FUTURE REVISIONS OF THIS LICENSE 11 RELICENSING ADRIANA iii CONTENTS Chapter 1 Introduction PARFLOw PARallel FLOW is an integrated hydrology model that simulates surface and sub surface flow PARFLOW 2 23 28 34 is a parallel simulation platform that operates in three modes 1 steady state saturated 2 variably saturated 3 and inte
194. s 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 O corresponds to the lower end of the line and 1 corresponds to the upper end Example Useage p set Patch top BCPressure alltime 0 Location 0 0 116 CHAPTER 6 PARFLOW FILES 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 DirEquilPLinear boundary conditions All pressure values on the patch are determined by first projecting the boundary condition coordinate onto the line then linearly interpolating between the neighboring point pressure values on the line Example Useage p set 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 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 def
195. s but they indicate the 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 6 1 1 Input File Format Number integer FileVersion no default 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 6 1 2 Computing Topology This section describes how processors are assigned in order to solve the domain in parallel P allocates the number of processes to the grid cells in x Q allocates the number of processes to the grid cells in y R allocates the number of processes t
196. s limited between zero and one and also that CLM must be compiled and linked at runtime for this option to be active Example Useage p set Solver CLM EvapBeta Linear double Solver CLM ResSat 0 1 This key specifies the residual saturation for the P function in CLM specified above Note that CLM must be compiled and linked at runtime for this option to be active Example Useage p set Solver CLM ResSat 0 15 string Solver CLM VegWaterStress Saturation This key specifies the form of the plant water stress function 6 parameter in CLM The valid types for this key are None Saturation Pressure None No transpiration water stress formulation 6 1 Sn _ S bSwp Saturation 6 bd R PP we Pressure Bt Pio Pup Note that the wilting point Swp Or Pwp is specified by the key Solver CLM WiltingPoint below that the field capacity Sfe Or pfc is specified by the key Solver CLM FieldCapacity below that 6 is limited between zero and one and also that CLM must be compiled and linked at runtime for this option to be active Example Useage pfset Solver CLM VegWaterStress Pressure double Solver CLM WiltingPoint 0 1 This key specifies the wilting point for the 6 function in CLM specified above Note that the units for this function are pressure m for a Pressure formulation and saturation for a Saturation formulation Note that CLM must be compiled and linked at runtime for this option to be active Example Useage
197. 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 pfset Perm Conditioning FileName well_cond txt The file that contains the conditioning data is a simple ascii file containing points and values The format is nlines x y1 zi 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 zi 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 does not do this 6 1 MAIN INPUT FILE TCL 95 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 NOTE The given values should be the actual measured values adjustment in the conditioning for the lognormal distribution that is
198. set and must have the correct grid information dx dy nx and ny are used in parameter estimation and Flint s Law calculations If gridded elevation values are read in from a text file e g using pfload s simple ascii format grid information must be specified using the pfsetgrid command pfflux conductivity hhead This command computes the net Darcy flux at vertices for the conductivity data set conductivity and the hydraulic head data set given by hhead An identifier representing the flux computed will be returned upon successful completion pfgetelt dataset ijk 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 pfgetlist dataset This command returns the name and description of
199. slope in the x direction slope in the y direction and elevation pfenlargebox dataset sx sy sz This command returns a new dataset which is enlarged to be of the new size indicated by sx sy and sz Expansion is done first in the z plane then y plane and x plane pfextract2Ddomain domain This command builds a 2D domain based off a 3D domain This can be used for a pfdistondomain command for Parflow 2D data such as slopes and soil indices pfextracttop top data This command computes the top of the domain based on the top of the domain and another dataset The identifier of the data set created by this operation is returned upon successful completion pffillflats dem This command finds the flat regions in the DEM and eliminates them by bilinearly interpolating elevations across flat region pfflintslaw dem c p This command smooths the digital elevation model dem according to Flints Law with Flints Law parameters specified by c and p respectively Flints Law relates the slope magnitude at a given cell to its upstream contributing area S c A p In this routine elevations at local minima retain the same value as in the original dem Elevations at all other cells are computed by applying Flints Law recursively up each drainage path starting at its terminus a local minimum until a drainage divide is reached Elevations are computed as dem i j dem child c A i j p ds i j where child is the D8 child of i j i e t
200. soil_grnd for ground heat flux qf1x_evap_veg for vegetation evaporation ef1x_sh_tot for sensible heat flux ef1x_1h_tot for latent heat flux qf1x_evap_tot for total evaporation t_grnd for ground surface temperature qf1x_evap_soi for soil evaporation qf1x_tran_veg for vegetation transpiration ef1x_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 6 1 MAIN INPUT FILE TCL 139 integer Solver CLM CLMDumplnterval 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 string Solver CLM EvapBeta Linear This key specifies the form of the bare soil evaporation 6 parameter in CLM The valid types for this key are None Linear Cosine None No beta formulation 8 1 Linear 6 a Cosine 6 5 1 cos Em Note that Spes is specified by the key Solver CLM ResSat below that 8 i
201. stant specifies that the initial pressure will be constant over the regions given The choice 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 120 CHAPTER 6 PARFLOW FILES 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 V
202. stant will apply constants values to different geometries The choice PFBFile will read values from a ParFlow Binary file see 6 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 6 1 MAIN INPUT FILE TCL 121 Note that geometries listed later overlay geometries listed earlier Example Useage 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 6 1 29 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 K
203. t have values assigned oS Ss Se ee es a et ee et EEEE ee ee Se See et ee eee Relative Permeability i SS Sa a SS AAA A A eS ee pfset Phase RelPerm Type VanGenuchten pfset Phase RelPerm GeomNames domain s1 s2 s3 s4 sb s6 s7 s8 s9 pfset Geom domain RelPerm Alpha 3 5 pfset Geom domain RelPerm N 2 0 pfset Geom s1 RelPerm Alpha 3 548 pfset Geom s1 RelPerm N 4 162 pfset Geom s2 RelPerm Alpha 3 467 pfset Geom s2 RelPerm N 2 738 pfset Geom s3 RelPerm Alpha 2 692 pfset Geom s3 RelPerm N 2 445 pfset Geom s4 RelPerm Alpha 0 501 pfset Geom s4 RelPerm N 2 659 pfset Geom s5 RelPerm Alpha 0 661 pfset Geom s5 RelPerm N 2 659 pfset Geom s6 RelPerm Alpha 1 122 pfset Geom s6 RelPerm N 2 479 pfset Geom s7 RelPerm Alpha 2 089 pfset Geom s7 RelPerm N 2 318 pfset Geom s8 RelPerm Alpha 0 832 pfset Geom s8 RelPerm N 2 514 48 CHAPTER 3 THE PARFLOW SYSTEM pfset Geom s9 RelPerm Alpha 1 585 pfset Geom s9 RelPerm N 2 413 Next we do the same thing for saturation 6 1 22 again using the VanGenuchten parameters Note that every geometry listed in Porosity GeomNames must have values assigned SSS SS Se Se eS ee a ee a ee a 5222 a a Sa ee ee ee eee eee Saturation SSS oe 222222222 222222 a ta a a SS SS Se 2er 22 2 SS SS 2 Se eS Se SSS eS pfset Phase Saturation Type VanGenuchten pfset Phase Saturation GeomNames domain s1 s2 s3 s4 sb s6 s7 s8 s9 pfset Geom domain Saturation Alpha 3 5 pfset Geom domain Saturation N 2
204. ta 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 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 wellname 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 double Wells well_name 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 well name 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 wellname ZLower no default This key specifies the z location of the lower extent of a vectical wel
205. tant pfset TimeStep Value 1 0 Next we assign the porosity see 6 1 12 As with the permeability we assign different values for different indicator geometries Here we assign values for all of our soil units but not for the geologic units they will default to the domain value of 0 4 Note that every geometry listed in Porosity GeomNames must have values assigned pfset Geom pfset Geom pfset Geom pfset Geom pfset Geom pfset Geom si si s2 s2 s3 s3 sl sl sb sb s6 s6 s7 s7 s8 s8 s9 s9 Porosity Porosity Porosity Porosity Porosity Porosity Porosity Porosity Porosity Porosity Porosity Porosity Porosity Porosity Porosity Porosity Porosity Porosity Porosity GeomNames domain Porosity Type domain Porosity Value Type Value Type Value Type Value Type Value Type Value Type Value Type Value Type Value Type Value Constant 0 375 Constant 0 39 Constant 0 387 Constant 0 439 Constant 0 489 Constant 0 399 Constant 0 384 CHAPTER 3 THE PARFLOW SYSTEM domain s1 s2 s3 s4 s5 s6 s7 s8 s9 Constant 0 4 Constant 0 482 Constant 0 442 Having defined the geometry of our problem before and named it domain we are now ready to report upload that problem which we do here pfset Domain GeomName domain Mobility between phases is set to 1 0 be
206. ted 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 format whose specification is available to the general public that is suitable for revising the document straightforwardly with generic text editors or for images composed of pixels generic paint programs or for drawings some widely available drawing editor and that is su
207. tep no default This key specifies the initial time step dto if the Growth type time step is selected Example Useage p set 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 p set 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 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 6 1 MAIN INPUT FILE TCL 91 Example Useage pfset TimeStep MinStep 1 0e 3 Here is a detailed example of how timing keys might be used in a simualtion Setup timing info hr 8760 hours in a year Dumping files every 24 hours Hourly timestep pfset TimingInfo BaseUnit 1 0 pfset TimingInfo StartCount 0 pfset TimingInfo StartTime 0 0 pfset TimingInfo StopTime 8760 0 pfset TimingInfo DumpInterval 24 Timing constant example pfset TimeStep Type Constant pfset TimeStep Value 1 0 Timing growth example pfset TimeStep Type Growth pfset TimeStep InitialStep 0 0001 TimeStep GrowthFactor 1 4 TimeStep MaxStep 1 0 TimeStep MinStep 0 0001 6 1 6 Time Cycles The data given in the time cycle section describe how time i
208. ter data assimilation technique in a fully coupled hydrologic and atmospheric model Journal of Advances in Modeling Earth Systems 5 785 800 doi 10 1002 jame 20051 Endianness Wikipedia Entry http en wikipedia org wiki Endianness
209. 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 152 CHAPTER 7 GNU FREE DOCUMENTATION LICENSE 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 permission 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 title year authors and publisher of the Document as given on its Title Page then add an item describing the Modified Version as stated i
210. the number of grid blocks in the domain p set ComputationalGrid NX 50 p set ComputationalGrid NY 30 p set ComputationalGrid NZ 100 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 p set GeomInput Names domain_input upper_aquifer_input lower_aquifer_input 3 6 ANNOTATED INPUT SCRIPTS 25 Now you characterize your domain that you just pre declared to be a box see 6 1 4 and you also give it a name domain p set 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 key 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
211. 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 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 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 arch1 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 or much more commonly the svn repository This example assumes the parflow tar Z file is in your home directory and you are building it in a directory parflow mkdir parflow cd parflow gunzip parflow tar Z tar xvf parflow ta
212. tion qf1x_evap_soi for soil evaporation mm s using the silo variable EvaporationGround qflx_evap_veg for vegetation evaporation mm s using the silo variable EvaporationCanopy qflx_tran_veg for vegetation transpiration mm s using the silo variable Transpiration qf1x_inf1 for soil infiltration mm s using the silo variable Infiltration swe_out for snow water equivalent mm using the silo variable SWE 138 CHAPTER 6 PARFLOW FILES t_grnd for ground surface temperature K using the silo variable TemperatureGround and t_soil for soil temperature over all layers K using the silo variable TemperatureSoil string Solver WriteCLMBinary True This key specifies whether the CLM writes two dimensional binary output files in a generic binary format Note that CLM must be compiled and linked at runtime for this option to be active Example Useage pfset Solver WriteCLMBinary False string Solver CLM BinaryOutDir True This key specifies whether the CLM writes each set of two dimensional binary output files to a correspond ing 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 p set Solver CLM BinaryOutDir True These directories are qf1x_top_soil for soil flux qf1x_inf1 for infiltration qf1x_evap_grnd for ground evaporation ef1x_
213. tion 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 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 Dumplnterval time Example Useage p set 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 section This data may be read in by VisIT and other visualization packages Example Useage pfset Solv
214. tion described in 6 1 31 or a conversion option using pftools Many other output conversion options exist as described in 4 and this allows PARFLOW output to be converted into formats used by almost all visualization software 3 5 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 These files sit in the test directory described earlier This section gives a brief description of the problems in this directory crater2D tcl An example of a two dimensional variably saturated crater infiltration problem 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 test script forsyth2 tcl An example two dimensional variably saturated infiltration problem with layers of different hydraulic properties It runs problem 2 in 20 and uses the solid file fors2_hf pfsol harvey flow tcl An example from 44 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 i
215. tions or as local minima in elevation i e all adjacent cells have higher elevations At each iteration a moving average is taken over a window of width wsize around each remaining sink sinks are thus filled by averaging over neighboring cells The procedure continues iteratively until all sinks are filled or the number of iterations reaches maxiter For most applications sinks should be filled prior to computing slopes i e prior to executing pfslopex and pfslopey 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 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 pfnewgrid nx ny nz x y z dx dy dz label Create a new data set whose grid is described by passing three lists and a label as arguments The first list will be the number of coordinates in the x y and z directions The second list will describe the origin The third contains the intervals between coordinates along each axis The identifier of the data set created by this operation is returned upon successful completion pf
216. tistical param eters useful for a Monte Carlo simulation This example is the basis for several fully saturated PARFLOW applications 53 54 52 4 5 11 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 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 lappend auto_path env PARFLOW_DIR bin package require parflow namespace import Parflow pfset FileVersion 4 24 CHAPTER 3 THE PARFLOW SYSTEM These next lines set the parallel process topology The domain is divided in z y and z by P Q and R The total number of processors is P Q R see 6 1 2 pfset Process Topology P 1 pfset Process Topology Q 1 pfset Process Topology R 1 Next we set up the computational grid see 3 1 and 6 1 3 Locate the origin in the domain p set ComputationalGrid Lower X O p set ComputationalGrid Lower Y O p set ComputationalGrid Lower Z O ooo 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
217. tle Washita Example This tutorial matches the LW_Test tcl file found in the test washita tcl_scripts directory and corresponds to 9 10 This script runs the Little Washita domain for three days using PARFLOW CLM with 3D forcings The domain is setup using terrain following grid 5 3 and subsurface geologes are specified using a pfb indicator file Input files were generated using the workflow detailed in 3 1 2 Now for the tel 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 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 z y and z by P Q and R The total number of processors is P Qx R see 6 1 2 A ea Sh A A A Se ee ee Se Se ee Process Topology Sao SS A ee Se eS ee eS eS Se SS SS a e a S e pfset Process Topology P 1 pfset Process Topology Q 1 pfset Process Topology R 1 Before we really get started make a directory for our outputs and copy all of the required input files into the run directory These files will be described in detail later as they get used exec mkdir Outputs cd Outputs 38 CHAPTER 3 THE PARFLOW SYSTEM ParFlow Inputs file copy force parflow_input LW slopex pfb file copy force parfl
218. 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 fileldl close fileId Now we set the heterogeneous parameters for the Upper and Lower aquifers see 6 1 11 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 pfset Geom upper_aquifer Perm RZeta 5 0 p set Geom upper_aquifer Perm KMax 100 0 p set Geom upper_aquifer Perm DelK 0 2 p set Geom upper_aquifer Perm Seed 33333 p set Geom upper_aquifer Perm LogNormal Log p set Geom upper_aquifer Perm StratType Bottom p set Geom lower_aquifer Perm Type TurnBands p set Geom lower_aquifer Perm LambdaX 3 60 pfset Geom lower_aquifer Perm LambdaY 3 60 pfset Geom lower_aquifer Perm LambdaZ 0 19 28 CHAPTER 3 THE PARFLOW SYSTEM pfset Geom lower_aquifer Perm GeomMean 77 0 p set Geom lower_aquifer Perm
219. tric 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 p set Solver Linear Preconditioner SymmetricMat Symmetric integer 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 MaxIter 2 integer Solver Linear Preconditioner SMG NumPreRelax 1 This key specifies the number of relaxations to take before coarsening in the specified preconditioner 134 CHAPTER 6 PARFLOW FILES 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 preconditioner method Note that this key is only relevant to the SMG multigrid preconditioner Example Useage p set Solver Linear Preconditioner SMG NumPostRelax 0 logical Solver EvapTransFile False This key specifies specifies that the Flux terms for Richards equation are read in from a pfb file This file has T71 units Example Useage pfset Solver EvapTransFile True logical Solver EvapTransFileTransient False This key specifies specifies that the Flux terms for Rich
220. typically very small lt 10 The water balance takes the form A V ol subsurface Volsur face At 7 Qoverland Qevapotranspiration Zh Qsourcesink 5 42 where Volsubsurface is the subsurface storage 19 Volsurface is the surface storage L Qoverlana is the overland flux L T Qevapotranspiration is the evapotranspiration flux passed from clm or other LSM etc L3T 3 and Qsourcesink are any other source sink fluxes specified in the simulation L4T The surface and subsurface storage routines are calculated using the PARFLOW toolset commands pfsurfacestorage and pfsubsurfacestorage respectively Overland flow out of the domain is calculated by pfsurfacerunoff Details for the use of these commands are given in 4 2 and 4 3 Qevapotranspiration Must be written out by PARFLOW as a variable as shown in refCode Parameters and only contains the external fluxes passed from a module such as clm or WRF Note that these volume and flux quantities are calculated spatially over the domain and are returned as array values just like any other quantity in PARFLOw The tools command pfsum will sum these arrays into a single value for the enrite domain All other fluxes must be determined by the user The subsurface storage is calculated over all active cells in the domain Q and contains both compressible and incompressible parts based on Equation 5 3 This is computed on a cell by cell basis with the result being an array
221. u to add sources other than wells and boundaries but we do not have any so this key is constant 0 0 over entire domain H A A A eS SS SS SS SS Phase sources a a EEEE 2 pfset PhaseSources water Type Constant pfset PhaseSources water GeomNames domain pfset PhaseSources water Geom domain Value 0 0 In this example we are using PARFLOW CLM so we must provide some parameters for CLM 6 1 35 Note that CLM will also require some additional inputs outside of the tcl script Refer to washita clm_input for examples of the CLM vegm and driver files These inputs are also discussed briefly in 3 1 2 First we specify that we will be using CLM as the land surface model and provide the name of a directory that outputs will be written to For this example we do not need outputs for each processor or a binary output directory Finally we set the dump interval to 1 indicating that we will be writing outputs for every time step Note that this does not have to match the dump interval for PARFLOW outputs Recall that earlier we set the PARFLOW dump interval to 24 50 CHAPTER 3 THE PARFLOW SYSTEM pfset Solver LSM CLM pfset Solver CLM CLMFileDir clm_output p set Solver CLM Printid0ut False p set Solver BinaryOutDir False p set Solver CLM CLMDumpInterval 1 Next we specify the details of the meteorological forcing files that clm will read First we provide the name of the files and the directory they can be found in Next we spec
222. umes 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 p set InternalBC fixedheadvalue Z 12 1 double InternalBC internal_bc_name Value no default This key specifies the value of the named internal_bc_name condition Example Useage p set InternalBC fixedheadvalue Value 100 0 6 1 24 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 Boundary condition input is associated with domain patches see 6 1 7 Note
223. unning in single phase fully saturated mode not multiphase and RICHARDS running in variably saturated mode not multiphase with the options of land surface processes and coupled overland flow 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 com plete detailed explanation of the solver parameters for ParFlow may be found later in this manual To simulate fully saturated steady state conditions set the solver to IMPES an example is given below This is also the default solver in ParFlow so if no solver is specified the code solves using IMPES pfset Solver Impes We use foo and bar just as placeholders for whatever directory you wish you use see also http en wikipedia org wiki Foobar 2 3 PARFLOW SOLVERS 13 To simulate variably saturated transient conditions using Richards equation variably fully saturated transient with 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 pfset 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 couple
224. upwind finite differences based on the digital elevation model dem Slopes at local maxima in y direction are calculated as the maximum downward gradient to an adjacent neighbor Slopes at local minima in y direction do not drain in the y direction and are therefore set to zero Note that dem must be a ParFlow dataset and must have the correct grid information dy in particular is used in slope calculations If gridded elevation values are read in from a text file e g using pfload s simple ascii format grid information must be specified using the pfsetgrid command pfslopeyD4 dem This command computes the slope in the y direction for all i j using a four point D4 method The slope is set to the maximum downward slope to the lowest adjacent neighbor If i j is a local minima the slope is set to zero i e no drainage 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 pfsubsurfacestorage mask porosity pressure saturation specific_storage This command computes the sub surface water storage compressible and incompressible components based on mask porosity saturation storativity and pressure fields The equations used to calculate this quantity are given in 5 8 The id
225. ur pseudocode have the keyword names 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 0 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 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 Table 6 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 81 82 CHAPTER 6 PARFLOW FILES 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 speci
226. 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 p set 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 p set PhaseSources water PredefinedFunction XPlusYPlusZ The choices for this key correspond to sources as follows X source 0 0 6 1 MAIN INPUT FILE TCL 109 XPlusYPlusX source 0 0 X3Y2PlusSinX Y Plus1 source 3z y y cos ay 2x y a cos xy ay sin xy 1 6xy 2x x y sin ry This function type specifies that the source applied over the entire domain is as noted above This corresponds to p a y sin xy 1 in the problem V pVp f X3Y4PlusX2PlusSinX Y Cos Y Plus1 source 3122y 2x y cos 1y cos y 4r3y 2 cos 1y cos y sin xy sin y a3y 2 sin xy cos y 1 6xy 2 x y 1 sin xy cos y 122 y 2x cos xy sin y Th
227. used to specify printing of the specific storage data in silo binary format The printing of the data is controlled by values in the timing information section Example Useage p set Solver WriteSiloSpecificStorage True string Solver WriteSiloMask False This key is used to specify printing of the mask data using silo binary format The mask contains values equal to one for active cells and zero for inactive cells The printing of the data is controlled by values in the timing information section Example Useage pfset Solver WriteSiloMask True string Solver WriteSiloEvapTrans False This key is used to specify printing of the evaporation and rainfall flux data using silo binary format 130 CHAPTER 6 PARFLOW FILES This data comes from either clm or from external calls to PARFLOW such as WRF This data is in units of L T 1 The printing of the data is controlled by values in the timing information section Example Useage pfset Solver WriteSiloEvapTrans True string Solver WriteSiloEvapTransSum False This key is used to specify printing of the evaporation and rainfall flux data using silo binary format as a running cumulative amount This data comes from either clm or from external calls to PARFLOW such as WRF This data is in units of L The printing of the data is controlled by values in the timing information section Example Useage pfset Solver WriteSiloEvapTransSum True string Solver WriteSiloOverlandSum False This ke
228. ute p rs ea ed Be Bd nee ap ee A Gt Ss e 91 CE Domat uola is oe Oe lk A A eae Be ws wal So hee 92 6 1 8 Phases and Contaminants ooo a a a 92 6 1 9 Gravity Phase Density and Phase Viscosity ooa a a 2 0004 93 6 1 10 Chemical Reactions ee 94 6 111 Permeability guerrer a wah et hee e dle 94 6 1 12 POTOSI 4 6 208s 3 al oS eee pee o alae Bae a seed 99 0 1 13 Specific Storage a vn seeds Se Lek eet ew BS A it ee aa 100 6 14 dZMiultipliers soyai e cle SAR a ak ae a nae ac ER T 100 6 1 15 Manning s Roughness Values aoaaa a e 102 6 1 16 Topographical Slopes o ooa ee 103 6 1 17 Retardation lt ss ab aaa ee ene a o Slt eve ee 104 6 1 18 Full Multiphase Mobilities o o e eo 105 6 1 19 Richards Equation Relative Permeabilities 0 0 105 6 4 20 Phase Sources tr ae bigest a iris E eee ee ee 108 6 1 21 Capillary Pressures sc as a Re ae pe ee 109 6 1222 Saturations Ls ett eo A TE A ty ith es ee 110 6 1 23 Internal Boundary Conditions e 112 6 1 24 Boundary Conditions Pressure ooo a 113 6 1 25 Boundary Conditions Saturation s osoa a e ee 117 6 1 26 Initial Conditions Phase Saturations 0000000 e 119 6 1 27 Initial Conditions Pressure 2 0 119 6 1 28 Initial Conditions Phase Concentrations 0 00004 120 6 1 29 Known Exact Solution a 121 01 30 Wells 4 sosa e Bo Eo Bee at AA Bi tigk 122 6 1 31 Code Paramete
229. value and distribute any 3D inputs p set ComputationalGrid NX 40 p set ComputationalGrid NY 40 p set ComputationalGrid NZ 50 pfdist IndicatorFile pfb 5 Calculate slopes from an elevation file Read in DEM set dem pfload sa dem txt pfsetgrid 209 268 1 0 0 0 0 0 0 100 100 1 0 dem Fill flat areas if any set flatfill pffillflats dem Fill pits if any set pitfill pfpitfilldem flatfill 0 01 10000 Calculate Slopes set slope_x pfslopex pitfi11 set slope_y pfslopey pitfi11 Write to output pfsave flatfill silo klam flatfill silo pfsave pitfill silo klam pitfill silo pfsave slope_x pfb klam slope_x pfb pfsave slope_y pfb klam slope_y pfb 6 Calculate and output the subsurface storage in the domain at a point in time set saturation pfload runname out satur 00001 silo set pressure pfload runname out press 00001 silo set specific_storage pfload runname out specific_storage silo set porosity pfload runname out porosity silo set mask pfload runname out mask silo set subsurface_storage pfsubsurfacestorage mask porosity pressure saturation specific_storage set total_subsurface_storage pfsum subsurface_storage puts format Subsurface storage t t t t 16e total_subsurface_storage 7 Calculate and output the surface storage in the domain at a point in time set pressure pfload runname out press 00001 silo CHAPTER 4 MANIPULATING DATA PFTOOLS set m
230. ve cell of dataset by a constant mult dataset constant pfcellsum datasetp datasetq mask This command computes the cellwise sum of two datasets i e the sum at each individual cell not the sum over the domain Datasets must have the same dimensions pfcellsumconst dataset constant mask This command adds the value of constant to each active cell of dataset pfchildD8 dem This command computes the unique D8 child for all cells Child i j is the elevation of the cell to which i j drains i e the elevation of i j s child If i j is a local minima the child elevation set the elevation of i j 60 CHAPTER 4 MANIPULATING DATA PFTOOLS pfcomputebottom mask This command computes the bottom of the domain based on the mask of active and inactive zones The identifier of the data set created by this operation is returned upon successful completion pfcomputedomain top bottom This command computes a domain based on the top and bottom data sets The domain built will have a single subgrid per processor that covers the active data as defined by the top and botttom This domain will more closely follow the topology of the terrain than the default single computation domain A typical usage pattern for this is to start with a mask file zeros in inactive cells and non zero in active cells create the top and bottom from the mask compute the domain and then write out the domain Refer to example number 3 in the following section
231. well R M Ferguson I Stednick J D McCray J E and Sharp J O 2013 Mountain pine beetle infestation impacts modeling water and energy budgets at the hill slope scale Ecohydrology 6 doi 10 1002 eco 278 Rihani J Maxwell R M Chow F K 2010 Coupling groundwater and land surface processes Idealized simulations to identify effects of terrain and subsurface heterogeneity on land surface energy fluxes Water Resources Research 46 W12523 doi 10 1029 2010WR009111 Shrestha P Sulis M Masbou M Kollet S and Simmer C 2014 A scale consistent Terres trial Systems Modeling Platform based on COSMO CLM and ParFlow Monthly Weather Review doi 10 1175 MWR D 14 00029 1 Siirila E R Navarre Sitchler A K Maxwell R M and McCray J E 2012 A quantitative method ology to assess the risks to human health from CO2 leakage into groundwater Advances in Water Resources 36 146 164 doi 10 1016 j advwatres 2010 11 005 Siirila E R and Maxwell R M 2012 A new perspective on human health risk assessment Devel opment of a time dependent methodology and the effect of varying exposure durations Science of The Total Environment 431 221 232 doi 10 1016 j scitotenv 2012 05 030 BIBLIOGRAPHY 159 54 55 56 57 58 59 60 61 65 66 67 68 Siirila E R and Maxwell R M 2012 Evaluating effective reaction rates of kinetically driven so lutes in large scale statisti
232. y Cur rently only a value of 2 0 is allowed for this key Example Useage pfset Phase water Mobility Exponent 2 0 double Phase phase name Mobility IrreducibleSaturation 0 0 This key specifies the irreducible saturation used in a polynomial representation of the relative perme ability Currently only a value of 0 0 is allowed for this key Example Useage p set Phase water Mobility IrreducibleSaturation 0 0 6 1 19 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 parame ters 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 106 CHAPTER 6 PARFLOW FILES The various possible functions are de
233. y data to the domain sections defined above 6 1 11 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 p set Geom Perm Names upper_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 did not want a constant permeability field so we instead generated a random permeability field meeting our statistical parameters for each the upper and lower zones 3 6 ANNOTATED INPUT SCRIPTS 27 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
234. y is used to specify calculation and printing of the total overland outflow from the domain using silo binary format as a running cumulative amount This is integrated along all domain boundaries and is calculated any location that slopes at the edge of the domain point outward This data is in units of L The printing of the data is controlled by values in the timing information section Example Useage p set Solver WriteSiloOverlandSum True string Solver TerrainFollowingGrid False This key specifies that a terrain following coordinate transform is used for solver Richards This key sets x and y subsurface slopes to be the same as the Topographic slopes a value of False sets these subsurface slopes to zero These slopes are used in the Darcy fluxes to add a density gravity dependent term This key will not change the output files that is the output is still orthogonal or the geometries they will still follow the computational grid these two things are both to do items This key only changes solver Richards not solver Impes Example Useage pfset Solver TerrainFollowingGrid True 6 1 32 SILO Options The following keys are used to control how SILO writes data SILO allows writing to PDB and HDF5 file formats SILO also allows data compression to be used which can save signicant amounts of disk space for some problems string SILO Filetype PDB This key is used to specify the SILO filetype Allowed values are PDB and HDF5 Not
235. ype PLinearW THeight boundary conditions are specified Example Useage p set Patch left 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 p set 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 DirEquilPLinear boundary con ditions 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 6 1 MAIN INPUT FILE TCL 119 6 1 26 Initial Conditions Phase Saturations Note this section needs to be defined only for multi phase flow and should not

Download Pdf Manuals

image

Related Search

Related Contents

VTech Twist & Learn User`s manual  Sony CFD-S35CP User's Manual  点検項目 - TOTO  CC1000 Data Sheet  Schumacher IP-75 Automobile Battery Charger User Manual  Samsung 22" SyncMaster LD220HD LS22FMDGF/XE Käyttöopas  IT Mill Testing Tools 0.9.4  Chevrolet 2004 Automobile User Manual  MINI-PTZ-23X Manual  Gigabyte GV-N96TZL-1GI GeForce 9600 GT 1GB graphics card  

Copyright © All rights reserved.
Failed to retrieve file