USER FRIENDLY OPEN GIS TOOL FOR LARGE SCALE DATA ASSIMILATION – A CASE STUDY OF HYDROLOGICAL MODELLING

Open source software (OSS) coding has tremendous advantages over proprietary software. These are primarily fuelled by high level programming languages (JAVA, C++, Python etc...) and open source geospatial libraries (GDAL/OGR, GEOS, GeoTools etc.). Quantum GIS (QGIS) is a popular open source GIS package, which is licensed under GNU GPL and is written in C++. It allows users to perform specialised tasks by creating plugins in C++ and Python. This research article emphasises on exploiting this capability of QGIS to build and implement plugins across multiple platforms using the easy to learn – Python programming language. In the present study, a tool has been developed to assimilate large spatio-temporal datasets such as national level gridded rainfall, temperature, topographic (digital elevation model, slope, aspect), landuse/landcover and multi-layer soil data for input into hydrological models. At present this tool has been developed for Indian sub-continent. An attempt is also made to use popular scientific and numerical libraries to create custom applications for digital inclusion. In the hydrological modelling calibration and validation are important steps which are repetitively carried out for the same study region. As such the developed tool will be user friendly and used efficiently for these repetitive processes by reducing the time required for data management and handling. Moreover, it was found that the developed tool can easily assimilate large dataset in an organised manner. * Corresponding author.


INTRODUCTION
Water is essential for all life forms on Earth and various models have been successfully used to study this movement of water in its successive stages of the hydrologic cycle.Data intensive simulations are being carried out since 1960"s to model the spatio-temporal dynamics of important hydrological processes.The use of Geographic Information System (GIS) has enabled scientists to use well established practices and standards to replicate hydrologic systems.The GIS data sets used are primarily derived from remote sensing (RS) and field derived data-sets.Sui and Maggio, 1999 have detailed, different widely used approaches to integrate GIS with hydrological modelling (Figure 1).As evident the four coupling (or integration of GIS with hydrological modelling) approaches discussed, are constrained by technology available at the time.Today Geographic Information (GI) systems provide customization facilities allowing users to step beyond standard softwares owing to difficulties in system integration of modelling, statistical data analysis and databases (Bivand and Lucas, 2000).
The current study challenges the use of readymade off-the-shelf software capabilities in making a semi-distributed macro-scale hydrological model called Variable Infiltration Capacity (VIC) model (Gao et al, 2010), efficient in terms of usage, calibration and validation.The scientific challenge in addressing all environmental problems in not only the development of remote sensing sensors and algorithms but more importantly handling large data sets, processing them efficiently and generating usable products off the same (Barnsley, 1999).VIC was run on Indian sub-continent and required pre-post processing of geospatial data and a user friendly interface for calibrations.

BACKGROUND OF OPEN SOURCE GIS
GIS has become an essential tool in hydrology (Goodall and Maidment, 2009) and proprietary GIS softwares can fulfil most of the requirements of functionality (Steiniger and Hay, 2009).Proprietary softwares, however, fall short in terms of interoperability, software transparency and data transferability (Jolma et al, 2000).The free software foundation (www.fsf.org)promotes the use of free softwares as they are free from restriction; sharing policies and copy; to learn and adapt; to work with any system with considerable reliability (Stallman, 1999).Every aspect of computing is dominated by free and open source software (FOSS) as evident from the fact that 66.17% of all web servers are running Apache, which is an open source web server software (Netcraft, 2011).

METHODOLOGY
The VIC hydrological model requires several RS, GIS inputs, soil and vegetation parameters and other calibrating parameters, as shown in Table 1. Figure 3 shows few of RS and GIS derived inputs (Global Topographic (GTOPO) Digital Elevation Model (DEM) and mask file).
Figure 3 DEM and boundary file for VIC input Where G is the number of grids in which the study area has been divided and N is the number of days the model is run for.
As seen from Table 1, the large number of input parameters, their syntactic and semantic segregation and their scale and temporal variation creates a huge challenge along with assimilating them to create text/ ASCII input files for VIC model run.The study takes advantage of the numerous libraries available which can be used to build a GIS on top of it.With this approach an application is built which provide a user friendly graphical user interface to translate requests to library functions (Neumann and Hugentobler, 2008).A prime example of such type of software is Quantum GIS or QGIS (www.qgis.org).QGIS uses geospatial data abstraction library (GDAL/OGR) for reading and writing to data sources, PROJ4 for reprojecting vector layers on the fly and GEOS for intersection tests between geometries and (selection) rectangles.QGIS allows users to perform specialised tasks by creating plugins in C++ and Python.This research article emphasises on exploiting this capability of QGIS to build and implement plugins using Python programming language.Using these facilities the present study attempts to develop a tool to assimilate large spatio-temporal datasets such as national level gridded rainfall, temperature, topographic (DEM, slope, aspect), landuse/landcover and multi-layer soil data for input into hydrological models.In this study, in addition to QGIS functionalities, some plugins in Python have been programmed for creation of VIC data input files.

RESULTS
The plugin was developed in Python.The plugin interface was developed through Qt4 designer.This application is a tool for designing and building graphical user interfaces (GUIs) from Qt4 components.Qt is free and open source framework.PyQt4 is a Python binding of the cross-platform GUI toolkit Qt4.Like Qt4, PyQt4 is a free software.For the development of graphics display plugin Qgis, Qt4 and pyQt4 libraries have been used.The necessary files of a QGIS plugin and their structure is as follows: In places where sensitive parameters need to be changed frequently to get desired results, the plugin allows the user to change them during runtime in a simple manner.As such the time required to make the changes in the actual parameter files was saved.

CONCLUSIONS
It can be concluded that the tool for hydrological modeling through VIC model FOSS4G specifically allows users (i) to generate VIC input files rapidly, (ii) to change calibration parameters during runtime and (iii) provides a user friendly manner of dealing with otherwise, a very data intensive and time consuming issue.A potential of QGIS allowed customizing in such an easy and efficient manner to develop a tool that is the best in its domain.The plugin also allows further modifications to be made in order to enhance its efficiency to any other area of interest.
Lastly, this study proves that use of FOSS tools and software libraries have an upper hand over proprietary GIS tools when it comes to developing custom user-specific applications for hydrological modeling.Future works in this area can be concentrated on merging the benefits of semantic assimilation of datasets so as to avoid programming overheads in data conversion.

Figure 1
Figure 1 Integrating GIS with hydrological modeling (a) Embedding GIS in Hydrological models (b) Embedding hydrological models in GIS (c) Loose coupling (d) Tight coupling (Adapted from Sui & Maggio, 1999) Steiniger and Bocher, 2009 have studied the entire gamut of FOSS for Geo (FOSS4G) projects and their relationships (Sanz-Salinas and Montesinos-Lajara, 2009) as shown in Figure2.The existence of many active and diverse software libraries which act as central points for almost all projects has fuelled the current study.

Figure 4
Figure 4 Flowchart to create soil parameter file

Table 1
Various VIC inputs for model run where __init__.py is the starting point of the plugin, plugin.py is the main working code of the plugin, resources.qrcis the .xmldocument created by Qt-Designer, resources.py is the translation of the .qrcfile described above to Python, form.ui is the GUI created by Qt-Designer and form.py is the translation of the form.uidescribed above to Python.Figures 4 and 5 display the flowchart and user interface of the developed plugin of a single module out of various as sample.