GW-predictor is a research project written in Python that aims to predict the groundwater discharge potential at any coordinate specified. At the moment, the project is trained for Kathmandu Valley and ready to use for predicting discharge within Kathmandu. Training and testing of Gaussian Process Model is implemented in jupyter lab interface with the use of python package GPy. Keeping in mind that very few data is used for training the model, it's relatively low accuracy of prediction is not a surprise.
GW-predictor is a result of work for the 'Code for Nepal Datacrunch Hackathon' by team Lithosphere. Members of team Lithosphere include Nelson Kandel, Samriddhi Ghimire and Prabesh Gyawali. Team Lithosphere succeded to secure the second position in the hackathon.
Gw-predictor is availabe under the MIT license. We'd love to incroporate your changes, so fork us.
GW-predictor uses the following Python packages:
A sample of original data file is provided in data folder. Each well have their unique well ids. Multiple row entry for with same well id represent data for multiple depth of the soil layer below ground level. First row entry of each well ids have discharge and other hydraulic properties associated with the specific well.
Following steps are considered for preprocessing process:
- Read original data file.
- Extract first row for each unique well ids.
- Check for no values.
- Save the required information.
Train test ration = 70%
RBF Kernal:
Input Dimensions = 2 (i.e, x, y UTM coordinates)
Lengthscale = 200
Variance = 5
Optimization Algorithm:
Limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS)
Scatter Plot of Actual Discharge vs Predicted Discharge