Skip to content

MCC File Schema

This documentation provides an overview of the schema used in MCC files. Given that the MCC is still a fairly niche instrument and all based around the hardware and software developed at FAA by Rich Walters, the format is fairly standard. However, we only have a small sample size and it is possible that different manufacturers have tweaked the output format or developed their own software.

File Structure

The output of the MCC programs we are aware of is in a '.txt' file with the data being tab-delimited. There are two main sections of the data file, the header at the top containing the metadata, and the data columns below.

The header section contains metadata about the file, such as the sample ID, sample mass, combustor temperature, etc. This is the information which is contained in the file-wide metadata associated with the output Parquet files.

FAA Header

Here are the thought to be standard metadata fields in the header of files generated by MCC's based on the original FAA design:

Original Name Metadata Name Description Example Output Example
Sample ID sample_id Provides the file name and location of itself. "C:\MCC\MCC Cal\Test\Hemp_Sheets_MCC_30K_min_220112_R1.txt" {"sample_id": "C:\MCC\MCC Cal\Test\Hemp_Sheets_MCC_30K_min_220112_R1.txt"}
Sample Weight (mg) sample_mass Gives the user-input sample mass. "4.64" {"sample_mass": {"value":4.64, "unit": "mg"}}
Heating Rate (C/s) heating_rate Gives the heating rate at which the test was performed. "0.5" {"heating_rate": {"value" : 0.5, "unit" : "°C/s"}}
Combustor Temp (C) combustor_temperature Gives the constant temperature of the combustor during the test. "900" {"combustor_temperature": {"value":900, "unit":"°C"}}
N2 Flow Rate (cc/min) n2_flow_rate Gives the flow of nitrogen during the test. "80" {"n2_flow_rate": {"value":80, "unit":"ml/min"}}
O2 Flow Rate (cc/min) o2_flow_rate Gives the flow of oxygen during the test. "20" {"o2_flow_rate": {"value":20, "unit":"ml/min"}}
Calibration File temperature_calibration Gives the file containing the calibration information for the device. "C:\MCC\MCC Cal\Coeff1 JN10440_30_210304.txt.txt" {"temperature_calibration" : {"file" : "C:\MCC\MCC Cal\Coeff1 JN10440_30_210304.txt.txt"}}
T Correction Coefficients temperature_calibration Gives the temperature correction coefficients from the calibration file. "0 1.024463 0" {"temperature_calibration" : {"coefficients" : [0, 1.024463, 0]}}
Time Shift (s) time_shift Specifies the time offset applied to the oxygen concentration to account for transport time. "14" {"time_shift": {"value":14, "unit":"s"}}

Data

The data section contains the actual data in the form of rows and columns. The data is typically organized in a tabular format, with each column separated by a delimiter. This data is thought to be relatively consistent and contains columns such as 'Time', 'Temperature', 'Oxygen', etc. Column names might be slightly adjusted here to maintain conformity with other instruments or to make them easier to interpret. Units are included in parenthesis after the column name. This information is extracted and stored in the column-based metadata in the output Parquet file.

Data Schema Definition

The data schema of the MCC file is defined by the columns present in the data section. Each column has a name and a data type associated with it. The data types are primarily 'floats' which represent some measured quantity.

The schema definition should include the name and data type of each column, as well as any units that may be present in the parent file.

Example Data Schema

Here is an example data schema for a basic MCC file:

Column Name Data Type Units
Time Float 's'
Temperature Float 'C'
N2 flow rate Float 'cc/min'
O2 flow rate Float 'cc/min'
Flow Rate Float 'cc/min'
Oxygen Float '%'
HRR Float 'W/g'
Heating rate Float 'C/s'