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
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)
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
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
COVALI - a sub-system for comparison and validation of atmospheric and other Earth science models (funded by EarthCube CyberWay)
Example:
General Demo:
COVALI has different projection options and 3-D view to enable multi-perspective viewing the data.
Search results are listed in a panel where users can directly download the files or load them into the maps.
COVALI supports visualizing GRIB/NetCDF data on the maps.
COVALI provides a Settings menu to controll the two maps. It allows users to manage the added data layers.
COVALI provides a number of tools to facilitate the comparison and validation among the data.
Create an animation from multiple data time steps.
Users can draw points or lines on the map to get a statistics on the values on the points or along the lines.
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
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)
ncdump is supported for providing file information for NCO and Regridding tools:
Use Alt+Shift+Drag
to rotate the map.
A demo instance has been deployed on George Mason University server. here
MIT
National Science Foundation (#1740693 and #1440294)