-
Notifications
You must be signed in to change notification settings - Fork 0
/
CapitalCost_Wellfield.m
26 lines (20 loc) · 1.06 KB
/
CapitalCost_Wellfield.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function [C_wellfield] = CapitalCost_Wellfield(params)
PPI_Permit = PPIs.return_PPI('PPI_Permit', params.costYear, params); % 2022
PPI_OG_s = PPIs.return_PPI('PPI_O&G-s', params.costYear, params); %2022
% %WellFieldLength_km is the length of the wellfield, assuming it's a square
WellFieldLength_km = 1;
G_injection = WellFieldLength_km^2;
G_monitoringWells = G_injection;
PPI_Permit_ref = PPIs.return_PPI('PPI_Permit', 2003, params); % 2003
C_permitting = PPI_Permit/PPI_Permit_ref * 665700;
L_wellZone = WellFieldLength_km * 1000;
A_CO2_AOR = L_wellZone^2;
A_CO2_AMA = (L_wellZone + 1600)^2;
dC_permitting_CO2 = PPI_Permit / PPI_Permit_ref * 45000 * (1/1e6) * A_CO2_AMA;
PPI_OG_s_ref = PPIs.return_PPI('PPI_O&G-s', 2003, params); %2003
C_monitoringWell = CapitalCost_Well(params.depth(end), 0, params.monitoringWellDiameter/2, params);
C_monitoringWells_CO2 = G_monitoringWells * C_monitoringWell;
C_surfaceMonitoring_CO2 = PPI_OG_s/PPI_OG_s_ref * 138000 * (1/1e6) * A_CO2_AMA;
dC_monitoring_CO2 = C_monitoringWells_CO2 + C_surfaceMonitoring_CO2;
C_wellfield = C_permitting;
end