Changes in 4.5.1
----------------
(02/2023)
- Added option for automatic calculation of number of nodes (N). If the user selects N=-1 in the IKW file the program will internally calculate the number of nodes for the simulation based on the filter size (VL). The user can still select N if the number of nodes is specified in that file.  

Changes in 4.5.1
----------------
(10/2022)
- Fixed error in dynamic d50 calculation (NPART=8) where before it used the peak rainfall intensity from file .irn and it should be the average rainfall intensity from that file.

Changes in 4.5.0
----------------
(11/2021)
- Mechanistic pesticide trapping: mass balance (default in place of empirical Sabbagh). Selected with option IWQPRO=3 in IWQ file.
- Internal sediment particle d50 dynamic calculation (avoids unrealistic d50 user parametrization). It considers not only source soil characteristics but hydrology and sediment characteristics for each individual event. Selected with option NPART=8 in ISD file.
- Improved surface residue fate component after event with new: physical pesticide soil leaching,  surface (sediment and mixing layer) mass balance and degradation, partial remobilization of surface porewater mass and  carry over. Selected with option IMOB=1 at the end of IWQ file.
- Fix printing bug fix on the hydrograph in .OHY output file that did not decline after storm.

Changes in 4.4.3
----------------
(8/2020)
- Updated code to handle the updated soil (.ISO) file for the shallow water table (WT) case (see manual for details). Two changes were made to minimize and simplify the input requirements for WT conditions: a) the end bottom boundary condition (for t>tw) is now hard-set to the Dupuis-Forchheimer (DF) lateral draining stream (the code still contains the Vachaud vertical draining condition that is commented-out); b) the last line in the .iso file (if present) reads the heterogeneity ratio between horizontal and vertical conductivities for the lateral DF end bottom boundary condition, and if not given is assumed to 1 (homogenous); and c) the bubbling pressure is now only a parameter of Brooks-Corey soil characteristic curves, where the van Genuchten curves are applied to the full range from saturation.

- Updated model PDF documentation (online and in distribution package) to include shallow water table (description and command line and windows users), new pesticide equations and brief description of use for regulatory pesticide exposure assessments; new references.

Changes in 4.4.2
----------------
(9/2019)
- Fixed bug for z (infiltration wetting front depth) written in output table in .OHY when using the shallow water table option, whereby z continued to grow after the wetting front intersected the water table.
- Added new pesticide remobilization schemes (options in IWQ file). This includes a new partial remobilization of just the (mixing layer) liquid phase residue, where the solid (sediment-bonded) residue stays on the surface and influences de next equilibrium partitioning for the next event in the series. This new scheme is tested for highly sorbed pesticides against field data, and its effect evaluated in long-term high tier regulatory environmental assessments.

Changes in 4.4.1
----------------
(8/2018)
- For compatibility with gfortran, changed line 167 in input.f from "IF(ITHETATYPE.EQ.2) then hb=1/PARW(2)" to "IF(ITHETATYPE.EQ.2) hb=1/PARW(2)"
- Fixed plotting issue with decreasing "z" (wetting front) in .ohy output file

