Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

MPV: Matlab Profiles Visualization

This application that has been developed by OGS to support the activities related to the Delayed-Mode Quality Control (DMQC) of the MOCCA Argo fleet in the Mediterranean and Black Seas.

The application is called Matlab Profiles Visualization (MPV) and it is a user friendly tool that reads the Argo NetCDF files, converts the files in MATLAB format, allows Argo profiles selection, produces graphs of temperature and salinity, performs a tailored comparison between the float and reference profiles and provides the main information of float profiles.


The MPV tool has been developed with MATLAB (version R2017b) and it has been tested on both LINUX and Windows platforms. It requires the use of the MATLAB Mapping Toolbox ( The MPV has been built in MATLAB environment using an Object-Oriented Programming (OOP). The MPV allows to select specific float profiles to be compared with the reference dataset. Moreover, it provides with several diagrams in support of the DMQC analysis.


The MPV exploits the OOP features of MATLAB to couple analysis algorithms with a Graphical User Interface (GUI).

The program differs from common MATLAB scripts since it creates a user-driven space where a user can interact with the app, for instance, by entering text or by clicking a button. Every action is followed by a function call (callback function) and the execution of some code. Callbacks are short functions that must obtain some data to do their job, update the app if necessary and store results for other callbacks. The app is just a container and a manager of small functions needed to get a larger task. MATLAB offers a GUIDE, an interface to create interactively the GUI but it provides only a small set of widgets. MPV has been built from scratch by hand and depends on two main classes:

  • ArgoUI: it is the main GUI object that creates the main graphical interface and provides the user with every options and information needed to load, visualize and analyse data.
  • ArgoPlot: it manages plots of profiles and the interaction with them through the user mouse pointer. For instance, plotted profiles can be selected with the mouse and compared with reference profiles.

The plotting windows are standard MATLAB figure plots. Custom plot windows could be created but they provide less features of the standard MATLAB ones. ArgoUI and ArgoPlot use some external callback functions (defined in a separate source file) to operate on profiles.


In the "Argo" launcher script, set the following paths:

  1. root (where your reference CTD files are)
  2. float_data (where your float files are)
  3. dataPath (CTD reference files folder)

In your CTD reference files folder, CTD files (in the form: ctd_wmobox.mat) have to be grouped per sub-basins (sub-folders named "Adriatic, Ionian, ...)

In the compare script the polygon of the main area of interest is loaded ('medPol.mat'):

med = load(fullfile(, 'medPol.mat'));

The MPV is launched by typing argo in the MATLAB Command Window

A complete description on how to use the software and examples are given in the report: "D4.4.3 Argo App for data reading, plotting and comparison v0.2"


A Matlab GUI to work with Argo data







No releases published


No packages published