AGENT BASED RUNOFF AND EROSION SIMULATION ( OARES ) : A GENERIC CROSS PLATFORM TOOL FOR SPATIO-TEMPORAL WATERSHED MONITORING USING CLIMATE FORECAST SYSTEM REANALYSIS WEATHER DATA

The aim of this study is to explore the applicability of Agent Based Modelling (ABM) for the simulation of rainfall runoff and soil erosion used in a watershed monitoring activity. The study utilizes Landsat 8 imagery for Land Use Land Cover (LULC) map generation, ASTER DEM for obtaining elevation information and Climate Forecast System Reanalysis (CFSR) 36 year weather data of Asan watershed, Uttarakhand, India. In the proposed model, four major agents (raindrops, soil, elevation and water amount) have been defined for estimating the soil erosion in the region. Moreover, the direct runoff has been simulated using the Soil Conservation Service (SCS) method. The analysis of the entire time series using this approach shows that there have been substantial changes in the rainfall runoff pattern primarily due to the varying environmental conditions of the study area since the late 1980s. Furthermore, a rough estimate of the soil erosion and deposition in the area have been computed which is aligned with the theory of sediment transport and deposition. In order to automate the entire model workflow, an open source cross platform tool has been developed using Python, R and NetLogo libraries. The Open Agent Based Runoff and Erosion Simulation (OARES) tool incorporates a generic interface for analysing large spatio-temporal datasets in watershed studies. The overall analysis concludes that the results obtained using ABM are comparable to that of the conventional hydrological models, and henceforth, ABM could be utilized as a future potential hydrological modelling paradigm.


INTRODUCTION 1.1 Rainfall Runoff and Erosion Processes
One of the most classical approaches for simulating the peak river flow instigated by a noticeable or hypothetical rainfall forcing is illustrated by rainfall runoff modelling (Coskun & Musaoglu, 2004).Runoff constitutes an important parameter for designing any hydrological structure by describing the relation between rainfall and runoff associated with the catchment area, drainage basin or watershed.This has been continuously used in the water scarce areas for an efficient conservation planning.The present study focusses on monitoring of Asan watershed based on spatiotemporal analysis of rainfall runoff and erosion simulation using agent based approach.The runoff modelling impairs the need for understanding the hydrological condition and temporal behaviour of the watershed (which depicts a geo-hydrological unit contributing runoff to a single point) (Yaduvanshi, Sharma, Kar, & Sinha, 2017).
However, human intervention in modifying the land surface characteristics also contribute to a serious change in the hydrological cycle making the land use and land cover (LULC), an important input parameter for modelling (Anderson, Hardy, Roach, & Witmer, 1976).Such consequent reduction in the number of trees and plant species result in high erosion in the region draining to a common point.Moreover, the capability of soil productivity and amount of water availability in the reservoir significantly degrades due to inflated levels of soil erosion.These processes result in the transfer of water or soil and plant nutrients from fields to adjacent land/water courses, respectively (Brandt, 1990;Hudson, 1965;Morgan, Morgan, & Finney, 1984).

______________________________ * Corresponding Author
The main factors affecting the runoff are: 1) Volume and intensity of rain events, 2) Types and properties of soil, 3) Steepness of the landscape, e.g.Slope and 4) Land use patterns and management (Gajbhiye, 2015).Hence, evaluation and inventory on surface runoff and soil erosion by water are vital sources for the formulation of watershed sustainable development.Accurate modelling would enable a better prediction of runoff volume for pre flood warning, precise water navigation, water quality aspects and other applications leading to a well enabled water resource management (Beven, 2012).

