Bug fixes and changes to SSIIM 1 for Windows

Bug fixes and changes for SSIIM 1 for Windows

22. February 2000:
Fixed bug in the grid editor, for marking points with the mouse.
Fixed bug in the grid editor, for removing NoMovePoints.
Fixed bug in the dispersion module, for reading the timei file.

9. March 2000:
Added menu option of writing a control.new file.
Added short-cut keys to view text, map graphics, longitudinal profile, cross-section and the grid editor.

11. March 2000:
Fixed a bug for moving the graphics upwards with the arrow key.

20. March 2000:
Fixed a bug for scaling the graphics upwards with the arrow key.

23. March 2000:
Corrected position of cross-section and longitudinal graphics profiles, so that initially, the bed is always at the bottom of the window.

4. May 2000:
Removed vertical lines for longitudinal plotting of velocity vectors.

5. June 2000:
Fixed bugs for printing longitudinal profiles, verify graphics and text.

18. August 2000:
Changed the boundary water level update algorithm for the transient free surface algorithm, to improve computation of supercritical flow. (not tested)

19. August 2000:
Changed the reading of the "geodata" file, to allow for strange characters included in ASCII files by Microsoft programs.
Added three more data sets to the "control" file: (not tested)
F 107 0 (default)
If F 107 1 is used, the algorithm in the TFS routine is invoked to compute the most upstream water level in the grid by using a 1D backwater computation, even if G 7 data sets are used. If the default value is used, everything should work as before the change.
F 108 0.02 (default)
Minimum water level used by the TFS algorithm. The default value was previously hard-coded
F 109 1.23 0.78 0.2 (default)
Parameters in Brooks' formula for changing the critical sediment particle shear stress on the bed as a function of the bed slope and the water velocity vector. The two first floats are tan(teta) for uphill and downhill slopes, where teta is a kind of angle of repose for the sediments. The third float is a minimum value for the reduction factor. The default values were previously hard-coded.

24. August 2000:
Fixed bugs in the formulas for sediment concentration at the bed.

20. October 2000:
Added G 23 data set: Data set to model scour around submerged structures. If this data set is not used, the position of the grid intersection will move vertically as the grid changes. This data set fixes one grid surface. Five integers are read. The first two are indexes for the first and last cross-section of the surface. The next two are the first and last index of the grid line numbers in the lateral direction. The last and fifth integer is an index for the vertical level.
Example: G 23 31 45 1 18 6
Surface number 6 from the bed is fixed in the region between cross-sections no. 31 and 45 and between the right bank and grid line j=18.
Up to 9 G 23 data sets can be used, if there are multiple submerged structures.
The data set is mostly used in combination with blocking out a region of the flow. This is done by using the G 13 data set.
Also added bedform computations, but this is not tested.

15. November 2000:
Fixed a bug in the "implement" module of the Grid Editor.

4. April 2001:
Enabled the possibility of seeing vertical level 0 (zero), which is used in the depth-averaged computations.
Added new code which is run when the result file is written. The new code computes the depth-averaged horizontal velocities and copies these to level zero. It also makes a new file called "habitat". This file contains the availability curve for transforming the HSI parameter to the preference function when doing habitat hydraulics computations.

17. April 2001:
Added menu option for generating porosity file.

4. May 2001:
Added menu option for reading XCYC/koosurf file. The koosurf file contains the water levels.

17. November 2001:
Fixed a bug in the algorithm updating the water surface. The bug appeared randomly for cases with an outblocked region, and gave an error message to the boogie file: Error in pressure calculation.

17. November 2001:
Started adding DLL files. Not tested yet.

23. November 2001:
Added possibility of writing a "techplot" file. This file is to be used as input for the Tecplot graphics visualization program. The file is written instead of the result file if the F 48 8 data set is in the control file.

27. November 2001:
Fixed a bug in writing the "techplot.dat" file, by using the F 48 8 data set.

28. November 2001:
Fixed more bugs in writing the "techplot.dat" file, by using the F 48 8 data set.

Added option of writing Tecplot files directly from the menu. Also added 2D Tecplot files. They give the plots in the ordinary graphics windows in SSIIM. The 2D plots are not tested yet.

13. December 2001:
Fixed a bug in the Tecplot 2D file. Fixed a bug when viewing cross- sectional or longitudinal graphics and there were more cells in the cross-section/vertical direction than the longitudinal direction. Fixed a bug in the "implementation" option in the Grid Editor. Added "Bed sediment fraction" in the graphics menu.

17. December 2001:
Fixed a bug in the Tecplot 2D file.

2. January 2002:
Implemented two more algorithms for bed interpolation in the GridEditor. (not tested). The algorithms are further described in Chapter 3.3.4 in the new version of the User's Manual.
Fixed the graphics, so that it can not be viewed during startup of the program. Previously, the program could then crash.

7. January 2002:
Added U_x and U_y to the cross-sections/longitudinal profiles in the Tecplot 2D file.

14. January 2002:
Did some modification in the velocity vectors for the cross-sections/ longitudinal profiles in the Tecplot 2D file.

16. January 2002:
Fixed another bug in the velocity vectors for the cross-sections/ longitudinal profiles in the Tecplot 2D file.

