Developer Documentation

Running Raven from Python

The RAVEN hydrological model is designed to be run from the terminal; it’s not available as a routine in a library. To use it within Python means that we actually need to create configuration files on disk and then launch the RAVEN model in that directory. There is a considerable amount of boilerplate code involved that we’ve hidden in the Raven class and subclasses for each emulated model.

Here is an example of how the GR4J emulator would be called using input test data.

from raven.models import GR4JCemaneige
from tests.common import TESTDATA

ts = TESTDATA['raven-gr4j-cemaneige-nc-ts']
gr4j = GR4JCemaneige(workdir='/tmp/test')
params = gr4j.RVP.params(0.529, -3.396, 407.29, 1.072, 16.9, 0.947)
gr4j([ts,],  rvp={'params':params}, rvi={'start_date':dt.datetime(2000, 1, 1), 'end_date':dt.datetime(2002, 1, 1)}, rvh={'area':4100})
gr4j.diagnostics['DIAG_RMSE']
>>> 39.701