oasislmf.pytools.common.data ============================ .. py:module:: oasislmf.pytools.common.data Attributes ---------- .. autoapisummary:: oasislmf.pytools.common.data.oasis_int oasislmf.pytools.common.data.nb_oasis_int oasislmf.pytools.common.data.oasis_int_size oasislmf.pytools.common.data.oasis_float oasislmf.pytools.common.data.nb_oasis_float oasislmf.pytools.common.data.oasis_float_size oasislmf.pytools.common.data.areaperil_int oasislmf.pytools.common.data.nb_areaperil_int oasislmf.pytools.common.data.areaperil_int_size oasislmf.pytools.common.data.null_index oasislmf.pytools.common.data.DEFAULT_BUFFER_SIZE oasislmf.pytools.common.data.MEAN_TYPE_ANALYTICAL oasislmf.pytools.common.data.MEAN_TYPE_SAMPLE oasislmf.pytools.common.data.DTYPE_IDX oasislmf.pytools.common.data.NAME_DTYPE_SLICE oasislmf.pytools.common.data.agg_id oasislmf.pytools.common.data.aggregate_vulnerability_id oasislmf.pytools.common.data.amplification_id oasislmf.pytools.common.data.areaperil_id oasislmf.pytools.common.data.attachment1 oasislmf.pytools.common.data.bin_from oasislmf.pytools.common.data.bin_index oasislmf.pytools.common.data.bin_mean oasislmf.pytools.common.data.bin_to oasislmf.pytools.common.data.calcrule_id oasislmf.pytools.common.data.coverage_id oasislmf.pytools.common.data.damage_bin_id oasislmf.pytools.common.data.damage_correlation_value oasislmf.pytools.common.data.damage_type oasislmf.pytools.common.data.deductible1 oasislmf.pytools.common.data.deductible2 oasislmf.pytools.common.data.deductible3 oasislmf.pytools.common.data.event_id oasislmf.pytools.common.data.factor oasislmf.pytools.common.data.from_agg_id oasislmf.pytools.common.data.group_id oasislmf.pytools.common.data.hazard_correlation_value oasislmf.pytools.common.data.hazard_group_id oasislmf.pytools.common.data.intensity_adjustment oasislmf.pytools.common.data.intensity_bin_id oasislmf.pytools.common.data.interpolation oasislmf.pytools.common.data.item_id oasislmf.pytools.common.data.item_return_period oasislmf.pytools.common.data.layer_id oasislmf.pytools.common.data.level_id oasislmf.pytools.common.data.limit1 oasislmf.pytools.common.data.limit2 oasislmf.pytools.common.data.loss oasislmf.pytools.common.data.model_data_len oasislmf.pytools.common.data.occ_date_id oasislmf.pytools.common.data.occ_date_id_granular oasislmf.pytools.common.data.output_id oasislmf.pytools.common.data.output oasislmf.pytools.common.data.payout_end oasislmf.pytools.common.data.payout_start oasislmf.pytools.common.data.peril_correlation_group oasislmf.pytools.common.data.period_no oasislmf.pytools.common.data.period_weighting oasislmf.pytools.common.data.prob_to oasislmf.pytools.common.data.probability oasislmf.pytools.common.data.profile_id oasislmf.pytools.common.data.quantile oasislmf.pytools.common.data.quantile_fractional_part oasislmf.pytools.common.data.quantile_integer_part oasislmf.pytools.common.data.random_no oasislmf.pytools.common.data.return_period oasislmf.pytools.common.data.scale1 oasislmf.pytools.common.data.scale2 oasislmf.pytools.common.data.section_id oasislmf.pytools.common.data.share1 oasislmf.pytools.common.data.share2 oasislmf.pytools.common.data.share3 oasislmf.pytools.common.data.sidx oasislmf.pytools.common.data.step_id oasislmf.pytools.common.data.summary_id oasislmf.pytools.common.data.summaryset_id oasislmf.pytools.common.data.tiv oasislmf.pytools.common.data.to_agg_id oasislmf.pytools.common.data.trigger_end oasislmf.pytools.common.data.trigger_start oasislmf.pytools.common.data.vulnerability_id oasislmf.pytools.common.data.vulnerability_weight oasislmf.pytools.common.data.aggregatevulnerability_output oasislmf.pytools.common.data.amplifications_output oasislmf.pytools.common.data.cdf_output oasislmf.pytools.common.data.complex_items_meta_output oasislmf.pytools.common.data.correlations_output oasislmf.pytools.common.data.coverages_output oasislmf.pytools.common.data.damagebin_output oasislmf.pytools.common.data.eve_output oasislmf.pytools.common.data.footprint_event_output oasislmf.pytools.common.data.fm_output oasislmf.pytools.common.data.fm_policytc_output oasislmf.pytools.common.data.fm_profile_output oasislmf.pytools.common.data.fm_profile_step_output oasislmf.pytools.common.data.fm_programme_output oasislmf.pytools.common.data.fm_summary_xref_output oasislmf.pytools.common.data.fm_xref_output oasislmf.pytools.common.data.gul_output oasislmf.pytools.common.data.gul_summary_xref_output oasislmf.pytools.common.data.items_output oasislmf.pytools.common.data.item_adjustment oasislmf.pytools.common.data.lossfactors_output oasislmf.pytools.common.data.occurrence_output oasislmf.pytools.common.data.occurrence_granular_output oasislmf.pytools.common.data.periods_output oasislmf.pytools.common.data.quantile_output oasislmf.pytools.common.data.quantile_interval_output oasislmf.pytools.common.data.random_output oasislmf.pytools.common.data.returnperiods_output oasislmf.pytools.common.data.vulnerability_output oasislmf.pytools.common.data.vulnerability_weight_output oasislmf.pytools.common.data.float_equal_precision Functions --------- .. autoapisummary:: oasislmf.pytools.common.data.generate_output_metadata oasislmf.pytools.common.data.load_as_ndarray oasislmf.pytools.common.data.load_as_array oasislmf.pytools.common.data.write_ndarray_to_fmt_csv oasislmf.pytools.common.data.almost_equal oasislmf.pytools.common.data.resolve_file Module Contents --------------- .. py:data:: oasis_int .. py:data:: nb_oasis_int .. py:data:: oasis_int_size .. py:data:: oasis_float .. py:data:: nb_oasis_float .. py:data:: oasis_float_size .. py:data:: areaperil_int .. py:data:: nb_areaperil_int .. py:data:: areaperil_int_size .. py:data:: null_index .. py:data:: DEFAULT_BUFFER_SIZE :value: 1000000 .. py:data:: MEAN_TYPE_ANALYTICAL :value: 1 .. py:data:: MEAN_TYPE_SAMPLE :value: 2 .. py:function:: generate_output_metadata(output) 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 .. py:data:: DTYPE_IDX :value: 1 .. py:data:: NAME_DTYPE_SLICE .. py:data:: agg_id :value: ('agg_id', 'i4', '%d') .. py:data:: aggregate_vulnerability_id :value: ('aggregate_vulnerability_id', 'i4', '%d') .. py:data:: amplification_id :value: ('amplification_id', 'i4', '%d') .. py:data:: areaperil_id .. py:data:: attachment1 .. py:data:: bin_from .. py:data:: bin_index :value: ('bin_index', 'i4', '%d') .. py:data:: bin_mean :value: ('bin_mean', 'f4', '%f') .. py:data:: bin_to .. py:data:: calcrule_id :value: ('calcrule_id', 'i4', '%d') .. py:data:: coverage_id :value: ('coverage_id', 'u4', '%u') .. py:data:: damage_bin_id :value: ('damage_bin_id', 'i4', '%d') .. py:data:: damage_correlation_value .. py:data:: damage_type :value: ('damage_type', 'i4', '%d') .. py:data:: deductible1 .. py:data:: deductible2 .. py:data:: deductible3 .. py:data:: event_id :value: ('event_id', 'i4', '%d') .. py:data:: factor :value: ('factor', 'f4', '%.2f') .. py:data:: from_agg_id :value: ('from_agg_id', 'i4', '%d') .. py:data:: group_id :value: ('group_id', 'u4', '%u') .. py:data:: hazard_correlation_value .. py:data:: hazard_group_id :value: ('hazard_group_id', 'i4', '%d') .. py:data:: intensity_adjustment :value: ('intensity_adjustment', 'i4', '%d') .. py:data:: intensity_bin_id :value: ('intensity_bin_id', 'i4', '%d') .. py:data:: interpolation .. py:data:: item_id :value: ('item_id', 'i4', '%d') .. py:data:: item_return_period :value: ('return_period', 'i4', '%d') .. py:data:: layer_id :value: ('layer_id', 'i4', '%d') .. py:data:: level_id :value: ('level_id', 'i4', '%d') .. py:data:: limit1 .. py:data:: limit2 .. py:data:: loss .. py:data:: model_data_len :value: ('model_data_len', 'u4', '%u') .. py:data:: occ_date_id :value: ('occ_date_id', 'i4', '%d') .. py:data:: occ_date_id_granular :value: ('occ_date_id', 'i8', '%d') .. py:data:: output_id :value: ('output_id', 'i4', '%d') .. py:data:: output .. py:data:: payout_end .. py:data:: payout_start .. py:data:: peril_correlation_group :value: ('peril_correlation_group', 'i4', '%d') .. py:data:: period_no :value: ('period_no', 'i4', '%d') .. py:data:: period_weighting :value: ('weighting', 'f8', '%0.9lf') .. py:data:: prob_to :value: ('prob_to', 'f4', '%f') .. py:data:: probability .. py:data:: profile_id :value: ('profile_id', 'i4', '%d') .. py:data:: quantile :value: ('quantile', 'f4', '%f') .. py:data:: quantile_fractional_part .. py:data:: quantile_integer_part .. py:data:: random_no :value: ('random_no', 'f4', '%f') .. py:data:: return_period :value: ('return_period', 'i4', '%d') .. py:data:: scale1 .. py:data:: scale2 .. py:data:: section_id .. py:data:: share1 .. py:data:: share2 .. py:data:: share3 .. py:data:: sidx :value: ('sidx', 'i4', '%d') .. py:data:: step_id :value: ('step_id', 'i4', '%d') .. py:data:: summary_id :value: ('summary_id', 'i4', '%d') .. py:data:: summaryset_id :value: ('summaryset_id', 'i4', '%d') .. py:data:: tiv .. py:data:: to_agg_id :value: ('to_agg_id', 'i4', '%d') .. py:data:: trigger_end .. py:data:: trigger_start .. py:data:: vulnerability_id :value: ('vulnerability_id', 'i4', '%d') .. py:data:: vulnerability_weight .. py:data:: aggregatevulnerability_output .. py:data:: amplifications_output .. py:data:: cdf_output .. py:data:: complex_items_meta_output .. py:data:: correlations_output .. py:data:: coverages_output .. py:data:: damagebin_output .. py:data:: eve_output .. py:data:: footprint_event_output .. py:data:: fm_output .. py:data:: fm_policytc_output .. py:data:: fm_profile_output .. py:data:: fm_profile_step_output .. py:data:: fm_programme_output .. py:data:: fm_summary_xref_output .. py:data:: fm_xref_output .. py:data:: gul_output .. py:data:: gul_summary_xref_output .. py:data:: items_output .. py:data:: item_adjustment .. py:data:: lossfactors_output .. py:data:: occurrence_output .. py:data:: occurrence_granular_output .. py:data:: periods_output .. py:data:: quantile_output .. py:data:: quantile_interval_output .. py:data:: random_output .. py:data:: returnperiods_output .. py:data:: vulnerability_output .. py:data:: vulnerability_weight_output .. py:function:: load_as_ndarray(dir_path, name, _dtype, must_exist=True, col_map=None) 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 .. py:function:: load_as_array(dir_path, name, _dtype, must_exist=True) 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 .. py:function:: write_ndarray_to_fmt_csv(output_file, data, headers, row_fmt) 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 ndarray with column names headers (list[str]): Column names for custom ndarray row_fmt (str): Format for each row in csv .. py:data:: float_equal_precision .. py:function:: almost_equal(a, b) .. py:function:: resolve_file(path, mode, stack) 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.