# GSLIB

GSLIB é um acrónimo para Geostatistics Software Library. É um pacote de programas desenvolvido na Universidade de Stanford sobre a direção de André Journel com utilidade prática no campo da modelação em geociências, particularmente com geoestatística. Está escrita na linguagem Fortran e foi utilizada em vários softwares e actualizações para outras linguagens de programação. É actualmente o pacote mais difundido no campo de geoestatística.

## Nota histórica

Após o lançamento do pacote GSLIB foi publicado o seu manual pela Universidade de Oxford com o título GSLIB - Geostatistical Software Library and User’s Guide do qual os autores são André Journel (dirigiu o projecto de criação da GSLIB) e Clayton Deutsch. Mais tarde uma segunda edição foi feita, acompanhada por um CD.
O seu código fonte vem em Fortran 77 e Fortran 90 para sistemas Windows/DOS e Unix e está disponível gratuitamente para download. Devido a não ser de fácil utilização, pois os seus programas são utilizados individualmente, foi sendo inserida noutros softwares com e o caso do GeoMS.
Mais tarde, principalmente devido à popularização de outras linguagens de programação em detrimento do Fortran, foi convertida para outros pacotes noutras linguagens como é o caso da GsTL (C++), HPGL (Python), mGstat (Matlab) ou GeoPack (Mathematica).

## Funções

Para funcionar com a GSLIB é necessário ter à disposição o ficheiro de extensão .par onde são inseridos os parâmetros para a operação que se pretende fazer, e um ficheiro .exe por onde o programa será lançado. A título de exemplo mostra-se um exemplo de ficheiro de parâmetros para uma krigagem normal num caso bidimensional:
Do qual o utilizador necessita saber a que cada um dos campos e linhas corresponde e inclusive como representar a informação que se pretende. Na última linha deste exemplo o primeiro campo é o do modelo matemático utilizado no variograma, neste caso 1 que se refere ao modelo esférico.
Algumas das funções disponíveis no pacote GSLIB são:
Transformação de coordenadas
* addcoord – adição de coordenadas ao arquivo com a rede de amostragem
* rotcoord – rotação em 2-D de coordenadas
Distribuição de probabilidades ponderadas, transformação e suavização
* declus – desagrupamento (declustering) de células
* nscore – transformação para distribuição normal
* backtr – transformação inversa da distribuição normal
* trans – transformação geral de distribuição
* histsmth – suavização de histograma / distribuição univariada
* scatsmth – suavização de diagrama de dispersão / distribuição bivariada (ver também bivplt)
Variografia
* gam – cálculo de variograma em malha regular (usar vargplt para plotar o resultado)
* gamv – cálculo de variograma em malha irregular (usar vargplt para plotar o resultado)
* varmap – mapa de variogramas / cálculo de volume (usar pixelplt para plotar o resultado)
* vmodel – modela um variograma experimental a partir de modelo analítico (usar varplt para plotar o resultado)
* bigaus – geração de variogramas indicativos a partir de variogramas com distribuição gaussiana ou normal
Krigagem
* kb2d – krigagem em 2-D
* kt3d – krigagem em 3-D
* cokb3d – cokrigagem
* ik3d – krigagem indicativa (usar postik para pós-processar resultados)
Simulação Estocástica
* draw – simulação estocástica simples de Monte Carlo
* lusim – simulação gaussiana matricial LU
* sgsim – simulação sequencial gaussiana
* gtsim – simulação gaussiana truncada (usar o resultado do sgsim e curvas de proporção)
* sisim – simulação indicativa seqüencial, incluindo categórica e contínua, e Markov-Bayes (usar o programa bicalib para o processo de calibração dos dados
* pfsim – simulação de campo de probabilidade
* ellipsim – simulação elipsoidal em 3-D
* anneal – pós-processamento / simulação em annealing
* sasim – (co)simulação em annealing
* postsim – pós-processamento de um número de simulação realizadas
Gráficos
* histplt – histograma e histograma acumulado
* probplt – gráfico de probabilidade normal e lognormal
* scatplt – diagrama de dispersão (scatterplot)
* qpplt – gráfico Q-Q ou P-P para comparar duas distribuições
* locmap – mapa de localização dos dados em 2-D (tons de cinza e colorido)
* pixelplt – mapa de pixel (raster / matricial) em 2-D (tons de cinza e colorido)
* bivplt – gráfico bivariado suavizado entre distribuição de probabilidade e distribuições marginais

## Ficheiros

Os ficheiros de entrada e de saída da GSLIB devem estar segundo o formato GEO-EAS do qual se apresenta o seguinte exemplo:
No qual a primeira linha é o título ou nome do projecto, a segunda o número de variáveis inclusive as coordenadas, e posteriormente uma linha por cada variável com o seu nome. Depois aparece a informação numérica com uma coluna por cada variável.

## Discussão

Embora tenho no seu nome a implicação de se tratar de uma biblioteca é na verdade um conjunto de pequenos programas. Isto levou a que a sua reutilização em novos softwares não seja simples implicando a reescrita do código fonte.