2 Research Journal
Here are the notes I took from our meetings. They kind of peter out by the end, but the length of the notes is inversely proportional to the amount of work I did that week.
This journal contains some email transcripts between David Dempsey and Contact.
2.1 March 8th
Notes
- Familiarise with spreadsheet
- Find examples of forecasting, optimisation and stochastic simulation in oil & gas industry
- Choose part of project
Documents used:
- Fifty years of geothermal power generation at Wairakei
- AEE - 104706 Take Variation Appn 2017_final.pdf
- contact_email_instructions.pdf
- Liquid wells (version 1).xlsx
- Wairakei Tauhara Draft SMP May 2016.pdf
- WK TH 2016 Annual Report FINAL.pdf
Notes
- Excel spreadsheet is missing links to SteamTab.xla
- Some things will take a long time to understand without knowing the original formula. See ‘WK26A’!K12 – maybe if I wrote it out replacing all the cell references with column names I could work it out, but there’s also all the constants. Not sure if it’s a good use of time to understand the physics.
- Also, there are slight inconsistencies I don’t understand. For example, see ‘WK26A’!O12 and ‘WK26A Trend’!I10. I expected these to be the same data point.
- Propose doing proof of concept in something else to better facilitate visualisation, optimisation and simulation. Suggest R or Python (no personal preference). Could use SQL but probably overcomplicating. Should be easy to move to Excel afterwards.
- I do not mind which part I do. Here are the pros and cons of me doing each part:
Optimisation | Simulation | |
---|---|---|
Pros | - ENGSCI 355 linear programming - Have programmed heuristics (ENGSCI 255 & 760) | - STATS 731 Bayesian Inference - Have programmed simulations in C++/Python |
Cons | - Don’t understand the spreadsheet - Haven’t yet found examples | - Don’t yet understand the energy extraction process |
2.2 March 16th
Meeting
- Model wk255: inputs and outputs. Create Python script to extract data and replicate plots. Then generalize to other sheets
- Plots: \(\dot{m} = f(P_\text{whp})\) and \(\dot{m} = f(t | P_\text{whp})\)
- \(\dot{m} = f(P_\text{whp})\). Inputs: Well-head pressure, outputs: linearly declining res \(P\) to predict mass flow in future
- Look at using regression uncertainty to create a distribution of future mass flows
- Make reasonable assumptions
- Missing data points are not important
- Maybe use Jupyter notebook?
Notes
- Done linear regression on data
2.3 March 23rd
Meeting
- Need to fit elliptic curve
- Make sure it generalises to all wells
- Input function for making predictions. \(\dot{m} = f(\text{well}, \text{whp}, \text{date})\)
- Road trip!! To see all there is to see in Wairakei. Second week of break, sometime April 12th-15th?
Meeting with Julian March 28th
Operations
- Decline rate done by operator (Christine). Can indicate if something happened in the well (e.g. scaling) to cause observed long-term changes in the decline rate
- A workover (de-scaling) increases mass flow and pressure
- Separation pressure determines the fraction of steam and fluid in the mass flow, where \(\dot{m} = f(P_\text{sep})\). Christine may explain why all the inconsistent equations.
- Begin by looking at one or two flash vessels and calculating enthalpy.
- (Out-of-scope) considerations could also include variability in power prices (affects objective) and air temperature (affects efficiency).
- One goal (objective function) is to get less brine as a proportion of mass flow. Data
- Well numbers indicate age (lower numbers are older) – wells from similar periods will act similarly
- ‘PI’ sheet: gives whp. ‘Equation’ sheet: gives decline rates
- Try to extract data into Python for a more readable form? [Note: crashed my laptop trying to do this and haven’t tried again yet – Logan] Mathematical modelling
- Try to predict what decisions would be made
- Predict causes of pressure decline (e.g. decision tree / tree classifier) e.g. local scaling, global pressure drawdown
- Make a new spreadsheet (General Projection [note: can’t remember what this was])
- Enthalpy: Maybe just do a user-controlled constant (as indicated by no trend in the enthalpy graphs). Also make mass flow / enthalpy decline rate manual from regression. It can change periodically.
- Create a well operating schedule and predict steam flow.
- WHP → mass flow → steam flow → enthalpy → power. Predict for one year and optimise steam flow s.t. total mass constraints. Discretise over large time periods (e.g. 3 months to begin)
Notes
- Modify regression and plots to operate on multiple wells simultaneously
- Remove formulae from Generation Projection spreadsheet to make it run faster
2.4 April 12th
Meeting with Contact in Taupo
Current State
- GE (General Electric) is currently working on a similar project which includes trading – out of scope for us. CSV-formatted data has been made available to them and has been requested for us.
- Well test data comes from two sources: bore tests and tracer flow tests (TFTs). Bore tests are denoted by three simultaneous data points and are expensive. TFTs are identified by a single test on a day, and are run under normal operating conditions.
- Liquid wells regression is satisfactory in its current state. Modifying to fit w269 is unnecessary right now. Modelling
- Validation (regression): check that mass flow predictions match TFTs. N/A, we use the TFTs in the regression training set.
- Validation (model): check that flow meters downstream from FPs matches FP input flows.
- Variables (well head pressure): whp is not a decision variable. It is usually taken from the most recent TFT, representing full load.
- Variables (enthalpy): h is often independent of whp in watery wells, but confirm for all wells in use before going forward with a constant. h also has variability, so confirm with the FP in case there are any short-term fluctuations.
- Constraints (consent): bioreactor (did I hear this correctly?) limits, mass limits, temperature (heat energy) limits, temporal limits
- Constraints (physical): FP min/max h, network connectivity, LP/IP FP capacity
- Scope: For actual optimisation, the entire system (e.g. including Te Mihi) has to be considered because it is all interconnected.
Decisions
- Workover: whether to do a workover (out of scope or later on)
- Flipping: which plant to send a well to. High h wells are usually sent to Te Mihi, ranked in order of h. Flips only happen when turning a well on (not one that is already running).
- Well on/off: in general, almost all wells are used.
Objectives
- Maximise power
- Minimise wasted mass from disk blowout events (difficult to quantify because there are random system trips)
2.5 April 26th
Meeting
- Make one-day plan
- Lit review: Don’t expect 10 pages/30refs
- WHP: More realistic one might take varying whps.
Notes
- What about a greedy heuristic / complete enumeration? Would make it easier to do the stochastic simulation if every component is represented by an object
- Resource consent?
- Get all the data
- Split tasks
- What constraints exist? Chemical/mass/physical(fractions)
- Data for each well on chemicals
- Parasitic power needs
- Confints/prior dists
Questions
- The project is focusing in on flash plants 14, 15, and 16:
- What constraints are there on the maximum mass flows entering these plants? (for instance, they presumably couldn’t handle a million tons per hour…)
- What constraints are there on steam flow exiting the plant? Condensed water?
The current steamflow limit of the vessels:
- FP14 - 525 t/h
- FP15 - 775 t/h
- FP16 IP - 420 t/h
- FP16 IP+ - 450 t/h
- The tools used to monitor mass flow in and out of the flash plants:
- What uncertainty is attached to these measurements? \(\pm\) 1%? 10%? 0.01%?
in terms of value, 10% is acceptable; in terms of trend, it has to be 100% accurate
- What change in mass flow is required to trip the automatic data logger, so that it begins recording a new value? (I forgot the name of this system…)
we don’t have this and I have never heard of this. We do the accuracy check manually using spreadsheets
- Regarding the power plants (Wairakei, Te Mihi and Poihipi):
- We have some numbers for the conversion factor from steam to MW – what uncertainty is attached to these? \(\pm\) 5%?
Yes the changes to this number is up to 5%, although this number if often calibrated with actual values.
- Does it depend on the time of year (ambient temperature)?
No, we do a different correction for ambient temperature and seasonal changes
- What constraints are there operating the power plants? I remember discussing that turbines were MW rated and you couldn’t go much above the rating – how much above?
The max MWE is the equivalent of the steamflow limits
- Regarding the TFT and well test measurements:
- What level of confidence/uncertainty would you attach that these numbers are correct?
\(\pm\) 5%-10% is acceptable as long as the trend is similar
- Do you know if these are publically available? We have been unable to find them.
Maybe not. I will confirm with Warren
2.6 July 19th
- Well MFs are calculated. Only FP mass flows are measured
2.7 August 9th
- Verify Bayesian with analytic calculations
Questions
- Can I please confirm there are only steam flow limits on flashplants 14, 15 and 16? not any water flow limits?
The limits of the flash plants are specified in terms of steamflow values and not in water flow. This means that if the wells become watery overtime, there will be a lot of excess water flow to be dealt with when fully loading the vessels.
- With FP16 we have been given limits for FP16 IP and IP+, I can see from the steamfield schematic diagram that it seems as though some wells feed to FP16 IP and some to FP16 IP+ and then some also goes from FP16 IP+ to FP16 IP. Would it be possible to get a bit more an explanation as to how this works, I can’t seem to discern anything from the ‘Data for AU’ spreadsheet provided, this spreadsheet seems to just treat it as one FP.
Te Mihi can be a 3-flash system or a 2-flash system. If configured as a 3-flash system:
- FP16ip+ having the highest separation pressure
- FP16 IP & FP15 IP second highest
- LP vessels. The water from IP+ will join the mass going to FP16 & FP15, and then the water from the latter will go to the LP vessel.
If configured as a 2-flash system, IP+ water will join the water coming out from FP16 & FP15 . The combined water will go to the LP vessel.
- How do we determine the amount of steam going to Poihipi, from the ‘Data for AU’ spreadsheet it seems that wells 253, 258, 259, 260 go to Poihipi, but without clarification on the question above I am unsure about this.
Steam going to Poihipi will be the steam from IP+, which is NOT ONLY WK253 WK258 WK259 WK260 but also the swinging wells WK270 WK271 WK272 WK245 WK263 WK264 WK265 if they are swung to Te Mihi/ip+.
- On the schematic diagram there is a well numbered 249 that isnt in the ‘Data for AU’ spreadsheet and conversely there is a well 238 on the ‘Data for AU’ spreadsheet that isnt on the schematic.
WK249 has never been used due to high gas. WK238 is actually in the schematic diagram (above WK247 in figure below), although I am not sure if we are referring to the same diagram.
- If there is a way to determine how much water goes from FP14 to the binary power plant, for example is it a set proportion of the water, or a set number of tonnes per hour?
That water should be the total water flow coming out from the LP vessel, which will be dictated by the LP vessel limit. As already provided to you, FP14 LP vessel is limited to 120t/h from 15Mar2018. Prior to 15Mar18, the limit was 40t/h. Water in excess of the LP vessel limit is not included in the calculation for the flow to the binary. I would also like to add a new limit to the FP14 total IP SF=525 t/h.
2.8 August 16th
Meeting
- Things for report:
- discussion of recommendation and model
- discussion of internal and external considerations/factors
2.9 September 6th
2.10 September 13th
Meeting
- Switch data to before Dec 1st and make predictions. There is a difference between predicting with PI data and predicting with production curves.
- Compare TS models and predictions
- Narrow down problem wells
- Screenshots of user interface