HPGL
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]
HPGL | |
---|---|
Desenvolvedor: | HPGL/MIT-UFA |
Última versão: | 0.9.9 2010 |
Gênero: | Biblioteca |
Licença: | BSD |
Website: | hpgl.aoizora.org |
Nota histórica
editarA 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
editarA última versão lançada tem, entre outros, os seguintes algoritmos:
- Krigagem simples (SK)
- Krigagem normal (krigagem ordinária) (OK)
- Krigagem da Indicatriz (IK)
- Krigagem com médias locais (LVM Kriging)
- Co-Krigagem simples com modelos de Markov 1 e 2 (Markov Models 1 & 2)
- Simulação sequencial da indicatriz (SIS)
- Simulação sequencial gaussiana (SGS)
Utilização
editarA 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
editarOs 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
Algoritmo | GSLIB | HPGL 0.9.5 |
---|---|---|
Krigagem simples | 4m 10s | 1m 7s |
Krigagem normal | 4m 30s | 1m 80s |
Krigagem da indicatriz | 1h 30m+ | 1m 60s |
Simulação sequencial da indicatriz | 4m 40s | 1m 30s |
Simulação sequencial gaussiana | 3m 10s | 1m 70s |
Ver também
editar- Geoestatística
- GsTL, biblioteca de geoestatística para C++.
- GSLIB, biblioteca de geoestatística para Fortran.
- mGstat, biblioteca de geoestatística para Matlab.
- GeoPack, biblioteca de geoestatística para Mathematica.
- geoR, biblioteca de geoestatística para R.
- Lista de software para geoestatística
Referências
- ↑ 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- «High Performance Geostatistics Library» (em inglês)