Changes in 4.4.0
----------------
(8/2018)
- Coded alternative pesticide reduction (dP) equations including Sabbagh (2009), free fitting Sabbagh from Reichenberger et al. (2018), mass balance adapt. from Mu�oz-Carpena (2015), and Chen (2016). These are now considered in the first input IWQPRO of the .iwq file.
- Fixed bug on tail of hydrograph that at times would not come down to 0 when sufficient time after inflow was allowed (additional time in IRN file with rain=0 (see manual).
- Changed format to scientific(E10.3) for Vi and Ei in IWQ file. Needed to check calculation of Fph.
- Additional SCHK option, where surface flooding (ponding) is triggered when the average water level in all nodes is > 0.

Changes in 4.3.2
----------------
(01/2016)
- Change in output formats in IWQ to handle a case of no inflow and precipitation.

Changes in 4.3.1
----------------
(11/2015)
- Change in output format for "Sediment inflow" in OWQ to handle large numbers.

Changes in 4.3.0
----------------
(10/2015)
- Promoted to version 4.3.0 release for long-term pesticide assessments.
- Increased number of iterations in the infiltration Green-Ampt solution to improve convergence.
- Change in output format for FPH in OWQ to handle large numbers.

Changes in 4.2.6
----------------
(10/2015)
- Fixed a rare output overflow on the "Runoff inflow reduction� line in OWQ when there is very little field inflow and most of the outflow comes from rain.
- Increased number of iterations in the infiltration Green-Ampt solution to improve convergence. This fixes negative infiltration issue encountered by some users.
- Improved integration of sediment outflow routine. This improves mass balance and fixes an issue with very small negative sediment outflows when the amount of sediment through the filter is very large.

Changes in 4.2.5
----------------
(08/2015)
- Removed extra set of parenthesis on WRITE statement of line 524 of inputs.f. GFORTRAN did not handle this in the compilation.
- Added new dynamic time step (dt) calculation scheme of Jaber & Mohtar (J. Hyd. Eng. 2002, 7(1):3-11) to handle difficult problems (kinematic shock in sharp front problems). dt is calculated from N and estimated time of concentration in the filter and not directly from CR. CR is now internally calculated from the new dt values to obtain the Petrov-Galerkin coefficients.
- Changed format of Fph output in *.OWQ to scientific format to show cases when sediment reduction is close to 100% and Fph is large.
- Fixed output when incoming pesticide is very small (close to 0) so that residue partitioning and degradation does not produce NaN in OWQ.

IMPORTANT� Recommended input values
1. Number of nodes. In the file IKW, please change the number of node calculation based on VL (filter size) to the following N=odd(VL/3*11)/2)  (Note: half N of what we used to recommend and N must be odd at the end of the calc.)
2. To improve robustness for long-simulation pesticide exposure frameworks, in the file IKW, use a CR=0.5 for all sims. This is a conservative value that is likely not needed in most single simulations (normally CR=0.8).
3. Provide long enough simulation lenght to capture tail of hydrograph. For this it is recommended the the simulation is 25% longer than the rain (or inflow). For this add to lines to the end of the IRN value wit rain equals 0 as explained in manual. For example,
4 4.2593E-06 'Nrain, Rpeak (m/s)
0 4.2593E-06
10800 4.2593E-06 '(3 * 3600s)
10801 0          ' (next two lines set length of simulation to 25% longer than rain)
13500 0

Changes in 4.2.4
----------------
(04/2014)
- Added error handling for no. of days in pest. degradation calculations (max 366, file IWQ), and steps in hydrograph (file IRO) and rainfall (file IRN) (max=200).
- Added error handling when no incoming flow or sediment is provided in IRO or IRN files so that it does not produce NaN in output files.
(02/2014)
- Added additional cases for the water table scenarios (gasubwt.f)
- Fixed calculation of pesticide degradation rate, Kref= Ln(2)/t_halflife (inputs.f)
- Fixed unit conversion for gas constant in pesticide degradation equation (outmass.f)
- Added a check for high sorption pesticides when all pesticide in filter is sediment-bonded (outmass.f)
- Various static improvements in IWQ output file (outmass.f)


Changes in 4.2.3
----------------
(08/2013)
- Fixed bug in duration of the simulation handling (IRN file). If the user did not add a double end line in the IRN (i.e. end of simulation) to the IRN file, the program now sets the end of the simulation to the longest of the field inflow (IRO file) or rain series (IRN file).

Changes in 4.2.1
----------------
(08/2012)
- Fixed minor bug for case when only lateral inflow is provided (no rain), like in some model testing laboratory scenarios (UCL, Belgium). Outflow hydrograph now ends in zero if sufficient time is provided).