24. January 2002:
Fixed a bug in the sediment transport function, regarding the computation of the critical shear stress for a particle. The bug only appeared if the Shields coefficient was not specified on the F 11 data set. The bug had most effect on small particle Reynolds numbers, for example on cases based on data from physical model studies. The bug fix will probably lead to more erosion and higher sediment transport for these cases.

30. January 2002:
Fixed two bugs in the cross-section bed interpolation module in the Grid Editor. Fixed a general bug in the interpolation module and made an improvement of another module of the Grid Editor.

31. January 2002:
Made a new algorithm for bed interpolation, and a small improvement in the other bed interpolation algorithms.

18. February 2002:
Fixed a bug in the porosity algorithm, used in rivers with large stones.

21. February 2002:
Changed the time-dependent sediment computation algorithm, so that the water flow computation is done if the integer on the F 68 data set is not 2. Previously, the criteria was if the F 37 data set integer was 1. Also, changed the call to the bed change computation. If the F 68 data set has an integer 5, the bed changes are not computed.

11. March 2002:
Added porosity/vegetation parameter to the contour map graphics. Fixed a bug for reading the vegdata file, when using the vegdll.dll algorithms.

24. May 2002:
Added a new Tecplot file, where a 2D slice of the geometry is given. This is similar to the previous 2D file, except that the x, y and z coordinates are given in 3D, instead of only the two parameters distance and z in the old version. The new file is written as Tecplot4.dat.

17. June 2002:
Added the option of reading a water quality time series from the M data set in the timei file and using this to compute dispersion.

19. June 2002:
Fixed bugs in reading the timei file with water quality parameters (M data set). Fixed a bug in reading the F 81 data set.

21. June 2002:
Fixed bugs in the stationary solver for the suspended sediments: setting residual norms when there is only sediment inflow from the water surface.

18. July 2002:
Implemented the use of the Schmidt number (F 12) for dispersion computation. Also activated the SOU scheme (F 63 1) for the dispersion computation, but this is not tested yet.

22-26. July 2002:
Fixed several bugs for computing dispersion with the SOU scheme.

2. August 2002:
Added the 'L' option in the timei file, for writing a depth-averaged concentration to the timeo file. The value takes varying cell sizes into account. Also corrected the similar 'Q' option for varying cell sizes.

2. September 2002:
Fixed bugs for computing sediment inflow into the geometry from the water surface.

4. September 2002:
Fixed a bug in the computation of d50 in the algorithm for determining the bed form height. Also added the beddll.dll file. The algorithm using the beddll file is not much tested yet.

9. October 2002:
Fixed bugs for the Schmidt number for the dispersion computation.

11. October 2002:
Expanded arrays for holding variables in timei file from 25 to 1499.

22. October 2002:
Fixed a bug for interpolation of varying water discharge from the timei file.
Added the F 142 data set. This gives a convergence criteria for the update of the water surface. The previous value was 1 % of the water depth, and hard-coded. If the water surface changes were below this value, a warning message was written to the boogie file, and the water surface was not updated. In the new version, the default value is reduced to 0.1 %. And now it can be changed by the user.

4. November 2002:

Added more testing and warning messages for reading the 'innflow' file.

19. November 2002:
Fixed a bug for computing d90 in the sediment transport algorithms.

9. January 2003:
Added red colour for the default inflow boundary for the Grid Editor, and green for the default outflow boundary.

27. January 2003:
Added sediment size 7,8,9 and 10 for the concentration values in the Map graphics.

28. January 2003:
Added another error check for reading the G 13 data set. Added D50 for the bed sediments to the contour map graphics. Fixed an error for choosing the bed fraction/sediment size. Added size in fraction text.

31. January 2003:
Fixed menu so that the compres/conres file indication is more correct. Added code so that the compres file is written instead of the conres file if water quality computations are done instead of sediment computations. The compres and conres files are identical, except for which variables are written.

10. February 2003:
Fixed some bugs for the F 68 2 option in the control file: Sediment computation with fixed bed and no recomputation of the water flow.
Changed some code giving source terms in the Navier-Stokes equations for the transient sediment flow simulation, for dry areas of the grid. Default is now that this algorithm is not used, but it can be invoked by using F 7 N in the control file.

11. February 2003:
Added scales in the map graphics and the grid editor. Fixed a bug for the transient sediment computation, when the program converges within each time step.

17. February 2003:
Added "SedimentGroup" in the Map graphics. This gives the initial sediment distribution at the bed according to the B data sets.
Added possiblitiy to change the values in the contour map from the menu, similar to SSIIM 2.

19. February 2003:
Fixed a bug in the length scales for the Map graphics and the Grid Editor.
Added the TSC1DLL file.

25. February 2003:
Added an automatic scaling option in the contour map graphcs: it is possible to give the maximum and minimum contour line, and the program will interpolate between the values.

5. March 2003:
Fixed a bug in the computation of the bed roughness from the bed grain size distribution.

10. March 2003:
Changed more code for the Navier-Stokes eqations, for the transient sediment flow simulation and dry areas of the grid. Default is now that these algorithm are not used, but can be invoked by using F 7 N in the control file.

12. March 2003:
Added cohesive function to the sediment concentration computation. (F 131) Added time-averaged pressure to update the water surface. (F 143 1)

14. March 2003:
Added algorithm to reduce the build-up of deposited sediments above the water surface.

