CALCE CS2 · voltage-shape matrix

From battery-tester logs to a 3,245 × 128 table of voltage-curve shapes: the data behind the Battery curve-shape explorer.

Four batteries of the same type, each a single 1.1 Ah lithium-cobalt-oxide prismatic cell, were repeatedly charged by a constant-current/constant-voltage protocol and discharged at room temperature from 2010-08-16 to 2011-02-03.

This page follows the data from the cycler to the voltage-shape matrix: what was measured, what the cycler wrote, and how 1,119,328 logged samples become a 3,245 × 128 matrix of voltage-curve shapes. The same raw data also feeds a second feature set, the SOH series, which has its own Dataset page.

4
batteries
106
raw workbooks
1,119,328
logged samples
3,937
logged cycles
Creators

CALCE Battery Research Group, University of Maryland; per-cycle SOH extraction from a PC5251 student project (National University of Singapore, 2024).

Each battery sat on its own channel of an Arbin battery tester and was cycled under one repeating schedule. CALCE documents the charge as constant current at 0.5 C until 4.2 V, then 4.2 V held until the current falls below 0.05 A, and a constant-current discharge to a 2.7 V cut-off. The logs show the same schedule for all four batteries: about +0.55 A during constant-current charge and −1.1 A (1 C) during discharge.

From the test bench to this page

  1. DocumentedTest bench (CALCE)

    Four 1.1 Ah lithium-cobalt-oxide batteries on an Arbin tester, CC–CV cycling from 2010-08-16 to 2011-02-03

  2. HeldRaw workbooks

    4 archives, 106 workbooks, 1,119,328 samples

  3. ReproducedCurve-shape recipe

    Screen, resample 64 + 64 points, standardise within the row; rerun here

  4. ReproducedShape matrix

    3,245 × 128, built here from the raw workbooks

Documented: described by CALCE, not rerun here. Reproduced: rerun here on the raw workbooks. Held: the bytes this page reads.

The basic unit: one cycle

A cycle is one charge followed by one discharge, with rests in between. The figure shows one early cycle of CS2_35, exactly as logged.

Two panels share one time axis. Current is positive while charging and negative while discharging.

What each sample records

ColumnUnitMeaning
Test_Time(s)sTime since the test in this workbook started; restarts in every workbook
Step_Time(s)sTime since the current schedule step started
Date_Timedate-timeWall-clock timestamp
Step_Index—Schedule step number
Cycle_Index—Cycle counter; restarts in every workbook
Current(A)ABattery current; positive = charge, negative = discharge
Voltage(V)VTerminal voltage
Charge_Capacity(Ah)AhCharge passed, cumulative within the workbook
Discharge_Capacity(Ah)AhCharge removed, cumulative within the workbook
Internal_Resistance(Ohm)ΩResistance value reported by the tester

Samples arrive about every 30 s, further apart while the voltage is held at 4.2 V. Later workbooks also carry a per-cycle Statistics sheet.

4
zip archives, one per battery
106
workbooks
1,119,328
samples after de-duplication
10
columns per sample

A workbook, opened

The first rows of the data sheet in CS2_35_10_15_10.xlsx (battery CS2_35): one row per logged sample.

Test_Time(s)Step_Time(s)Date_TimeStep_IndexCycle_IndexCurrent(A)Voltage(V)Charge_Capacity(Ah)Discharge_Capacity(Ah)Internal_Resistance(Ohm)
30.0005230.000532010-10-08 14:29:45110.03.424220.00.00.0
60.015760.01572010-10-08 14:30:15110.03.424380.00.00.0
90.0308190.030812010-10-08 14:30:45110.03.424380.00.00.0
120.01435120.014352010-10-08 14:31:15110.03.424380.00.00.0
150.0305130.015732010-10-08 14:31:46210.550123.567490.004590.00.0
180.0453160.030532010-10-08 14:32:16210.55033.611360.009170.00.0
210.0605790.04582010-10-08 14:32:46210.550123.646810.013760.00.0
240.07559120.060812010-10-08 14:33:16210.550123.67660.018350.00.0

One workbook as a signal

The same workbook holds 50 cycles and 17,139 samples, starting 2010-10-08 14:29. Its first 48 hours are drawn; every tooth is one charge/discharge cycle.

How the workbooks cover each battery’s life

Each bar is one workbook, placed by the timestamps inside it. Hover for the file name and contents.