Evolution of Hydrological Models
For years, hydrologists attempted to predict the rainfall runoff by considering environmental system modelling.Conventional approaches followed estimation of runoff model parameters through ground truth measurements, which proved to be costly and time consuming.With increasing advancements in computer technologies, remote sensing integrated with a geographic information system (GIS) started gaining importance for retrieving land surface properties at spatio-temporal scales which indeed are useful input data for determination of hydrological parameters (Coskun & Musaoglu, 2004;Weng, 2001).Furthermore, a larger land coverage enables a cost effective technique to acquire extremely valuable input data for distributed hydrological models.Watershed topographic analysis based on digital elevation models (DEMs) provides a flexible environment for processing the data on GIS platforms for feature extraction and database development applications (Melesse & Shih, 2002).
In the literature, it has been shown that a simple empirical approach for predicting annual soil loss on hilly slopes can be derived from large field sized regions (Morgan et al., 1984).The Morgan-Morgan-Finney (MMF) model has been later validated using the erosion data and simulated for producing the measures of soil degradation over 100 year period under shifting cultivation (Finney, 1984;Morgan et al., 1984).Several researchers have then used the model for assessing the erosional consequences over a wide range of environmental conditions, ranging from Indonesia to Nepal and the rocky hilly terrain (Gaddam & Kulkarni, 2018;Hudson, 1965;Yaduvanshi et al., 2017).In addition to this, soil conservation curve number method has been widely used for estimating surface runoff by combining watershed parameters and climatic variations into one entity (i.e.Curve Number (CN)) (Beven, 2012;Coskun & Musaoglu, 2004).Many researchers modified this method for long term evapotranspiration based hydrology simulations while estimating antecedent moisture condition (AMC) by adjusting CN values (Coskun & Musaoglu, 2004).Several integrated approaches involving GIS have then come into existence for quantifying surface runoff by storing, interpreting, analysing and displaying the factors leading to runoff (Gaddam & Kulkarni, 2018;Melesse & Shih, 2002;Weng, 2001).The GIS based methods proved to be more efficient, interactive and less cumbersome as compared to traditional approaches.US Army Corps of Engineers utilized GIS and remote sensing for designing a simulation based environment (Hydrologic Modelling System, HEC -HMS) of complete hydrological processes dedicated for dendritic watershed systems (Scharffenberg & Fleming, 2010).In addition to the traditional hydrologic analysis procedures, the software package also includes evapotranspiration, snow melt and soil moisture accounting for continuous simulation.Irrespective of the advanced modules, the entire workflow for producing the desired surface runoff is time consuming.Apart from this, the Soil and Water Assessment Tool (SWAT) was developed to assess the temporal impact of land use management on the water in large, complex watershed both qualitatively and quantitatively (Neitsch, Arnold, Kiniry, Srinivasan, & Williams, 2002).To sum up, distributed models have been found to be data intensive requiring quality data, complex configuration and exhaustive simulation and calibration time.The performance of these models has been found to be quite low in hydrological remote areas (data scarce regions).Contrary to this, the semi-distributed models lump metrological variables and physical parameters in to sub-basins, making the setup procedure convenient and hasslefree (Abu El-Nasr, Arnold, Feyen, & Berlamont, 2005).

Trends towards Open Source Geo-Simulation
Gradually, the ability to model individual decision-making entities and their interactions tend to move towards free and open source utilities to aid and foster the associative evolution of open geospatial technologies and data.Such class of computational models for carrying out a simulation using the interaction of autonomous agents in a way to observe their effect on the system as a whole is Agent based Modelling (ABM) (Berglund, 2012).In this, each agent processes the situation based on a set of rules and displays different complex behavioural patterns than that of the other agent.Using repetitive inter-agent interaction, each agent learns about the system environment which allows the ABM to explore dynamics which is difficult to model by purely mathematical methods (Derksen, Branki, & Unland, 2012).Earlier studies showed the use of simulated agents for optimizing weather and crop yield forecasts to solve individual hydrological profits responding to the local environment (Finney, 1984;Fuka et al., 2014).Several multi agent modelling approaches have been adopted utilizing the urban water log, drainage system and environment which offered an optimal reservoir solution for storing excessive floods (Bao, Kim, Ai, Lai, & Wang, 2015).The efficiency of ABMs is often compared with Cellular Automata and visual modelling approaches such as System Dynamics.In addition to this, the artificial neural network provides a more feasible approach to geo-simulation and forecasting models where modelling of the internal watershed structure is not required.However, it does not utilize physically realistic parameters and requires large training data, making it unreliable and expensive for conceptual watershed modelling (Bao et al., 2015;Nourani, 2017).Contrary to this, agents show the behavioural aspects along with their interactions to the environment proving them to be compatible with system wide macro patterns of the rainfall runoff distribution in the watershed (Derksen et al., 2012).The advantages that ABM offers to other approaches are: 1) It captures emergent phenomena adjacency, 2) time saving and cost effective, 3) It provides a natural description and 4) flexible programming module.In this study, the geocomputation simulation is carried out using NetLogo tool, an open source multi agent programmable modelling environment (Wilensky, 2018).