19. March 2003:
Fixed problem with fracres file. This file was automatically read at the start of the program when sediment computations were done. The file now have to be renamed fracres.pre to be read. This is similar to the conres.pre file.
Increased the maximum allowable residual before the water surface location is recomputed (G 6)

1. April 2003:
Fixed problem with max/min values of the vegetation parameter in the vegdata file. This value had to be between 0.35 and 1.0. After the fix, the values can be between 0.0 and 1000.0

2. April 2003:
Modified algorithm for effect of sloping bed on the critical shear stress for the sediments. The modifications were for the upstream and downstream boundary.

14. April 2003:
Changed the file names of the conres, compres and fracres files. The files that are written from the program gets extensions .new. The program reads the files without extension.

17. April 2003:
Added the "roughm1.dll" file. This file contains code that modify the bed roughness as a function of the computed pressure and given water levels.

24. April 2003:
Fixed a bug in the G 21 data set. The bug is present for surfaces where the flow direction is opposite of the index direction of the cells. If this is the case, a negative value should be used for the first integer, indicating the direction, in the newest version of the program.

1. May 2003:
Increased the maximum size of the geodata file. It is now at around 10 million characters.

16. May 2003:
Added max/min settings for the scaling of the contour plots in the menu.
Fixed bugs and improved algorithms for the bed load vector algorithm (F 78), so that it can be used for multiple sediment sizes. Also improved the TSC1DLL.

20. May 2003:
Fixed a bug in the calling function for the bed form height for the BEDDLL file. Modified the bed load bector algorithm (F 78), giving lower correction factors.

22. May 2003:
Fixed a bug in the bed load vector algoritm (F 78). Also included two options:
F 78 1 0.0 standard Shields parameter is used in the formula
F 78 2 0.0 the Shields parameter is modified by use of Engelund's formula: Shields = 0.4*Shields0^2+0.06

12. June 2003:
Added code copying bed vectors to first and last cross-section in metric. To prevent errors in first and last cross-section when using the F 7 B option.

22. July 2003:
Fixed a bug for the outflow boundary condition when using the F 78 option in the control file.

23. July 2003:
Introduced scales in the cross-section and longitudinal profile graphics.

24. July 2003:
Fixed a bug in calling the TSC1DLL.

17. September 2003:
Added shortcut key for the elliptic grid generator: + e.
Updated BEDDLL with added calling parameters.
Added the Froude number in the Map Graphics.

18. September 2003:
Fixed a bug in the continuity control, for the suspended sediments.
Fixed a bug in setting the grain size distribution at the first and last cross-section.
Fixed a bug in computation of d90 and d50 for the function calling the BEDDLL file.

3. October 2003:
Fixed a bug in reading the koosurf file when there is no XCYC file.
Sat the roughness for the first and last cross-section.
Added possibility of writing Tecplot files, using the P 10 option giving the iterations between each print-out, and setting the F 48 data set to 9.
Added new algorithms for interpolations of fluxes to the surface of the cells. These depend on the F 113 data set. If the integer is 1, a harmonic interpolation is done for all vertical surfaces. If the integer is 2, then this interpolation is only done if the depth/with ratio of the cell is less then 1:50. If the integer is 3, a formula is used to reduce the fluxes on the vertical surfaces for shallow flows. Note that these algorithms are not tested and may give very unpredictable results.

6. October 2003:
Fixed some bugs for writing the Tecplot file and other files.

8. October 2003:
Added the F 106 data set: thickness of active sediment layer.

9. October 2003:
Added the F 149 data set, giving two floats that scale the effective turbulent diffusion in the vertical direction and horizontal direction, respectively. Default: F 149 1.0 1.0.
Added the option of giving in turbulence variables in the innflow file. Then a D is used instead of an E, and k and epsilon are given in addition to the velocities on each line.

10. October 2003:
Changed the calling function for the computation of the bed form height in the BEDDLL file.

20. October 2003:
Added F 150 option with modified wall laws. Two integers are read. The first integer modifies the wall laws for high roughness/water depth ratios. Option 1 uses a three-layer model where the middle layer is when the bed form height is higher than the roughness. Option 2 uses a two-layer model where the middle layer is not used. The inner layer is a linear function. Option 0 is the function used previously. The second integer will use a kappa of 0.4 if the integer is 1. If it is zero, it will modify kappa according to the bed concentration, using Einstein's formula. Default: F 150 0 0
Added the walldll.dll file.

21. October 2003:
Modified calling parameters to the walldll.dll file.
Improved the logical structure for the F 150 data set.
Modified the calling parameters to the tsc1dll.dll file.

27. October 2003:
Fixed a bug in the F 15 data set, giving wrong k values.
Fixed bugs in the bed form smoothing algorithm (F 144).

29. Octuber 2003:
Fixed a number of bugs in the bed form smoothing algorithm (F 144), and added smoothing in longitudinal direction.
Fixed an algorithm in the K 2 data set: zero-gradient boundary conditions at sides.
Implemented a modified wall function for grids with high aspect ratio (F 15 2).

1. November 2003:
Implemented a new modification of the wall function algorithm for grids with high aspect ratio (F 15 3).
Modified the WALLDLL file.

3. November 2003:
Fixed a bug in the function calling the WALLDLL.
Modified the code to avoid a bug in the Tecplot files.

13. November 2003:
Added more parameters to the Tecplot 2D file.
Fixed a bug when the Tecplot 2D file is not written when the program breaks in an inner loop.

