Section 13 Analysis Files
Building Thermal Fabric Empirical Validation Analysis Instructions
There are five files included in the Analysis Files:
- ET_analysis.py: main analysis script
- ET_config.yaml: configuration file used by the analysis script
- ExampleSoftwareData.json: example software output data
- MeasurementData.json: measurement data
- Std140_ET_Results_Tables_template.xlsx: results XLSX template
Download Section 13 Analysis Files
This document provides detailed instructions for setting up the Python environment, preparing the necessary files, and executing the ET_analysis.py script for input validation, data analysis, and diagnostics. It is intended for both new and experienced Python users.
1. Python Setup and Installation
The ET analysis script requires Python version 3.7 or greater along with compatible versions of the Pandas, matplotlib, numpy, openpyxl, pyyaml and xlsxwriter python packages. Depending on your current setup and level of experience with Python, different installation pathways are available.
1.1 Using an Existing Anaconda Installation.
If you already have a functioning Anaconda installation and do not require a separate environment, you can proceed directly to Section 3: Required Files. If you wish to separate the ET workflow from other Python development projects, it is recommended that you create a new Conda environment (see Section 2).
1.2 New Users or Those Without a Python Installation
If you do not have Python installed or are unfamiliar with managing Python environments, it is recommended that you install Miniconda. Miniconda is a minimal Python distribution that includes the Conda package manager. It can be downloaded from the official documentation site:
https://docs.conda.io/en/latest/miniconda.html
On Windows, the default installation (recommended) creates a user-specific setup that does not require administrative privileges. After installation, open the Miniconda Prompt from the Start Menu to continue with environment setup.
2. Create a Minimal Conda Environment specifically for ET (Optional)
To avoid conflicts with other Python packages, it is recommended that a new environment be created specifically for ET analysis. To create and activate a new environment named ET, open the Anaconda Prompt and run:
conda create --name ET python pandas matplotlib numpy openpyxl xlsxwriter pyyaml
After the environment is created, activate it with:
conda activate ET
Note: The environment must be activated every time a new terminal session is started in order to ensure correct execution.
These commands will create a new environment with compatible versions of libraries and a very recent version of python.
Skip on to step 4
3. Install Required Python Packages for other virtual environment methods
If you use another virtual environment system you will need to install python of at least V3.7 and compatible packages:
- python >= V3.7
- matplotlib
- numpy
- pandas
- openpyxl
- xlsxwriter
- pyyaml
4. Required Files
Before executing the script, ensure the following files are located in the same folder, e.g., c:\your\path\here:
- Std140_ET_Output_softwareXX.xlsx – User’s output file with results entered for the software being tested; see normative template file Std140_ET_Output.xlsx beginning with sheet 'Read Me', included with the 'Normative Materials' folder within the electronic media accompanying Standard 140. For the file name, replace _softwareXX with _ plus the name of the software being tested, e.g., _DummySoftware (15 characters or fewer required; names longer than that will be truncated after first 15 characters).
Notes:
- Only include one of this type of tile in the folder, as the script does not externally query for a specific file name. (If there are multiple output files in the folder the code will process the first one it finds - typically alphabetically first.)
- For tracking multiple iterations, move the previous renamed output file to a separate subfolder.
- Renamed example results output files from the Standard 140 accompanying files \Informative Materials\ResultsFiles_ET\[software name] folders will not run here because they used a previous version of the output template. To run those results with this script, copy/paste their data to the normative template file Std140_ET_Output.xlsx and rename it per above.
- ET_analysis.py – Main analysis script
- MeasurementData.json – Measurement data
- ExampleSoftwareData.json – Example software output data
- ET_config.yaml – Configuration file specifying test case names, output variables, time periods, and plot settings used by the analysis script
- Std140_ET_Results_Tables_template.xlsx – Qhtr and diagnostic output tables template
5. Running the Script
To run the analysis, open the Anaconda Prompt and activate the environment (if not already activated):
conda activate ET
Navigate to the folder containing the required files, e.g.:
cd C:\your\path\here
Then, run the script with:
python ET_analysis.py
5.1 Optional Command-Line Flags
The script supports several flags to control execution. These can be combined as needed:
Flag : Description
--disable_input_check : Disable input error check when this flag is included --disable_output_plot : Disable output tables and plots generation -v or --verbose : Enable verbose output for process tracking
5.2 Example Usage
python ET_analysis.py -v --disable_output_plot
This command runs the script with:
- Verbose output enabled
- Generation of Input check plots and tables enabled
- Generation of Output plots and tables disabled
To view available options, execute:
python ET_analysis.py --help
6. Script Workflow
The script consists of three primary steps. These steps are controlled by optional command-line flags that determine whether each part of the workflow is executed.
6.1 Input Error Check
Performs initial verification of the input data and generates diagnostic reports and visualizations. Note: As this output provides a proxy for material layer thickness and thermal conductivity input checks for each conduction path, it is strongly recommended to compare results and fix input errors (if any are identified) prior to completing a final results set.
Output files:
- 01_Std140_ET_Inp_Chk_HourlyDiff_softwareXX.xlsx — This file is analogous to “Inp_Chk_HourlyDiff_x.xlsx” as described in “Std140_ET_Results.docx” included with the accompanying electronic media (see Readme.docx there), or see Informative Annex B10, Section B10.8. — Exception for user self-compilation: The CV(RMSE) equation below the tables is applied with red highlight for CV(RMSE) ≥ 0.001.
02_Std140_ET_Inp_Chk_Plots_softwareXX.pdf — This file is analogous to “Inp_Chk_Plots_x.pdf” as described in “Std140_ET_Results.docx” included with the accompanying electronic media (see Readme.docx there), or see Informative Annex B10, Section B10.8. — Exception for user self-compilation: All input check comparisons are plotted regardless of CV(RMSE) results.
6.2 Output Tables and Plots Generation
Processes and summarizes data, creating formatted tables and visual plots that compare the software being tested with measured data and example software results.
Output files:
- 03_Std140_ET_Results_Tables_softwareXX.xlsx — This file is analogous to “Std140_ET_Results.xlsx” as described in “Std140_ET_Results.docx” included with the accompanying electronic media (see Readme.docx there), or see Informative Annex B10, Section B10.8.
- 04_Std140_ET_Qhtr_HourlyPlots_softwareXX.pdf — This file is like “05_Std140_ET_Qhtr_HourlyPlots_all.pdf” (see below), except the plots show the software being tested versus measured data only.
- 05_Std140_ET_Qhtr_HourlyPlots_all.pdf — This file is analogous to “Std140_ET_Qhtr_HourlyPlots.pdf” as described in “Std140_ET_Results.docx” included with the accompanying electronic media (see Readme.docx there), or see Informative Annex B10, Section B10.8.