Introduction
Library for Building Kriging Surfaces in Fortran 90
Goal:

Provide easy to use tools for constructing and making predictions from gradientenhanced and functiononly Kriging models that can be incorporated directly into existing FORTRAN codes.
Features:

Build Kriging based on Function Values

Build Kriging based on Function/Gradient Values

Prediction of Function/Gradient Values

Variance predictions for Function/Gradient

Universal Kriging with Arbitrary Basis

Written in Fortran 90 utilizing LAPACK
Usage

Generate Training Data ( \(X,Y,dY\))

Call buildkriging (or buildkrigingGEK when gradient values are used) to determine Gaussian process parameters (referred to as hyperparameters) and process the data (denoted as \(V\))

Once model is constructed, predictions can be made using the following:

Optimization can also be performed on the Kriging Surface:
Download
GitHub
Examples
The process of creating a Kriging model based on function values from an analytic test function (defined in toyfunc) is found in krigingwrapper.
Creating a gradientenhanced kriging model based on function and derivative values of an analytic test function is found in krigingwrapperGEK.
Compilation

Manually edit Makefile to specify compiler and compilation flags

If the preprocessing flag "HAVELAPACK" is supplied, LAPACK is used so make sure the appropriate library is linked during compilation.

For parallelism, openmp is used within the pattern search used to determine the hyperparameters, as such the sequential version of LAPACK should be used

The flag "mkl=sequential" works for the Intel Fortran compiler

Use "make" to compile the library, named "kriginglib.a"

Link the library "kriginglib.a" to your executable (as well as LAPACK and openmp if appropriate)
License
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Copyright (C) 2012 Brian A. Lockwood