Skip to content

shriyachallam/maccorcyclingdata

Repository files navigation

Documentation Status

Note: This project is not currently being kept up to date, so opened issues may not be answered.

Preparing MACCOR Data

The maccorcyclingdata package is to be used on the raw data output from the MACCOR battery cyclers and the schedule file input into the MACCOR battery cyclers. The package can also be used to validate the testdata by comparing it against the schedules.

Example

The example.ipynb provides examples where all the functions are used on the given example data. To run this example, simply open and run each cell in the example Jupyter Notebok provided. In the example_data directory, there is example testdata and an example schedule file to show how the data columns should be formatted.

Requirements and Installation

This code has been developed in Python 3.7.6. The code has been tested to run in Windows, Linux, and macOS.

This code uses numpy and pandas as specified in docs/requirements.txt.

The code can be run directly from a cloned GitHub repository or it can also be installed as a python package through pip:

pip install maccorcyclingdata

The functions in the package can be used after importing testdata, schedules, validate for example as follows:

import maccorcyclingdata.testdata as testdata
import maccorcyclingdata.schedules as schedules
import maccorcyclingdata.validate as validate

Compatibility

The raw testdata and schedule file that this package is used on must be csv files. Additionally, the first column of both files should be the header of the datatable. The example uses data exported from MACCOR battery cyclers. The raw testdata should be exported with columns in the following order and with the following units (the names can be anything since the import_maccor_data function will rename all columns):

  1. Cycle Number
  2. Step Number
  3. Total Test Time (seconds)
  4. Step Time (seconds)
  5. Capacity (mAh)
  6. Current (mA)
  7. Voltage (V)
  8. DPt Time (seconds)
  9. Temperature (Celsius)
  10. EV Temperature (Celsius)

The following columns may also exist, but must be named as the following: ACR, DCIR, Watt-hr, and nnnamed.

The schedule should have columns in the following order (the names can be anything since the import_schedules function will rename all columns):

  1. Step Number
  2. Step Type
  3. Step Mode Type
  4. Step Mode Value
  5. Step Limit Type
  6. Step Limit Value
  7. End Type
  8. Operator (=, <=, >=)
  9. End Type Value
  10. Goto Step Number
  11. Report Type
  12. Report Type Value
  13. Options
  14. Step Note

If you encounter any issues running the code for any MACCOR model report an issue. Note that an example file will be needed in order to improve the code.