floodmodeller-api 0.5.3__tar.gz → 0.5.3.post1__tar.gz

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 (267) hide show
  1. {floodmodeller_api-0.5.3/floodmodeller_api.egg-info → floodmodeller_api-0.5.3.post1}/PKG-INFO +1 -1
  2. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/dat.py +1 -3
  3. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/ied.py +1 -1
  4. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/ief.py +20 -3
  5. floodmodeller_api-0.5.3.post1/floodmodeller_api/test/test_data/multievent.ief +43 -0
  6. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_ief.py +67 -0
  7. floodmodeller_api-0.5.3.post1/floodmodeller_api/test/test_sluice.py +31 -0
  8. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/units/structures.py +1 -1
  9. floodmodeller_api-0.5.3.post1/floodmodeller_api/version.py +1 -0
  10. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1/floodmodeller_api.egg-info}/PKG-INFO +1 -1
  11. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api.egg-info/SOURCES.txt +2 -0
  12. floodmodeller_api-0.5.3/floodmodeller_api/version.py +0 -1
  13. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/LICENSE.txt +0 -0
  14. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/MANIFEST.in +0 -0
  15. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/README.md +0 -0
  16. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/__init__.py +0 -0
  17. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/_base.py +0 -0
  18. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/backup.py +0 -0
  19. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/diff.py +0 -0
  20. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/hydrology_plus/__init__.py +0 -0
  21. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/hydrology_plus/helper.py +0 -0
  22. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/hydrology_plus/hydrology_plus_export.py +0 -0
  23. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/ief_flags.py +0 -0
  24. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/inp.py +0 -0
  25. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/libs/libifcoremd.dll +0 -0
  26. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/libs/libifcoremt.so.5 +0 -0
  27. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/libs/libifport.so.5 +0 -0
  28. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/libs/libimf.so +0 -0
  29. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/libs/libintlc.so.5 +0 -0
  30. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/libs/libmmd.dll +0 -0
  31. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/libs/libsvml.so +0 -0
  32. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/libs/libzzn_read.so +0 -0
  33. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/libs/zzn_read.dll +0 -0
  34. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/logs/__init__.py +0 -0
  35. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/logs/lf.py +0 -0
  36. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/logs/lf_helpers.py +0 -0
  37. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/logs/lf_params.py +0 -0
  38. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/mapping.py +0 -0
  39. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/__init__.py +0 -0
  40. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/conftest.py +0 -0
  41. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_backup.py +0 -0
  42. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_conveyance.py +0 -0
  43. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_dat.py +0 -0
  44. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/7082.ief +0 -0
  45. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/All Units 4_6.DAT +0 -0
  46. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/All Units 4_6.feb +0 -0
  47. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/BRIDGE.DAT +0 -0
  48. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/BaseModel_2D_Q100.ief +0 -0
  49. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/Baseline_unchecked.csv +0 -0
  50. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/Constant QT.ief +0 -0
  51. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/Culvert_Inlet_Outlet.dat +0 -0
  52. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/Culvert_Inlet_Outlet.feb +0 -0
  53. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/DamBreakADI.xml +0 -0
  54. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/DamBreakFAST.xml +0 -0
  55. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/DamBreakFAST_dy.xml +0 -0
  56. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/DamBreakTVD.xml +0 -0
  57. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/DefenceBreach.xml +0 -0
  58. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/DefenceBreachFAST.xml +0 -0
  59. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/DefenceBreachFAST_dy.xml +0 -0
  60. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/Domain1+2_QH.xml +0 -0
  61. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/Domain1_H.xml +0 -0
  62. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/Domain1_Q.xml +0 -0
  63. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/Domain1_Q_FAST.xml +0 -0
  64. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/Domain1_Q_FAST_dy.xml +0 -0
  65. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/Domain1_Q_xml_expected.json +0 -0
  66. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/Domain1_W.xml +0 -0
  67. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/EX1.DAT +0 -0
  68. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/EX1.ext +0 -0
  69. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/EX1.feb +0 -0
  70. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/EX1.gxy +0 -0
  71. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/EX17.DAT +0 -0
  72. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/EX17.ext +0 -0
  73. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/EX17.feb +0 -0
  74. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/EX18.DAT +0 -0
  75. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/EX18_DAT_expected.json +0 -0
  76. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/EX2.DAT +0 -0
  77. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/EX3.DAT +0 -0
  78. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/EX3_DAT_expected.json +0 -0
  79. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/EX3_IEF_expected.json +0 -0
  80. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/EX6.DAT +0 -0
  81. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/EX6.ext +0 -0
  82. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/EX6.feb +0 -0
  83. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/EX6_DAT_expected.json +0 -0
  84. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/Event Data Example.DAT +0 -0
  85. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/Event Data Example.ext +0 -0
  86. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/Event Data Example.feb +0 -0
  87. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/FEH boundary.ief +0 -0
  88. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/Linked1D2D.xml +0 -0
  89. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/Linked1D2DFAST.xml +0 -0
  90. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/Linked1D2DFAST_dy.xml +0 -0
  91. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/Linked1D2D_xml_expected.json +0 -0
  92. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/P3Panels_UNsteady.ief +0 -0
  93. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/QT in dat file.ief +0 -0
  94. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/T10.ief +0 -0
  95. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/T2.ief +0 -0
  96. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/T5.ief +0 -0
  97. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/blockage.dat +0 -0
  98. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/blockage.ext +0 -0
  99. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/blockage.feb +0 -0
  100. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/blockage.gxy +0 -0
  101. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/conveyance_test.dat +0 -0
  102. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/conveyance_test.feb +0 -0
  103. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/conveyance_test.gxy +0 -0
  104. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/defaultUnits.dat +0 -0
  105. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/defaultUnits.ext +0 -0
  106. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/defaultUnits.feb +0 -0
  107. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/defaultUnits.fmpx +0 -0
  108. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/defaultUnits.gxy +0 -0
  109. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/df_flows_hplus.csv +0 -0
  110. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/encoding_test_cp1252.dat +0 -0
  111. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/encoding_test_utf8.dat +0 -0
  112. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/event_hplus.csv +0 -0
  113. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/ex3.ief +0 -0
  114. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/ex3.lf1 +0 -0
  115. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/ex4.DAT +0 -0
  116. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/ex4.ief +0 -0
  117. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/ex4_changed.DAT +0 -0
  118. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/ex6.ief +0 -0
  119. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/example1.inp +0 -0
  120. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/example2.inp +0 -0
  121. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/example3.inp +0 -0
  122. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/example4.inp +0 -0
  123. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/example5.inp +0 -0
  124. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/example6.inp +0 -0
  125. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/example_h+_export.csv +0 -0
  126. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/expected_conveyance.csv +0 -0
  127. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/floodplain.dat +0 -0
  128. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/hplus_export_example_1.csv +0 -0
  129. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/hplus_export_example_10.csv +0 -0
  130. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/hplus_export_example_2.csv +0 -0
  131. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/hplus_export_example_3.csv +0 -0
  132. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/hplus_export_example_4.csv +0 -0
  133. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/hplus_export_example_5.csv +0 -0
  134. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/hplus_export_example_6.csv +0 -0
  135. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/hplus_export_example_7.csv +0 -0
  136. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/hplus_export_example_8.csv +0 -0
  137. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/hplus_export_example_9.csv +0 -0
  138. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/integrated_bridge/AR_NoSP_NoBl_2O_NO_OneFRC.ied +0 -0
  139. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/integrated_bridge/AR_vSP_25pc_1O.ied +0 -0
  140. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/integrated_bridge/PL_vSP_25pc_1O.ied +0 -0
  141. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/integrated_bridge/SBTwoFRCsStaggered.IED +0 -0
  142. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/integrated_bridge/US_NoSP_NoBl_OR_RN.ied +0 -0
  143. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/integrated_bridge/US_SP_NoBl_OR_frc_PT2-5_RN.ied +0 -0
  144. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/integrated_bridge/US_fSP_NoBl_1O.ied +0 -0
  145. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/integrated_bridge/US_nSP_NoBl_1O.ied +0 -0
  146. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/integrated_bridge/US_vSP_NoBl_2O_Para.ied +0 -0
  147. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/integrated_bridge.dat +0 -0
  148. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/jump.dat +0 -0
  149. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/lf_complex_ex.lf1 +0 -0
  150. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/network.dat +0 -0
  151. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/network.ext +0 -0
  152. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/network.exy +0 -0
  153. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/network.feb +0 -0
  154. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/network.ied +0 -0
  155. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/network.ief +0 -0
  156. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/network.inp +0 -0
  157. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/network.mmm +0 -0
  158. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/network.pxy +0 -0
  159. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/network.uic +0 -0
  160. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/network.zzd +0 -0
  161. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/network.zzl +0 -0
  162. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/network.zzn +0 -0
  163. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/network.zzu +0 -0
  164. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/network.zzx +0 -0
  165. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/network_dat_expected.json +0 -0
  166. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/network_ied_expected.json +0 -0
  167. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/network_with_comments.ied +0 -0
  168. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/rnweir.dat +0 -0
  169. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/rnweir.ext +0 -0
  170. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/rnweir.feb +0 -0
  171. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/rnweir.gxy +0 -0
  172. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/rnweir_default.dat +0 -0
  173. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/rnweir_default.ext +0 -0
  174. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/rnweir_default.feb +0 -0
  175. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/rnweir_default.fmpx +0 -0
  176. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/rnweir_default.gxy +0 -0
  177. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/structure_logs/EX17_expected.csv +0 -0
  178. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/structure_logs/EX17_expected.json +0 -0
  179. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/structure_logs/EX18_expected.csv +0 -0
  180. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/structure_logs/EX18_expected.json +0 -0
  181. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/structure_logs/EX6_expected.csv +0 -0
  182. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/structure_logs/EX6_expected.json +0 -0
  183. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzn_flow.csv +0 -0
  184. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzn_fr.csv +0 -0
  185. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzn_max.csv +0 -0
  186. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzn_mode.csv +0 -0
  187. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzn_stage.csv +0 -0
  188. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzn_state.csv +0 -0
  189. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzn_velocity.csv +0 -0
  190. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzx_left_fp_h.csv +0 -0
  191. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzx_left_fp_mode.csv +0 -0
  192. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzx_link_inflow.csv +0 -0
  193. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzx_max.csv +0 -0
  194. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzx_right_fp_h.csv +0 -0
  195. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzx_right_fp_mode.csv +0 -0
  196. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_data/unit checks.dat +0 -0
  197. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_flowtimeprofile.py +0 -0
  198. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_fmfile.py +0 -0
  199. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_hydrology_plus_export.py +0 -0
  200. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_ied.py +0 -0
  201. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_inp.py +0 -0
  202. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_integrated_bridge.py +0 -0
  203. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_json.py +0 -0
  204. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_logs_lf.py +0 -0
  205. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_read_file.py +0 -0
  206. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_river.py +0 -0
  207. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_tool.py +0 -0
  208. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_toolbox_structure_log.py +0 -0
  209. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_unit.py +0 -0
  210. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_xml2d.py +0 -0
  211. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/test/test_zz.py +0 -0
  212. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/to_from_json.py +0 -0
  213. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/tool.py +0 -0
  214. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/toolbox/__init__.py +0 -0
  215. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/toolbox/example_tool.py +0 -0
  216. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/toolbox/gui/bg.PNG +0 -0
  217. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/toolbox/gui/logo.PNG +0 -0
  218. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/toolbox/model_build/__init__.py +0 -0
  219. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/toolbox/model_build/add_siltation_definition.py +0 -0
  220. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/toolbox/model_build/structure_log/__init__.py +0 -0
  221. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/toolbox/model_build/structure_log/structure_log.py +0 -0
  222. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/toolbox/model_build/structure_log_definition.py +0 -0
  223. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/toolbox/model_conversion/__init__.py +0 -0
  224. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/toolbox/model_review/__init__.py +0 -0
  225. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/toolbox/results_analysis/__init__.py +0 -0
  226. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/units/__init__.py +0 -0
  227. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/units/_base.py +0 -0
  228. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/units/_helpers.py +0 -0
  229. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/units/boundaries.py +0 -0
  230. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/units/comment.py +0 -0
  231. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/units/conduits.py +0 -0
  232. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/units/connectors.py +0 -0
  233. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/units/controls.py +0 -0
  234. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/units/conveyance.py +0 -0
  235. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/units/iic.py +0 -0
  236. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/units/losses.py +0 -0
  237. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/units/sections.py +0 -0
  238. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/units/units.py +0 -0
  239. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/units/unsupported.py +0 -0
  240. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/units/variables.py +0 -0
  241. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/urban1d/__init__.py +0 -0
  242. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/urban1d/_base.py +0 -0
  243. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/urban1d/conduits.py +0 -0
  244. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/urban1d/general_parameters.py +0 -0
  245. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/urban1d/junctions.py +0 -0
  246. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/urban1d/losses.py +0 -0
  247. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/urban1d/outfalls.py +0 -0
  248. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/urban1d/raingauges.py +0 -0
  249. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/urban1d/subsections.py +0 -0
  250. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/urban1d/xsections.py +0 -0
  251. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/util.py +0 -0
  252. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/validation/__init__.py +0 -0
  253. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/validation/parameters.py +0 -0
  254. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/validation/urban_parameters.py +0 -0
  255. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/validation/validation.py +0 -0
  256. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/xml2d.py +0 -0
  257. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/xml2d_template.py +0 -0
  258. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/xsd_backup.xml +0 -0
  259. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api/zz.py +0 -0
  260. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api.egg-info/dependency_links.txt +0 -0
  261. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api.egg-info/entry_points.txt +0 -0
  262. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api.egg-info/requires.txt +0 -0
  263. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/floodmodeller_api.egg-info/top_level.txt +0 -0
  264. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/pyproject.toml +0 -0
  265. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/requirements.txt +0 -0
  266. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/setup.cfg +0 -0
  267. {floodmodeller_api-0.5.3 → floodmodeller_api-0.5.3.post1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: floodmodeller_api
3
- Version: 0.5.3
3
+ Version: 0.5.3.post1
4
4
  Summary: Extends the functionality of Flood Modeller to python users
5
5
  Author: Jacobs
6
6
  Author-email: joe.pierce@jacobs.com
@@ -571,9 +571,7 @@ class DAT(FMFile):
571
571
  raise Exception(msg)
572
572
  # Changes done to account for unit types with spaces/dashes eg Flat-V Weir
573
573
  unit_type_safe = unit_type.replace(" ", "_").replace("-", "_")
574
- unit_group[unit_name] = eval(
575
- f"units.{unit_type_safe}({unit_data}, {self._label_len})",
576
- )
574
+ unit_group[unit_name] = getattr(units, unit_type_safe)(unit_data, self._label_len)
577
575
  self._all_units.append(unit_group[unit_name])
578
576
 
579
577
  def _process_unsupported_unit(self, unit_type, unit_data) -> None:
@@ -183,7 +183,7 @@ class IED(FMFile):
183
183
  if unit_name in unit_group:
184
184
  msg = f'Duplicate label ({unit_name}) encountered within category: {units.SUPPORTED_UNIT_TYPES[block["Type"]]["group"]}'
185
185
  raise Exception(msg)
186
- unit_group[unit_name] = eval(f'units.{block["Type"]}({unit_data})')
186
+ unit_group[unit_name] = getattr(units, block["Type"])(unit_data)
187
187
 
188
188
  self._all_units.append(unit_group[unit_name])
189
189
 
@@ -18,6 +18,7 @@ from __future__ import annotations
18
18
 
19
19
  import csv
20
20
  import logging
21
+ import re
21
22
  import subprocess
22
23
  import time
23
24
  from io import StringIO
@@ -98,6 +99,8 @@ class IEF(FMFile):
98
99
  self._ief_properties: list[str] = []
99
100
  self.EventData: dict[str, str] = {}
100
101
  self.flowtimeprofiles: list[FlowTimeProfile] = []
102
+
103
+ raw_eventdata: list[tuple[str, str]] = []
101
104
  for line in raw_data:
102
105
  # Handle any comments here (prefixed with ;)
103
106
  if line.lstrip().startswith(";"):
@@ -116,7 +119,7 @@ class IEF(FMFile):
116
119
  event_data_title = value
117
120
  else:
118
121
  event_data_title = prev_comment
119
- self.eventdata[event_data_title] = value
122
+ raw_eventdata.append((event_data_title, value))
120
123
  self._ief_properties.append("EventData")
121
124
 
122
125
  elif prop.upper().startswith("FLOWTIMEPROFILE"):
@@ -134,6 +137,7 @@ class IEF(FMFile):
134
137
  self._ief_properties.append(line)
135
138
  prev_comment = None
136
139
 
140
+ self._eventdata_read_helper(raw_eventdata)
137
141
  self._check_formatting(raw_data)
138
142
  self._update_ief_properties() # call this here to ensure ief properties is correct
139
143
 
@@ -179,7 +183,10 @@ class IEF(FMFile):
179
183
  # Add multiple EventData if present
180
184
  for idx, key in enumerate(event_data):
181
185
  if idx == event_index:
182
- ief_string += f";{key}\nEventData{eq}{event_data[key]!s}\n"
186
+ # we enter this block if we're ready to write the event data
187
+ # scrub off any extra bits we've added as part of the make-unique bit of reading.
188
+ title = re.sub(r"<\d>$", "", key)
189
+ ief_string += f";{title}\nEventData{eq}{event_data[key]!s}\n"
183
190
  break
184
191
  event_index += 1
185
192
 
@@ -328,6 +335,16 @@ class IEF(FMFile):
328
335
  if removed == to_remove:
329
336
  break
330
337
 
338
+ def _eventdata_read_helper(self, raw_eventdata: list[tuple[str, str]]) -> None:
339
+ # now we deal with the event data, and convert it into the dict-based .eventdata
340
+ for title, ied_path in raw_eventdata:
341
+ n = 0
342
+ new_title = title or "<0>" # set empty string to placeholder
343
+ while new_title in self.eventdata:
344
+ new_title = f"{title}<{n}>"
345
+ n += 1
346
+ self.eventdata[new_title] = ied_path
347
+
331
348
  def _update_flowtimeprofile_info(self) -> None:
332
349
  """Update the flowtimeprofile data stored in ief properties"""
333
350
  if not hasattr(self, "flowtimeprofiles") or len(self.flowtimeprofiles) == 0:
@@ -570,7 +587,7 @@ class IEF(FMFile):
570
587
 
571
588
  return ZZN(result_path)
572
589
 
573
- def get_log(self):
590
+ def get_log(self) -> LF1:
574
591
  """If log files for the simulation exist, this function returns them as a LF1 class object
575
592
 
576
593
  Returns:
@@ -0,0 +1,43 @@
1
+ [ISIS Event Header]
2
+ Title=Multievent Test IEF
3
+ Datafile=network.dat
4
+ Results=..\Somewhere
5
+ [ISIS Event Details]
6
+ RunType=Unsteady
7
+ InitialConditions=..\initial_conditions.iic
8
+ Start=0
9
+ Finish=360
10
+ InitialTimestep=10
11
+ MinimumTimestep=10
12
+ MaximumTimestep=10
13
+ SaveInterval=900
14
+ ;Fluvial Inflow
15
+ EventData=..\network.ied
16
+ ;Event Override
17
+ EventData=..\event_override.ied
18
+ ;Spill Data
19
+ EventData=..\spill1.ied
20
+ ;Spill Data
21
+ EventData=..\spill2.ied
22
+ ;
23
+ EventData=..\ied_01.IED
24
+ ;
25
+ EventData=..\ied_02.IED
26
+ ;
27
+ EventData=..\ied_03.IED
28
+ Dflood=5
29
+ Qtol=0.1
30
+ Minitr=5
31
+ Maxitr=19
32
+ Theta=0.55
33
+ Weight=0.1
34
+ AdaptiveTimestep=1
35
+ RefineBridgeSecProps=0
36
+ SolveDHEqualsZeroAtStart=1
37
+ RulesAtTimeZero=1
38
+ RulesOnFirstIteration=0
39
+ ResetTimesAfterPos=1
40
+ UseFPSModularLimit=1
41
+ LaunchDoublePrecisionVersion=1
42
+ UseRemoteQ=1
43
+ 2DFLOW=1
@@ -18,6 +18,11 @@ def ief(ief_fp: Path) -> IEF:
18
18
  return IEF(ief_fp)
19
19
 
20
20
 
21
+ @pytest.fixture()
22
+ def multievent_ief(test_workspace: Path) -> IEF:
23
+ return IEF(test_workspace / "multievent.ief")
24
+
25
+
21
26
  @pytest.fixture()
22
27
  def exe_bin(tmpdir) -> Path:
23
28
  for exe in ["ISISf32.exe", "ISISf32_DoubleP.exe"]:
@@ -40,6 +45,7 @@ def sleep():
40
45
 
41
46
  def test_ief_read_doesnt_change_data(test_workspace, tmpdir):
42
47
  """IEF: Check all '.ief' files in folder by reading the _write() output into a new IEF instance and checking it stays the same."""
48
+ # we use this instead of parameterise so it will just automatically test any ief in the test data.
43
49
  for ief_file in Path(test_workspace).glob("*.ief"):
44
50
  ief = IEF(ief_file)
45
51
  first_output = ief._write()
@@ -182,3 +188,64 @@ def test_datafile_path(test_workspace: Path):
182
188
  path = Path(ief.Datafile)
183
189
  assert path.stem == "UptonP8_Panels"
184
190
  assert path.parent == Path("../../networks")
191
+
192
+
193
+ def test_unique_events_retained(multievent_ief: IEF):
194
+ """Tests that the .eventdata attribute retains the same number of items as the original ief"""
195
+ event_dict = multievent_ief.eventdata
196
+ assert len(event_dict) == 7
197
+
198
+
199
+ @pytest.mark.parametrize(
200
+ ("sample_eventdata"),
201
+ [
202
+ ({}),
203
+ ({"Fluvial Inflow": "..\\network.ied", "Event Override": "..\\event_override.ied"}),
204
+ (
205
+ {
206
+ "Fluvial Inflow": "..\\network.ied",
207
+ "Event Override": "..\\event_override.ied",
208
+ "Spill Data": "..\\spill1.ied",
209
+ "Spill Data<0>": "..\\spill2.ied",
210
+ "<0>": "..\\ied_01.IED",
211
+ "<1>": "..\\ied_02.IED",
212
+ "<2>": "..\\ied_03.IED",
213
+ "Added Event": "../added.ied",
214
+ }
215
+ ),
216
+ ],
217
+ )
218
+ def test_adding_eventdata(multievent_ief, sample_eventdata, tmpdir):
219
+ """Tests modifying, saving and reading eventdata dictionary.
220
+
221
+ Compares that the input is equal to the output."""
222
+ multievent_ief.eventdata = sample_eventdata
223
+ new_path = Path(tmpdir) / "tmp.ief"
224
+ multievent_ief.save(new_path)
225
+
226
+ new_ief = IEF(new_path)
227
+ assert new_ief.eventdata == sample_eventdata
228
+
229
+
230
+ def test_renaming_eventdata(multievent_ief, tmpdir):
231
+ """Tests renaming an event, after it has been substituted for a temporary one."""
232
+
233
+ mapping = {"<1>": "New Title"}
234
+
235
+ multievent_ief.eventdata = {
236
+ mapping.get(key, key): value for key, value in multievent_ief.eventdata.items()
237
+ }
238
+ new_path = Path(tmpdir) / "tmp.ief"
239
+ multievent_ief.save(new_path)
240
+
241
+ new_ief = IEF(new_path)
242
+
243
+ assert new_ief.eventdata == {
244
+ "Fluvial Inflow": "..\\network.ied",
245
+ "Event Override": "..\\event_override.ied",
246
+ "Spill Data": "..\\spill1.ied",
247
+ "Spill Data<0>": "..\\spill2.ied",
248
+ "<0>": "..\\ied_01.IED",
249
+ "New Title": "..\\ied_02.IED",
250
+ "<1>": "..\\ied_03.IED",
251
+ }
@@ -0,0 +1,31 @@
1
+ from floodmodeller_api.units import SLUICE
2
+
3
+
4
+ def test_non_supported_sluice_type_writes():
5
+ unit_block = [
6
+ "SLUICE Sluice with type Water1",
7
+ "VERTICAL",
8
+ "USNODE DSNODE ",
9
+ " 0.700 0.700 1.950 1.050 1.390 5.400",
10
+ " 0.270 1.420 1.000 1.000 0.000 1.000 1.000",
11
+ " 3SECONDS EXTEND ",
12
+ "WATER1 0.000",
13
+ "GATE 1 ",
14
+ " 3",
15
+ " 0.000 2.200",
16
+ " 3.000 2.200",
17
+ "1.000e+010 2.200",
18
+ "GATE 2 ",
19
+ " 3",
20
+ " 0.000 2.200",
21
+ " 3.000 2.200",
22
+ "1.000e+010 2.200",
23
+ "GATE 3 ",
24
+ " 3",
25
+ " 0.000 2.200",
26
+ " 3.000 2.200",
27
+ "1.000e+010 2.200",
28
+ ]
29
+ sluice = SLUICE(unit_block)
30
+ result = sluice._write()
31
+ assert list(map(str.rstrip, result)) == list(map(str.rstrip, unit_block))
@@ -696,7 +696,7 @@ class SLUICE(Unit):
696
696
  )
697
697
 
698
698
  # Third parameter line
699
- self.ngates = len(self.gates)
699
+ self.ngates = len(self.gates) if hasattr(self, "gates") else self.ngates
700
700
  params3 = join_10_char(self.ngates)
701
701
 
702
702
  if self.subtype == "RADIAL":
@@ -0,0 +1 @@
1
+ __version__ = "0.5.3.post1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: floodmodeller_api
3
- Version: 0.5.3
3
+ Version: 0.5.3.post1
4
4
  Summary: Extends the functionality of Flood Modeller to python users
5
5
  Author: Jacobs
6
6
  Author-email: joe.pierce@jacobs.com
@@ -60,6 +60,7 @@ floodmodeller_api/test/test_json.py
60
60
  floodmodeller_api/test/test_logs_lf.py
61
61
  floodmodeller_api/test/test_read_file.py
62
62
  floodmodeller_api/test/test_river.py
63
+ floodmodeller_api/test/test_sluice.py
63
64
  floodmodeller_api/test/test_tool.py
64
65
  floodmodeller_api/test/test_toolbox_structure_log.py
65
66
  floodmodeller_api/test/test_unit.py
@@ -162,6 +163,7 @@ floodmodeller_api/test/test_data/hplus_export_example_9.csv
162
163
  floodmodeller_api/test/test_data/integrated_bridge.dat
163
164
  floodmodeller_api/test/test_data/jump.dat
164
165
  floodmodeller_api/test/test_data/lf_complex_ex.lf1
166
+ floodmodeller_api/test/test_data/multievent.ief
165
167
  floodmodeller_api/test/test_data/network.dat
166
168
  floodmodeller_api/test/test_data/network.ext
167
169
  floodmodeller_api/test/test_data/network.exy
@@ -1 +0,0 @@
1
- __version__ = "0.5.3"