oasislmf.pytools.common.data

Attributes

oasis_int

nb_oasis_int

oasis_int_size

oasis_float

nb_oasis_float

oasis_float_size

areaperil_int

nb_areaperil_int

areaperil_int_size

null_index

DEFAULT_BUFFER_SIZE

MEAN_TYPE_ANALYTICAL

MEAN_TYPE_SAMPLE

DTYPE_IDX

NAME_DTYPE_SLICE

agg_id

aggregate_vulnerability_id

amplification_id

areaperil_id

attachment1

bin_from

bin_index

bin_mean

bin_to

calcrule_id

coverage_id

damage_bin_id

damage_correlation_value

damage_type

deductible1

deductible2

deductible3

event_id

factor

from_agg_id

group_id

hazard_correlation_value

hazard_group_id

intensity_adjustment

intensity_bin_id

interpolation

item_id

item_return_period

layer_id

level_id

limit1

limit2

loss

model_data_len

occ_date_id

occ_date_id_granular

output_id

output

payout_end

payout_start

peril_correlation_group

period_no

period_weighting

prob_to

probability

profile_id

quantile

quantile_fractional_part

quantile_integer_part

random_no

return_period

scale1

scale2

section_id

share1

share2

share3

sidx

step_id

summary_id

summaryset_id

tiv

to_agg_id

trigger_end

trigger_start

vulnerability_id

vulnerability_weight

aggregatevulnerability_output

amplifications_output

cdf_output

complex_items_meta_output

correlations_output

coverages_output

damagebin_output

eve_output

footprint_event_output

fm_output

fm_policytc_output

fm_profile_output

fm_profile_step_output

fm_programme_output

fm_summary_xref_output

fm_xref_output

gul_output

gul_summary_xref_output

items_output

item_adjustment

lossfactors_output

occurrence_output

occurrence_granular_output

periods_output

quantile_output

quantile_interval_output

random_output

returnperiods_output

vulnerability_output

vulnerability_weight_output

float_equal_precision

Functions

generate_output_metadata(output)

Generates *_header, *_dtype and *_fmt items given a list of tuples describing some output description

load_as_ndarray(dir_path, name, _dtype[, must_exist, ...])

load a file as a numpy ndarray

load_as_array(dir_path, name, _dtype[, must_exist])

load file as a single numpy array,

write_ndarray_to_fmt_csv(output_file, data, headers, ...)

Writes a custom dtype array with headers to csv with the provided row_fmt str

almost_equal(a, b)

resolve_file(path, mode, stack)

Resolve file path to open file or use sys.stdin

Module Contents

oasislmf.pytools.common.data.oasis_int[source]
oasislmf.pytools.common.data.nb_oasis_int[source]
oasislmf.pytools.common.data.oasis_int_size[source]
oasislmf.pytools.common.data.oasis_float[source]
oasislmf.pytools.common.data.nb_oasis_float[source]
oasislmf.pytools.common.data.oasis_float_size[source]
oasislmf.pytools.common.data.areaperil_int[source]
oasislmf.pytools.common.data.nb_areaperil_int[source]
oasislmf.pytools.common.data.areaperil_int_size[source]
oasislmf.pytools.common.data.null_index[source]
oasislmf.pytools.common.data.DEFAULT_BUFFER_SIZE = 1000000[source]
oasislmf.pytools.common.data.MEAN_TYPE_ANALYTICAL = 1[source]
oasislmf.pytools.common.data.MEAN_TYPE_SAMPLE = 2[source]
oasislmf.pytools.common.data.generate_output_metadata(output)[source]

Generates *_header, *_dtype and *_fmt items given a list of tuples describing some output description output description has type List(Tuple({name: str}, {type: Any}, {format: str})) Args:

output_map (list(tuple(str, Any, str))): Dictionary mapping string name to {output description}_output list

Returns:

result (tuple(list[str], np.dtype, str)): Tuple containing the generated *_header list, *_dtype np.dtype, *_fmt csv format string