Changes in 4.2.0 (Pdegr)
----------------
(05/2012)
- New in-filter mass pesticide mass balance calculated at the end of the event. Prepared for integration in EU SWAN registration tool.
- Degradation subroutine to calculate degradation  of sediment bonded and mixing layer residue at the end of the event towards the beginning of the next event. It uses FOCUS equations that need daily surface soil temperature and moisture for every day betwwen two consecutive runoff events.
- Daily eair temperature (i.e. PRZM files or other source) can be used as mixing and surface soil moisture. Moisture content can be estimated based on running mass balance.
- For additional details see EU AIM and SWAN reports (http://abe.ufl.edu/carpena/vfsmod/FOCUSreports.shtml).

Changes in 4.x.x (WT)
----------------
(06/2011)
- Added new subroutine to solve the soil infiltration problem for unsteady rain in the presence of a shallow water table using a modified Green-Ampt infiltration model as proposed by Salvucci and Entekhabi (1995), Chu (1996) and work by the authors of this program. The method was extended  to include mass balance on the surface as proposed by Skaggs (1982) and Khaleel (1982) in Hydrologic modeling of small watersheds, ASAE mon. no. 5, and Chu (1978, Water Resour. Res.). An extended soil input file (.iso) is required in this case. If an additional numeric parameter (WTD, water table depth, m) is found in the second line of the standard .iso file, then soil characteristic curve inputs are read  (below the second line in .iso) and the new subroutine (gasubwt.f) is called. Notice that SAV and OI values are ignored. Details of the structure of the extended .iso input file are provided in the user manual, and sample files are also the distribution package (see sampleWT.prj).
- New surface ponding forcing scheme (NPFORCE=1), when overland flow reached the check node NCHK (and zw>0, t<tw for the WT case) the infiltration is at capacity regardless of ponding or not from point excess calculation.

Changes in 3.0.P (WQ-Pest.)
----------------
(08/2008)

- Error checking on input files. It will print error and exit gracefully if any of the project files are missing
- Restructured code to add water quality components while ensuring backwards compatibility. New IWQ flag added at the end of IKW file inputs. If "1" is present there it will expect a new input file with IWQ extension and produce a new output OWQ file. If no flag is present or a character other that "1" is there it will execute with no water quality component. The new program files WQSUB.f handles the processing of the water quality component when the component is selected. In addition, changes were made to VFSMOD.f, INPUTS.f, FINPUTS.f and OUTMASS.f.

Changes in v2.4.5 since version 2.4.4
--------------------------------------
(05/2007)

-Variables used in the sediment deposition component (YT, XT, FI) now initialized to 0. This is needed by some versions of public domain compilers that do not do this initialization by default (g77, gfortran).
-Silent option now produces outputs in og1 in g or g/s as opposed to g/cm or g/cm.s as before. This is needed in the inverse optimization when optimizing FWIDTH.

Changes in v2.4.4 since version 2.4.3
--------------------------------------
(01/2007)

-Checked for initial content OI< OS) change to exclude OI=OI case that would divide by 0 during the Green-Ampt calculation.

Changes in v2.4.3 since version 2.4.2.a
--------------------------------------
(01/2007)

-Added silent mode (use: vfsm filename 1). This suppresses the welcome screen for batch simulations. This is used in the inverse calibration procedure.

Changes in v2.4.2a since version 2.4.2
--------------------------------------
(09/2006)

-Instantaneous infiltration fi added to *.ohy output file to facilitate water quality calculations. Modified files kwwrite.f and inputs.f.

Changes in v2.4.2 since version 2.2.1
-----------------------------------
(12/2004)

-Fixed seed for Newton-Raphson in step3.f:ln 82�. Found convergence problem for large runoff events in an application in Michigan.
-Changed version to match GUI

Changes in v2.2.1 since version 2.2.0
-----------------------------------
(05/2003)
- Fixed infiltration solution issue when initial F is 0. It was caused by the Newton-Raphson solution algorithm used in the Mein and Larson time implicit solution to the Green-Ampt equation. The solution will not take as a seed total infiltration F= 0.
- Added work-around for problem found when compiling vfsm with the unix g77 (gcc v3.1) fortran compiler. There is a bug in the compiler by which local variables are not treated properly. This gave different (incorrect) results for the cumulative flows calculated in kwwrite.f (written in .ohy file) between code compiled with g77 and other compilers (including those in PC). The cumulative values are now declared in a common block to force them to be static.


Changes in v2.2.0 since version 2.01
-----------------------------------
(05/2003)
- Added exception check for when thetai=porosity that caused the model to fail when solving the Green-Ampt ecuation.
- Added runoff mass balance in .osp file and better handling of runoff in an impermeable plane (Ks=0).
- Increased decimals in osp file to improve resolution of Sensitivity Analysis graphs.
- Moved version up to match new public release of windows design version GUI (VFSMOD-W)

