All posts by Conner Brown

Efficient Cooldown Parametric Studies

A common flow assurance study objective is calculating the time required to reach hydrate conditions during a shutdown (typically from steady state).  This is often referred to as ‘Cooldown’. The ability for an operator to understand the amount of time that is available to safely complete various tasks during a shutdown, or how close to the hydrate region they can operate a pipeline before running into problems is incredibly valuable.

This discussion will cover how one can run large simulation matrices for cooldown efficiently with flotools and will compare the flotools methodology with traditional methods using the OLGA GUI.


In flotools, you can setup and create large numbers of cases for a project, and post-process the results quickly. For this case, we are looking for the cooldown times to the hydrate formation temperature for a system with varying parameters: Gas Lift Rate, Flowrate, Inlet Temperature, Water cut, and different fluids. flotools makes this process very simple and easy using the Parametric Studies tool.

With a large case matrix, it can be time-consuming to create all the varying simulations in OLGA. The flotools Parametric Studies tool can create model files by replacing the text of a base file with new parameters. For example, if you have a boundary node with PRESSURE = 100 psig you can give flotools a list of comma-separated values (100, 150, 200) and flotools will create 3 separate key files that are copies of the base file, one with 100 psig, one with 150 psig, and one with 200 psig at that node. 

The only inputs needed are the variables to be varied, the parameters for each variable are defined only once. Cases can be named interactively, based on the parameters used.

Graphical user interface, text, application, chat or text message

Description automatically generated
Figure 1 – Interactive Naming of Cases

The naming of cases is interactive with the inputs listed above. Each variable has an index associated with it, e.g., WC is associated with %7 (seventh study variable). The index associated with each variable can then be input back into the naming line with the %n operator to have them change with each variation of the parameters. You can even create linked variables that are not used for anything except for naming; for example, the 2nd (%2) and 6th (%6) variables above. Also, the total number of cases to be generated is indicated on the generate cases button with a small green number badge, 360 in this example. This is how many cases we will be generating with these inputs, coming from:

5 flowrates x 3 gas lift rates x 4 temperatures x 2 fluids x 3 water cuts = 360 cases

Once the matrix is set and named appropriately for the parameters of our study, flotools will create the 360 .key files in a location of our choice. flotools can output the .key/model files to any location in the directory structure as well as generate a batch file if necessary. The cases are then ready to run.  


Due to the large number of cases, post-processing of the results was time consuming. When using the OLGA GUI to extract simulation results for many cases you are limited by the number of cases that can be load into the GUI simultaneously. For this project, each case output file was relatively small (.tpl and .ppl file size combined to about 2 MB for each case). We were only able to load 47 of the fully completed simulations into the GUI at one time. When extracting trend and profile data you can only take data from those cases loaded into the GUI at a given time. This project required 8 separate extractions to get the full data set, which consumed a lot of extra time to load cases into the OLGA GUI.

Whereas with the flotools route, you can load the cases into a flotools workspace and be ready for plotting immediately.

Both methods are the setup for plotting and tabulating results. In Excel, to create a plot of cooldown times requires some combination of MATCH and INDEX/OFFSET formulas for each series of the MDTHYD output in the case matrix. Following this, the rest of the data must then be formatted in the right way to form a table/pivot table that you can then use to plot based on different parameters.

In flotools, there are built-in calculations for DTHYD and its (MDTHYD, MDPHYD, MAXDTHYD, MAXDPHYD), which can be used without even having to input a hydrate curve in OLGA. Hydrate curves can be input in flotools during post-processing, which flotools will then reference in comparison to the temperatures and pressures over the entire flow path during the simulation.

A comparison of the methods described above are illustrated in the following figure:

Figure 2 – Comparison of Workflows between OLGA/Excel and flowpad/flotools  

Even for large case matrices, creating all the model files to run is incredibly easy and fast with flotools. Without pre-processing the entire set of cases was created in less than 2 minutes in this instance.

Conversely, post-processing using the OLGA GUI and Excel took roughly 5 times as long to create a finished product of plots or tables. This is mainly due to limitations of the OLGA GUI as to how much info can be stored at one time, i.e., how many cases it can load simultaneously. Having to export the data in chunks was a time-consuming part of the process.

For this set of 360 cases, the goal was to create 11 plots that show the effects of each set of parameters of the parametric study. An example plot created in flotools is show below.

