Repository: ROVI-org/battery-data-toolkit (language: python)

Issue:
Problems with HDF5 conversion
Somewhere between the last pypi release (v0.2.0) and now, either saving to or reading from HDF5 functionality got partially broken. After saving to HDF5 with to_batdata_hdf(), when I read it back with from_batdata_hdf(), the cycle_stats attribute has been populated with what appears to be the raw_data attribute. I have a hunch this stems from batdata/data.py lines 174-178, where we check from subsets, but then save the self.raw_data. 



Discussion / hints:

Fix patch:
diff --git a/batdata/data.py b/batdata/data.py
index 38b21e1..7f7c5e8 100644
--- a/batdata/data.py
+++ b/batdata/data.py
@@ -174,8 +174,9 @@ def to_batdata_hdf(self, path_or_buf: Union[str, Path, HDFStore], complevel=0, c
         for subset in _subsets:
             data = getattr(self, subset)
             if data is not None:
-                self.raw_data.to_hdf(path_or_buf, subset, complevel=complevel, complib=complib,
-                                     append=False, format='table', index=False)
+                data.to_hdf(path_or_buf, subset, complevel=complevel,
+                            complib=complib, append=False, format='table',
+                            index=False)
 
         # Create logic for adding metadata
         def add_metadata(f: HDFStore):
diff --git a/batdata/postprocess/integral.py b/batdata/postprocess/integral.py
index b83812a..e8764d4 100644
--- a/batdata/postprocess/integral.py
+++ b/batdata/postprocess/integral.py
@@ -1,114 +1,139 @@
 """Features related to integral quantities (e.g., energy, capacity)"""
-from typing import List, Sequence
+import warnings
+from itertools import zip_longest
+from typing import List
 
 import numpy as np
 import pandas as pd
-from scipy.integrate import cumtrapz
+from scipy.integrate import cumulative_simpson
 
 from batdata.postprocess.base import RawDataEnhancer, CycleSummarizer
-from batdata.schemas.cycling import ChargingState
 
 
 class CapacityPerCycle(CycleSummarizer):
-    """Compute the capacity and energy at each time point
-
-    Capacity is computed by integrating the charge or discharge segments of the battery.
-
-    Output dataframe has 3 columns:
-        - ``cycle_ind``: Index of the cycle
-        - ``energy``: Energy per the cycle in W-hr
-        - ``capacity``: Capacity of the cycle in A-hr
+    """Compute the observed capacity and energy during both charge and discharge of each cycle
+
+    Determines capacities based on the integral of current over each cycle:
+
+    1. Compute the change in state of charge from the start of the cycle
+       by computing the integral of the capacity over time.
+       We refer to this integral as the dSOC.
+    2. Determine whether the battery started from a charged state
+       by determining if the largest capacity change is positive
+       (i.e., if the point most different state of charge from the
+       start is _more discharged_ than the starting point).
+       The code will raise a warning if the quantities are similar.
+    3. If starting from a charged state, the discharge capacity
+       is the maximum change in state of charge (``dSOC.max()``).
+       The charge capacity is the amount of charge transferred to the
+       battery between this maximally-discharged state and the end
+       the of the cycle (``dSOC.max() - dSOC[-1]``)
+    4. If starting from a discharged state, the charge capacity
+       is the maximum change in state of charge and the discharge capacity
+       is the amount transferred from the battery into the end of the cycle.
+
+    The energy is computed using a similar procedure, but by integrating
+    the product of current and voltage instead of only current.
+
+    .. note::
+
+        Measurements of capacity and energy assume a cycle returns
+        the battery to the same state as it started the cycle.
+
+    Output dataframe has 4 new columns:
+        - ``discharge_capacity``: Discharge energy per cycle in A-hr
+        - ``charge_capacity``: Charge energy per the cycle in A-hr
+        - ``discharge_energy``: Discharge energy per cycle in J
+        - ``charge_energy``: Charge energy per the cycle in J
     """
 
-    def __init__(self, states: Sequence[ChargingState] = (ChargingState.charging, ChargingState.discharging)):
-        self.states = states
-        assert all(x in [ChargingState.charging, ChargingState.discharging] for x in self.states), 'Only charging and discharging states allowed'
-
     @property
     def column_names(self) -> List[str]:
         output = []
-        for state in self.states:
-            name = state[:-3] + 'e'
+        for name in ['charge', 'discharge']:
             output.extend([f'{name}_energy', f'{name}_capacity'])
         return output
 
     def _summarize(self, raw_data: pd.DataFrame, cycle_data: pd.DataFrame):
-
-        # Loop over any charge states the user wants
-        for state in self.states:
-            # Initialize the output arrays
-            cycle_data.set_index('cycle_number', drop=False)
-            name = state[:-3] + 'e'
-            cycle_data[f'{name}_energy'] = np.nan
-            cycle_data[f'{name}_capacity'] = np.nan
-
-            # Loop over each cycle
-            for cyc, cycle_subset in raw_data[raw_data['state'] == state].groupby('cycle_number'):
-                # Calculate accumulated energy/capacity for each sub-segment
-                ene = 0
-                cap = 0
-                for _, subseg in cycle_subset.groupby('substep_index'):
-                    # Sort by test time, just in case
-                    subseg_sorted = subseg.sort_values('test_time')
-
-                    # Extract the test time, current and voltage
-                    t = subseg_sorted['test_time'].values
-                    i = subseg_sorted['current'].values
-                    v = subseg_sorted['voltage'].values
-
-                    # integrate for energy and capacity and convert to
-                    # Watt/hrs. and Amp/hrs. respectively
-                    ene += np.trapz(i * v, t) / 3600
-                    cap += np.trapz(i, t) / 3600
-
-                cycle_data.loc[cyc, f'{name}_energy'] = ene
-                cycle_data.loc[cyc, f'{name}_capacity'] = cap
+        # Initialize the output arrays
+        cycle_data.set_index('cycle_number', drop=False)
+        for name in self.column_names:
+            cycle_data[name] = np.nan
+
+        # Get the indices of the beginning of each cycle
+        raw_data = raw_data.reset_index()  # Ensure a sequential ordering from 0
+        start_inds = raw_data.drop_duplicates('cycle_number', keep='first').index
+
+        # Loop over each cycle. Using the starting point of this cycle and the first point of the next as end caps
+        for cyc, (start_ind, stop_ind) in enumerate(zip_longest(start_inds, start_inds[1:] + 1, fillvalue=len(raw_data))):
+            cycle_subset = raw_data.iloc[start_ind:stop_ind]
+
+            # Perform the integration
+            # TODO (wardlt): Re-use columns from raw data if available
+            capacity_change = cumulative_simpson(cycle_subset['current'], x=cycle_subset['test_time'])
+            energy_change = cumulative_simpson(cycle_subset['current'] * cycle_subset['voltage'], x=cycle_subset['test_time'])
+
+            # Estimate if the battery starts as charged or discharged
+            max_charge = -capacity_change.min()
+            max_discharge = capacity_change.max()
+            starts_charged = max_discharge > max_charge
+            if np.isclose(max_discharge, max_charge, rtol=0.01):
+                warnings.warn('Unable to clearly detect if battery started charged or discharged. '
+                              f'Amount discharged is {max_discharge:.2f} A-s, charged is {max_charge:.2f} A-s')
+
+            # Assign the charge and discharge capacity
+            #  One capacity is beginning to maximum change, the other is maximum change to end
+            #  Whether the measured capacities are
+            if starts_charged:
+                discharge_cap = max_discharge
+                charge_cap = max_discharge - capacity_change[-1]
+                discharge_eng = energy_change.max()
+                charge_eng = discharge_eng - energy_change[-1]
+            else:
+                charge_cap = max_charge
+                discharge_cap = capacity_change[-1] + max_charge
+                charge_eng = -energy_change.min()
+                discharge_eng = energy_change[-1] + charge_eng
+
+            cycle_data.loc[cyc, 'discharge_energy'] = discharge_eng
+            cycle_data.loc[cyc, 'charge_energy'] = charge_eng
+            cycle_data.loc[cyc, 'discharge_capacity'] = discharge_cap / 3600.  # To A-hr
+            cycle_data.loc[cyc, 'charge_capacity'] = charge_cap / 3600.
 
 
 class StateOfCharge(RawDataEnhancer):
-    """Compute estimates for the battery capacity for each measurement
-    of the charging or discharging sections of each cycle.
+    """Compute the change in capacity and system energy over each cycle
+
+    The capacity change for a cycle is determined by integrating the
+    current as a function of time between the start of the cycle
+    and the first of the next cycle.
+    The energy change is determined by integrating the product
+    of current and voltage.
 
-    The capacity/energy for each cycle are determined independently,
-    and is assumed to start at zero at the beginning of the cycle.
+    Output dataframe has 4 new columns:
+        - ``cycle_capacity``: Amount of charge dispersed from the battery over the cycle, in A-hr
+        - ``cycle_energy``: Amount of energy dispersed from the battery over the cycle, in J
     """
 
-    column_names = ['capacity', 'energy']
+    column_names = ['cycle_capacity', 'cycle_energy']
 
     def enhance(self, data: pd.DataFrame):
         # Add columns for the capacity and energy
-        data['capacity'] = 0
-        data['energy'] = 0
+        for c in self.column_names:
+            data[c] = np.nan
 
         # Compute the capacity and energy for each cycle
-        for cid, cycle in data.groupby('cycle_number'):
-
-            initial_cap = 0
-            initial_ene = 0
-
-            # Compute in segments over each subset (avoid issues with rests)
-            for _, subcycle in cycle.groupby('substep_index'):
-                # Integrate over it
-
-                sel = subcycle['state'] == ChargingState.discharging
-                sel += subcycle['state'] == ChargingState.charging
-                if sum(sel) == 0:
-                    data.loc[subcycle.index, 'capacity'] = initial_cap
-                    data.loc[subcycle.index, 'energy'] = initial_ene
-                    continue
-
-                cap = cumtrapz(subcycle['current'],
-                               subcycle['test_time'],
-                               initial=0) / 3600  # Computes capacity in A-hr
-                ene = cumtrapz(subcycle['current'] * subcycle['voltage'],
-                               subcycle['test_time'],
-                               initial=0) / 3600  # Energy in A-hr
+        ordered_copy = data.reset_index()  # Ensure a sequential ordering from 0
+        start_inds = ordered_copy.drop_duplicates('cycle_number', keep='first').index
 
-                cap += initial_cap
-                ene += initial_ene
+        # Loop over each cycle
+        for cyc, (start_ind, stop_ind) in enumerate(zip_longest(start_inds, start_inds[1:] + 1, fillvalue=len(ordered_copy) + 1)):
+            cycle_subset = ordered_copy.iloc[start_ind:stop_ind]
 
-                data.loc[subcycle.index, 'capacity'] = cap
-                data.loc[subcycle.index, 'energy'] = ene
+            # Perform the integration
+            capacity_change = cumulative_simpson(cycle_subset['current'], x=cycle_subset['test_time'], initial=0)
+            energy_change = cumulative_simpson(cycle_subset['current'] * cycle_subset['voltage'], x=cycle_subset['test_time'], initial=0)
 
-                initial_cap = cap[-1]
-                initial_ene = ene[-1]
+            # Store them in the raw data
+            data.loc[cycle_subset['index'], 'cycle_capacity'] = capacity_change / 3600
+            data.loc[cycle_subset['index'], 'cycle_energy'] = energy_change
diff --git a/batdata/schemas/cycling.py b/batdata/schemas/cycling.py
index ade9f4b..e6de0f4 100644
--- a/batdata/schemas/cycling.py
+++ b/batdata/schemas/cycling.py
@@ -154,6 +154,16 @@ class RawData(ColumnSchema):
                                                        " method, such as change from constant voltage to"
                                                        " constant current")
 
