Skip to content

Commit 6c0acd8

Browse files
committed
Stratification fixes
1 parent 7bd02c0 commit 6c0acd8

File tree

3 files changed

+24
-24
lines changed

3 files changed

+24
-24
lines changed

echopop/acoustics.py

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -276,26 +276,12 @@ def nasc_to_biomass(
276276
age_group_cols = settings_dict["transect"]["age_group_columns"]
277277

278278
# Extract the correct strata dataframe
279-
# ---- Define `strata_df`
280-
strata_df = input_dict["spatial"]["strata_df"].copy()
281-
# ---- Determine with the default ('ks') needs to be swapped out for 'inpfc'
282-
if settings_dict["transect"]["stratum"] == "inpfc":
283-
# ---- Get the INPFC strata
284-
inpfc_df = input_dict["spatial"]["inpfc_strata_df"].copy().set_index(["haul_bin"])
285-
# ---- Offset starts
286-
inpfc_df["haul_start"] = inpfc_df["haul_start"] - int(1)
287-
# ---- Get the `haul_bins`
288-
haul_bins = np.unique(inpfc_df.loc[:, "haul_start":"haul_end"].stack().values)
289-
# NOT CORRECT BINS !
290-
291-
# ---- Cut `strata_df` to haul_bins
292-
strata_df["haul_bin"] = pd.cut(strata_df["haul_num"], haul_bins)
293-
# ---- Set index
294-
strata_df.set_index(["haul_bin"], inplace=True)
295-
# ---- Merge
296-
strata_df["stratum_inpfc"] = inpfc_df["stratum_inpfc"]
297-
# ---- Reset index
298-
strata_df = strata_df.reset_index().drop(columns=["haul_bin", "stratum_num"])
279+
# ---- Define `strata_df` if KS
280+
if settings_dict["transect"]["stratum"] == "ks":
281+
strata_df = input_dict["spatial"]["strata_df"].copy()
282+
# Define `inpfc_strata_df` if INPFC
283+
elif settings_dict["transect"]["stratum"] == "inpfc":
284+
strata_df = input_dict["spatial"]["inpfc_strata_df"].copy()
299285

300286
# Get group-specific column names and create conversion key
301287
name_conversion_key = {age_group_cols["haul_id"]: "haul_num", age_group_cols["nasc_id"]: "nasc"}

echopop/spatial/mesh.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -429,9 +429,13 @@ def stratify_mesh(input_dict: dict, kriged_mesh: pd.DataFrame, settings_dict: di
429429

430430
# Extract the geographic-delimited strata
431431
if settings_dict["stratum"].lower() == "ks":
432-
geo_strata = input_dict["spatial"]["geo_strata_df"]
432+
geo_strata = input_dict["spatial"]["geo_strata_df"].copy().drop_duplicates(
433+
"latitude_interval"
434+
).sort_values("latitude_interval")
433435
elif settings_dict["stratum"].lower() == "inpfc":
434-
geo_strata = input_dict["spatial"]["inpfc_strata_df"]
436+
geo_strata = input_dict["spatial"]["inpfc_geo_strata_df"].copy().drop_duplicates(
437+
"latitude_interval"
438+
).sort_values("latitude_interval")
435439

436440
# Define the latitude bin array
437441
latitude_bins = np.concatenate([[-90.0], geo_strata["northlimit_latitude"], [90.0]])
@@ -479,10 +483,14 @@ def mesh_to_transects(
479483
# Extract the appropriate stratum definitions/delimiters
480484
if settings_dict["stratum"].lower() == "inpfc":
481485
# ---- INPFC
482-
strata = spatial_dict["inpfc_strata_df"]
486+
strata = spatial_dict["inpfc_geo_strata_df"].copy().drop_duplicates(
487+
"latitude_interval"
488+
).sort_values(["latitude_interval"])
483489
elif settings_dict["stratum"].tolower() == "ks":
484490
# ---- KS
485-
strata = spatial_dict["geo_strata_df"]
491+
strata = spatial_dict["geo_strata_df"].copy().drop_duplicates(
492+
"latitude_interval"
493+
).sort_values(["latitude_interval"])
486494
# ---- Create latitude bins
487495
latitude_bins = latitude_bins = np.concatenate([[-90.0], strata["northlimit_latitude"], [90.0]])
488496

echopop/utils/message.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,12 @@ def kriging_results_msg(kriging_results_dict: pd.DataFrame, settings_dict: dict)
251251
else:
252252
crop_str = "Extrapolated over uncropped grid"
253253

254+
# Amend variable name for density
255+
if "density" in settings_dict["variable"]:
256+
density_var = settings_dict["variable"].replace("_", " ")
257+
else:
258+
density_var = settings_dict["variable"] + " density"
259+
254260
# Generate message output
255261
return print(
256262
f"--------------------------------\n"

0 commit comments

Comments
 (0)