-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathRELEASE
1135 lines (878 loc) · 43.2 KB
/
RELEASE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
---------------------------------------
PHAST, Version @VERSION@ (@VER_DATE@)
---------------------------------------
---------------------
Git November 24, 2021
---------------------
PHAST: Fixed a misconfiguration in the phast3 CMake project. This caused
MPI runs to fail on the phast and phast4windows distributions for version
3.7.1-15876.
---------------------
Git May 8, 2021
---------------------
Fixed a major bug in the new feature that writes SELECTED_OUTPUT and
USER_PUNCH prefix.wel.so_n.tsv, where n is the user number of the
SELECTED_OUTPUT definition. The concentrations of the topmost cell
were used for the calculation, instead of the integrated concentrations
from all the open intervals of the well. The concentrations from
the integrated well-riser calculation are now used for the calculation that
produces the SELECTED_OUTPUT and USER_PUNCH results.
-----------------------------------------------------------------
Version 3.7.0-15749 April 29, 2021
-----------------------------------------------------------------
---------------------
Git February 19, 2021
---------------------
PHAST: Fixed zero divide when running with one cell and
dumping the module.
PHAST: Bug fix for ZoneFlow. Steady state flow in the Z direction
incorrectly accounted for the internal flow boundaries. Revisions
have fixed the problem.
---------------------
Git February 19, 2020
---------------------
PHAST: Added new output files for wells. Selected output files can now
be written for wells. The SELECTED_OUTPUT and USER_PUNCH definitions
from the .chem.dat files are now used to write files named
prefix.wel.so_n.tsv, where n is the user number of the SELECTED_OUTPUT
definition.
The water composition of an extraction well is run with the utility
IPhreeqc instance as a SOLUTION, generating selected output files, one
for each SELECTED_OUTPUT definition in the .chem.dat file. The printing
of initial conditions is controlled by the print flag PRINT_INITIAL;
-xyz_well (the same print flag used for initial conditions for the
prefix.wel.xyz.tsv file). Similarly, print frequency to the new files is
controlled by PRINT_FREQUENCY; -xyz_well (the same print flag used to
control print frequency to the prefix.wel.xyz.tsv file).
The selected output file has columns for x, y, z, time, and well number
prepended to the columns for the selected output file. A line for each
well is included for initial conditions (if specified) and each printing
interval as specified by PRINT_FREQUENCY; -xyz_well.
These new files make the prefix.wel.xyz.tsv file somewhat obsolete.
The new selected output files allow much more flexibility to obtain
information about the well water, including pH, temperature, specific
conductance, concentrations, and saturation indices.
Version 3.6.2-15100 January 28, 2020
---------------------
Git December 17, 2019
---------------------
PHAST: Added 4 Basic functions.
TRANSPORT_CELL_NO: Returns the cell number, in the transport model numbering,
for the current chemical cell calculation.
VELOCITY_X: Returns the X component of the velocity vector at the cell node.
It is a signed quantity.
VELOCITY_Y: Returns the Y component of the velocity vector at the cell node.
It is a signed quantity.
VELOCITY_Z: Returns the Z component of the velocity vector at the cell node.
It is a signed quantity.
The magnitude of the velocity vector is
SQRT(VELOCITY_X^2 + VELOCITY_Y^2 + VELOCITY_Z^2)
---------------------
Git November 20, 2019
---------------------
PHAST: Updated to PHREEQC 3.6.0.
---------------
Git Dec 6, 2018
---------------
PHAST: Changes to the restart file.
Previously, the unsaturated zone cells were indicated by a -1 in the
first entry after the cell number in the table at the top of the file and
positive numbers were used for partially and totally saturated cells
(undifferentiated). Now, a 1 is used to indicate a saturated cell, a 0 is
used to indicate a partially saturated cell, and a -1 is used to indicate
an unsaturated cell.
Previously, the reactants in unsaturated cells were not written to the
restart file. Now, the total set of reactants for all cells are written
to the restart file. Thus, there is a change for partially saturated and
unsaturated cells: for partially saturated and unsaturated cells, the
reactants in the unsaturated part are added to the reactants in the
saturated part, and the sum is written to the restart file.
---------
svn 12679
---------
PHAST: Phastinput did not have enough precision in the field for the end
of a simulation period. Under some conditions, the number written could
be the same as the previous period, which caused an error exit. More
digits are now written in the Phast.tmp file.
-----------------------------------------------
Version 3.3.11 (12535): March 10, 2017
-----------------------------------------------
-----------------------------------------------
Version 3.3.10 (12220): January 12, 2017
-----------------------------------------------
-----------------------------------------------
Version 3.3.9 (11951): November 15, 2016
-----------------------------------------------
---------
svn 11770
---------
PHAST: Minor code change to eliminate compiler warnings.
-----------------------------------------------
Version 3.3.8 (11728): September 13, 2016
-----------------------------------------------
---------
svn 11170
---------
PHAST: Added to error messages when a transport calculation fails.
-----------------------------------------------
Version 3.3.7 (11094): April 21, 2016
-----------------------------------------------
-----------------------------------------------
PHAST, Version 3.3.6, (11064): April 18, 2016
-----------------------------------------------
---------
svn 11040
---------
P4W: Added CELL to options for UNITS for solids.
---------
svn 11020
---------
P4W: Fixed a bug in prisms that did not have a perimeter
defined.
---------
svn 10937
---------
P4W: Implemented PRINT_LOCATIONS in P4W.
-----------------------------------------------
PHAST, Version 3.3.5, (10806): February 3, 2016
-----------------------------------------------
---------
svn 10668
---------
All programs: Now using Jenkins for continuous integration.
---------
svn 10632
---------
PhreeqcRM: Revised transfer of data for MPI when rebalancing. Serializes lists of
characters, integers, and doubles, instead of writing full "dump" version of each
reaction. Is much faster for cell transfers when rebalancing among processes.
---------------------------------------
PHAST, Version 3.3.3, October 23, 2015
---------------------------------------
---------
svn 10417
---------
Corner case for HDF file with no SELECTED_OUTPUT definition did not
handle intermediate HDF file correctly.
Installer for P4W revised to install even if MPI installation fails. In this case, the MPI version
of PHAST will not run, but the OpenMP version will still work.
---------
svn 10400
---------
Rerun transport to try to eliminate negative concentrations. Now stops
if negative concentrations persist.
-----------------------------------------
PHAST, Version 3.3.2 (October 2, 2015)
-----------------------------------------
---------
svn 10255
---------
Set minimum concentration to 1e-18.
-----------------------------------------
PHAST, Version 3.3.0 (September 15, 2015)
-----------------------------------------
---------------
svn 10160-10244
---------------
Revised PhreeqcRM and PHAST to minimize memory footprint for MPI. Removed many unneeded
variables from the PHAST workers, both for workers that do chemistry only, and workers
that do both chemistry and transport. Revised the logic of PhreeqcRM so some variables,
like porosity and saturation, have only the values related to the cells that are
defined to each worker. The changes should considerably decrease the total amount of
memory needed for a PHAST MPI run.
The processing of restart files was revised for MPI. Previously, each process read the
entire restart file. For machines that have many processors, like some SGI computers,
the total memory needed to process the restart files when using many worker processes
was quite large. Now, the root process reads the restart file, and distributes the
initial conditions to the worker processes.
MPI PHAST now takes a single integer argument. This argument specifies the number of
transport calculations that will be run simultaneously. The total number of tranport
calculations is equal to the number of components in the system, normally 6-20.
Decreasing the number of simultaneous transport calculations will decrease the total
memory footprint of a calculation. If memory is not an issue, use the default (no
argument) to run all transport calculations simultaneously.
---------------------------------------
PHAST, Version 3.2.2 (August 24, 2015)
---------------------------------------
Initial release of PHAST and Phast4Windows version 3. Release numbers will now
correspond to the underlying PHREEQC release number.
PHAST version 3 uses PhreeqcRM (Parkhurst and Wissmeier, Advances in Water
Resources, 2015) as the reaction engine. PhreeqcRM is maintained with the latest
version of PHREEQC version 3 and implements parallel processing with MPI
(multiprocessing) or OpenMP (multithreading). Most testing has indicated that
the MPI parallelization is more efficient.
PHAST version 3 uses the same input and output file syntax as version 2. No
changes in input are necessary to use version 3 and all previous input
files should run with version 3.
Phast4Windows is the Windows graphical user interface, which runs either
multiprocessing with MSMPI (which is installed with P4W) or multithreading with
OpenMP.
The Windows batch installation of PHAST contains 64-bit versions for MPI (phast-
msmpi.exe) and OpenMP (phast-mt.exe). The installation also includes a 32-bit
version of ModelViewer, which is used to visualize results written to the HDF
file (.h5), and the phasthdf.exe, which is a Java utility used to extract results
from the HDF file.
The Unix batch installation of PHAST contains no executables. The user must
compile the OpenMP and (or) MPI executables, which is facilitated by the
configure utility. Compilation details are included in the README file. The
installation includes the Java utility phasthdf, which can be used to extract
results from the HDF file.
---------------------------------------
PHAST, Version 2.4.7 (September, 2014)
---------------------------------------
--------
Svn 4812
--------
Added spatially distributed tortuosity as a media property.
Previously, a constant tortuosity-molecular diffusivity product
applied to the entire model domain. Now, molecular diffusivity
is constant, but tortuosity may vary over the model domain.
Tortuosity affects only the molecular diffusivity terms in the
dispersion tensor; it does not multiply the dispersivity term.
Usually, tortuosity is important only for diffusion-only
calculations.
MEDIA
-zone 0 0 0 10 10 10
-tortuosity 1
-long_dispersivity 0
-horizontal_dispersivity 0
-vertical_dispersivity 0
-zone 5 5 5 10 10 10
-tortuosity 0.5
The above example defines a domain 10 by 10 by 10 meters. The
calculation is intended to be diffusion-only. Dispersivity is
set to 0. Tortuosity is set to 1 for the whole domain, and
redefined to 0.5 for one eighth of the region (the right,
back, upper zone).
A tortuosity field is now printed in the .probdef.txt file if
"-media_properties true" is defined in the PRINT_INITIAL data block.
---------------------------------------
PHAST, Version 2.0.2 (September 7, 2010)
---------------------------------------
Update with latest PHREEQC
---------------------------------------
PHAST, Version 2.0.1 (September 2, 2010)
---------------------------------------
Update with latest PHREEQC
---------------------------------------
PHAST, Version 2.0.0 (August 12, 2010)
---------------------------------------
Major revisions to PHAST. PHAST version 2 has extended
capabilities to handle spatial data. As much as possible
PHAST input is grid independent and does not use
node-by-node input.
* Spatial data can be defined by prisms that use
ARC-INFO coverages for definitions of perimeter, top surface,
and bottom surface of a prism.
* Three-dimensional scattered data points can be used
to define media, boundary-condition, and initial-condition
properties.
* Flow of water and solutes can be aggregated for
multiple irregularly shaped zones.
* Heads can be saved as a function of time and space, which
can be used in specified-head boundary conditions in
subsequent runs. Facility allows running submodels.
* Grid independent .gz files can be written to save the
chemical state of a simulation for use in subsequent models.
* Drain boundary conditions have been added.
* Windows installation by .msi file.
* .configure has been implemented for compiling on
Linux
--------
svn 4290
--------
Allow leaky boundary on positive Z face. No writes to
Phast.tmp so that PHAST delivers flux to water table.
--------
svn 4021
--------
Fixed bug with parts in shapefile. Removes identical,
consecutive points. Checks for zero area in simple polygons.
--------
svn 4002
--------
Revised handling of dry column of cells with flux and river
boundary conditions.
--------
svn 3902
--------
Added options to the UNITS keyword to allow moles of solid
reactants to be interpreted as moles per liter of WATER or
moles per liter of ROCK:
UNITS
-equilibrium_phases ROCK
-exchange ROCK
-surface WATER
-solid_solution WATER
-kinetics WATER
-gas_phase WATER
By default, the number of moles of solid reactants are
interpreted as per liter of water. Using the ROCK option,
PHAST interprets the number of moles of solid
reactants obtained from the initial PHREEQC calculation
as per liter of rock.
Note that an initial PHREEQC calculation is made at the
beginning of a PHAST run. During this calculation all
reaction calculations interpret the concentration of solid
reactants as simply moles. (When a solution is reacted with
the solids, the solution contains a mass of water, which is
usually 1 kg, but not necessarily.) It is only when initial
conditions are subsequently distributed in the PHAST calculation
that solid reactants are scaled. If the units are WATER, t
here is no scaling and the number of moles of solids is the
number of moles per liter of water. If the units are ROCK,
the number of moles of a solid reactant is multiplied by
(1-phi)/phi, where phi is the porosity in the cell receiving
the initial condition, to arrive at the number of moles of
solid reactant per liter of water.
The addition of the ROCK option is motivated by the possibility
of a domain with a distribution of porosities. In this case,
the number of moles of solid reactants per liter of water--
the units used by PHAST--also vary spatially. By using the
ROCK option, a constant rock composition can be defined and
the factor (1-phi)/phi is used to scale the number of moles
of solid reactant to obtain the number of moles per liter
of water in each cell.
Added four basic functions for use only with PHAST. The
functions are related to the volume, porosity, and
water saturation of a PHAST finite-difference cell:
CELL_VOLUME--The total volume of the cell in liters.
CELL_PORE_VOLUME--The void volume of the cell in liters.
CELL_SATURATION--The fraction of the void volume filled
with water, unitless.
CELL_POROSITY--The porosity of the cell, equal to
CELL_PORE_VOLUME / CELL_VOLUME, unitless.
For example, in a USER_PUNCH program for a PHAST run,
the number of moles of dissolved chloride in a cell is
TOT("Cl")*CELL_PORE_VOLUME for confined flow simulations.
More generally, the number of moles of dissolved chloride
is TOT("Cl")*CELL_SATURATION*CELL_PORE_VOLUME, for confined
or unconfined flow.
For solids, the number of moles of calcite in the
saturated part of a cell is
EQUI("Calcite")**CELL_SATURATION*CELL_PORE_VOLUME. For
unconfined flow, the solid reactants are distributed
between the saturated and unsaturated part of a water-
table cell. It is a limitation of PHAST that it is not
possible to determineIf the amounts of solid reactants
in the unsaturated part of a cell. Note that for
steady-state, unconfined flow, the unsaturated part of
a water-table cell is never part of the active domain.
svn 3613:
SOLUTION_RAW: c++ version used in PHAST misinterpreted the
element Tc as the temperature identifier and crashed
when additional elements followed in -totals or
-activity_coefficients.
Removed "tc" as an identifier for temperature.
svn 3514:
Fixed bug with river polygons. Complete overlap caused an empty polygon,
which was not initialized properly.
svn 2977:
Major new feature. Added a "prism" primative, which defines a
volume defined by a polygonal right prism. By default, the top and
bottom of the prism are the top and bottom of the model
domain. Optionally, the prism may be truncated by a top and (or) a
bottom, which may be defined in several ways. Zone, wedge, and
prism can be used at any place in the input file that would accept
a "zone" definition in the original documentation.
Interpolation is performed by delauney trangulation and nearest
neighbor interpolation (weighted by areas) within the convex hull
of the scattered points. Outside the convex hull, the Z value of
the nearest point is used as the interpolated value.
The polygonal perimeter may be defined by the following:
(1) A shape file (SHAPE), logically a polygon type shape file,
(2) An XYZ file (XYZ), a file which contains a list of XYZ triples;
at least 3 triples must be defined,
(3) A list of points (POINTS), at least three triples of XYZ coordinates.
The top and bottom may be defined by the following, which are
interpreted to be scatterd data from which the Z value for
an X, Y point can be interpolated:
(1) A shape file (SHAPE) plus the column number of the dbx file containing
the Z information,
(2) An XYZ file (XYZ), a file that contains a list of XYZ triples,
(3) An ascii Arc raster file (ARCRASTER),
(4) A list of points (POINTS), triples of XYZ coordinates,
(5) A constant Z value (CONSTANT).
Examples:
(1)
MEDIA
-prism
-perimeter SHAPE arcdata\coastline.shp
-acive 1
That part of the grid volume that falls within the coastline will
be considered active.
(2)
MEDIA
-prism
-top SHAPE arcdata\formation_top.shp 3
-bottom ARCRASTER arcdata\formation_bottom.txt
-kx 1e-3
-ky 1e-3
-kz 1e-3
That part of the grid volume that falls below the surface defined
by the scattered points (or contours) of the formation_top shape
file and above the surface defined by the scattered points of the
formation_bottom ascii Arc raster text file will have the
specified hydraulic conductivities.
(3)
LEAKY_BC
-prism
-perimeter POINTS
0 0 0
0 100 0
100 0 0
-bottom CONSTANT 10
-face X
-k 1e-3
-thickness 100
-head
0 15
Those cells with exterior X faces that fall within the X, Y
coordinates of the triangle defined by the perimeter (Z
coordinates are ignored at this time, but must be entered) and
have Z values of 10 or greater will be treated as leaky boundary
cells with the specified properties.
svn 2977:
Fixed interpolation for properties. Erroneously extrapolated past
the end points, now uses closest end point for points outside the
interval.
svn 2906:
A wedge volume primitive has been added for definition of spatial
data. A wedge can be used to define sloping features within the
model domain. Previously all definitions were zones (rectangular
parallelopipeds). The wedge is a right-triangular prism with two
triangular and three rectangular facets. the rectangles are
perpendicular to the triangles.
A wedge is defined as a rectangular parallelopiped with two
points, the minimum and maximum x, y, z locations. The additional
identifier designates the orientation of the wedge: an axis and a
digit. Wedges are classified by the orientation of the triangular
faces as X, Y, or Z. An X triangular face is perpendicular to the
X axis. An additional digit identifies the location of the right
triangle relative to the axis. X1 (right triangle is nearest the
axis), X2, X3, and X4 designate prisms where the right triangle is
rotated counter clockwise from the X axis.
svn 2891: Major revision in the handling of flux, leaky, and river
boundary conditions. Leaky and flux boundaries are now implemented
to be grid independent. The areas defined for these boundaries
apply exactly, whereas previously, the boundaries snapped to the
entire face of a cell for which the node was included in the zone
definition. Now these boundaries are applied to fractional cell
areas as defined by the extent of the defining zone or wedge.
Zones or wedges for flux and leaky boundary conditions are allowed
to be three dimensional (previously required to be two
dimensional). It is strongly recommended that the cell face
desired for the flux or leaky condition be specified explicitly
(-face X, Y, or Z). All exterior faces (full or partial) of the
proper orientation (as defined by -face), are used for the flux or
leaky boundary. No distinction is made between positive or
negative faces (top vs bottom, or front vs back) in the specified
direction; all exterior faces of the specified orientation that
are included in the zone will be included in the boundary
condition definition.
If a series of flux (or leaky) boundaries is defined. Areas are
calculated for each definition of the series. The areas are
applied from last to first. Thus if an earlier and a later
definition have areas that overlap, the overlapping area is
included with the later definition and excluded from the earlier
definition. Partial cell areas that do not include the node of a
cell are now included as part of the flux definition, whereas
previously these partial cell faces were excluded. These changes
imply that input files may produce different results with the
current version than with previous versions. To reproduce previous
results, all flux and leaky boundary definitions should include
entire cell faces.
xxx Changed back above. Rivers inflows or outflows are now
aggregated differently than previous versions. River leakage is
accumulated in the same way as a series of leakage
boundaries. Flow is calculated for each area (all areas are non
overlapping) and the flux of solute is aggregated as the sum of
the solute concentrations times the flow rates for each
area. Previously, cells were categorized as river inflow or
outflow cells (based on the agregated flow from all river segments
in a cell) and only inflow or outflow concentrations were used in
the flux calculations. Now river, flux, and leaky boundaries are
handled in a similar manner.
svn 2890: Fixed error in river associated solution. If
segments were defined with the same solution at each end,
the concentrations in the river were not calculated correctly.
Only the downstream fraction of the solution was added. This
was an error when river water entered the aquifer.
svn 2880: Fixed error in leaky boundary condition combined
with free surface. The saturated fraction was used twice
in the calculation.
svn 2785: Fixed bug with transient river boundary condition
data. Worked correctly if changes were made to all rivers,
but incorrectly if only one of multiple rivers changed
conditions (head or solution). Similar change was made
for wells.
---------------------------------------
PHAST, Version 1.5.1 (March 24, 2008)
---------------------------------------
svn 2766: Fixed bug with surfaces (svn 2745) in parallel version.
svn 2751: Fixed bug with xyz_well print frequency. Caused
an array deallocation error if no wells included in problem.
svn 2745: Fixed bug related to surfaces. The error was a major bug
when using the -no_edl surface option. The charge developed on a
surface was not saved correctly in xsurface_save_hst. This routine
was replaced with xsurface_save, which should give results
equivalent to PHREEQC.
svn 2729: Fixed bug in delimited values (values delimited by
"< >" in the .trans.dat file. Earlier versions failed
to handle multiple sets of delimited values unless there
was a space before the concluding ">" for each set. Now,
the space is not necessary.
svn 2707: Modified mpimod.F90 to use mpif.h, which should be more
robust than previous usage of mpi routines and variables. Made
serial and parallel dependencies identical. Revised dependencies
in Makefile.
---------------------------------------
PHAST, Version 1.5.0 (February 5, 2008)
---------------------------------------
svn 2628: Added optional rebalance algorithm for parallel
version, -rebalance_by_cell T/F. Default is false. By default,
PHAST looks at the total time taken to run chemistry on a
block of cells and from that calculates the average time per
cell, which is used to rebalance the load among the available
processors. The new algorithm (-rebalance_by_cell T) measures the
time for each cell individually and rebalances based on this
information. The new method should only be needed for kinetic
problems where some cells take much longer to run than other
cells.
svn 2529: Changed linker option for --hash-style. By default
compilation used gnu style hash, which was incompatible
with C libraries compiled with old style hash. New option
should work with all libraries.
---------------------------------------
PHAST, Version 1.4.2 (November 17, 2007)
---------------------------------------
svn 2283: Now writes .restart.gz, a gzip file. File can be
unzipped and edited. On restarting, either ascii or gzipped
file can be read; type is determined automatically. Removed
old code for restart file.
svn 2228: Rewrote code for reading a restart file. Fixed a bug
where a stream was receiving the echo of the restart file, which
made it fail for large restart files. Also, previously,
every process tried to read the entire restart file into memory.
This also would cause problems if the restart file was large.
Now the restart file is read by root keyword by keyword and
data are passed to the appropriate process with MPI.
---------------------------------------
PHAST, Version 1.4.1 (September 5, 2007)
---------------------------------------
svn 2220: Fixed bug in WPhast, was not setting chemistry
dimensions correctly when initializing from an h5 file.
---------------------------------------
PHAST, Version 1.3.4 (August 30, 2007)
---------------------------------------
svn 2188: Revised for MPICH2: new comm_world number,
rearranged header files.
Fixed bug with print_frequency sometimes failed with
a zero deltim when using gfortran.
svn 2088: Now uses hdf5 1.6.5. for both linux and windows.
svn 2066: Fixed error trap for boundary condition solution that
was not defined in .chem.dat file.
svn 2066: Added -start_time to TIME_CONTROL data block.
-start_time allows the calculations to begin at a time other than
zero.
This feature is useful for restart runs from the end of a
previous calculation when chemical conditions were saved
(PRINT_FREQUENCY; -restart). The original .trans.dat file can be
used (preferably copied to a new name so previous results are not
overwritten) with the -start_time set to the -end_time of the
previous run and -end_time extended to a later time. CHEMISTRY_IC
is modified to define the initial chemistry conditions to be read
from the restart file of the previous run. For transient flow, the
head should also be saved in the original run (PRINT_FREQUENCY;
-save_final_heads) and set as initial conditions for the
subsequent run (HEAD_IC). In the subsequent run, boundary
conditions will be applied according to their time-series
sequence, even if the changes are earlier than -start_time. No
time stepping for flow and chemistry will occur until -start_time.
The -start_time feature is also useful for running simulations by
natural year number, say from 1990 to 2005 or by Julian day, when
the simulation does not start at Julian day zero.
---------------------------------------
PHAST, Version 1.3.2 (February 1, 2007)
---------------------------------------
svn 1700: Updated to PHREEQC 2.13.2.
svn 1641: Fixed bug in velocity interpolation for 1 element
inactive zone.
---------------------------------------
PHAST, Version 1.3.1 (January 16, 2007)
---------------------------------------
svn 1595: Updated to PHREEQC 2.13.1.
---------------------------------------
PHAST, Version 1.3.0 (November 3, 2006)
---------------------------------------
svn 1004: Fixed diffuse_layer bug. Flag was not initialized
between cells.
Fixed formatting bug with .O.wel file.
Changed format for TIMCHG in Phast.tmp file. Was fixed format
now g format. Works better for very small time steps in user
units.
svn 940: Added option to include or exclude prints at end of
simulation periods.
PRINT_FREQUENCY
0
-end_of_period_default t/f
If set to true, printing will occur at the end of each simulation
period for all print frequency options that are not equal to zero. If set
to false, printing will occur only at the interval specified for
each print frequency option.
svn 884: Added restart capability.
Chemical data can be saved and used as initial conditions for
subsequent runs. The grid should be the same for the restart run
as for the run that generated the restart file. In general, it is
assumed that the boundary condition types and media properties
will be the same for the restart run. However, it should be
possible to change boundary condition types and media properties
in subsequent simulations, provided the grid remains the same.
To save data to a restart file:
PRINT_FREQUENCY
-restart 100 yr
In this example, the chemical state of the system will be written
to file (prefix.restart) every 100 years. At each time of writing,
the old prefix.restart file will be copied to
prefix.restart.backup and the new time plane will be written to
prefix.restart. Only one time plane is saved in prefix.restart and
one in prefix.restart.backup. You must be careful to save (rename)
your restart file following a run so that it does not get
overwritten in subsequent runs.
To use data from a restart file, use the identifier "restart" in
CHEMISTRY_IC in the same way that the identifier "file" can be
used.
CHEMISTRY_IC
-zone 0 0 0 1000 1000 100
-solution restart prefix.restart.save
-exchange restart prefix.restart.save
-surface restart prefix.restart.save
-kinetics restart prefix.restart.save
-equilibrium_phases restart prefix.restart.save
-gas_phase restart prefix.restart.save
This example defines all the chemical data for the cells in the
zone to be taken from the file prefix.restart.save (assuming a
file prefix.restart was generated and renamed to
prefix.restart.save). The data for cells in this zone may be
overwritten by subsequent zone definitions in CHEMISTRY_IC. As is
always the case, the last zone definition that includes a property
for a cell is the definition that is used for that property.
If the last definition for a solution is specified to be from a
restart file and a solution for that cell is not found in the
restart file, it is a fatal error. If any other entity (exchange,
surface, etc) is not found in the restart file for a cell, it a
warning is printed.
Prefix, date, current model time, and the number of nodes in each
coordinate direction (nx, ny, nz) are written as comments at the
top of the restart file.
svn 602:
Added print of database, input, and output files to .log and
.O.chem files.
Removed check for .chem.dat and database files from phastinput.
---------------------------------------
PHAST, Version 1.2 (September 28, 2005)
---------------------------------------
Added new identifier in SOLUTION_METHOD,
-rebalance_fraction f
where f is a number in the range of 0 to 1. This option applies
only to the parallel version of phast. After each time step, phast
evaluates how to optimally rebalance the cells among the
processors for the chemical calculation. It estimates a number of
cells to transfer from one processor to the next. The factor f is
multiplied times the estimated number of cells to obtain the
actual number of cells transferred. Default is 0.5.
Modified PHREEQC to avoid a convergence problem that occurred in
trying to find the stable phase assemblage in a simulation with
many, many time steps. Occasionally an exponentiation would
underflow stopping the simulation. Limited log activities of
master species to be greater than the smallest machine precision
exponential number. Avoids a "matherr" exception and allows trial
of additional parameter sets to attempt to solve the system of
equations.
Updated to PHREEQC 2.12, which includes Pitzer aqueous model.
Pitzer funtionality is now available in serial and parallel
versions, simply use a chemistry database file that includes
the PITZER keyword datablock. However, lack of density-dependent
flow makes use for brines problematic.
Major revision of parallel calculation. Now has one routine
for master process that calculates flow and transport (and
chemistry) and one routine for processes that calculate only
chemistry. New version has major savings in memory requirements.
However, the master process may still have large memory
requirements.
Added scaling for flow and transport equations using L-infinity
norm. A diffusion-only problem failed unless "SOUTION_METHOD;
-tolerance x" was extremely small. -tolerance 1e-14 should now
be minumum tolerance and same tolerance should apply equally
well to all flow and transport. Only rows are scaled; column
scaling is not used at this time.
Fixed file opening logic for flow-only calculation. Error
messages now printed to screen.
Fixed convergence test for steady-state with no flow. Avoids
error with NAN in calculation of relative flow-rate imbalance.
Fixed bug with free surface and steady flow. Solution volume
was not scaled correctly and gave anomalous results for
cells with small water volumes. Volume of water to amount rock
was not consistent.
---------------------------------------
PHAST, Version 1.1 (February 14, 2005)
---------------------------------------
Converted to Subversion version control system. Now includes
latest PHREEQC files automatically. PHAST 1.1 includes files from
PHREEQC 2.11.
Fixed file deletion; some temporary files were not deleted at end of run.
Fixed version number and printing format.
---------------------------------------
PHAST, Version 1.0 (December 20, 2004)
---------------------------------------
(1) Flow and transport data files from version RC3 will not run with
PHASTINPUT Version 1.0.
The way that time-series data are defined has changed for boundary
conditions, wells, rivers, time step, and print frequencies. A
sequence of data blocks separated by END keywords is no longer
used to define simulation periods. For boundary conditions, all
time-varying properties are defined immediately following the
-zone definition. Time series for wells are defined immediately
following the -pumping/-injection identifier and following the
-solution identifier. Time series for a river point are defined by
-head and -solution following the definition of the location of
the river point (-point). Time series for time step are defined in
a single TIME_CONTROL data block. Print frequencies are defined
for a sequence of times. At each time, print frequencies for
various files may be redefined.
(2) The handling of the unsaturated zone has changed in free-surface
simulations. The unsaturated flow is not modeled, so free-surface
calculations still contain major approximations. However, an
attempt has been made to avoid some mass-balance errors related to
rising and falling water tables. The program now separates the
solids in a cell containing the water table into two reservoirs,
the saturated and unsaturated reservoirs. As the water table
rises, solids are transferred from the unsaturated reservoir to
the saturated reservoir. As the water table falls, solids are
transferred from the saturated reservoir to the unsaturated
reservoir. The main deficiency of the current implementation is that
solids in the unsaturated reservoirs are removed from the
calculation and do not react with recharge that is, in fact,
percolating through these solids. There is also no way to view or
print the masses of solids that are in the unsaturated reservoirs.
(3) Mass-balance accounting for reactions has been added and the
method for calculating mass-fluxes at boundaries has been changed
to be consistent with the selected time-weighting scheme for the
finite-difference equations.
(4) The FLOW_ONLY keyword has been replaced with the SOLUTE_TRANSPORT
keyword.
(5) Input for rivers has been revised. Each river point location must
now be defined with the -point identifier. Default properties have
been eliminated. All properties (width, depth, bed thickness, bed
hydraulic conductivity, head, and solution composition) are now
interpolated. All properties must be defined at the end points of
the river. Additional data may be defined at other river
points. At the beginning of each simulation period, head and
solution properties for river points are updated with any new
values and interpolation for head and solution composition is
performed.
------------------------------------------------------
RC-3 (phast rcsfreeze C_52; phastinput rcsfreeze C_27)
------------------------------------------------------
Added warnings for incompatibilities in boundary conditions.
Separated print_locations into input for .xyz.chem and .O.chem
Added vertical dispersivity.
Added mask to each zone.
Fixed bug in head tolerance in steady flow; Did not convert
head to pascals for Phast.tmp.
Changed defaults for print_initial and print_frequency.
Set water compressibility to zero for all cases,
confined and unconfined. Eliminates the error if
storage is less than water compressibility alone.
set fluid viscosity to 0.001.
Made FLUID_PROPERTIES data block obsolete.
Changed allocate_pressure to allocate_head
added save_head and echo_input in print_frequency.