Everything posted by ianrath
The attached spreadsheet has a macro that saves all worksheets to csv in one go. The workbook can be stored anywhere on a network, and a button created with macro assignment pointing to the routine. The VBA code is copied below for reference. I hope it helps make your TUFLOW modelling more efficient. Private Sub WriteCsvForEachSheet() Dim wbook As String Dim csvname As String Dim Fullcsvname As String Dim ext As String On Error Resume Next wbook = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name Set fs = CreateObject("Scripting.FileSystemObject") 'Loop through all sheets and create (or overwrite) a csv file for each For i = 1 To Sheets.Count Sheets(i).Activate csvname = ActiveSheet.Name ext = fs.GetExtensionName(csvname) If LCase(ext) <> "csv" Then csvname = csvname & ".csv" End If ActiveWorkbook.Save Fullcsvname = ActiveWorkbook.Path & "\" & csvname If fs.FileExists(Fullcsvname) Then fs.Deletefile Fullcsvname End If ActiveWorkbook.SaveAs Filename:=Fullcsvname, FileFormat:=xlCSV, CreateBackup:=False ActiveWorkbook.Close (False) Workbooks.Open wbook Next i Sheets(1).Activate End Sub WriteCsvForEachSheet.xls
Your method sounds good, although we have refined it because of the impact on the results with some models. We use two methods depending on whether we bring the flow into the model at ground level or via the direct rainfall method. If the flow comes into the model at ground level (via a series of hydrographs) we use a polygon layer representing the building outlines and use the Read MI Zpts [ADD] command. Each polygon has an arbitrary value of say 3 (3 metres will be added to zpts within each polygon), and we ensure that the polygons are narrower than the buildings. This attempts to create a gap between buildings if one exists. Generally we use this method for small scale models with a 2m grid. For gaps between buildings that have a highly sensitive impact on results, we close the building gap in 2D and use a 1D channel to represent the gap. This method allows for fine tuning of the gap width, and is independent of the alignment of the grid to the buildings. Take care with the location of the sx lines to ensure that they are away from the raised zpts of the buildings. This method has the advantage that the buildings appear as obstructions on the result maps, and the flood level at the building can be determined from the water surface level at the building edges. Obtaining floor level data is therefore not on the critical path for modelling. You can collect floor level data just for selected buildings where you need a freeboard check. For models using the direct rainfall method (Read MI RF command) we generally keep all buildings at ground level and select a roughness based on whether the building is within a floodway or not. If all buildings are roughened the rainfall applied to the buildings is held back, and can produce hydrograph attenuation downstream. Depending on the catchment this attenuation can have a significant effect on the peak flow. This approach requires an initial run to define the floodways, and we only roughen small buildings to minimise the attenuation effects. For large buildings we keep the building smooth, at gound level, and use a levee at the upstream edges (using the Read MI Z line [ADD] command). This allows for the rainfall within the building to runoff unimpeded, but flowpaths are deflected around the building. We have decided that raising buildings in a direct rainfall model is not a good option. The mass balance errors increase to an acceptable level. This is a viewpoint for models in residential Sydney. I hope it is useful for your modelling.
We have experimented with this for urban modelling and are tending towards a combination of depth and velocity-depth (VxD) to define significant flooding. Our main concern was to eliminate noise from the results and to identify significant flowpaths. Having a VxD component allowed shallow areas to be included if the water was moving. Roadways were therefore appearing as floodways, and isolated patches of ponded water were reduced. The continuity of flowpaths was better defined than by using a depth cut-off criteria alone. After mapping results with different combinations of depth and VxD we are proposing to use the following to define significant flooding: 200mm depth and 0.05m2/s VxD. This combination gives reasonable results for the 100 year event for several suburban catchments in Sydney. We are also looking at eliminating isolated areas of flooding by applying a further cutoff criteria based on area (say eliminating areas less than 50m2). Our models do not consider minor drainage systems on private property, so some surface ponding may be overestimated. Also, we found that using the direct rainfall method with smooth Mannings for houses (outside of floodways) produced patches of VxD greater than 0.05m2/s, originating at the rooves. A cut-off criteria based on minimum area eliminates these misleading results. Other considerations include the accuracy of the data used to develop the model topography, the steepness and roughness of the terrain, and the freeboard applicable to development. When using the direct rainfall feature you will have to use some type of cut-off else the whole model will appear flooded. If you experiment with various depth and VxD cut-offs you should find a combination applicable to your catchment. Good luck with it.