GCTL is a package of computational tools and C++ library for geophysical studies. The complete package is composed of a core library and additional libraries and command line tools. A full list of GCTL's libraries are listed as:
1.**gctl**: the core library (stored at this repository);
2.**gctl_potential**: library of the algorithms for working with the potential field data (i.e., gravitational and magnetic data);
3.**gctl_seismic**: library of the algorithms for working with the seismic/earthquake data;
4.**gctl_elecmag**: library of the algorithms for working with the elecmagnetic/magnetotelluric data;
5.**gctl_optimization**: library of the optimization algorithms;
6.**gctl_ai**: library of the artificial intelligence algorithms;
6.**gctl_graphic**: library for data visualization;
7.**gctl_examples**: executable examples;
8.**gctl_toolkits**: command line tools.
## Dependences
There are several third-party libraries that could be employed by the GCTL during the compilation to enable extral functionalities. The inclusion of the exterior libraries are controlled using the CMake compile options as `-D<option>=ON|OFF`. And the availiable options are:
1.**GCTL_OPENMP**: Enable OpenMP support. The default is ON;
2.**GCTL_NETCDF**: Use the netCDF libraries for reading and writing .nc files. This option requires the netCDF and netCDF_CXX libraries. The default is ON;
3.**GCTL_WAVELIB**: Use the WaveLIB for preforming the wavelet processes. The default is ON;
4.**GCTL_FFTW3**: Use the FFTW library for preforming the Fourier transformations. The default is ON;
5.**GCTL_OPENBLAS**: Use the openblas library for linear algebras. The default is OFF;
6.**GCTL_EIGEN**: Use the Eigen3 library. This is not a compiling option but could be used in applications to enable Eigen3 support.
7.**GCTL\_CHECK_BOUNDER**: Check indexing validities in all array-like operations. This may affect the computational efficiency. The default is OFF;
8.**GCTL\_CHECK_SIZE**: Check sizes in all array-like operations. This may affect the computational efficiency. The default is OFF.
## Installation
You can use the enclosed shell script 'installer' to install.