Changes in v2.01 since version 1.06
------------------------------------
(04/2003)
- Modified grassed.f, step3.f and outmass.f to handle small sediment events
- Several minor changes to integrate program with new design version GUI (VFSMOD-W)
- Moved version up to match new windows design version GUI (VFSMOD-W)

Changes in v1.06 since version 1.05
------------------------------------
(03/2002)
- Fixed problem when incoming sediment was 100% fine. This was caused by a line out of sequence in sediment filtration subroutine (step3.f). Fixed.
- Changed affiliation of one of the authors.

Changes in v1.05 since version 1.04b
------------------------------------
(16/12/00)
-New way of handling a sediment filled strip (grassed.f) . After this happens (NFUP=1), all the sediment inflow is routed to the outflow end (no deposition) and without stopping the simulation. This way the simulation summary (*.osm) now shows realistic trapping efficiencies and mass balance (outmass.f).

(5/12/00)
- Sediment trapping subroutine (step3.f) re-worked to avoid problems with equilibrium slope Se in some cases that led to NaNs.

(20/10/00)
- Output format for saturated hydraulic conductivity changed to exponential.

Changes in v1.04b since version 1.04
-----------------------------------
(28/02/00)
- Windows GUI to handle UH and VFSMOD programs now available. Both fortran codes modified to produce outputs suitable for the GUI.
- Improved model outputs. New output files give more details on the simulations and a new output summary file summarizes filter performance (*.osp)
- Updated and expanded documentation. The manual has been revised and now contains numerous new sections on model use, reference tables for inputs to use in the model, and new documentation on the UH utility. An on-line version of the manual can be found on the web site and a PDF version is included in the distribution files.

(05/02/2000)
-Modified output format (from fixed to exponential) to allow for printing of long simulations and large sediment and flow quantities in files input.f, kwwrite.f and outmass.f.

Changes in v1.04 since version 1.03
-----------------------------------
(10/24/99)
- Modified finput.f to accept project files (.lis or .prj).
This enables the user to use any naming convention and
directory structure for inputs and outputs. Documentation
needs to be added to the User guide to illustrate this
method of inputting the files.

(10/16/99)
- Expanded Rain array to 200 to match uh. In inputs.f, fixed totalrain
calculation so the array will not try to access index=i-1 at i=1,

(08/09/99)
- Event for which strip fills up are now handled differently. The new procedure is, after filter strip is filled up, to stop sediment deposition and short-circuit incoming sediment to the filter exit while keeping routing water. At the end of the simulation the final sediment trapping efficiency is calculated based on the sediment captured before filling the filter and the amount that passed through after that time.

(3/28/99)
- Preprocessing program UH now implemented. The program prepares inputs for VFSmod based on readily available hydrological and soils data (NRCS method). This program is used in design approach.

Changes in v1.03 since version 1.02
-----------------------------------
(03/14/99)
- Added Total rainfall (mm) for storm in the Storm parameters section in *.ohy and *.osm output files.

(03/14/99)
- Reworked finput subroutine to extend filename length to 25 characters
- Documentation (both Frame and PDF) updated.

(03/10/99)
- File *.igr splitted in two: *.igr (vegetation characteristics) and *.isd (incoming sediment characteristics) for interfacing with "uh"

(02/28/99)
- New output summary file summarizing filter performance (*.osp). New info on source area (width and length) is requested from the user (file *.iro).
- Minor fix on header of file *.osm (the version date was cut short).

Changes in v1.02 since version 1.01
-----------------------------------
(09/14/98)
- The user does not need to specify the finite element mesh in the *.ikw files. The information now needed is: 1) x-position for each of the segments in which the filter is divided; and 2) surface properties (n, So) for each segment. The model now chooses the nodes where the changes occur based on the total number of nodes selected by the user.

- More detail information on surface properties is included in the output.

- Some parameters little used or confusing have been eliminated (IOUT and others).

- The documentation has been enlarged and revised.