15. December 2003:
Added a new option, F 15 3, for the wall laws for the side walls: Friction for velocities and zero grdients for k and epsilon. This option may prevent problems for cases with the combination of shallow water, large bed roughness, high grid distortion ratio and low side roughness.

16. December 2003:
Added another option: F 15 4. This is similar to F 15 3, but wall laws are used for k and epsilon at a level above the bed roughness height.

2. January 2004:
Increased the maximum number of W 6 and W 7 data sets to 1999.
Added new algorithms for shallow water flow: F 151. An integer and a float is read. The float is the minimum water depth in the grid in meters. The default is 3 % of the average grid cell length. The integer is a choise of combination of different parameters. The algorithms are used if the bed level rises above the minimum water depth. The following options can be used:
A: A sink term in the Navier-Stokes equations are used in the shallow areas
B: The SIMPLE corrections are not used in the shallow areas
C: An algorithm setting anb to zero in the shallow areas
The options for the integer are:
0: No special algorithms are used (default)
1: A
2: A+B
3: B
4: B+C
5: C

8. January 2004:
Fixed a bug in the reading of the F 151 data set, so that it will read a negative minimum water depth. This is the default, indicating the program will compute it as 3 % of the average grid cell length.

21. January 2004:
Added a test for sufficient number of S data sets in the control file.

2. February 2004:
Fixed a bug in the test for sufficient number of S data sets, so that the program doesn't stop if there are no S data sets.

19. February 2004:
Added print-out of bed sediment velocities to the Tecplot 2D file, in case the F 78 data set is used.

4. March 2004:
Added new algorithm for computing changes in multiple grain sizes for the bed. Fixed bugs in the sediment continuity algorithms.

5. April 2004:
Increased the number of variables on the O data set in the timei file from 1500 to 3000. Note that the User's Manual says the maximum is 25, which is not correct any more.

26. April 2004:
Modified algorithm for bed shear in upstream cross-section in intiation of sediment transport.
Modified correction of concentrations in initiation of suspended sediment transport.

28. April 2004:
Modified the algorithms for bed changes by removing a part causing deposition above the water surface. However, this may lead to sediment continuity defects.

5. May 2004:
Fixed a bug for the correct inflow of sediments on the I data sets in the control file. This bug was introduced the 26th of April.

6. May 2004:
Fixed a bug for computing the bed changes in the Tecplot 2D file.

10. June 2004:
Improved the initial 1D backwater computation.

11. June 2004:
Added a surface smoothing option: F 154, reading an integer and a float. The smoothing is invoked if the integer is 1. The float is a relaxation of the smoothing, with 0.0 being no smoothing, and 1.0 full smoothing.

24. June 2004:
Added the F 155 data set. This is used in the bed changes algorithm. Two integers are read. If the first one is 1, the factors moving the bed changes from the center of the cell to the corners will be equal for all corners. This means less movement close to the boundary of the grid. If the second integer is 1, the bed level will be allowed to raise over the minimum water depth.

25. June 2004:
Added option to further decrease the bed changes at the boundary - similar to if there were sediments outside the boundary of the grid. This option is used if the first integer on the F 155 data set is 2.

16. August 2004:
Added a new error check for the G 1 data set in the control file.

21. September 2004:
Made the program tolerant for initial error in the koordina file that two points have the same x and y coordinates.

27. October 2004:
Added the F 37 2 option: sediment flux is used instead of sediment concentration at the bed. This option seem to have a bug for simulation with only one sediment size.
Added the F 113 6 option. This is similar to SSIIM 2, where a different algorithm is used to compute the pressure-gradients in the Rhie and Chow interpolation.

28. October 2004:
Added contour map in the longitudinal profile graphics.

9. November 2004:
Added the turbdll.dll file, gving the possibility to code a varying value of the eddy-viscosity in different directions.

15. November 2004:
Fixed a bug in the algorithm for the F 78 data set.
Modified print-out of the following files: habitat (now from menu), spillmid, koosurf, interpol.
Started to add time stamp for sediment print-out to interres file: F 48 19.

16. November 2004:
Fixed yet another bug in the algorithm for the F 78 data set.

22. November 2004:
Fixed a bug in writing the tecplot 2D file.
Added algorithm to write multiple tecplot 3D files.

23. November 2004:
Fixed another bug in writing the tecplot 2D file.

16. December 2004:
Improved control over reading the result file in case of errors in the file.
Enabled time-dependent inflow of suspended sediment transport for inflow given by the G 7 data sets.
Enabled time-stamps in the interpol file (F 48 19)
Fixed bugs for writing concentrations to interpol file with time stamps
Fixed a bug for using the F 53 data set to reduce output to the timei file

28. January 2005:
Added D90 to the graphics. Note this only works for F 90 > 1, and only during/after the computations.
Added F 167 1 data set: If set, this smooths the roughness to prevent grid oscillations.

7. February 2005:
Changed a line for the computation of d90 for the BEDDLL call, to make it more similar to the main code.

18. February 2005:
Added new parameters to the functions in the BEDDLL file: cell indexes + d50/d_mean.
Added new parameters and F 37 2 functionality to the TSC1DLL file and its calling function.

