
Changelog
floodam.building 1.7.2.0
Release date: 2025-05-16
Enhancements
-
adjust_elementary_damaging()
-
analyse_hydraulic()
- tests improved
-
calculate_surface_height()
-
check_floodam()
-
compute_damage_detail()
-
declinaison_building()
-
extract_building_information()
-
extract_hydraulic_input()
-
extract_value()
-
inspect_building()
-
load_model()
-
produce_elementary_damaging()
-
save_model()
-
update_ape()
- function
rio::export()
substituted by functionwritexl::write_xlsx()
- function
-
update_ape_damaging()
-
update_category_damaging()
-
update_esane_from_tar()
-
update_legend()
-
update_type()
-
plot_vertical_surface()
(internal)- New name for
plot.vertical_surface()
as the function is not intended to be a S3 method (no object of classvertical_surface
exists)
- New name for
-
plot_efficiency()
(internal)- New name for
plot.efficiency()
as the function is not intended to be a S3 method (no object of classefficiency
exists)
- New name for
-
plot_esane()
(internal)- New name for
plot.esane()
as the function is not intended to be a S3 method (no object of classesane
exists)
- New name for
floodam.building 1.7.1.0
Release date: 2025-05-16
Enhancement
-
analyse_hydraulic()
- New parameter
clearance
handling the distance between an opening and its frame (in centimeters). It represents water tightness for the opening - Documentation updated
- New parameter
floodam.building 1.7.0.0
Release date: 2025-05-07
Enhancements
-
analyse_model()
- No longer returns the slot detail_by_room when parameter
dam_by_room
isTRUE
to avoid redundancy with slotdetail
- No longer returns the slot detail_by_room when parameter
-
analyse_hydraulic()
- New parameter
stages
to ensure the consistency withanalyse_model()
function - New parameter
detail
to choose between detailed outputs or synthetic ones (only hmax and damage) from simulations.detail=FALSE
makes simulations lighter to save when running a lot of them. - Renamed scenario
combined
tocombine
to ensure better consistency with other scenarios.
- New parameter
-
compute_hydraulic()
- Restructuration of some functions to enhance handling of invisible walls
-
find_room_to_merge()
,merge_room()
andsplit_output()
(internal)- New functions added to handle invisible walls during the hydraulic simulation
- It also handles cases where rooms separated by invisible walls a different elevation
-
plot.elementary_damaging()
- Function transformed in S3 method to provide a basic displays for objects of class
elementary_damaging
- Function transformed in S3 method to provide a basic displays for objects of class
-
plot.hydraulic()
- New S3 method to provide a basic displays for object of class
hydraulic
- By default displays water height but
view
can be set todischarge
, can also renderpdf
andpng
- New S3 method to provide a basic displays for object of class
-
plot_analysis_damaging()
(internal)- New name for
plot.analysis_damaging()
as the function is not intended to be a S3 method (no object of classanalysis_damaging
exists)
- New name for
-
plot_relative_damaging()
(internal)- New name for
plot.relative_damaging()
as the function is not intended to be a S3 method (no object of classrelative_damaging
exists)
- New name for
-
prepare_hydraulic_input()
,extract_hydraulic_input()
- Ensuring good handling of invisible walls
- Ensuring good handling of levels variations between rooms
-
get_hydraulic_damage()
- New function to be able to compute a more precise damage output based on the hydraulic simulation
- Preventing water level to be below 0 and above 5m
-
generate_limnigraph()
- Externals are now groups of walls
-
compute_danger()
- New function to compute the danger when opening a door
-
compute_damage()
- Behavior of the function when
dam_by_room
isTRUE
has been modified.distrib_by_room()
(internal) has been replaced byextract_damage_detail_by_room()
,extract_elementary_component_from_detail()
, andextract_damage_detail_external_wall()
.
- Behavior of the function when
-
extract_damage_detail_by_room()
- New function to extract elementary damages by room
-
extract_elementary_component_from_detail()
- New function to extract elementary damages by categories of elementary components (floor, ceiling, wall, opening, coating and furniture)
-
extract_damage_detail_external_wall()
(internal)- New function to extract elementary damages in the external_wall by wall.
Data
-
BUILDING
- Template updated (tag side removed)
- Models using tag side no longer supported
- Template updated (tag side removed)
-
adu_elevator
,adu_l
,adu_t_2room
,adu_t_basement
,adu_t_invisible
,adu_t
- Models adapted to be consistent with the new
BUILDING
template
- Models adapted to be consistent with the new
-
adu_t_basement
- Model improved and bugs removed
-
adu_l
- Correction on door names
floodam.building 1.6.7.0
Release date: 2025-04-04
Enhancements
-
check_element()
(internal)- New function to check if items with the same name have been declared in the element block of the building input file
- If elements with the same name are found, the function keeps only the first element and throws a warning
- documentation and test added
-
adjust_opening()
(internal)- Warning and error messages modified
Data
- adu_component_repeated
- New model added to test function
check_element()
- New model added to test function
floodam.building 1.6.6.0
Release date: 2025-02-24
Data
- inst/extdata/model/component_elementary:
- Changes for ‘category_vulnerability.csv’, ‘component_elementary_action.csv’, ‘component_elementary.csv’
-
DAM
,COMPONENT_ELEMENTARY
:- Change in name for
- “baseboard_pvc”
- “door_exterior_pvc”
- “door_garage_overhead_pvc”
- “drainage_network_pvc”
- “french_window_pvc”
- “french_window_shutter_louvered_pvc”
- “french_window_shutter_rolling_pvc”
- “french_window_shutter_solid_pvc”
- “window_pvc”
- “window_shutter_louvered_pvc”
- “window_shutter_rolling_pvc”
- “window_shutter_solid_pvc”
- “wall_render_exterior_lime_nhl_3_5”
- IMPLY ADAPTATIONS FOR MODEL (building part)
- Change in name for
-
adu_elevator
,adu_l
,adu_t_2room
,adu_t_basement
,adu_t_invisible
,adu_t
- Change in material (“PVC” to “pvc”)
floodam.building 1.6.4.0
Release date: 2025-02-23
Enhancements
-
calculate_wall_width_02()
(internal)- replace
add_wall_width()
- documentation and test added
- replace
-
calculate_wall_width_03()
(internal)- replace
calculate_wall_width()
- replace
-
extract_wall()
(internal)- adapted to
calculate_wall_width_02()
- documentation added
- adapted to
floodam.building 1.6.2.0
Release date: 2025-02-20
Enhancements
-
prepare_elevator_data()
(internal)- New function to handle the integration of the new elevator elementary components
-
update_elementary_damaging()
(internal)- code block added to integrate elevator components in
DAM
- code block added to integrate elevator components in
-
DAM
- New elementary damaging functions for elevator components
-
COMPONENT_ELEMENTARY
- New elementary components for elevator
floodam.building 1.6.1.0
Release date: 2025-01-29
Enhancements
-
compute_exchange()
(internal)- No need for
opening_name
as an input, it is deducted fromcolnames(exchange)
. Ifcolnames(exchange)
isNULL
, it should work as expected. - documentation and tests are improved.
- No need for
floodam.building 1.6.0.0
Release date: 2025-01-21
In this version of the library, the hydraulic module has been rewritten entirely in R and Rcpp. The goal is to enhance the coherence of the code and make it more flexible for futur updates. All python dependencies have been removed.
Enhancements
-
analyse_hydraulic()
- New function that sets up new hydraulic module written in R
-
compute_hydraulic()
(internal)- New hydraulic module written in R, faster and more optimised than the previous Python hydraulic module.
-
compute_exchange()
(internal)- New function allowing flow rate computations written in pure R.
-
rcpp_compute_exchange()
(internal)- New function allowing flow rate computations written in Rcpp. It has a faster running time than it’s R counter part
compute_exchange()
.
- New function allowing flow rate computations written in Rcpp. It has a faster running time than it’s R counter part
-
generate_limnigraph()
- The limnigraph now has to be ordered by externals, and the externals have to be specified.
-
update_path()
-
model_output_hydraulic
added to save hydraulic outputs.
-
- dependency of
reticulate
library removed - function
manage_python()
removed - module
hydraulic_module.py
removed - function
analyse_hydraulics()
removed - function
.onAttach()
removed - package global variable floodam_building_py removed
- Test is_compatible_python removed
floodam.building 1.5.0.3
Release date: 2025-01-16
Bugs
-
order_wall()
(internal)- Could not deal external with many walls (more than 26). Now it can. Start the 27th to AA and so on up to ZZ. Model can have external with 702 walls now.
-
compute_damage_detail()
(internal)- Information on room and storey were discarded for ceiling before being passed to adjust_dam_by_component. And so
distrib_by_room()
could not affect ceiling components to the good room.
- Information on room and storey were discarded for ceiling before being passed to adjust_dam_by_component. And so
floodam.building 1.5.0.0
Release date: 2024-11-04
Enhancements
-
adjust_elementary_damaging()
-
stop()
sequence when checking parameter damaging removed. Now the function returns NULL if parameter damaging is NULL, allowing the estimate of the building’s damage function ignoring missing elementary components
-
-
compute_damage()
- use of
message()
instead ofcat()
forverbose
ortalkative
mode - new management of missing elementary component:
- if some elementary components ar missing (i.e. are not present in
DAM
), thencompute_damage()
does not return NULL. It continues the calculation, consistent with new behavior ofadjust_elementary_damaging()
. - a message and a warning are sent to inform the user that the estimation will be done ignoring those elementary components.
- if some elementary components ar missing (i.e. are not present in
- use of
-
check_damaging()
- Modified warning message, consistent with new behavior of
adjust_elementary_damaging()
- Modified log message, consistent with new behavior of
adjust_elementary_damaging()
- variable missing renamed to missing_component to avoid confusion with the
base::missing()
function
- Modified warning message, consistent with new behavior of
-
load_model()
- no use of
options(warn)
to be better tested withtestthat::expect_warning()
- no use of
-
order_wall()
- no use of
options(warn)
to be better tested withtestthat::expect_warning()
- no use of
-
to_numeric()
(internal)- extracted from
loead_model()
, to deal with ‘clever’ transformation from character to numeric - test added
- extracted from
-
remove_comment()
(internal)- extracted from
loead_model()
, to deal with removal of comments when reading xml files - test to be added
- extracted from
floodam.building 1.4.1.0
Release date: 2024-10-28
Data
- New model dwelling available as package data
- New model available in inst/extdata:
- adu_t_bassement is two storey dwelling composed of a single-room basement and a 4-room ground floor (3 rooms around a central room)
- Furniture included in models adu_t and adu_t_basement
floodam.building 1.4.0.2
Release date: 2024-10-04
Bugs
-
load_model()
- keep only one category of elementary components when too many are found and generate a warning
-
COMPONENT_ELEMENTARY
- keep only one category for activities’ elementary components
-
analyse_hydraulics()
- adapt to reticulate’s strange way of calling attribute
floodam.building 1.4.0.1
Release date: 2024-09-13
Enhancements
-
create_new_model()
- New metadata value for the input_file parameter to generate, from an internal template, the metadata file to be inputted
floodam.building 1.3.2.0
Release date: 2024-05-15
Enhancements
-
analyse_hydraulics()
- The function now executes the hydraulic module of floodam.building in either the default python virtual environment “floodam” or in a user-defined python virtual environment, provided using the new parameter
envname
.
- The function now executes the hydraulic module of floodam.building in either the default python virtual environment “floodam” or in a user-defined python virtual environment, provided using the new parameter
-
manage_python()
- Function to manage the installation of python dependencies needed by the hydraulic module of floodam.building. It creates a virtual environment to avoid system pollution or dependency conflicts.
-
compatible_python()
(internal)- Internal function that checks whether Python 3 is installed
-
py_simulate_hydraulics()
(internal)- replace
sim_hydrau_py()
- execute the hydraulic module of floodam.building in either the default python virtual environment, “floodam”, or in a user-defined python virtual environment, provided using the new parameter
envname
.
- replace
-
plot.damaging()
- Finalization of snake_case transformation for internal functions.
-
plot.model()
- Finalization of snake_case transformation for internal functions.
floodam.building 1.3.1.1
Release date: 2024-04-28
Bugs
-
compute_damage()
- Solved bug provoking error when function called from function apply_measure()
-
create_new_model()
- export added
floodam.building 1.3.1.0
Release date: 2024-04-09
Enhancements
-
create_new_model()
- Function to generate template for new model
floodam.building 1.3.0.0
Release date: 2023-10-25
Enhancements
-
analyse_hydraulics()
- Function to simulate the hydraulics in the interior of the building
-
analyse_model()
- New stage “hydraulic”
-
extract_hydraulic_input()
- Function called by
analyse_model()
to generate input on exchanges through openings - Called when “hydraulic” is given as
stage
- Function called by
-
generate_limnigraph()
- Function to generate limnigraph (evolution of water depth against time)
- New global variables (input needed by hydraulic simulator)
-
floodam_building_hydraulic_discharge_coefficient
, default value 0.42 -
floodam_building_hydraulic_initial_water_depth_interior
default value 0 -
floodam_building_hydraulic_closed_opening_clearance
default value 0.5
-
- New optional tags in XML input to facilitate the identification of water exchanges through openings and empty walls
- opening names
- wall names
Data
- dwelling models in inst/extdata:
- adu_l is a single storey linear 4-room dwelling
- adu_t is a single storey 4-room dwelling; 3 rooms around a central room
- adu_t_2room is a single storey 2-room dwelling; created by merging rooms in adu_t
- adu_t_invisible is similar to adu_t_2room but instead of merged, rooms are separated by invisible walls