Learning the Ropes

This project was carried out as part of the TechLabs “Digital Shaper Program” in Aachen (Summer Term 2020).

Project Introduction

Liquified Natural Gas (LNG) is a liquid fuel that is created by cooling down natural gas to around -162°C. This liquefaction process greatly decreases the gasses volume and allows safer storage and transport to regions where pipelines cannot reach [1]. LNG is created on floating liquefied natural gas platforms or FLNG’s for short. The EXMAR owned Tango FLNG is one of these barges currently moored off the coast of Bahía Blanca in Argentina, where it was leased to YSP Argentina for the conversion of shale gas into LNG for international export [2].

Figure 1: The Tango FLNG (right), with an LNG carrier moored alongside (left)

As safety is a major concern to both companies, they have started checking the effects of certain environmental and technical parameters on the mooring lines that keep the barge in place for system monitoring purposes. When EXMAR tried to visualize their data however they quickly realized that their dataset was riddled with inconsistencies due to the manual entry of the data into a master Excel file done by a rotating crew. As the engineers in charge of this project had little to no programming experience, and the fact that data cleaning is less than ideal in Excel, the company agreed to let project group 9: Learning the ropes take a shot at it. This group consisting of:

· Thomas Salzmann (mentor)

· Lea Jaklen

· Ana Costa

· Tieu Phung Bui

· Gijs Krekel

aimed to apply their freshly acquired python and data science skills on a practical example by cleaning EXMAR’s dataset and recreating/improving existing visualizations. The coming Blog-post follows their process.

Data Cleaning

Data Dictionary

A first step in pre-processing was the creation of a data dictionary to support the data cleaning, analyses and visualisation steps. This was done using Markdown with Jupyter Notebook as the interactive computing platform and allowed standardization, and the naming of each variable, listing their overall characteristics, including data type, range or categorical values.

Importing Data & Dealing with missing data

After importing and converting the Excel file into a pandas dataframe a reorganization was necessary. First, the headers of the columns were renamed to get a clearer overview. Additionally, data conversion was necessary for several variables. In a further step, a visual color grid was created to highlight NaN-values within the dataframe, which proved useful in deciding whether NaN-values should be removed (e.g. all data from one column was missing) or filled (e.g., partly missing data in a column or row). Consequently, certain columns or rows were deleted entirely and some NaN-values were filled by mean imputation (for more information on procedure, see data imputation).

Figure 2: Color Grid with NaN values distribution (red) by column and row, before data cleaning

Data Imputation

Several methods for data imputation were tried, using a function that returns the data distribution using either the mean, the median or interpolation of adjacent values as imputation methods. Ultimately, it was chosen to fill all NaN Values with the mean value for each column, allowing for more time to be spent on visualisations.

Outlier Detection

For each column the outliers were detected by creating boxplots. This method was helpful to identify outliers visually. It was assumed that some data points were completely out of range due to imprecise or non-existing measurements (e.g., wind speed of 1000 knots). Additionally, the distribution of the values was visualized to get a better understanding of the data. The outlier removal was based on flooring and capping of values based on the interquartile range (IQR).

Figure 3: Histogram and boxplot showing values distribution to visual help to detect outliers


The goal of visualising the data was to recreate and improve existing visualisations created by EXMAR. The Matplotlib and Seaborn packages were used to this end. Furthermore, new visualisations were added to gain more insight in the data. In the following section, different topical areas of the data will be discussed, graphs will be shown and their adjustability will be explained. Possible explanations for the data will be given in Results.

Comparison of Measured and Predicted Wind Velocity and Direction

