New paper: Paleofire Dynamics in Central Spain During the Late Holocene: the Role of Climatic and Anthropogenic Forcing

I am very pleased to share this new article with José Antonio López-Sáez and colleagues: DOI:10.1002/ldr.2751 about the fire history of a mountain range in central Spain.  


The use of fire and, consequently, its severity and incidence on the environment, has grown steadily during the last millennia throughout the Mediterranean. This issue can be assessed in several mountain ranges of central Iberia where changes in the management policy on anthropic activities and exploitation of high-mountain environments have promoted a remarkable increase on fire frequency. Our research focuses on fire dynamics throughout the last three thousand years from three peat bog charcoal records of the Gredos range (central Iberia). Our aim is to reconstruct past fire regimes according to forest vegetation typology (Castanea sativa, Pinus pinaster, P. sylvestris). Charcoal influx shows low values between 3140 and 1800 cal. yr BP when forests were relatively dense both in high and mid-mountain areas. Fire appeared synchronous between 1800 and 1700 cal. yr BP for Lanzahíta and Serranillos and around 1400-1240 cal. yr BP for the three sites suggesting anthropogenic fire control between the Late Roman and the Visigothic periods that can be related to the cultivation of olive trees in the valleys and a greater human impact in high-mountain areas. By contrast, during the Muslim period (1240-850 cal. yr BP) fire dynamics becomes asynchronous. Later, fires turn again coeval in the Gredos range during the Christian period (850-500 cal. yr BP) and can be also correlated with drought phases during the Late Medieval Warm Episode. In short, our study demonstrates that fire activity has been enormously variable during the late Holocene in response to both short- and long-term regional and global climate, vegetation dynamics and land use changes.

ggplot2 pollen diagram (and dendrogram)

In R, excellent packages provide ways to plot pollen or more generally stratigraphic diagrams. The two main tools come from the rioja package with “strat.plot” and the analogue package with “Stratiplot”. Althought those two functions are very comprehensive (you can include a dendrogram, pollen zones, etc.), easy to use, and highly customizable; I was still wondering if there is a way in R to plot a simple pollen diagram using only general plot syntax an preferably ggplot2. I came up with this simple solution that involve only ggplot2 syntax. Probably there is a possibility to add a dendrogram with grid.arrange and to overlay additionnal information but right now this approach seems sufficient to cover my very basic plotting needs:

## Loading required package: vegan
## Loading required package: permute
## Loading required package: lattice
## This is vegan 2.4-1
## analogue version 0.17-0

First extract data from Neotoma using neotoma package, we will have a look at “Le Grand Etang de Suze-La-Rousse” in Provençal Drome by: “Argant, J. 1990. Climat et environnement au Quaternaire dans le bassin du Rhône d’après les données palynologiques. Documents du Laboratoire de Géologie de Lyon 3:1-199.”

suze <- get_site(sitename = 'Le Grand Etang%')

# head(suze_data[[1]]$counts)

core.pct <- data.frame(tran(suze_data[[1]]$counts, method = 'percent'))

age <- suze_data[[1]]$sample.meta$age
core.pct <- chooseTaxa(core.pct, max.abun = 10) 

Stratiplot(age ~ ., core.pct, sort = 'wa', type = 'poly',
 ylab ='Years Before Present')

Now we create a simple data.frame with information for plotting a pollen diagram in ggplot2:


We define a theme without gridlines, etc. and elements that will decrease readability of the diagram

theme_new <- theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(), # remove grids
 panel.background = element_blank(), axis.line = element_line(colour = "black"),
 strip.text.x = element_text(size=10, angle=90, vjust=0), # Taxa names 
 strip.background = element_blank(),
 strip.text.y = element_text(angle = 0),
 legend.position="none",panel.border = element_blank(),
 axis.text.x=element_text(angle=45,hjust=1)) # Axis tick label angle

And finally the pollen diagram:

 scale_x_reverse(breaks =seq(0,100000,1000))+
 scale_y_continuous(breaks =seq(0,100,10))+
 xlab("Age (cal. BP)")+ylab("%")+
 facet_grid(~df$taxa,scales = "free", space = "free")

Add an exageration line (the quick and dirty way):

