anuga 1.3.5__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (870) hide show
  1. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/__config__.py +21 -0
  2. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/__config__.pyc +0 -0
  3. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/__init__.py +363 -0
  4. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/__init__.pyc +0 -0
  5. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/__metadata__.py +6 -0
  6. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/__metadata__.pyc +0 -0
  7. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/__init__.py +17 -0
  8. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/__init__.pyc +0 -0
  9. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/ermapper_grids.py +251 -0
  10. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/ermapper_grids.pyc +0 -0
  11. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/file_function.py +483 -0
  12. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/file_function.pyc +0 -0
  13. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/gauge.py +1080 -0
  14. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/gauge.pyc +0 -0
  15. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/general_mesh.py +865 -0
  16. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/general_mesh.pyc +0 -0
  17. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/generic_boundary_conditions.py +862 -0
  18. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/generic_boundary_conditions.pyc +0 -0
  19. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/generic_domain.py +2274 -0
  20. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/generic_domain.pyc +0 -0
  21. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/mesh_factory.py +1011 -0
  22. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/mesh_factory.pyc +0 -0
  23. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/mesh_factory_ext.pyd +0 -0
  24. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/neighbour_mesh.py +1488 -0
  25. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/neighbour_mesh.pyc +0 -0
  26. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/neighbour_mesh_ext.pyd +0 -0
  27. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/neighbour_table_ext.pyd +0 -0
  28. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/pmesh2domain.py +299 -0
  29. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/pmesh2domain.pyc +0 -0
  30. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/pmesh2domain_ext.pyd +0 -0
  31. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/quantity.py +2162 -0
  32. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/quantity.pyc +0 -0
  33. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/quantity_ext.pyd +0 -0
  34. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/region.py +321 -0
  35. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/region.pyc +0 -0
  36. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/setup.py +48 -0
  37. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/setup.pyc +0 -0
  38. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tag_region.py +167 -0
  39. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tag_region.pyc +0 -0
  40. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/__init__.py +8 -0
  41. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/show_balanced_limiters.py +87 -0
  42. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_ermapper.py +189 -0
  43. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_gauge.py +539 -0
  44. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_general_mesh.py +517 -0
  45. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_generic_boundary_conditions.py +439 -0
  46. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_generic_domain.py +907 -0
  47. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_ghost.py +52 -0
  48. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_neighbour_mesh.py +1854 -0
  49. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_pmesh2domain.py +219 -0
  50. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_quantity.py +2859 -0
  51. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_region.py +99 -0
  52. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_tag_region.py +258 -0
  53. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_util.py +1632 -0
  54. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/util.py +928 -0
  55. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/util.pyc +0 -0
  56. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/advection/__init__.py +12 -0
  57. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/advection/__init__.pyc +0 -0
  58. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/advection/advection.py +298 -0
  59. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/advection/advection.pyc +0 -0
  60. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/advection/advection_ext.pyd +0 -0
  61. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/advection/setup.py +27 -0
  62. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/advection/setup.pyc +0 -0
  63. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/advection/tests/__init__.py +8 -0
  64. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/advection/tests/test_advection.py +183 -0
  65. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/alpha_shape/__init__.py +4 -0
  66. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/alpha_shape/__init__.pyc +0 -0
  67. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/alpha_shape/alpha_shape.py +654 -0
  68. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/alpha_shape/alpha_shape.pyc +0 -0
  69. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/alpha_shape/setup.py +21 -0
  70. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/alpha_shape/setup.pyc +0 -0
  71. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/alpha_shape/tests/__init__.py +8 -0
  72. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/alpha_shape/tests/test_alpha_shape.py +402 -0
  73. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/anuga_exceptions.py +46 -0
  74. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/anuga_exceptions.pyc +0 -0
  75. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/__init__.py +18 -0
  76. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/__init__.pyc +0 -0
  77. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/caching.py +2531 -0
  78. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/caching.pyc +0 -0
  79. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/dummy_classes_for_testing.py +20 -0
  80. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/dummy_classes_for_testing.pyc +0 -0
  81. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/setup.py +21 -0
  82. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/setup.pyc +0 -0
  83. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/tests/__init__.py +8 -0
  84. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/tests/test_caching.py +895 -0
  85. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/compile_all.py +82 -0
  86. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/compile_all.pyc +0 -0
  87. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/config.py +273 -0
  88. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/config.pyc +0 -0
  89. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/__init__.py +6 -0
  90. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/__init__.pyc +0 -0
  91. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/geo_reference.py +478 -0
  92. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/geo_reference.pyc +0 -0
  93. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/lat_long_UTM_conversion.py +250 -0
  94. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/lat_long_UTM_conversion.pyc +0 -0
  95. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/point.py +128 -0
  96. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/point.pyc +0 -0
  97. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/redfearn.py +233 -0
  98. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/redfearn.pyc +0 -0
  99. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/setup.py +21 -0
  100. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/setup.pyc +0 -0
  101. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/__init__.py +8 -0
  102. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/data/projection_test_points.csv +11 -0
  103. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/data/projection_test_points.lic +17 -0
  104. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/data/projection_test_points_z53.csv +11 -0
  105. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/data/projection_test_points_z53.lic +17 -0
  106. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/data/projection_test_points_z54.csv +11 -0
  107. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/data/projection_test_points_z54.lic +17 -0
  108. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/data/redfearn.lic +17 -0
  109. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/data/redfearn.xls +0 -0
  110. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/test_geo_reference.py +716 -0
  111. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/test_lat_long_UTM_conversion.py +126 -0
  112. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/test_point.py +125 -0
  113. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/test_redfearn.py +508 -0
  114. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/__init__.py +9 -0
  115. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/__init__.pyc +0 -0
  116. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/culvert_class.py +1627 -0
  117. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/culvert_class.pyc +0 -0
  118. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/culvert_polygons.py +114 -0
  119. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/culvert_polygons.pyc +0 -0
  120. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/culvert_routines.py +362 -0
  121. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/culvert_routines.pyc +0 -0
  122. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/new_culvert_class.py +1630 -0
  123. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/new_culvert_class.pyc +0 -0
  124. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/setup.py +21 -0
  125. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/setup.pyc +0 -0
  126. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/__init__.py +8 -0
  127. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/culvert_polygons_example.py +38 -0
  128. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/data/example_rating_curve.csv +20 -0
  129. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/data/example_rating_curve.lic +17 -0
  130. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/data/example_rating_curve2.csv +20 -0
  131. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/data/example_rating_curve2.lic +17 -0
  132. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/data/unittests.lic +17 -0
  133. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/data/unittests.xls +0 -0
  134. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/run_culvert_flat_water_lev.py +173 -0
  135. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/test_culvert_class.py +812 -0
  136. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/test_culvert_polygons.py +84 -0
  137. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/test_culvert_routines.py +586 -0
  138. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/test_culvert_routines_box_10pct.py +342 -0
  139. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/test_culvert_routines_box_1pct.py +342 -0
  140. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/test_culvert_routines_pipe_10pct.py +338 -0
  141. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/test_culvert_routines_pipe_1pct.py +338 -0
  142. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/test_new_culvert_class.py +810 -0
  143. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/__init__.py +9 -0
  144. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/__init__.pyc +0 -0
  145. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/exposure.py +223 -0
  146. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/exposure.pyc +0 -0
  147. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/inundation_damage.py +467 -0
  148. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/inundation_damage.pyc +0 -0
  149. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/setup.py +21 -0
  150. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/setup.pyc +0 -0
  151. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/tests/__init__.py +8 -0
  152. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/tests/test_exposure.py +325 -0
  153. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/tests/test_inundation_damage.py +610 -0
  154. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/error_api.py +130 -0
  155. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/error_api.pyc +0 -0
  156. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/extras.py +193 -0
  157. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/extras.pyc +0 -0
  158. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/__init__.py +54 -0
  159. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/__init__.pyc +0 -0
  160. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/csv_file.py +399 -0
  161. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/csv_file.pyc +0 -0
  162. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/mux.py +120 -0
  163. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/mux.pyc +0 -0
  164. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/netcdf.py +266 -0
  165. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/netcdf.pyc +0 -0
  166. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/pts.py +29 -0
  167. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/pts.pyc +0 -0
  168. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/setup.py +27 -0
  169. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/setup.pyc +0 -0
  170. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/sts.py +293 -0
  171. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/sts.pyc +0 -0
  172. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/sww.py +1552 -0
  173. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/sww.pyc +0 -0
  174. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/tests/__init__.py +8 -0
  175. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/tests/test_csv.py +413 -0
  176. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/tests/test_mux.py +1539 -0
  177. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/tests/test_read_sww.py +350 -0
  178. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/tests/test_sww.py +560 -0
  179. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/tests/test_ungenerate.py +283 -0
  180. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/tests/test_urs.py +217 -0
  181. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/ungenerate.py +92 -0
  182. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/ungenerate.pyc +0 -0
  183. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/urs.py +323 -0
  184. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/urs.pyc +0 -0
  185. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/urs_ext.pyd +0 -0
  186. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/__init__.py +20 -0
  187. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/__init__.pyc +0 -0
  188. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/asc2dem.py +213 -0
  189. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/asc2dem.pyc +0 -0
  190. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/calc_grid_values_ext.pyd +0 -0
  191. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/csv2sts.py +165 -0
  192. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/csv2sts.pyc +0 -0
  193. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/dem2array.py +90 -0
  194. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/dem2array.pyc +0 -0
  195. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/dem2dem.py +145 -0
  196. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/dem2dem.pyc +0 -0
  197. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/dem2pts.py +357 -0
  198. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/dem2pts.pyc +0 -0
  199. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/esri2sww.py +327 -0
  200. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/esri2sww.pyc +0 -0
  201. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/ferret2sww.py +436 -0
  202. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/ferret2sww.pyc +0 -0
  203. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/file_conversion.py +367 -0
  204. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/file_conversion.pyc +0 -0
  205. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/grd2array.py +122 -0
  206. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/grd2array.pyc +0 -0
  207. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sdf2pts.py +181 -0
  208. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sdf2pts.pyc +0 -0
  209. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/setup.py +29 -0
  210. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/setup.pyc +0 -0
  211. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sts2sww_mesh.py +141 -0
  212. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sts2sww_mesh.pyc +0 -0
  213. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sww2array.py +321 -0
  214. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sww2array.pyc +0 -0
  215. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sww2dem.py +550 -0
  216. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sww2dem.pyc +0 -0
  217. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sww2dem_new.py +547 -0
  218. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sww2dem_new.pyc +0 -0
  219. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sww2pts.py +175 -0
  220. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sww2pts.pyc +0 -0
  221. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/__init__.py +8 -0
  222. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_2pts.py +249 -0
  223. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_csv2sts.py +118 -0
  224. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_dem2array.py +121 -0
  225. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_dem2dem.py +220 -0
  226. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_dem2pts.py +411 -0
  227. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_file_conversion.py +953 -0
  228. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_grd2array.py +270 -0
  229. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_sww2dem.py +1882 -0
  230. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_urs2sts.py +2127 -0
  231. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_urs2sww.py +628 -0
  232. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/urs2nc.py +202 -0
  233. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/urs2nc.pyc +0 -0
  234. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/urs2sts.py +316 -0
  235. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/urs2sts.pyc +0 -0
  236. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/urs2sww.py +306 -0
  237. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/urs2sww.pyc +0 -0
  238. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/urs2txt.py +71 -0
  239. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/urs2txt.pyc +0 -0
  240. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/xya2pts.py +39 -0
  241. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/xya2pts.pyc +0 -0
  242. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/__init__.py +12 -0
  243. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/__init__.pyc +0 -0
  244. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/benchmark_least_squares.py +367 -0
  245. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/benchmark_least_squares.pyc +0 -0
  246. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/fit.py +611 -0
  247. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/fit.pyc +0 -0
  248. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/fitsmooth.pyd +0 -0
  249. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/general_fit_interpolate.py +127 -0
  250. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/general_fit_interpolate.pyc +0 -0
  251. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/interpolate.py +1144 -0
  252. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/interpolate.pyc +0 -0
  253. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/interpolate2d.py +305 -0
  254. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/interpolate2d.pyc +0 -0
  255. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/profile_long_benchmark.py +79 -0
  256. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/profile_long_benchmark.pyc +0 -0
  257. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/run_long_benchmark.py +131 -0
  258. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/run_long_benchmark.pyc +0 -0
  259. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/setup.py +37 -0
  260. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/setup.pyc +0 -0
  261. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/tests/test_fit.py +1150 -0
  262. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/tests/test_interpolate.py +1952 -0
  263. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/tests/test_interpolate2d.py +469 -0
  264. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/tests/test_search_functions.py +236 -0
  265. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/ticket178_benchmark.py +66 -0
  266. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/ticket178_benchmark.pyc +0 -0
  267. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/__init__.py +11 -0
  268. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/__init__.pyc +0 -0
  269. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/aabb.py +133 -0
  270. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/aabb.pyc +0 -0
  271. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/polygon.py +1138 -0
  272. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/polygon.pyc +0 -0
  273. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/polygon_ext.pyd +0 -0
  274. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/polygon_function.py +133 -0
  275. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/polygon_function.pyc +0 -0
  276. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/quad.py +190 -0
  277. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/quad.pyc +0 -0
  278. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/setup.py +27 -0
  279. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/setup.pyc +0 -0
  280. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/tests/__init__.py +8 -0
  281. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/tests/test_geometry.py +110 -0
  282. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/tests/test_polygon.py +1994 -0
  283. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geospatial_data/__init__.py +9 -0
  284. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geospatial_data/__init__.pyc +0 -0
  285. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geospatial_data/geospatial_data.py +1698 -0
  286. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geospatial_data/geospatial_data.pyc +0 -0
  287. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geospatial_data/setup.py +21 -0
  288. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geospatial_data/setup.pyc +0 -0
  289. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geospatial_data/tests/test_geospatial_data.py +1853 -0
  290. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/__init__.py +11 -0
  291. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/__init__.pyc +0 -0
  292. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/add_csv_header.py +136 -0
  293. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/add_csv_header.pyc +0 -0
  294. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/file_length.py +14 -0
  295. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/file_length.pyc +0 -0
  296. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/maxasc.py +96 -0
  297. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/maxasc.pyc +0 -0
  298. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/order_boundary.py +109 -0
  299. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/order_boundary.pyc +0 -0
  300. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/setup.py +22 -0
  301. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/setup.pyc +0 -0
  302. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/__init__.py +8 -0
  303. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/perthAll_stage_250m.lic +17 -0
  304. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/perthAll_stage_250m_all.lic +17 -0
  305. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/perthAll_stage_original.lic +17 -0
  306. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test1.asc +17 -0
  307. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test1.lic +17 -0
  308. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test1_bad_num_lines.asc +16 -0
  309. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test1_bad_num_lines.lic +17 -0
  310. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test1_header_differs.asc +17 -0
  311. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test1_header_differs.lic +17 -0
  312. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test1_wrong_num_columns.asc +17 -0
  313. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test1_wrong_num_columns.lic +17 -0
  314. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test2.asc +17 -0
  315. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test2.expected.asc +17 -0
  316. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test2.expected.lic +17 -0
  317. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test2.lic +17 -0
  318. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test3.asc +17 -0
  319. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test3.expected.asc +17 -0
  320. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test3.expected.lic +17 -0
  321. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test3.lic +17 -0
  322. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test_maxasc.py +150 -0
  323. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test_order_boundary.py +397 -0
  324. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/load_mesh/__init__.py +4 -0
  325. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/load_mesh/__init__.pyc +0 -0
  326. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/load_mesh/loadASCII.py +1073 -0
  327. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/load_mesh/loadASCII.pyc +0 -0
  328. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/load_mesh/setup.py +21 -0
  329. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/load_mesh/setup.pyc +0 -0
  330. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/load_mesh/tests/test_loadASCII.py +544 -0
  331. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/__init__.py +4 -0
  332. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/__init__.pyc +0 -0
  333. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/compile.py +9 -0
  334. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/compile.pyc +0 -0
  335. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/mesh_engine.py +221 -0
  336. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/mesh_engine.pyc +0 -0
  337. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/mesh_engine_c_layer.pyd +0 -0
  338. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/setup.py +29 -0
  339. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/setup.pyc +0 -0
  340. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/tests/test_generate_mesh.py +470 -0
  341. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/__init__.py +11 -0
  342. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/__init__.pyc +0 -0
  343. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/base_operator.py +125 -0
  344. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/base_operator.pyc +0 -0
  345. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/boundary_flux_integral_operator.py +79 -0
  346. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/boundary_flux_integral_operator.pyc +0 -0
  347. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/change_friction_operator.py +240 -0
  348. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/change_friction_operator.pyc +0 -0
  349. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/collect_max_quantities_operator.py +142 -0
  350. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/collect_max_quantities_operator.pyc +0 -0
  351. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/collect_max_stage_operator.py +85 -0
  352. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/collect_max_stage_operator.pyc +0 -0
  353. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/compile_all.py +16 -0
  354. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/compile_all.pyc +0 -0
  355. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/elliptic_operator.py +495 -0
  356. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/elliptic_operator.pyc +0 -0
  357. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/erosion_operators.py +859 -0
  358. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/erosion_operators.pyc +0 -0
  359. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/kinematic_viscosity_operator.py +563 -0
  360. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/kinematic_viscosity_operator.pyc +0 -0
  361. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/kinematic_viscosity_operator_ext.pyd +0 -0
  362. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/mannings_operator.py +87 -0
  363. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/mannings_operator.pyc +0 -0
  364. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/mannings_operator_ext.pyd +0 -0
  365. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/rate_operators.py +431 -0
  366. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/rate_operators.pyc +0 -0
  367. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_elevation.py +290 -0
  368. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_elevation.pyc +0 -0
  369. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_elevation_operator.py +148 -0
  370. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_elevation_operator.pyc +0 -0
  371. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_friction_operators.py +159 -0
  372. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_friction_operators.pyc +0 -0
  373. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_quantity.py +172 -0
  374. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_quantity.pyc +0 -0
  375. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_quantity_operator.py +158 -0
  376. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_quantity_operator.pyc +0 -0
  377. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_stage.py +131 -0
  378. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_stage.pyc +0 -0
  379. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_stage_operator.py +135 -0
  380. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_stage_operator.pyc +0 -0
  381. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_w_uh_vh_operator.py +170 -0
  382. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_w_uh_vh_operator.pyc +0 -0
  383. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/setup.py +33 -0
  384. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/setup.pyc +0 -0
  385. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/tests/test_base_operator.py +51 -0
  386. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/tests/test_boundary_flux_integral_operator.py +98 -0
  387. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/tests/test_erosion_operators.py +344 -0
  388. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/tests/test_kinematic_viscosity_operator.py +1366 -0
  389. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/tests/test_rate_operators.py +888 -0
  390. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/tests/test_set_elevation_operator.py +1034 -0
  391. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/tests/test_set_quantity.py +511 -0
  392. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/tests/test_set_stage_operator.py +491 -0
  393. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/tests/test_set_w_uh_vh_operators.py +211 -0
  394. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/__init__.py +31 -0
  395. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/__init__.pyc +0 -0
  396. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/config.py +14 -0
  397. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/config.pyc +0 -0
  398. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/distribute_mesh.py +1682 -0
  399. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/distribute_mesh.pyc +0 -0
  400. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_advection.py +205 -0
  401. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_advection.pyc +0 -0
  402. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_api.py +467 -0
  403. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_api.pyc +0 -0
  404. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_boyd_box_operator.py +332 -0
  405. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_boyd_box_operator.pyc +0 -0
  406. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_boyd_pipe_operator.py +283 -0
  407. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_boyd_pipe_operator.pyc +0 -0
  408. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_generic_communications.py +207 -0
  409. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_generic_communications.pyc +0 -0
  410. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_inlet.py +605 -0
  411. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_inlet.pyc +0 -0
  412. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_inlet_enquiry.py +228 -0
  413. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_inlet_enquiry.pyc +0 -0
  414. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_inlet_operator.py +281 -0
  415. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_inlet_operator.pyc +0 -0
  416. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_internal_boundary_operator.py +230 -0
  417. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_internal_boundary_operator.pyc +0 -0
  418. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_meshes.py +445 -0
  419. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_meshes.pyc +0 -0
  420. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_operator_factory.py +959 -0
  421. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_operator_factory.pyc +0 -0
  422. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_shallow_water.py +282 -0
  423. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_shallow_water.pyc +0 -0
  424. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_structure_operator.py +1241 -0
  425. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_structure_operator.pyc +0 -0
  426. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_weir_orifice_trapezoid_operator.py +281 -0
  427. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_weir_orifice_trapezoid_operator.pyc +0 -0
  428. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/print_stats.py +205 -0
  429. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/print_stats.pyc +0 -0
  430. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/pypar_ext.py +528 -0
  431. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/pypar_ext.pyc +0 -0
  432. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/sequential_distribute.py +309 -0
  433. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/sequential_distribute.pyc +0 -0
  434. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/setup.py +100 -0
  435. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/setup.pyc +0 -0
  436. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/AppShell.py +345 -0
  437. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/AppShell.pyc +0 -0
  438. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/Pmw.py +9253 -0
  439. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/Pmw.pyc +0 -0
  440. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/PmwBlt.py +671 -0
  441. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/PmwBlt.pyc +0 -0
  442. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/PmwColor.py +389 -0
  443. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/PmwColor.pyc +0 -0
  444. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/ProgressBar.py +80 -0
  445. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/ProgressBar.pyc +0 -0
  446. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/__init__.py +4 -0
  447. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/__init__.pyc +0 -0
  448. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/compile.py +24 -0
  449. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/compile.pyc +0 -0
  450. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/cursornames.py +8 -0
  451. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/cursornames.pyc +0 -0
  452. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/exesetup.py +24 -0
  453. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/exesetup.pyc +0 -0
  454. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/graphical_mesh_generator.py +1519 -0
  455. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/graphical_mesh_generator.pyc +0 -0
  456. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/addVertex.gif +0 -0
  457. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/addVertex.lic +16 -0
  458. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/autoSegGiveAlpha.gif +0 -0
  459. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/autoSegGiveAlpha.lic +16 -0
  460. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/default.gif +0 -0
  461. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/default.lic +16 -0
  462. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/edit.gif +0 -0
  463. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/edit.lic +16 -0
  464. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/hole.gif +0 -0
  465. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/hole.lic +16 -0
  466. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/joinVer.gif +0 -0
  467. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/joinVer.lic +16 -0
  468. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/meshGen.gif +0 -0
  469. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/meshGen.lic +16 -0
  470. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/no_see.gif +0 -0
  471. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/no_see.lic +16 -0
  472. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/pointer.gif +0 -0
  473. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/pointer.lic +16 -0
  474. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/region.gif +0 -0
  475. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/region.lic +16 -0
  476. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/see.gif +0 -0
  477. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/see.lic +16 -0
  478. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/segment.gif +0 -0
  479. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/segment.lic +16 -0
  480. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/sep.gif +0 -0
  481. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/sep.lic +16 -0
  482. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/vertex.gif +0 -0
  483. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/vertex.lic +16 -0
  484. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/zoom0.5.gif +0 -0
  485. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/zoom0.5.lic +16 -0
  486. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/zoom2.gif +0 -0
  487. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/zoom2.lic +16 -0
  488. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/zoomToMesh.gif +0 -0
  489. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/zoomToMesh.lic +16 -0
  490. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/mesh.py +2416 -0
  491. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/mesh.pyc +0 -0
  492. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/mesh_interface.py +373 -0
  493. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/mesh_interface.pyc +0 -0
  494. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/mesh_quadtree.py +130 -0
  495. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/mesh_quadtree.pyc +0 -0
  496. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/run_setup.py +43 -0
  497. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/run_setup.pyc +0 -0
  498. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/setup.py +22 -0
  499. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/setup.pyc +0 -0
  500. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/tests/test_mesh.py +2129 -0
  501. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/tests/test_mesh_interface.py +988 -0
  502. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/tests/test_meshquad.py +189 -0
  503. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/timing.py +150 -0
  504. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/timing.pyc +0 -0
  505. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/toolbarbutton.py +80 -0
  506. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/toolbarbutton.pyc +0 -0
  507. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/ungen_example.py +69 -0
  508. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/ungen_example.pyc +0 -0
  509. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/view_tsh.py +47 -0
  510. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/view_tsh.pyc +0 -0
  511. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/visualmesh.py +302 -0
  512. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/visualmesh.pyc +0 -0
  513. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pymetis/__init__.py +6 -0
  514. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pymetis/__init__.pyc +0 -0
  515. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pymetis/metis_ext.pyd +0 -0
  516. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pymetis/setup.py +54 -0
  517. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pymetis/setup.pyc +0 -0
  518. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pymetis/tests/__init__.py +8 -0
  519. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pymetis/tests/test_metis.py +141 -0
  520. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/setup.py +49 -0
  521. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/setup.pyc +0 -0
  522. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/__init__.py +12 -0
  523. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/__init__.pyc +0 -0
  524. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/boundaries.py +1028 -0
  525. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/boundaries.pyc +0 -0
  526. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/checkpoint.py +118 -0
  527. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/checkpoint.pyc +0 -0
  528. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/forcing.py +1339 -0
  529. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/forcing.pyc +0 -0
  530. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/most2nc.py +101 -0
  531. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/most2nc.pyc +0 -0
  532. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/setup.py +37 -0
  533. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/setup.pyc +0 -0
  534. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/shallow_water_domain.py +3114 -0
  535. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/shallow_water_domain.pyc +0 -0
  536. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/shallow_water_ext.pyd +0 -0
  537. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/swDE1_domain_ext.pyd +0 -0
  538. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/swb2_domain.py +576 -0
  539. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/swb2_domain.pyc +0 -0
  540. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/swb2_domain_ext.pyd +0 -0
  541. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/sww_interrogate.py +652 -0
  542. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/sww_interrogate.pyc +0 -0
  543. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/__init__.py +8 -0
  544. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/data/polygon_values_example.csv +46 -0
  545. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/data/polygon_values_example.lic +17 -0
  546. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/data/test_points_large.csv +7855 -0
  547. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/data/test_points_large.lic +17 -0
  548. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/data/test_points_small.csv +17 -0
  549. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/data/test_points_small.lic +17 -0
  550. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_DE1_domain.py +111 -0
  551. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_data_manager.py +879 -0
  552. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_forcing.py +2271 -0
  553. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_loadsave.py +212 -0
  554. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_local_extrapolation_and_flux_updating.py +114 -0
  555. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_most2nc.py +52 -0
  556. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_shallow_water_domain.py +8670 -0
  557. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_swb2_domain.py +106 -0
  558. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_sww_interrogate.py +888 -0
  559. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_system.py +193 -0
  560. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/1-z.grd-e-mux2 +0 -0
  561. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/1-z.grd-n-mux2 +0 -0
  562. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/1-z.grd-z-mux2 +0 -0
  563. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/1-z.lic +55 -0
  564. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/2-z.grd-e-mux2 +0 -0
  565. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/2-z.grd-n-mux2 +0 -0
  566. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/2-z.grd-z-mux2 +0 -0
  567. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/2-z.lic +55 -0
  568. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/3-z.grd-e-mux2 +0 -0
  569. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/3-z.grd-n-mux2 +0 -0
  570. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/3-z.grd-z-mux2 +0 -0
  571. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/3-z.lic +55 -0
  572. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_0.csv +252 -0
  573. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_0.lic +25 -0
  574. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_1.csv +252 -0
  575. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_1.lic +25 -0
  576. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_2.csv +252 -0
  577. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_2.lic +25 -0
  578. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_3.csv +252 -0
  579. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_3.lic +25 -0
  580. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_4.csv +252 -0
  581. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_4.lic +25 -0
  582. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_0.csv +252 -0
  583. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_0.lic +25 -0
  584. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_1.csv +252 -0
  585. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_1.lic +25 -0
  586. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_2.csv +252 -0
  587. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_2.lic +25 -0
  588. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_3.csv +252 -0
  589. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_3.lic +25 -0
  590. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_4.csv +252 -0
  591. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_4.lic +25 -0
  592. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_0.csv +252 -0
  593. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_0.lic +25 -0
  594. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_1.csv +252 -0
  595. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_1.lic +25 -0
  596. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_2.csv +252 -0
  597. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_2.lic +25 -0
  598. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_3.csv +252 -0
  599. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_3.lic +25 -0
  600. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_4.csv +252 -0
  601. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_4.lic +25 -0
  602. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_0.csv +252 -0
  603. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_0.lic +25 -0
  604. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_1.csv +252 -0
  605. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_1.lic +25 -0
  606. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_2.csv +252 -0
  607. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_2.lic +25 -0
  608. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_3.csv +252 -0
  609. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_3.lic +25 -0
  610. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_4.csv +252 -0
  611. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_4.lic +25 -0
  612. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_0.csv +252 -0
  613. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_0.lic +25 -0
  614. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_1.csv +252 -0
  615. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_1.lic +25 -0
  616. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_2.csv +252 -0
  617. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_2.lic +25 -0
  618. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_3.csv +252 -0
  619. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_3.lic +25 -0
  620. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_4.csv +252 -0
  621. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_4.lic +25 -0
  622. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_0.csv +252 -0
  623. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_0.lic +25 -0
  624. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_1.csv +252 -0
  625. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_1.lic +25 -0
  626. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_2.csv +252 -0
  627. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_2.lic +25 -0
  628. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_3.csv +252 -0
  629. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_3.lic +25 -0
  630. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_4.csv +252 -0
  631. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_4.lic +25 -0
  632. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_0.csv +252 -0
  633. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_0.lic +25 -0
  634. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_1.csv +252 -0
  635. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_1.lic +25 -0
  636. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_2.csv +252 -0
  637. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_2.lic +25 -0
  638. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_3.csv +252 -0
  639. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_3.lic +25 -0
  640. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_4.csv +252 -0
  641. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_4.lic +25 -0
  642. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_0.csv +252 -0
  643. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_0.lic +25 -0
  644. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_1.csv +252 -0
  645. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_1.lic +25 -0
  646. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_2.csv +252 -0
  647. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_2.lic +25 -0
  648. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_3.csv +252 -0
  649. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_3.lic +25 -0
  650. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_4.csv +252 -0
  651. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_4.lic +25 -0
  652. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/thinned_bound_order_test.lic +18 -0
  653. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/thinned_bound_order_test.txt +6 -0
  654. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_0.csv +252 -0
  655. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_0.lic +25 -0
  656. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_1.csv +252 -0
  657. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_1.lic +25 -0
  658. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_2.csv +252 -0
  659. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_2.lic +25 -0
  660. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_3.csv +252 -0
  661. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_3.lic +25 -0
  662. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_4.csv +252 -0
  663. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_4.lic +25 -0
  664. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_0.csv +252 -0
  665. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_0.lic +25 -0
  666. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_1.csv +252 -0
  667. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_1.lic +25 -0
  668. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_2.csv +252 -0
  669. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_2.lic +25 -0
  670. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_3.csv +252 -0
  671. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_3.lic +25 -0
  672. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_4.csv +252 -0
  673. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_4.lic +25 -0
  674. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_0.csv +252 -0
  675. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_0.lic +25 -0
  676. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_1.csv +252 -0
  677. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_1.lic +25 -0
  678. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_2.csv +252 -0
  679. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_2.lic +25 -0
  680. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_3.csv +252 -0
  681. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_3.lic +25 -0
  682. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_4.csv +252 -0
  683. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_4.lic +25 -0
  684. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_0.csv +252 -0
  685. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_0.lic +25 -0
  686. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_1.csv +252 -0
  687. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_1.lic +25 -0
  688. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_2.csv +252 -0
  689. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_2.lic +25 -0
  690. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_3.csv +252 -0
  691. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_3.lic +25 -0
  692. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_4.csv +252 -0
  693. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_4.lic +25 -0
  694. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tsh2sww.py +65 -0
  695. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tsh2sww.pyc +0 -0
  696. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/__init__.py +5 -0
  697. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/__init__.pyc +0 -0
  698. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/boyd_box_operator.py +380 -0
  699. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/boyd_box_operator.pyc +0 -0
  700. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/boyd_box_operator_Amended3.py +245 -0
  701. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/boyd_box_operator_Amended3.pyc +0 -0
  702. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/boyd_pipe_operator.py +305 -0
  703. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/boyd_pipe_operator.pyc +0 -0
  704. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/inlet.py +289 -0
  705. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/inlet.pyc +0 -0
  706. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/inlet_enquiry.py +146 -0
  707. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/inlet_enquiry.pyc +0 -0
  708. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/inlet_operator.py +229 -0
  709. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/inlet_operator.pyc +0 -0
  710. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/internal_boundary_functions.py +431 -0
  711. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/internal_boundary_functions.pyc +0 -0
  712. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/internal_boundary_operator.py +169 -0
  713. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/internal_boundary_operator.pyc +0 -0
  714. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/riverwall.py +738 -0
  715. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/riverwall.pyc +0 -0
  716. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/setup.py +24 -0
  717. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/setup.pyc +0 -0
  718. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/structure_operator.py +757 -0
  719. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/structure_operator.pyc +0 -0
  720. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/data/hecras_bridge_table.csv +105 -0
  721. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/data/inlet_operator_test1.lic +17 -0
  722. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/data/inlet_operator_test1.tms +0 -0
  723. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/data/inlet_operator_test2.lic +17 -0
  724. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/data/inlet_operator_test2.tms +0 -0
  725. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/data/test_hydrograph.tms +0 -0
  726. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/test_boyd_box_operator.py +2623 -0
  727. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/test_boyd_pipe_operator.py +482 -0
  728. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/test_inlet_operator.py +311 -0
  729. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/test_internal_boundary_functions.py +96 -0
  730. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/test_riverwall_structure.py +619 -0
  731. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/test_weir_orifice_trapezoid_operator.py +650 -0
  732. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/weir_orifice_trapezoid_operator.py +387 -0
  733. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/weir_orifice_trapezoid_operator.pyc +0 -0
  734. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/test_all.py +282 -0
  735. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/test_all.pyc +0 -0
  736. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/__init__.py +13 -0
  737. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/__init__.pyc +0 -0
  738. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/eqf.py +147 -0
  739. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/eqf.pyc +0 -0
  740. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/eqf_v2.py +559 -0
  741. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/eqf_v2.pyc +0 -0
  742. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/okada_tsunami.py +347 -0
  743. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/okada_tsunami.pyc +0 -0
  744. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/setup.py +27 -0
  745. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/setup.pyc +0 -0
  746. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/smf.py +467 -0
  747. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/smf.pyc +0 -0
  748. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/data/fullokada_MS.lic +23 -0
  749. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/data/fullokada_MS.txt +36 -0
  750. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/data/fullokada_SP.lic +23 -0
  751. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/data/fullokada_SP.txt +36 -0
  752. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/data/fullokada_SS.lic +23 -0
  753. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/data/fullokada_SS.txt +36 -0
  754. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/okada_tsunami_octave_95.txt +101 -0
  755. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/test_eq.py +67 -0
  756. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/test_okada_tsunami.py +439 -0
  757. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/test_smf.py +143 -0
  758. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/test_tsunami_okada.py +303 -0
  759. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tsunami_okada.py +1885 -0
  760. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tsunami_okada.pyc +0 -0
  761. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/__init__.py +11 -0
  762. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/__init__.pyc +0 -0
  763. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/argparsing.py +76 -0
  764. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/argparsing.pyc +0 -0
  765. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/cg_ext.pyd +0 -0
  766. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/cg_solve.py +327 -0
  767. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/cg_solve.pyc +0 -0
  768. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/compile.py +497 -0
  769. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/compile.pyc +0 -0
  770. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/csv_tools.py +121 -0
  771. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/csv_tools.pyc +0 -0
  772. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/data_audit.py +404 -0
  773. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/data_audit.pyc +0 -0
  774. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/data_audit_wrapper.py +52 -0
  775. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/data_audit_wrapper.pyc +0 -0
  776. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/file_utils.py +308 -0
  777. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/file_utils.pyc +0 -0
  778. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/function_utils.py +117 -0
  779. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/function_utils.pyc +0 -0
  780. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/interp.py +318 -0
  781. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/interp.pyc +0 -0
  782. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/log.py +414 -0
  783. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/log.pyc +0 -0
  784. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/log_analyser.py +77 -0
  785. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/log_analyser.pyc +0 -0
  786. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/mem_time_equation.py +106 -0
  787. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/mem_time_equation.pyc +0 -0
  788. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/model_tools.py +457 -0
  789. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/model_tools.pyc +0 -0
  790. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/norms.py +16 -0
  791. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/norms.pyc +0 -0
  792. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/numerical_tools.py +397 -0
  793. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/numerical_tools.pyc +0 -0
  794. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/parallel_abstraction.py +67 -0
  795. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/parallel_abstraction.pyc +0 -0
  796. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/parse.py +26 -0
  797. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/parse.pyc +0 -0
  798. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/plot_utils.py +1237 -0
  799. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/plot_utils.pyc +0 -0
  800. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/quad_tree_ext.pyd +0 -0
  801. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/quantity_setting_functions.py +612 -0
  802. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/quantity_setting_functions.pyc +0 -0
  803. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/quickPlots.py +164 -0
  804. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/quickPlots.pyc +0 -0
  805. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/run_anuga_script.py +70 -0
  806. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/run_anuga_script.pyc +0 -0
  807. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/setup.py +39 -0
  808. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/setup.pyc +0 -0
  809. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/sparse.py +398 -0
  810. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/sparse.pyc +0 -0
  811. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/sparse_ext.pyd +0 -0
  812. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/sparse_matrix_ext.pyd +0 -0
  813. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/spatialInputUtil.py +1394 -0
  814. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/spatialInputUtil.pyc +0 -0
  815. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/sww_merge.py +820 -0
  816. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/sww_merge.pyc +0 -0
  817. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/system_tools.py +646 -0
  818. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/system_tools.pyc +0 -0
  819. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/terminal_width.py +60 -0
  820. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/terminal_width.pyc +0 -0
  821. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/data/complex_polygon.csv +4 -0
  822. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/data/complex_polygon.lic +17 -0
  823. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/data/crc_test_file.lic +17 -0
  824. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/data/crc_test_file.png +0 -0
  825. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/data/mainland_only.csv +669 -0
  826. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/data/mainland_only.lic +33 -0
  827. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/data/non_complex_polygon.csv +5 -0
  828. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/data/non_complex_polygon.lic +17 -0
  829. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_cg_solve.py +569 -0
  830. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_csv_tools.py +435 -0
  831. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_data_audit.py +393 -0
  832. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_file_utils.py +157 -0
  833. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_function_utils.py +65 -0
  834. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_log_analyser.py +89 -0
  835. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_mem_time_equation.py +47 -0
  836. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_numerical_tools.py +616 -0
  837. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_plot_utils.py +455 -0
  838. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_quantity_setting_functions.py +369 -0
  839. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_sparse.py +215 -0
  840. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_spatialInputUtil.py +418 -0
  841. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_system_tools.py +483 -0
  842. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_xml_tools.py +316 -0
  843. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/util_ext.pyd +0 -0
  844. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/where_close.py +219 -0
  845. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/where_close.pyc +0 -0
  846. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/xml_tools.py +326 -0
  847. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/xml_tools.pyc +0 -0
  848. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/__init__.py +15 -0
  849. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/__init__.pyc +0 -0
  850. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/fabricate.py +1429 -0
  851. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/fabricate.pyc +0 -0
  852. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/parameters.py +24 -0
  853. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/parameters.pyc +0 -0
  854. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/produce_report.py +38 -0
  855. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/produce_report.pyc +0 -0
  856. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/run_validation.py +51 -0
  857. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/run_validation.pyc +0 -0
  858. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/save_parameters_tex.py +17 -0
  859. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/save_parameters_tex.pyc +0 -0
  860. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/setup.py +22 -0
  861. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/setup.pyc +0 -0
  862. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/typeset_report.py +55 -0
  863. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/typeset_report.pyc +0 -0
  864. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/version.py +11 -0
  865. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/version.pyc +0 -0
  866. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga-1.3.5-py2.7.egg-info/PKG-INFO +117 -0
  867. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga-1.3.5-py2.7.egg-info/SOURCES.txt +1329 -0
  868. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga-1.3.5-py2.7.egg-info/dependency_links.txt +1 -0
  869. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga-1.3.5-py2.7.egg-info/not-zip-safe +1 -0
  870. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga-1.3.5-py2.7.egg-info/top_level.txt +1 -0
