API reference
Subpackages
- physrisk.api
- physrisk.data
- Subpackages
- Submodules
- physrisk.data.colormap_provider
- physrisk.data.geotiff_reader
- physrisk.data.hazard_data_provider
- physrisk.data.image_creator
- physrisk.data.inventory
- physrisk.data.inventory_reader
- physrisk.data.pregenerated_hazard_model
- physrisk.data.zarr_reader
- Module contents
- physrisk.hazard_models
- Submodules
- physrisk.hazard_models.core_hazards
ResourceSubsetResourceSelectorResourceSelectorKeyInventorySourcePathsInventorySourcePaths.add_selector()InventorySourcePaths.all_hazards()InventorySourcePaths.hazard_types()InventorySourcePaths.resource_paths()InventorySourcePaths.scenario_paths_for_id()InventorySourcePaths.scenario_paths_for_resource()InventorySourcePaths.get_resources()InventorySourcePaths.all_selected_resources_by_type_id
CoreFloodModelsCoreInventorySourcePathscmip6_scenario_to_rcp()get_default_source_paths()
- Module contents
- physrisk.kernel
- Submodules
- physrisk.kernel.assets
FuelKindCoolingKindTurbineKindAssetOEDAssetSimpleTypeLocationAssetAgricultureAssetConstructionAssetIndustrialActivityManufacturingAssetOilGasAssetPowerGeneratingAssetRealEstateAssetHasStandardOfProtectionThermalPowerGeneratingAssetTestAssetTransportationAssetUtilityAssetWindTurbineall_asset_types()
- physrisk.kernel.calculation
- physrisk.kernel.curve
- physrisk.kernel.events
- physrisk.kernel.exposure
- physrisk.kernel.financial_model
- physrisk.kernel.hazard_event_distrib
- physrisk.kernel.hazard_model
- physrisk.kernel.hazards
IndicatorDataHazardKindHazardhazard_kind()indicator_data()ChronicHeatInundationAirTemperatureCoastalInundationChronicWindCombinedInundationDroughtFireHailPluvialInundationPrecipitationRiverineInundationWaterRiskWaterTemperatureWindSubsidenceall_hazards()hazard_class()LandslideEarthquake
- physrisk.kernel.impact
- physrisk.kernel.impact_distrib
ImpactTypeImpactDistribImpactDistrib.impact_bins_explicit()ImpactDistrib.mean_impact()ImpactDistrib.standard_deviation()ImpactDistrib.semi_standard_deviation()ImpactDistrib.to_exceedance_curve()ImpactDistrib.hazard_typeImpactDistrib.hazard_indicator_idImpactDistrib.impact_bin_edgesImpactDistrib.impact_typeImpactDistrib.probabilitiesImpactDistrib.path
EmptyReasonEmptyImpactDistribPlaceholderImpactDistrib
- physrisk.kernel.risk
- physrisk.kernel.vulnerability_distrib
- physrisk.kernel.vulnerability_matrix_provider
- physrisk.kernel.vulnerability_model
repeat()applies_to_events()applies_to_assets()get_vulnerability_curves_from_resource()delta_cdf()checked_beta_distrib()beta_distrib()DataRequesterEventBasedVulnerabilityModelBaseVulnerabilityModelsVulnerabilityModelsFactoryDictBasedVulnerabilityModelsVulnerabilityModelAcuteBaseVulnerabilityModelCurveBasedVulnerabilityModelDeterministicVulnerabilityModel
- Module contents
- physrisk.risk_models
- physrisk.utils
- physrisk.vulnerability_models
- Submodules
- physrisk.vulnerability_models.chronic_heat_models
- physrisk.vulnerability_models.example_models
- physrisk.vulnerability_models.labour_models
- physrisk.vulnerability_models.power_generating_asset_models
- physrisk.vulnerability_models.real_estate_models
- Module contents
physrisk.container
- class physrisk.container.DefaultHazardModelFactory(inventory: Inventory, source_paths: SourcePaths, store: MutableMapping | None = None, reader: ZarrReader | None = None, default_interpolation: str = 'floor', credentials: CredentialsProvider | None = None, third_party_apis: list[str] = [])
Bases:
HazardModelFactory- hazard_model(interpolation: str | None = None, provider_max_requests: Dict[str, int] = {}, interpolate_years: bool = True)
Create a HazardModel instance based on a number of options.
- Parameters:
interpolation (str) – Interpolation type to use for sub-pixel raster interpolation (where
models). (this is supported by hazard)
provider_max_requests (Dict[str, int]) – The maximum permitted number of permitted
providers. (requests to external)
interpolate_years (bool) – If True, apply linear interpolation for hazard requests where exact match is not present.
- image_creator()
- class physrisk.container.DictBasedVulnerabilityModelsFactory(*args, **kwargs)
Bases:
VulnerabilityModelsFactory- vulnerability_models(hazard_scope: dict[type[Hazard], set[str] | None] | None = None) VulnerabilityModels
Create a VulnerabilityModels instance, that can based on a number of options.
Although no options used at present, implemented this way in order to add in future (e.g. to allow a request to specify preferred methodology).
- Returns:
VulnerabilityModels
- Return type:
Instance that provides vulnerability models for asset types.
- class physrisk.container.DefaultVulnerabilityModelFactory
Bases:
VulnerabilityModelsFactoryDefault vulnerability approach. ‘default_vulnerability_models’ programmatic models are used, to which FEMA Hazus vulnerability-based models are added and finally configuration. FEMA Hazus vulnerability-based models excluded by default (until non-experimental).
- class physrisk.container.Container(**overriding_providers)
Bases:
DeclarativeContainer- asset_factory = <dependency_injector.providers.Factory(<class 'physrisk.vulnerability_models.configuration.asset_factory.DefaultAssetFactory'>)>
- config = <dependency_injector.providers.Configuration('config')>
- colormaps = <dependency_injector.providers.Singleton(<function Container.<lambda>>)>
- inventory_reader = <dependency_injector.providers.Singleton(<class 'physrisk.data.inventory_reader.InventoryReader'>)>
- inventory = <dependency_injector.providers.Singleton(<function _create_inventory>)>
- json_encoder_cls = <dependency_injector.providers.Object(<class 'physrisk.utils.encoder.PhysriskDefaultEncoder'>)>
- sig_figures = <dependency_injector.providers.Object(4)>
- source_paths = <dependency_injector.providers.Factory(<function create_source_paths>)>
- zarr_store = <dependency_injector.providers.Singleton(<bound method ZarrReader.create_s3_zarr_store of <class 'physrisk.data.zarr_reader.ZarrReader'>>)>
- zarr_reader = <dependency_injector.providers.Singleton(<class 'physrisk.data.zarr_reader.ZarrReader'>)>
- credentials = <dependency_injector.providers.Singleton(<class 'physrisk.hazard_models.credentials_provider.EnvCredentialsProvider'>)>
- hazard_model_factory = <dependency_injector.providers.Factory(<class 'physrisk.container.DefaultHazardModelFactory'>)>
- measures_factory = <dependency_injector.providers.Factory(<class 'physrisk.kernel.calculation.DefaultMeasuresFactory'>)>
- vulnerability_models_factory = <dependency_injector.providers.Factory(<class 'physrisk.container.DefaultVulnerabilityModelFactory'>)>
- requester = <dependency_injector.providers.Singleton(<class 'physrisk.requests.Requester'>)>
- cls_providers = {'asset_factory': <dependency_injector.providers.Factory(<class 'physrisk.vulnerability_models.configuration.asset_factory.DefaultAssetFactory'>)>, 'colormaps': <dependency_injector.providers.Singleton(<function Container.<lambda>>)>, 'config': <dependency_injector.providers.Configuration('config')>, 'credentials': <dependency_injector.providers.Singleton(<class 'physrisk.hazard_models.credentials_provider.EnvCredentialsProvider'>)>, 'hazard_model_factory': <dependency_injector.providers.Factory(<class 'physrisk.container.DefaultHazardModelFactory'>)>, 'inventory': <dependency_injector.providers.Singleton(<function _create_inventory>)>, 'inventory_reader': <dependency_injector.providers.Singleton(<class 'physrisk.data.inventory_reader.InventoryReader'>)>, 'json_encoder_cls': <dependency_injector.providers.Object(<class 'physrisk.utils.encoder.PhysriskDefaultEncoder'>)>, 'measures_factory': <dependency_injector.providers.Factory(<class 'physrisk.kernel.calculation.DefaultMeasuresFactory'>)>, 'requester': <dependency_injector.providers.Singleton(<class 'physrisk.requests.Requester'>)>, 'sig_figures': <dependency_injector.providers.Object(4)>, 'source_paths': <dependency_injector.providers.Factory(<function create_source_paths>)>, 'vulnerability_models_factory': <dependency_injector.providers.Factory(<class 'physrisk.container.DefaultVulnerabilityModelFactory'>)>, 'zarr_reader': <dependency_injector.providers.Singleton(<class 'physrisk.data.zarr_reader.ZarrReader'>)>, 'zarr_store': <dependency_injector.providers.Singleton(<bound method ZarrReader.create_s3_zarr_store of <class 'physrisk.data.zarr_reader.ZarrReader'>>)>}
- containers = {}
- inherited_providers = {}
- providers = {'asset_factory': <dependency_injector.providers.Factory(<class 'physrisk.vulnerability_models.configuration.asset_factory.DefaultAssetFactory'>)>, 'colormaps': <dependency_injector.providers.Singleton(<function Container.<lambda>>)>, 'config': <dependency_injector.providers.Configuration('config')>, 'credentials': <dependency_injector.providers.Singleton(<class 'physrisk.hazard_models.credentials_provider.EnvCredentialsProvider'>)>, 'hazard_model_factory': <dependency_injector.providers.Factory(<class 'physrisk.container.DefaultHazardModelFactory'>)>, 'inventory': <dependency_injector.providers.Singleton(<function _create_inventory>)>, 'inventory_reader': <dependency_injector.providers.Singleton(<class 'physrisk.data.inventory_reader.InventoryReader'>)>, 'json_encoder_cls': <dependency_injector.providers.Object(<class 'physrisk.utils.encoder.PhysriskDefaultEncoder'>)>, 'measures_factory': <dependency_injector.providers.Factory(<class 'physrisk.kernel.calculation.DefaultMeasuresFactory'>)>, 'requester': <dependency_injector.providers.Singleton(<class 'physrisk.requests.Requester'>)>, 'sig_figures': <dependency_injector.providers.Object(4)>, 'source_paths': <dependency_injector.providers.Factory(<function create_source_paths>)>, 'vulnerability_models_factory': <dependency_injector.providers.Factory(<class 'physrisk.container.DefaultVulnerabilityModelFactory'>)>, 'zarr_reader': <dependency_injector.providers.Singleton(<class 'physrisk.data.zarr_reader.ZarrReader'>)>, 'zarr_store': <dependency_injector.providers.Singleton(<bound method ZarrReader.create_s3_zarr_store of <class 'physrisk.data.zarr_reader.ZarrReader'>>)>}
- wiring_config = <dependency_injector.containers.WiringConfiguration object>
physrisk.requests
- class physrisk.requests.Requester(asset_factory: ~physrisk.vulnerability_models.configuration.asset_factory.AssetFactory, hazard_model_factory: ~physrisk.kernel.hazard_model.HazardModelFactory, vulnerability_models_factory: ~physrisk.kernel.vulnerability_model.VulnerabilityModelsFactory, inventory: ~physrisk.data.inventory.Inventory, source_paths: ~physrisk.hazard_models.core_hazards.InventorySourcePaths, inventory_reader: ~physrisk.data.inventory_reader.InventoryReader, reader: ~physrisk.data.zarr_reader.ZarrReader, colormaps: ~typing.Dict[str, ~typing.Any], measures_factory: ~physrisk.kernel.risk.RiskMeasuresFactory, json_encoder_cls: ~typing.Type[~json.encoder.JSONEncoder] = <class 'physrisk.utils.encoder.PhysriskDefaultEncoder'>, sig_figures: int = -1)
Bases:
object- get(*, request_id, request_dict)
- get_example_portfolios()
- get_hazard_data(request: HazardDataRequest)
- get_hazard_data_availability(request: HazardAvailabilityRequest)
- get_hazard_data_description(request: HazardDescriptionRequest)
- get_static_information()
- get_asset_exposures(request: AssetExposureRequest)
- get_available_sources(request: AvailabilitySourcesRequest) AvailabilitySourcesResponse
- get_asset_impacts(request: AssetImpactRequest) AssetImpactResponse
- get_image(request_or_dict: HazardImageRequest | Dict)
- get_image_info(request: HazardImageInfoRequest)
- dumps(dict)
- round_sig_figures(x: ndarray | float)
- physrisk.requests.create_assets(api_assets: ~physrisk.api.v1.common.Assets, assets: ~typing.List[~physrisk.kernel.assets.Asset] | None = None, asset_factory: ~physrisk.vulnerability_models.configuration.asset_factory.AssetFactory = <physrisk.vulnerability_models.configuration.asset_factory.DefaultAssetFactory object>)
Create list of Asset objects from the Assets API object:
- physrisk.requests.compile_asset_impacts(impacts: ~typing.Dict[~physrisk.kernel.impact.ImpactKey, ~typing.List[~physrisk.kernel.impact.AssetImpactResult]], assets: ~typing.List[~physrisk.kernel.assets.Asset], include_calc_details: bool, sig_figures: ~typing.Callable[[~numpy.ndarray | float], float | ~numpy.ndarray] = <function <lambda>>)
Convert (internal) list of AssetImpactResult objects to a list of AssetLevelImpact objects ready for serialization.
- Parameters:
impacts (Dict[ImpactKey, List[AssetImpactResult]]) – Impact results.
assets (List[Asset]) – Assets: the list will be returned using this order.
include_calc_details (bool) – Include calculation details.
sig_figures – Function to round results.
- Returns:
AssetImpactResult objects for serialization.
- Return type:
List[AssetLevelImpact]