How to download Climate Change data from the World Bank Data API with Python

World Bank has a Climate Change Knowledge Portal with information, data and reports about climate change around the world. The portal has an Climate Data API as REST framework that can provide Precipitation and Temperature data on historic and modeled dataset from 15 global circulation models (CGMs) and 2 emissions scenarios at country and basin spatial scale. There is a Python package called wbpy that makes really easy the access to the Climate Data API by few lines of code. There are options to download data on monthly, annual and decade timescale as Python dictionary data type. This tutorial show the main parts of the API, the involved codes and a example of usage for historic and future data.

Read More

Tree / Crop Counting and Classification with Python and Scikit-Image - Tutorial

Lately there has been a wide source of spatial photogrametry available for agriculture. Available submetric images can be found in Google Earth, and drone images can increase the ortophoto resolution to the order of centimeters. Most of this data gives us a new perspective of the spatial distribution and stage of the crops, however a real spatial analysis of crop metrics have not been widely performed due to limitations on the images and software involved. 

We tried to make this tutorial with the popular library OpenCV, however the installation process was tedious in Windows. Then we shifted to Scikit-Image, a image processing library in Python that comes already installed on the Anaconda software. The process for image analysis required intermediate Python and GIS skills, but most important a strong criteria of the algorithm inputs, options and results.

Read More

Tutorial: Intake Channel Design with OpenFOAM and Salome

The design of hydraulic structures need the comprehension of water and structure interaction in terms of level, speed, sediment transport, among others. It is important for the hydraulic structure design to take into account the extreme events of flow, pressure and speed, therefore the computational fluid dynamics (CFD) modeling becomes essential in the design stage. OpenFOAM is an open source software for the simulation of flow in steady and transient states; this software allows us the simulation of the hydraulic response from an specific requirement in laminar and turbulent flow conditions, flow velocity calculation, and determination of static and dynamic pressures.

Read More

Regional precipitation analysis with Python

We want to analyze average annual precipitation data on a regional scale for the North of Peru. The dataset has 20 stations from the Peruvian desert coast, Andes and rainforest with differences in elevation and precipitation rates.

The main objective is to analyze precipitation patterns and trends by plotting them in different ways using Python.

For this task we use IPython Notebook, which you can install on your own computer or run it on the cloud from You can download the station data for this exercise here

Read More

Questions on MODFLOW with Model Muse

Some questions from a follower:

Thanks for agreeing to help. I developed a simple mode just to check if it works. But I get this error (attached). There are NO streams in my study area so do I still need to give my model a input for drainage package? I wanted to go around it but I could not proceed, therefore I created streams as drainage lines from DEM.

Read More

How to do a groundwater flow model with your company logo

I wanted to do some “art” with numerical models. This is in fact a workaround on the use of MODFLOW with Model Muse to create artistic expressions based on hydraulic heads, particle tracking and soon with contaminant transport modeling.
I don’t know if this effort will turn people closer to numerical modeling, but I had much fun doing this. Next time I will put Scarlett Johansson or Robert Downey Jr on a pumping test model.

Read More

Statistical analysis of precipitation data with Python 3 - Tutorial

This tutorial is intended to be a basic reference in Python programming for water resources professionals. The script covers many steps on the data management, representation and analysis with the most common Python commands and libraries. It is encouraged to review first all the described steps with the provided input data and then apply to the user own hydrological data. The same analysis will be ported to Julia on future tutorials to have a overview of the similarities / differences between programming in Python or Julia for hydrological data.

Read More

Assessment of land subsidence from pumping

The MODFLOW SUB-WT code has been developed to simulate vertical compaction in regional groundwater flow models due to pumping.

MODFLOW SUB-WT can simulate changes in groundwater storages and compaction in discontinuous layers or extensive confining units. The MODFLOW SUB-WT modeling code considers the compaction of a particular layer of the numerical model as a function of effective effort changes in the layer.

Read More

How much does a groundwater modeler cost?

After my last job as a staff groundwater modeler, I have received 6 unsolicited job offers. Of course many modelers with more years and more conections than I, have received much more offers, however, I feel happy with my humble record. The point of this comparison is that senior groundwater modelers with experience in mining hydrogeology are really scarce. Mining and consultant companies are looking for talented groundwater modelers, and somehow there are not much modelers coming out from the universities.

Read More