9. March 2005:
Changed the outflow boundary so that it is not necessary to use G 7 data sets to prevent zero flux out.
Changed the outflow boundary conditions for velocities for time-varying flow.
Changed the computation of the scaling of the residuals.
Changed the initialization of the boundary variables after grid changes, when using the G 7 data sets.

10. March 2005:
Enabled time-dpendent discharge from the I data set in the timei file to be used in combination with two G 7 data sets.
Enabled the D data set in the timei file to be used for multiple in/outflows of time-varying discharge.

11. March 2005:
Fixed a bug in an algorithm computing time-variation in the water discharge.

16. March 2005:
Fixed a bug in the warning messages for the F 37 2 option.
Fixed bugs for computing time-variation in the sediment inflow.

4. April 2005:
Changed the algorithm computing the bed form height, so that this parameter is also computed even though a 0, 1 or 2 value is used on the F 90 data set.

15. April 2005:
Fixed a bug in the writing/reading of the fracres file: included also data on the side of the channel.

2. June 2005:
Increased the maximum number of W 4 data sets to 300.
Modified the turbdll.dll, so that different eddy-viscosity in the vertical and horizontal direction can be computed. This is also reflected in the graphics.
Changed the F 139 data set so that two floating point numbers are given: one for the velocities and one for k.

4. July 2005:
Added d50 as a parameter in the Tecplot 2D file, if more than one sediment size is computed.
Changed the setting of initial grain size distributions, so that it is also set on the channel sides.

30. August 2005:
Removed an algorithm where the original bed level was lowered at the downstream cross-section if drying occur.
Fixed a bug where the initial water discharge could be exaggerated if the initial cross-section was not parallell to the y-axis and the G 7 data sets were not used.

25. April 2006:
Corrected several bugs in the contour plots of longitudinal profiles.
Added option of smooth bed boundary: F 15 5
Added damping of turbulence at the water surface: F 185 1 0.43. The last float is an empirical parameter in the damping formula. The formula affects the epsilon values at the water surface in the same way as the epsilon values are modified at the wall.
Added cyclic boundary condition: F 174 500. The integer says how many iterations are done before the inflow boundary is updated with the same values as at the outflow boundary. A negative number may be given, for example F 174 -8. Then the update will only take place after convergence, and the computations will be automatically restarted. This happens 8 times with the current example.

4. August 2006:
Fixed a bug in the computation of the bed elevation changes. The bug occurred occatinally at the upstream and downstream cross-section if the koomin file was used in connection with the free water surface computation. The bug caused typically too high erosion at one cell.
Added the k-omega turbulence model according to Wilcox. This is invoked if the F 24 16 data set is used in the control file. Note that the graphics may say epsilon instead of omega.

9. August 2006:
Fixed a bug in the wall law for turbulent k. This bug was introduced around the 10th of June 2006.

11. August 2006:
Added an error message sent to the boogie file if using the F 115 1 data set in the control file and not having a vegdata file.

14. August 2006:
Added some words in the graphics for omega instead of k when the k-omega model is used.
Changed some of the letters in the tecplot files. Added 3 components of the velocity to the tecplot3D file.

25. August 2006:
Fixed a bug in writing the "interpol" file when the F 48 2 option was used.
Fixed a bug in displaying the "geodata" points in the Grid Editor.

15. September 2006:
Added an algorithm for taking cohesive forces into account only when the bed level is below the original value. This algorithm is invoked by F 190 1 in the control file.

6. October 2006:
Fixed the cross-section contour plot for k and epsilon.

11. October 2006:
Fixed a bug in the number showing in the cross-section graphics.
Added new numbers for choosing sections.

16. October 2006:
Added an algorithm increasing the eddy-viscosity as a function of the vegetation. The formula has an empirical factor proportional with the added eddy-viscosity. The factor can be given on the new F 194 data set. Default value is 0.11. Note that the default algorithm is to take the effect into account. To not take the effect into account, set the F 194 parameter to zero.
Added vegetation parameter in the graphics.

20. October 2006:
Fixed a bug giving water continuity error when modifying the grid in the grid editor and starting up a computation after the "implementation" choise in the menu.

25. October 2006:
Set the default parameter on the F 194 data set to zero.
Modified the vegdata file, so that if an A is given instead of the V, then the vegetation parameter will contain the number of stems pr. square meter instead of number of stems in each cell.
Modified the call to the vegdll so that source terms in the k and epsilon equations can be computed.

27. October 2006:
Fixed several bugs in the shear stress partitioning part of the sediment computation, for the F 90 4 option.
Added a parameter to the computeBedForms function in the BEDDLL and five parameters to the computeShear function in the BEDDLL.

7. November 2006:
Added cyclic boundary condition for the sediment computation. The data is taken from the F 174 data set. Only positive numbers on this data set are used. The cyclic boundary condition only works for steady-state sediment computations. That is, not with the F 37 option or time steps.

8. November 2006:
Changed the F 174 data set so two integers are read. The first is for the water flow computation, and the second is for the steady sediment transport computation. Default: F 174 0 0

9. November 2006:
Added the eddy-viscosity to the result file. The new result file is similar to the old one, except a G is used instead of F as the first letter in each line. And the eddy- viscosity is also included in each line. The new version of the program is compatible with old result files, meaning old result files can still be read. The reason for the update is added eddy-viscosity due to vegetation.

16. November 2006:
Fixed a bug in the Engelund-Hansen formula.

