def load_inputs(cfg: dict) -> Tuple[GeoDataFrame]: """ Loads all of the inputs specified by the `cfg` and returns a tuple of :class:`GeoDataFrame` objects, the earthquake catalog and the bins. :param cfg: Configuration for the evaluations, such as that parsed from the YAML config file. """ rupture_gdf = load_ruptures_from_ssm(cfg) bin_gdf = make_bin_gdf_from_rupture_gdf( rupture_gdf, h3_res=cfg["input"]["bins"]["h3_res"], min_mag=cfg["input"]["bins"]["mfd_bin_min"], max_mag=cfg["input"]["bins"]["mfd_bin_max"], bin_width=cfg["input"]["bins"]["mfd_bin_width"], ) logger.info("bin_gdf shape: {}".format(bin_gdf.shape)) logger.info("rupture_gdf shape: {}".format(rupture_gdf.shape)) logger.debug("rupture_gdf memory: {} GB".format( sum(rupture_gdf.memory_usage(index=True, deep=True)) * 1e-9)) logger.info("adding ruptures to bins") add_ruptures_to_bins(rupture_gdf, bin_gdf) if cfg["input"]["subset"]["file"] is not None: logger.info(" Subsetting bin_gdf") bin_gdf = subset_source( bin_gdf, subset_file=cfg["input"]["subset"]["file"], buffer=cfg["input"]["subset"]["buffer"], ) del rupture_gdf logger.debug("bin_gdf memory: {} GB".format( sum(bin_gdf.memory_usage(index=True, deep=True)) * 1e-9)) eq_gdf = load_obs_eq_catalog(cfg) logger.info("adding earthquakes to bins") add_earthquakes_to_bins(eq_gdf, bin_gdf, h3_res=cfg["input"]["bins"]["h3_res"]) if "prospective_catalog" in cfg["input"].keys(): logger.info("adding prospective earthquakes to bins") pro_gdf = load_pro_eq_catalog(cfg) add_earthquakes_to_bins( pro_gdf, bin_gdf, h3_res=cfg["input"]["bins"]["h3_res"], category="prospective", ) return bin_gdf, eq_gdf, pro_gdf else: return bin_gdf, eq_gdf
def setUpClass(self): self.test_dir = test_data_dir + "/" self.lt, self.weights = process_source_logic_tree(self.test_dir) self.rup_dict = rupture_dict_from_logic_tree_dict(self.lt) self.rup_list = rupture_list_from_source_list(self.lt["b1"]) self.rup_gdf = rupture_list_to_gdf(self.rup_list) self.bin_gdf = make_bin_gdf_from_rupture_gdf(self.rup_gdf, h3_res=3, parallel=False)
def test_make_bin_gdf_from_rupture_gdf(self): bin_df = make_bin_gdf_from_rupture_gdf(self.rup_gdf, h3_res=3, parallel=False) np.testing.assert_almost_equal( bin_df.loc["836860fffffffff"].geometry.area, 1.0966917348958416)