For wind speed and direction there are two data points given per time stamp, as these values are measured by hand on the barge as well as copied from a weather prediction website called windguru (https://www.windguru.cz/220832). If the measured and the predicted values for this data are correlating neatly, using the predicted values would be sufficient for future measurements and therefore save the crew some time.

Figure 4: EXMAR’s visualisation of the comparison of predicted and measured wind speed
Figure 5: Improved visualisations of the comparison of predicted and measured wind speed. Left: scatter plot with added distribution; Right: heat map with distribution

We improved EXMAR’s visualisation in a scatterplot by adding frequency distributions of each value to add information to the plot and show that points in a particular area occur more often than others, which are otherwise impossible to see, with overlying scattered points. A second visualisation showing the distribution as a heat map illustrates this information even more clearly, showing for example that the combination 10knt/10knt occurs more often than the combination 15knt/10knt.

Figure 6: Comparison of measured (speed) and predicted (speedwg) wind velocity over time

To visualise how the measured and predicted wind speed differ at each point in time, line plots were created that show the behaviour of these values in a particular time frame. The time frame can be adjusted easily by specifying start and end date in the function. Furthermore, these line plots can be used for other numeric values like line tension as well.

Figure 7: Windrose showing frequency of observed and predicted wind direction

As the measured and predicted wind direction were to be compared as well, polar radial bar charts showing the frequency of occurrence for each wind direction were created and can be read like a wind rose showing occurrences. In figure 7 these charts were overlaid to make the comparison visible at first glance.

Barge Offset in Comparison to Tide

Figure 8: EXMAR’s visualisation of barge offset in comparison to tide

The position of the barge was plotted in comparison to the tide. As EXMAR’s plot is a little overloaded with data points, the values were split into separate subplots to improve readability. Furthermore, the data for draft aft and forward and an attached LNG carrier was added to the visualisation.

Figure 9: Improved visualisation of barge offset in comparison to tide

The graph can be easily adjusted by choosing the title, the columns to be plotted and the timeframe (start and end date) of the data. Especially the last option opens up the possibility to view and analyse the data in more detail.

Line Tension Measurements

Figure 10: Overlaid histograms of the line tension data

To compare the frequency of line tension measurements for the various lines a function to create histogram graphs was created (see figure 10). Using this function, it is possible to add or remove lines from the graph as well as specify, what wind directions should be taken into account (e.g all wind directions, winds coming from the bay, or winds coming from ashore).

Figure 11: Line plot of line tension data over time for a single line (line9)

To show the line tension data in its development over time, further line plots were created — one type (figure 11) showing the values for only one line, but automatically creating subplots for all chosen lines and another type (figure 12) overlaying values for the chosen lines. This is especially useful for the comparison of lines that are moored to the same fender and therefore experience similar stress. As for all line plots shown, the title, input data and time frame can be easily chosen in the graph function.

Figure 12: Line plot of line tension data over time overlaid for several lines in a mooring configuration (line14, line15, line16)

Line Tension in Comparison to Wind Velocity and Direction

Figure 13: EXMAR’s visualisation of line tension depending on wind velocity

One idea concerning relations in the data is that line tension is dependent on wind velocity. To visualize this, EXMAR created a scatter plot (figure 13). This plot was recreated by group 9 in figure 14 and shows the following improvements: the choice of lines and the respective markers can be adjusted easily and the cleaned data does not include unrealistic outliers anymore which make the plot clearer and shows the actual scope of the values in more detail.

Figure 14: Improved visualisation of line tension depending on wind velocity

Furthermore, a grid of subplots (figure 15) was created showing the correlation between wind speed and line tension for one particular line as a scatterplot per wind direction. Lines can be chosen freely. By adding a third variable to the visual, dependencies for this very complex system can be analysed in more detail and with more accuracy. The visual also allows to include another variable which will be exemplified with the variable LNG carrier in the next paragraph.

Figure 15: Extract of scatter plot grid of line tension (line4) depending on wind velocity and wind direction

LNG Carrier Influence on Line Tension

Figure 16: Extract of scatter plot grid of line tension (line4) depending on wind velocity, wind direction and attached LNG carrier

To analyse the influence of an LNG carrier moored alongside the barge, this binary variable can be added to the scatterplot grid. Consequently, the grid does not only show the relationship of line tension and wind velocity and direction, but also depicts how this relationship changes depending on an LNG carrier. Additionally, this visualization can be easily changed to show the relationship of several other variables.

To display the influence of a LNG carrier with summarized data and for all lines at once, a box plot grid (see figure 17) was created showing in a subplot per line two boxplots of the line tension distribution per wind direction — one boxplot for when an LNG carrier is moored alongside and one boxplot for when it isn’t. This visualisation can be adjusted by choosing the variables to display in the subplots as well as a timeframe for the data.

Figure 17: Extract of boxplot grid of line tension depending on wind direction and attached LNG carrier


In the following chapter a few results were chosen to highlight discoveries that were made throughout the course of this project. It is important to note that stated causes of these phenomena are mere hypotheses, and that further discussion with domain experts is required before definitive conclusions can be drawn.

Wind Velocity Measurements

An irregularity that was found while comparing predicted and measured wind velocity (shown in figure 6) was for the month of October 2019. If one isolates this month the following graph is created:

Figure 18. Wind Velocity Comparison for October 2019

What is directly noticeable is that both predicted and measured wind velocity are exactly the same, something that does not occur in real life. This could point to a loss of measurement equipment or an unwillingness/inability of the crew to take the measurements. However, as the degradation of equipment or extreme weather conditions would have been documented in some way a sudden lack of enthusiasm is assumed to be the cause.

Line Tension

Another trend that was noticed is the slow but steady divergence of line tension over time in the line pairs 4 and 5, illustrated in figure 19:

Figure 19. Line Tension Over Time, March 2019 — May 2020

Whereas before both lines seemed to divide the strain of the barge between themselves almost equally, starting around August 2019 a higher tension is recorded in line 4. Possible causes for this could be a simple retying or loosening of line 5, or the deterioration of this line’s measuring device. An interesting addition is that this occurrence was noticed by two group members separately, as a similar shift in tension can also be found in the line tension histogram for these lines, as shown in Figure 20:

Figure 20. Frequency of different Line Tensions for lines 4 and 5, for Winds coming from all Directions

LNG Carrier Influence

A rather straightforward correlation was found between the presence of an LNG Carrier alongside the Tango FLNG and an increase in line tension as shown in Figure 21. The movement of this now much larger mass puts the lines under a higher tension, as would be expected. Although this isn’t by any means a groundbreaking discovery, the group was surprised with how clearly this information was represented. It also (partially) fulfills EXMAR’s original goal in studying what parameters induce a higher line tension.

Figure 21. Line Tension in Line 1, with and without an LNG carrier alongside for different wind directions


The final and most relevant result of this project is the completed data cleaning and visualisation code, in the form of two Jupyter notebooks. All code was kept as general as possible to allow the integration of further measurements with minimal effort. A final version of these will be sent to EXMAR to support their own analysis. The use of Jupyter notebooks proved useful in this sense as additional Information about the code can be directly given in the form of “markdown”, helping someone with minimal programming experience understand it.


[1] U. E. I. Administration, “Natural gas explained: Liquid natural gas,” U.S. Energy Information Administration, 15 July 2020. [Online]. Available: https://www.eia.gov/energyexplained/natural-gas/liquefied-natural-gas.php. [Accessed 28 September 2020].

[2] J. Raes, “http://exmar.be/," 6 June 2019. [Online]. Available: http://exmar.be/sites/default/files/media/tango_flng_fully_commissioned_06062019_0.pdf. [Accessed 28 September 2020].

TechLabs Aachen e.V. reserves the right not to be responsible for the topicality, correctness, completeness or quality of the information provided. All references are made to the best of the authors’ knowledge and belief. If, contrary to expectation, a violation of copyright law should occur, please contact aachen@techlabs.org so that the corresponding item can be removed.