/cyberconnector

NSF EarthCube CyberConnector

Primary LanguageJavaScriptMIT LicenseMIT

Build Status License Coverage

CyberConnector

This repository contains code to build the COVALI application. This is a JAVA application that runs on a server Tomcat container, and supports web clients to display side by side views of the same geographic area with superimposed, geographically registered data. The principal use case is comparison of data from different sources, particularly for comparing results of different models. Data can be added dynamically to either of the side by side views. The two view extents are geographically synced to display the same area on both sides whenever the view is panned, zoomed, or rotated.

The viewer can display data from various sources:

  • GRIB/NetCDF files locally accessible from the server
  • Uploaded NetCDF, GRIB or GeoJSON files
  • ncWMS services on the web
  • Online (URL) accessible NetCDF, GRIB or GeoJSON files
  • A CHORDS server accessible via URL
  • IRIS seismology stations

Other functions include:

  • Create an animation from multiple data time steps
  • Get statistics for values at points or along a section line
  • Regridding NetCDF data is supported, but requires additional software installation
  • Supports some NetCDF operators for selected variables; operators include average, add, subtract, multiply, divide, and scriptable arithmetic operations.
  • Supports ncdump operation to get description of file content

An NSF EarthCube Building Block project

CyberConnector Online Documentation

Installation

Prerequisite

Java 1.8+ (mandatory, OpenJDK)

Apache Tomcat 8.0+ (mandatory, web container)

ncWMS 2.4.1+ (mandatory, download ncWMS.war and deploy it into Tomcat webapps folder)

cc-thredds-pycsw (optional, if you plan to set up your own catalog)

Apache Maven 3.5.0+ (optional, building CyberConnector.war from source)

Quick Start

Automated Installer

The CyberConnector installer in this release supports CentOS, Ubuntu/Debian and Mac OS X operating systems. To get started download the latest source code. The installer script requires two parameters: the Anaconda directory and the data directory paths.

Example usage:

cd install
./install.sh /opt/anaconda3 /data

Docker Image

We published a Docker image in DockerHub for docker users. The pull command is:

docker pull csiss/cc

The run command is:

docker run -p 8080:8080 -v DATAPATH:/home/jboss/covaliFiles csiss/cc

Modules

COVALI - a sub-system for comparison and validation of atmospheric and other Earth science models (funded by EarthCube CyberWay)

Usage

COVALI

Example:

comparison

General Demo:

general

Roam around the Globe

roam

COVALI has different projection options and 3-D view to enable multi-perspective viewing the data.

globe

Search Data

Search in UCAR server

ucar

Search in the public folder

local

Search results are listed in a panel where users can directly download the files or load them into the maps.

localresult

Add Data

COVALI supports visualizing GRIB/NetCDF data on the maps.

visualization

Settings

COVALI provides a Settings menu to controll the two maps. It allows users to manage the added data layers.

settings

Tools

COVALI provides a number of tools to facilitate the comparison and validation among the data.

Animation

Create an animation from multiple data time steps.

animdemo

Statistic Report

Users can draw points or lines on the map to get a statistics on the values on the points or along the lines.

linestats

Regridding

Regridding for NetCDF data is supported but requires additional configuration. Regridding uses ESMF (Earth Science Modeling Framework) and xESMF Python libraries.

First, Anaconda must be installed and it's location must be set in config.properties file. For example: anaconda_path=/opt/anaconda3

Second, a new environment with correct dependencies must be configured:

conda create -n esmpy8 -y
conda install -y -n esmpy8  -c conda-forge "esmf!=*nompi" esmpy xarray=0.14.1 scipy dask netCDF4 xesmf libnetcdf=4.6.2 netcdf4=1.5.1

regridding

NCO Operations

The following NetCDF operators are supported for selected variables in files:

  • ncra (Record Average)
  • ncbo (Binary Operators: Add, Subtract, Multiply, Divide)
  • ncap2 (Scriptable Arithmetic Operator)

ncra

ncbo

ncap2

ncdump is supported for providing file information for NCO and Regridding tools:

ncdump

Map rotation

Use Alt+Shift+Drag to rotate the map.

rotate

Demo Site

A demo instance has been deployed on George Mason University server. here

License

MIT

Developers

developer list

Funders

National Science Foundation (#1740693 and #1440294)

nsf