Geothermal Heat Pump (GHP) Analysis
This workflow is available in URBANopt versions 0.11.0 and later
The URBANopt-Geothermal Heat Pump (GHP) workflows are used for modeling and simulation of district-scale GHP systems. URBANopt is used to calculate building loads connected to the GHP system. The building loads along with technical specifications for the GHP system, stored in the system parameter file, are used for sizing and simulations of custom district GHP systems. The installation and usage of these capabilities are described below.
Installation
Run the following URBANopt CLI command to install Python and the required GHP-related dependencies:
uo install_python
Usage
In order to use the URBANopt-GHP capabilities, the example GHP Project can be created and run using the URBANopt CLI following the steps below:
-
Create a GHP Project
Create a GHP project by including the
--gheflag (or-gas a shortcut) in the create command:uo create --project-folder <path/to/ghp/folder> --gheThis will create an URBANopt example project which includes a feature file with a single pipe closed GHP network as shown in the figure below:
The Feature File includes the footprint area of the GHP will be used as an input for GHP sizing.
-
Create Scenario Files
Scenario files are created next using the following command:
uo create --scenario-file <path/to/FEATUREFILE.json> -
Run the Project
Run the project using the GHP feature file, and the scenario file created in the previous step:
uo run --feature <path/to/GHP/featurefile.json> --scenario <path/to/SCENARIOFILE.csv> -
Default post-process Scenario
Post-process using the default post-processor, this generates the timeseries building loads (kW) using the
export_modelica_loadsmeasure and stored in the run folder for the scenario:uo process --default --feature <path/to/FEATUREFILE.json> --scenario <path/to/SCENARIOFILE.csv> -
Create System Parameter file
This is used to create a system parameters file that stores technical properties related to GHP components such as boreholes, soil, fluid, and pipe definitions.
The following command can be used to create the system parameters file:
uo des_params --sys-param <path/to/sys_param.json> --feature <path/to/FEATUREFILE.json> --scenario <path/to/SCENARIOFILE.csv> --district-type 5G_gheThe
ghe_specific_paramssection within the system parameters file generated by this command stores properties for each GHP in the network. It pulls the GHP ID as well as the length and width of GHP from the feature file. -
Size GHP
Sizing the GHP system involves calculating properties such as number of boreholes, length of boreholes, and the g-function.
This is done using the following command:
uo ghe_size --sys-param <path/to/sys_param.json> --feature <path/to/FEATUREFILE.json> --scenario <path/to/SCENARIOFILE.csv>On running this command, a new folder
ghe_diris created that stores sizing results such as the g-function and the ground loads for the GHP. The system parameters file is also updated with the results of sizing such as the number of boreholes and length of boreholes. -
Create Modelica Model and Modelica Directory
This uses the URBANopt-DES module to create a Modelica package for the sized GHP network, as shown in the DES Functionality section. It takes in the building loads, GHE sizing results, and the system parameter file with GHE-specific properties to create the Modelica package for the district thermal energy system.
The following command is used:
uo des_create --sys-param <path/to/sys_param.json> --feature <path/to/FEATUREFILE.json> --des-name <path/to/example_modelica_project> -
Run Modelica Models
uo des_run --model <path/to/modelica_dir> -
Run Lifecycle Cost Analysis (LCCA)
URBANopt integrates lifecycle cost analysis (LCCA) capabilities into the GHP workflow using the REopt, techno-economic optimization engine. This integration enables a financial evaluation of district-scale geothermal heat pump (GHP) systems that have been designed and sized using the URBANopt GHP workflow.
The REopt-based LCCA computes key financial metrics - including initial capital cost, lifecycle capital cost, lifecycle electricity cost, and total lifecycle cost - to assess the cost and financial viability of installing a GHP system at a given site.
Financial Assumptions
REopt requires a set of financial and economic assumptions that define technology costs, incentives, and analysis parameters. These assumptions are provided through a GHP assumptions JSON file.
A default assumptions file is included with the URBANopt installation: urbanopt-cli/example_files/reopt_ghp/ghp_assumptions.json
Users may either:
- Use the provided default assumptions file, or
- Supply a custom assumptions file to override default financial inputs.
Economic and Cost Parameters
The assumptions file includes parameters related to:
- GHP and GHE installation costs
- Hydronic loop installation costs
- Economic incentives and tax credits (if applicable)
- Analysis period and discount rate
Key parameters include (but are not limited to):
-
installed_cost_heatpump_per_ton
Installed cost of ground source heat pumps per ton of capacity. -
installed_cost_ghx_per_ft
Installed cost of the ground heat exchanger per linear foot of borehole. -
macrs_bonus_fraction
Fraction of capital cost eligible for MACRS bonus depreciation. -
macrs_itc_reduction
Reduction applied to depreciable basis due to investment tax credits. -
federal_itc_fraction
Fraction of capital cost eligible for the federal investment tax credit (ITC).
Running the REopt GHP LCCA
The lifecycle cost analysis is executed using the following URBANopt CLI command:
uo process --reopt-ghp --system_parameter <path/to/sys_param.json> --modelica_model <path/to/modelica_project_dir> --reopt_ghp_assumptions_file <path/to/ghp_assumptions.json>Where:
–system_parameter is the system parameter file used for the GHP sizing analysis.
–modelica_model is the Modelica project directory generated and run in the previous step.
–assumption_file (optional) specifies a user-defined financial assumptions file. If omitted, the default assumptions file is used.
Output Files and Directory Structure
Upon successful execution, a reopt_ghp directory is created within the scenario run folder:
scenario_folder/ └── reopt_ghp/ ├── reopt_ghp_inputs/ └── reopt_ghp_outputs/reopt_ghp_inputs: Contains REopt input files generated for each building and ground heat exchanger (GHX) in the district. These files are sent to the REopt API for lifecycle cost analysis.
reopt_ghp_outputs: Contains detailed REopt results files with financial outputs for individual buildings and GHP/GHE components.
In addition, a summary results file is generated:
reopt_ghp_result_summary.json: This file aggregates and summarizes total lifecycle costs and financial metrics for all buildings and GHP/GHE infrastructure in the district.