Bloom Index

Overview

The bloom index algorithm produces one value per day, a numeric code. The basic steps of the algorithm are

  1. Average the chlorophyll data to nightly values.

  2. Compute the rate of change and rate of growth.

  3. Loop thru the time series. Conditions which would constitute the start of an event would be a large rate of growth (>0.45). If the rate of growth is larger than 0.80, then it may be an advection event. If an event lasts longer than a given number of days, then the event classifies as a bloom event. Conditions which will cause the event to end include

    1. Invalid data.

    2. An advective rate of growth immediately followed by a sizably large decrease, which leads us to believe that it really was an advection event.

    3. If the mean growth rate over the window falls below zero, then we the event has been on a long downhill slide.

    4. If the running cumulative sum of delta chl falls below zero, then we have less chlorophyll than when we started.

Input

  1. chlorophyll time series in micrograms/liter

  2. The window length in days is required. This provides a period of time over which an event must sustain itself before being labeled a bloom.

Ancillary Requirements

None.

MATLAB m-file

compute_bloom_index.m

Output

bloom_trend

CodeMeaning
0No Trend
1Biomass decreasing
2Biomass variable
3Biomass increasing
4Possible advection event
5Probable advection event
6Possible bloom
7Probable bloom

event_demarcation_code

CodeMeaning
0Event Start
1Negative event delta chl
2Large negative growth rate
3Negative window mean growth rate
4Invalid data

dchl_dt

rate of change of hourly chlorophyll time series

CHLrate

rate of growth of hourly chlorophyll time series

event_delta_chl

cumulative sum of chlorophyll daily change since the beginning of an event

interpolated_chl

hourly chlorophyll values interpolated into the daily time series