Study Area
Being situated at the confluence of eastern Yamuna Canal and Asan River, the watershed forms an asymmetrical synclinal valley flowing north westwards and making it a suitable investigation site for the study.The physiographic units are extended to NW-SE and ENE-WSW, with major drainage patterns as sub-dendritic, parallel to sub-parallel, trellis, braided and intermittent.The topographical variations of the study area include elevations ranging from 352 m to 2230 m with respect to mean sea level.The climate is sub-tropical to temperate with average annual temperature ranging from 21 o C in summers to 5 o C in winters (Garg et al., 2012).Figure 1 shows the location map of Asan watershed.

Data
In the present work, weather data acquired from third generation reanalysis product have been utilized.The Climate Forecast System Reanalysis (CFSR) is a global, high resolution estimate of coupled atmosphere, ocean, land, and sea-ice model with assimilated satellite radiances offering accurate meteorological datasets for each hour since 1979 at 38 km horizontal resolution.
The CFSR utilizes the information from the global weather stations and satellite-derived products for acquiring the hourly historic expected precipitation and temperatures for any location in the world (Fuka et al., 2014).Along with this, Soil Conservation Services (SCS) curve number grid of the watershed needs to be known as an essential input parameter for the tool.This could be derived by intersecting the LULC and Hydrological Soil Group (HSG) to assign CN for each combination.For extracting LULC, a supervised classification has been performed using 30 m resolution Landsat 8 images acquired over the study area.All the soil units of the watershed are characterized mainly into two HSG classes namely, B and C. Around 65% of the soil in the region is moderately infiltrated when thoroughly wetted (silt loam) while 35% of the soils are having slow infiltration rates (sandy clay loam) (Garg et al., 2012).ASTER DEM tiles have been used for marking the elevation variations of the watershed.

METHODOLOGY
The workflow of the present study, as described in Figure 2, involves three primary phases: Input data preparation, Model simulation, and Quantitative analysis.

Input Data Preparation
The input datasets consist of Landsat 8 imagery for Asan watershed, two ASTER DEM tiles, weather data acquired from the CFSR repository and soil map for deriving HSGs.During this phase, the LULC generated using the Maximum Likelihood Classifier (MLC) is coupled with HSGs to compute the SCS defined CN grid.The two DEM tiles are mosaicked to form the elevation map of the complete study area and then converted into ESRI ASCII format.Furthermore, the CFSR data and CN grid data should be in CSV format.These prepared input datasets are then used as model simulation parameters in the next phase of the workflow.

Model Simulation
The Open Agent Based Runoff and Erosion Simulation (OARES) tool integrates Python, R and NetLogo libraries to automate the model simulation process.Here, the direct runoff is estimated using the SCS CN method (Coskun & Musaoglu, 2004).This method uses an empirical equation (3) which is derived as follows: From the continuity principle, The final equation is obtained by solving the equations ( 1) and (2) simultaneously wherein the initial abstraction is defined to be 20% of the watershed storage, The watershed storage S is related to the CN as in ( 4),  = 25400  ℎ − 254 (4) In the conventional hydrological models, the CNs for each of the HSGs are calculated for a particular sub-basin based on a specific outlet point.In contrast, the present study implements the runoff and erosion modelling by taking into consideration a weighted average CN value for the entire area.This is computed in (5) as, The study area consists of two HSGs, B, and C having proportions w1 (0.6456) and w2 (0.3544) respectively.Moreover, the soil erosion has been simulated using elevation and water height, which is randomly defined based on the rate of precipitation on a particular day.Initially, the rain rate (r) is taken as 1 mm, which then accumulates over time until the total amount of precipitation for that day is equal to that of the procured CFSR weather data.Specifically, the water height (Wh) is defined as (6): It has been assumed that the water height is less when there is low precipitation.This, being a free parameter, can be adjusted by the user accordingly.Essentially, when there is existing water on a particular soil patch, the water height is added to it to quantify the accumulated water in that patch.A detailed explanation about inter-agent interaction is given in Appendix A.

