Weather Station Tutorial Part 1: Measuring Air Temperature and Humidity in Arduino with Sensor HDC100x

Developing a low cost weather station is an interesting topic. In fact, cost of an assembled weather station is quite expensive, which can be up to €5000. Thanks for the development of an open – source electronic prototype platform Arduino, the sensor system gets into a new generation! A small-scale prototype including six sensors can be created with just only around €200 more or less. Furthermore, the creation of radio module Xbee allows the data transfer through Bluetooth channel, which makes the process of data collecting became easier and more convenient. 

Read More
Smiley face

Subscribe to our free e-newsletter for tutorials, articles, webminars, courses and more.  

Basic Example of a MODFLOW Model Review, Simulation and Output Representation with Flopy - Tutorial

Flopy is a package of tools written in Python for MODFLOW groundwater flow model construction, simulation and output analysis. Flopy is build on top of well know and powerful Python packages as Numpy and works with Matplotlib and Pandas that allows to do a great amount of analysis with few lines of code. Several new capabilities in the water balance analysis can be done with Flopy bringing a better control to the modeler in terms of a more available and user friendly information of the inputs, outputs and discrepancies of the model. This tutorial shows the complete procedure to read, simulate and output analysis of a MODFLOW NWT model of a tunnel development with time. The tutorial include a discussion and review of the different tools available in Flopy and the interaction with QGIS.

Read More

Introduction to Spatial Analysis in Python with GeoPandas - Tutorial

GeoPandas is the geospatial implementation of the big data oriented Python package called Pandas. GeoPandas enables the use of the Pandas datatypes for spatial operations on geometric types. The library is a combination of a set of geospatial packages in Python as Shapely, Fiona together with well known and powerful Python libraries as Numpy and Matplotlib.

For normal Geographical Information System (GIS) users, GeoPandas enables a new way to interact with geospatial data, since it allows us to handle a more variety of queries, listing, indexing and data translation in less time, and even with less computer requirements. This tutorial show some examples of data manipulation and analysis with GeoPandas for polygons and lines from Guayaquil City. 

Read More

Download Climate Change Data (2006-2096) on Daily Scale from NASA NCCS Server with Python - Tutorial

There are many Global Circulation Models (GCMs) with historic and future data of Precipitation, Maximum Temperature and Minimum Temperature for different emission scenarios. Data is available on daily timescale from particular servers, in this tutorial we will show the main characteristics of the NASA NCCS THREDDS Data Server that provide the NASA Earth Exchange Global Daily Downscaled Projections (NEX-GDDP) dataset that has two of the four greenhouse gas emissions scenarios. Data from this dataset is available from 1950 to 2100 separated on historic and future with a spatial resolution of 0.25 degrees (~25km x 25 km). The tutorial show the main parts of the web server and scripts in Python to locate the closest model cell and to recursively download group of records.

Read More

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

Example of time-series functionality in MODFLOW 6 - Tutorial

Stress periods are defined based on particular stages on the groundwater flow conditions and requirements to hidrogeological flow regime. Time steps are mostly defined based on the computational power, desired output and convergence objectives. It can be possible that boundary conditions varies at times different from the temporal discretization defined by the stress periods and time steps. MODFLOW 6 has a time-series functionality capable of distribute the transient boundary conditions on the determined time steps. The tutorial shows a model on transient flow conditions with boundaries conditions distributed at different time intervals. A comparison of the applied well rate vs. observed pumping rate and applied constant head vs observed head has been done on a Jupyter Notebook.

Read More

Example of Wetting/Drying Capabilities on Groundwater Modeling with MODFLOW 6 - Tutorial

Example of the wetting/drying capabilities in MODFLOW 6 on a groundwater model on steady and transient flow conditions. The simulation represent the groundwater flow of a 2 layer model at the following stress periods: no pumping, pumping from 2 wells, recovery from pumping in 50 days. The model has been implemented with the recharge package (RCH), river package (RIV), and well package (WEL).