17. November 2006:
Added the cyclic sediment boundary condition to the time-dependent algorithms (F 37 1 and 2)

20. November 2006:
Added the F 196 data set: Bed shear stress prediction. Not tested.
Added the B option to the Vegddll file: Adding four new parameters: Number of stems pr. square meter, diameter of stems, drag coefficient and an empirical parameter for the epsilon equation.
Added the new four parameters to the source term call for the k and epsilon equation, in the vegdll.dll library, together with k and epsilon.

29. November 2006:
Added multiple Schmidt numbers for different sediment sizes on the F 12 data set.

2. December 2006:
Added block-correction for the suspended sediment computation also for the SOU scheme.

8. December 2006:
Added a limiter for the default rough wall laws, so that they will not be smoother than the smooth wall laws even if an extremely small roughness is given.

11. December 2006:
Added a wall law option with a mixture of rough wall law and laminar boundary layar. Invoked by F 15 6.

12. December 2007:
Added the Central and QUICK schemes for the water flow computation. These are invoked from the K 6 data set. The central scheme is used if the number 2 is given, and the QUICK scheme is used if the number is 3.

15. December 2006:
Added legend to the si3dview program, and increased the maximum dimensions of its grid size.

15. January 2007:
Fixed a bug for the vertical velocity in the cyclic boundary condition.
Added new wall laws for combinations of rough and smooth wall laws. Invoked on the F 15 data set. Options 6,7 and 8.

29. January 2007:
Fixed a bug for omega at the walls in the lateral direction.
Coded a new sand slide algorithm. Invoked if the first integer is 200 on the F 56 data set.

30. January 2007:
Fixed a bug in the F 56 200 sand slide algorithm.
Added a new wall law: F 15 8, a three-layer wall law for smooth and rough boundaries.

1. February 2007:
Fixed a big in the F 56 200 sand slide algorithm.
Added the option of having only one symmetry plane (left side). This is done if the first parameter on the K 2 data set is 2.

13. February 2007:
Fixed the "si3dview.exe" file, so that it can read result files with the "G" parameter.

14. February 2007:
Fixed a bug in the F 15 8 and 9 option.

19. February 2007:
Increased the minimu limiter for the F 19 9 option from -0.06 to -0.1.
Added "legend" option in the submenu, under the "View" main menu, giving values of lines in the contour plots and length of velocity vector.

20. February 2007:
Extended the numbering system for multiple Tecplot files.

26. February 2007:
Did some changes in the legend graphics.

13. March 2007:
Changed the Schmidt number on the F 12 data set. Previously, it was possible to read an array of Schmidt numbers for different sediment sizes. This is now moved to the F 199 data set. Now, the F 12 data set only reads one float, which is the Schmidt number used for the water flow and dispersion computation. The number is also used for the sediment computation in the horizontal directions. On the F 199 data set, a series of Schmidt numbers can be given, one for each sediment size. These numbers are only used for the sediment computation, and will only affect the diffusion in the vertical direction.

21. March 2007:
Added a new result data file format: vtk. The format can be read by the ParaView free software.

26. March 2007:
Added transient print-out of multiple vtk files, specified by F 48 10 and 11.
Added new wall function for k, after Rodi (1980). Invoked by F 15 11 in the control file.

27. March 2007:
Increased the number of geodata points the program will accept.

16. April 2007:
Added the slide1dll file. Fixed a bug in the calling of the source term for the epsilon equation using the VEGDLL file.

5. May 2007:
Increased the number of points that can be read from the "geodata" file.

10. July 2007:
Fixed a bug in the longitudinal profile graphics, for large grid sizes.

11. July 2007:
Added the stress1dll file. The DLL is invoked by using a non-zero integer on the F 207 data set. Print-out is given to the tecpolot 3D file in the main program (not user interface) if the F 207 data set is used and simultaneously the F 48 data set has a value of 12. Note this is not tested yet. Fixed some bugs in the sumforce file and the F 189 data set.

16. July 2007:
Fixed a bug for the F 207 data set: Setting the diffusive terms in the Navier-Stokes equation to zero when the stress terms are put into the source.
Added another integer to the F 207 data set. The second integer is the size of the fourth dimension in the stress-array used by the stress1dll.dll. The default value is 9.
Fixed a bug in writing the tec3_nnnnn.dat file.

18. July 2007:
Changed the format for the Reynolds-stresses written to the Tecplot file.
Added alternative production term in the k and epsilon equations, Rstress[27], when the 2nd integer on the F 207 data set is 28 or larger.

20. July 2007:
Added a second-order transient term. Invoked if the F 208 data set is 1 (velocities) or 2 (velocities, k and epsilon). Not tested yet.

18. August 2007:
Fixed a bug for the F 174 data set: symmetric boundary conditions. Now the conditions also work for velocities in the y-direction.

31. August 2007:
Fixed a bug in the velocity vector graphics for the first cross-section. Also made it possible to see the cross-sectional number at the same time as the vectors when choosing Legend in the menu.

6. September 2007:
Added new stress1dll.dll calling function.

7. September 2007:
Changed the algorithms for including the Boussinesq stress terms in the Navier-Stokes equation. If the first integer on the F 207 data set is zero (default) or above 20, then the terms are included. If the integer is between 1 and 20 then the terms have to be computed in the stress1dll DLL.