+    # Derived quantities
+    cycle_capacity: List[float] = Field(None,
+                                        description="Cumulative change in amount of charge transferred from a battery since the start of a cycle. "
+                                                    "Positive values indicate the battery has discharged since the start of the cycle."
+                                        )
+    cycle_energy: List[float] = Field(None,
+                                      description="Cumulative change in amount of energy transferred from a battery the start of a cycle. "
+                                                  "Positive values indicate the battery has discharged more than since the start of the cycle."
+                                      )
+
 
 class CycleLevelData(ColumnSchema):
     """Statistics about the performance of a cell over a certain cycle"""
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 0000000..510efe5
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,3 @@
+# Documentation
+
+> Under Construction: Need to make a full readthedocs-style page, but started with notebooks explaining key features
diff --git a/docs/features/README.md b/docs/features/README.md
new file mode 100644
index 0000000..4d78a93
--- /dev/null
+++ b/docs/features/README.md
@@ -0,0 +1,4 @@
+# Feature Explainers
+
+The toolkit contains functions which compute "features" of battery cycles or time series over time.
+These notebooks explain how each are computed.
diff --git a/docs/features/cell-capacity.ipynb b/docs/features/cell-capacity.ipynb
new file mode 100644
index 0000000..73163b0
--- /dev/null
+++ b/docs/features/cell-capacity.ipynb
@@ -0,0 +1,255 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "id": "b6a1a6b4-30ee-4166-b85a-d094cd968ede",
+   "metadata": {},
+   "source": [
+    "# Cell Capacity\n",
+    "The battery data toolkit uses a simple defintion of the charge and discharge capacity of a battery with nuanced implications.\n",
+    "In short, we integrate the power and current moving out of the battery over time then \n",
+    "use the maximum change from the start of the cycle to determine the capacity.\n",
+    "We illustrate the subtle parts below."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "82b5f3d6-134d-400d-8f70-451b79729058",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "%matplotlib inline\n",
+    "from matplotlib import pyplot as plt\n",
+    "from batdata.postprocess.integral import StateOfCharge, CapacityPerCycle\n",
+    "from batdata.data import BatteryDataset"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "c532e5dc-cd29-41e5-9000-ce397d808700",
+   "metadata": {},
+   "source": [
+    "## Load Example Data\n",
+    "We have two simple cells that vary only by the where the \"cycle\" starts."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "id": "55be6911-37fe-4cff-afdb-58d772ebead5",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from_charged = BatteryDataset.from_batdata_hdf('../../tests/files/example-data/single-resistor-constant-charge_from-charged.hdf')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "id": "861e8753-ede4-4a26-8a0f-cd59502e7e2c",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from_discharged = BatteryDataset.from_batdata_hdf('../../tests/files/example-data/single-resistor-constant-charge_from-discharged.hdf')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "dae3e6ed-5460-4401-bb41-aa65d6699864",
+   "metadata": {},
+   "source": [
+    "## Step 1: Intergrate Current and Power\n",
+    "First integrate the current ($I$) and power output ($IV$) of a battery to determine the amount of charge and energy transfered from the battery during each cycle.\n",
+    "\n",
+    "The `StateOfCharge` tool in battery-data-toolkit computes these integrals."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "id": "7a6fa71c-8266-451d-bab4-d3679997ca2a",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "charge = StateOfCharge()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "id": "bbb2845d-53ca-4231-a2df-ab88711d7a4f",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "charge.compute_features(from_charged);\n",
+    "charge.compute_features(from_discharged);"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "id": "d97343f2-b83b-473f-bca0-48ff4d71bf38",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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",
+      "text/plain": [
+       "<Figure size 600x400 with 4 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "fig, axxs = plt.subplots(2, 2, sharex=True, sharey='row', figsize=(6., 4.))\n",
+    "\n",
+    "for axs, data, label in zip(axxs.T, [from_charged, from_discharged], ['Charged', 'Discharged']):\n",
+    "    axs[0].set_title(f'From {label}', fontsize=10)\n",
+    "    axs[0].plot(data.raw_data['test_time'], data.raw_data['cycle_energy'] / 1000.)\n",
+    "    axs[1].plot(data.raw_data['test_time'], data.raw_data['cycle_capacity'])\n",
+    "\n",
+    "axxs[0, 0].set_ylabel('$\\Delta$Energy (kJ)')\n",
+    "axxs[1, 0].set_ylabel('$\\Delta$Capacity (A-s)')\n",
+    "\n",
+    "for ax in axxs[-1, :]:\n",
+    "    ax.set_xlabel('Time (s)')\n",
+    "\n",
+    "fig.tight_layout()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "1d1ee766-f95e-4d27-b583-841875f012a7",
+   "metadata": {},
+   "source": [
+    "## Step 2: Assess Whether the Starting Point is Charged\n",
+    "We determine the starting point of the battery as \"charged\" or \"discharged\" as whether the maximum change from the start is positive or negative.\n",
+    "It's clear in the image above that the \"from charged\" battery releases charge in the beginning of the cycle before returning to zero, \n",
+    "and the \"from discharged\" doe sthe opposite.\n",
+    "\n",
+    "> Note: This definition assumes that a cycle returns a battery to as close to the initial charging state as possible.\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "8c92b0e7-a965-437a-869b-581e03a0d04a",
+   "metadata": {},
+   "source": [
+    "## Step 3: Assign Capacities\n",
+    "We set capacities are using the maximum change from starting capacity, and \n",
+    "the difference between that maximum and the change between the start and end of a cycle.\n",
+    "What each difference represents depends on whether the battery starts by discharging or charging."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "id": "97651e21-93b4-4825-8747-1bc006bbf6d2",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "capc = CapacityPerCycle()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "id": "d7f1693b-5dd9-40ba-8cd6-03ec505da787",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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",
+      "text/plain": [
+       "<Figure size 600x400 with 4 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "fig, axxs = plt.subplots(2, 2, sharex=True, sharey='row', figsize=(6., 4.))\n",
+    "\n",
+    "for axs, data, label in zip(axxs.T, [from_charged, from_discharged], ['Charged', 'Discharged']):\n",
+    "    capc.compute_features(data)\n",
+    "\n",
+    "    # Start with the changes over time\n",
+    "    axs[0].set_title(f'From {label}', fontsize=10)\n",
+    "    axs[0].plot(data.raw_data['test_time'], data.raw_data['cycle_energy'] / 1000.)\n",
+    "    axs[1].plot(data.raw_data['test_time'], data.raw_data['cycle_capacity'])\n",
+    "\n",
+    "    # Annotate the capacities/energies\n",
+    "    row = data.cycle_stats.iloc[0]\n",
+    "    axs[0].set_xlim(ax.get_xlim())\n",
+    "    for ax in axs:\n",
+    "        ax.plot([0, 3600], [0, 0], 'k-', lw=1)\n",
+    "\n",
+    "    # Plot the energies\n",
+    "    for i, t in enumerate(['energy', 'capacity']):\n",
+    "        first_level = (row[f'discharge_{t}'] if label == 'Charged' else -row[f'charge_{t}'])\n",
+    "        if t == 'energy':\n",
+    "            first_level /= 1000.\n",
+    "        axs[i].arrow(3600, 0, 0, first_level, color='red')\n",
+    "        axs[i].text(3700, first_level / 2., '$' + t[0].upper() + '_{' + (\"dhg\" if label == \"Charged\" else \"chg\") + '}$')\n",
+    "    \n",
+    "        axs[i].plot([3600, 7200], [first_level] * 2, 'k-', lw=1)\n",
+    "        second_level = (row[f'discharge_{t}'] if label != 'Charged' else -row[f'charge_{t}'])\n",
+    "        if t == 'energy':\n",
+    "            second_level /= 1000.\n",
+    "        axs[i].arrow(7200, first_level, 0, second_level, color='red')\n",
+    "        axs[i].text(7200, first_level / 2., '$' + t[0].upper() + '_{' + (\"dhg\" if label != \"Charged\" else \"chg\") + '}$', ha='right')\n",
+    "    \n",
+    "\n",
+    "axxs[0, 0].set_ylabel('$\\Delta$Energy (kJ)')\n",
+    "axxs[1, 0].set_ylabel('$\\Delta$Capacity (A-s)')\n",
+    "\n",
+    "for ax in axxs[-1, :]:\n",
+    "    ax.set_xlabel('Time (s)')\n",
+    "\n",
+    "fig.tight_layout()\n",
+    "fig.savefig('figures/explain-capacities.png', dpi=320)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "fc94d70e-1994-4780-949a-89da4cfa2606",
+   "metadata": {},
+   "source": [
+    "The charge and discharge energies (or capacities) for the battery is the same for both cycles, we just have to look a different parts of the curve for each cycle."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "a181bfa4-c9da-48f4-bda1-f36ccaf05045",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3 (ipykernel)",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.9.18"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/docs/features/figures/explain-capacities.png b/docs/features/figures/explain-capacities.png
new file mode 100644
index 0000000..675a4ba
Binary files /dev/null and b/docs/features/figures/explain-capacities.png differ


Test patch:
diff --git a/tests/files/example-data/README.md b/tests/files/example-data/README.md
new file mode 100644
index 0000000..4d6f613
--- /dev/null
+++ b/tests/files/example-data/README.md
@@ -0,0 +1,4 @@
+# Example Datasets for Post-Processing
+
+These examples create example battery-data-toolkit-format data which allow us to test post-processing code on idealized data.
+Each notebook produces an HDF5 file when run.
diff --git a/tests/files/example-data/resistor-only_simple-cyling.ipynb b/tests/files/example-data/resistor-only_simple-cyling.ipynb
new file mode 100644
index 0000000..c4714b2
--- /dev/null
+++ b/tests/files/example-data/resistor-only_simple-cyling.ipynb
@@ -0,0 +1,351 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "id": "18e4485c-2d79-4bc0-ad23-bb77b0b0a214",
+   "metadata": {},
+   "source": [
+    "# Single Resistor, Constant Charging Rate\n",
+    "About as easy as we can get for emulating a battery: $V=IR$\n",
+    "\n",
+    "Let's make the voltage a linear function of the state of charge, $V(SOC) = 2 + SOC$, and assume the battery has a 1 A-hr capacity (C)."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "e338f1d0-1a69-43e7-acea-45def47a95dc",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "%matplotlib inline\n",
+    "from matplotlib import pyplot as plt\n",
+    "from batdata.data import BatteryDataset\n",
+    "import pandas as pd\n",
+    "import numpy as np"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "f36fcf1c-4975-4d1e-8dbc-5088a7dc93ec",
+   "metadata": {},
+   "source": [
+    "## Assume a Constant Current Charge\n",
+    "If we set $I(t) = I_0$ until fully charged and assume $SOC(0)=0$ then we can write down\n",
+    "\n",
+    "$SOC(t) = I_0t/ C$\n",
+    "\n",
+    "$V(t) = V(SOC(t)) + I(t) R = 2 + (t/C + R)I_0$"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "id": "1ed3ee03-9b65-4fd0-a600-db4cdb5aa47e",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "I_0 = 1  # Amp\n",
+    "C = 3600 # Amp-s\n",
+    "R = 0.1 # Ohm"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "04df2c16-d905-4bb5-936f-95728de42f8e",
+   "metadata": {},
+   "source": [
+    "Set up a 2 hour run where the first hour is charge, and the second hour is discharge"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "id": "ac3af99d-377a-4858-869d-6f570bc0edcc",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "time = np.linspace(0, 7200, 2401)  # Every 3 seconds\n",
+    "time_chg, time_dhg = time[:1201], time[1201:]"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "09a54a3a-9107-469d-a9a4-0bc95a06324d",
+   "metadata": {},
+   "source": [
+    "Compute the segment for charge"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "id": "e99cfb53-71da-44c0-9951-6080721da1d1",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "current_chg = np.zeros_like(time_chg) + I_0\n",
+    "voltage_chg = 2 + (time_chg / C + R) * I_0"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "fca6ab58-5ff8-4127-a514-e7d6ca65225c",
+   "metadata": {},
+   "source": [
+    "Compute the discharge.\n",
+    "- $I(t) = -I_0$\n",
+    "- $SOC(t) = 1 - I_0t/C$,\n",
+    "- $V(t) = V(SOC(t)) + I(t) R = 3 - (t/C + R)I_0$"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "id": "68b0ecb0-eb9b-4628-acfc-3dc56e18df80",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "time_during_dhg = time_dhg - 3600\n",
+    "current_dhg = np.zeros_like(time_dhg) - I_0\n",
+    "voltage_dhg = 3 - (time_during_dhg / C + R) * I_0"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "d24f3ade-87a5-45eb-b740-b22068ec9cb5",
+   "metadata": {},
+   "source": [
+    "Combine together"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "id": "b769904f-c9c9-4bd9-9d09-f350aa8c7110",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "current = -np.concatenate((current_chg, current_dhg))  # Batdata uses postive voltage for discharge, opposite of my derivation above\n",
+    "voltage = np.concatenate((voltage_chg, voltage_dhg))"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "id": "7bdd678b-faf6-4560-a2db-054b0cac0c26",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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",
+      "text/plain": [
+       "<Figure size 350x200 with 2 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "fig, ax = plt.subplots(figsize=(3.5, 2.))\n",
+    "\n",
+    "ax.plot(time, voltage, label='$V$')\n",
+    "ax.set_xlabel('Time (s)')\n",
+    "ax.set_ylabel('Voltage (V)')\n",
+    "\n",
+    "ax2 = ax.twinx()\n",
+    "ax2.plot(time, current, color='red', label='$I$')\n",
+    "ax2.set_ylabel('Current (A)')\n",
+    "\n",
+    "fig.legend(loc=(0.6, 0.6))\n",
+    "fig.tight_layout()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "46165361-2a41-40b4-b72a-48f0bae7ea80",
+   "metadata": {},
+   "source": [
+    "## Save in HDF5 Format\n",
+    "So we can load it in easily later"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "id": "dff068f4-c1b0-499e-85c4-2f51188c1d8d",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "raw_data = pd.DataFrame({\n",
+    "    'test_time': time,\n",
+    "    'current': current,\n",
+    "    'voltage': voltage,\n",
+    "    'cycle_number': np.zeros_like(time, dtype=int),\n",
+    "})"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "id": "3ff1ccf6-2aa0-403c-9d8f-a779dfceb90e",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[]"
+      ]
+     },
+     "execution_count": 9,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "data = BatteryDataset(raw_data=raw_data)\n",
+    "data.validate()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "id": "9aaa89b5-7ae1-4bfd-9732-7417d42a785b",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "data.to_batdata_hdf('single-resistor-constant-charge_from-discharged.hdf', complevel=9)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "fd415c48-2461-4c1f-a7cf-9a3976674e85",
+   "metadata": {},
+   "source": [
+    "## Repeat for a Version which Starts from Charged\n",
+    "Same thing, but reversed"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "id": "8b8d858b-6e3d-4998-b146-fb629fb8e4d9",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "voltage_flipped = np.concatenate(\n",
+    "    (voltage_dhg, voltage_chg)\n",
+    ")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "id": "72e839ee-170c-492e-b553-57da0de37a54",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "raw_data = pd.DataFrame({\n",
+    "    'test_time': time,\n",
+    "    'current': np.flip(current),\n",
+    "    'voltage': voltage_flipped,\n",
+    "    'cycle_number': np.zeros_like(time, dtype=int),\n",
+    "})"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "id": "9631f3d2-97ca-4d51-9dc8-a756ede9e904",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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",
+      "text/plain": [
+       "<Figure size 350x200 with 2 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "fig, ax = plt.subplots(figsize=(3.5, 2.))\n",
+    "\n",
+    "ax.plot(raw_data['test_time'], raw_data['voltage'], label='$V$')\n",
+    "ax.set_xlabel('Time (s)')\n",
+    "ax.set_ylabel('Voltage (V)')\n",
+    "\n",
+    "ax2 = ax.twinx()\n",
+    "ax2.plot(raw_data['test_time'], raw_data['current'], color='red', label='$I$')\n",
+    "ax2.set_ylabel('Current (A)')\n",
+    "\n",
+    "fig.legend(loc=(0.6, 0.6))\n",
+    "fig.tight_layout()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "id": "24afc087-bc3f-42ac-90a8-220dd6b3dba8",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[]"
+      ]
+     },
+     "execution_count": 14,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "data = BatteryDataset(raw_data=raw_data)\n",
+    "data.validate()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 15,
+   "id": "b83465f5-65e5-496c-8416-95756f0692df",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "data.to_batdata_hdf('single-resistor-constant-charge_from-charged.hdf', complevel=9)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "e44ad818-a0d7-40fd-ac81-5c936a093bb4",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3 (ipykernel)",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.9.18"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/tests/files/example-data/single-resistor-constant-charge_from-charged.hdf b/tests/files/example-data/single-resistor-constant-charge_from-charged.hdf
new file mode 100644
index 0000000..319aeb9
Binary files /dev/null and b/tests/files/example-data/single-resistor-constant-charge_from-charged.hdf differ
diff --git a/tests/files/example-data/single-resistor-constant-charge_from-discharged.hdf b/tests/files/example-data/single-resistor-constant-charge_from-discharged.hdf
new file mode 100644
index 0000000..d39d2b5
Binary files /dev/null and b/tests/files/example-data/single-resistor-constant-charge_from-discharged.hdf differ
diff --git a/tests/postprocess/test_integral.py b/tests/postprocess/test_integral.py
index bd1efb1..09f9cf7 100644
--- a/tests/postprocess/test_integral.py
+++ b/tests/postprocess/test_integral.py
@@ -1,27 +1,60 @@
-from math import isclose
+from pathlib import Path
 
+from pytest import mark
 import numpy as np
-from pytest import fixture
 
 from batdata.data import BatteryDataset
-from batdata.extractors.arbin import ArbinExtractor
 from batdata.postprocess.integral import CapacityPerCycle, StateOfCharge
 
 
-@fixture
-def example_data(file_path) -> BatteryDataset:
-    ex_file = file_path / 'arbin_example.csv'
-    return ArbinExtractor().parse_to_dataframe([ex_file])
+def get_example_data(file_path: Path, from_charged: bool) -> BatteryDataset:
+    ex_file = file_path / 'example-data' / f'single-resistor-constant-charge_from-{"" if from_charged else "dis"}charged.hdf'
+    return BatteryDataset.from_batdata_hdf(ex_file)
 
 
-def test_cycle_stats(example_data):
+@mark.parametrize('from_charged', [True, False])
+def test_cycle_stats(file_path, from_charged):
+    example_data = get_example_data(file_path, from_charged)
     feat = CapacityPerCycle().compute_features(example_data)
-    assert np.isclose([0, 1], feat['cycle_number']).all()
-    assert np.isclose([-3.256, -3.262], feat['discharge_energy'], atol=1e-2).all()
-    assert np.isclose([-1.073, -1.074], feat['discharge_capacity'], atol=1e-2).all()
-
-
-def test_capacity(example_data):
-    StateOfCharge().enhance(example_data.raw_data)
-    assert isclose(example_data.raw_data['capacity'].max(), 1.075, abs_tol=1e-1)
-    assert 'energy' in example_data.raw_data
+    assert np.isclose([0], feat['cycle_number']).all()
+
+    # Capacity is the 1 A-hr
+    assert np.isclose([1.0], feat['discharge_capacity'], rtol=1e-2).all()
+    assert np.isclose([1.0], feat['charge_capacity'], rtol=1e-2).all()
+
+    # Energy to charge is (2.1 V + 3.1 V) / 2 * 1 A * 3600 s = 9360 J
+    # Energy produced during discharge is (1.9 V + 2.9 V) * 1 A * 3600 s = 8640 J
+    assert np.isclose([9360.], feat['charge_energy'], rtol=1e-3).all()
+    assert np.isclose([8640.], feat['discharge_energy'], rtol=1e-3).all()
+
+
+@mark.parametrize('from_charged', [True, False])
+def test_capacity(file_path, from_charged):
+    example_data = get_example_data(file_path, from_charged)
+    soc = StateOfCharge()
+    soc.enhance(example_data.raw_data)
+
+    assert all(c in example_data.raw_data for c in soc.column_names)
+    assert not any(example_data.raw_data[c].isna().any() for c in soc.column_names)
+
+    # First cell should be 0
+    assert np.isclose(example_data.raw_data.drop_duplicates('cycle_number', keep='first')[soc.column_names], 0).all()
+
+    # Last cell of the capacity should be zero for our test cases
+    assert np.isclose(example_data.raw_data['cycle_capacity'].iloc[-1], 0., atol=1e-3)
+
+    # The capacity for the first few steps should be I*t/3600s
+    first_steps = example_data.raw_data.iloc[:3]
+    current = first_steps['current'].iloc[0]
+    assert np.isclose(first_steps['cycle_capacity'], current * first_steps['test_time'] / 3600).all()
+
+    # The energy for the first few steps should be
+    #  discharging = I * \int_0^t (2.9 - t/3600) = I * (2.9t - t^2/7200)
+    #  charging = I * \int_0^t (2.1 + t/3600) = I * (2.1t + t^2/7200)
+    if from_charged:
+        answer = current * (2.9 * first_steps['test_time'] - first_steps['test_time'] ** 2 / 7200)
+        assert (answer[1:] > 0).all()
+    else:
+        answer = current * (2.1 * first_steps['test_time'] + first_steps['test_time'] ** 2 / 7200)
+        assert (answer[1:] < 0).all()
+    assert np.isclose(first_steps['cycle_energy'], answer, rtol=1e-3).all()