argofloats: Simple CLI for ArgoVis and Argofloats

Overview

argofloats: Simple CLI for ArgoVis and Argofloats

Twitter URL Hits-of-Code CI argofloats DOI PyPI - License PyPI Downloads

Argo is an international program that collects information from inside the ocean using a fleet of robotic instruments that drift with the ocean currents and move up and down between the surface and a mid-water level. Each instrument (float) spends almost all its life below the surface. The name Argo was chosen because the array of floats works in partnership with the Jason earth observing satellites that measure the shape of the ocean surface. (In Greek mythology Jason sailed on his ship the Argo in search of the golden fleece). To learn more about Argo, how it works, its data and technology, and its scientific and environmental impact, click here.

float_cycle_1

The argofloats tool builds on the argovis API and allows the user to perform basic operations like search for and export platform and profile data, parse metadata and so on and more functionality will be added to this tool in the future.

Disclaimer: This is an unofficial tool. It is created and maintained by Samapriya Roy.

Tool Citation

Samapriya Roy. (2022). samapriya/argofloats: Simple CLI for ArgoVis and Argofloats (0.0.3).
Zenodo. https://doi.org/10.5281/zenodo.5852639

Citation

These data were collected and made freely available by the International Argo Program and the national programs that contribute to it. (https://argo.ucsd.edu, https://www.ocean-ops.org). The Argo Program is part of the Global Ocean Observing System.

The general Argo DOI is below.

Argo (2000). Argo float data and metadata from Global Data Assembly Centre (Argo GDAC). SEANOE. https://doi.org/10.17882/42182

If you used data from a particular month, please add the month key to the end of the DOI url to make it reproducible. The key is comprised of the hashtag symbol (#) and then numbers. For example, the key for August 2020 is 76230. The citation would look like:

Argo (2020). Argo float data and metadata from Global Data Assembly Centre (Argo GDAC) – Snapshot of Argo GDAC of August 2020. SEANOE. https://doi.org/10.17882/42182#76230

ArgoVis citation

Argovis API was used to parse through and get to the datasets, you can cite argovis using the following

Tucker, T., D. Giglio, M. Scanderbeg, and S.S. Shen, 2020: Argovis: A Web Application for Fast Delivery,
Visualization, and Analysis of Argo Data. J. Atmos. Oceanic Technol., 37 (3), 401-416
https://doi.org/10.1175/JTECH-D-19-0041.1

Readme Docs available online

Table of contents

Installation

This assumes that you have native python & pip installed in your system, you can test this by going to the terminal (or windows command prompt) and trying

python and then pip list

argofloats only supports Python v3.4 or higher

This command line tool is dependent on functionality from GDAL For installing GDAL in Ubuntu

sudo add-apt-repository ppa:ubuntugis/ppa && sudo apt-get update
sudo apt-get install gdal-bin
sudo apt-get install python-gdal

Windows Setup

Shapely and a few other libraries are notoriously difficult to install on windows machines so follow the steps mentioned here before installing porder. You can download and install shapely and other libraries from the Unofficial Wheel files from here download depending on the python version you have. Do this only once you have install GDAL. I would recommend the steps mentioned above to get the GDAL properly installed. However I am including instructions to using a precompiled version of GDAL similar to the other libraries on windows. You can test to see if you have gdal by simply running

gdalinfo

in your command prompt. If you get a read out and not an error message you are good to go. If you don't have gdal try Option 1,2 or 3 in that order and that will install gdal along with the other libraries

Option 1:

Simply run argofloats -h after installation. This should go fetch the extra libraries you need and install them. Once installation is complete, the porder help page will show up. This should save you from the few steps below.

Option 2:

If this does not work or you get an unexpected error try the following commands. You can also use these commands if you simply want to update these libraries.

pipwin refresh
pipwin install gdal

Option 3

For Windows I also found this guide from UCLA

Also for Ubuntu Linux I saw that this is necessary before the install

sudo apt install libcurl4-openssl-dev libssl-dev

This also needs earthengine cli to be installed and authenticated on your system and earthengine to be callable in your command line or terminal

To install argofloats: Simple CLI for Earth Engine Uploads you can install using two methods.

pip install argofloats

or you can also try

git clone https://github.com/samapriya/argofloats.git
cd argofloats
python setup.py install

For Linux use sudo or try pip install argofloats --user.

I recommend installation within a virtual environment. Find more information on creating virtual environments here.

Getting started

As usual, to print help:

argofloats -h
usage: argofloats [-h] {overview,pm,plm,profile-export} ...

Simple CLI for ArgoVis & Argofloats

positional arguments:
  {overview,pm,plm,profile-export}
    overview            Get overview of platforms and profiles
    pm                  Get Platform metadata
    plm                 Get Platform Profile metadata
    profile-export      Export profile based on Platform Profile ID, Lat, Long
                        or Geometry GeoJSON file

optional arguments:
  -h, --help            show this help message and exit

To obtain help for specific functionality, simply call it with help switch, e.g.: argofloats pm -h. If you didn't install argofloats, then you can run it just by going to argofloats directory and running python argofloats.py [arguments go here]

Simple CLI for ArgoVis and Argofloats

The tool is designed to interact with the Argofloats Argovis API

overview

The overview tool fetches the latest information about platform and profile count, last updated as well as the distribution of datasets across the different data centes or DACs. There are no arguments for this tool

argofloats_overview

Platform Metadata

The tool fetches metadata about a platform as pretty prints the information as a JSON object. This does require a Platform ID also called WMO number for the argo float.

argofloats_pm

Profile metadata

Each platform consists of profiles where each profile is attached to a platform and is a single cycle of data collection. So platforms can have multiple profiles and generally represented as PlatformID_ProfileNo. This is the argument used by the tool and it pulls the metadata for that specific profile for that platform/argo float.

argofloats_plm

Profile Export

This tool allows you to search the argo floats database using either a lat long and a buffer area , or a geometry.geojson file or a given profile id. This tool is also capable to running long time searches overcoming the 3 month limit constrained by the argovis API. All use cases are shown below. The outputs are written as CSV file with a prefix argoprofile_

Using Profile ID

This uses the pofile ID and simply exports the profile as a CSV

argofloats_export_plid

Using point geometry

This uses a lat long and radius to search in kilometers along with start and end date and exports all matching profiles to individual CSV files

argofloats_export

Using geometry GeoJSON file

This makes uses of a geojson file along with start and end date and exports all matching profiles to individual CSV files

argofloats_export_geom

Changelog

v0.0.3

  • Added readme to the overall tool.
  • Improved profile metadata parsing
  • Added version check for all future pypi versions

v0.0.2

  • Added readme and created new branch.
You might also like...
Dead simple CLI tool to try Python packages - It's never been easier! :package:
Dead simple CLI tool to try Python packages - It's never been easier! :package:

try - It's never been easier to try Python packages try is an easy-to-use cli tool to try out Python packages. Features Install specific package versi

QueraToCSV is a simple python CLI project to convert the Quera results file into CSV files.

Quera is an Iranian Learning management system (LMS) that has an online judge for programming languages. Some Iranian universities use it to automate the evaluation of programming assignments.

Simple CLI tool to track your cryptocurrency portfolio in real time.
Simple CLI tool to track your cryptocurrency portfolio in real time.

Simple tool to track your crypto portfolio in realtime. It can be used to track any coin on the BNB network, even obscure coins that are not listed or trackable by major portfolio tracking applications.

Un module simple pour demander l'accord de l'utilisateur dans une CLI.
Un module simple pour demander l'accord de l'utilisateur dans une CLI.

Demande de confirmation utilisateur pour CLI Présentation ask_lib est un module pour le langage Python proposant une seule fonction; ask(). Le but pri

A simple cli tool to commit Conventional Commits

convmoji A simple cli tool to commit Conventional Commits. Requirements Install pip install convmoji convmoji --help Examples A conventianal commit co

NudeNet wrapper made to provide a simple cli interface to the library

Nudenet Wrapper. Small warpper script for NudeNet Made to provide a small and easy to use cli interface with the library. You can indicate a single im

A simple note taker CLI program written in python
A simple note taker CLI program written in python

note-taker A simple note taker program written in python This allows you to snip your todo's, notes, and your tasks easily without extra charges Requi

Simple CLI prompt for easy I/O with OpenAI's API

openai-cli-prompt Simple CLI prompt for easy I/O with OpenAI's API Quickstart Create a .env file with: OPENAI_API_KEY=Your OpenAI API Key Configure

pypinfo is a simple CLI to access PyPI download statistics via Google's BigQuery.
pypinfo is a simple CLI to access PyPI download statistics via Google's BigQuery.

pypinfo: View PyPI download statistics with ease. pypinfo is a simple CLI to access PyPI download statistics via Google's BigQuery. Installation pypin

Releases(0.0.7)
  • 0.0.7(Feb 20, 2022)

    Argo is an international program that collects information from inside the ocean using a fleet of robotic instruments that drift with the ocean currents and move up and down between the surface and a mid-water level. Each instrument (float) spends almost all its life below the surface. The name Argo was chosen because the array of floats works in partnership with the Jason earth observing satellites that measure the shape of the ocean surface. (In Greek mythology Jason sailed on his ship the Argo in search of the golden fleece). To learn more about Argo, how it works, its data and technology, and its scientific and environmental impact, click here.

    float_cycle_1

    The argofloats tool builds on the argovis API and allows the user to perform basic operations like search for and export platform and profile data, parse metadata and so on and more functionality will be added to this tool in the future.

    Disclaimer: This is an unofficial tool. It is created and maintained by Samapriya Roy.

    As usual, to print help:

    argofloats -h
    usage: argofloats [-h] {readme,overview,pm,plm,global-search,platform-profiles,profile-export} ...
    
    Simple CLI for ArgoVis & Argofloats
    
    positional arguments:
      {readme,overview,pm,plm,global-search,platform-profiles,profile-export}
        readme              Go the web based porder readme page
        overview            Get overview of platforms and profiles
        pm                  Get Platform metadata
        plm                 Get Platform Profile metadata
        global-search       Global search reports using platform, profile or BGC type
        platform-profiles   Export all profiles for a given platform
        profile-export      Export profile based on Platform Profile ID, Lat, Long or Geometry GeoJSON file
    
    optional arguments:
      -h, --help            show this help message and exit
    

    Changelog

    v0.0.7

    • added BGC export for profiles apart from core export
    • added Global search capability for quick filter and export using keywords

    v0.0.6

    • Improved error handling
    • Better readout if search yields nothing
    • General improvements & file skipping if exists

    v0.0.5

    • Added readme tool to open in browser

    v0.0.4

    • Fixed relative import of geopandas.
    • Added platform profiles export tool.
    • Minor general improvements.

    v0.0.3

    • Added readme to the overall tool.
    • Improved profile metadata parsing
    • Added version check for all future pypi versions

    v0.0.2

    • Added readme and created new branch.
    Source code(tar.gz)
    Source code(zip)
  • 0.0.6(Feb 3, 2022)

    Argo is an international program that collects information from inside the ocean using a fleet of robotic instruments that drift with the ocean currents and move up and down between the surface and a mid-water level. Each instrument (float) spends almost all its life below the surface. The name Argo was chosen because the array of floats works in partnership with the Jason earth observing satellites that measure the shape of the ocean surface. (In Greek mythology Jason sailed on his ship the Argo in search of the golden fleece). To learn more about Argo, how it works, its data and technology, and its scientific and environmental impact, click here.

    float_cycle_1

    The argofloats tool builds on the argovis API and allows the user to perform basic operations like search for and export platform and profile data, parse metadata and so on and more functionality will be added to this tool in the future.

    Disclaimer: This is an unofficial tool. It is created and maintained by Samapriya Roy.

    As usual, to print help:

    argofloats -h
    usage: argofloats [-h] {overview,pm,plm,platform-profiles,profile-export} ...
    
    Simple CLI for ArgoVis & Argofloats
    
    positional arguments:
      {readme,overview,pm,plm,platform-profiles,profile-export}
        readme              Go the web based porder readme page
        overview            Get overview of platforms and profiles
        pm                  Get Platform metadata
        plm                 Get Platform Profile metadata
        platform-profiles   Export all profiles for a given platform
        profile-export      Export profile based on Platform Profile ID, Lat, Long
                            or Geometry GeoJSON file
    
    optional arguments:
      -h, --help            show this help message and exit
    

    Changelog

    v0.0.6

    • Improved error handling
    • Better readout if search yields nothing
    • General improvements & file skipping if exists

    v0.0.5

    • Added readme tool to open in browser

    v0.0.4

    • Fixed relative import of geopandas.
    • Added platform profiles export tool.
    • Minor general improvements.

    v0.0.3

    • Added readme to the overall tool.
    • Improved profile metadata parsing
    • Added version check for all future pypi versions

    v0.0.2

    • Added readme and created new branch.
    Source code(tar.gz)
    Source code(zip)
  • 0.0.4(Jan 16, 2022)

    Argo is an international program that collects information from inside the ocean using a fleet of robotic instruments that drift with the ocean currents and move up and down between the surface and a mid-water level. Each instrument (float) spends almost all its life below the surface. The name Argo was chosen because the array of floats works in partnership with the Jason earth observing satellites that measure the shape of the ocean surface. (In Greek mythology Jason sailed on his ship the Argo in search of the golden fleece). To learn more about Argo, how it works, its data and technology, and its scientific and environmental impact, click here.

    float_cycle_1

    The argofloats tool builds on the argovis API and allows the user to perform basic operations like search for and export platform and profile data, parse metadata and so on and more functionality will be added to this tool in the future.

    Disclaimer: This is an unofficial tool. It is created and maintained by Samapriya Roy.

    As usual, to print help:

    argofloats -h
    usage: argofloats [-h] {overview,pm,plm,profile-export} ...
    
    Simple CLI for ArgoVis & Argofloats
    
    positional arguments:
      {overview,pm,plm,platform-profiles,profile-export}
        overview            Get overview of platforms and profiles
        pm                  Get Platform metadata
        plm                 Get Platform Profile metadata
        platform-profiles   Export all profiles for a given platform
        profile-export      Export profile based on Platform Profile ID, Lat, Long or Geometry GeoJSON file
    
    optional arguments:
      -h, --help            show this help message and exit
    

    Changelog

    v0.0.4

    • Fixed relative import of geopandas.
    • Added platform profiles export tool.
    • Minor general improvements.

    v0.0.3

    • Added readme to the overall tool.
    • Improved profile metadata parsing
    • Added version check for all future pypi versions

    v0.0.2

    • Added readme and created new branch.
    Source code(tar.gz)
    Source code(zip)
  • 0.0.3(Jan 15, 2022)

    Argo is an international program that collects information from inside the ocean using a fleet of robotic instruments that drift with the ocean currents and move up and down between the surface and a mid-water level. Each instrument (float) spends almost all its life below the surface. The name Argo was chosen because the array of floats works in partnership with the Jason earth observing satellites that measure the shape of the ocean surface. (In Greek mythology Jason sailed on his ship the Argo in search of the golden fleece). To learn more about Argo, how it works, its data and technology, and its scientific and environmental impact, click here.

    float_cycle_1

    The argofloats tool builds on the argovis API and allows the user to perform basic operations like search for and export platform and profile data, parse metadata and so on and more functionality will be added to this tool in the future.

    Disclaimer: This is an unofficial tool. It is created and maintained by Samapriya Roy.

    As usual, to print help:

    argofloats -h
    usage: argofloats [-h] {overview,pm,plm,profile-export} ...
    
    Simple CLI for ArgoVis & Argofloats
    
    positional arguments:
      {overview,pm,plm,profile-export}
        overview            Get overview of platforms and profiles
        pm                  Get Platform metadata
        plm                 Get Platform Profile metadata
        profile-export      Export profile based on Platform Profile ID, Lat, Long
                            or Geometry GeoJSON file
    
    optional arguments:
      -h, --help            show this help message and exit
    

    Changelog

    v0.0.3

    • Added readme to the overall tool.
    • Improved profile metadata parsing
    • Added version check for all future pypi versions

    v0.0.2

    • Added readme and created new branch.
    Source code(tar.gz)
    Source code(zip)
Owner
Samapriya Roy
Remote Sensing Applications, Large Scale Data Analytics and Visualization, Geospatial Analysis
Samapriya Roy
GDBIGtools: A command line tools for GDBIG varaints browser

GDBIGtools: A command line tools for GDBIG varaints browser Introduction Born in Guangzhou Cohort Study Genome Research Database is based on thousands

广州市出生队列基因组学研究(The genomics study of BIGCS) 7 Sep 14, 2022
A simple python application for running a CI pipeline locally

A simple python application for running a CI pipeline locally This app currently supports GitLab CI scripts

Tom Stowe 0 Jan 11, 2022
Cthulhu is a simple python CLI application that streams torrents directly from 1337x.

Cthulhu is a simple python CLI application that facilitates the streaming of torrents directly from 1337x. It uses webtorrent to stream video

Raiyan 27 Dec 27, 2022
Shellmon is a tool used to create and control a webshell remotely, created using the Python3

An Simple PHP Webshell Manager Description Shellmon is a tool used to create and control a webshell remotely, created using the Python3 programming la

22XploiterCrew 12 Dec 30, 2022
CLI/library to control FNIRSI DC Power Supply (DC-6006L, etc)

dc6006l - CLI/library to control FNIRSI DC Power Supply (DC-6006L, etc) What is this? FNIRSI DC6006L is a programmable DC power supply that is quite c

Taisuke Yamada 7 Sep 25, 2022
A simple Python library that allows you to customize your CLI based output on Linux

Terminal-Colored-Print About A small module that allows to simply decorate strings on Linux terminals. I personally use it for multi-threaded project,

Francesco Milano 0 Dec 13, 2021
jenkins-tui is a terminal based user interface for Jenkins.

jenkins-tui 📦 jenkins-tui is a terminal based user interface for Jenkins. 🚧 ⚠️ This app is a prototype and in very early stages of development. Ther

Craig Gumbley 22 Oct 24, 2022
🐾 Get the nftables counters easier to read

nft-stats Get the nftables counters easier to read It kind of hard to read the output of nft list ruleset so there is a small program parcising the ou

7 Oct 08, 2022
Management commands to help backup and restore your project database and media files

Django Database Backup This Django application provides management commands to help backup and restore your project database and media files with vari

687 Jan 04, 2023
Jupyter notebook client in neovim

🪐 Jupyter-Nvim Read jupyter notebooks in neovim Note: The plugin is still in alpha stage 👾 Usage Just open any *.ipynb file and voila! ✨ Contributin

Ahmed Khalf 85 Dec 29, 2022
A command line tool to hide and reveal information inside images (works for both PNGs and JPGs)

ImgReRite A command line tool to hide and reveal information inside images (work

Jigyasu 10 Jul 27, 2022
Voidlx is a terminal cli apps launcher made in python

Voidlx is a terminal cli apps launcher made in python

2 Nov 13, 2021
topalias - Linux alias generator from bash/zsh command history with statistics, written on Python.

topalias topalias - Linux alias generator from bash/zsh command history with statistics, written on Python. Features Generate short alias for popular

Sergey Chudakov 38 May 26, 2022
A CLI application that downloads your AC submissions from OJ's like Atcoder,Codeforces,CodeChef and distil it into beautiful Submission HeatMap.

Yoda A CLI that takes away the hassle of managing your submission files on different online-judges by automating the entire process of collecting and organizing your code submissions in one single Di

Nikhar Manchanda 1 Jul 28, 2022
Convert ACSM files to DRM-free EPUB files with one command on Linux

Knock Convert ACSM files to DRM-free EPUB files using one command. This software does not utilize Adobe Digital Editions nor Wine. It is completely fr

Benton Edmondson 622 Dec 09, 2022
Simple subcommand CLIs with argparse

multicommand Simple subcommand CLIs with argparse. multicommand uses only the standard library and is ~150 lines of code (modulo comments and whitespa

Andrew Ross 10 Aug 01, 2022
Lexeme - CLI to play a word-guessing game like Wordle

What is this? Python program to play a word-guessing game like Wordle, but… More addictive because you can play it over and over and over, not just on

Dan Lenski 6 Oct 26, 2022
Euporie is a text-based user interface for running and editing Jupyter notebooks

Euporie is a text-based user interface for running and editing Jupyter notebooks

781 Jan 01, 2023
Python3 parser for Apple's crash reports

pyCrashReport in intended for analyzing crash reports from Apple devices into a clearer view, without all the thread listing and loaded images, just the actual data you really need to debug the probl

7 Aug 19, 2022
A command-line tool to flash python code to Codey Rocky without having to use the online mblock5 IDE.

What? A command-line tool to flash python code to Codey Rocky without having to use the online mblock5 IDE. Description This is a very low-effort proj

1 Dec 29, 2021