11. September 2007:
Increased the number of charachters read from the geodata file to 10 000 000 000. Note, this is not the number of points, as there will be many charachters on each line, making up one point.

24. September 2007:
Added another integer to the F 207 data set. The third integer is the number of inner iterations where the stress-sources are not used.

26. September 2007:
Added Reynolds stresses to the graphics. This is only invoked when using the F 207 data set.

3. October 2007:
Added some more Reynolds stress graphics.

8. October 2007:
Fixed some bugs in the block-correction algorithms.

15. October 2007:
Fixed some bugs in the parallel version of SSIIM 1.
The parallel algorithms are invoked by specifying F 206 n in the control file, where n is an integer giving how many processors are to be used.

17. October 2007:
Fixed bugs and improved optimization of parallel algorithms.

23. October 2007:
In the parallel version of SSIIM 1:
Changed many sscanf and fscanf functions to sscanf_s and fscanf_s.
Changed the stress1dll.dll algorithms so that they are not used in the first iteration of the program.
The eddy-viscosity is computed by the stress1dll and put into the Rstress[9] array.
The Pk term is computed by the stress1dll and put into the Rstress[10] array, instead of the Rstress[27] array. This is done if the second integer on the F 207 data set is below 11, instead of 28 as it was before.
Fixed a bug in the zero-gradient boundary condition, velocities in y-direction.
Fixed a bug in the graphics, for long texts causing the program to crash.
Fixed a bug in the computation of the eddy-viscosity from the stress1dll.

27. October 2007:
Fixed a bug in setting the vertical eddy-visosity for the F 207 option in the parallel version.

3. November 2007:
For the parallel version:
Added the F 211 data set: Convergence critieria for the water flow computation. Default: F 211 0.001
Changed the print-out of OpenMP times, so the reference value is also set for sediment computations.
Changed the print-out of OpenMP tiles so that they are only printed if F 2 is D or P.

8. November 2007:
Added secondary currents in graphcis.

13. November 2007:
Fixed an allocation variable overflow error in the 64 bits Windows version.
In the 32 bits Windows version: Changed the format of the residuals in the main window.

23. November 2007:
Implemented F 185 10 0.0, complete zero-gradient boundary condition for k.
Implemented F 212 data set. This data set causes special print-out whenever the "result" file is written. An integer is read. Depending on its value, different files/results are written:
1: Average bed velocity vector in grid direction is written to the boogie file
2: Average bed velocity vector and bed shear stresses are written to the boogie file
3: An "inflow.t" file is written. This can be used as inflow boundary condition. A cyclic boundary condition can be used to compute the values in the file.
4: A "koordina.in" file is written. This gives a grid which is perpendicular to the inflow boundary, and can be used to compute the "inflow.t" file using a cyclic boundary condition.

10. December 2007:
Changed the legend of the vegetation parameter to exponential format in the graphics.

10. January 2008:
Added the Wu bedload formula. It is invoked if the parameter on the F 84 data set is set to 3. To use the hiding/exposure part of Wu's formula, add the F 169 data set with parameters 4 -0.6. The last float is the coefficient in the hiding/exposure function. Note that Wu recommends a critical Shields parameter of 0.03, which can be set on the F 11 data set.

12. January 2008:
Fixed a problem with cyclic boundary conditions and outblocked regions.

14. January 2008:
Added a particle shear stress reduction formula for the sediment transport computation from Wu/Fisher-Antze. The option is F 90 6.

7. February 2008:
Changed the F 207 algorithm, so that the eddy-viscosity computed in the DLL is used for all equations, if the second integer on the data set is larger than 9. If the 2nd integer is 9 or lower, the default eddy-viscosity algorithms are used.

11. February 2008:
Added the F 156 data set. An integer is read. If the integer is 3, then the program stops right before the velocity is computed, but after the non-isotropic Reynolds stresses are computed.
Added three integer arrays in the calling function to the stress1dll. A new stress1dll.dll file is given.

12. February 2008:
Changed the cross-section where the "innflow.t" file is written from. Previously it was between the first and second cross-section. Now it is between the last and second last cross-section.

17. February 2008:
Changed the transfer arays of source terms from the stress1dll file to the main program.

21. February 2008:
Changed the graphics for the Reynolds stresses and the source term.
Removed the option that the Pk term can be computed by the main program when using the Reynolds stress DLL.

22. February 2008:
Fixed some bugs in the graphics for the source terms of the Reynolds stresses.
Moved the Pk term computed by the stress1dll from place 10 to 22 in the Rstress array.

28. February 2008:
Fixed a bug in opening/closing of the control and koordina files while the program is running.

4. March 2008:
Added a fourth integer to the F 207 data set. If the integer is zero (default), the eddy-viscosity computed by the main program is used in the computation of k and epsilon. If the integer is 1 or 3, the eddy-viscosity computed by the stress1dll is used in the computation of k. If the integer is 2 or 3, the eddy-viscosity computed by the stress1dll is used in the computation of epsilon/omega.

26. March 2008:
Fixed a bug for updating the transverse velocities when using the F 174 data set with negative numbers.

29. March 2008:
Fixed bugs for transverse velocities when using the F 174 data set.
Modified the new geodata points in the Grid Editor.

2. February 2009:
Fixed a problem where the bed shear stress computed in the beddll is not correctly shown in the graphcis.