The tutorial also runs some Python script for the translation of model results and boundary conditions in VTK geometry. The Python script has a interactive feature for the representation of selected stress periods and time steps. A discussion of the water table at pumping and recovery was done on the last of the tutorial.

Read More

How to Calculate the Vegetation Index NDVI from Sentinel 2 Imagery with PyQGIS

Vegetation indexes are calculated from the plant radiation in certain ranges of the visible and infrared spectrum. There are many indexes based on different band combination formulas, one of the most common indexes is the Normalized Deviation Vegetation Index (NDVI) because it was of the first vegetation index and it can be applied to images from current and old satellites. This tutorial shows the complete procedure to represent in QGIS the red and near infrared (NIR) images from a clipped Sentinel 2 image with PyQGIS and then calculate the NDVI using the processing package.

Read More

How to compile and run MODFLOW 6 in Mac - Tutorial

MODFLOW 6 has been compiled using gfortran on the Mac/OS operating systems. Because the program uses relatively new Fortran capabilities gfortran version 4.9 or newer must be used. If you have gfortran installed on your computer, you can tell which version it is by entering “gfortran --version” at a terminal window.

This tutorial show the procedure to compile and run MODFLOW 6 on a Terminal in MAC/OS operating sytem.

Read More

Example of Transient Groundwater Flow Modeling with MODFLOW 6 - Tutorial

Based on the new file format and keywords from MODFLOW 6 it is more simple to understand a model while inspecting the input files. This tutorial show a example of a steady and transient flow model in MODFLOW 6 for a period of 30 days divided into 4 stress periods. The tutorial has a introduction to the model geometry, input files and boundary conditions, a model simulation in transient flow conditions and output visualization as VTU files in Paraview. The tutorial also includes a discussion on the water balance from the groundwater flow system at the end of the simulation.

Read More

Basic Example of Groundwater Modeling in MODFLOW 6 and Visualization with Paraview and Flopy

Basic tutorial to learn the procedure to build, simulate and represent a MODFLOW 6 model. The tutorial shows a introduction to the model file system on steady state conditions. The model for this tutorial is implemented with the following boundary conditions: Drains, Recharge, Wells, and Constant Head. The grid is regular with a width of 50 meters and it has 30 rows and 24 columns; the model has 4 layers and a total thickness of 130 meters. The model is called "hatari01" and is inspired in the "twri" model from the MODFLOW 2005 documentation adapted to MODFLOW 6. The model defines a constant horizontal hydraulic conductivity as well as vertical conductivity. After the simulation a Python code is run on a Jupyter Notebook to create the Unstructured VTK files for the heads, water table and boundary conditions representation as 3D objects in Paraview.

Read More

Non Overlapping Areas Determination from Multiple Layers with QGIS and PyQGIS - Tutorial

Geospatial process are involved in most part of our activities; because of that it is important to optimize the time spent by the GIS specialist and to improve the quality of the spatial analysis. PyQGIS is the Python extension in QGIS, this framework allows us to manage the QGIS tools together with Python functions and even with external Python packages improving the speed and quality of our geoprocessing and spatial representation. 

In this tutorial we will show the complete procedure to determine the non overlapping areas of an area of interest from 7 different layers.

Read More

Enhanced MODFLOW Result Representation with Python, VTK and Paraview - Tutorial

MODFLOW model output representation is key to understand the groundwater flow regime, to study the interaction with surface water and depending ecosystems and to evaluate the impact to anthropogenic and climate change requirements. Until now, there has been few open source software capable of generating3D representations and those software had limited options for color scales, cross sections and other graphical tools. On the research for more options we found Paraview, a open source software for data representation designed to analyze extremely large datasets using distributed memory computing resources.