Quantitative Analysis and Validation
On the completion of the NetLogo simulation, the Open Agent Based Runoff and Erosion Simulation (OARES) tool automatically produces several outputs which include modified DEM (ESRI ASCII format), coloured soil erosion and deposition image (PNG format), total precipitation-runoff graph along with its regression fit (for 36 years), yearly rainfall-runoff graphs along with their regression fits (the specific years can be defined by users) and total soil change graph (based on elevation changes).These outputs can be quantitatively analysed for characterizing the varying spatio-temporal changes as part of the watershed monitoring activity.In order to validate the proposed model, further analysis using the conventional hydrological models (HEC-HMS and SWAT) have been carried out for different years.

LULC Supervised Classification
The Asan watershed comprises of different LULC classes for which a supervised approach has been carried out on Landsat 8 imagery using the Maximum Likelihood Classifier (MLC).This approach considers both variance and co-variance of the class signatures with an assumption that the samples from each class follow a Gaussian distribution.Based on these, a statistical probability is computed which is then used as a membership value for the belongingness of the cells to a particular class.A cell is assigned to a specific class provided it has the highest probability of being a member among other cells (Hütt, Koppe, Miao, & Bareth, 2016).After performing the classification, a Kappa coefficient of 0.8764 has been obtained which is considerably suitable for this study.Figure 3 shows the classified LULC map for various classes like scrubs, agriculture, settlements, forests, dry river bed, and water.The LULC map is further used to generate the CN grid for classifying the different soil groups present in the Asan watershed.

Runoff Geo-Simulation
The Natural Resource Conservation Service Curve Number (NRCS -CN) model has been selected for estimating the rainfall runoff using the ABM approach since it requires few parameters and is both realistic and robust.As discussed in the Methodology section, the initial step involves the defining of CN grid by intersecting the LULC and HSG.Then, a weighted average of CN values is made as one of the inputs to the model, with other parameters being DEM and CFSR weather data .In order to accurately establish a relationship between total rainfall/precipitation and direct runoff for 36 years, a higher order cubic polynomial has been fitted to the scatter plot, as shown in Figure 4 (b).This yields an R 2 value of 0.976.Furthermore, it has been observed that in some instances there had been an abrupt increase or decrease in precipitation resulting in the increased outliers in the regression model.While simulating the real time condition in ABM, the runoff (shown in Figure 4 (a)) has been estimated using randomly generated rain drops which are acting as agents and determined by total amount of precipitation on a particular day, as in the Appendix A. The time series analysis showed that there have been varied changes in the precipitation resulting in the fluctuations of the runoff estimates.This analysis, in turn, clearly depicts the change in the environmental conditions of the study area over a period of 36 years.In order to quantitatively measure the decadal variations in the procured rainfall data and the estimated runoff, further simulation has been carried out using the OARES tool.The observations as exhibited in Figure 5 (a) state that the average precipitation for each of the four years (1979, 1989, 1999, and 2009) is less than the average rainfall (946.94mm) of the entire time series.In addition to this, the results obtained for direct runoff show a much lower trend, signifying alterations in the environmental conditions over the span of thirty years.
The regression fit for the year 1979 displays a poor coefficient of determination due to the extreme deficit of precipitation.Also, it could be noted that as the average annual rainfall shifts towards the overall average precipitation (for 36 years), the regression model provides a good fit.Hence, the cubic regression model provides an inappropriate rainfall -runoff relationship for years having low annual precipitation.In such cases, a lower order polynomial fit might have estimated a better R 2 .Figure 5 (b) represents the aforementioned scenario.Additionally, a comprehensive analysis has been performed on a different combination of years for both decadal and consecutive cases, as shown in Appendix B. The relative mean annual rainfall shift for the consecutive years (2010-2013) is found to be minimal as compared to that of the decadal analysis.In these years, the peak precipitation is observed to be more than 100 mm with an average annual runoff of 460 mm (Figure 6 (a)).The year 2012 recorded a comparatively higher rainfall runoff, with a peak precipitation of 226.24 mm and peak simulated runoff of 148.8 mm on 25 th Aug.Following the multi day cloud burst incident at Kedarnath in 2013, a simulation study by Utah State University showed that due to the natural and anthropogenic influences on the climate, northern India has experienced increasingly large rainfall in June since the late 1980s (Cho, Li, Wang, Yoon, & Gillies, 2016).On analysing the effect of this incident on the study area with OARES tool, an intriguing standard deviation of 33.16 mm for the direct runoff has been estimated.

