Releases: OasisLMF/OasisPlatform
Release 1.15.30
Oasis Release v1.15.30
Docker Images (Platform)
- coreoasis/api_server:1.15.30
- coreoasis/model_worker:1.15.30
- coreoasis/model_worker:1.15.30-debian
- coreoasis/piwind_worker:1.15.30
Docker Images (User Interface)
Components
Changelogs
- #854 - Update CI 1.15
OasisLMF Changelog - 1.15.30
- #1336 - Update CI - 1.15
- #1397 - Add output zeros flag to summarycalc for all reinsurance loss computes
Release Notes
OasisLMF Notes
Assign output zeros flag to summarycalc for all reinsurance loss computes - (PR #1397)
The ktools
component summarycalc
does not output zero loss events by default. These zero loss events are required when net loss is called in fmpy
. Currently, net loss is called in all reinsurance instances, so the -z
flag has been assigned to all executions ofsummarycalc
when computing reinsurance losses.
Release 1.23.19
Oasis Release v1.23.19
Docker Images (Platform)
- coreoasis/api_server:1.23.19
- coreoasis/model_worker:1.23.19
- coreoasis/model_worker:1.23.19-debian
- coreoasis/piwind_worker:1.23.19
Docker Images (User Interface)
Components
Changelogs
OasisPlatform Changelog - 1.23.19
Release Notes
OasisPlatform Notes
Fix CVE issues in platform 1.23.18 - (PR #916)
Release 1.28.3
Oasis Release v1.28.3
Docker Images (Platform)
- coreoasis/api_server:1.28.3
- coreoasis/model_worker:1.28.3
- coreoasis/model_worker:1.28.3-debian
- coreoasis/piwind_worker:1.28.3
Docker Images (User Interface)
Components
Changelogs
- #891 - Release 1.28.2 (Staging)
OasisLMF Changelog - 1.28.3
- #1377 - Clean up 'runs' dir in repo
- #1378 - Support output of overall average period loss without standard deviation calculation
- #1366 - Update fm supported terms document
- #1347 - Add runtime user supplied secondary factor option to plapy
- #1317 - Add post-analysis hook
- #1372 - Incorect TIV in the summary info files
ODS_Tools Changelog - 3.1.2
ktools Changelog - v3.10.1
- #353 - Add runtime user supplied secondary factor option to placalc
- #342 - aalcalc Performance Improvements
Release Notes
OasisLMF Notes
Support output of overall average period loss without standard deviation calculation - (PR #1378)
The new ktools component aalcalcmeanonly
(see PR OasisLMF/ktools#357) calculates the overall average period loss but does not include the standard deviation. As a result, it has a faster execution time and uses less memory than aalcalc
.
Support for executing this component as part of a model run has been introduced through the aalcalc_meanonly
(legacy output) and alt_meanonly
(ORD output) flags in the analysis settings file.
Financial terms supported document update - (PR #1367)
The document has been updated to reflect recent additional financial fields that are supported, including
- Currency fields
- Account level terms
In addition a 'Version introduced" field has been included to identify the version of OasisLMF in which the field was first supported, if later than v1.15 LTS.
Add options to enable Post Loss Amplification and provide secondary and uniform factors - (PR #1369)
The requirement for amplifications file generated by the MDK as a trigger for the execution of Post Loss Amplification (PLA) has been replaced with the pla
flag in the analysis settings file. This allows a user to enable or disable (default) the PLA component plapy
.
Additionally, a secondary factor in the range [0, 1] can be specified from the command line with the argument -f
when running plapy
:
$ plapy -f 0.8 < gul_output.bin > plapy_output.bin
The secondary factor is applied to the deviation of the loss factor from 1. For example:
event_id | factor from model | relative factor from user | applied factor |
---|---|---|---|
1 | 1.10 | 0.8 | 1.08 |
2 | 1.20 | 0.8 | 1.16 |
3 | 1.00 | 0.8 | 1.00 |
4 | 0.90 | 0.8 | 0.92 |
Finally, an absolute, uniform, positive amplification/reduction factor can be specified from the command line with the argument -F
:
$ plapy -F 0.8 < gul_output.bin > plapy_output.bin
This factor is applied to all losses, thus loss factors from the model (those in lossfactors.bin
) are ignored. For example:
event_id | factor from model | uniform factor from user | applied factor |
---|---|---|---|
1 | 1.10 | 0.8 | 0.8 |
2 | 1.20 | 0.8 | 0.8 |
3 | 1.00 | 0.8 | 0.8 |
4 | 0.90 | 0.8 | 0.8 |
The absolute, uniform factor is incompatible with the relative, secondary factor. Therefore, if both are given by the user, a warning is logged and the secondary factor is ignored.
Implement post analysis hook - (PR #1371)
Model vendors can supply a custom Python module that will be run after the analysis has completed. This module will have access to the run directory, model data directory and analysis settings. It could for instance modify the output files, parse logs to produce user-friendly reports or generate plots.
The two new Oasis settings required to use this feature are similar to the ones used for the pre analysis hook.
post_analysis_module
: Path to the Python module containing the class.post_analysis_class_name
: Name of the class.
The class must have a constructor that takes kwargs model_data_dir
, model_run_dir
and analysis_settings_json
, plus a run
method with no arguments. For example:
class MyPostAnalysis:
def __init__(self, model_data_dir=None, model_run_dir=None, analysis_settings_json=None):
self.model_data_dir = model_data_dir
self.model_run_dir = model_run_dir
self.analysis_settings_json = analysis_settings_json
def run():
# do something
Fix Tiv calculation when NumberOfBuilding is >1 in location file - (PR #1373)
The Tiv calculated in the output summaries was incorrect as the granularity has change after the implementation of stochastic dis-aggregation (when NumberOfBuilding > 1).
Only 'loc_id', 'coverage_type_id' were taken in account leading to detect duplicate leading to lower TIV than it should
With this change, we add 'building_id' and 'risk_id' to the summary_map and add building_id in the key to detect duplicate when we calculate the TIV
ODS_Tools Notes
Add fields for running aalcalcmeanonly ktools component - (PR #62)
The aalcalcmeanonly
ktools component calculates the overall average period loss, skipping the calculation of the standard deviation from this value. The following boolean fields have been introduced to the analysis settings file:
aalcalc_meanonly
: if true, output table in legacy format.alt_meanonly
: if true, output table in ORD format.
ktools Notes
Add runtime user-supplied relative, secondary factor option to placalc - (PR #354)
An optional, relative flat-factor can be specified by the user and applied to all loss factors with the command line argument -f
. For example, to apply a relative secondary factor of 0.8 the following can be entered:
$ placalc -f 0.8 < gulcalc_output.bin > placalc_output.bin
The relative secondary factor must lie within the range [0, 1] and is applied to the deviation of the factor from 1. For example:
event_id | factor from model | relative factor from user | applied factor |
---|---|---|---|
1 | 1.10 | 0.8 | 1.08 |
2 | 1.20 | 0.8 | 1.16 |
3 | 1.00 | 0.8 | 1.00 |
4 | 0.90 | 0.8 | 0.92 |
Add runtime user-supplied absolute, uniform factor option to placalc
Alternatively, an absolute, uniform post loss amplification/reduction factor can be applied to all losses by the user with the command line argument -F
. For example, to specify a uniform factor of 0.8 across all losses, the following can be entered:
$ placalc -F 0.8 < gulcalc_output.bin > placalc_output.bin
If specified, the loss factors from the model (those in lossfactors.bin
) are ignored. This factor must be positive and is applied uniformly across all losses. For example:
event_id | factor from model | uniform factor from user | applied factor |
---|---|---|---|
1 | 1.10 | 0.8 | 0.8 |
2 | 1.20 | 0.8 | 0.8 |
3 | 1.00 | 0.8 | 0.8 |
4 | 0.90 | 0.8 | 0.8 |
The absolute, uniform factor is incompatible with the relative, secondary factor given above. Therefore, if both are given by the user, a warning is issued and the relative, secondary factor is ignored:
$ placalc -f 0.8 -F 0.8 < gulcalc_output.bin > placalc_output
WARNING: Relative secondary and absolute factors are incompatible
INFO: Ignoring relative secondary factor
Add tests for Post Loss Amplification (PLA) components
Acceptance tests for placalc
, amplificationstobin
, amplificationstocsv
, lossfactorstobin
and lossfactorstocsv
have been included.
New component aalcalcmeanonly - (PR #357)
A new component aalcalcmeanonly
calculates the overall average period loss. Unlike aalcalc
, it does not calculate the standard deviation from the average. Therefore, it has a quicker execution time and uses less memory.
Release 1.28.2
Oasis Release v1.28.2
Docker Images (Platform)
- coreoasis/api_server:1.28.2
- coreoasis/model_worker:1.28.2
- coreoasis/model_worker:1.28.2-debian
- coreoasis/piwind_worker:1.28.2
Docker Images (User Interface)
Components
Changelogs
OasisPlatform Changelog - 1.28.2
- #868 - Fixes for OasisPlatform Publish
- #841 - Release 1.28.0
- #867 - Fix cryptography CVE
- #880 - Analysis settings compatibility fix 1.15.x workers
- #871 - Handle exceptions from OedExposure on file Upload
- #853 - Update CI 1.28
- #892 - CI Increase compatibility testing to check LTS workers
OasisLMF Changelog - 1.28.2
- #1344 - Release/1.28.1 (staging)
- #1326 - Update the the
KeyLookupInterface
class to have access to thelookup_complex_config_json
- #140 - Implement OED peril fields
- #1349 - Fix removal of handlers to logger + give logfiles unique names
- #1322 - Step policies: Allow BI ground up loss through to gross losses
- #1293 - Multiple footprint file options
- #1249 - Discuss documentation strategy
- #1324 - Release/1.28.0
- #1357 - fix permissions for docs deploy
- #1360 - Add docs about gulmc
- #1334 - Update CI - 1.28
- #1347 - Add runtime user supplied secondary factor option to plapy
- #1340 - collect_unused_df in il preparation
- #1341 - Bug in latest platform2 release
ODS_Tools Changelog - 3.1.1
- #39 - Release 3.1.0 - for next stable oasislmf release
- #44 - add check for conditional requirement
- #50 - Update CI for stable 3.1.x
- #52 - Fix/improve check perils
- #54 - Add footprint file suffix options
- #58 - Validation crash after converting account file from csv to parquet
- #60 - Add options to enable/disable post loss amplification, and set secondary and uniform post loss amplification factors
- #61 - Model_settings, allow additional properties under 'data_settings'
Release Notes
OasisPlatform Notes
CI release workflow fixes - (PR #865)
- Add release tag to target piwind branch on release
- Add new latest tags
2-latest
for platform 2 and1-latest
for 1 - Extract previous component versions from last released worker image
- added Option to override
cve_severity
value
Fix cryptography CVE-2023-38325 - platform 1 - (PR #874)
- Update Python packages to fix CVE-2023-38325
Add back settings compatibility workaround - (PR #878)
Bug added when the analysis settings compatibility mapping (needed for workers 1.15.x) was moved to ods-tools.
Reverted to the settings validation from platform (1.27.1)
This stores both older and newer keys in the analysis settings file when its posted to the server.
Handle ODS exceptions when validating exposure files (Plat 1) - (PR #884)
Fix for issue #871 catch and raise exceptions and throw a validation error to return 400 Bad request instead of 500 Server error.
Improve Stable image compatibility testing - (PR #894)
Added image testing for all the main worker stable versions
OasisLMF Notes
Add complex model config into model config if both present - (PR #1345)
If both complex model config and model config are present, add the json dict from the complex config into the model config
as below
config['complex_config_dir'] = complex_config_dir
config['complex_config'] = complex_config
Update all fm test to use AA1 as peril in all peril columns - (PR #1346)
Work is in progress to have perils columns such as LocPerilsCovered, LocPeril, ... supported in oasislmf. This change aim at changing all perils to AA1 as they represent generic test. some more test specific to peril covered will be added later on with the feature.
also improve the split combine scripts used to add fm unit test by adding support for reinsurance files
Fixed the removal of log handlers in logging redirect wrapper - (PR #1349)
- Log handlers were not correctly removed when exiting from log redirect
- Added log redirect to plapy
- Fixed open file leaks in testing
Step policies: Allow BI ground up loss through to gross losses - (PR #1351)
Support multiple identifiers for footprint files - (PR #1352)
To enable the storage of footprints in multiple files rather than a single master file, optional identifiers in the form of footprint file suffixes are now supported. This is executed in a similar way to that currently in place to distinguish multiple events and event occurrences files. The footprint_set
model settings option in the analysis settings file can be set to the desired file suffix for the footprint files to be used. A symbolic link to the desired footprint set is created in the static/
directory within the model run directory. Footprint file priorities are identical to those set by modelpy
and gulmc
, which in order of descending priority are: parquet; zipped binary; binary; and csv.
Revamp the oasislmf
package documentation - (PR #1320)
This PR Fix #1249 by revamping the oasislmf
package documentation.
The complete documentation of the full Python API of oasislmf
is automatically generated using sphinx-autoapi
. There is no need to manually update the docs pages whenever the oasislmf
package is updated: sphinx-autoapi
dynamically finds the changes and generates the docs for the latest oasislmf
version.
The documentation is built using the build-docs.yml
GH action workflow on all PR targeting main
and is built & deployed to the gh-pages
branch for all commits on main
.
Add extensive docs about gulmc - (PR #1360)
This PR adds extensive documentation about gulmc.
Add options to enable Post Loss Amplification and provide secondary and uniform factors - (PR #1369)
The requirement for amplifications file generated by the MDK as a trigger for the execution of Post Loss Amplification (PLA) has been replaced with the pla
flag in the analysis settings file. This allows a user to enable or disable (default) the PLA component plapy
.
Additionally, a secondary factor in the range [0, 1] can be specified from the command line with the argument -f
when running plapy
:
$ plapy -f 0.8 < gul_output.bin > plapy_output.bin
The secondary factor is applied to the deviation of the loss factor from 1. For example:
event_id | factor from model | relative factor from user | applied factor |
---|---|---|---|
1 | 1.10 | 0.8 | 1.08 |
2 | 1.20 | 0.8 | 1.16 |
3 | 1.00 | 0.8 | 1.00 |
4 | 0.90 | 0.8 | 0.92 |
Finally, an absolute, uniform, positive amplification/reducti...
Release 1.27.6
Oasis Release v1.27.6
Docker Images (Platform)
- coreoasis/api_server:1.27.6
- coreoasis/model_worker:1.27.6
- coreoasis/model_worker:1.27.6-debian
- coreoasis/piwind_worker:1.27.6
Docker Images (User Interface)
Components
Changelogs
OasisPlatform Changelog - 1.27.6
- #868 - Fixes for OasisPlatform Publish
- #867 - Fix cryptography CVE
- #852 - Update CI 1.27
- #878 - revert settings compatibility to older version
Release Notes
OasisPlatform Notes
CI release workflow fixes - (PR #865)
- Add release tag to target piwind branch on release
- Add new latest tags
2-latest
for platform 2 and1-latest
for 1 - Extract previous component versions from last released worker image
- added Option to override
cve_severity
value
Fix cryptography CVE-2023-38325 - platform 1 - (PR #874)
- Update Python packages to fix CVE-2023-38325
Add back settings compatibility workaround - (PR #878)
Bug added when the analysis settings compatibility mapping (needed for workers 1.15.x) was moved to ods-tools.
Reverted to the settings validation from platform (1.27.1)
This stores both older and newer keys in the analysis settings file when its posted to the server.
Release 2.2.1
Oasis Release v2.2.1
Docker Images (Platform)
- coreoasis/api_server:2.2.1
- coreoasis/model_worker:2.2.1
- coreoasis/model_worker:2.2.1-debian
- coreoasis/piwind_worker:2.2.1
Docker Images (User Interface)
Components
Changelogs
OasisPlatform Changelog - 2.2.1
- #849 - Feautre/1323 reorganize branches plat2
- #868 - Fixes for OasisPlatform Publish
- #860, #863 - Fix/migrations plat1 to plat2
- #847 - Release 2.2.0
OasisLMF Changelog - 1.28.1
-
#1341 - Bug in latest platform2 release
-
#1324 - Release/1.28.0
-
#1349 - Fix removal of handlers to logger + give logfiles unique names
-
#1334 - Update CI - 1.28
-
#44 - add check for conditional requirement
Release Notes
OasisPlatform Notes
CI release workflow fixes - (PR #865)
- Add release tag to target piwind branch on release
- Add new latest tags
2-latest
for platform 2 and1-latest
for 1 - Extract previous component versions from last released worker image
- added Option to override
cve_severity
value
Fix migrations between platform1 and platform2 - (PR #862)
Support migration of DB data from Platform1 stable to platform2 stable. To do this the platform 2 DB migrations were reset to versions from the latest stable release 1.8.0
then new migrations applied on top.
Note: This causes problems when moving from older Platform 2 versions to 2.2.1+
to support this a workaround script was added to help apply the new set of migrations. This script only runs if the main migration command fails.
Warning: Running a newer platform 2 image over an older plat2 DB will revert migration changes, so you might lose some data. Wake sure you back up your data before deploying Platform2.2.1 or above.
Update the SSL_MODE variable to include HTTP parameter
Fix for #863, which causes an error for backend DB connection scripts which don't match the format ?sslmode={SSL_MODE}
. The whole string has moved into the parameter SSL_MODE
Example - Disable SSL
To add no ssl option, set the Environment variable OASIS_CELERY_DB_SSL_MODE=""
Example - Enable SSL
For platform 2, add the whole connection parameter to the same variable OASIS_CELERY_DB_SSL_MODE="?sslmode=prefer"
OasisLMF Notes
Redefine key_columns as local variable - (PR #1342)
Making changes the global variable key_columns
, which is a list of location file columns used in the lookup process, can lead to errors. As the variable is only used in the method builtin.py::Lookup::process_locations
, it can be defined local to that method instead.
Fixed the removal of log handlers in logging redirect wrapper - (PR #1349)
- Log handlers were not correctly removed when exiting from log redirect
- Added log redirect to plapy
- Fixed open file leaks in testing
ODS_Tools Notes
add check for conditional requirement - (PR #44)
Release 2.2.1rc1
Oasis Release v2.2.1rc1
Docker Images (Platform)
- coreoasis/api_server:2.2.1rc1
- coreoasis/model_worker:2.2.1rc1
- coreoasis/model_worker:2.2.1rc1-debian
- coreoasis/piwind_worker:2.2.1rc1
Docker Images (User Interface)
Components
Changelogs
OasisPlatform Changelog - 2.2.1rc1
- #849 - Feautre/1323 reorganize branches plat2
- #860, #863 - Fix/migrations plat1 to plat2
- #847 - Release 2.2.0
OasisLMF Changelog - 1.28.1rc1
-
#1341 - Bug in latest platform2 release
-
#1324 - Release/1.28.0
-
#1349 - Fix removal of handlers to logger + give logfiles unique names
-
#1334 - Update CI - 1.28
-
#44 - add check for conditional requirement
Release Notes
OasisPlatform Notes
Fix migrations between platform1 and platform2 - (PR #862)
Support migration of DB data from Platform1 stable to platform2 stable. To do this the platform 2 DB migrations were reset to versions from the latest stable release 1.8.0
then new migrations applied on top.
Note: This causes problems when moving from older Platform 2 versions to 2.2.1+
to support this a workaround script was added to help apply the new set of migrations. This script only runs if the main migration command fails.
Warning: Running a newer platform 2 image over an older plat2 DB will revert migration changes, so you might lose some data. Wake sure you back up your data before deploying Platform2.2.1 or above.
Update the SSL_MODE variable to include HTTP parameter
Fix for #863, which causes an error for backend DB connection scripts which don't match the format ?sslmode={SSL_MODE}
. The whole string has moved into the parameter SSL_MODE
Example - Disable SSL
To add no ssl option, set the Environment variable OASIS_CELERY_DB_SSL_MODE=""
Example - Enable SSL
For platform 2, add the whole connection parameter to the same variable OASIS_CELERY_DB_SSL_MODE="?sslmode=prefer"
OasisLMF Notes
Redefine key_columns as local variable - (PR #1342)
Making changes the global variable key_columns
, which is a list of location file columns used in the lookup process, can lead to errors. As the variable is only used in the method builtin.py::Lookup::process_locations
, it can be defined local to that method instead.
Fixed the removal of log handlers in logging redirect wrapper - (PR #1349)
- Log handlers were not correctly removed when exiting from log redirect
- Added log redirect to plapy
- Fixed open file leaks in testing
ODS_Tools Notes
add check for conditional requirement - (PR #44)
Release 2.2.0
Oasis Release v2.2.0
Docker Images (Platform)
- coreoasis/api_server:2.2.0
- coreoasis/model_worker:2.2.0
- coreoasis/model_worker:2.2.0-debian
- coreoasis/piwind_worker:2.2.0
Docker Images (User Interface)
Components
Changelogs
OasisPlatform Changelog - 2.2.0
- #725 - Queue priority for same job
- #842 - Fix CVE-2023-30608
- #813, #822 - Fixes for OpenAPI schema
- #679 - Portfolio file linking fails with azure file share
ODS_Tools Changelog - 3.1.0
-
#33 - Consistant managment of blank values
-
#35 - Bug in Analysis settings compatibility map
-
#40 - Replace hardcoded packages, with find_packages
-
#41 - fix check category
-
#42 - ods_tools check crashes on empty location file
-
#44 - add check for conditional requirement
-
#46 - add option to manage unknown column when saving files
-
#27 - fix read_csv only read needed line when reading header
-
#30 - Release/3.0.6
-
#31 - Add Platform testing to ODS-tools github actions
-
#351 - Introduce components for Post Loss Amplification
Release Notes
OasisPlatform Notes
Added generate_and_run endpoint to queue generate and run jobs from a single endpoint - (PR #843)
...
Fix CVE-2023-30608 - (PR #842)
- Updated sqlparse to 0.4.4 for CVE
- Update pymysql to 1.1.0 and pin mysqlclient<=2.1.1, fix for server build issue
Fixes for OpenAPI schema - (PR #835)
- Fixed schema alignment between
portfolios
return andLocFile
,AccFile
,ReinsInfoFile
andReinsInfoFile
Models - Removed
RelatedFile
Model from schema and merged return into file POST requests - Fixed Portfolio POST schema definitions
- Added
required=False
to Portfolio file url parameters
Fixed portfolio file linking - (PR #844)
Fixed the endpoint /v1/portfolios/{id}/storage_links/
when connecting unregistered blobs (not already in the Django default_storage
adapter) and connecting the blob to a portfolio as an exposure file.
ODS_Tools Notes
Add function to fill all blank values with a default - (PR #32)
depending on the source of the Exposure blank values can be stored as np.nan, pd.na, None, '' ...
this change extend the definition of blank values to all those and provide a helper function to set default values what ever is the blank value
Settings compatibility for older workers - (PR #36)
- Added settings validation to
ods_tools
command line - Fixed bug in settings compatibility, where original key is removed.
Updated setup.py to use find_packages - (PR #40)
- Dynamically build all sub-dirs of
ods_tools
into pip package
fix categorical check - (PR #41)
when check if categorical this error can appear
packages/ods_tools/oed/source.py", line 330, in prepare_df
elif df[col].dtype == 'category':
TypeError: data type 'category' not understood
using dtype name solve the issue
Support Empty OedSource - (PR #43)
fix issue raising error when OedSource was empty.
when an OedSource is empty, log an info level message.
add check for conditional requirement - (PR #44)
add option to manage unknown column when saving files - (PR #46)
When saving Exposure, add the option to manage unknown columns individually via a dict or generally via a single constant
option available are in UnknownColumnSaveOption
IGNORE = 1
RENAME = 2
DELETE = 3
fix: only read needed data when reading header with pandas - (PR #27)
-
in our read_csv method, due to a mix in the argument of read_or_try_encoding_read, the whole file was read and interpreted.
Now the argument nrow 0 is properly used. -
also use the same method (read_csv, detect header to provide dtype at read time) to read seekable stream. This should also improve read performance as declaring the dtypes before the read avoid pandas interpreting the columns.
-
small fix/improvement in the tests
Add Platform testing to ODS-tools CI/CD - (PR #31)
- Run the platform unit tests on ods-tools pull requests
ktools Notes
Introduce components for Post Loss Amplification - (PR #351)
Major events can give rise to inflated costs as a result of the shortage of labour, materials, and other factors. Conversely, in some cases the costs incurred may be lower as the main expenses may be shared amongst the sites that are hit in the same area. To account for this, the ground up losses from gulpy
/gulcalc
are multiplied by post loss amplification factors by a new component placalc
.
Five components are introduced:
amplificationstobin
amplificationstocsv
lossfactorstobin
lossfactorstocsv
placalc
The file static/lossfactors.bin
maps event ID-amplification ID pairs with post loss amplification factors, and is supplied by the model provider. The components amplificationstobin
and amplificationstocsv
convert this file between csv and binary formats. The binary format for this file is defined as follows:
- the first 4 bytes are reserved for future use
- event ID (4-byte integer)
- number of amplification IDs associated with the aforementioned event ID (4-byte integer)
- amplification ID (4-byte integer)
- loss factor (4-byte float)
This is then followed by all the amplification ID-loss factor pairs associated with the event ID. Then the next event ID is given.
The file input/amplifications.bin
maps item IDs to amplification IDs. Keys with amplification IDs are generated by the OasisLMF (MDK) key server according to the strategy given by the model provider. These are used to generate the amplifications file. The components amplificationstobin
and amplificationstocsv
convert this file between csv and binary formats. The binary format for this file is defined as follows:
- the first 4 bytes are reserved for future use.
- item ID (4-byte integer)
- amplification ID (4-byte integer)
The component placalc
uses the files static/lossfactors.bin
and input/amplifications.bin
to assign loss factors to event ID-item ID pairs from gulpy
/gulcalc
. Losses are then multiplied by their relevant factors. The output format is identical to that of gulpy
/gulcalc
: event ID; item ID; sample ID (sidx); and loss.
Release 1.28.0
Oasis Release v1.28.0
Docker Images (Platform)
- coreoasis/api_server:1.28.0
- coreoasis/model_worker:1.28.0
- coreoasis/model_worker:1.28.0-debian
- coreoasis/piwind_worker:1.28.0
Docker Images (User Interface)
Components
Changelogs
OasisPlatform Changelog - 1.28.0
- #768 - Loosen repository argument in changelog builder
- #769 - 1.27.2 CVE update
- #771 - Add ODS_Tools version summary to release notes builder
- #775 - Search all repo for tags, but limit the scope by env
- #783 - Feature/ods read from stream Plat1
- #791 - Fix bug in release note build script
- #795 - Add missing check for RI files to workers
- #810 - Add workflow to update requirment files
- #818 - Update/remote trig python tests
- #820 - Update publish with checkbox to push images with latest tag
- #826 - Add option to select packages to update in workflow
- #827 - Updated Package Requirements: 'django==3.2.19'
- #813, #822 - Fixes for OpenAPI schema
- #842 - Fix CVE-2023-30608
- #722, #723 - Added OED validation on file upload, and updated ods-tools package to 3.0.1
- #726 - Add Code QL to platform repo
- #747 - Fix/portfolio validate default
- #749 - Set Validation on Upload to false
- #752 - Update packages dev
- #753 - Set ods-tools 3.0.2
- #754 - Update the model settings schema to include correlation options
- #763 - Fix schema build workflow
- #765 - Move json settings schema to ods-tools
- #767 - Add retry to model reg task
OasisLMF Changelog - 1.28.0
- #1280 - Drop py3.7 in testing and add py3.11
- #1134 - nan output in dummy model generated vulnerability file when intensity sparseness is low
- #1282 - Adding tarfile member sanitization to extractall()
- #1286 - Improve code coverage accuracy
- #1288 - Support for pandas 2
- #1289 - Fix/fillna on str
- #1295 - Add platform client unit tests
- #1291 - remove obsolete fm compute
- #1294 - Removed obsolete Cookiecutter from oasislmf
- #1296 - Pin ods-tools package for new fillna function
- #1298 - Add testing for computation funcs
- #1214 - Undefined behaviour when no successes are passed to write_oasis_keys_file
- #1306 - lookup: remove extra column after failed combine step
- #1307 - Update release section on Readme
- #1156, #1180, #1151 - [gulmc] implement hazard correlation
- #1310 - log wrapper, check log level before running input log
- #902 - Support for monetary / absolute damage functions
- #1315 - Bug fix for setcwd context manager
- #1300 - Assignment of loc_id and idx is not unique when using an EPA to split locations across more rows
- #1316 - Enhance pre-analysis hook
- #1321 - Cleanup/fix fm validation cr
- #1219 - Fix flakly checks in TestGetDataframe
- #1142 - Post Loss Amplification
- #1329 - Fix/ci skip ods build manual trigger
- #1330 - Set Ktools to version 3.10.0
- #1332 - fix correlation issue
- #1207 - (FM) CondClass 1 as second priority condition doesn't work
- #1211 - OSError: [Errno 24] Too many open files in gulmc test
- #1218 - Fix missing default collumn for RI
- #1220 - Fix mapping of
vuln_idx
tovuln_i
and implementeff_vuln_cdf
as a dynamic array to work with large footprints - #1222 - add option to have custom oed schema
- #1230 - Redirect warnings from pytools
- #1231 - Fix expecteted output with Extra TIV cols from ods-tools
- #1232 - Moved Settings JSON validation to ods-tools
- #1233 - oasislmf exposure run reports missing location file when account missing
- #141 - Implement account level financial structures
- #1236 - Switch changelog builder from "build" repo to "OasisPlatform"
- #1237 - Add *.npy to gitignore and clean files from validation
- #1238 - Set oasislmf to version 1.27.2
- #1245 - Add the possibility to have both policy coverage and policy PD
- #28 - Fix/genbash
- #1244 - Use console entrypoint to define and install
oasislmf
binary - #1251 - Error caused by pandas 2.0.0
- #1247 - OED/oasislmf version compatibility matrix #oasislmf
- #1253 - pandas 2.0.0 error using "oed_fields" in analysis settings
- #1257 - Fix summary levels file
- #1130 - Remove check for IL + RI files from the run model cmd
- #1260 - Use low_memory=False in get_dataframe
- #1123 - Stochastic disaggregation 4 & 6 File preparation for disaggregated locations
- #1259 - Duplicate summary_ids in outputs
- #1221 - Enable simple way to specify hierarchal key lookup in lookup_config.json
- #1267 - Numba 0.57 breaks fmpy
- #1270 - Add generate and run to rest client
- #1272 - Update numpy pin
- #1277 - Fix invalid columns in FM tests
ODS_Tools Changelog - 3.1.0
Release 1.27.5
Oasis Release v1.27.5
Docker Images (Platform)
- coreoasis/api_server:1.27.5
- coreoasis/model_worker:1.27.5
- coreoasis/model_worker:1.27.5-debian
- coreoasis/piwind_worker:1.27.5
Docker Images (User Interface)
Components
Changelogs
OasisLMF Changelog - 1.27.5
- #1214 - Undefined behaviour when no successes are passed to write_oasis_keys_file
- #1306 - lookup: remove extra column after failed combine step
- #1310 - log wrapper, check log level before running input log
Release Notes
OasisLMF Notes
builtin KeyServer not failing when no keys success in a batch - (PR #1305)
KeyServer will not raise an error in a batch of location contain no successful keys.
lookup: remove extra column after failed combine step - (PR #1306)
In builtin lookup, for locations where a combine step is not valid, some extra column could be added on top of the id one.
With this change only the original column are passed to the next combine step
fix wrapper computing debug level operation in non debug mode - (PR #1310)
Preparing to data to log the input argument of function can be very costly in time and memory. and it is perform before the debug call is ignored
With this change we preemptively check for the log level and perform this operation only if relevant
In case of big portfolio this can lead to a massive increase in preparation step time and memory
Note: Performance impact can still occur when running with
--verbose
orDEBUG
logging.