workbookduplicate export

What the raw record does not give you directly

  • Cycle numbers restart in every workbook. A cycle count across a battery’s life has to be built by offsetting each file.
  • File names carry the export date, not the data date. CS2_35_10_15_10.xlsx starts on 2010-10-08. Files must be ordered by their first timestamp.
  • 2 workbooks are duplicate final exports (CS2_35_2_4_11.xlsx, CS2_38_2_4_11.xlsx): different files holding the same samples.
  • Capacity columns are cumulative within a workbook, so a cycle’s capacity is a difference, not a value.
  • Not every logged cycle is a complete, on-protocol cycle. Interrupted, resumed and sparsely logged cycles sit in the same sheets.

The curve-shape recipe keeps the full shape of each cycle and removes its level, scale and duration, so that only the shape remains. Each step below runs on the raw workbooks described above.

StepEvidenceOperationResult
0DocumentedCALCE cycles the batteries on an Arbin tester and exports dated workbooks4 archives
1ReproducedOrder workbooks by first timestamp, skip exports whose time span is already covered, offset each file’s cycle numbers3,937 logged cycles
2ReproducedFind the charge span (I > 0.02 A) and discharge segment (I < −0.5 A) from the current, not from step numberstwo halves per cycle
3ReproducedScreen: both halves present; on protocol; reaches the 4.2 V taper and 2.7 V cut-off; at least 64 samples per half3,245 rows
4ReproducedResample each half onto 64 points of its own normalised time (0 → 1)128 voltages per row
5ReproducedStandardise within the row (subtract its mean, divide by its SD)128 shape features
6ReproducedKeep what step 5 removes, plus capacity and efficiency, as labels beside the matrixlabels, never features

Where the cycles go

Screening counts by battery
BatteryLoggedHalf missingOff protocolTruncatedToo few samplesRows
CS2_35886402880774
CS2_369763029184760
CS2_371,0435229162845
CS2_381,0324234126866
All3,9371641205523,245

Follow one cycle

Pick a cycle to see it at each step, from the samples the cycler wrote to the row the matrix stores. Dropped cycles stop at the step that rejects them.

1 · rawVoltage and current as logged; the two halves the recipe found are shaded
2 · halves on their own clocksEach half mapped to 0 → 1; dots are logged samples
3 · resampled64 + 64 points in volts; column 64 is the seam
4 · the stored rowStandardised within the row, as it appears in the matrix

Each row is one screened cycle, ordered by battery and then cycle. Columns 0–63 are the charge half and 64–127 the discharge half, each on its own normalised time. Colour is the standardised voltage. Hover a row to read it and its labels.

3,245
rows
128
shape features
11
labels kept beside
≤ −3≥ +3 (standardised voltage)

The heatmap is a display copy: values clipped at |z| = 4.2 and stored at 8-bit precision; colour saturates at |z| = 3. The full matrix ranges from -4.658 to 1.495. Rows per battery: CS2_35 774, CS2_36 760, CS2_37 845, CS2_38 866.

Features

ColumnsUnitMeaning
z000–z063—Charge-half voltage at 64 points of normalised time, standardised within the row
z064–z127—Discharge-half voltage at 64 points of normalised time, standardised within the row

Labels kept beside the matrix

LabelUnitMeaning
cell, cycle—Battery, and cycle number across the battery’s life (after file offsets)
q_dis, q_chAhCharge removed in the discharge segment / added in the charge span
ce—Coulombic efficiency, q_dis / q_ch
soh—q_dis / 1.1 Ah rated capacity
v_mean, v_std, v_ptpVOffset, scale and range removed by standardisation
dur_ch_h, dur_dis_hhDurations removed by time normalisation

  • One retained row, CS2_36 cycle 265, has coulombic efficiency 3.3147: a partial or resumed charge passes the endpoint, current and gap screens.
  • The heatmap is a display copy clipped at |z| = 4.2 and stored at 8-bit precision; statistics use the full-precision matrix.
  • Cycle numbers are built by offsetting each workbook, so they count logged cycles, not cycles since the batteries were new.

Reference

CALCE Battery Data Archive, CS2 samples and tests; CALCE Battery Research Group, University of Maryland. Derived per-cycle extraction: PC5251 final project, National University of Singapore (2024).

Battery curve-shape explorer: PCA of curve shape, per battery and with one battery left out; and its Key Findings page.