for(i in 1:length(id)){

 scale_x_reverse(breaks =seq(0,1e8,1000))+
 scale_y_continuous(breaks =seq(0,100,10))+
 xlab("Age (cal. BP)")+ylab("%")+
 facet_grid(~df$taxa,scales = "free", space = "free")



Because only ggplot2 syntax is used you can play around and add geom_point, geom_bar layouts etc. and customize your diagram the way you want with the theme() function.

UPDATE: Adding a dendrogram is not straightforward but definitively doable. We will use a combinason of rioja and ggdendro package such as:

diss <- dist(sqrt(core.pct/100)^2)
clust <- chclust(diss, method="coniss")
# bstick(clust) # optionnally look at number of optimal zones

Now we will use ggdendro and modify its output in order to inject ages that will replace sample numbers:

dendro <- as.dendrogram(clust)
ddata <- dendro_data(dendro, type="rectangle")

## MOD the segment data frame for age instead of value order -----------------------

for(i in 1:length(age)){
 yo$xx[which(yo$x == i)]=age[i]
 yo$xxend[which(yo$xend == i)]=age[i]
 yo$xx[yo$x>i & yo$x<i+1]<-age[i]+(yo$x[yo$x>i & yo$x<i+1]-i)*da
 yo$xxend[yo$xend>i & yo$xend<i+1]<-age[i]+(yo$xend[yo$xend>i & yo$xend<i+1]-i)*da
} # Please dont ask....

# -----------------------------------------------------------------------------------

We finally can plot the dendrogram along with the diagram with gridExtra

dendro=ggplot(segment(ddata)) +
 geom_segment(aes(x=x, y=y, xend=xend, yend=yend)) +
 coord_flip(xlim=c(3000,14000)) +
 scale_x_reverse(breaks =seq(0,1e8,1000))+
 axis.line.y = element_blank())

g1 = ggplotGrob(diag)
g2 = ggplotGrob(dendro)
g2$heights[5:7]<-g1$heights[6:8] # Important to align plots!
grid.arrange(g1, g2, widths =c(1,0.3),ncol=2,newpage = TRUE)

You can follow the overall logic to add any type of additional plot as long as its a ggplot2 object!

New paper: Global Modern Charcoal Dataset (GMCD): A tool for exploring proxy-fire linkages and spatial patterns of biomass burning

I am very pleased to share this article by Donna Hawthorne, Colin J. Courtney Mustaphi, Julie Aleman et al. on a new tool and data repository the Global Modern Charcoal Dataset which is currently in development by the GPWG and colleagues working in paleofire research. The GMCD is a unique opportunity to develop paleofire research and achieve charcoal calibration in sediment which should bring new discussion opportunities amongst paleoecologist, modern ecologist, modellers and managers. Stay tuned for developments at http://www.gpwg.paleofire.orgLink to pdf

Abstract:  Progresses in reconstructing Earth’s history of biomass burning has motivated the development of a modern charcoal dataset covering the last decades through a community-based initiative called the Global Modern Charcoal Dataset (GMCD). As the frequency, intensity and spatial scale of fires are predicted to increase regionally and globally in conjunction with changing climate, anthropogenic activities and land-use patterns, there is an increasing need to further understand, calibrate and interrogate recent and past fire regimes as related to changing fire emissions and changing carbon sources and sinks. Discussions at the PAGES Global Paleofire Working Group workshop 2015, including paleoecologists, numerical modelers, statisticians, paleoclimatologists, archeologists, and anthropologists, identified an urgent need for an open, standardized, quality-controlled and globally representative dataset of modern sedimentary charcoal and other sediment-based fire proxies. This dataset fits into a gap between metrics of biomass burning indicators, current fire regimes and land cover, and carbon emissions inventories. The dataset will enable the calibration of paleofire data with other modern datasets including: data of satellite derived fire occurrence, vegetation patterns and species diversity, land cover change, and a range of sources capturing biochemical cycling. Standardized protocols are presented for collecting and analyzing sediment-based fire proxies, including charcoal, levoglucosan, black carbon, and soot. The GMCD will provide a publically-accessible repository of modern fire sediment surface samples in all terrestrial ecosystems. Sample collection and contributions to the dataset will be solicited from lacustrine, peat, marine, glacial, or other sediments, from a wide variety of ecosystems and geographic locations.

Ref: Hawthorne, D., Courtney Mustaphi, C. J., Aleman, J. C., Blarquez, O., Colombaroli, D., Daniau, A.-L., Marlon, J. R., Power, M., Vannière, B., Han, Y., Hantson, S., Kehrwald, N., Magi, B., Yue, X., Carcaillet, C., Marchant, R., Ogunkoya, A., Githumbi, E. N. and Muriuki, R. M. (no date) ‘Global Modern Charcoal Dataset (GMCD): A tool for exploring proxy-fire linkages and spatial patterns of biomass burning’, Quaternary International. doi:

Forum Géodiversité

Le labo félicite Andy qui a reçu le prix de vulgarisation au forum Géodiversité du département de géographie qui a eu lieu le 24 mars dernier.  Jordan à quant à lui reçu le prix de la meilleure présentation en Géographie Physique et le prix de la meilleure présentation en Géographie. Par ailleurs la photographie prise par Jordan au dessus des grands lacs à reçu le prix meilleure photographie en géographie à l’évènement GéoArt qui se tenait le 6 avril.