Figure 3 – Cooldown vs. Inlet flowrate for 0% Water cut, 0 MMscf/d Gas lift and 50/50 Mix Fluid

Time breakdowns of each method are given below (these times reflect an experienced user of each method):

OLGA/EXCEL method:

  • Open cases in GUI and export MDTHYD to .csv (22 minutes)
  • Find first MDTHYD > 0 °C (2 minutes)
  • Format all parameters and cooldown times in a table format (5 minutes)
  • Create pivot table, slicers, and pivot charts (7 minutes)
  • Format plots (create titles, axis labels, etc.) (20 minutes for 11 plots)
  • Total (56 minutes)

flotools method:

  • Open flotools and load cases (5 minutes)
  • Open parametric study tool and select variables and filters/slicers. (2 minutes)
  • Change plot formatting to liking (2 minutes)
  • Duplicate plot and change filters/slicers (2 minutes for 11 plots)
  • Total (11 minutes)

This time difference is especially impactful if the case matrix is updated or if simulations are re-run. If a similar parametric study needs to be run, you can simply copy the parametric study in flotools and modify it instead of having to make a completely new one, whereby saving time on future work.


flotools makes running common flow assurance tasks such as cooldowns easy to create, run and report, even if with many cases. There is a significant time savings with flotools as compared to using the OLGA GUI because flotools can handle all the cases from a project at once and can plot them instantly rather than requiring post-processing in Excel.

Field-Tested Calculation Saves Hydrate Inhibition Costs during a Cold Well Start Up

This blog post will describe how flotools’ calculation feature was used to calculate the hydrate formation temperature as a function of time and location for a methanol-inhibited system during a cold-well start up.   The analysis demonstrated that a less conservative use of hydrate inhibitor was acceptable.  The well and flowline were successfully started up based on this analysis.  This example is an advanced use of the flotool calculation feature. 

The scenario is a well and flowline where the well is initially shut-in;  the flowline is filled with a seawater/methanol mixture (15% methanol by volume); and a methanol pill has been placed just downstream of the wellhead choke. The choke will be opened, and the hydrocarbons will push the methanol pill and methanol-seawater mixture out of the flowline.  Unfortunately, due to the pipeline profile and the different densities of the hydrocarbon liquid, gas, and aqueous phases, the displacement of the methanol-seawater mixture will not be clean.  The hydrocarbons can potentially flow past the methanol pill, contact the methanol-seawater mixture, and form hydrates if the temperature/pressures conditions are suitable. 

The goals are to ensure that the flowline will not be susceptible to hydrate formation conditions at any point in time or location during the startup sequence and to minimize the size of the methanol pill.  This analysis is a combination of 6 calculations: 5 simple ones, and a final complicated calculation that does the heavy lifting.

First, let us go through the supplementary calculations:

  • The first calculation calculates the water volume in each pipe section. (The density must be calculated instead of using the OLGA water density variable because methanol is considered to be included in the aqueous phase in OLGA)
  • The second calculation determines the methanol volume in each pipe section.
  • The third calculation uses the two previous calculations to determine the percent methanol in the water in each pipe section.

Note that the three calculations shown above could be done in a single calculation, but to be able to output the water and methanol volumes separately as their own variable they are required to be standalone calculations.

Then, because hydrates can only form under specific conditions, the fourth calculation checks for:

  • The existence of hydrocarbon in each section.
  • Whether water is present in each section.
  • Whether the methanol concentration in the water is sufficiently high that hydrates cannot form at any practical temperature/pressure conditions in the flowline.  This is a user specified threshold that can be manually changed.  For this case the threshold is 50% methanol in the aqueous phase.

Now to the fifth calculation, which is the most complicated and calculates the DTHYD variable.  DTHYD is a flotools variable and is defined as the ΔT between the fluid temperature and the hydrate formation temperature at the pressure at a given location and time.  The most difficult of the calculations so far, this one includes the use of lookup tables, interpolations, and the above calculated variables.

