Floodmodeller-api

Latest version: v0.5.1

Safety actively analyzes 687918 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 2

0.4.1

What's new in 0.4.1 (March 2023)

This page details the changes for version 0.4.1 of Flood Modeller Python API

New features
--------------
- Add/remove units from 1D networks
- Add/remove elements from 2D models
- Simulate method added to XML2D
- Automatic backups

Updates
--------------
- Event Data attributes in IEF files are now treated as a dictionary object as opposed to
a list. This allows for each event data to have an associated title which is defined in
the IEF file as a comment before the event data attribute. The dictionary keys represent
the titles, and the values represent the event data paths. An example would look like
this:
python
ief = IEF("path/to/file.ief")
ief.eventdata = {
'MainInflow' : 'Q100.IED',
'TribInflow' : 'Q100_trib.IED',
'TidalBoundary' : 'T100_DSBDY.IED'
}

This would then write out the following lines in the IEF file::

;MainInflow
EventData=Q100.IED
;TribInflow
EventData=Q100_trib.IED
;TidalBoundary
EventData=T100_DSBDY.IED


> :warning: Please note, this introduces a change which is incompatible with previous versions of
the API in how event data in IEF files is handled. Any existing code that treats eventdata
as a list will need to be updated in order to run this version.


- Find and return the next unit in reach with ``.next()`` function::
python
dat = DAT('some_network.dat')
some_unit = dat.sections['some_unit_name']
dat.next(some_unit)

- Find previous unit in reach with ``.prev()`` function::
python
dat = DAT('some_network.dat')
dat.prev(dat.strucutre['structure_name'])

- Improved test module
- CRUMP Unit Class added
- FLAT_V_WEIR Unit Class added
- INTERPOLATE Unit Class added
- REPLICATE Unit Class added
- OUTFALL Unit Class added
- UNSUPPORTED Unit Class added

Bug fixes
--------------
- Addressed 'FutureWarning' raised by lf_helpers module (27)
- Addressed Iteritems > items: futurewarning (30)




v.0.4.0

What's new in 0.4.0 (September 2022)

This page details the changes for version 0.4.0 of Flood Modeller Python API

New features
--------------
- 2D model support (XML2D Class): Read and edit Flood Modeller 2D model xml files
- 1D & 2D log file support (LF1 & LF2 Classes): Read and analyse simulation logs and
diagnostics

Updates
--------------
- Updated methods for testing equivalence between Flood Modeller class instances. Two
instances of the same class can now be tested using ``==`` to check whether they are
equivalent. In addition, a detailed breakdown of any differences can be found using
the ``.diff()`` method:
python
dat_a = DAT('some_network.dat')
dat_b = DAT('another_similar_network.dat')

if dat_a == dat_b: returns True/False
print('Files are equivalent')
else:
print('Files not equivalent')

dat_a.diff(dat_b) prints a list of differences to terminal

- RNWEIR Unit Class added (Broad Crested Weir)


Bug fixes
--------------
- Fix issue that occured in IEF class if any values contained '=' in the value, for
example within a flowtimeprofile line.

0.3.14.post1

Hotfix to allow "=" to be present in ief parameter values

0.3.14

What's new in 0.3.14 (July 2022)


This page details the changes for version 0.3.14 of Flood Modeller Python API

New features
--------------
- Urban 1D (INP file) - Added support for ``JUNCTIONS``, ``OUTFALLS``, ``CONDUITS``,
``RAINGAUGES``, ``LOSSES`` and ``XSECTIONS``.

Updates
--------------
- Improved exception handling
- Added ``.conduits`` and ``.losses`` unit categories in DAT and IED classes
- Improved attribute acces in IEF class. All attributes can now be accessed using any casing
and will fetch the correct data without changing the original casing in the file.


Bug fixes
--------------
- Fix issue where logical rules would only read correctly if key words provided in all caps
- Fixed issue with sluice units where 'TIME' expected and 'time' given
- Fix to _write of Sluice unit where time exceeds 10 characters when formatted as 3dp.
- Fix to _read of river and strucutre units allowing for subtype to be followed by TAB (\t) characters
- Fix to validation of pier_faces to allow no value as parameter is optional
- Added 'REBDY' to unsupported units
- Allow for culvert inlet 'reverse_flow_mode' parameter to be 0.00 (as well as 'CALCULATED and 'ZERO' that are already included)
- Updated logical rules _read() to recognise "ENDIF" as end of rule (as well as "END")

v.0.3.13.post2
Hotfix to address issue where structures with duplicate names overwrite each other in structures dictionary. Resolved by including `.conduits` and `.losses` as their own unit categories in both the DAT and IED classes.

0.3.13.post1

Hotfix to correctly read parameters in CULVERT units

0.3.13

What's new in 0.3.13 (May 2022)

This page details the changes for version 0.3.13 of Flood Modeller Python API

New features
--------------
- BLOCKAGE added as a supported unit.
- CULVERT (Inlet and Outlet loss) added as a supported unit

Updates
--------------
- Added support for 'DATES' in timeseries tables
- Improved support for handling unit name changes


Bug fixes
--------------
- Fixed 3 that required setting ``ied_filepath = None`` to create a blank IED file. Now it can be done by simply calling ``IED()``
- Fixed 4 in IEF class where it would fail when attempting to save an IEF after changing the case of an attribute. Now if you have an IEF with
an attribute 'Title=...' and you set ``ief.title = ...`` the updated ief file will match the lower case used in ``title``.
- Fixed issue on orifice unit where shape not defined in .dat.
- Allow 'timeunit' attribute to be set as number (which is used for user defined time multiplier)
- Fixed issue with the reading of cross-section relative path length (RPL)

Page 2 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.