11. February 2009:
Added a test for dry areas, counting the points here the bed level is above the water level. This is written to the boogie file if it is above zero.

14. May 2009:
Increased the maximum number of points in the geodata file used in the bed level interpolation from 10 000 to 10 million.

22. May 2009:
Fixed a bug in reading the 'innflow' file with the E data sets.

25. August 2009:
Added depth-averaged velocity in the plan view graphics
Fixed some bugs in the cyclic boundary condition.

1. September 2009:
Fixed a bug where the hiding-exposure function was not used when the bedslope correction was invoked.
Fixed a bug in the calling function for the beddll, so that the results from the bed shear computation in the beddll is used in the computation of the sediment concentration.

4. September 2009:
Added the F 242 data set. An integer is read, which is the number of loops in an algorithms to distribute erosion/deposition to the corner of a cell during bed changes with limits of movable bed. Default 1000. The purpose of the data set is testing of the algorithm.

8. September 2009:
Fixed a problem with the multi-processor algorithm when not using an F 206 data set on a computer with more processors.

10. September 2009:
Changed a debugging print-out for the F 37 2 option.

11. September 2009:
Added the bgraddll.dll to SSIIM 1. The DLL computes bed concentrations. It is used if the integer on the F 243 data set is above zero.

31. October 2009:
Fixed a bug in calling of the walldll DLL.
Fixed a bug in the fourth parameter on the F 174 data set.

28. November 2009:
Enabled reading of the compres.pre file from the menu.
Added a limiter on large roughness/depth ratios in the 1D initiation of the water velocities.

21. December 2009:
Enabled the print-out of Tecplot/Paraview files from the time-dependent water quality computation, using the P 10/F 48 data sets.

19. January 2010:
Fixed a bug in the control of values in the vegdata file.

30. January 2010:
Removed some of the OpenMP parallelization statments for the computation of the eddy-viscosity. Added two OpenMP "barriers" in the k and epsilon equation. This to improve consistency for running on multiple CPU's (F 206).

13. March 2010:
Added some accuracy and better explenation of the continuity tests printed to the boogie file if F 1 D is used in the control file.

11. May 2010:
Fixed a bug for the use of the P 10 data set in combination with the F 37 2 and the F 68 2 option.

19. November 2010:
Added the floc1dll.dll file. This computes flocculation/breakup of cohesive particles. It is invoked if the integer read on the F 260 data set is above zero.
Added a test for the right order of the sediment sizes on the S data sets.

15. December 2010:
Modified the call to the computeSourceNavierStoke equation in the vegdll, adding more parameters.

12. February 2011:
Fixed a bug related to invoking the free surface function for the first time step.

19. May 2011:
Fixed a bug in the dialog box giving in coordinates for the Grid Editor.

17. June 2011:
Fixed a bug in the dialog box giving parameters for attraction functions in the Grid Editor.

16. July 2011:
Added the F 286 data set where the c_mu coefficient can be given (default 0.09).

30. July 2011: (v. 36)
Increased the maximum number of G 16 and G 23 data sets to 500.

5. August 2011: (v. 36)
Fixed a bug for reading N and B data sets in the control file when the file is very large.

6. August 2011: (v. 36)
Fixed a bug for updating the bed levels when there are outblocked regions above the bed. Also fixed the same bug for the sand slide algorithm F 56 200 and 201. The bug is not fixed for the other F 56 options, but the F 56 200 option usually give a better result than the other F 56 options.

8. August 2011: (v. 37)
Fixed a bug in the wall laws for the code used when using multiple CPU's (F 206).

27. August 2011: (v. 38)
Added an error test for very low thicknesses of the active sediment layer.
Added the eddy-viscosity damping function of Zhang et al (1996) (Eq. 7). This is invoked by F 288 1 in the control file.

3. November 2011: (v. 39)
Fixed a bug in the F 37 2 option, in combination with reading the fracres file.

8. February 2012: (v. 40)
Parallelized the call to the flocdll function.

13. February 2012: (v. 41)
Fixed a bug in initialization of the concentration array, when not reading the fracres file.

11. April 2012: (v. 42)
Added more sediment sizes: up to 50.
Added the F 300 data set, which is used for information to the sediment solver. Two integers are read. The first is the number of iterations done in the solver. The second is used as a flag invoking the block-correction function. This is done if the integer is 1, and not if the integer is 0. Default: F 300 1 1.

12. June 2012: (v. 43)
Added an exit dialog box.

14. June 2012: (v. 43)
Fixed a bug in the I data set by moving a loop initializing the sediment concentrations earlier in the program.

19. June 2012: (v. 44)
Added the F 302 data set. An integer is read. If it is 1, the program will allow the koordina and koomin file to be located at the same level without giving error messages and exiting.

22. August 2013: (v. 46)
Added the F 233 8 option: a first-order extrapolation for the pressure to the water surface.

16. January 2016: (v. 47)
Fixed a bug in the choise of discretiztation scheme for the velocity equations (K 6 data set).

14. June 2016: (v. 48)
Fixed a bug in the eddy-viscosity values written to the output files. Note that the eddy-viscosity written to the result file is the dynamic eddy-viscosity and not the kinematic eddy-viscosity. The difference is a multiplication of the water density.

27. June 2016: (v. 49)
Fixed a bug in writing parameters to the .vtk file used by ParaView: More digits are written for low numbers.