floodmodeller-api 0.5.2.post1__tar.gz → 0.5.3__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.
- {floodmodeller_api-0.5.2.post1/floodmodeller_api.egg-info → floodmodeller_api-0.5.3}/PKG-INFO +5 -3
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/README.md +2 -1
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/_base.py +10 -4
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/dat.py +1 -1
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/logs/lf.py +14 -7
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/logs/lf_helpers.py +2 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/logs/lf_params.py +54 -26
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/mapping.py +2 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_dat.py +13 -1
- floodmodeller_api-0.5.3/floodmodeller_api/test/test_data/floodplain.dat +52 -0
- floodmodeller_api-0.5.3/floodmodeller_api/test/test_data/lf_complex_ex.lf1 +51499 -0
- floodmodeller_api-0.5.3/floodmodeller_api/test/test_fmfile.py +20 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_logs_lf.py +57 -12
- floodmodeller_api-0.5.3/floodmodeller_api/test/test_unit.py +57 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/units/__init__.py +2 -1
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/units/_base.py +18 -6
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/units/sections.py +4 -4
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/units/structures.py +142 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/units/units.py +1 -1
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/validation/parameters.py +16 -0
- floodmodeller_api-0.5.3/floodmodeller_api/version.py +1 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/xml2d.py +1 -1
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3/floodmodeller_api.egg-info}/PKG-INFO +5 -3
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api.egg-info/SOURCES.txt +4 -0
- floodmodeller_api-0.5.2.post1/floodmodeller_api/version.py +0 -1
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/LICENSE.txt +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/MANIFEST.in +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/__init__.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/backup.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/diff.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/hydrology_plus/__init__.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/hydrology_plus/helper.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/hydrology_plus/hydrology_plus_export.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/ied.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/ief.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/ief_flags.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/inp.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/libs/libifcoremd.dll +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/libs/libifcoremt.so.5 +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/libs/libifport.so.5 +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/libs/libimf.so +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/libs/libintlc.so.5 +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/libs/libmmd.dll +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/libs/libsvml.so +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/libs/libzzn_read.so +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/libs/zzn_read.dll +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/logs/__init__.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/__init__.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/conftest.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_backup.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_conveyance.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/7082.ief +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/All Units 4_6.DAT +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/All Units 4_6.feb +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/BRIDGE.DAT +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/BaseModel_2D_Q100.ief +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/Baseline_unchecked.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/Constant QT.ief +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/Culvert_Inlet_Outlet.dat +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/Culvert_Inlet_Outlet.feb +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/DamBreakADI.xml +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/DamBreakFAST.xml +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/DamBreakFAST_dy.xml +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/DamBreakTVD.xml +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/DefenceBreach.xml +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/DefenceBreachFAST.xml +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/DefenceBreachFAST_dy.xml +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/Domain1+2_QH.xml +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/Domain1_H.xml +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/Domain1_Q.xml +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/Domain1_Q_FAST.xml +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/Domain1_Q_FAST_dy.xml +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/Domain1_Q_xml_expected.json +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/Domain1_W.xml +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/EX1.DAT +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/EX1.ext +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/EX1.feb +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/EX1.gxy +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/EX17.DAT +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/EX17.ext +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/EX17.feb +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/EX18.DAT +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/EX18_DAT_expected.json +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/EX2.DAT +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/EX3.DAT +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/EX3_DAT_expected.json +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/EX3_IEF_expected.json +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/EX6.DAT +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/EX6.ext +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/EX6.feb +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/EX6_DAT_expected.json +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/Event Data Example.DAT +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/Event Data Example.ext +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/Event Data Example.feb +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/FEH boundary.ief +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/Linked1D2D.xml +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/Linked1D2DFAST.xml +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/Linked1D2DFAST_dy.xml +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/Linked1D2D_xml_expected.json +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/P3Panels_UNsteady.ief +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/QT in dat file.ief +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/T10.ief +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/T2.ief +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/T5.ief +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/blockage.dat +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/blockage.ext +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/blockage.feb +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/blockage.gxy +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/conveyance_test.dat +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/conveyance_test.feb +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/conveyance_test.gxy +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/defaultUnits.dat +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/defaultUnits.ext +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/defaultUnits.feb +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/defaultUnits.fmpx +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/defaultUnits.gxy +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/df_flows_hplus.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/encoding_test_cp1252.dat +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/encoding_test_utf8.dat +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/event_hplus.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/ex3.ief +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/ex3.lf1 +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/ex4.DAT +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/ex4.ief +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/ex4_changed.DAT +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/ex6.ief +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/example1.inp +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/example2.inp +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/example3.inp +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/example4.inp +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/example5.inp +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/example6.inp +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/example_h+_export.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/expected_conveyance.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/hplus_export_example_1.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/hplus_export_example_10.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/hplus_export_example_2.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/hplus_export_example_3.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/hplus_export_example_4.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/hplus_export_example_5.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/hplus_export_example_6.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/hplus_export_example_7.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/hplus_export_example_8.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/hplus_export_example_9.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/integrated_bridge/AR_NoSP_NoBl_2O_NO_OneFRC.ied +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/integrated_bridge/AR_vSP_25pc_1O.ied +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/integrated_bridge/PL_vSP_25pc_1O.ied +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/integrated_bridge/SBTwoFRCsStaggered.IED +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/integrated_bridge/US_NoSP_NoBl_OR_RN.ied +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/integrated_bridge/US_SP_NoBl_OR_frc_PT2-5_RN.ied +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/integrated_bridge/US_fSP_NoBl_1O.ied +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/integrated_bridge/US_nSP_NoBl_1O.ied +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/integrated_bridge/US_vSP_NoBl_2O_Para.ied +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/integrated_bridge.dat +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/jump.dat +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/network.dat +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/network.ext +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/network.exy +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/network.feb +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/network.ied +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/network.ief +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/network.inp +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/network.mmm +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/network.pxy +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/network.uic +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/network.zzd +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/network.zzl +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/network.zzn +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/network.zzu +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/network.zzx +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/network_dat_expected.json +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/network_ied_expected.json +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/network_with_comments.ied +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/rnweir.dat +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/rnweir.ext +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/rnweir.feb +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/rnweir.gxy +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/rnweir_default.dat +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/rnweir_default.ext +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/rnweir_default.feb +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/rnweir_default.fmpx +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/rnweir_default.gxy +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/structure_logs/EX17_expected.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/structure_logs/EX17_expected.json +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/structure_logs/EX18_expected.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/structure_logs/EX18_expected.json +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/structure_logs/EX6_expected.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/structure_logs/EX6_expected.json +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzn_flow.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzn_fr.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzn_max.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzn_mode.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzn_stage.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzn_state.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzn_velocity.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzx_left_fp_h.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzx_left_fp_mode.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzx_link_inflow.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzx_max.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzx_right_fp_h.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/tabular_csv_outputs/network_zzx_right_fp_mode.csv +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_data/unit checks.dat +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_flowtimeprofile.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_hydrology_plus_export.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_ied.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_ief.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_inp.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_integrated_bridge.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_json.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_read_file.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_river.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_tool.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_toolbox_structure_log.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_xml2d.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_zz.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/to_from_json.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/tool.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/toolbox/__init__.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/toolbox/example_tool.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/toolbox/gui/bg.PNG +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/toolbox/gui/logo.PNG +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/toolbox/model_build/__init__.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/toolbox/model_build/add_siltation_definition.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/toolbox/model_build/structure_log/__init__.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/toolbox/model_build/structure_log/structure_log.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/toolbox/model_build/structure_log_definition.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/toolbox/model_conversion/__init__.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/toolbox/model_review/__init__.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/toolbox/results_analysis/__init__.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/units/_helpers.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/units/boundaries.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/units/comment.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/units/conduits.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/units/connectors.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/units/controls.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/units/conveyance.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/units/iic.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/units/losses.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/units/unsupported.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/units/variables.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/urban1d/__init__.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/urban1d/_base.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/urban1d/conduits.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/urban1d/general_parameters.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/urban1d/junctions.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/urban1d/losses.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/urban1d/outfalls.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/urban1d/raingauges.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/urban1d/subsections.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/urban1d/xsections.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/util.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/validation/__init__.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/validation/urban_parameters.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/validation/validation.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/xml2d_template.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/xsd_backup.xml +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/zz.py +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api.egg-info/dependency_links.txt +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api.egg-info/entry_points.txt +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api.egg-info/requires.txt +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api.egg-info/top_level.txt +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/pyproject.toml +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/requirements.txt +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/setup.cfg +0 -0
- {floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/setup.py +0 -0
{floodmodeller_api-0.5.2.post1/floodmodeller_api.egg-info → floodmodeller_api-0.5.3}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: floodmodeller_api
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.3
|
|
4
4
|
Summary: Extends the functionality of Flood Modeller to python users
|
|
5
5
|
Author: Jacobs
|
|
6
6
|
Author-email: joe.pierce@jacobs.com
|
|
@@ -24,6 +24,7 @@ Dynamic: author-email
|
|
|
24
24
|
Dynamic: description
|
|
25
25
|
Dynamic: description-content-type
|
|
26
26
|
Dynamic: license
|
|
27
|
+
Dynamic: license-file
|
|
27
28
|
Dynamic: project-url
|
|
28
29
|
Dynamic: requires-dist
|
|
29
30
|
Dynamic: summary
|
|
@@ -60,7 +61,8 @@ You can install the floodmodeller_api package from PyPI with the following comma
|
|
|
60
61
|
pip install floodmodeller-api
|
|
61
62
|
```
|
|
62
63
|
|
|
63
|
-
|
|
64
|
+
Flood Modeller API is regularly tested for all versions of python 3.10 onwards. Although it may work for older versions of python, we recommend using at least v3.10 and ideally the latest
|
|
65
|
+
stable release.
|
|
64
66
|
|
|
65
67
|
Once you have installed floodmodeller_api to your python environment, you can import the package with:
|
|
66
68
|
|
|
@@ -30,7 +30,8 @@ You can install the floodmodeller_api package from PyPI with the following comma
|
|
|
30
30
|
pip install floodmodeller-api
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
Flood Modeller API is regularly tested for all versions of python 3.10 onwards. Although it may work for older versions of python, we recommend using at least v3.10 and ideally the latest
|
|
34
|
+
stable release.
|
|
34
35
|
|
|
35
36
|
Once you have installed floodmodeller_api to your python environment, you can import the package with:
|
|
36
37
|
|
|
@@ -83,18 +83,24 @@ class FMFile(Jsonable):
|
|
|
83
83
|
def _read(self):
|
|
84
84
|
raise NotImplementedError
|
|
85
85
|
|
|
86
|
-
def
|
|
86
|
+
def update(self) -> None:
|
|
87
|
+
raise NotImplementedError
|
|
88
|
+
|
|
89
|
+
def save(self, filepath: str | Path) -> None:
|
|
90
|
+
raise NotImplementedError
|
|
91
|
+
|
|
92
|
+
def _update(self) -> None:
|
|
87
93
|
"""Updates the existing self._filetype based on any altered attributes"""
|
|
88
94
|
if self._filepath is None:
|
|
89
95
|
msg = f"{self._filetype} must be saved to a specific filepath before update() can be called."
|
|
90
96
|
raise UserWarning(msg)
|
|
91
97
|
|
|
92
98
|
string = self._write()
|
|
93
|
-
with open(self._filepath, "w", encoding=self.ENCODING) as _file:
|
|
99
|
+
with open(self._filepath, "w", encoding=self.ENCODING, newline="\r\n") as _file:
|
|
94
100
|
_file.write(string)
|
|
95
101
|
logging.info("%s File Updated!", self._filepath)
|
|
96
102
|
|
|
97
|
-
def _save(self, filepath):
|
|
103
|
+
def _save(self, filepath: str | Path) -> None:
|
|
98
104
|
filepath = Path(filepath).absolute()
|
|
99
105
|
if filepath.suffix.lower() != self._suffix:
|
|
100
106
|
msg = f'Given filepath does not point to a filepath suffixed "{self._suffix}". Please point to the full path to save the {self._filetype} file'
|
|
@@ -104,7 +110,7 @@ class FMFile(Jsonable):
|
|
|
104
110
|
Path.mkdir(filepath.parent)
|
|
105
111
|
|
|
106
112
|
string = self._write()
|
|
107
|
-
with open(filepath, "w", encoding=self.ENCODING) as _file:
|
|
113
|
+
with open(filepath, "w", encoding=self.ENCODING, newline="\r\n") as _file:
|
|
108
114
|
_file.write(string)
|
|
109
115
|
self._filepath = filepath # Updates the filepath attribute to the given path
|
|
110
116
|
|
|
@@ -88,7 +88,7 @@ class DAT(FMFile):
|
|
|
88
88
|
if self._gxy_data is not None:
|
|
89
89
|
gxy_string = self._gxy_data
|
|
90
90
|
new_gxy_path = filepath.with_suffix(".gxy")
|
|
91
|
-
with open(new_gxy_path, "w") as gxy_file:
|
|
91
|
+
with open(new_gxy_path, "w", encoding=self.ENCODING, newline="\r\n") as gxy_file:
|
|
92
92
|
gxy_file.write(gxy_string)
|
|
93
93
|
self._gxy_filepath = new_gxy_path
|
|
94
94
|
|
|
@@ -124,16 +124,23 @@ class LF(FMFile):
|
|
|
124
124
|
for key in self._data_to_extract:
|
|
125
125
|
parser = self._extracted_data[key]
|
|
126
126
|
|
|
127
|
-
|
|
128
|
-
|
|
127
|
+
if parser.use_regex:
|
|
128
|
+
if not (match := parser.prefix.match(raw_line)):
|
|
129
|
+
continue
|
|
130
|
+
end_of_line = match.group(1).lstrip()
|
|
131
|
+
|
|
132
|
+
elif raw_line.startswith(parser.prefix):
|
|
129
133
|
# store everything after prefix
|
|
130
134
|
end_of_line = raw_line.split(parser.prefix)[1].lstrip()
|
|
131
|
-
parser.process_line(end_of_line)
|
|
132
135
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
136
|
+
else:
|
|
137
|
+
continue
|
|
138
|
+
parser.process_line(end_of_line)
|
|
139
|
+
|
|
140
|
+
# index marks the end of an iteration
|
|
141
|
+
if parser.is_index is True:
|
|
142
|
+
self._sync_cols()
|
|
143
|
+
self._no_iters += 1
|
|
137
144
|
|
|
138
145
|
# update counter
|
|
139
146
|
self._no_lines += 1
|
{floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/logs/lf_helpers.py
RENAMED
|
@@ -171,6 +171,7 @@ class Parser(ABC):
|
|
|
171
171
|
exclude: str | None = None,
|
|
172
172
|
is_index: bool | None = False,
|
|
173
173
|
before_index: bool | None = False,
|
|
174
|
+
use_regex: bool | None = False,
|
|
174
175
|
):
|
|
175
176
|
self._name = name
|
|
176
177
|
|
|
@@ -184,6 +185,7 @@ class Parser(ABC):
|
|
|
184
185
|
|
|
185
186
|
self.data_type = data_type
|
|
186
187
|
self.data = data_factory(data_type, name)
|
|
188
|
+
self.use_regex = use_regex
|
|
187
189
|
|
|
188
190
|
def process_line(self, raw_line: str) -> None:
|
|
189
191
|
"""self._process_line with exception handling of expected nan values"""
|
{floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/logs/lf_params.py
RENAMED
|
@@ -14,6 +14,8 @@ If you have any query about this program or this License, please contact us at s
|
|
|
14
14
|
address: Jacobs UK Limited, Flood Modeller, Cottons Centre, Cottons Lane, London, SE1 2QG, United Kingdom.
|
|
15
15
|
"""
|
|
16
16
|
|
|
17
|
+
import re
|
|
18
|
+
|
|
17
19
|
from .lf_helpers import (
|
|
18
20
|
DateTimeParser,
|
|
19
21
|
FloatParser,
|
|
@@ -185,93 +187,108 @@ lf1_unsteady_data_to_extract = {
|
|
|
185
187
|
},
|
|
186
188
|
"initial_volume": {
|
|
187
189
|
"class": FloatSplitParser,
|
|
188
|
-
"prefix": "
|
|
190
|
+
"prefix": re.compile(r"^!!output1\s+Initial volume\s*:(.*)"),
|
|
189
191
|
"data_type": "last",
|
|
190
192
|
"split": "m3",
|
|
193
|
+
"use_regex": True,
|
|
191
194
|
},
|
|
192
195
|
"final_volume": {
|
|
193
196
|
"class": FloatSplitParser,
|
|
194
|
-
"prefix": "
|
|
197
|
+
"prefix": re.compile(r"^!!output1\s+Final volume\s*:(.*)"),
|
|
195
198
|
"data_type": "last",
|
|
196
199
|
"split": "m3",
|
|
200
|
+
"use_regex": True,
|
|
197
201
|
},
|
|
198
202
|
"total_boundary_inflow": {
|
|
199
203
|
"class": FloatSplitParser,
|
|
200
|
-
"prefix": "
|
|
204
|
+
"prefix": re.compile(r"^!!output1\s+Total boundary inflow\s*:(.*)"),
|
|
201
205
|
"data_type": "last",
|
|
202
206
|
"split": "m3",
|
|
207
|
+
"use_regex": True,
|
|
203
208
|
},
|
|
204
209
|
"total_boundary_outflow": {
|
|
205
210
|
"class": FloatSplitParser,
|
|
206
|
-
"prefix": "
|
|
211
|
+
"prefix": re.compile(r"^!!output1\s+Total boundary outflow\s*:(.*)"),
|
|
207
212
|
"data_type": "last",
|
|
208
213
|
"split": "m3",
|
|
214
|
+
"use_regex": True,
|
|
209
215
|
},
|
|
210
216
|
"total_lat_link_inflow": {
|
|
211
217
|
"class": FloatSplitParser,
|
|
212
|
-
"prefix": "
|
|
218
|
+
"prefix": re.compile(r"^!!output1\s+Total lat. link inflow\s*:(.*)"),
|
|
213
219
|
"data_type": "last",
|
|
214
220
|
"split": "m3",
|
|
221
|
+
"use_regex": True,
|
|
215
222
|
},
|
|
216
223
|
"total_lat_link_outflow": {
|
|
217
224
|
"class": FloatSplitParser,
|
|
218
|
-
"prefix": "
|
|
225
|
+
"prefix": re.compile(r"^!!output1\s+Total lat. link outflow\s*:(.*)"),
|
|
219
226
|
"data_type": "last",
|
|
220
227
|
"split": "m3",
|
|
228
|
+
"use_regex": True,
|
|
221
229
|
},
|
|
222
230
|
"max_system_volume": {
|
|
223
231
|
"class": FloatSplitParser,
|
|
224
|
-
"prefix": "
|
|
232
|
+
"prefix": re.compile(r"^!!output1\s+Max. system volume\s*:(.*)"),
|
|
225
233
|
"data_type": "last",
|
|
226
234
|
"split": "m3",
|
|
235
|
+
"use_regex": True,
|
|
227
236
|
},
|
|
228
237
|
"max_volume_increase": {
|
|
229
238
|
"class": FloatSplitParser,
|
|
230
|
-
"prefix": "
|
|
239
|
+
"prefix": re.compile(r"^!!output1\s+Max. \|volume\| increase\s*:(.*)"),
|
|
231
240
|
"data_type": "last",
|
|
232
241
|
"split": "m3",
|
|
242
|
+
"use_regex": True,
|
|
233
243
|
},
|
|
234
244
|
"max_boundary_inflow": {
|
|
235
245
|
"class": FloatSplitParser,
|
|
236
|
-
"prefix": "
|
|
246
|
+
"prefix": re.compile(r"^!!output1\s+Max. boundary inflow\s*:(.*)"),
|
|
237
247
|
"data_type": "last",
|
|
238
248
|
"split": "m3",
|
|
249
|
+
"use_regex": True,
|
|
239
250
|
},
|
|
240
251
|
"max_boundary_outflow": {
|
|
241
252
|
"class": FloatSplitParser,
|
|
242
|
-
"prefix": "
|
|
253
|
+
"prefix": re.compile(r"^!!output1\s+Max. boundary outflow\s*:(.*)"),
|
|
243
254
|
"data_type": "last",
|
|
244
255
|
"split": "m3",
|
|
256
|
+
"use_regex": True,
|
|
245
257
|
},
|
|
246
258
|
"net_volume_increase": {
|
|
247
259
|
"class": FloatSplitParser,
|
|
248
|
-
"prefix": "
|
|
260
|
+
"prefix": re.compile(r"^!!output1\s+Net increase in volume\s*:(.*)"),
|
|
249
261
|
"data_type": "last",
|
|
250
262
|
"split": "m3",
|
|
263
|
+
"use_regex": True,
|
|
251
264
|
},
|
|
252
265
|
"net_inflow_volume": {
|
|
253
266
|
"class": FloatSplitParser,
|
|
254
|
-
"prefix": "
|
|
267
|
+
"prefix": re.compile(r"^!!output1\s+Net inflow volume\s*:(.*)"),
|
|
255
268
|
"data_type": "last",
|
|
256
269
|
"split": "m3",
|
|
270
|
+
"use_regex": True,
|
|
257
271
|
},
|
|
258
272
|
"volume_discrepancy": {
|
|
259
273
|
"class": FloatSplitParser,
|
|
260
|
-
"prefix": "
|
|
274
|
+
"prefix": re.compile(r"^!!output1\s+Volume discrepancy\s*:(.*)"),
|
|
261
275
|
"data_type": "last",
|
|
262
276
|
"split": "m3",
|
|
277
|
+
"use_regex": True,
|
|
263
278
|
},
|
|
264
279
|
"mass_balance_error": {
|
|
265
280
|
"class": FloatSplitParser,
|
|
266
|
-
"prefix": "
|
|
281
|
+
"prefix": re.compile(r"^!!output1\s+Mass balance error\s*:(.*)"),
|
|
267
282
|
"data_type": "last",
|
|
268
283
|
"split": "%",
|
|
284
|
+
"use_regex": True,
|
|
269
285
|
},
|
|
270
286
|
"mass_balance_error_2": {
|
|
271
287
|
"class": FloatSplitParser,
|
|
272
|
-
"prefix": "
|
|
288
|
+
"prefix": re.compile(r"^!!output1\s+Mass balance error \[2\]\s*:(.*)"),
|
|
273
289
|
"data_type": "last",
|
|
274
290
|
"split": "%",
|
|
291
|
+
"use_regex": True,
|
|
275
292
|
},
|
|
276
293
|
"tuflow_start_time": {
|
|
277
294
|
"class": FloatParser,
|
|
@@ -453,43 +470,51 @@ lf2_data_to_extract = {
|
|
|
453
470
|
},
|
|
454
471
|
"timestep": {
|
|
455
472
|
"class": FloatParser,
|
|
456
|
-
"prefix": "
|
|
473
|
+
"prefix": re.compile(r"^!!output2\s+Model timestep\s*:(.*)"),
|
|
457
474
|
"data_type": "last",
|
|
475
|
+
"use_regex": True,
|
|
458
476
|
},
|
|
459
477
|
"wetting_drying_depth": {
|
|
460
478
|
"class": FloatParser,
|
|
461
|
-
"prefix": "
|
|
479
|
+
"prefix": re.compile(r"^!!output2\s+Wetting/drying depth\s*:(.*)"),
|
|
462
480
|
"data_type": "last",
|
|
481
|
+
"use_regex": True,
|
|
463
482
|
},
|
|
464
483
|
"beta": {
|
|
465
484
|
"class": FloatParser,
|
|
466
|
-
"prefix": "
|
|
485
|
+
"prefix": re.compile(r"^!!output2\s+Beta\s*:(.*)"),
|
|
467
486
|
"data_type": "last",
|
|
487
|
+
"use_regex": True,
|
|
468
488
|
},
|
|
469
489
|
"number_of_iterations": {
|
|
470
490
|
"class": FloatParser,
|
|
471
|
-
"prefix": "
|
|
491
|
+
"prefix": re.compile(r"^!!output2\s+Number of iterations\s*:(.*)"),
|
|
472
492
|
"data_type": "last",
|
|
493
|
+
"use_regex": True,
|
|
473
494
|
},
|
|
474
495
|
"calculation_depth": {
|
|
475
496
|
"class": FloatParser,
|
|
476
|
-
"prefix": "
|
|
497
|
+
"prefix": re.compile(r"^!!output2\s+Calculation depth\s*:(.*)"),
|
|
477
498
|
"data_type": "last",
|
|
499
|
+
"use_regex": True,
|
|
478
500
|
},
|
|
479
501
|
"friction_depth": {
|
|
480
502
|
"class": FloatParser,
|
|
481
|
-
"prefix": "
|
|
503
|
+
"prefix": re.compile(r"^!!output2\s+Friction depth\s*:(.*)"),
|
|
482
504
|
"data_type": "last",
|
|
505
|
+
"use_regex": True,
|
|
483
506
|
},
|
|
484
507
|
"eddy_viscosity": {
|
|
485
508
|
"class": FloatParser,
|
|
486
|
-
"prefix": "
|
|
509
|
+
"prefix": re.compile(r"^!!output2\s+Eddy Viscosity\s*:(.*)"),
|
|
487
510
|
"data_type": "last",
|
|
511
|
+
"use_regex": True,
|
|
488
512
|
},
|
|
489
513
|
"velocity_head_threshold": {
|
|
490
514
|
"class": FloatParser,
|
|
491
|
-
"prefix": "
|
|
515
|
+
"prefix": re.compile(r"^!!output2\s+Velocity head threshold\s*:(.*)"),
|
|
492
516
|
"data_type": "last",
|
|
517
|
+
"use_regex": True,
|
|
493
518
|
},
|
|
494
519
|
"rainfall_accumulation_depth": {
|
|
495
520
|
"class": FloatParser,
|
|
@@ -498,8 +523,9 @@ lf2_data_to_extract = {
|
|
|
498
523
|
},
|
|
499
524
|
"negative_depth_threshold": {
|
|
500
525
|
"class": FloatParser,
|
|
501
|
-
"prefix": "
|
|
526
|
+
"prefix": re.compile(r"^!!output2\s+Negative depth threshold\s*:(.*)"),
|
|
502
527
|
"data_type": "last",
|
|
528
|
+
"use_regex": True,
|
|
503
529
|
},
|
|
504
530
|
"memory_use_estimate": {
|
|
505
531
|
"class": FloatSplitParser,
|
|
@@ -509,8 +535,9 @@ lf2_data_to_extract = {
|
|
|
509
535
|
},
|
|
510
536
|
"friction_depth_threshold": {
|
|
511
537
|
"class": FloatParser,
|
|
512
|
-
"prefix": "
|
|
538
|
+
"prefix": re.compile(r"^!!output2\s+Friction depth threshold\s*:(.*)"),
|
|
513
539
|
"data_type": "last",
|
|
540
|
+
"use_regex": True,
|
|
514
541
|
},
|
|
515
542
|
"number_of_cells": {
|
|
516
543
|
"class": FloatParser,
|
|
@@ -529,8 +556,9 @@ lf2_data_to_extract = {
|
|
|
529
556
|
},
|
|
530
557
|
"final_mass_error": {
|
|
531
558
|
"class": FloatSplitParser,
|
|
532
|
-
"prefix": "
|
|
559
|
+
"prefix": re.compile(r"^!!output2\s+Final mass error\s*:(.*)"),
|
|
533
560
|
"data_type": "last",
|
|
561
|
+
"use_regex": True,
|
|
534
562
|
"split": "%",
|
|
535
563
|
},
|
|
536
564
|
"combined_mass_error": {
|
|
@@ -13,6 +13,7 @@ from .units import (
|
|
|
13
13
|
CRUMP,
|
|
14
14
|
CULVERT,
|
|
15
15
|
FLAT_V_WEIR,
|
|
16
|
+
FLOODPLAIN,
|
|
16
17
|
HTBDY,
|
|
17
18
|
IIC,
|
|
18
19
|
INTERPOLATE,
|
|
@@ -81,6 +82,7 @@ api_class_mapping: dict[str, Any] = {
|
|
|
81
82
|
"floodmodeller_api.units.sections.INTERPOLATE": INTERPOLATE,
|
|
82
83
|
"floodmodeller_api.units.sections.REPLICATE": REPLICATE,
|
|
83
84
|
"floodmodeller_api.units.sections.RIVER": RIVER,
|
|
85
|
+
"floodmodeller_api.units.structures.FLOODPLAIN": FLOODPLAIN,
|
|
84
86
|
"floodmodeller_api.units.structures.BRIDGE": BRIDGE,
|
|
85
87
|
"floodmodeller_api.units.structures.CRUMP": CRUMP,
|
|
86
88
|
"floodmodeller_api.units.structures.FLAT_V_WEIR": FLAT_V_WEIR,
|
{floodmodeller_api-0.5.2.post1 → floodmodeller_api-0.5.3}/floodmodeller_api/test/test_dat.py
RENAMED
|
@@ -202,7 +202,7 @@ def test_diff(test_workspace, caplog):
|
|
|
202
202
|
dat_ex4.diff(dat_ex4_changed)
|
|
203
203
|
|
|
204
204
|
assert caplog.text == (
|
|
205
|
-
"INFO root:_base.py:
|
|
205
|
+
"INFO root:_base.py:141 Files not equivalent, 12 difference(s) found:\n"
|
|
206
206
|
" DAT->structures->MILLAu->RNWEIR..MILLAu->upstream_crest_height: 1.07 != 1.37\n"
|
|
207
207
|
" DAT->structures->MILLBu->RNWEIR..MILLBu->upstream_crest_height: 0.43 != 0.73\n"
|
|
208
208
|
" DAT->structures->ROAD1->RNWEIR..ROAD1->upstream_crest_height: 2.02 != 2.32\n"
|
|
@@ -218,6 +218,18 @@ def test_diff(test_workspace, caplog):
|
|
|
218
218
|
)
|
|
219
219
|
|
|
220
220
|
|
|
221
|
+
def test_diff_active_data(test_workspace):
|
|
222
|
+
dat = DAT(Path(test_workspace, "ex4.DAT"))
|
|
223
|
+
dat_copy = DAT(Path(test_workspace, "ex4.DAT"))
|
|
224
|
+
assert dat == dat_copy
|
|
225
|
+
|
|
226
|
+
for section in dat.sections.values():
|
|
227
|
+
if section.unit == "RIVER":
|
|
228
|
+
_ = section.active_data
|
|
229
|
+
|
|
230
|
+
assert dat == dat_copy
|
|
231
|
+
|
|
232
|
+
|
|
221
233
|
def test_valid_network(test_workspace: Path):
|
|
222
234
|
"""Test against network derived manually."""
|
|
223
235
|
dat = DAT(test_workspace / "network.dat")
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
|
|
2
|
+
#REVISION#1
|
|
3
|
+
4 0.750 0.900 0.100 0.001 12SI
|
|
4
|
+
10.000 0.010 0.010 0.700 0.100 0.700 0.000
|
|
5
|
+
RAD FILE
|
|
6
|
+
|
|
7
|
+
END GENERAL
|
|
8
|
+
RIVER
|
|
9
|
+
SECTION
|
|
10
|
+
1
|
|
11
|
+
5.000 0.0001 1000
|
|
12
|
+
1
|
|
13
|
+
0.000 0.000 0.000 1.000 0.000 0.000
|
|
14
|
+
RIVER
|
|
15
|
+
SECTION
|
|
16
|
+
2
|
|
17
|
+
5.000 0.0001 1000
|
|
18
|
+
1
|
|
19
|
+
0.000 0.000 0.000 1.000 0.000 0.000
|
|
20
|
+
RIVER
|
|
21
|
+
SECTION
|
|
22
|
+
3
|
|
23
|
+
0.000 1000.000
|
|
24
|
+
1
|
|
25
|
+
0.000 0.000 0.000 1.000
|
|
26
|
+
FLOODPLAIN floodplain comment
|
|
27
|
+
SECTION
|
|
28
|
+
3 down
|
|
29
|
+
1.000 0.800 150.000 75.000 FRICTION 0.100
|
|
30
|
+
3
|
|
31
|
+
0.000 1.000 0.030 0.00 0.00
|
|
32
|
+
10.000 1.500 0.030 0.00 0.00
|
|
33
|
+
90.000 1.800 0.030 0.00 0.00
|
|
34
|
+
RIVER
|
|
35
|
+
SECTION
|
|
36
|
+
down
|
|
37
|
+
0.000 1000.000
|
|
38
|
+
1
|
|
39
|
+
0.000 0.000 0.000 1.000
|
|
40
|
+
INITIAL CONDITIONS
|
|
41
|
+
label ? flow stage froude no velocity umode ustate z
|
|
42
|
+
3 y 0.000 0.000 0.000 0.000 0.000 0.000 0.000
|
|
43
|
+
1 y 0.000 0.000 0.000 0.000 0.000 0.000 0.000
|
|
44
|
+
2 y 0.000 0.000 0.000 0.000 0.000 0.000 0.000
|
|
45
|
+
down y 0.000 0.000 0.000 0.000 0.000 0.000 0.000
|
|
46
|
+
GISINFO
|
|
47
|
+
RIVER SECTION 1 0 0 0 0 0
|
|
48
|
+
RIVER SECTION 2 0 0 0 0 0
|
|
49
|
+
RIVER SECTION 3 0 0 0 0 0
|
|
50
|
+
FLOODPLAIN SECTION 3 0 0 0 0 0
|
|
51
|
+
RIVER SECTION down 0 0 0 0 0
|
|
52
|
+
down 0 0 0 0 0
|