Conflict and Drought

Conflict and Drought#

Drought is often reported to lead to conflict in the form of violence or protests. There were ‘thirsty protests’ in the country which saw citizens protesting over water shortages. news of these protests has only incraesed over the years. This notebook is an exploration of any observed correlations between drought conditions and protests within Morocco.

This data is insufficient to show causation. The idea is to show that there is an increase in protests in Morocco, some of which are because of water, as suggested by sources outside this data, for instance, by the Centre for Strategic and International Studies and the United States Institute of Peace.

Although there is research that suggests that water causes conflict, there is also enough evidence to show that water can enable cooperation. This is best articulated in Borgomeo et. al., 2021..

In this context, ACLED data is just meant to be a data point that can be monitored to see the trends in changing conflict and rising protests. I agree with your point that the narrative needs to be tighter. Depending on the rest of your report, if you think it can be useful, happy to modify the plots to a level of granularity you want to use.

from matplotlib import rcParams

acled_month = acled_month[acled_month['event_date'].dt.year>2010]

rcParams[''] = 'Georgia'
rcParams['font.sans-serif'] = ['Georgia']

fig, ax = plt.subplots(figsize=(12,4))

for event_type in acled_month['event_type'].unique():
    p = acled_month[acled_month['event_type']==event_type]
    p.groupby([pd.Grouper(key = 'event_date', freq='M')]).sum().reset_index().plot(x='event_date', y='timestamp', ax=ax, label = event_type)

fig.suptitle('Number of conflict events in Morocco')
Text(0.5, 0.98, 'Number of conflict events in Morocco')

A closer look at Marakkesh, Casablanca and Rabat#

Hide code cell source
drought = drought[drought['time'].dt.year>=2012]
acled_adm1 = acled_adm1[acled_adm1['event_date'].dt.year>=2012]

fig, ax = plt.subplots(3, 1, sharex=True, figsize=(12,9))

p = drought.groupby(['adm1_name', 'class_type', 'time']).sum().reset_index()
p['percentage_area'] = 100*p['class_area']/p['adm_area']

for i, admin_region in enumerate(['Casablanca Settat', 'Marrakech Safi', 'Rabat Sale Kenitra']):
    p[(p['adm1_name']==admin_region)&(p['class_type']=='Dry Classes')].plot(x='time', y='percentage_area', ax=ax[i], label = 'Percentage Area in Dry Class')
    acled_adm1[acled_adm1['adm1_name']==admin_region].plot(x='event_date', y='timestamp', ax=ax[i], label = 'Number of Conflict Events')

#drought[drought['adm1_name'].isin(['Rabat Sale Kenitra',  'Marrakech Safi', 'Casablanca Settat'])]
#p.plot(column='timestamp', cmap='Reds', legend=True, vmax=100)