CharAnalysis is a program for analyzing sediment-charcoal records with the goal of peak-detection to reconstruct "local" fire history. Diagnostic tools help determine if peak detection is warranted, and if so, what parameters are most reasonable. Analytical tools help summarize results statistically and graphically. The entire code is distributed and well commented. Users are encouraged to "look under the hood", understand what's going on, and modify the program to suit individual needs.

CharAnalysis has been packaged into a "beta" version for use and testing and can be downloaded via the links on this page.

Please contact the author at philip.higuera[at]montana.edu before publishing results from this program to make sure you have the latest version. You may use the following citation when using this program to define local thresholds:

Higuera, P. E., L. B. Brubaker, P. M. Anderson, T. A. Brown, A. T. Kennedy, and F. S. Hu. 2008. Frequent Fires in Ancient Shrub Tundra: Implications of Paleorecords for Arctic Environmental Change. PLoS ONE 3:e0001744.

Acknowledgments

Many features in CharAnalysis are based on the programs CHAPS, by Patrick Bartlein (U of OR), and Charster, by Daniel Gavin (U of OR). The Gaussian mixture model used in CharAnalysis was created by Charles Bouman (Purdue). CharAnalysis was written in and compiled by Matlab 7.0 with resources from the University of Washington, Montana State University, and the University of Illinois. Development of the program has benefited greatly from discussions with and testing by members of the Whitlock Paleoecology Lab at Montana State University, Dan Gavin, and Ryan Kelly. Please see the CharAnalysis User's Guide for more details.

CharAnalysis update log (most recent update on top):

  • 8 May, 2008: Three changes:
    • (1) NOTE - ERROR IN HOW SMOOTHED FIRE FREQUENCY WAS CALCULATED. Found error in smoothed fire frequency calculations: within main portion of record, peaks were summed for the first threshold, instead of the last (final) threshold. If your final threshold = your first threshold, then this error has no effect on your smoothed fire frequency values; otherwise, smoothed fire frequencies are based on the wrong threshold criterion. Fixed this error and compared to K1D output and obtain identical results, except for the ends of the records (likely due to LOWESS algorithm). 
    • (2)  Program quit when gaps were present after the cut-off date of a core. Fixed problem by selecting sampling years before identifying gaps in the record. 
    • (3) Changed smoothed-fire-frequency code back to sum and smooth over the same time window (prior to 6 Oct. 2007). If you need to sum and smooth over different intervals, contact the author for details on how to change this (in Matlab).
       
  • 25 April, 2008: Added capacity to analyze seven zones. Noted error when missing values span unequal sampling intervals (e.g. 0.5 cm before and in gap, 1.0 cm after gap). This error has not been fixed, but a "band aid" fix is to force sampling intervals to be even across gaps identified with -999. Finally, removed color formatting from template.xls files to reduce file size (from 3.7 to 0.17 MB). I hope no one misses the fancy formating.
  •  20 February, 2008: Fixed error in handling of missing values. Program quit with multiple missing values were not identified via -999. Now, program can handle multiple missing values.
  •  28 December, 2007: (1) Fixed error in background sensitivity analysis for local thresholds. Sensitivity analysis used the incorrect (constant, user input) window for calculating and smoothing local thresholds; only the background window varied. Now, both background window and threshold windows vary, as intended. (2) Modified background sensitivity analysis to accept records shorter than 1000 years. (3) Increased maximum length of output data from 1000 to 2500 values.
  •  13 December, 2007: Modified charPretreatment.m to accept missing values that span variable sampling depths.
  •  10 December, 2007: Fixed calculation of interpolated depth values. Only the values of cm_i in the output file are changed; no other analytical results are impacted.
  •  14 October, 2007: (1) Modified to accept -999 for missing values for charVol and charCount variables in input file. Missing values are filled in via linear interpolation; key time series graphics contain gray shading to indicate location of missing values. Other gaps in a record are pointed out but resampled over. (2) Modified Gaussian mixture model to deal with C_peak values of 0 when using locally-defined threshold. When this occurs, the mean and standard deviation of the noise PDF is assumed to equal 0.
  •  6 October, 2007: Changed smoothed-peak-frequencies algorithm to mirror CHAPS. Peaks are summed over a 1000-yr window (always) but are smoothed to a user-defined value. 
  •  1-3 October, 2007: (1) Resampling algorithm modified to mirror that used in Charster. (2) Smoothed fire-frequency algorithm improved to more accurately treat start/end of record. (3) Peak magnitude calculation corrected to account for years per peak.
  • September 2007: Initial program put on web for testing and distribution.
Locations of visitors to this page