Simulation of Soil Erosion
The OARES tool also provides an estimation of soil erosion based on three parameters: rain drops, elevation, and water height.The water height defines the amount of water present in one rain drop, acting as an agent.Based on the water flow criteria, the agents move around the system environment.The OARES tool has been modelled in such a way that each agent carries one unit of soil from one cell to another using the following algorithm:  The majority of soil deposits after the end of the simulation is found to be characterized along the Asan river flow path, as shown in Figure 8.This proclaims that the simulated result produced by OARES tool is aligned with the fact that the sediments are deposited in the river (Morgan et al., 1984).

Comparison with Conventional Hydrological Models
For validating the simulated results of the OARES tool, a comparative study has been performed by utilizing the conventional hydrological models, such as HEC -HMS and SWAT.A recent study of the major hydrological models suggests that SWAT is a suitable model for streamflow estimation in the Himalayan watersheds (Gaddam & Kulkarni, 2018;Yaduvanshi et al., 2017).SWAT model prioritizes LULC and soil, water quality loading and flexibility of basin discretization for continuous temporal simulation.The model parameters can be auto-generated using SWAT GUI.These specifications are optimally aligned with the requirements of this study area.Also, SWAT is computationally less intensive as compared to other hydrological models (Malagò, Pagliero, Bouraoui, & Franchini, 2015).Figure 9 denotes the estimated direct runoff for the year 2013.
Unlike SWAT, the input parameters for HEC -HMS need to be prepared beforehand using HEC -GeoHMS (ArcGIS Plugin).
The steps for generating these parameters include terrain preprocessing, HMS project setup, basin processing, stream and watershed characteristics, hydrologic parameters, and HMS model files (Scharffenberg & Fleming, 2010).Once these inputs are fed to the HEC -HMS model, further calibrations (like precipitation gauge calibration, etc.) need to be performed.The following simulated rainfall-runoff graph has been obtained for the 2013 after successfully running the model (Figure 10).
OARES tool provides similar results as compared to the aforementioned models (Figure 6 (a)).In It should be noted that the runoffs for SWAT and HEC-HMS are generated based on a particular outlet location.However, the OARES tool results in the same runoff for the entire area.

CONCLUSION AND FUTURE SCOPE
In this preliminary work, an attempt has been made for developing a quick solution to evaluate the rainfall runoff and soil erosion of a watershed.The OARES tool aims to provide an automatic hydrological input parameter generation interface which in turn would simplify the cumbersome task of manually inputting these variables.Existing hydrological models consume heavy computational resources as these require an additional GIS support for preparing the model input parameters.On the contrary, the OARES tool is a lightweight cross platform application that completely runs on open source libraries (Python, R, and NetLogo) and enables the users to customize the tool as per requirements.Moreover, this tool is suitable for handling large time-series data which is a big challenge in conventional hydrological models.Although it serves as a generic open source framework, the study focusses on a specific Himalayan watershed for validating the implications of ABM in hydrological studies.In the presented work, the CFSR data have been utilized for providing the weather data of 36 years along with ASTER DEM and CN grid coupled with LULC.The simulated results show adequate accuracy in estimating direct runoff, having its peak of 148.8 mm on 25 th Aug 2012.It also verified the fact that there has been an increasing trend in the rainfall runoff from 1985 onwards in this region.The average annual rainfall runoff from 1979 to 2014 is found to be 112.37 mm with the highest average annual runoff of 2.32 mm in 2012.Apart from this, the model also simulates the erosion parameter by taking into account the change in the DN values of the DEM multiplied by the pixel size.The estimated erosion result is in concordance with the sediment transport and deposition theory (extensively used in geological studies for monitoring the ecosystem quality).The OARES tool yields a comparable result consistent with that of conventional models.However, one of the major limitations of this application is that it requires the DEM to be resampled (automatically performed by NetLogo using Nearest Neighbour approach), which might not be suitable for studies involving high precision of measurements.The raster window in the NetLogo interface for the OARES tool is dependent on the input DEM size and therefore, requires the user to statically specify the window size.Also, the OARES tool does not currently provide a feature for generating the sub basin parameters from a predefined outlet point (as is the case in conventional models) since it works on the basis of a lumped approach.Also, statistical significance testing has not been performed and therefore, is left as future work.In this regards, the study strongly recommends using alternative ABM models (like MASON, JADE, Repast, etc.) for solving the existing issues in this tool and optimizing the code wherever necessary.

