FDCShift( ReadFromFile(ReadFromFile parameters), Environmental Management Class)


The FDCShift function is used to estimate the recommended streamflow in a modified stream, by uniformly reducing (shifting) the natural (unregulated) flow duration curve by a fixed number of percentile places, and further disaggregating it into a complete time series of modified flows.  This estimated time series represents the environmental flow requirement (in order to maintain the stream in a given ecological condition (environmental management class) ), and would typically be used to set the requirement for a flow requirement object.  As an alternative to setting a flow requirement, you could add a streamflow gauge object to the river and set its flow using FDCShift.  In this way, you could compare the streamflow simulated by WEAP to the FDCShifted flow representing an Environmental Management Class.

FDCShift is one of several possible approaches to calculating environmental flows, and should be considered a “low confidence” method. (Refer to the sources cited below for other suggested methods.)

The shift is calculated according to the following procedure:

  1. Calculate the Flow Duration Curve (FDC) from the original ("No Change") streamflow time series specified by the ReadFromFile parameter.  (The FDC is constructed using all points in the original streamflow time series between the FirstYear and LastYear (ReadFromFile) parameters, defaulting to the first and last years of the time series if those parameters are not specified.  If the time series has missing values, these gaps are filled using the specified Missing Value Method in the ReadFromFile parameter.)

  2. For each flow value Q in the original streamflow time series, calculate its percentile P in the FDC:  P = 100 * Rank / (N + 1),  where N is the number of data points and Rank is the rank order (from 1-N) of Q in the flow duration curve (flows in decreasing order). Rank = 1 is the highest flow; Rank = N is the lowest flow.

  3. Calculate a new percentile P' by shifting P the number of steps according to the Environmental Management Class parameter (A-F, corresponding to a shift of 1-6 steps).  A shift of one step corresponds to moving from one number to the next larger number in the following list of percentiles: 0.01%, 0.1%, 1%, 5%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, 95%, 99%, 99.9% and 99.99%.  For example, a shift of 2 places (B: Slightly Modified) would mean that a 60% flow would be reduced to a 80% flow, and a 90% flow would be reduced to a 99% flow. Percentiles between the specified values, e.g., 85%, are calculated by a linear interpolation.  For example, P = 85% is halfway between 80% and 90%; when shifted 2 places, it will be halfway between 95% and 99%, so P' = 97%.

    Environmental Management Class

    Percentile Places to Shift


    No Change


    Pristine condition.

    A: Natural Flow


    Minor modification of instream and riparian habitat.

    B: Slightly Modified


    Largely intact biodiversity and habitats despite water resources development and/or basin modifications.

    C: Moderately Modified


    The habitats and dynamics of the biota have been disturbed, but basic ecosystem functions are still intact. Some sensitive species are lost or reduced in extent.  Alien species present.

    D: Largely Modified


    Large changes in natural habitat, biota and basic ecosystem functions have occurred.  A clearly lower than expected species richness.  Much lowered presence of intolerant species.  Alien species prevail.

    E: Seriously Modified


    Habitat diversity and availability have declined.  A strikingly lower than expected species richness.  Only tolerant species remain.  Indigenous species can no longer breed.  Alien species have invaded the ecosystem.

    F: Critically Modified


    Modifications have reached a critical level and ecosystem has been completely modified with almost total loss of natural habitat and biota.  In the worst case, the basic ecosystem functions have been destroyed and the changes are irreversible.

  4. Calculate a new flow value Q' by finding the P' percentile flow in the original FDC.  

Using the FDCShift Wizard is the easiest way to construct a FDCShift expression, and it helps you explore, preprocess and visualize the time series data.

The FDCShift function is an implementation of the Global Environmental Flow Calculator (GEFC), a software package for desktop rapid assessment of Environmental Flows developed by the International Water Management Institute (IWMI).  For more information about GEFC, see Smakhtin, V., Anputhas, M., "Developing a Software Package for Global Desktop Assessment of Environmental Flows," Environmental Modeling and Software 23: 1396-1406 (2008) and https://www.iwmi.cgiar.org/resources/data-and-tools/models-and-software/environmental-flow-calculators/    The justification and methodology of the GEFC is described in: Smakhtin, V., Anputhas, M., "An assessment of environmental flow requirements of Indian river basins," IWMI Research Report 107, Colombo, Sri Lanka: International Water Management Institute.


   FDCShift( ReadFromFile(RedRiver.csv), A)

Shift the FDC from RedRiver.csv by 1 percentile place.

   FDCShift( ReadFromFile(GreenRiver.csv, 1, 1950, , , , , 1920, 1960, Cycle), C)

Shift the FDC from GreenRiver.csv (using only data from 1920-1960, starting with 1950 and cycling back to 1920 as needed) by 3 percentile places.