@@ -0,0 +1,1882 @@
1
+ import unittest, os
2
+ import numpy as num
3
+
4
+ from anuga.abstract_2d_finite_volumes.mesh_factory import rectangular
5
+ from anuga.shallow_water.shallow_water_domain import Domain
6
+ from anuga.config import netcdf_mode_r
7
+ from anuga.file.netcdf import NetCDFFile
8
+
9
+ from anuga.coordinate_transforms.geo_reference import Geo_reference, \
10
+ DEFAULT_ZONE
11
+
12
+ from anuga.file.sww import SWW_file
13
+
14
+ # boundary functions
15
+ from anuga.shallow_water.boundaries import Reflective_boundary, \
16
+ Field_boundary, Transmissive_momentum_set_stage_boundary, \
17
+ Transmissive_stage_zero_momentum_boundary
18
+ from anuga.abstract_2d_finite_volumes.generic_boundary_conditions\
19
+ import Transmissive_boundary, Dirichlet_boundary, \
20
+ Time_boundary, File_boundary, AWI_boundary
21
+
22
+ # local modules
23
+ from anuga.file_conversion.sww2dem import sww2dem, sww2dem_batch
24
+
25
+ class Test_Sww2Dem(unittest.TestCase):
26
+ def setUp(self):
27
+ import time
28
+ from anuga.abstract_2d_finite_volumes.mesh_factory import rectangular
29
+
30
+ # Create basic mesh
31
+ points, vertices, boundary = rectangular(2, 2)
32
+
33
+ # Create shallow water domain
34
+ domain = Domain(points, vertices, boundary)
35
+ domain.default_order = 2
36
+
37
+ # Set some field values
38
+ domain.set_quantity('elevation', lambda x,y: -x)
39
+ domain.set_quantity('friction', 0.03)
40
+
41
+
42
+ ######################
43
+ # Boundary conditions
44
+ B = Transmissive_boundary(domain)
45
+ domain.set_boundary( {'left': B, 'right': B, 'top': B, 'bottom': B})
46
+
47
+
48
+ ######################
49
+ #Initial condition - with jumps
50
+ bed = domain.quantities['elevation'].vertex_values
51
+ stage = num.zeros(bed.shape, num.float)
52
+
53
+ h = 0.3
54
+ for i in range(stage.shape[0]):
55
+ if i % 2 == 0:
56
+ stage[i,:] = bed[i,:] + h
57
+ else:
58
+ stage[i,:] = bed[i,:]
59
+
60
+ domain.set_quantity('stage', stage)
61
+
62
+
63
+ domain.distribute_to_vertices_and_edges()
64
+ self.domain = domain
65
+
66
+ C = domain.get_vertex_coordinates()
67
+ self.X = C[:,0:6:2].copy()
68
+ self.Y = C[:,1:6:2].copy()
69
+
70
+ self.F = bed
71
+ self.verbose = False
72
+
73
+
74
+ def tearDown(self):
75
+ pass
76
+
77
+
78
+ def test_sww2dem_asc_elevation_depth(self):
79
+ """test_sww2dem_asc_elevation_depth
80
+
81
+ Test that sww information can be converted correctly to asc/prj
82
+ format readable by e.g. ArcView
83
+
84
+ Also check geo_reference is correct
85
+ """
86
+
87
+ import time, os
88
+
89
+ # Setup
90
+ self.domain.set_name('datatest')
91
+
92
+ prjfile = self.domain.get_name() + '_elevation.prj'
93
+ ascfile = self.domain.get_name() + '_elevation.asc'
94
+ swwfile = self.domain.get_name() + '.sww'
95
+
96
+ self.domain.set_datadir('.')
97
+ self.domain.format = 'sww'
98
+ self.domain.smooth = True
99
+ self.domain.set_quantity('elevation', lambda x,y: -x-y)
100
+ self.domain.set_quantity('stage', 1.0)
101
+
102
+ self.domain.geo_reference = Geo_reference(56, 308500, 6189000)
103
+
104
+ sww = SWW_file(self.domain)
105
+ sww.store_connectivity()
106
+ sww.store_timestep()
107
+
108
+
109
+ self.domain.evolve_to_end(finaltime = 0.01)
110
+ sww.store_timestep()
111
+
112
+ cellsize = 0.25
113
+ #Check contents
114
+ #Get NetCDF
115
+
116
+ fid = NetCDFFile(sww.filename, netcdf_mode_r)
117
+
118
+ # Get the variables
119
+ x = fid.variables['x'][:]
120
+ y = fid.variables['y'][:]
121
+ z = fid.variables['elevation'][:]
122
+ time = fid.variables['time'][:]
123
+ stage = fid.variables['stage'][:]
124
+
125
+ # Check georeferencig: zone, xllcorner and yllcorner
126
+ assert fid.zone == 56
127
+ assert fid.xllcorner == 308500
128
+ assert fid.yllcorner == 6189000
129
+
130
+
131
+ fid.close()
132
+
133
+ #Export to ascii/prj files
134
+ sww2dem(self.domain.get_name()+'.sww',
135
+ self.domain.get_name()+'_elevation.asc',
136
+ quantity = 'elevation',
137
+ cellsize = cellsize,
138
+ number_of_decimal_places = 9,
139
+ verbose = self.verbose)
140
+
141
+ #Check prj (meta data)
142
+ prjid = open(prjfile)
143
+ lines = prjid.readlines()
144
+ prjid.close()
145
+
146
+ L = lines[0].strip().split()
147
+ assert L[0].strip().lower() == 'projection'
148
+ assert L[1].strip().lower() == 'utm'
149
+
150
+ L = lines[1].strip().split()
151
+ assert L[0].strip().lower() == 'zone'
152
+ assert L[1].strip().lower() == '56'
153
+
154
+ L = lines[2].strip().split()
155
+ assert L[0].strip().lower() == 'datum'
156
+ assert L[1].strip().lower() == 'wgs84'
157
+
158
+ L = lines[3].strip().split()
159
+ assert L[0].strip().lower() == 'zunits'
160
+ assert L[1].strip().lower() == 'no'
161
+
162
+ L = lines[4].strip().split()
163
+ assert L[0].strip().lower() == 'units'
164
+ assert L[1].strip().lower() == 'meters'
165
+
166
+ L = lines[5].strip().split()
167
+ assert L[0].strip().lower() == 'spheroid'
168
+ assert L[1].strip().lower() == 'wgs84'
169
+
170
+ L = lines[6].strip().split()
171
+ assert L[0].strip().lower() == 'xshift'
172
+ assert L[1].strip().lower() == '500000'
173
+
174
+ L = lines[7].strip().split()
175
+ assert L[0].strip().lower() == 'yshift'
176
+ assert L[1].strip().lower() == '10000000'
177
+
178
+ L = lines[8].strip().split()
179
+ assert L[0].strip().lower() == 'parameters'
180
+
181
+
182
+ #Check asc file
183
+ ascid = open(ascfile)
184
+ lines = ascid.readlines()
185
+ ascid.close()
186
+
187
+ L = lines[0].strip().split()
188
+ assert L[0].strip().lower() == 'ncols'
189
+ assert L[1].strip().lower() == '5'
190
+
191
+ L = lines[1].strip().split()
192
+ assert L[0].strip().lower() == 'nrows'
193
+ assert L[1].strip().lower() == '5'
194
+
195
+ L = lines[2].strip().split()
196
+ assert L[0].strip().lower() == 'xllcorner'
197
+ assert num.allclose(float(L[1].strip().lower()), 308500)
198
+
199
+ L = lines[3].strip().split()
200
+ assert L[0].strip().lower() == 'yllcorner'
201
+ assert num.allclose(float(L[1].strip().lower()), 6189000)
202
+
203
+ L = lines[4].strip().split()
204
+ assert L[0].strip().lower() == 'cellsize'
205
+ assert num.allclose(float(L[1].strip().lower()), cellsize)
206
+
207
+ L = lines[5].strip().split()
208
+ assert L[0].strip() == 'NODATA_value'
209
+ assert L[1].strip().lower() == '-9999'
210
+
211
+ #Check grid values
212
+ for j in range(5):
213
+ L = lines[6+j].strip().split()
214
+ y = (4-j) * cellsize
215
+ for i in range(5):
216
+ assert num.allclose(float(L[i]), -i*cellsize - y)
217
+
218
+ #Cleanup
219
+ os.remove(prjfile)
220
+ os.remove(ascfile)
221
+
222
+ ascfile = self.domain.get_name() + '_depth.asc'
223
+ prjfile = self.domain.get_name() + '_depth.prj'
224
+
225
+ #Export to ascii/prj files
226
+ sww2dem(self.domain.get_name()+'.sww',
227
+ ascfile,
228
+ quantity = 'depth',
229
+ cellsize = cellsize,
230
+ number_of_decimal_places = 9,
231
+ verbose = self.verbose)
232
+
233
+ #Check asc file
234
+ ascid = open(ascfile)
235
+ lines = ascid.readlines()
236
+ ascid.close()
237
+
238
+ L = lines[0].strip().split()
239
+ assert L[0].strip().lower() == 'ncols'
240
+ assert L[1].strip().lower() == '5'
241
+
242
+ L = lines[1].strip().split()
243
+ assert L[0].strip().lower() == 'nrows'
244
+ assert L[1].strip().lower() == '5'
245
+
246
+ L = lines[2].strip().split()
247
+ assert L[0].strip().lower() == 'xllcorner'
248
+ assert num.allclose(float(L[1].strip().lower()), 308500)
249
+
250
+ L = lines[3].strip().split()
251
+ assert L[0].strip().lower() == 'yllcorner'
252
+ assert num.allclose(float(L[1].strip().lower()), 6189000)
253
+
254
+ L = lines[4].strip().split()
255
+ assert L[0].strip().lower() == 'cellsize'
256
+ assert num.allclose(float(L[1].strip().lower()), cellsize)
257
+
258
+ L = lines[5].strip().split()
259
+ assert L[0].strip() == 'NODATA_value'
260
+ assert L[1].strip().lower() == '-9999'
261
+
262
+ #Check grid values
263
+ for j in range(5):
264
+ L = lines[6+j].strip().split()
265
+ y = (4-j) * cellsize
266
+ for i in range(5):
267
+ assert num.allclose(float(L[i]), 1 - (-i*cellsize - y))
268
+
269
+
270
+ #Cleanup
271
+ os.remove(prjfile)
272
+ os.remove(ascfile)
273
+ os.remove(swwfile)
274
+
275
+
276
+
277
+ def test_sww2dem_larger(self):
278
+ """Test that sww information can be converted correctly to asc/prj
279
+ format readable by e.g. ArcView. Here:
280
+
281
+ ncols 11
282
+ nrows 11
283
+ xllcorner 308500
284
+ yllcorner 6189000
285
+ cellsize 10.000000
286
+ NODATA_value -9999
287
+ -100 -110 -120 -130 -140 -150 -160 -170 -180 -190 -200
288
+ -90 -100 -110 -120 -130 -140 -150 -160 -170 -180 -190
289
+ -80 -90 -100 -110 -120 -130 -140 -150 -160 -170 -180
290
+ -70 -80 -90 -100 -110 -120 -130 -140 -150 -160 -170
291
+ -60 -70 -80 -90 -100 -110 -120 -130 -140 -150 -160
292
+ -50 -60 -70 -80 -90 -100 -110 -120 -130 -140 -150
293
+ -40 -50 -60 -70 -80 -90 -100 -110 -120 -130 -140
294
+ -30 -40 -50 -60 -70 -80 -90 -100 -110 -120 -130
295
+ -20 -30 -40 -50 -60 -70 -80 -90 -100 -110 -120
296
+ -10 -20 -30 -40 -50 -60 -70 -80 -90 -100 -110
297
+ 0 -10 -20 -30 -40 -50 -60 -70 -80 -90 -100
298
+
299
+ """
300
+
301
+ import time, os
302
+
303
+ #Create basic mesh (100m x 100m)
304
+ points, vertices, boundary = rectangular(2, 2, 100, 100)
305
+
306
+ #Create shallow water domain
307
+ domain = Domain(points, vertices, boundary)
308
+ domain.default_order = 2
309
+
310
+ domain.set_name('datatest')
311
+
312
+ prjfile = domain.get_name() + '_elevation.prj'
313
+ ascfile = domain.get_name() + '_elevation.asc'
314
+ swwfile = domain.get_name() + '.sww'
315
+
316
+ domain.set_datadir('.')
317
+ domain.format = 'sww'
318
+ domain.smooth = True
319
+ domain.geo_reference = Geo_reference(56, 308500, 6189000)
320
+
321
+ #
322
+ domain.set_quantity('elevation', lambda x,y: -x-y)
323
+ domain.set_quantity('stage', 0)
324
+
325
+ B = Transmissive_boundary(domain)
326
+ domain.set_boundary( {'left': B, 'right': B, 'top': B, 'bottom': B})
327
+
328
+
329
+ #
330
+ sww = SWW_file(domain)
331
+ sww.store_connectivity()
332
+ sww.store_timestep()
333
+
334
+ domain.tight_slope_limiters = 1
335
+ domain.evolve_to_end(finaltime = 0.01)
336
+ sww.store_timestep()
337
+
338
+ cellsize = 10 #10m grid
339
+
340
+
341
+ #Check contents
342
+ #Get NetCDF
343
+
344
+ fid = NetCDFFile(sww.filename, netcdf_mode_r)
345
+
346
+ # Get the variables
347
+ x = fid.variables['x'][:]
348
+ y = fid.variables['y'][:]
349
+ z = fid.variables['elevation'][:]
350
+ time = fid.variables['time'][:]
351
+ stage = fid.variables['stage'][:]
352
+
353
+
354
+ #Export to ascii/prj files
355
+ sww2dem(domain.get_name() + '.sww',
356
+ domain.get_name() + '_elevation.asc',
357
+ quantity = 'elevation',
358
+ cellsize = cellsize,
359
+ number_of_decimal_places = 9,
360
+ verbose = self.verbose,
361
+ block_size=2)
362
+
363
+
364
+ #Check prj (meta data)
365
+ prjid = open(prjfile)
366
+ lines = prjid.readlines()
367
+ prjid.close()
368
+
369
+ L = lines[0].strip().split()
370
+ assert L[0].strip().lower() == 'projection'
371
+ assert L[1].strip().lower() == 'utm'
372
+
373
+ L = lines[1].strip().split()
374
+ assert L[0].strip().lower() == 'zone'
375
+ assert L[1].strip().lower() == '56'
376
+
377
+ L = lines[2].strip().split()
378
+ assert L[0].strip().lower() == 'datum'
379
+ assert L[1].strip().lower() == 'wgs84'
380
+
381
+ L = lines[3].strip().split()
382
+ assert L[0].strip().lower() == 'zunits'
383
+ assert L[1].strip().lower() == 'no'
384
+
385
+ L = lines[4].strip().split()
386
+ assert L[0].strip().lower() == 'units'
387
+ assert L[1].strip().lower() == 'meters'
388
+
389
+ L = lines[5].strip().split()
390
+ assert L[0].strip().lower() == 'spheroid'
391
+ assert L[1].strip().lower() == 'wgs84'
392
+
393
+ L = lines[6].strip().split()
394
+ assert L[0].strip().lower() == 'xshift'
395
+ assert L[1].strip().lower() == '500000'
396
+
397
+ L = lines[7].strip().split()
398
+ assert L[0].strip().lower() == 'yshift'
399
+ assert L[1].strip().lower() == '10000000'
400
+
401
+ L = lines[8].strip().split()
402
+ assert L[0].strip().lower() == 'parameters'
403
+
404
+
405
+ #Check asc file
406
+ ascid = open(ascfile)
407
+ lines = ascid.readlines()
408
+ ascid.close()
409
+
410
+ L = lines[0].strip().split()
411
+ assert L[0].strip().lower() == 'ncols'
412
+ assert L[1].strip().lower() == '11'
413
+
414
+ L = lines[1].strip().split()
415
+ assert L[0].strip().lower() == 'nrows'
416
+ assert L[1].strip().lower() == '11'
417
+
418
+ L = lines[2].strip().split()
419
+ assert L[0].strip().lower() == 'xllcorner'
420
+ assert num.allclose(float(L[1].strip().lower()), 308500)
421
+
422
+ L = lines[3].strip().split()
423
+ assert L[0].strip().lower() == 'yllcorner'
424
+ assert num.allclose(float(L[1].strip().lower()), 6189000)
425
+
426
+ L = lines[4].strip().split()
427
+ assert L[0].strip().lower() == 'cellsize'
428
+ assert num.allclose(float(L[1].strip().lower()), cellsize)
429
+
430
+ L = lines[5].strip().split()
431
+ assert L[0].strip() == 'NODATA_value'
432
+ assert L[1].strip().lower() == '-9999'
433
+
434
+ #Check grid values (FIXME: Use same strategy for other sww2dem tests)
435
+ for i, line in enumerate(lines[6:]):
436
+ for j, value in enumerate( line.split() ):
437
+ assert num.allclose(float(value), -(10-i+j)*cellsize,
438
+ atol=1.0e-12, rtol=1.0e-12)
439
+
440
+ # Note: Equality can be obtained in this case,
441
+ # but it is better to use allclose.
442
+ #assert float(value) == -(10-i+j)*cellsize
443
+
444
+
445
+ fid.close()
446
+
447
+ #Cleanup
448
+ os.remove(prjfile)
449
+ os.remove(ascfile)
450
+ os.remove(swwfile)
451
+
452
+
453
+
454
+ def test_sww2dem_larger_zero(self):
455
+ """Test example has rows with a large number of zeros
456
+
457
+ ncols 2001
458
+ nrows 2
459
+ xllcorner 308500
460
+ yllcorner 6189000
461
+ cellsize 1.000000
462
+ NODATA_value -9999
463
+ 0.0 ....
464
+ """
465
+
466
+ import time, os
467
+
468
+ #Setup
469
+
470
+ from anuga.abstract_2d_finite_volumes.mesh_factory import rectangular_cross
471
+
472
+ #Create basic mesh (100m x 100m)
473
+ points, vertices, boundary = rectangular_cross(20, 1, 20.0, 1.0)
474
+
475
+ #Create shallow water domain
476
+ domain = Domain(points, vertices, boundary)
477
+ domain.default_order = 1
478
+
479
+ domain.set_name('datatest')
480
+
481
+ prjfile = domain.get_name() + '_elevation.prj'
482
+ ascfile = domain.get_name() + '_elevation.asc'
483
+ swwfile = domain.get_name() + '.sww'
484
+
485
+ domain.set_datadir('.')
486
+ domain.format = 'sww'
487
+ domain.smooth = True
488
+ domain.geo_reference = Geo_reference(56, 308500, 6189000)
489
+
490
+ #
491
+ domain.set_quantity('elevation', 0)
492
+ domain.set_quantity('stage', 0)
493
+
494
+ B = Transmissive_boundary(domain)
495
+ domain.set_boundary( {'left': B, 'right': B, 'top': B, 'bottom': B})
496
+
497
+
498
+ #
499
+ sww = SWW_file(domain)
500
+ sww.store_connectivity()
501
+ sww.store_timestep()
502
+
503
+ domain.tight_slope_limiters = 1
504
+ domain.evolve_to_end(finaltime = 0.01)
505
+ sww.store_timestep()
506
+
507
+ cellsize = 1.0 #0.1 grid
508
+
509
+
510
+ #Check contents
511
+ #Get NetCDF
512
+
513
+ fid = NetCDFFile(sww.filename, netcdf_mode_r)
514
+
515
+ # Get the variables
516
+ x = fid.variables['x'][:]
517
+ y = fid.variables['y'][:]
518
+ z = fid.variables['elevation'][:]
519
+ time = fid.variables['time'][:]
520
+ stage = fid.variables['stage'][:]
521
+
522
+
523
+ #Export to ascii/prj files
524
+ sww2dem(domain.get_name()+'.sww',
525
+ domain.get_name() + '_elevation.asc',
526
+ quantity = 'elevation',
527
+ cellsize = cellsize,
528
+ number_of_decimal_places = 9,
529
+ verbose = self.verbose,
530
+ block_size=2)
531
+
532
+
533
+ #Check prj (meta data)
534
+ prjid = open(prjfile)
535
+ lines = prjid.readlines()
536
+ prjid.close()
537
+
538
+
539
+ L = lines[0].strip().split()
540
+ assert L[0].strip().lower() == 'projection'
541
+ assert L[1].strip().lower() == 'utm'
542
+
543
+ L = lines[1].strip().split()
544
+ assert L[0].strip().lower() == 'zone'
545
+ assert L[1].strip().lower() == '56'
546
+
547
+ L = lines[2].strip().split()
548
+ assert L[0].strip().lower() == 'datum'
549
+ assert L[1].strip().lower() == 'wgs84'
550
+
551
+ L = lines[3].strip().split()
552
+ assert L[0].strip().lower() == 'zunits'
553
+ assert L[1].strip().lower() == 'no'
554
+
555
+ L = lines[4].strip().split()
556
+ assert L[0].strip().lower() == 'units'
557
+ assert L[1].strip().lower() == 'meters'
558
+
559
+ L = lines[5].strip().split()
560
+ assert L[0].strip().lower() == 'spheroid'
561
+ assert L[1].strip().lower() == 'wgs84'
562
+
563
+ L = lines[6].strip().split()
564
+ assert L[0].strip().lower() == 'xshift'
565
+ assert L[1].strip().lower() == '500000'
566
+
567
+ L = lines[7].strip().split()
568
+ assert L[0].strip().lower() == 'yshift'
569
+ assert L[1].strip().lower() == '10000000'
570
+
571
+ L = lines[8].strip().split()
572
+ assert L[0].strip().lower() == 'parameters'
573
+
574
+
575
+ #Check asc file
576
+ ascid = open(ascfile)
577
+ lines = ascid.readlines()
578
+ ascid.close()
579
+
580
+
581
+
582
+ L = lines[0].strip().split()
583
+ assert L[0].strip().lower() == 'ncols'
584
+ assert L[1].strip().lower() == '21'
585
+
586
+ L = lines[1].strip().split()
587
+ assert L[0].strip().lower() == 'nrows'
588
+ assert L[1].strip().lower() == '2'
589
+
590
+ L = lines[2].strip().split()
591
+ assert L[0].strip().lower() == 'xllcorner'
592
+ assert num.allclose(float(L[1].strip().lower()), 308500)
593
+
594
+ L = lines[3].strip().split()
595
+ assert L[0].strip().lower() == 'yllcorner'
596
+ assert num.allclose(float(L[1].strip().lower()), 6189000)
597
+
598
+ L = lines[4].strip().split()
599
+ assert L[0].strip().lower() == 'cellsize'
600
+ assert num.allclose(float(L[1].strip().lower()), cellsize)
601
+
602
+ L = lines[5].strip().split()
603
+ assert L[0].strip() == 'NODATA_value'
604
+ assert L[1].strip().lower() == '-9999'
605
+
606
+ #Check grid values (FIXME: Use same strategy for other sww2dem tests)
607
+ for i, line in enumerate(lines[6:]):
608
+ for j, value in enumerate( line.split() ):
609
+ #print value
610
+ assert num.allclose(float(value), 0.0,
611
+ atol=1.0e-12, rtol=1.0e-12)
612
+
613
+ # Note: Equality can be obtained in this case,
614
+ # but it is better to use allclose.
615
+ #assert float(value) == -(10-i+j)*cellsize
616
+
617
+
618
+ fid.close()
619
+
620
+
621
+ #Cleanup
622
+ os.remove(prjfile)
623
+ os.remove(ascfile)
624
+ os.remove(swwfile)
625
+
626
+
627
+
628
+
629
+ def test_sww2dem_boundingbox(self):
630
+ """Test that mesh can be restricted by bounding box
631
+
632
+ Original extent is 100m x 100m:
633
+
634
+ Eastings: 308500 - 308600
635
+ Northings: 6189000 - 6189100
636
+
637
+ Bounding box changes this to the 50m x 50m square defined by
638
+
639
+ Eastings: 308530 - 308570
640
+ Northings: 6189050 - 6189100
641
+
642
+ The cropped values should be
643
+
644
+ -130 -140 -150 -160 -170
645
+ -120 -130 -140 -150 -160
646
+ -110 -120 -130 -140 -150
647
+ -100 -110 -120 -130 -140
648
+ -90 -100 -110 -120 -130
649
+ -80 -90 -100 -110 -120
650
+
651
+ and the new lower reference point should be
652
+ Eastings: 308530
653
+ Northings: 6189050
654
+
655
+ Original dataset is the same as in test_sww2dem_larger()
656
+
657
+ """
658
+
659
+ import time, os
660
+
661
+ #Setup
662
+
663
+ from anuga.abstract_2d_finite_volumes.mesh_factory import rectangular
664
+
665
+ #Create basic mesh (100m x 100m)
666
+ points, vertices, boundary = rectangular(2, 2, 100, 100)
667
+
668
+ #Create shallow water domain
669
+ domain = Domain(points, vertices, boundary)
670
+ domain.default_order = 2
671
+
672
+ domain.set_name('datatest')
673
+
674
+ prjfile = domain.get_name() + '_elevation.prj'
675
+ ascfile = domain.get_name() + '_elevation.asc'
676
+ swwfile = domain.get_name() + '.sww'
677
+
678
+ domain.set_datadir('.')
679
+ domain.format = 'sww'
680
+ domain.smooth = True
681
+ domain.geo_reference = Geo_reference(56, 308500, 6189000)
682
+
683
+ #
684
+ domain.set_quantity('elevation', lambda x,y: -x-y)
685
+ domain.set_quantity('stage', 0)
686
+
687
+ B = Transmissive_boundary(domain)
688
+ domain.set_boundary( {'left': B, 'right': B, 'top': B, 'bottom': B})
689
+
690
+
691
+ #
692
+ sww = SWW_file(domain)
693
+ sww.store_connectivity()
694
+ sww.store_timestep()
695
+
696
+ #domain.tight_slope_limiters = 1
697
+ domain.evolve_to_end(finaltime = 0.01)
698
+ sww.store_timestep()
699
+
700
+ cellsize = 10 #10m grid
701
+
702
+
703
+ #Check contents
704
+ #Get NetCDF
705
+
706
+ fid = NetCDFFile(sww.filename, netcdf_mode_r)
707
+
708
+ # Get the variables
709
+ x = fid.variables['x'][:]
710
+ y = fid.variables['y'][:]
711
+ z = fid.variables['elevation'][:]
712
+ time = fid.variables['time'][:]
713
+ stage = fid.variables['stage'][:]
714
+
715
+
716
+ # Export to ascii/prj files
717
+ sww2dem(domain.get_name() + '.sww',
718
+ domain.get_name() + '_elevation.asc',
719
+ quantity = 'elevation',
720
+ cellsize = cellsize,
721
+ number_of_decimal_places = 9,
722
+ easting_min = 308530,
723
+ easting_max = 308570,
724
+ northing_min = 6189050,
725
+ northing_max = 6189100,
726
+ verbose = self.verbose)
727
+
728
+ fid.close()
729
+
730
+
731
+ # Check prj (meta data)
732
+ prjid = open(prjfile)
733
+ lines = prjid.readlines()
734
+ prjid.close()
735
+
736
+ L = lines[0].strip().split()
737
+ assert L[0].strip().lower() == 'projection'
738
+ assert L[1].strip().lower() == 'utm'
739
+
740
+ L = lines[1].strip().split()
741
+ assert L[0].strip().lower() == 'zone'
742
+ assert L[1].strip().lower() == '56'
743
+
744
+ L = lines[2].strip().split()
745
+ assert L[0].strip().lower() == 'datum'
746
+ assert L[1].strip().lower() == 'wgs84'
747
+
748
+ L = lines[3].strip().split()
749
+ assert L[0].strip().lower() == 'zunits'
750
+ assert L[1].strip().lower() == 'no'
751
+
752
+ L = lines[4].strip().split()
753
+ assert L[0].strip().lower() == 'units'
754
+ assert L[1].strip().lower() == 'meters'
755
+
756
+ L = lines[5].strip().split()
757
+ assert L[0].strip().lower() == 'spheroid'
758
+ assert L[1].strip().lower() == 'wgs84'
759
+
760
+ L = lines[6].strip().split()
761
+ assert L[0].strip().lower() == 'xshift'
762
+ assert L[1].strip().lower() == '500000'
763
+
764
+ L = lines[7].strip().split()
765
+ assert L[0].strip().lower() == 'yshift'
766
+ assert L[1].strip().lower() == '10000000'
767
+
768
+ L = lines[8].strip().split()
769
+ assert L[0].strip().lower() == 'parameters'
770
+
771
+
772
+ #Check asc file
773
+ ascid = open(ascfile)
774
+ lines = ascid.readlines()
775
+ ascid.close()
776
+
777
+ L = lines[0].strip().split()
778
+ assert L[0].strip().lower() == 'ncols'
779
+ assert L[1].strip().lower() == '5'
780
+
781
+ L = lines[1].strip().split()
782
+ assert L[0].strip().lower() == 'nrows'
783
+ assert L[1].strip().lower() == '6'
784
+
785
+ L = lines[2].strip().split()
786
+ assert L[0].strip().lower() == 'xllcorner'
787
+ assert num.allclose(float(L[1].strip().lower()), 308530)
788
+
789
+ L = lines[3].strip().split()
790
+ assert L[0].strip().lower() == 'yllcorner'
791
+ assert num.allclose(float(L[1].strip().lower()), 6189050)
792
+
793
+ L = lines[4].strip().split()
794
+ assert L[0].strip().lower() == 'cellsize'
795
+ assert num.allclose(float(L[1].strip().lower()), cellsize)
796
+
797
+ L = lines[5].strip().split()
798
+ assert L[0].strip() == 'NODATA_value'
799
+ assert L[1].strip().lower() == '-9999'
800
+
801
+ #Check grid values
802
+ for i, line in enumerate(lines[6:]):
803
+ for j, value in enumerate( line.split() ):
804
+ #assert float(value) == -(10-i+j)*cellsize
805
+ assert float(value) == -(10-i+j+3)*cellsize
806
+
807
+
808
+
809
+ #Cleanup
810
+ os.remove(prjfile)
811
+ os.remove(ascfile)
812
+ os.remove(swwfile)
813
+
814
+
815
+
816
+ def test_sww2dem_asc_stage_reduction(self):
817
+ """Test that sww information can be converted correctly to asc/prj
818
+ format readable by e.g. ArcView
819
+
820
+ This tests the reduction of quantity stage using min
821
+ """
822
+
823
+ import time, os
824
+
825
+ #Setup
826
+ self.domain.set_name('datatest')
827
+
828
+ prjfile = self.domain.get_name() + '_stage.prj'
829
+ ascfile = self.domain.get_name() + '_stage.asc'
830
+ swwfile = self.domain.get_name() + '.sww'
831
+
832
+ self.domain.set_datadir('.')
833
+ self.domain.format = 'sww'
834
+ self.domain.smooth = True
835
+ self.domain.set_quantity('elevation', lambda x,y: -x-y)
836
+
837
+ self.domain.geo_reference = Geo_reference(56,308500,6189000)
838
+
839
+
840
+ sww = SWW_file(self.domain)
841
+ sww.store_connectivity()
842
+ sww.store_timestep()
843
+
844
+ #self.domain.tight_slope_limiters = 1
845
+ self.domain.evolve_to_end(finaltime = 0.01)
846
+ sww.store_timestep()
847
+
848
+ cellsize = 0.25
849
+ #Check contents
850
+ #Get NetCDF
851
+
852
+ fid = NetCDFFile(sww.filename, netcdf_mode_r)
853
+
854
+ # Get the variables
855
+ x = fid.variables['x'][:]
856
+ y = fid.variables['y'][:]
857
+ z = fid.variables['elevation'][:]
858
+ time = fid.variables['time'][:]
859
+ stage = fid.variables['stage'][:]
860
+
861
+
862
+ #Export to ascii/prj files
863
+ sww2dem(self.domain.get_name() + '.sww',
864
+ self.domain.get_name() + '_stage.asc',
865
+ quantity = 'stage',
866
+ cellsize = cellsize,
867
+ number_of_decimal_places = 9,
868
+ reduction = min)
869
+
870
+
871
+ #Check asc file
872
+ ascid = open(ascfile)
873
+ lines = ascid.readlines()
874
+ ascid.close()
875
+
876
+ L = lines[0].strip().split()
877
+ assert L[0].strip().lower() == 'ncols'
878
+ assert L[1].strip().lower() == '5'
879
+
880
+ L = lines[1].strip().split()
881
+ assert L[0].strip().lower() == 'nrows'
882
+ assert L[1].strip().lower() == '5'
883
+
884
+ L = lines[2].strip().split()
885
+ assert L[0].strip().lower() == 'xllcorner'
886
+ assert num.allclose(float(L[1].strip().lower()), 308500)
887
+
888
+ L = lines[3].strip().split()
889
+ assert L[0].strip().lower() == 'yllcorner'
890
+ assert num.allclose(float(L[1].strip().lower()), 6189000)
891
+
892
+ L = lines[4].strip().split()
893
+ assert L[0].strip().lower() == 'cellsize'
894
+ assert num.allclose(float(L[1].strip().lower()), cellsize)
895
+
896
+ L = lines[5].strip().split()
897
+ assert L[0].strip() == 'NODATA_value'
898
+ assert L[1].strip().lower() == '-9999'
899
+
900
+
901
+ #Check grid values (where applicable)
902
+ for j in range(5):
903
+ if j%2 == 0:
904
+ L = lines[6+j].strip().split()
905
+ jj = 4-j
906
+ for i in range(5):
907
+ if i%2 == 0:
908
+ index = jj/2 + i/2*3
909
+ val0 = stage[0,index]
910
+ val1 = stage[1,index]
911
+
912
+ #print i, j, index, ':', L[i], val0, val1
913
+ assert num.allclose(float(L[i]), min(val0, val1))
914
+
915
+
916
+ fid.close()
917
+
918
+ #Cleanup
919
+ os.remove(prjfile)
920
+ os.remove(ascfile)
921
+ os.remove(swwfile)
922
+
923
+ def test_sww2dem_asc_stage_time(self):
924
+ """Test that sww information can be converted correctly to asc/prj
925
+ format readable by e.g. ArcView
926
+
927
+ This tests the reduction of quantity stage using min
928
+ """
929
+
930
+ import time, os
931
+
932
+ #Setup
933
+ self.domain.set_name('datatest')
934
+
935
+ prjfile = self.domain.get_name() + '_stage.prj'
936
+ ascfile = self.domain.get_name() + '_stage.asc'
937
+ swwfile = self.domain.get_name() + '.sww'
938
+
939
+ self.domain.set_datadir('.')
940
+ self.domain.format = 'sww'
941
+ self.domain.smooth = True
942
+ self.domain.set_quantity('elevation', lambda x,y: -x-y)
943
+
944
+ self.domain.geo_reference = Geo_reference(56,308500,6189000)
945
+
946
+ sww = SWW_file(self.domain)
947
+ sww.store_connectivity()
948
+ sww.store_timestep()
949
+
950
+ #self.domain.tight_slope_limiters = 1
951
+ self.domain.evolve_to_end(finaltime = 0.01)
952
+ sww.store_timestep()
953
+
954
+ cellsize = 0.25
955
+ #Check contents
956
+ #Get NetCDF
957
+
958
+ fid = NetCDFFile(sww.filename, netcdf_mode_r)
959
+
960
+ # Get the variables
961
+ x = fid.variables['x'][:]
962
+ y = fid.variables['y'][:]
963
+ z = fid.variables['elevation'][:]
964
+ time = fid.variables['time'][:]
965
+ stage = fid.variables['stage'][:]
966
+
967
+ #Export to ascii/prj files
968
+ sww2dem(self.domain.get_name() + '.sww',
969
+ self.domain.get_name() + '_stage.asc',
970
+ quantity = 'stage',
971
+ cellsize = cellsize,
972
+ number_of_decimal_places = 9,
973
+ reduction = 1,
974
+ verbose=self.verbose)
975
+
976
+
977
+ #Check asc file
978
+ ascid = open(ascfile)
979
+ lines = ascid.readlines()
980
+ ascid.close()
981
+
982
+ L = lines[0].strip().split()
983
+ assert L[0].strip().lower() == 'ncols'
984
+ assert L[1].strip().lower() == '5'
985
+
986
+ L = lines[1].strip().split()
987
+ assert L[0].strip().lower() == 'nrows'
988
+ assert L[1].strip().lower() == '5'
989
+
990
+ L = lines[2].strip().split()
991
+ assert L[0].strip().lower() == 'xllcorner'
992
+ assert num.allclose(float(L[1].strip().lower()), 308500)
993
+
994
+ L = lines[3].strip().split()
995
+ assert L[0].strip().lower() == 'yllcorner'
996
+ assert num.allclose(float(L[1].strip().lower()), 6189000)
997
+
998
+ L = lines[4].strip().split()
999
+ assert L[0].strip().lower() == 'cellsize'
1000
+ assert num.allclose(float(L[1].strip().lower()), cellsize)
1001
+
1002
+ L = lines[5].strip().split()
1003
+ assert L[0].strip() == 'NODATA_value'
1004
+ assert L[1].strip().lower() == '-9999'
1005
+
1006
+ #Check grid values (where applicable)
1007
+ for j in range(5):
1008
+ if j%2 == 0:
1009
+ L = lines[6+j].strip().split()
1010
+ jj = 4-j
1011
+ for i in range(5):
1012
+ if i%2 == 0:
1013
+ index = jj/2 + i/2*3
1014
+
1015
+ val = stage[1,index]
1016
+
1017
+ assert num.allclose(float(L[i]), val)
1018
+
1019
+ fid.close()
1020
+
1021
+ #Cleanup
1022
+ os.remove(prjfile)
1023
+ os.remove(ascfile)
1024
+ os.remove(swwfile)
1025
+
1026
+
1027
+ def test_sww2dem_asc_derived_quantity(self):
1028
+ """Test that sww information can be converted correctly to asc/prj
1029
+ format readable by e.g. ArcView
1030
+
1031
+ This tests the use of derived quantities
1032
+ """
1033
+
1034
+ import time, os
1035
+
1036
+ #Setup
1037
+ self.domain.set_name('datatest')
1038
+
1039
+ prjfile = self.domain.get_name() + '_depth.prj'
1040
+ ascfile = self.domain.get_name() + '_depth.asc'
1041
+ swwfile = self.domain.get_name() + '.sww'
1042
+
1043
+ self.domain.set_datadir('.')
1044
+ self.domain.format = 'sww'
1045
+ self.domain.smooth = True
1046
+ self.domain.set_quantity('elevation', lambda x,y: -x-y)
1047
+ self.domain.set_quantity('stage', 0.0)
1048
+
1049
+ self.domain.geo_reference = Geo_reference(56,308500,6189000)
1050
+
1051
+
1052
+ sww = SWW_file(self.domain)
1053
+ sww.store_connectivity()
1054
+ sww.store_timestep()
1055
+
1056
+ #self.domain.tight_slope_limiters = 1
1057
+ self.domain.evolve_to_end(finaltime = 0.01)
1058
+ sww.store_timestep()
1059
+
1060
+ cellsize = 0.25
1061
+ #Check contents
1062
+ #Get NetCDF
1063
+
1064
+ fid = NetCDFFile(sww.filename, netcdf_mode_r)
1065
+
1066
+ # Get the variables
1067
+ x = fid.variables['x'][:]
1068
+ y = fid.variables['y'][:]
1069
+ z = fid.variables['elevation'][:]
1070
+ time = fid.variables['time'][:]
1071
+ stage = fid.variables['stage'][:]
1072
+
1073
+
1074
+ #Export to ascii/prj files
1075
+ sww2dem(self.domain.get_name()+'.sww',
1076
+ name_out = 'datatest_depth.asc',
1077
+ quantity = 'stage - elevation',
1078
+ cellsize = cellsize,
1079
+ number_of_decimal_places = 9,
1080
+ reduction = min,
1081
+ verbose = self.verbose)
1082
+
1083
+
1084
+ #Check asc file
1085
+ ascid = open(ascfile)
1086
+ lines = ascid.readlines()
1087
+ ascid.close()
1088
+
1089
+ L = lines[0].strip().split()
1090
+ assert L[0].strip().lower() == 'ncols'
1091
+ assert L[1].strip().lower() == '5'
1092
+
1093
+ L = lines[1].strip().split()
1094
+ assert L[0].strip().lower() == 'nrows'
1095
+ assert L[1].strip().lower() == '5'
1096
+
1097
+ L = lines[2].strip().split()
1098
+ assert L[0].strip().lower() == 'xllcorner'
1099
+ assert num.allclose(float(L[1].strip().lower()), 308500)
1100
+
1101
+ L = lines[3].strip().split()
1102
+ assert L[0].strip().lower() == 'yllcorner'
1103
+ assert num.allclose(float(L[1].strip().lower()), 6189000)
1104
+
1105
+ L = lines[4].strip().split()
1106
+ assert L[0].strip().lower() == 'cellsize'
1107
+ assert num.allclose(float(L[1].strip().lower()), cellsize)
1108
+
1109
+ L = lines[5].strip().split()
1110
+ assert L[0].strip() == 'NODATA_value'
1111
+ assert L[1].strip().lower() == '-9999'
1112
+
1113
+
1114
+ #Check grid values (where applicable)
1115
+ for j in range(5):
1116
+ if j%2 == 0:
1117
+ L = lines[6+j].strip().split()
1118
+ jj = 4-j
1119
+ for i in range(5):
1120
+ if i%2 == 0:
1121
+ index = jj/2 + i/2*3
1122
+ val0 = stage[0,index] - z[index]
1123
+ val1 = stage[1,index] - z[index]
1124
+
1125
+ #print i, j, index, ':', L[i], val0, val1
1126
+ assert num.allclose(float(L[i]), min(val0, val1))
1127
+
1128
+
1129
+ fid.close()
1130
+
1131
+ #Cleanup
1132
+ os.remove(prjfile)
1133
+ os.remove(ascfile)
1134
+ os.remove(swwfile)
1135
+
1136
+
1137
+
1138
+
1139
+
1140
+ def test_sww2dem_asc_missing_points(self):
1141
+ """Test that sww information can be converted correctly to asc/prj
1142
+ format readable by e.g. ArcView
1143
+
1144
+ This test includes the writing of missing values
1145
+ """
1146
+
1147
+ import time, os
1148
+
1149
+ #Setup mesh not coinciding with rectangle.
1150
+ #This will cause missing values to occur in gridded data
1151
+
1152
+
1153
+ points = [ [1.0, 1.0],
1154
+ [0.5, 0.5], [1.0, 0.5],
1155
+ [0.0, 0.0], [0.5, 0.0], [1.0, 0.0]]
1156
+
1157
+ vertices = [ [4,1,3], [5,2,4], [1,4,2], [2,0,1]]
1158
+
1159
+ #Create shallow water domain
1160
+ domain = Domain(points, vertices)
1161
+ domain.default_order=2
1162
+
1163
+
1164
+ #Set some field values
1165
+ domain.set_quantity('elevation', lambda x,y: -x-y)
1166
+ domain.set_quantity('friction', 0.03)
1167
+
1168
+
1169
+ ######################
1170
+ # Boundary conditions
1171
+ B = Transmissive_boundary(domain)
1172
+ domain.set_boundary( {'exterior': B} )
1173
+
1174
+
1175
+ ######################
1176
+ #Initial condition - with jumps
1177
+
1178
+ bed = domain.quantities['elevation'].vertex_values
1179
+ stage = num.zeros(bed.shape, num.float)
1180
+
1181
+ h = 0.3
1182
+ for i in range(stage.shape[0]):
1183
+ if i % 2 == 0:
1184
+ stage[i,:] = bed[i,:] + h
1185
+ else:
1186
+ stage[i,:] = bed[i,:]
1187
+
1188
+ domain.set_quantity('stage', stage)
1189
+ domain.distribute_to_vertices_and_edges()
1190
+
1191
+ domain.set_name('datatest')
1192
+
1193
+ prjfile = domain.get_name() + '_elevation.prj'
1194
+ ascfile = domain.get_name() + '_elevation.asc'
1195
+ swwfile = domain.get_name() + '.sww'
1196
+
1197
+ domain.set_datadir('.')
1198
+ domain.format = 'sww'
1199
+ domain.smooth = True
1200
+
1201
+ domain.geo_reference = Geo_reference(56,308500,6189000)
1202
+
1203
+ sww = SWW_file(domain)
1204
+ sww.store_connectivity()
1205
+ sww.store_timestep()
1206
+
1207
+ cellsize = 0.25
1208
+ #Check contents
1209
+ #Get NetCDF
1210
+
1211
+ fid = NetCDFFile(swwfile, netcdf_mode_r)
1212
+
1213
+ # Get the variables
1214
+ x = fid.variables['x'][:]
1215
+ y = fid.variables['y'][:]
1216
+ z = fid.variables['elevation'][:]
1217
+ time = fid.variables['time'][:]
1218
+
1219
+ try:
1220
+ geo_reference = Geo_reference(NetCDFObject=fid)
1221
+ except AttributeError, e:
1222
+ geo_reference = Geo_reference(DEFAULT_ZONE,0,0)
1223
+
1224
+ #Export to ascii/prj files
1225
+ sww2dem(domain.get_name()+'.sww',
1226
+ domain.get_name()+'_elevation.asc',
1227
+ quantity = 'elevation',
1228
+ cellsize = cellsize,
1229
+ number_of_decimal_places = 9,
1230
+ verbose = self.verbose)
1231
+
1232
+
1233
+ #Check asc file
1234
+ ascid = open(ascfile)
1235
+ lines = ascid.readlines()
1236
+ ascid.close()
1237
+
1238
+ L = lines[0].strip().split()
1239
+ assert L[0].strip().lower() == 'ncols'
1240
+ assert L[1].strip().lower() == '5'
1241
+
1242
+ L = lines[1].strip().split()
1243
+ assert L[0].strip().lower() == 'nrows'
1244
+ assert L[1].strip().lower() == '5'
1245
+
1246
+ L = lines[2].strip().split()
1247
+ assert L[0].strip().lower() == 'xllcorner'
1248
+ assert num.allclose(float(L[1].strip().lower()), 308500)
1249
+
1250
+ L = lines[3].strip().split()
1251
+ assert L[0].strip().lower() == 'yllcorner'
1252
+ assert num.allclose(float(L[1].strip().lower()), 6189000)
1253
+
1254
+ L = lines[4].strip().split()
1255
+ assert L[0].strip().lower() == 'cellsize'
1256
+ assert num.allclose(float(L[1].strip().lower()), cellsize)
1257
+
1258
+ L = lines[5].strip().split()
1259
+ assert L[0].strip() == 'NODATA_value'
1260
+ assert L[1].strip().lower() == '-9999'
1261
+
1262
+ #Check grid values
1263
+ for j in range(5):
1264
+ L = lines[6+j].strip().split()
1265
+ assert len(L) == 5
1266
+ y = (4-j) * cellsize
1267
+
1268
+ for i in range(5):
1269
+ #print i
1270
+ if i+j >= 4:
1271
+ assert num.allclose(float(L[i]), -i*cellsize - y)
1272
+ else:
1273
+ #Missing values
1274
+ assert num.allclose(float(L[i]), -9999)
1275
+
1276
+
1277
+
1278
+ fid.close()
1279
+
1280
+ #Cleanup
1281
+ os.remove(prjfile)
1282
+ os.remove(ascfile)
1283
+ os.remove(swwfile)
1284
+
1285
+
1286
+
1287
+ def test_sww2ers_simple(self):
1288
+ """Test that sww information can be converted correctly to ers
1289
+ format
1290
+ """
1291
+
1292
+ import time, os
1293
+
1294
+
1295
+ NODATA_value = 1758323
1296
+
1297
+ #Setup
1298
+ self.domain.set_name('datatest')
1299
+
1300
+ headerfile = self.domain.get_name() + '.ers'
1301
+ swwfile = self.domain.get_name() + '.sww'
1302
+
1303
+ self.domain.set_datadir('.')
1304
+ self.domain.format = 'sww'
1305
+ self.domain.smooth = True
1306
+ self.domain.set_quantity('elevation', lambda x,y: -x-y)
1307
+
1308
+ self.domain.geo_reference = Geo_reference(56,308500,6189000)
1309
+
1310
+ sww = SWW_file(self.domain)
1311
+ sww.store_connectivity()
1312
+ sww.store_timestep()
1313
+
1314
+ #self.domain.tight_slope_limiters = 1
1315
+ self.domain.evolve_to_end(finaltime = 0.01)
1316
+ sww.store_timestep()
1317
+
1318
+ cellsize = 0.25
1319
+ #Check contents
1320
+ #Get NetCDF
1321
+
1322
+ fid = NetCDFFile(sww.filename, netcdf_mode_r)
1323
+
1324
+ # Get the variables
1325
+ x = fid.variables['x'][:]
1326
+ y = fid.variables['y'][:]
1327
+ z = fid.variables['elevation'][:]
1328
+ time = fid.variables['time'][:]
1329
+ stage = fid.variables['stage'][:]
1330
+
1331
+
1332
+ #Export to ers files
1333
+ outname = self.domain.get_name() + '_elevation.ers'
1334
+ sww2dem(self.domain.get_name() + '.sww',
1335
+ outname,
1336
+ quantity = 'elevation',
1337
+ cellsize = cellsize,
1338
+ number_of_decimal_places = 9,
1339
+ NODATA_value = NODATA_value,
1340
+ verbose = self.verbose)
1341
+
1342
+ #Check header data
1343
+ from anuga.abstract_2d_finite_volumes.ermapper_grids import read_ermapper_header, read_ermapper_data
1344
+
1345
+ header = read_ermapper_header(outname)
1346
+
1347
+ assert header['projection'].lower() == '"utm-56"'
1348
+ assert header['datum'].lower() == '"wgs84"'
1349
+ assert header['units'].lower() == '"meters"'
1350
+ assert header['value'].lower() == '"elevation"'
1351
+ assert header['xdimension'] == '0.25'
1352
+ assert header['ydimension'] == '0.25'
1353
+ assert float(header['eastings']) == 308500.0 #xllcorner
1354
+ assert float(header['northings']) == 6189000.0 #yllcorner
1355
+ assert int(header['nroflines']) == 5
1356
+ assert int(header['nrofcellsperline']) == 5
1357
+ assert int(header['nullcellvalue']) == NODATA_value
1358
+ #FIXME - there is more in the header
1359
+
1360
+
1361
+ #Check grid data
1362
+ grid = read_ermapper_data(self.domain.get_name() + '_elevation')
1363
+
1364
+
1365
+ ref_grid = [-1, -1.25, -1.5, -1.75, -2.0,
1366
+ -0.75, -1.0, -1.25, -1.5, -1.75,
1367
+ -0.5, -0.75, -1.0, -1.25, -1.5,
1368
+ -0.25, -0.5, -0.75, -1.0, -1.25,
1369
+ -0.0, -0.25, -0.5, -0.75, -1.0]
1370
+
1371
+
1372
+ #print grid.reshape((5,5))
1373
+ assert num.allclose(grid, ref_grid)
1374
+
1375
+ fid.close()
1376
+
1377
+ #Cleanup
1378
+ #FIXME the file clean-up doesn't work (eg Permission Denied Error)
1379
+ #Done (Ole) - it was because sww2ers didn't close it's sww file
1380
+ os.remove(sww.filename)
1381
+ os.remove(self.domain.get_name() + '_elevation')
1382
+ os.remove(self.domain.get_name() + '_elevation.ers')
1383
+
1384
+ def test_export_grid_parallel(self):
1385
+ """Test that sww information can be converted correctly to asc/prj
1386
+ format readable by e.g. ArcView
1387
+ """
1388
+
1389
+ import time, os
1390
+
1391
+ base_name = 'tegp'
1392
+ #Setup
1393
+ self.domain.set_name(base_name+'_P0_8')
1394
+ swwfile = self.domain.get_name() + '.sww'
1395
+
1396
+ self.domain.set_datadir('.')
1397
+ self.domain.format = 'sww'
1398
+ self.domain.smooth = True
1399
+ self.domain.set_quantity('elevation', lambda x,y: -x-y)
1400
+ self.domain.set_quantity('stage', 1.0)
1401
+
1402
+ self.domain.geo_reference = Geo_reference(56,308500,6189000)
1403
+
1404
+ sww = SWW_file(self.domain)
1405
+ sww.store_connectivity()
1406
+ sww.store_timestep()
1407
+ self.domain.evolve_to_end(finaltime = 0.0001)
1408
+ #Setup
1409
+ self.domain.set_name(base_name+'_P1_8')
1410
+ swwfile2 = self.domain.get_name() + '.sww'
1411
+ sww = SWW_file(self.domain)
1412
+ sww.store_connectivity()
1413
+ sww.store_timestep()
1414
+ self.domain.evolve_to_end(finaltime = 0.0002)
1415
+ sww.store_timestep()
1416
+
1417
+ cellsize = 0.25
1418
+ #Check contents
1419
+ #Get NetCDF
1420
+
1421
+ fid = NetCDFFile(sww.filename, netcdf_mode_r)
1422
+
1423
+ # Get the variables
1424
+ x = fid.variables['x'][:]
1425
+ y = fid.variables['y'][:]
1426
+ z = fid.variables['elevation'][:]
1427
+ time = fid.variables['time'][:]
1428
+ stage = fid.variables['stage'][:]
1429
+
1430
+ fid.close()
1431
+
1432
+ #Export to ascii/prj files
1433
+ extra_name_out = 'yeah'
1434
+ sww2dem_batch(base_name,
1435
+ quantities = ['elevation', 'depth'],
1436
+ extra_name_out = extra_name_out,
1437
+ cellsize = cellsize,
1438
+ verbose = self.verbose,
1439
+ format = 'asc')
1440
+
1441
+ prjfile = base_name + '_P0_8_elevation_yeah.prj'
1442
+ ascfile = base_name + '_P0_8_elevation_yeah.asc'
1443
+ #Check asc file
1444
+ ascid = open(ascfile)
1445
+ lines = ascid.readlines()
1446
+ ascid.close()
1447
+ #Check grid values
1448
+ for j in range(5):
1449
+ L = lines[6+j].strip().split()
1450
+ y = (4-j) * cellsize
1451
+ for i in range(5):
1452
+ #print " -i*cellsize - y", -i*cellsize - y
1453
+ #print "float(L[i])", float(L[i])
1454
+ assert num.allclose(float(L[i]), -i*cellsize - y)
1455
+ #Cleanup
1456
+ os.remove(prjfile)
1457
+ os.remove(ascfile)
1458
+
1459
+ prjfile = base_name + '_P1_8_elevation_yeah.prj'
1460
+ ascfile = base_name + '_P1_8_elevation_yeah.asc'
1461
+ #Check asc file
1462
+ ascid = open(ascfile)
1463
+ lines = ascid.readlines()
1464
+ ascid.close()
1465
+ #Check grid values
1466
+ for j in range(5):
1467
+ L = lines[6+j].strip().split()
1468
+ y = (4-j) * cellsize
1469
+ for i in range(5):
1470
+ #print " -i*cellsize - y", -i*cellsize - y
1471
+ #print "float(L[i])", float(L[i])
1472
+ assert num.allclose(float(L[i]), -i*cellsize - y)
1473
+ #Cleanup
1474
+ os.remove(prjfile)
1475
+ os.remove(ascfile)
1476
+ os.remove(swwfile)
1477
+
1478
+ #Check asc file
1479
+ ascfile = base_name + '_P0_8_depth_yeah.asc'
1480
+ prjfile = base_name + '_P0_8_depth_yeah.prj'
1481
+ ascid = open(ascfile)
1482
+ lines = ascid.readlines()
1483
+ ascid.close()
1484
+ #Check grid values
1485
+ for j in range(5):
1486
+ L = lines[6+j].strip().split()
1487
+ y = (4-j) * cellsize
1488
+ for i in range(5):
1489
+ assert num.allclose(float(L[i]), 1 - (-i*cellsize - y))
1490
+ #Cleanup
1491
+ os.remove(prjfile)
1492
+ os.remove(ascfile)
1493
+
1494
+ #Check asc file
1495
+ ascfile = base_name + '_P1_8_depth_yeah.asc'
1496
+ prjfile = base_name + '_P1_8_depth_yeah.prj'
1497
+ ascid = open(ascfile)
1498
+ lines = ascid.readlines()
1499
+ ascid.close()
1500
+ #Check grid values
1501
+ for j in range(5):
1502
+ L = lines[6+j].strip().split()
1503
+ y = (4-j) * cellsize
1504
+ for i in range(5):
1505
+ assert num.allclose(float(L[i]), 1 - (-i*cellsize - y))
1506
+ #Cleanup
1507
+ os.remove(prjfile)
1508
+ os.remove(ascfile)
1509
+ os.remove(swwfile2)
1510
+
1511
+
1512
+ def test_export_grid(self):
1513
+ """
1514
+ test_export_grid(self):
1515
+ Test that sww information can be converted correctly to asc/prj
1516
+ format readable by e.g. ArcView
1517
+ """
1518
+
1519
+ import time, os
1520
+
1521
+ try:
1522
+ os.remove('teg*.sww')
1523
+ except:
1524
+ pass
1525
+
1526
+ #Setup
1527
+ self.domain.set_name('teg')
1528
+
1529
+ prjfile = self.domain.get_name() + '_elevation.prj'
1530
+ ascfile = self.domain.get_name() + '_elevation.asc'
1531
+ swwfile = self.domain.get_name() + '.sww'
1532
+
1533
+ self.domain.set_datadir('.')
1534
+ self.domain.smooth = True
1535
+ self.domain.set_quantity('elevation', lambda x,y: -x-y)
1536
+ self.domain.set_quantity('stage', 1.0)
1537
+
1538
+ self.domain.geo_reference = Geo_reference(56,308500,6189000)
1539
+
1540
+ sww = SWW_file(self.domain)
1541
+ sww.store_connectivity()
1542
+ sww.store_timestep()
1543
+ self.domain.evolve_to_end(finaltime = 0.01)
1544
+ sww.store_timestep()
1545
+
1546
+ cellsize = 0.25
1547
+ #Check contents
1548
+ #Get NetCDF
1549
+
1550
+ fid = NetCDFFile(sww.filename, netcdf_mode_r)
1551
+
1552
+ # Get the variables
1553
+ x = fid.variables['x'][:]
1554
+ y = fid.variables['y'][:]
1555
+ z = fid.variables['elevation'][:]
1556
+ time = fid.variables['time'][:]
1557
+ stage = fid.variables['stage'][:]
1558
+
1559
+ fid.close()
1560
+
1561
+ #Export to ascii/prj files
1562
+ sww2dem_batch(self.domain.get_name(),
1563
+ quantities = 'elevation',
1564
+ cellsize = cellsize,
1565
+ verbose = self.verbose,
1566
+ format = 'asc')
1567
+
1568
+ #Check asc file
1569
+ ascid = open(ascfile)
1570
+ lines = ascid.readlines()
1571
+ ascid.close()
1572
+
1573
+ L = lines[2].strip().split()
1574
+ assert L[0].strip().lower() == 'xllcorner'
1575
+ assert num.allclose(float(L[1].strip().lower()), 308500)
1576
+
1577
+ L = lines[3].strip().split()
1578
+ assert L[0].strip().lower() == 'yllcorner'
1579
+ assert num.allclose(float(L[1].strip().lower()), 6189000)
1580
+
1581
+ #Check grid values
1582
+ #print '==='
1583
+ for j in range(5):
1584
+ L = lines[6+j].strip().split()
1585
+ y = (4-j) * cellsize
1586
+ for i in range(5):
1587
+ #print float(L[i])
1588
+ assert num.allclose(float(L[i]), -i*cellsize - y)
1589
+
1590
+ #Cleanup
1591
+ os.remove(prjfile)
1592
+ os.remove(ascfile)
1593
+ os.remove(swwfile)
1594
+
1595
+ def test_export_gridII(self):
1596
+ """
1597
+ test_export_gridII(self):
1598
+ Test that sww information can be converted correctly to asc/prj
1599
+ format readable by e.g. ArcView
1600
+ """
1601
+
1602
+ import time, os
1603
+
1604
+ try:
1605
+ os.remove('teg*.sww')
1606
+ except:
1607
+ pass
1608
+
1609
+ #Setup
1610
+ self.domain.set_name('tegII')
1611
+
1612
+ swwfile = self.domain.get_name() + '.sww'
1613
+
1614
+ self.domain.set_datadir('.')
1615
+ self.domain.smooth = True
1616
+ self.domain.set_quantity('elevation', lambda x,y: -x-y)
1617
+ self.domain.set_quantity('stage', 1.0)
1618
+
1619
+ self.domain.geo_reference = Geo_reference(56,308500,6189000)
1620
+
1621
+ sww = SWW_file(self.domain)
1622
+ sww.store_connectivity()
1623
+ sww.store_timestep()
1624
+ self.domain.evolve_to_end(finaltime = 0.01)
1625
+ sww.store_timestep()
1626
+
1627
+ cellsize = 0.25
1628
+ #Check contents
1629
+ #Get NetCDF
1630
+
1631
+ fid = NetCDFFile(sww.filename, netcdf_mode_r)
1632
+
1633
+ # Get the variables
1634
+ x = fid.variables['x'][:]
1635
+ y = fid.variables['y'][:]
1636
+ z = fid.variables['elevation'][:]
1637
+ time = fid.variables['time'][:]
1638
+ stage = fid.variables['stage'][:]
1639
+ xmomentum = fid.variables['xmomentum'][:]
1640
+ ymomentum = fid.variables['ymomentum'][:]
1641
+
1642
+ #print 'stage', stage
1643
+ #print 'xmom', xmomentum
1644
+ #print 'ymom', ymomentum
1645
+
1646
+ fid.close()
1647
+
1648
+ #Export to ascii/prj files
1649
+ if True:
1650
+ sww2dem_batch(self.domain.get_name(),
1651
+ quantities = ['elevation', 'depth'],
1652
+ cellsize = cellsize,
1653
+ verbose = self.verbose,
1654
+ format = 'asc')
1655
+
1656
+ else:
1657
+ sww2dem_batch(self.domain.get_name(),
1658
+ quantities = ['depth'],
1659
+ cellsize = cellsize,
1660
+ verbose = self.verbose,
1661
+ format = 'asc')
1662
+
1663
+
1664
+ export_grid(self.domain.get_name(),
1665
+ quantities = ['elevation'],
1666
+ cellsize = cellsize,
1667
+ verbose = self.verbose,
1668
+ format = 'asc')
1669
+
1670
+ prjfile = self.domain.get_name() + '_elevation.prj'
1671
+ ascfile = self.domain.get_name() + '_elevation.asc'
1672
+
1673
+ #Check asc file
1674
+ ascid = open(ascfile)
1675
+ lines = ascid.readlines()
1676
+ ascid.close()
1677
+
1678
+ L = lines[2].strip().split()
1679
+ assert L[0].strip().lower() == 'xllcorner'
1680
+ assert num.allclose(float(L[1].strip().lower()), 308500)
1681
+
1682
+ L = lines[3].strip().split()
1683
+ assert L[0].strip().lower() == 'yllcorner'
1684
+ assert num.allclose(float(L[1].strip().lower()), 6189000)
1685
+
1686
+ #print "ascfile", ascfile
1687
+ #Check grid values
1688
+ for j in range(5):
1689
+ L = lines[6+j].strip().split()
1690
+ y = (4-j) * cellsize
1691
+ for i in range(5):
1692
+ #print " -i*cellsize - y", -i*cellsize - y
1693
+ #print "float(L[i])", float(L[i])
1694
+ assert num.allclose(float(L[i]), -i*cellsize - y)
1695
+
1696
+ #Cleanup
1697
+ os.remove(prjfile)
1698
+ os.remove(ascfile)
1699
+
1700
+ #Check asc file
1701
+ ascfile = self.domain.get_name() + '_depth.asc'
1702
+ prjfile = self.domain.get_name() + '_depth.prj'
1703
+ ascid = open(ascfile)
1704
+ lines = ascid.readlines()
1705
+ ascid.close()
1706
+
1707
+ L = lines[2].strip().split()
1708
+ assert L[0].strip().lower() == 'xllcorner'
1709
+ assert num.allclose(float(L[1].strip().lower()), 308500)
1710
+
1711
+ L = lines[3].strip().split()
1712
+ assert L[0].strip().lower() == 'yllcorner'
1713
+ assert num.allclose(float(L[1].strip().lower()), 6189000)
1714
+
1715
+ #Check grid values
1716
+ for j in range(5):
1717
+ L = lines[6+j].strip().split()
1718
+ y = (4-j) * cellsize
1719
+ for i in range(5):
1720
+ #print " -i*cellsize - y", -i*cellsize - y
1721
+ #print "float(L[i])", float(L[i])
1722
+ assert num.allclose(float(L[i]), 1 - (-i*cellsize - y))
1723
+
1724
+ #Cleanup
1725
+ os.remove(prjfile)
1726
+ os.remove(ascfile)
1727
+ os.remove(swwfile)
1728
+
1729
+
1730
+ def test_export_gridIII(self):
1731
+ """
1732
+ test_export_gridIII
1733
+ Test that sww information can be converted correctly to asc/prj
1734
+ format readable by e.g. ArcView
1735
+ """
1736
+
1737
+ import time, os
1738
+
1739
+ try:
1740
+ os.remove('teg*.sww')
1741
+ except:
1742
+ pass
1743
+
1744
+ #Setup
1745
+
1746
+ self.domain.set_name('tegIII')
1747
+
1748
+ swwfile = self.domain.get_name() + '.sww'
1749
+
1750
+ self.domain.set_datadir('.')
1751
+ self.domain.format = 'sww'
1752
+ self.domain.smooth = True
1753
+ self.domain.set_quantity('elevation', lambda x,y: -x-y)
1754
+ self.domain.set_quantity('stage', 1.0)
1755
+
1756
+ self.domain.geo_reference = Geo_reference(56,308500,6189000)
1757
+
1758
+ sww = SWW_file(self.domain)
1759
+ sww.store_connectivity()
1760
+ sww.store_timestep() #'stage')
1761
+ self.domain.evolve_to_end(finaltime = 0.01)
1762
+ sww.store_timestep() #'stage')
1763
+
1764
+ cellsize = 0.25
1765
+ #Check contents
1766
+ #Get NetCDF
1767
+
1768
+ fid = NetCDFFile(sww.filename, netcdf_mode_r)
1769
+
1770
+ # Get the variables
1771
+ x = fid.variables['x'][:]
1772
+ y = fid.variables['y'][:]
1773
+ z = fid.variables['elevation'][:]
1774
+ time = fid.variables['time'][:]
1775
+ stage = fid.variables['stage'][:]
1776
+
1777
+ fid.close()
1778
+
1779
+ #Export to ascii/prj files
1780
+ extra_name_out = 'yeah'
1781
+ if True:
1782
+ sww2dem_batch(self.domain.get_name(),
1783
+ quantities = ['elevation', 'depth'],
1784
+ extra_name_out = extra_name_out,
1785
+ cellsize = cellsize,
1786
+ verbose = self.verbose,
1787
+ format = 'asc')
1788
+
1789
+ else:
1790
+ sww2dem_batch(self.domain.get_name(),
1791
+ quantities = ['depth'],
1792
+ cellsize = cellsize,
1793
+ verbose = self.verbose,
1794
+ format = 'asc')
1795
+
1796
+
1797
+ sww2dem_batch(self.domain.get_name(),
1798
+ quantities = ['elevation'],
1799
+ cellsize = cellsize,
1800
+ verbose = self.verbose,
1801
+ format = 'asc')
1802
+
1803
+ prjfile = self.domain.get_name() + '_elevation_yeah.prj'
1804
+ ascfile = self.domain.get_name() + '_elevation_yeah.asc'
1805
+
1806
+ #Check asc file
1807
+ ascid = open(ascfile)
1808
+ lines = ascid.readlines()
1809
+ ascid.close()
1810
+
1811
+ L = lines[2].strip().split()
1812
+ assert L[0].strip().lower() == 'xllcorner'
1813
+ assert num.allclose(float(L[1].strip().lower()), 308500)
1814
+
1815
+ L = lines[3].strip().split()
1816
+ assert L[0].strip().lower() == 'yllcorner'
1817
+ assert num.allclose(float(L[1].strip().lower()), 6189000)
1818
+
1819
+ #print "ascfile", ascfile
1820
+ #Check grid values
1821
+ for j in range(5):
1822
+ L = lines[6+j].strip().split()
1823
+ y = (4-j) * cellsize
1824
+ for i in range(5):
1825
+ #print " -i*cellsize - y", -i*cellsize - y
1826
+ #print "float(L[i])", float(L[i])
1827
+ assert num.allclose(float(L[i]), -i*cellsize - y)
1828
+
1829
+ #Cleanup
1830
+ os.remove(prjfile)
1831
+ os.remove(ascfile)
1832
+
1833
+ #Check asc file
1834
+ ascfile = self.domain.get_name() + '_depth_yeah.asc'
1835
+ prjfile = self.domain.get_name() + '_depth_yeah.prj'
1836
+ ascid = open(ascfile)
1837
+ lines = ascid.readlines()
1838
+ ascid.close()
1839
+
1840
+ L = lines[2].strip().split()
1841
+ assert L[0].strip().lower() == 'xllcorner'
1842
+ assert num.allclose(float(L[1].strip().lower()), 308500)
1843
+
1844
+ L = lines[3].strip().split()
1845
+ assert L[0].strip().lower() == 'yllcorner'
1846
+ assert num.allclose(float(L[1].strip().lower()), 6189000)
1847
+
1848
+ #Check grid values
1849
+ for j in range(5):
1850
+ L = lines[6+j].strip().split()
1851
+ y = (4-j) * cellsize
1852
+ for i in range(5):
1853
+ assert num.allclose(float(L[i]), 1 - (-i*cellsize - y))
1854
+
1855
+ #Cleanup
1856
+ os.remove(prjfile)
1857
+ os.remove(ascfile)
1858
+ os.remove(swwfile)
1859
+
1860
+ def test_export_grid_bad(self):
1861
+ """Test that Bad input throws exception error
1862
+ """
1863
+
1864
+ try:
1865
+ sww2dem_batch('a_small_round-egg',
1866
+ quantities = ['elevation', 'depth'],
1867
+ cellsize = 99,
1868
+ verbose = self.verbose,
1869
+ format = 'asc')
1870
+ except IOError:
1871
+ pass
1872
+ else:
1873
+ self.assertTrue(0 ==1, 'Bad input did not throw exception error!')
1874
+
1875
+
1876
+ #################################################################################
1877
+
1878
+ if __name__ == "__main__":
1879
+ #suite = unittest.makeSuite(Test_Shallow_Water, 'test_rainfall_forcing_with_evolve')
1880
+ suite = unittest.makeSuite(Test_Sww2Dem, 'test_')
1881
+ runner = unittest.TextTestRunner(verbosity=1)
1882
+ runner.run(suite)