The process order inside the flotools calculation module is shown below:

  1. The hydrate curves for differing levels of methanol are generated from a 3rd party program, in this case MULTIFLASH, and imported into flotools.
  2. The pressure inside each pipe section is identified.
  3. The corresponding hydrate formation temperature at the pipe section pressure for each of the hydrate curves, representing different methanol concentration, that have been imported is calculated (6 curves for this example as shown in Figure 1).
  4. Using the methanol concentration variable already calculated for each section, the two curves that bound the methanol concentration are determined.  That is, if the methanol concentration is 22% then the calculation should use the 20% and 30% hydrate curves.
  5. The final hydrate formation temperature is calculated by interpolating between the values that we looked up in Step 3 for the two bounding curves found in Step 4.  This gives the hydrate formation temperature at the specified pressure and methanol concentration.
  6. Subtract the actual temperature in each section from the interpolated hydrate formation temperature in each section at every time the profile was output.
Figure 1:  Imported Hydrate Curves from Multiflash

This fifth calculation would be much simpler if there were only two hydrate formation curves to interpolate between, but because we are using a fine grid for the methanol content, the difficulty comes in determining which two curves to interpolate between in the flotools calculation.  The selection of the correct two curves is done by using the methanol concentration calculated in the third calculation and a series of nested IF statements.

The nested IF statements work somewhat like a stepladder, it first checks whether the methanol concentration is above 0% and if so checks if it is above 10%, then 20%…etc.  Once the IF statement finds a value that it is not above, it exits the nested IF and declares that that value is the upper bound. i.e.,  if the actual percent inhibition is 37%, once it realizes that it is not greater than 40% it then decides that 40% is the upper bound of the two curves. To identify the lower bound we first check if the upper bound is greater than 0 and if it is, we subtract 10% from the upper bound to calculate the lower bound. This is easy because the hydrate curves we generated were generated in uniform 10% increments.  

If the methanol increments were not uniform another set of nested IF statements would be needed.  The IF statements would follow the same stepladder approach but once a value was found to be above the actual methanol concentration, the IF statement would output the previous value, i.e., from our 37% example above, the IF statements would need to output next to the last value as well (i.e., the value before 40% which would be 30%).

The sixth calculation is the final output of the entire analysis.   The sixth calculation does a final check to see if all three of the above conditions are met (the conditions in the fourth calculation), and if so, outputs the DTHYD results from the interpolation, otherwise it outputs a null number that can be manually changed (in this case -50).

We can see the actual application of the calculation in a case described below. This case has a methanol pill placed at the beginning of a flowline with a well shut in upstream.  The rest of the flowline is saturated with a seawater-methanol mixture of 15% methanol by volume (Figure 2).

Figure 2:  Flowline Initial Conditions

The well is then opened, and the hydrocarbons begin to push the methanol pill out of the flowline.  The methanol pill disperses slightly and some gas that had accumulated at the top of the well during the shut-in squeezes past the methanol pill.  The gas has the potential to form hydrates as the three conditions in the fourth calculation are met when gas moves in front of the methanol pill.

Figure 3:  Methanol Pill Displaced by Wellbore Fluids

Figure 3 is quite complicated, but it very nicely illustrates exactly where hydrates can form and the ΔT between the fluid temperature and the hydrate formation temperature (Note:  when DTHYD > 0 hydrates can form).

  1. The red curve is the methane fraction as a function of distance.  Methane is used as a proxy to determine whether hydrocarbons are present.
  2. The blue curve is the methanol concentration (volume %) as a function of distance.
  3. The green curve is DTHYD = fluid temperature minus hydrate formation temperature.

Three distinct regions are evident on Figure 3.  Two of the regions are not at risk for hydrate formation.  On the right-hand side (shaded) of the graph there is a steep drop-off of the Green DTHYD curve because there are no hydrocarbons in this region as shown by the red, methane-fraction curve.  

The left-hand side (shaded) is a trickier region as there are two constraints to hydrate formation:

  1. Either there is no seawater left (it has all been pushed out)
  2. Or the hydrocarbon fluid is more than 50% inhibited with methanol (our specified criterion for full hydrate inhibition).  Note that on the left-hand side, there could be produced water but for this example the produced water was sufficiently salty to inhibit hydrate formation.

In the middle (unshaded), hydrocarbons are present, and the methanol concentration is below our threshold of 50%.  To determine if hydrate formation is possible, we must look at the DTHYD variable.  In this region, the maximum value of DTHYD is -4 °F, indicating that hydrate formation is not possible.  Therefore, the methanol pill size is acceptable for preventing hydrates.