APPENDIX A
The intermediate steps during the simulation study for runoff and erosion modelling using NetLogo tool are illustrated in this appendix.This tool defines four types of agents: patches, turtles, links, and observer.Each patch is a square piece of ground having coordinates on which the turtles can move.Two turtles may be connected by a link.The role of the observer is to provide instructions to the agents.Initially, during the NetLogo model startup, there are no active turtles.The observer or the patches can create new turtles in this phase.In the OARES tool, elevation is the major patch which contains the height information of the ground.During this process, the DEM (stored in ESRI ASCII format), having one of the NetLogo specified projection systems, is resampled using Nearest Neighbour (by default).The DN value is then stored in each patch.The other patches include the amount of water used to display the graph in the NetLogo interface.The rain drops (one of the turtles) are generated according to the precipitation rate obtained from the CFSR weather data.Essentially, when the rain drops are unable to flow to a nearby patch with a lower elevation, they are transformed to "water" turtles which get accumulated over that particular patch based on the water height.Figure 11 shows the interface used in NetLogo for realising the simulation visually.It is noteworthy that, once the rain drops reach the edges of the map, they are destroyed.Soil is one of the other turtles which is used for simulating the effect of raindrops on the ground.The DEM is modified based on the varying values of elevation and soil.Additionally, a user can disable this feature as per requirement.In this case, the consequence of rain drop on soil is ignored and hence, the DEM remains unaltered after the completion of the simulation.The patches with red, green and black colours signify soil erosion, soil deposition, and unmodified areas respectively as shown in Figure 12.On a standard PC, the entire simulation process carried out by the OARES tool requires around eight minutes for this specific dataset.In order to further improve the simulation execution time, the user can run the NetLogo model as headless.Also, the "link" agents have not been applied to this tool and its practicability is left as future work.

APPENDIX B
Further simulation analysis by considering different random combinations of consecutive and decadal years from the time series data has been shown in Figure 13   However, the decadal analysis (1983, 1993, 2003, and 2013) showed a varied trend as compared to that of section 4.2.The overall analysis carried out in this study area justifies the ongoing environmental changes and displays a concern for the ecology.

Figure 5 .
Figure 5. (a) Yearly Rainfall -Runoff plot, and (b) Rainfall -Runoff relationship for Decadal Variations.Furthermore, due to the low relative mean shift, the regression model shows high R 2 values for all the cases (Figure 6 (b)).Following the multi day cloud burst incident at Kedarnath in 2013, a simulation study by Utah State University showed that due to the natural and anthropogenic influences on the climate, northern India has experienced increasingly large rainfall in June since the late 1980s(Cho, Li, Wang, Yoon, & Gillies, 2016).On analysing the effect of this incident on the study area with OARES tool, an intriguing standard deviation of 33.16 mm for the direct runoff has been estimated.

Figure 6 .
Figure 6.(a) Yearly Rainfall -Runoff plot, and (b) Rainfall -Runoff relationship for Consecutive Variations.    +    >    +    ( ≠ ),                    ℎ,   ∶  ℎ   ℎ    ∶  ℎ ℎ        ∶        ∶        :         :     In addition to this, if the neighbouring cells of Ci have the same elevation, then the water content of each agent present in Ci gets accumulated over time.Figure7illustrates the comparison between the amounts of soil eroded and soil deposited of each pixel (cell) of the DEM.The positive and negative values in the Y axis depict the deposition and erosion (in meters) for the entire time series respectively.

Figure 12 .
Figure 12.NetLogo Interface showing the impact of rainfall on different patches.
and Figure14.The outcome of the analysis indicated the changes in rainfall pattern as compared to the results described in section 4.2.The cubic regression model displayed a good fit (similar to the analysis carried out for the consecutive years 2010-2013) for the consecutive years from 1998 to 2001, as shown in Figure13 (a).This relationship between rainfall and runoff is also reflected in the yearly precipitation graph, as in Figure13(b).

Table 1
, a quantitative estimation of peak runoff (rounded) for each of the model has been shown which implies that the results of OARES closely resembles that of HEC -HMS.

Table 1 .
Comparison of Model Outputs.