BMElib

Contact: Marc Serre and Patrick Bogaert

 

BMElib description

BMElib is a powerful MATLAB numerical toolbox of Modern Spatiotemporal Geostatistics implementing the Bayesian Maximum Entropy (BME) theory. BMElib provides a one stop library for

 

1. both spatial and space/time Geostatistics, dealing with

2. both continuous and categorical variables, implementing

3. the best unbiased non linear estimator (BME), which

4. rigorously processes hard and soft data, but also leads to

5. the (simple, ordinary, universal) kriging methods as linear limiting cases.

 

Space/Time Geostatistics:

Unlike other Geostatistical package, BMElib has been implemented from the start for space/time Geostatistics. Hence BMElib implements the concepts of space/time metrics, space/time neighborhood search, space/time covariance analysis, and space/time estimation.  As a result BMElib provides better Geostatistical functions for space/time analysis than classical Geostatistics software (where time is included as merely another spatial dimension), while providing excellent functions in the purely spatial case.

 

Non-Linear and Non Gaussian Geostatistics:

BMElib implements the powerful BME method of Modern Spatiotemporal Geostatistics. BME is a rigorous mathematical framework that allows processing a wide variety of knowledge bases, and leads to the best unbiased non linear estimatorHard data, soft data, non-Gaussian distributions, etc are automatically integrated in BMElib.

 

Classical kriging :

When restricting the estimation to linear estimation of continuous variables, BME becomes the best unbiased linear estimators of classical Geostatistics.  Hence simple kriging, ordinary kriging, universal kriging, etc. are all part of the BMElib toolbox.

 

Software description
(click here)

 

Download

BMElib is a publicly available software for BMElib users. To get on the BMElib users list, send an email to marc_serre@unc.edu (USA contact) or patrick.bogaert@uclouvain.be (European contact) or with your contact information (name, position, work address) stating your interest to be added to the list.  Once added to the list, you will receive an email with a user name and password to download the latest version of BMElib. The latest version of BMElib is the following:

 

Windows users: 

MATLAB version 7.8 (release 2009a) and later: Download BMELIB2.0c_MATLAB2009a.zip (restricted access), which is a zipped file containing the source code for BMElib version 2.0c.  Just download this file and unzip to a directory anywhere on your hard drive (e.g. C:).  This will create your BMElib directory (e.g. C:\BMElib2.0c _MATLAB2009a) with several subdirectories (bmecatlib, …, graphlib, …, mvnlib, etc.). In the BMELIB2.0c_MATLAB2009a directory there should also be a file called “startup.m”.  Make sure this file is there.  If it is missing double check your installation steps as you may have done a mistake.

 

Linux users:

BMELIB2.0bLinux.tar.gz (restricted access) is a tarred + zipped file containing the source code and executables for BMElib version 2.0b (for Intel Linux users; compiled with GCC v.3.2.2).

 

Mac users:

BMELIB2.0bMacOSX.tar.gz (restricted access) is a tarred + zipped file containing the source code and executables for BMElib version 2.0b (for Macintosh users; compiled with GCC v.3.4.3).

 

Getting started with BMELIB version 2.0c on a Windows computer

 

 

Additionally, the book below contains a detailed explanation of BMElib functions, as well as examples that can be re-created using the functions in the exlib tutorial

Christakos, G., P. Bogaert, and M.L. Serre, Temporal GIS: Advanced Functions for Field-Based Applications, Springer-Verlag, New York, N.Y., 217 p., CD ROM included, 2002

 

Setting an icon for BMELIB on a Windows computer

 

Trouble shooting

· “Invalid Mex-File…”. This error occurs when the mex files in the mvnlib directory are not compatible with your operating system or your version of MATLAB. For example this can happen if you use an old version of Windows, if you use linux or a Mac computer, or if you use a very old or very recent version of MATLAB. You may try one of the following three suggestion

Linux users: Download BMELIB2.0bLinux.tar.gz (restricted access). It is a tarred + zipped file containing the source code and executables for BMElib version 2.0b (for Intel Linux users; compiled with GCC v.3.2.2).  

Mac users: Download BMELIB2.0bMacOSX.tar.gz (restricted access). It is a tarred + zipped file containing the source code and executables for BMElib version 2.0b (for Macintosh users; compiled with GCC v.3.4.3).

If all else fails: Download BMELIB2.0c_noMex.zip. This essentially disables the mex functions and provides an approximate numerical implementation of the BME estimation.

·"Error using regression…”. This error happens in new versions of MATLAB that have a function named “regression.m”. That function is conflicting with the BMElib function with the same name in the statslib directory. A workaround is to change the startup program so that the statslib directory is added at the beginning of the path, rather than the end of the path. To do that, open the startup.m function (located in your root BMElib directory), and change the following line

addpath([dirBME '\statlib'],'-end');

with this line

addpath([dirBME '\statlib'],'-begin');

·"Error using split…”. This error happens in new versions of MATLAB that have a function named “split.m”. That function is conflicting with the BMElib function with the same name in the genlib directory. A workaround is the same as above for genlib, i.e. open the startup.m function (located in your root BMElib directory), and change the following line

addpath([dirBME '\genlib'],'-end');

with this line

addpath([dirBME '\genlib'],'-begin');

 

 

Description of earlier versions of BMELIB

 

BMELIB 1.0: This is the version in the Temporal GIS  book, it works with MATLAB 5.3

 

BMELIB 1.0b: This version fixes some minor bugs of version 1.0, and it works with MATLAB 5.3 to 6.1

 

BMELIB 1.0c: This version fixes some minor bugs of previous versions, and it works with MATLAB 5.3 to 6.1

 

BMELIB 2.0c: This version provides a substantial upgrade for many of the functions of version 1.0c.  In addition it introduces beta versions for an extension for s/t mapping, an extension for projection, as well as the bmecatlib directory for categorical data.  This version works with MATLAB versions 6.1 or later.

 

Obtaining earlier versions of BMElib:

 

Installation notes

 

installingBMELIBnet.html provides instructions on how to download and install BMElib version 1.0b.

 

Older files and versions

 

executablesForMvnlib/ - directory with executables for the mvnlib directory

 

BMELIB.zip (restricted access) is a zipped file containing the source code for BMElib version 1.0b (Windows users)

 

BMELIB.tar.gz (restricted access) is a tarred/zipped file containing the source code for BMElib version 1.0b (linux/unix users)

 

BMELIB1.0c.zip (restricted access) is a zipped file containing the source code for BMElib version 1.0c (Windows users).  Use the same installation instructions as for version 1.0b, but using BMELIB1.0c.zip instead of BMELIB.zip.

 

Consulting services in the application of BME in space time statistics:

Please visit www.spacetimeworks.com

·         to find out about the increasing spread and popularity of spatiotemporal analysis as means to research many natural attributes and processes

·         to get informed about professional consulting services that are available for space-time geostatistics / statistics / analytical GIS tools

·         to explore more examples where Knowledge Synthesis / BME is applied