In order to represent MODFLOW output into Paraview, a VTK file for unstructured grids is needed, this VTK type is called VTU where the "U" comes from unestructured. The tutorial show the complete procedure to process a MODFLOW model output into a VTU file and the representation in Paraview.

Read More

Online Representation of Piper, Schoeller and Stiff Diagrams with Hatarichem -Tutorial

We present our own webapp for the representation of the Piper Diagram, Stiff Diagram and Scholler Diagram and export it as a figure file or a PDF file. The webapp was developed in NodeJS and Python and it is entirely free for everyone. The main objective behind this webapp was to develop a user friendly and minimum requirement tool to create these water quality / hidrogeochemical diagrams. This tutorial show the complete procedure to update the working file and then generate the diagrams.

Read More

How to plot MODFLOW Head Output in Paraview with Python - Tutorial

MODFLOW computes the groundwater heads over a porous / fractured media upon a series of boundary conditions as recharge, evapotranspiration, drains, well and others on steady and transient conditions. Free and commercial software is available for the MODFLOW model construction and MODFLOW output representation. Despite the fact the capabilities of these softwares, there are some gaps in data processing and representation; isometric views, animation and custom cross sections are still difficult to achieve under the existing tools, specially on multilayered models with transient conditions over series of time steps and stress periods.

There is a particular open source software for data representation that is of our interest, it is called Paraview ( This visual application was designed to analyze extremely large datasets using distributed memory computing resources, in fact the term "para" in Paraview comes from the parallelization of computer cores.

Read More

Introduction to GeoJSON and its advantages compared to ESRI Shapefile

When dealing with spatial data for a project or a study sometimes the data format and data interoperatibility can be key to the success of the research or the map quality. For decades the ESRI Shapefile has been the most used format to exchange and to work with spatial data. From the Internet development a new geospatial data interchange format has been created to represent geographic features, their properties, and their spatial extends. This tutorial is a introduction to the GeoJSON data format with a practical work in QGIS 3 and a comparison of spatial data in both GeoJSON and ESRI Shapefile formats.

Read More

How to import a Water Table from MODFLOW in QGIS with Python - Tutorial

Advances in groundwater modeling with MODFLOW allow us to have higher refinements on the representation of the water heads and water table as well as more capabilities in the representation of physical process related to groundwater flow. On a regional scale, we can deal with models of more than 500K elements and most times we need to represent this data on a GIS software for further study or the creation of figures for the end users, stakeholders and reports. By the use of Python scripts we can speed up the process of model output representation on a GIS software as QGIS.

Python scripts can be a little bit long and very declarative, but the process time is much smaller than the traditional clicking process on the GUI interface. The purpose is to store these scripts and use then every time one have to process the MODFLOW output data. 

Read More

Fill Missing Precipitation Data with Artificial Intelligence (Python Keras) - Tutorial

Evaluation of hydrological processes as evapotranspiration, runoff, routing and infiltration require data as precipitation, flow, temperature and radiation on a daily basis. Required data for the hydrological modeling need to be accurate and must be completed over the period of study. Many times historical data from hydrological stations are incomplete and present many gaps that can be filled by the use of Artificial Intelligence tools as the Keras library in Python.

This tutorial show the procedure to run a complete script for the filling of missing precipitation in one station by the use of data from 2 nearby stations. The Python script is done on a Jupyter Notebook.

Read More

Sedimentation Tank Design with OpenFOAM - Tutorial

Drinking and residual water treatment, water intake into hydroelectric power stations or water treatment for industrial processes require the removal of suspended particles by sedimentation tanks. These hydraulic structures have a slow speed water inlet and a geometry that allows the decantation or precipitation of sediments along the settler path.

OpenFOAM is a open source software for Computational Fluid Dynamics (CFD) modeling with a series of solvers for different flow conditions. In this case we have used the driftFluxFoam solver to represent sediment precipitation in a sedimentator in a transient simulation of 6400 seconds. The tutorial contains 2 videos with the model description and its simulation.

Read More