Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions pyflowbatt/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ def _toml_error_hint(error: str, line: str | None) -> str:
},
"extra_patterns": set(_TECHNIQUE_KEYS),
"eis_tags": set(),
"eis": {"model", "summary_params"},
"eis": {"model", "summary_params", "max_fit_error"},
"cv": set(_CV_KEYS),
}

Expand Down Expand Up @@ -307,7 +307,7 @@ class PyFlowBattConfig:
# EIS tag -> glob patterns; unpinned files are tagged by protocol layout
eis_tag_patterns: dict[str, list[str]] = field(default_factory=dict)
eis_model: str = "L0-R0-(R1,CPE1)-(R2,CPE2)" # fasteis circuit string fitted to EIS
eis_summary_params: list[str] = field(default_factory=lambda: ["R0.r"])
eis_summary_params: list[str] = field(default_factory=lambda: ["R0.r", "R1.r", "R2.r"])
sample_name_pattern: str = r"^\d+_.+_.+$"
sample_name: str | None = None # overrides pattern entirely
lsv_threshold: int = 8 # numeric cutoff for pre/post when only one LSV file is found
Expand Down
14 changes: 7 additions & 7 deletions tests/test_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -2416,13 +2416,14 @@ def test_eis_summary_params_toml_override(tmp_path: Path) -> None:
sample_dir.mkdir()
home = tmp_path / "home"
toml = sample_dir / "pyflowbatt.toml"
assert PyFlowBattConfig.load(sample_dir, home=home).eis_summary_params == ["R0.r"]
default = ["R0.r", "R1.r", "R2.r"]
assert PyFlowBattConfig.load(sample_dir, home=home).eis_summary_params == default

toml.write_text('[eis]\nsummary_params = ["R0.r", "R1.r"]\n')
assert PyFlowBattConfig.load(sample_dir, home=home).eis_summary_params == ["R0.r", "R1.r"]

toml.write_text('[eis]\nsummary_params = "R1.r"\n')
assert PyFlowBattConfig.load(sample_dir, home=home).eis_summary_params == ["R0.r"]
assert PyFlowBattConfig.load(sample_dir, home=home).eis_summary_params == default


def test_eis_summary_label_pretty_units() -> None:
Expand Down Expand Up @@ -2546,10 +2547,9 @@ def test_analyse_sample_summary_has_eis_rows_without_eis(
df = pd.read_excel(sample / "results" / "summary.xlsx", sheet_name="Summary", index_col=0)
eis_rows = [q for q in df.index if q.startswith("EIS")]
assert eis_rows == [
"EIS R0.r pre / Ω",
"EIS R0.r pre-50%SOC / Ω",
"EIS R0.r post-50%SOC / Ω",
"EIS R0.r post / Ω",
f"EIS {param} {tag} / Ω"
for param in ["R0.r", "R1.r", "R2.r"]
for tag in ["pre", "pre-50%SOC", "post-50%SOC", "post"]
]
assert df.loc[eis_rows, "Value"].isna().all()

Expand Down Expand Up @@ -2927,7 +2927,7 @@ def test_misplaced_setting_warns_with_line(
assert [r.getMessage() for r in caplog.records if expected.format(path=toml) in r.getMessage()]
assert config.area_cm2 is None
assert config.cv_v_min == 0.4004
assert config.eis_summary_params == ["R0.r"]
assert config.eis_summary_params == ["R0.r", "R1.r", "R2.r"]
assert config.eis_tag_patterns in ({}, {"pre": ["*_02_*"]})


Expand Down
Loading