Recommended Practice: Drought monitoring using the Vegetation Condition Index (VCI)

Drought monitoring is an important component in drought early warning systems. This practice shows how to monitor the impacts of meteorological drought on natural vegetation using MODIS optical satellite imagery. The practice has been developed by the Iranian Space Agency, a Regional Support Office of UN-SPIDER. It can be followed using ENVI, RStudio or Python. It is similar to the practice developed by the Universidad Federal de Santa Maria (UFSM) in Brazil, however it uses the Vegetation Condition Index (VCI) instead of the Standard Vegetation Index (SVI).


The purpose of this recommended practice is to monitor the impacts of meteorological drought on natural vegetation (rainfed, rangeland & forest). Availability, simplicity, free of charge data, good research literature and citation, minimum requirements of inputs are the main criterion, which has been considered to define the methodology.

Disaster type: 

Disaster Cycle Phase: 

Test Site: 

The practice as been applied to various regions as the method developed by the Iranian Space Agency has gradually been implemented in different programs. The test site used for the step-by-step instructions for ENVI includes the following five provinces in Iran: Alborz, Tehran, Semnan, Qom, Isfahan (See "In Detail for maps of the test site.). The original R script as well as the R script including a cloud mask have focused on Guatemala, while the R script for large areas has calculated the Vegetation Condition Index (VCI) for Peru. The Python code has been tested for Ghana.


The total area of the test site in Iran amounts around 250,000 km2. The elevation within the test site ranges from 270m to 4,390m. The vegetation growth period is from May to June. The average annual rainfall amounts to 240mm. The predominant land cover is bare land and rangeland with mainly low vegetation density. Land cover of the test site also includes irrigated agriculture, rainfed agriculture, saline land, and seasonal lakes. Land cover classes with smaller occurrence include forest, orchard, and wetlands (see "In Detail" for maps of the test site).

Central American countries have experienced more frequent and intense droughts in the last two decades. These droughts have manifested themselves in arid areas of this regions, and have a greater impact on subsistence farmers. The worse effects and impacts have taken place when an international stressor (extreme reduction in the price of an agricultural export crop such as coffee in the world markets; or the substantial increase in the price of oil in the international markets) coincides with a severe drought. Governments have identified a certain geographic area in this region as the one most prone to the effects of droughts which is called the "Dry Corridor" of Central America.


The methodology as such can be applied globally. However, the choice of the months of the MODIS data will vary depending on the timing of the vegetation period.

In Detail: Recommended Practice drought monitoring using the Vegetation Condition Index (VCI)


Spectral vegetation indices are among the most commonly used satellite data products for evaluation, monitoring, and measurement of vegetation cover, condition, biophysical processes, and changes. This recommended practice shows how to apply a multi-temporal analysis of MODIS-based Vegetation Condition Index (VCI) to support drought monitoring and early warning. The method has been developed by the Iranian Space Agency and was firstly applied in Iran using ENVI 4.8.

The recommended practice on drought monitoring and early warning was consecutively adapted and updated and can now be followed using ENVI, RStudio and Python. The versions most up to date now also include a cloud mask, which had not been considered before. Also, an additional R script is provided to be able to compute the VCI for large areas (>200.000 km2). The adapted versions were tested in Central America.

A related recommended practice applies the Standardized Vegetation Index (SVI) instead of the Vegetation Condition Index (VCI) for drought monitoring and can be found here


Drought is a recurring phenomenon that can lead to significant losses to societies affecting different aspects of human life such as agriculture, food security, and the environment. Since 1967 droughts have affected 50% of the 2.8 billion people who suffered from all natural disasters [1].

Traditional methods of drought assessment and monitoring rely on rainfall data. However, this approach has two main disadvantages: rainfall data are limited to the region, and they are often inaccurate and difficult to obtain in near-real time. In contrast, satellite-sensor data is continuously available and can be used to detect the onset of a drought, its duration and magnitude [2]. The purpose of this recommended practice is to monitor impacts of meteorological droughts on natural vegetation (rain fed, range land & forest). Availability, simplicity, free of charge data, good research literature and citation, minimum requirements of inputs are main criteria, which have been considered to define the methodology.

Drought definition

Meteorological drought is often defined by a period of substantially diminished precipitation duration and/or intensity. The commonly used definition of meteorological drought is an interval of time, generally on the order of months or years, during which the actual moisture supply at a given place falls below the climatically appropriate moisture supply.

Agricultural drought occurs when there is inadequate soil moisture to meet the needs of a particular crop at a particular time. Agricultural drought usually occurs after or during meteorological drought but before hydrological drought.

Hydrological drought refers to deficiencies in surface and subsurface water supplies. It is measured as stream flow, snowpack, and as lake and groundwater levels. There is usually a delay between lack of rain or snow and less measurable water in streams, lakes and reservoirs. Therefore, hydrological measurements tend to lag other drought indicators.

Socioeconomic drought occurs when physical water shortages start to affect the health, well-being, and quality of life of the people, or when the drought starts to affect the supply and demand of an economic product.

The figure below shows the relations between these types of drought:

Definition of the VCI

Kogan proposed a Vegetation Condition Index (VCI) based on the relative Normalized Difference Vegetation Index (NDVI) change with respect to minimum historical NDVI value. The VCI therefore compares the current Vegetation Index (VI) such as NDVI or Enhanced Vegetation Index (EVI) to the values observed in the same period in previous years within a specific pixel.

The VCI is calculated as shown below,

where VCIijk is the VCI value for the pixel i during week/month/DOY j for year k, VIijk is the weekly/monthly/DOYs VI value for pixel i in week/month/DOY j for year k whereby both the NDVI or EVI can utilized as VI, VIi, min and VIi,max are the multiyear minimum and maximum VI, respectively, for pixel i.

The resulting percentage of the observed value is situated between the extreme values (minimum and maximum) in the previous years. Lower and higher values therefore indicate bad and good vegetation state conditions, respectively.

While the first step-by-step instructions for calculating the VCI in ENVI 4.8 and 5.0 as well as the first update in R based the normalized index on the NDVI, the consecutive updates in R as well as the implementation in Python are based on the EVI which has some advantages compared to the NDVI such as

  • no distortions in the reflected light caused by the particles in the air,
  • no distortions in the reflected light caused by ground cover below the vegetation, and
  • the EVI data product does not become saturated as the NDVI when viewing rainforests and large amounts of chlorophyll.

Cloud mask

In order to mask out pixels that are impacted by atmospheric interferences such as clouds as well as snow and ice cover, the Pixel Reliability Quality Assurance (QA) layer of MOD13Q1 is being used. The layer classifies the quality of the vegetation index in the following categories:

"Good" and "marginal" data in the pixel reliability bands are accepted as sufficient quality and will be considered for the analysis. Therefore, other filter values than "0" and "1" are used to mask out the corresponding EVI pixels.

Find more information about the MODIS Land Products Quality Assurance here.



Input data:

MODIS is the primary sensor for monitoring the terrestrial ecosystem in the NASA (EOS) program [2]. Time series of MODIS imagery provide near real-time and continuous data with a high temporal resolution. The MODIS sensor acquires data in 36 spectral bands, with variable spatial resolution of 250–1000 meters (depending on band), in narrow bandwidths recorded in 12-bit format. MODIS bands are a compromise for atmospheric, land and ocean studies. Seven bands are considered optimal for land applications [3]. MODIS data and products are all available since year 2000.

  • MODIS MOD13Q1 EVI or NDVI data: full time series (2000 until to date) for the specific days of the year that are of interest in the selected geographic region (available from AppEEARS)
  • MOD13Q1 Pixel Reliability data (available from AppEEARS)
  • Input data used for the step-by-step instructions in ENVI
    • Two weeks composites of NDVI (MVC) from MODIS Satellite Imagery: In the test site, highest vegetation growth is during May and June. Thus, two weeks maximum value composites (MVC) of NDVI from MODIS Imagery (year 2000 to 2013) of May and June were used. Note that in other areas of the world the choice of months will vary.
    • Land Cover Map: From MODIS multi-temporal 2-weeks NDVI composites of the year 2012 and topographic and ecological parameters, a Land Cover (LC) Map of the study area was generated in ENVI software. A knowledge-based classification method was used to classify the region to 18 LC classes (Dense forest, medium forest, irrigated lands, Orchard, rain-fed, dense range, medium range, poor range, sand dune, marne, salin land, bare land, outcrop, seasonal lake, island, wetland, water body, snow & ice). Since, the main objective of current study is to monitor meteorological drought impacts on natural vegetation (rain fed, range land & forest), these three classes were masked from the available Landcover map. All NDVI composites were masked based on rain fed and range land classes separately [see more details in "Step-by-Step"]. Note that the classification is not described in the step-by-step procedures; it is assumed that a land cover map is available to the user.


  • ENVI 4.8 or 5.0
  • R (free statistical software)
  • Python: To run the Python version via the provided Jupyter Notebook you need python installed on your computer. We recommend downloading and installing Anaconda 3 ( with the python 3.6 version as it includes a lot of useful packages
  • (Modis Reprojection Tool (MRT))



The results of this study can be used for the development of a regional drought monitoring and risk assessment system. Considering the spread and frequency of droughts in the region on the one hand, and the lack of ground climate observations and technical capacity in the countries of the region to deal with droughts on the other, such a system could play an invaluable role for drought preparedness.

The results can be used as a drought-monitoring tool and as a tool for decision support in regional drought assessment and management. This recommended practice can be applied globally.


Strengths and Limitations: 


  • MODIS data is freely available and easy to access. The availability of MODIS data is guaranteed at least until 2018, with continuity missions planned with its successors NPP and NPOESS
  • Tests showed that NDVI curve findings and VCI trends are similar to Standard Precipitation Index (SPI) results
  • The MOD13Q1 product has already undergone important preprocessing steps like geometric and atmospheric correction. The vegetation indices NDVI and EVI are readily available, which makes the dataset easy to use
  • The Pixel Reliability QA layer, also included in MOD13Q1, is used to mask out pixel that are impacted by atmospheric interferences such as clouds which improves the information of the final SVI maps
  • The user interested in applying this recommended practice has a high flexibility in choosing the preferred software as well as computing the VCI based on either EVI or NDVI depending on the analysis interest


  • MODIS sensors are mounted on two satellite platforms: Terra (launched in December 1999) and Aqua (launched in May 2002). This means, the time series go back to 2000/2002, which is not very long from a climatologic viewpoint. Since the SVI is using the mean and standard deviation of the time series, it is desirable to use a representative time span. It is however possible to extent the time series with AVHRR data provided that a thorough inter-calibration between the two sensor systems is given
  • The limitations of NDVI mean curves are that the deviation from the mean does not take into account the standard deviation, and hence can be misinterpreted when the variability in vegetation conditions in a region is very high in a given year [4]
  • In order to get more objective information, it is recommended to combine remote sensing data and meteorological operational data [5]. However, simultaneous meteorological data are often lacking. Besides, primary processing for meteorological data is time-consuming.
  • Drought monitoring methodologies for low resolution data require historical NDVI records extending longer than MODIS and Spot VEGETATION operational times. (It was found that NDVI data for one sensor could be predicted from NDVI data collected by another sensor with considerable accuracy. Consequently, MODIS and Spot VEGETATION historical NDVI records could be extended based on past AVHRR data, and applications could benefit by interchanging sensors for provision of NDVI data in the event of a sensor failure)



  1. Jain, SK, Keshri , R, Goswami , A, Sarkar , A, Chaudhry , A (2009). Identification of drought vulnerable areas using NOAA AVHRR data, International Journal of Remote Sensing, 30(10).

  2. Thiruvengadachari,s; Gopalkrishna.H.R,(1993). An integrated PC environment for assessment of drought. International journal of RS 14:3201-3208.

  3. Justice et al, Remote Sensing of environment, (2002). The MODIS fire products.

  4. Thenkabail, P. S., Gamage, M. S. D. N. and Smakhtin, V. U, The Use of Remote Sensing Data for Drought Assessment and Monitoring in Southwest Asia International Water Management Institute.

  5. HONGRUI ZHAO et al. Agriculture Drought and Forest Fire Monitoring in Chonqing City with MODIS and Meteorological Observations.

Step by Step: Recommended Practice Drought monitoring using the Vegetation Condition Index (VCI)

Data Access: 

The step-by-step procedure for drought monitoring using the Vegetation Condition Index (VCI) is available to follow using R-Studio, Python and ENVI. These methods were developed to give the user flexibility to choose which of the open source tools is more practical and convenient. The scripts available in R and Python derive the VCI from the Enhanced Vegetation Index (EVI) while the step-by-step instructions in ENVI (5.0) are based on the Normalized Differentiated Vegetation Index (NDVI). 

Please click on the icons below to see the corresponding step-by-step procedure.

Image: The R Foundation/CC-BY-SA 4.0 Logo: Envi software



Logo: Python Software Foundation/GPL


Overview of available Step-by-Step instructions for Drought Monitoring using the Vegetation Condition Index (VCI):

Software VCI based on Cloud Mask Published Access
ENVI (version 4.8) NDVI No Dec 2014 Link
ENVI (version 5.0) NDVI No Dec 2014 Link
R NDVI No June 2015 Link
R EVI Yes May 2016 Link
R (large areas) EVI Yes Sep 2018 Link
Python EVI Yes Feb 2018 Link

The related Recommended Practice on Drought Monitoring using the Standardized Vegetation Index (SVI) can be found here.

Step by Step: Drought monitoring using the Vegetation Condition Index (VCI) in ENVI (version 4.8)

Data Access: 

The step-by-step procedures below are for ENVI version 4.8.

(Click here to access step-by-step instructions for Envi 5.

Click here to access step-by-step instructions for the free software R Studio.)

Two-weeks normalized Differenced Vegetation Index (NDVI) composits based on 250m MODIS data are freely available for download from the MODIS/NDVI Time Series Database from the Global Agriculture Monitoring (GLAM) Project provided via the website of Geographic Department of Maryland University. The Data Access App provides easy access to the data for different regions including Iran (cf. figure below). the Maximum Value Compositing (MVC) procedure was applied to derive the two-weeks composits. The resulting geotiff images are greyscale images using the formula ndvi_byte = (ndvi_raw * 200.0) + 50.0. Values below or equal 50 or larger than 250 indicate bad/missing data, which are masked in the geotiff V2 images. Additionally, two products come with a water mask: V2-WM1 using the MOD12Q1 watermask, and V2-WM2 using the MOD44W watermask; in both cases the value 253 indicates water.

In this practice it is recommended to compare two months in the time span from 2000-2013. Here we show the procedure for one month. In this case it is for May, from 2000-2013. May and June are the month with maximum vegetation growth in the study area in Iran. In other regions the months have to be selected according to the local phenology.

A. Data preparation

Step 1: Recalculating from MVC values to NDVI value range

Step 2: Layer Stacking

Step 3a: Resizing the NDVI-MVC images to the study area

Step 3b: Change Map Projection

Step 4: Masking out data with the study area

Step 5: Masking out ‘not vegetation’ data

B. Calculate Vegetation Condition Index (VCI)

Step 6a: Compute Statistics

Step 6b: Compute VCI

C. Visualization and Analysis

Step 7: Visualization

Data Preparation/Pre-processing: 

A. Data preparation

Step 1: Recalculating from MVC values to NDVI value range

  • Input all monthly maximum value composite from 2000 to 2013 using File - Open in ENVI.

  • As mentioned above, the two weeks NDVI composits are available as 8-bit unsigned integer greyscale images, i.e. the values are ranging from 0-255. However, the standard values for NDVI are within a range from -1 to 1. Therefore, the provided two-weeks NDVI composits have to be recalculated using the formula (ndvi_byte-50)/200. In Envi, the tool for this is called ‘band math’.
  • Attention: The current data format of the images is ‘byte’, i.e. the values are integers without digits behind the decimal point. To use the NDVI value range the data format has to be converted to ‘float’, which allows for decimal digits. Therefore, in the following formula the expression ‘float’ is used.
  • In the Band Math Window write ‘float((b1)-50)/200’ below ‘Enter an Expression:’ (Notice: The band math screenshots below were done in Envi 5.0, but it looks similar in Envi 4.8).

Step 2:Layer Stacking

  • Create a new raster file including all NDVI MVC data for the whole data range (2000 up to now) using File- Save File as - ENVI Standard

  • Import all required NDVI data into the New File Builder window then press Reorder button and sort NDVI data by date and finally save the new file. The result is a new file including all MVCs for May. With the same approach we can make a single file including all MVCs of June.

Step 3a: Resizing the NDVI-MVC images to the study area

It is recommended to reduce the amount of data to decrease the time for computing. The test site covers five provinces in Iran (cf. maps 'In Detail'). So a shapefile which represents the provinces will limit the data.

  • At the next step, we can resize and cut the generated NDVI composites file based on the boundary of our region of study , so first of all we should open the vector file of the region, with File - Open Vector file, then select the vector file format and browse the file. From available vector list window you can simply load this vector file.

  • Then from the Vector Window, open File - Export Active Layer to ROI.

  • In the opening window, select the generated MVC file for May and June to associate it with the new ROI.

  • Finally to make a union ROI, select "convert all records of an EVF to one ROI..."

  • After overlaying the ROI over the MVC Image, you can adjust the ROI attributes (e.g. color, name…) by opening the ROI tool window from Basic Tools - Region of Interest - ROI Tool.

  • In order to create a class Images from the ROI (or a raster file from ROI), in the ROI tool window select Options - Create Class Image from ROIs.

  • Select the vector layer to classify the MVC Images based on this vector layer.

  • After creating the Class Image from ROI, we have to apply the mask to create a final masked NDVI image. Therefore from the basic tools menu select Masking and then Apply Mask.

  • Then select desired NDVI file.

  • After that select the Class Image from ROIs as Mask input band.

  • In Mask parameters window, the mask value should be set to -1, since the minimum value of NDVI is -1. Name the final file as MVC-May-Crop [it means MVC, which is related to May and is cropped, too]. Please note that there are also other solutions to cut or crop a raster file in ENVI.

  • To decrease the data size and to increase the speed of processing, it is recommended to resize the MVC-crop data. For this purpose from Basic Tools, choose Resize data.

  • Then choose the input data file.

  • In the resize data parameters window, set samples and lines according to region of interest. The result of this step is MVC-May-crop-resize raster file.

Step 3b: Change Map Projection

  • The current projection of data file is sinusoidal. It needs to be converted to Geographic or LatLong projection. In the ENVI Map menu select Convert Map projection.

  • Then Select Input files e.g. MVC-may-crop-resize.

  • In the convert Map projection window, click “change proj”. In the new window, select Geographic Lat/Lon.

  • In the Convert Map Projection Parameters window, set the same values for X pixel size and Y pixel size. For 250 meter MODIS bands you can set 0.0025 for pixel size in degree.

Step 4: Masking out data with the study area

Range land, rain fed and forest are three types of natural vegetation, which were extracted from the available land cover map. In this study area there is no significant forest, so processing continues with range land and rain fed land. IN the below figure the distribution of range land is shown.

Step 5: Masking out ‘not vegetation’ data

To subset range land, select resize data, choose spatial subset and click file in “select spatial subset” window. Now choose MVC-may-resize-prj, which is the file that the range land subset should be based on. Final result is range-cut.img.

The figure below shows the resized range land based on MVC.

The following figure shows the range land of the sample area.

Since the minimum value of NDVI is -1 , the ignore value of MVC data file should be set to -1. So, in ENVI Header, after selection of Input file, in the Edit/attributes tab, click on “data ignore value”, and set -1 in the new window.


Processing Steps: 

B. Calculate Vegetation Condition Index (VCI)

Step 6a: Compute Statistics

(note: in the workflow diagram this is step 8.)

  • In order to compare average monthly NDVI between 2000 to 2013, statistics of finalized data need to be computed. To compute statistics, from Basic Tools, select Compute statistics.

  • In the “Compute Statistics Input File” Window, after selecting desired data file, in Mask Option tab, choose “Mask Data Ignore Values [All bands]”, because at a previous step -1 value was set for data ignore value. This operation applies mask value for all 14 bands.


  • In the next window, it is possible to choose types of statistical report. Histograms, Basic statistics and covariance are various options.

In order to illustrate the drought condition in study area, a line fits to the mean NDVI in period (2000-2013). This constant line is considered as NDVImean,y. The differences between the long-term NDVI mean values and the NDVI values in a specific year is the deviations (DEV NDVI).


Where, NDVIi is the NDVI value for year i and NDVImean,y is the long-term mean NDVI for the long term period. In fact this line considers as a threshold to determine drought, wet or normal year. When DEV NDVI is negative, it indicates an under normal vegetation condition/health and, therefore, suggests a prevailing drought situation. The greater the negative departure, the greater the magnitude of a drought. In general, the departure from the long-term mean NDVI is effectively more than just a drought indicator, as it would reflect the conditions of healthy vegetation in normal and wet years.

  • For the comparison of Mean NDVI values from 2000 to 2013, in Excel software design a graph, the horizontal axis of the graph could be years 2000 to 2013. The vertical axis is the mean values of NDVI from 2000 to 2013 for May.

  • All processing level from the first stage to the end is performed for June month too. Therefore Mean NDVI from 2000 to 2013 for June is computed with the same algorithm.

Step 6b: Compute VCI

Seasonal and international comparisons of drought areas delineated by the Vegetation Condition Index (VCI) provided a useful tool to analyze temporal and spatial evolution of regional drought as well as to estimate crop production qualitatively. The VCI compares the observed NDVI to the range of values observed in the same period in previous years. The VCI is expressed in % and gives an idea where the observed value is situated between the extreme values (minimum and maximum) in the previous years. Lower and higher values indicate bad and good vegetation state conditions, respectively.

  • To compute VCI, at first NDVImin, NDVIMax and NDVIcur need to be computed. NDVImin is defined as minimum value of NDVI in years (2000-2013). So, at first the minimum value of NDVI for each year is computed [since for this case study, MVC for month May and June were used, using b1<b2 expression in ENVI we can estimate the minimum value of NDVI for each year], after that NDVImin from 2000 to 2013 can be computed.
  • A month-by-month (May and June) spatial distribution of VCI in the study area during the period (2000-2013) is processed.
  • To compute VCI in ENVI, from Basic Tools, click on Band Math.

  • In the opening window, to compute NDVImin type below expression:


  • Then allocate the respective bands to each variable. For example, b1 is allocated to NDVI 2000 or b4 is allocated to NDVI 2003.

  • NDVImax and NDVImin are calculated from the long-term record. To compute NDVImax, write below expression in Band math window. Then allocate the maximum value of NDVI for each year to the corresponding variable.


  • The next expression is b1-b2= NDVImax - NDVImin

  • The final expression to compute VCI is (b1-b2)/b3. b1 is average NDVI of three months (May, June) in each year. So the output includes 14 bands or 14 VCI from 2000 to 2013.


C. Visualization and Analysis

Step 7: Visualization

  • In order to enhance the colors of the output map, it is recommended to classify the VCI map based on the data range. The data range varies from 0 to 1 (0 showing areas without vegetation and 1 showing areas with dense and healthy vegetation). To perform it from the Tools tab in image window, go to Color Mapping and choose Density Slice.

  • In the opening window, it is possible to define the density slice ranges and allocate the desired color for each range. 

  • In the below figure, the final VCI for May 2000 and May 2007 are compared.