
research-ready.
BatteryLake unifies the world's fragmented battery cycling datasets into one standardized, quality-assessed foundation — so models are compared on science, not on preprocessing luck.
Reproducible experiments, not preprocessing folklore
- Random, temporal, and cross-cell split protocols
- 7 reference models — Ridge to Transformer and PINN
- RMSE · MAE · MAPE reported on identical folds
An auditable gate before any model sees the data
- Physical plausibility: voltage windows, energy balance
- Signal-level QC maps for V(t), I(t), T(t), Qd(n)
- JSON reports wired into the benchmark pipeline
The same platform, programmable
- RESTful endpoints with token auth
- Parquet, CSV, and JSON exports
- Embedded DOI citations in every response
Start with research-ready battery data today.
Browse the catalog, download standardized packages, or contribute your lab's datasets to the community.
Benchmark results
- Source
- Experiment scope
- Task definition
Models evaluated · Unranked
- Linear Regression
- Random Forest
- XGBoost
- LSTM
- Transformer
- CNN
- PINN
Run your own benchmark
Get the configured dataset, model architecture, and runtime environment.
bt_benchmark_soh_lstm.zipUnzip the package, open your terminal, and execute the following command to start local training.
unzip bt_benchmark_soh_lstm.zip cd bt_benchmark_soh_lstm mkdir -p data # copy the processed dataset folder OR a .zip of it into data/ # example: cp -R /path/to/2019_Stanford_MIT_TRI_LFP_18650_MultiC_30T data/ # example: cp /path/to/2019_Stanford_MIT_TRI_LFP_18650_MultiC_30T.zip data/ python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt bash run_benchmark.sh
When training finishes, upload the generated output folder containing your results.
Battery Digital Twin Studio
How the Studio Works
Studio Workspace
Start by selecting a dataset
Feature Identification
Calibrate Battery Digital Twin
Synthetic Data Generation Setup
Synthetic Data Generation Results
| ID | Dataset | Status | Meta | Series | Summary | QC |
|---|
2007_NASA_PCoE_LCO_18650_1C_1C_25T
Examples
| Dataset | ref_name |
|---|---|
| NASA PCoE | 2007_NASA_PCoE_LCO_18650_1C_1C_25T |
| Stanford-MIT-TRI | 2019_Stanford_MIT_TRI_LFP_18650_MultiC_30T |
| NTU EEE Internal | 2026_NTU_Ampace-Samsung_LFP-NMC_21700_2C_2C_25T |
| Imperial 21700 | 2024_Imperial_Kirkaldy_NMC_21700_MultiC_MultiT |
Field Vocabulary
Getting Started
Clone the repository and install the conda environment.
cd BatteryLake-Benchmark-DataPrep
conda create -n batterylake python=3.10
conda activate batterylake
pip install -r requirements.txt
Dataset Registry
All datasets are tracked in dataset_registry.csv with columns for dataset identity, DOI, source URL, assigned owner, ref_name, processing status, QC status, last update, and notes.
Evaluation
The benchmark evaluation framework uses evaluate.py and dataset_interface.py to run baseline models across selected datasets and split protocols.
Research and engineering contributors
Nanyang Technological University
Singapore
Licence
BatteryLake provides access to battery datasets, metadata, benchmarking resources, and related research materials collected from multiple sources.
Individual datasets, algorithms, and other resources may come with their own licences and citation requests. Please honour these requirements. BatteryLake will display the applicable licence and citation information whenever it is known.
Before downloading, redistributing, modifying, or using a resource, please review the licence and usage terms provided on its dataset or resource page. When source-specific terms are available, those terms take precedence over the general information provided on this page.
BatteryLake does not grant additional rights to third-party content beyond those provided by the original authors, institutions, or data owners.
Citation
If you use BatteryLake, its curated datasets, standardized outputs, benchmarking resources, or platform tools in academic work, please cite the BatteryLake paper below.
@misc{zhu2026batterylakeagenticphysicsgroundedcuration, title = {BatteryLake: Agentic, Physics-Grounded Curation of Heterogeneous Battery Aging Data and Benchmarking}, author = {Tianwen Zhu and Hao Wang and Yonggang Wen}, year = {2026}, eprint = {2607.09762}, archivePrefix = {arXiv}, primaryClass = {cs.AI}, url = {https://arxiv.org/abs/2607.09762} }
When using an individual dataset, algorithm, model, or other contributed resource, please also cite its original authors and follow any citation instructions shown on the corresponding resource page.
Citing both BatteryLake and the original resource helps ensure that the platform contributors, dataset creators, and research institutions receive appropriate credit.
-
Voltage Range ValidationAll cell voltages within 2.0V-4.5V nominal operating range for the stated chemistry.
-
Energy Balance CheckCharge/discharge energy integral consistency; coulombic efficiency remains within 95-105% per cycle.
-
Capacity MonotonicityDegradation trajectory follows expected non-increasing trend with allowable recovery windows.
-
Temperature ConsistencyCell surface temperature must remain within 5°C of stated test condition; one dataset needs review.
-
Timestamp IntegrityMonotonically increasing timestamps with no negative intervals or unreasonable gaps above 24h.
-
Current Direction ConsistencyCharge and discharge current signs follow one convention throughout the dataset.
{
"dataset_id": "dataset_03",
"quality_score": {
"completeness": 0.97,
"consistency": 0.95,
"accuracy": 0.92,
"validity": 1.00
},
"overall": 0.96,
"gate": "ready_with_warning",
"checks": [
{ "name": "voltage_range", "passed": true },
{ "name": "temperature_consistency", "status": "review" },
{ "name": "capacity_mono", "passed": true }
],
"generated_at": "2026-04-28T12:00:00Z"
}
01Set Up the Processing Skill
Download the skill package
Save batterylake-processing.zip to your BatteryLake data repository.
See package contents
02Choose a Dataset and Send the Prompt to Your Agent
-
01Choose a datasetin
Raw_Dataset/…outProcessed_Dataset/… -
02Paste the prompt to your agent
The agent reads the standard and the dataset TODO, then continues from the first unfinished gate.
-
03Watch it work
-
Progress lives in
status.jsonone line per gate, plusTODO.md - Interrupted runs resumefinished steps are skipped when fingerprints match
- Raw files stay untouchedundecodable data is reported, never invented
-
Progress lives in
While processing, your agent runs these five checks
- InventoryList every file and archive member, hash each source.inventoried
- SemanticsConfirm cells, units, clocks, cycle boundaries and labels.adapter design confirmed
- ConversionWrite every source field to the canonical layer.converted
- FidelityCompare raw and standard values record by record.canonical_validated
- EquivalenceRaw and standard loaders train to the same result.benchmark_verified
Your agent produces these files and follows these rules
-
Identify files by content
Magic bytes, complete payloads and EOF are checked. A
.pklmay hold several streams; extensions are only a hint. - No cleaning in the fidelity layer No resampling, interpolation, clipping, float32 down-casting or dropped diagnostics. Those belong to a named task view.
- Capacities are not interchangeable Health capacity, partial-DoD throughput, RPT capacity, rated capacity and author SOH stay separate. Unclear labels are withheld, not guessed.
- EOL is an observed event The last row is not EOL. Sparse RPTs may only bound an interval, and right-censoring is recorded instead of a fake RUL.
- No leakage across splits The same physical cell, duplicate copies and overlapping windows stay on one side; scalers are fit on training data only.
-
Gates advance only with evidence
inventoried,converted,canonical_validatedandbenchmark_verifiedare separate; none is inferred from the one before.
03Upload status.json to Check Benchmark Readiness
Pick datasets, split cells, select models, and run comparable SOH/RUL benchmarks.
Upload custom signal formulas and compute cycle-level model inputs from raw curves.
Inspect feature importance, attention maps, and degradation signals after training.
- RESTful endpoints for dataset listing and download
- Parquet, CSV, and JSON export formats
- Embedded DOI citations and provenance
- Selective cell/cycle range queries
- SOH estimation and RUL prediction tasks
- 5+ baseline models (LR, RF, XGBoost, LSTM, Transformer)
- Random, temporal, and cross-cell split protocols
- RMSE, MAE, MAPE unified metric suite
- dQ/dV peak detection and tracking
- Health indicator extraction (IC, DV)
- Statistical feature pipeline
- EIS parameter fitting
- SHAP feature importance analysis
- Attention map visualization
- Gradient-based attribution
- Integrated gradients for deep models
Platform Roadmap
Open API — harmonized dataset access with provenance and citations.
Open API — reproducible SOH / RUL experiment execution.
End-to-end application — dQ/dV, health indicators, formula features.
End-to-end application — SHAP, attention maps, attribution.
- 01Describe0 / 12 required fields
- 02Raw datano link yet
- 03Submit0 / 5 ready
Describe the dataset
Only what the catalog needs and what the processing skill needs to convert your files. Your draft stays in this browser.
Provide the raw data
Host the original cycler exports where the team can download them and paste the link. Keep the original file names; do not resample or clean.
Submit
Opens a GitHub issue prefilled with your metadata, notes, checklist and data link; attach nothing else. The team takes it from there.
After submission the team runs the batterylake-processing skill on your files. You get a status.json and a quality report, and the dataset appears in the catalog under your reference name with your DOI and license.










