Skip to content
HankHerr-NOAA edited this page Jul 17, 2024 · 29 revisions

The Water Resources Evaluation Service

The Water Resources Evaluation Service (WRES) is a comprehensive service for evaluating the quality of hydrologic models and forecast systems. The WRES performs all steps of the data-to-statistics transformation pipeline required to perform an evaluation, from data ingest, to constructing observed-prediction pairs, allocating those pairs to pools, computing statistics for each pool, and outputting results.

What are the modes of operation provided by the WRES?

The WRES has three modes of operation:

  • Via a WRES web-service instance. This mechanism of use is described in the wiki, WRES Web Service (wiki is yet to be written), which includes instructions for setting up such an instance. An example WRES web-service instance is the Central OWP WRES (COWRES) hosted at the National Water Center (NWC) in Tuscaloosa, Alabama, and available for use from National Weather Service (NWS) River Forecast Center (RFC) and Office of Water Prediction (OWP) machines.

  • Via a command-line application. This mechanism of use is described below and requires either downloading a release artifact and unzipping it or building and installing the code locally using a clone.

  • Via a long-running, WRES local-server instance. This mechanism of use is described in the wiki WRES Local Server. It, too, requires either downloading a release artifact and unzipping it or building and installing the code locally using a clone.

In each mode, the user can either run an evaluation in-memory, the size of the evaluation limited by memory allocation, or use a database, supporting large evaluations of many features and many time series. See Instructions for Using WRES for more information.

What are the general instructions for using the WRES to perform an evaluation?

See Instructions for Using WRES. That wiki will redirect you to other wikis, as needed, including to the Declaration language wiki for evaluation declaration instructions, and wikis specific to how you want to execute the evaluation (via command-line execution, long-running local-server, or full WRES web-service).

What if I just want to download a release and run the WRES as a command-line application?

Running the WRES as a command-line application may be the simplest way to execute it, but its also not as robust and requires local updates and support. If a WRES web-service instance is available, its highly recommended that you use it. Still, instructions for downloading and executing are below.

1. Make sure you have the correct version of Java, which must be at least Java 17+.

2. Obtain the latest distribution .zip and install the software locally.

  1. Navigate to the releases page, https://github.com/NOAA-OWP/wres/releases.

  2. Download the latest core zip from the assets of the most recent deployment. That .zip should follow the pattern, wres-DATE-VERSION.zip.

3. Unpackage the file and execute your evaluation project.

Unzip the release package and change directory to the unzipped wres directory. To execute a project you can run the following command:

bin/wres execute yourProject.yml

What if I want to obtain and build the software, and run my built WRES?

Obtaining and running a locally built WRES may be important for developers, but, if you just want to run it, using a release package is recommended, as described above. Instructions for building the WRES are below.

1. Make sure you have the correct version of Java, which must be at least Java 17+.

2. Obtain and build the WRES software.

To build WRES for local use, clone the repository, and run the following commands in your preferred terminal (use gradlew.bat on a Windows machine):

./gradlew check javadoc installDist

This is similar to unzipping the production distribution zip locally. The WRES software will be built and installed in build/install/wres directory, as if unzipped.

3. Navigate to the built and installed software and execute your evaluation project.

Do the following:

cd build/install/wres/
bin/wres execute yourProject.yml

Runing an example evaluation using system testing data available in the cloned repository.

Once the software has been built and installed locally, running the following command (use wres.bat on a Windows machine) will execute a test project using the executable you have created (this running successfully is reliant on being in the wres/build/install/wres directory):

bin/wres ../../../systests/testScenario/evaluation.yml
Clone this wiki locally