May 26, 2017

Debris flows by Carlo Gregoretti

As a part of Erasmus fellowship exchange program, Carlo Gregoretti (RG) of Padova university is staying with us here at department of  Geography and Environmental Studies, Mekelle University for two weeks. His area of expertise is mainly debris flow and he has been giving training about it for our postgraduate students and staffs. He covered from the fundamentals of debris flow to modelling and simulations, including some practical examples. With his permission I  have shared his slides here.
You can find the slides by clicking the images.

1. Introduction:


2. Debris flow: the phenomenon

3. Capability and reliability of models to reproduce physical processes associated to debris flow:


4. Simplified rainfall-runoff model for headwater Rocky basins:


5. Debris flow: the deposition 
6. Models for routing and deposition of debris flow 


7. Rainfalls triggering debris flow 


May 2, 2017

Geographical and Environmental Research for Development Conference at Mekelle University

We, here at Mekelle university, are hosting national conference on "Integrated Geographical and Environmental Researches for Sustainable Development" from June 1-2, 2017. Any one interested to present/attend can submit their abstract/expression of interest. Please see the call below.


Update:
We have received really large number of abstracts from many universities and organisation from all parts of the country. We received more than 100 abstracts. Due to financial limitation we have to select only 25 abstracts. It would have been interesting and large national conference if we could have managed to invite all of them.

Apr 20, 2017

CGIAR CCAFS data

Availability of meteorological, land surface and other related data is always bottleneck for development of research and evidence based policy formulations. Today, I came across with interesting efforts by CGIAR,   to provide climate, agriculture, and food security related data. I think this is an interesting source to fill the data gap we have in applied hydrology. Anyway,  try wondering around this webpage (link). Also, they have downloading service for spatially downscaled GCC data.



Mar 16, 2017

Mapping study area using R

To prepare a study area map in a professional way, or at publication standard, it takes a great deal of time, at least for me. I have been using GIS tools (such as QGIS and Grass GIS, Jgrasstools) to prepare my study area. But, Now I started to change to R. The advantages of using R is that we have more advanced graphical and map package that we can use, and once the R script are developed, it is easier to reproduce other maps for the next time. Here I used various packages to produce decent study area map that can be used for publication. I used many helps from various stackoverflow answers. Here I will shows you how to do this using a particular basin in Afghanistan.


First lets load all the necessary r packages


library(rgdal)
library(ggplot2)
library(reshape2)
library(maptools)
## Checking rgeos availability: TRUE
library(sp)
library(rgeos)
## rgeos version: 0.3-19, (SVN revision 524)
##  GEOS runtime version: 3.4.2-CAPI-1.8.2 r3921 
##  Linking to sp version: 1.2-2 
##  Polygon checking: TRUE
library(ggplot2)
library(raster)
library(gridExtra)
library(raster)
library(grid)

Country map

#we can use getData fiunction to access avaliable geographic data 
AF0<-getData("GADM", country="AF", level=0) #  download country level 0 map
## In case if we want to chnag it to data frame using fortify, reshape2 function 
AF0.f <- fortify(AF0, region = "ISO")

The study basin

#Now lets read the basin extracted in other GIS environment using rgdal package 
mybasin<-readOGR(dsn="/Users/administrator/Documents/Afganistan",  layer="mybsinMask")
## OGR data source with driver: ESRI Shapefile 
## Source: "/Users/administrator/Documents/Afganistan", layer: "mybsinMask"
## with 1 features
## It has 6 fields
#Lets convert from the projection of the original map to the latlong    
utms <- CRS("+init=epsg:32642")
proj4string(mybasin)<-utms
mybasin2 <- spTransform(mybasin, CRS( "+init=epsg:4326"))   

#Now we need to merge this with other shapefile we wanted to plot, and for that we need to change shapefile to dataframe. For that we used fortify.
mybasin2.f <- fortify(mybasin2, region = "area")

More information of the study basin

What I ma doing is hydrological anlayis, so subbasin partition is necessary. Here, I will plot the subbasin polygon maps as follows, as showsn for the basin polygon.
polysub<-readOGR(dsn="/Users/administrator/Documents/Afganistan",  layer="Subbasin_final")
## OGR data source with driver: ESRI Shapefile 
## Source: "/Users/administrator/Documents/Afganistan", layer: "Subbasin_final"
## with 15 features
## It has 7 fields
utms <- CRS("+init=epsg:32642")
proj4string(polysub)<-utms
polysub2 <- spTransform(polysub, CRS( "+init=epsg:4326"))   
polysub2.f <- fortify(polysub2, region = "netnum")
Similarly we do the same for the river netwrok shapefile.
Network<-readOGR(dsn="/Users/administrator/Documents/Afganistan",  layer="Network_final")
## OGR data source with driver: ESRI Shapefile 
## Source: "/Users/administrator/Documents/Afganistan", layer: "Network_final"
## with 15 features
## It has 6 fields
utms <- CRS("+init=epsg:32642")
proj4string(Network)<-utms
Network2 <- spTransform(Network, CRS( "+init=epsg:4326"))   
Network2.f <- fortify(Network2, region = "netnum")
In the following, we have the dem of the study area, and here we would like to show it on the map
#First we reed the raster using the raster function 
Farah_raster<-raster("/Users/administrator/Documents/Afganistan/20170220070801_215846837.asc")

#here we like to take only the dem for the basin, and delet map outside the basin
Farah_raster<-mask(Farah_raster, mybasin2)

#convert the raster to points for plotting
Farah_raster2 <- rasterToPoints(Farah_raster)

#Make the points a dataframe for ggplot so that we can merg with the polygon iformation
Farah_raster3 <- data.frame(Farah_raster2)

#Make appropriate column headings, wich is common with the other dataframe
colnames(Farah_raster3) <- c("long", "lat", "Elev")

Plotting using ggplot2

Now, we can use those data frames to use ggplot functionalities to plot high quality maps. First we plot the basin, subbasin polyogn, and the river network overlaid on the dem elevation for the study basin. Then, we will use the inset function that can be inserted in the figure to show the country location for those who are not familiar to the study area (basin).
# here is the basin, subbasin, river network, and elevatin Map
p1<-ggplot()+ geom_raster(data=Farah_raster3, aes(long,lat, fill=Elev)) +
    geom_polygon(data=polysub2, aes(long,lat, group=group), fill="grey40", colour="black",size=0.4, alpha=0)+
    geom_path(data=Network2, aes(long,lat, group=group), colour="blue")+
    coord_equal()+theme_bw()+xlab("")+ylab("") +
    scale_fill_gradientn(name="Elevation (m)", colours = terrain.colors(10)) +
    theme(legend.position = c(0.13, 0.75))
## Regions defined for each Polygons
The second plot i.e. the country shapefile.
p2<-ggplot()+geom_polygon(data=AF0, aes(long,lat,group=group),colour="grey10",fill="#fff7bc")+
    geom_line(data=mybasin2, aes(long,lat, group=group))+
    coord_equal()+theme_bw()+labs(x=NULL,y=NULL)+
    theme(axis.text.x =element_blank(),axis.text.y= element_blank(), axis.ticks=element_blank(),axis.title.x =element_blank(),
          axis.title.y= element_blank())
## Regions defined for each Polygons
## Regions defined for each Polygons
And finaly we can use the grid to combine the two plots and inset the country map inside the study area figure frame.
grid.newpage()
v1<-viewport(width = 1, height = 1, x = 0.5, y = 0.5) #plot area for the main map
v2<-viewport(width = 0.28, height = 0.3, x = 0.84, y = 0.38) #plot area for the inset map
print(p1,vp=v1) 
print(p2,vp=v2)