##############
Output Options
##############
.. contents::
:depth: 4
.. _rst_metadata:
Output meta information
=======================
The format for spatial data for output data is netCDF.
The cwatm/metaNetcdf.xml includes information on the output netCDF files
e.g. description of the parameter, unit ..
In the meta data file information can be added e.g. a description of the variable, unit
.. note:: It is not necessary to change this file! This is an option to put additional information into output maps
Example of a metaNetcdf.xml file:
.. literalinclude:: _static/metaNetcdf.xml
.. _rst_output:
Model Output
============
An advantage of **CWatM** is the full flexibility of the output variables.
- All parameters and variables can be used for output as maps or time series.
- Even if the model is run at daily timestep, output can be daily, monthly, annual, at the end of a run
- all variables maps are stored as netcdf and the meta data information can be added
Varity of outputs
-----------------
Time depending and non depending output maps
********************************************
| Output maps will be produced as spatial maps, stack of spatial maps (over time)
| Format: `netCDF `_
The netCDF maps can be read with:
**Windows**
- `Panoply `_
**Linux**
- `ncview `_
- `cdo `_
Or time series at specified points
**********************************
| Timeseries are produced as ASCII .csv files, which can be read with every text editor or Excel
| If you need the old version .tss with you can read with `PCRaster Aquila `_
| you need to put reportOldTss = True in [Option]
| The specific point(s) where timeseries are provided are defined in the settings file as *Gauges*:
| Can be several points in the format lon lat lon lat ..
::
# Station data
# either a map e.g. $(FILE_PATHS:PathRoot)/data/areamaps/area3.map
# or a location coordinates (X,Y) e.g. 5.75 52.25 9.25 49.75 )
# Lobith/Rhine
Gauges = 6.25 51.75 7.75 49.75
# if .tif file for gauges, this is a flag if the file is global or local
# e.g. Gauges = $(FILE_PATHS:PathRoot)/data/areamaps/gaugesRhine.tif
GaugesLocal = True
Or time series as a catchment sum or average
********************************************
As standard, time series can include values of the specific cell as defined in the settings file as *Gauges*
But time series can also show the area sum or area average of the upstream catchment from the specific cell
for example
::
[OUTPUT]
# OUTPUT maps and timeseries
# Standard values of a specific cell
OUT_TSS_Daily = discharge
OUT_TSS_AnnualAvg = Precipitation
# Area sum of upstream catchment
OUT_TSS_AreaSum_MonthTot = Precipitation, runoff
# Area sum of upstream catchment
OUT_TSS_AreaAvg_MonthTot = Precipitation
Format of output in the settings file
-------------------------------------
* per day [Daily]
* total month [MonthTot], average month [MonthAvg], end of month [MonthEnd]
* total year [AnnualTot], average year [AnnualAvg], end of year [AnnualEnd]
* total sum [TotalTot], total average [TotalAvg]
For each of the following sections output can be defined for different variables:
* Meteo
* Snow
* Soil for different land cover (forest, grassland, irrigated land, paddy irrigated)
* Water demand
* Groundwater
* River routing
* Lakes and reservoirs
**Or** output can be defined in the section *[output]*
An output directory can be defined and for each sort of output the variable(s) can be set:
| *OUT_* defines that this variable(s) are output
| *MAP_* or *TSS_* defines if it is a spatial map or a time series of point(s)
| *AreaSum_* or *AreaAvg_* after *TSS_* defines if the catchment sum of average upstream of the point is calculated
| *Daily* or *MonthAvg* or .. is specifying the time
| The variable is given after the equal sign e.g. * = discharge*
| If more than one variable should be used for output, split with **,**
| E.g. OUT_MAP_Daily = discharge -> daily spatial map of discharge
As example output for precipitation, temperature and discharge is shown here::
# OUTPUT maps and timeseries
OUT_Dir = $(FILE_PATHS:PathOut)
OUT_MAP_Daily =
OUT_MAP_MonthEnd =
OUT_MAP_MonthTot = Precipitation, Tavg
OUT_MAP_MonthAvg =
OUT_TSS_MonthTot = Precipitation, Tavg # monthly total precipitation and average temperature
OUT_TSS_Daily = discharge # daily discharge
OUT_TSS_MonthEnd = discharge
OUT_TSS_AnnualEnd = discharge
OUT_TSS_AreaSum_Daily = Precipitation # daily sum of precipitation for the upstream catchment
OUT_TSS_AreaAvg_MonthAvg = runoff # monthly average sum of runoff for the upstream catchment
.. note:: For each variable the meta data information can be defined in :ref:`rst_metadata`
Output variables
----------------
Output can be every global defined variable in the model
Variable are e.g. Precipitation, runoff, baseflow
but also not so common variables as:
- reservoirStorage (amount of water in the reservoirs in [m3])
- nonIrrReturnFlowFraction (returnflow from domestic and industrial water use [m3])
- actualET[1] (actual evapotranspiration from grassland [m/day])
- ...
Most important output variables - a selection
*********************************************
::
#Variable name : Description
discharge : river discharge
runoff : runoff
Precipitation : rainfall + snow
Tavg : average temperature
ETRef: potential : evaporation from reference soil
sum_gwRecharge : total groundwater recharge
totalET : total actual evapotranspiration
baseflow : baseflow from groundwater
... (to be continued)
Output variables - a list
*************************
| A list of variables can be produced by using:
| grep -d recurse 'self.var.' \*.py
| Every self.var.variable can be used as output variable
| For a description of the variable please take a look at the python module itself.
| .
| As output variable, use without self.var.
A list of possible output variables are in: **6 References** - List of variables.
Daily, monthly - at the end or average
--------------------------------------
* per day
* total month, average month, end of month
* total year, average year, end of year
* total average, total at the end
available prefixes are: 'daily', 'monthtot','monthavg', 'monthend','annualtot','annualavg','annualend','totaltot','totalavg'
for example
::
[OUTPUT]
# OUTPUT maps and timeseries
OUT_Dir = $(FILE_PATHS:PathOut)
OUT_MAP_Daily = discharge, runoff, actualET[1]
OUT_MAP_MonthAvg = Precipitation
OUT_MAP_TotalEnd = lakeStorage
OUT_MAP_TotalAvg = Tavg
OUT_TSS_Daily = discharge
OUT_TSS_MonthTot = runoff
OUT_TSS_AnnualAvg = Precipitation
OUT_TSS_AnnualTot = runoff
.. note:: For each variable the meta data information can be defined in :ref:`rst_metadata`
.. note:: We are not very precise when to use capital letter for some output variables. But we fear now, if we change the variable name, we will forget it somewhere.