This software is an interactive tool for helping in first Quality Control (1st QC, QC1) of Hydrographic Cruise Data. Fully open source code built mainly in Python but using Node, JavaScript, HTML5 and related technologies. It can be run on most Unix, Windows and MacOS systems.
The development of this tool was initially funded by H2020-AtlantOS project for Optimising and Enhancing the Integrated Atlantic Ocean Observing Systems, being this funded by the European Union's Horizon 2020 research and innovation programme under grant agreement No 633211.
Version 1.0 was released under as Deliverable D2.6 GO-SHIP Software and Manuals: Software packages and best practice manuals and knowledge transfer for sustained quality control of hydrographic sections in the Atlantic of H2020-AtlantOS Work package 2.1, being a Global Ocean Ship-Based Hydrographic Investigations Programme (GO-SHIP) task for support the quality assurance of on-going surveys and perform Quality Control (QC) procedures
Since version 1.0 to 1.4.0, the application had no specific nor continuous funding for its development, having received partial support from H2020-COMFORT project and being also a contribution to WATER:iOS Interdisciplinary Thematic Platform @WATER_IOS_CSIC
From 1.5.0 onwards is supported by Euro GO-SHIP (Grant #101094690), a EU-HORIZON project for Developing a research infraestructure concept to support european hydrography
Since v1.6.0 having Octave installed is no longer a recomendation, as internal Octave code was translated to python. Full app functionality can be provided alone with the provided installers
Version v1.7.0 fully removed Octave engine
It's not essential for this software to run, but in order to take advantage of the main functionalities of this software program it is absolutly recommended to have GNU Octave installed, as most parameter calculations relies on Octave/Matlab code. Installers can be found here
Releases (https://github.com/EuroGO-SHIP/AtlantOS_QC/releases):
- Windows x64, AtlantOS.Ocean.Data.QC.Setup.1.7.0.exe
- macOS: AtlantOS.Ocean.Data.QC-1.7.0-arm64.dmg (Apple Silicon) | AtlantOS.Ocean.Data.QC-1.7.0.dmg
- GNU/linux deb (Ubuntu, Debian,...): ocean-data-qc_1.7.0_amd64.deb
- GNU/Linux rpm (RedHat, SuSe, ...): ocean-data-qc-1.7.0.x86_64.rpm
- GNU/Linux snap: ocean-data-qc_1.7.0_amd64.snap
- GNU/Linux AppImage: AtlantOS.Ocean.Data.QC-1.7.0.AppImage
Source code:
- latest:
- v1.7.0: [https://github.com/EuroGO-SHIP/AtlantOS_QC/archive/refs/tags/v1.7.0.tar.gz]
- v1.6.0: [https://github.com/EuroGO-SHIP/AtlantOS_QC/archive/refs/tags/v1.6.0.tar.gz]
- v1.5.0: [https://github.com/EuroGO-SHIP/AtlantOS_QC/archive/refs/tags/v1.5.0.tar.gz]
- v1.4.0: https://github.com/ocean-data-qc/ocean-data-qc/archive/v1.4.0.tar.gz
- v1.3.0: https://github.com/ocean-data-qc/ocean-data-qc/archive/v1.3.0.tar.gz
- v1.2.0: https://github.com/ocean-data-qc/ocean-data-qc/archive/v1.2.0.tar.gz
- v1.1.1: https://github.com/ocean-data-qc/ocean-data-qc/archive/v1.1.1.tar.gz
-
Download and install base dependencies:
-
Download and install Python >=3.11. Recommended downloader and instructions: https://conda.io/miniconda.html
-
Download and install yarn. Follow instructions from: https://yarnpkg.com/ (Alternatively you can use npm)
-
OPTIONAL, not needed anymore, just in case you want to include own code: GNU Octave
- Download and install GNU Octave. Follow instructions from: https://www.gnu.org/software/octave/#install
-
-
Download this project
-
Install the python
atlantos_qc
package and its dependencies in your python setup (if you have installed python through miniconda/anaconda and is not in PATH, you have to use Anaconda Prompt as command shell):python -m pip install git+https://github.com/ocean-data-qc/tilecloud.git python -m pip install --editable . or : python -m pip install .
-
Install the node dependencies in the
atlantos_qc_js
folderyarn --cwd atlantos_qc_js/ install
-
Open the GUI from the
atlantos_qc_js
folderyarn --cwd atlantos_qc_js/ start (first launching time delays a bit, please wait)
-
Python. Python version 3 is the main language in the application. Most processing on data and files are performed through Pandas and/or NumPy libraries in python, and sent to Bokeh, which is also built on python and has an own javascript library for displaying and interacting. Python source code is presented in atlantos_qc folder in the application.
-
Bokeh (Python Library). Bokeh is an interactive visualization library that targets modern web browsers for presentation. Its goal is to provide elegant, concise construction of versatile graphics, and to extend this capability with high-performance interactivity over very large or streaming datasets. Bokeh is the main library for the application, as deals with graphic presentation and interaction (Bokeh Development Team (2014). Python library for interactive visualization. http://www.bokeh.pydata.org)
-
Electron (formerly known as Atom Shell). Electron is an open source library developed by GitHub for building cross-platform desktop applications with HTML, CSS, and JavaScript. Electron accomplishes this by combining Chromium and Node.js into a single runtime and apps can be packaged for Mac, Windows, and Linux. The application uses Electron to embed in an application the bokeh plots and drive the user interaction with interface, providing also all the menus and interfaces.
-
JavaScript. Electron is built on node, that is built with JavaScript. All code for menus, screens, and interacting elements on the application are made with Javascript. Some of the functionality are provided directly by Electron and some other by Bokeh, but the code to merge all these things were built with JavaScript. JavaScript source code is presented in atlantos_qc_js folder in the application.
This project is licensed under the GPLv3 License - see the LICENSE file for details
- @CSIC: Antón Velo [email protected]
- @CSIC: Jesús Cacabelos [email protected]
- @GEOMAR: Nico Lange [email protected]
- @GEOMAR: Toste Tanhua [email protected]
- @NORCE: Are Olsen [email protected]
- @CSIC: Fiz F. Pérez [email protected]
-
Humphreys, M. P., Schiller, A. J., Sandborn, D. E., Gregor, L., Pierrot, D., van Heuven, S. M. A. C., Lewis, E. R., and Wallace, D. W. R. (2022). PyCO2SYS: marine carbonate system calculations in Python. Zenodo. doi:10.5281/zenodo.3744275
-
CANYON-B. Adapted to run in this application
Bittig et al. (2018). An alternative to static climatologies: Robust estimation of open ocean CO2 variables and nutrient concentrations from T, S and O2 data using Bayesian neural networks. Front. Mar. Sci. 5:328. http://dx.doi.org/10.3389/fmars.2018.00328.
-
Broullón, D., Pérez, F. F., Velo, A., Hoppema, M., Olsen, A., Takahashi, T., Key, R. M., Tanhua, T., González-Dávila, M., Jeansson, E., Kozyr, A.: A global monthly climatology of total alkalinity: a neural network approach, Earth Syst. Sci. Data, 11, 1109-1127, 2019 https://doi.org/10.5194/essd-11-1109-2019
-
Velo, A., Pérez, F.F., Tanhua, T., Gilcoto, M., Ríos, A.F., Key, R.M., 2013. Total alkalinity estimation using MLR and neural network techniques. Journal of Marine Systems 111–112, 0, 11–18. https://doi.org/10.1016/j.jmarsys.2012.09.002
-
Fernandes, . (2014, August 25). python-seawater v3.3.2 (Version v3.3.2). Zenodo. http://doi.org/10.5281/zenodo.11395