HPGL

Origem: Wikipédia, a enciclopédia livre.
HPGL 
Desenvolvedor: HPGL/MIT-UFA
Última versão: 0.9.9 2010
Gênero: Biblioteca
Licença: BSD
Website: hpgl.aoizora.org


HPGL é um acrónimo para High Performance Geostatistics Library. É uma biblioteca de programação desenvolvida em C++ mas chamada em Python para operações de geoestatística. Foi produzida com o apoio da companhia russa MIT-UFA e é actualmente a única biblioteca de geoestatística paralelizada sendo, principalmente por esse motivo, a de melhor performance. É compatível com algumas das bibliotecas científicas e numéricas mais conhecidas em Python, como é o caso do numpy e scipy, e apela ao seu uso pela sua facilidade de utilização.[1]


Nota histórica[editar | editar código-fonte]

A HPGL teve a sua primeira versão lançada em 2009 (0.9.3) e no mesmo ano foram sendo feitas várias actualizações introduzindo novos algoritmos e suporte para diferentes formatos de ficheiros bem como adesão à licença BSD. A sua última actualização foi em 2010 (0.9.9) e por esta altura já compunha os algoritmos de geoestatística mais usados.

Com a estabilização da biblioteca começaram a desenvolver um software com base na mesma, HPGL-GUI, que pretende facilitar a sua utilização por meio de um interface gráfico de utilizador cuja versão actual para download ainda não é final (0.9.1).


Funções[editar | editar código-fonte]

A última versão lançada tem, entre outros, os seguintes algoritmos:

  1. Krigagem simples (SK)
  2. Krigagem normal (krigagem ordinária) (OK)
  3. Krigagem da Indicatriz (IK)
  4. Krigagem com médias locais (LVM Kriging)
  5. Co-Krigagem simples com modelos de Markov 1 e 2 (Markov Models 1 & 2)
  6. Simulação sequencial da indicatriz (SIS)
  7. Simulação sequencial gaussiana (SGS)


Utilização[editar | editar código-fonte]

A biblioteca é chamada a partir da linguagem Python usando o seguinte comando:

from geo_bsd import *

Implicando a importação directa de todas as suas funções. Para além da biblioteca principal existem duas secundárias:

from geo_bsd.routines import *
from geo_bsd.cvariogram import *

As malhas na biblioteca HPGL são cartesianas e por isso definidas por números de blocos na direção X (I), Y (J) e Z (K). A malha é gerada com o seguinte comando:

I = 50   # valores de exemplo
J = 50   # valores de exemplo
K = 10   # valores de exemplo
grid_object = SugarboxGrid(I, J, K)

A leitura de ficheiros em formato GEO-EAS é feita da seguinte maneira:

from geo_bsd.routines import *
dict_gslib = LoadGslibFile(filename)

E de formato eclipse:

prop = load_cont_property(filename, undefined_value, size)

Um krigagem simples pode ser lançada com os comandos:

grid = SugarboxGrid(55, 52, 100)
prop = load_cont_property("HARD_DATA.INC", -99, size )
cov_krig = CovarianceModel(type=1, ranges=(10,10,10), sill=1)
prop_result = simple_kriging(prop, grid,radiuses = (20, 20, 20),max_neighbours = 12,cov_model = cov_krig,mean = 1.6)


Benchmark[editar | editar código-fonte]

Os autores da HPGL fizeram notar no seu lançamento um benchmark de comparação com a GSLIB:

  • 1 CPU (Intel Core Duo 1.8 Ghz)
  • Tamanho da malha: 166x141x225 (5+ millions cells)
  • Propriedade de indicatriz/categórica: 20% de pontos definidos, 80% indefinidos, 2 classes de indicatriz
  • Propriedade continua: 20% de pontos definidos, 80% indefinidos, Valores: [0:1]
  • Variograma = (10, 10, 10)
  • Raio de procura = (20, 20, 20)
  • Número máximo de pontos vizinhos = 12
AlgoritmoGSLIBHPGL 0.9.5
Krigagem simples4m 10s1m 7s
Krigagem normal4m 30s1m 80s
Krigagem da indicatriz1h 30m+1m 60s
Simulação sequencial da indicatriz4m 40s1m 30s
Simulação sequencial gaussiana3m 10s1m 70s


Ver também[editar | editar código-fonte]


Referências

  1. Vladimir Savichev, Andrey Bezrukov, Artur Mukharlyamov, Konstantin Barsky, Dina Nasibullina, 2010, HPGL - High Performance Geostatistics Library: User Guide - Version 0.9.9.


Ligações externas[editar | editar código-fonte]