oasislmf.pytools.common.data.DTYPE_IDX = 1[source]
oasislmf.pytools.common.data.NAME_DTYPE_SLICE[source]
oasislmf.pytools.common.data.agg_id = ('agg_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.aggregate_vulnerability_id = ('aggregate_vulnerability_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.amplification_id = ('amplification_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.areaperil_id[source]
oasislmf.pytools.common.data.attachment1[source]
oasislmf.pytools.common.data.bin_from[source]
oasislmf.pytools.common.data.bin_index = ('bin_index', 'i4', '%d')[source]
oasislmf.pytools.common.data.bin_mean = ('bin_mean', 'f4', '%f')[source]
oasislmf.pytools.common.data.bin_to[source]
oasislmf.pytools.common.data.calcrule_id = ('calcrule_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.coverage_id = ('coverage_id', 'u4', '%u')[source]
oasislmf.pytools.common.data.damage_bin_id = ('damage_bin_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.damage_correlation_value[source]
oasislmf.pytools.common.data.damage_type = ('damage_type', 'i4', '%d')[source]
oasislmf.pytools.common.data.deductible1[source]
oasislmf.pytools.common.data.deductible2[source]
oasislmf.pytools.common.data.deductible3[source]
oasislmf.pytools.common.data.event_id = ('event_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.factor = ('factor', 'f4', '%.2f')[source]
oasislmf.pytools.common.data.from_agg_id = ('from_agg_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.group_id = ('group_id', 'u4', '%u')[source]
oasislmf.pytools.common.data.hazard_correlation_value[source]
oasislmf.pytools.common.data.hazard_group_id = ('hazard_group_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.intensity_adjustment = ('intensity_adjustment', 'i4', '%d')[source]
oasislmf.pytools.common.data.intensity_bin_id = ('intensity_bin_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.interpolation[source]
oasislmf.pytools.common.data.item_id = ('item_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.item_return_period = ('return_period', 'i4', '%d')[source]
oasislmf.pytools.common.data.layer_id = ('layer_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.level_id = ('level_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.limit1[source]
oasislmf.pytools.common.data.limit2[source]
oasislmf.pytools.common.data.loss[source]
oasislmf.pytools.common.data.model_data_len = ('model_data_len', 'u4', '%u')[source]
oasislmf.pytools.common.data.occ_date_id = ('occ_date_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.occ_date_id_granular = ('occ_date_id', 'i8', '%d')[source]
oasislmf.pytools.common.data.output_id = ('output_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.output[source]
oasislmf.pytools.common.data.payout_end[source]
oasislmf.pytools.common.data.payout_start[source]
oasislmf.pytools.common.data.peril_correlation_group = ('peril_correlation_group', 'i4', '%d')[source]
oasislmf.pytools.common.data.period_no = ('period_no', 'i4', '%d')[source]
oasislmf.pytools.common.data.period_weighting = ('weighting', 'f8', '%0.9lf')[source]
oasislmf.pytools.common.data.prob_to = ('prob_to', 'f4', '%f')[source]
oasislmf.pytools.common.data.probability[source]
oasislmf.pytools.common.data.profile_id = ('profile_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.quantile = ('quantile', 'f4', '%f')[source]
oasislmf.pytools.common.data.quantile_fractional_part[source]
oasislmf.pytools.common.data.quantile_integer_part[source]
oasislmf.pytools.common.data.random_no = ('random_no', 'f4', '%f')[source]
oasislmf.pytools.common.data.return_period = ('return_period', 'i4', '%d')[source]
oasislmf.pytools.common.data.scale1[source]
oasislmf.pytools.common.data.scale2[source]
oasislmf.pytools.common.data.section_id[source]
oasislmf.pytools.common.data.share1[source]
oasislmf.pytools.common.data.share2[source]
oasislmf.pytools.common.data.share3[source]
oasislmf.pytools.common.data.sidx = ('sidx', 'i4', '%d')[source]
oasislmf.pytools.common.data.step_id = ('step_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.summary_id = ('summary_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.summaryset_id = ('summaryset_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.tiv[source]
oasislmf.pytools.common.data.to_agg_id = ('to_agg_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.trigger_end[source]
oasislmf.pytools.common.data.trigger_start[source]
oasislmf.pytools.common.data.vulnerability_id = ('vulnerability_id', 'i4', '%d')[source]
oasislmf.pytools.common.data.vulnerability_weight[source]
oasislmf.pytools.common.data.aggregatevulnerability_output[source]
oasislmf.pytools.common.data.amplifications_output[source]
oasislmf.pytools.common.data.cdf_output[source]
oasislmf.pytools.common.data.complex_items_meta_output[source]
oasislmf.pytools.common.data.correlations_output[source]
oasislmf.pytools.common.data.coverages_output[source]
oasislmf.pytools.common.data.damagebin_output[source]
oasislmf.pytools.common.data.eve_output[source]
oasislmf.pytools.common.data.footprint_event_output[source]
oasislmf.pytools.common.data.fm_output[source]
oasislmf.pytools.common.data.fm_policytc_output[source]
oasislmf.pytools.common.data.fm_profile_output[source]
oasislmf.pytools.common.data.fm_profile_step_output[source]
oasislmf.pytools.common.data.fm_programme_output[source]
oasislmf.pytools.common.data.fm_summary_xref_output[source]
oasislmf.pytools.common.data.fm_xref_output[source]
oasislmf.pytools.common.data.gul_output[source]
oasislmf.pytools.common.data.gul_summary_xref_output[source]
oasislmf.pytools.common.data.items_output[source]
oasislmf.pytools.common.data.item_adjustment[source]
oasislmf.pytools.common.data.lossfactors_output[source]
oasislmf.pytools.common.data.occurrence_output[source]
oasislmf.pytools.common.data.occurrence_granular_output[source]
oasislmf.pytools.common.data.periods_output[source]
oasislmf.pytools.common.data.quantile_output[source]
oasislmf.pytools.common.data.quantile_interval_output[source]
oasislmf.pytools.common.data.random_output[source]
oasislmf.pytools.common.data.returnperiods_output[source]
oasislmf.pytools.common.data.vulnerability_output[source]
oasislmf.pytools.common.data.vulnerability_weight_output[source]
oasislmf.pytools.common.data.load_as_ndarray(dir_path, name, _dtype, must_exist=True, col_map=None)[source]

load a file as a numpy ndarray useful for multi-columns files Args:

dir_path: path to the directory where the binary or csv file is stored name: name of the file _dtype: np.dtype must_exist: raise FileNotFoundError if no file is present col_map: name re-mapping to change name of csv columns

Returns:

numpy ndarray

oasislmf.pytools.common.data.load_as_array(dir_path, name, _dtype, must_exist=True)[source]
load file as a single numpy array,

useful for files with a binary version with only one type of value where their index correspond to an id. For example coverage.bin only contains tiv value for each coverage id coverage_id n correspond to index n-1

Args:

dir_path: path to the directory where the binary or csv file is stored name: name of the file _dtype: numpy dtype of the required array must_exist: raise FileNotFoundError if no file is present

Returns:

numpy array of dtype type

oasislmf.pytools.common.data.write_ndarray_to_fmt_csv(output_file, data, headers, row_fmt)[source]

Writes a custom dtype array with headers to csv with the provided row_fmt str

This function is a faster replacement for np.savetxt as it formats each row one at a time before writing to csv. We create one large string, and formats all the data at once, and writes all the data at once.

WARNING: untested with string types in custom data.

Args:

output_file (io.TextIOWrapper): CSV file data (ndarray[<custom dtype>]): Custom dtype ndarray with column names headers (list[str]): Column names for custom ndarray row_fmt (str): Format for each row in csv

oasislmf.pytools.common.data.float_equal_precision[source]
oasislmf.pytools.common.data.almost_equal(a, b)[source]
oasislmf.pytools.common.data.resolve_file(path, mode, stack)[source]

Resolve file path to open file or use sys.stdin

Args:

path (str | os.PathLike): File path or “-” indicationg standard input/output. mode (str): Mode to open file (“r”, “rb, “w”, “wb”). stack (ExitStack): Context manager stack used to manage file lifecycle.

Returns:

file (IO): A file-like object opened in the specified mode.