Bravo pour cette belle récolte de prix!

Le Département de géographie affirme son souci d’inclusivité

Montréal, le 3 mars 2017 – S’inscrivant dans les prises de positions récentes en ce sens par d’autres organisations du milieu de la géographie, le Département de géographie de l’Université de Montréal a tenu à réitérer son esprit d’ouverture et d’inclusion. C’est lors de sa 350e Assemblée départementale tenue le 17 février dernier que l’assemblée a adopté à l’unanimité la résolution suivante :
À la lumière de la politique de l’actuelle administration des États‐Unis en matière de science et d’immigration et suite à l’attentat qui a eu lieu au Centre Culturel islamique de Québec en janvier dernier, le Département de géographie de l’Université de Montréal souhaite affirmer son dévouement à la construction de lieux de recherche et d’apprentissage inclusifs et sécuritaires pour tous ses membres et visiteurs, peu importent leurs croyances, leurs origines ethniques ou nationales, leur genre ou orientation sexuelle, leur statut migratoire ou leur condition physique et mentale. Nous considérons que le dialogue et les apprentissages mutuels à travers les différences enrichissent notre milieu. Nous affirmons également de l’importance de la liberté d’expression académique en recherche et enseignement et nous déplorons une politique anti‐savoir, particulièrement en ce qui concerne la recherche liée aux changements climatiques ainsi qu’aux inégalités socio‐spatiales et raciales. Nous considérons enfin que la liberté de mobilité géographique est étroitement liée à la liberté d’expression.
Dans cet esprit, la direction du Département de géographie affirme sa volonté à offrir des espaces inclusifs et sécuritaires et invite ses membres et collaborateurs qui pourraient avoir besoin de soutien ou encore qui souhaiteraient discuter de ces enjeux à la contacter.

paleofire 1.1.9 !

A new version of the R package paleofire 1.1.9 is available on CRAN ( and GitHub ( The release includes few bug fixes and improvements of existing functions, including more flexibility in pfAddData function and new options in kdffreq, see examples below:

# Control the type and format of user defined charcoal files
# here for examples csv files with three columns 
#(depth, age and char) separated with semicolon and with "." 
# character used in the file for decimal points:

mydata=pfAddData(files=files, sep=";", dec=".")
# Transform and compositing:
TR=pfTransform(add=mydata, method=c("MinMax","Box-Cox","Z-Score"),
COMP=pfComposite(TR1, bins=seq(0,8000,500))


# Estimate the frequency of armed conflicts from 1946 to 2014 
 # using kernel density estimation from kdffreq
 # Data from the The Uppsala Conflict Data Program (UCDP) available at:

 res=kdffreq(dat$Year,bandwidth = "bw.ucv", nbboot=1000, up = 1946, lo = 2014, interval=1, pseudo=T)
 plot(res, ylab="# armed conflict/year")


New paper: Land-use change outweighs projected effects of changing rainfall on tree cover in sub-Saharan Africa

I am pleased to share this new article with Julie Aleman and Carla Staver: DOI: 10.1111/gcb.13299 (preprint) about modelling of future tree cover in sub-Saharan Africa.

Global change will likely affect savanna and forest structure and distributions, with implications for diversity within both biomes. Few studies have examined the impacts of both expected precipitation and land-use changes on vegetation structure in the future, despite their likely severity. Here we modeled tree cover in Sub-Saharan Africa, as a proxy for vegetation structure and land cover change, using climatic, edaphic and anthropic data (R2 = 0.97).
Projected tree cover for the year 2070, simulated using scenarios that include climate and land-use projections, generally decreased, both in forest and savanna, although the directionality of changes varied locally. The main driver of tree cover changes was land-use change; the effects of precipitation change were minor by comparison. Interestingly, carbon emissions mitigation via increasing biofuels production resulted in decreases in tree cover, more severe than scenarios with more intense precipitation change, especially within savannas.
Evaluation of tree cover change against protected area extent at the WWF Ecoregion scale suggested areas of high biodiversity and ecosystem services concern. Those forests most vulnerable to large decreases in tree cover were also highly protected, potentially buffering the effects of global change. Meanwhile, savannas, especially where they immediately bordered forests (e.g. West and Central Africa), were characterized by a dearth of protected areas, making them highly vulnerable. Savanna must become an explicit policy priority in the face of climate and land use change if conservation and livelihoods are to remain viable into the next century.

Screen Shot 2016-03-31 at 10.48.03 PM

Figure 3 | Tree cover change projections from 2000-2070 – RCP 2.6 (left maps), biome distribution shifts based on tree cover changes (middle), and WWF Ecoregion conservation risk based on tree cover change and protected area coverage (right). Projections are based on climate and anthropogenic change together (a), anthropogenic change only (b) and climate change only (c).