Renewable Data Transfer (RENEWXfer), also referred to as SUPERXfer, is an EPRI-developed Python application that enables secure, standardized extraction, staging, and transfer of renewable energy system data to external systems via SFTP.
The application supports EPRI renewable data workflows by providing configuration-driven execution and auditable delivery of performance and tracker data.
---
RENEWXfer provides a controlled and standardized mechanism for transferring renewable operational data. It is designed to support EPRI data collection, integration, and governance objectives through:
- Secure, auditable delivery of time-series data
- Configurable support for multiple renewable asset data types
- Standardized workflows for data extraction and transfer
- Alignment with EPRI cybersecurity and data governance practices
This repository contains the core application, configuration templates, and supporting artifacts required to deploy and operate RENEWXfer.
---
- Secure SFTP transfer using SSH key-based authentication
- Configurable execution of performance and tracker data workflows
- Channel list–driven data extraction and mapping
- Time- and size-based partitioning of output data files
- Automated generation and transfer of execution logs
- Modular Python architecture for extensibility and maintainability
---
Renewable-Data-Transfer/ ├── Main.py Primary execution entry point ├── requirements.txt Python dependency definitions ├── constants.env Environment configuration file ├── Channel_List/ Channel lists and tag mappings ├── Functions/ Core functional modules ├── Log_Files/ Execution and transfer logs ├── File_Staging/ Staged output data files ├── SSH_KEYS/ SSH private keys for authentication ├── SUPERXfer_READ_ME.pdf Detailed SUPERXfer documentation └── run_SUPERXfer_instructions.pdf Execution guidance
---
- Python 3.8 or later
- Windows or Linux operating system with SFTP capability
- Network access to the configured SFTP endpoint
- Authorized SSH private key for authentication
Install dependencies using:
pip install -r requirements.txt
---
Application behavior is controlled via the constants.env file. This file
defines execution parameters, data selection, and transfer settings.
Key parameters include:
CHANNEL_LIST– Channel list filename used for data extractionDATA_FILE_MAX_LENGTH– Maximum number of days per output fileRAW_DATA_INTERVAL– Data extraction interval (in minutes)PERFORMANCE_ONLY– Enable performance workflow (1 or 0)TRACKER_ONLY– Enable tracker workflow (1 or 0)SFTP_PRIVATE_KEY– SSH private key filename
All referenced files (channel lists, keys) must be present in their respective directories prior to execution.
---
Run the application using:
python Main.py
Execution behavior is determined by configuration flags:
- Performance workflow only
- Tracker workflow only
- Combined execution of both workflows
Output data files are generated in the File_Staging/ directory and then
transferred via SFTP.
---
RENEWXfer generates logs to support traceability and operational auditing.
Log locations:
Log_Files/– General execution logsLog_Files/Trackers/– Tracker-specific logsLog_Files/SFTP_Logs.log– SFTP transfer logs
At the end of execution, log files are compressed and transferred to the configured SFTP destination.
---
This software is provided for authorized use under applicable EPRI agreements. Use, modification, and distribution are subject to EPRI policies and contractual terms.