Gostaria de ajudar?
Mostrando postagens com marcador Biblioteca. Mostrar todas as postagens
Mostrando postagens com marcador Biblioteca. Mostrar todas as postagens

segunda-feira, 24 de agosto de 2015

GrADS Preenchimento

Olá a todos,

Para usuário do GrADS-2.1 é possível plotar um gráfico em que um determinado intervalo de dados pode ser destacado (hachurado) e isto se tornou possível graças a biblioteca gráfica chamada de Cairo.

A utilização desta biblioteca está bem documentada em alguns sites na internet, mas a pedidos segue um dica simples de como utilizar o comando 'set tile' para destacar um determinado intervalo dos dados. Isto pode ser útil para quem deseja destacar os dados estatisticamente significativo.

A ideia do comando "tile" é desenhar pequenas imagens para cobrir uma determinada área. O GrADS na versão 2.1 suporta a utilização do comando "tile" automaticamente, versões anteriores não possuem suporte.

Segue a descrição do comando:

'set tile nu tipo largura altura llargura fcor bcor'

onde:

nu é o número do tile que pode variar de 0 até 2000;

tipo é o tipo do tile que você quer utilizar; pode variar de 0 a 8 e ao escolher o 0 significa que você irá utilizar um arquivo com os tile (externo);

1 - sólido ;
2 - pontos ;
3 - linhas diagonais esquerda \\\\\\ ;
4 - linhas diagonais direita ////// ;
5 - linhas diagonais esquerda sobrepostas diagonais direita;
6 - linhas verticais ;
7 - linhas horizontais ;
8 - linhas horizontais sobrepostas as linhas verticais.

largura é a largura do "tile" gerada em pixels. O padrão é 9.
altura é a altura do "tile" gerada em pixels. O padrão é 9.
llargura é a espessura da linha utilizada para desenhar a linha especificada na imagem.
fcor é a cor usada para desenhar a linha
bcor é a cor do fundo utilizada para encher o fundo da imagem.

Para os "tile" gerados, uma pequena imagem é criada usando a largura e altura especificada, e, em seguida, ou é preenchido com uma cor sólida, ou é preenchido com a cor de fundo e, em seguida, uma ou duas linhas são desenhadas na imagem usando a cor do primeiro plano e a espessura da linha especificada. Note que as linhas são desenhadas de canto a canto (para linhas diagonais) ou no centro da imagem (diagonal / ou diagonal \ ). Assim, o tamanho da imagem, controlado pelos comando de largura e altura, vai controlar o espaçamento das linhas para o padrão final, e a relação de aspecto da imagem vai controlar o ângulo das linhas. Uma imagem pequena resultará em linhas espaçadas de forma mais estreita no padrão final, e uma imagem maior irá resultar num padrão mais espaçados.

Note que a espessura padrão é 3, a cor de primeiro plano padrão é o número de cores 1, e a cor de fundo padrão é um preto totalmente transparente (vermelho=0, verde=0, azul=0, alfa=0).

O "tile" será descrito como uma combinação do comando 'set tile' e 'set rgb' para definir as cores do primeiro plano e do fundo. Eles podem ser definidos em qualquer ordem, mas deve ser definido antes de qualquer desenho (display) feito na página atual.

Para utilizar um padrão de cores (rgb) ao "tile" que foi criado o comando é o seguinte:

'set rgb cc tile nu'

onde:

cc é o número do RGB criado;
nu é o número do tile.

Ao utilizar um padrão de cores a um "tile" criado não poderá ser utilizado a outro "tile".

Exemplo de utilização:

'reinit'
'sdfopen uwnd.mon.mean.nc'
'set display color white';'c'
'set grads off';'set grid off'

i = 60
n = 60
cmd = 'set rbcols'
while (i<256) 
  'set rgb 'n' 'i' 'i' 'i
  cmd = cmd%' '%n
  i = i + 15
  n = n + 1
endwhile
cmd

* definindo duas cores
'set rgb 20 255 0 0'
'set rgb 21 0 0 255'

* definindo dois "tile"
'set tile 0 2 6 6 3 20'
'set tile 1 2 6 6 3 21'
'set rgb 22 tile 0'
'set rgb 23 tile 1'

'set gxout shaded'
'd uwnd'

* Desenhando pontilhados azuis e vermelhos para valores de vento superiores a 5 e inferiores a 5.
'set clevs 5'
'set ccols -1 22'
'd uwnd'
'set clevs -5'
'set ccols 23 -1'
'd uwnd'



Exemplo e:

'reinit'
'sdfopen uwnd.mon.mean.nc'
'set display color white';'c'
'set grads off';'set grid off'
'set tile 20 8 5 5 2 0'
'set rgb 30 tile 20'
'set gxout shaded'
'd uwnd'
'cbar'
'set clevs 5'
'set ccols -1 30'
'd uwnd'
'set clevs -5'
'set ccols 30 -1'
'd uwnd'


Abaixo segue um exemplo que mostra uma série de padrões diferentes. As especificações do comando 'tile' que foi usado para criar o padrão é mostrado em cada quadrado (sem os valores de cor). As definições de cor não são mostradas. Os comandos usados para desenhar o último quadrado são mostrados abaixo. Os comandos utilizados para os outros quadrados são semelhantes.

'set rgb 36 255 255 0'
'set rgb 40 255 0 255'
'set tile 21 2 9 9 3 40 36 '
'set rgb 31 tile 21'
'set line 31'
'draw recf 7 1 9 3 '
'draw string 8 0.8 set tile 21 2 9 9 3'



Boa Sorte e Bom Trabalho a Todos!



quarta-feira, 24 de setembro de 2014

O ifort agora é Pago!

Quem aproveitou, aproveitou!

Recentemente descobrimos que o Compilador fortran e C++ da intel ifort e icc agora são pagos. Seguramente o compilador fortran mais rápido e eficiente já lançado. Diz a lenda que o desenvolvimento do ifort evoluiu junto ao desenvolvimento do Modelo Regional WRF. A lenda conta que ao desenvolver o ifort a intel necessitava de executar um processamento ao qual exigisse o máximo de performance e eles conseguiram ao executar o modelo WRF.

No entanto o desenvolvimento do ifort foi aos poucos migrando para programação orientada ao objeto e muitas funções de programação em C++ foram adicionadas. A utilização do sistema via terminal (modo texto) foi sendo abandonada aos poucos e desde 2011 a intel vinha desenvolvendo o intell Studio XE (modo gráfico) que combinava em um mesmo software o ifort e o icc. O inevitável acabou acontecendo o investimento no software foi aumentando cada vez mais o software foi ficando cada vez mais robusto, consequentemente o intel studio foi adquirindo cada vez mais adepto. A consequência disso tudo é que a partir de 2014 os compiladores ifort e icc se tornarão pagos.

O software pode ser encontrado em 3 níveis de desenvolvimento Cluster Edition, Professional Edition e Composer Edition. O valor varia de acordo com o tipo de comprador (Individual, empresa e etc, Estudante, profissional e etc). A licença individual mais barata e mais simples para fins acadêmico custa 249 dólares a mais cara e mais completa e para fins comerciais 1699 dólares. É possível baixar uma versão trial com duração de 30 dias.

É uma pena, mas já era esperado. Portanto, se você possui uma versão free do ifort e do icc na sua maquina zele por ela :)

Segue o link da página para compra do ifort.

Boa Sorte e Bom Trabalho a Todos!

Cristiano

terça-feira, 27 de novembro de 2012

Compilando a Lib FFTPACK

Sempre que migro de maquina ou processador preciso compilar a lib FFTPACK (Fortran para Transformada de Fourrier) e sempre esqueço como compilar, por isso segue uma maneira fácil (não sei se a ideial) de compilar esta lib:

Baixe todos os arquivos .f (FORTRAN) desta página:

http://www.netlib.org/fftpack/

Eu usei o compilador ifort para compilar:

>ifort -c *.f

Desta forma criei todos os arquivos objetos (.o) necessários, em seguida:

>ar cr libfftpack.a *.o (é isso mesmo ar rc estes programas já são comuns ao Linux)

Desta forma a lib já esta criada, para testar:

>ranlib libfftpack.a

Se não apresentar erro a lib foi compilada com sucesso.

Boa Sorte e Bom Trabalho a Todos!!

Cristiano

quarta-feira, 23 de maio de 2012

GrADS Script - Bin Guan's

Excelente página com várias bibliotecas/funções do GrADS de fácil utilização:

Bin Guan's

Boa Sorte e Bom Trabalho a Todos!!

quinta-feira, 17 de maio de 2012

Instalação do Udunits (GrADS)




Download

>wget -c ftp://ftp.unidata.ucar.edu/pub/udunits/udunits-1.12.11.tar.gz
>tar -zvxf udunits-versão.tar.gz
>
cd udunits-versao/src/

>>./configure --disable-shared --enable-static --prefix=$HOME/supplibs/src/udunits-1.11.7

>>make


Se ao executar o make gerar o erro abaixo:

>>gcc: +z: No such file or directory

Altere a linha "CFLAGS = -O +z" por "CFLAGS = -O -fpic" nos arquivos abaixo


>vi port/misc/Makefile
>vi lib/Makefile
>
vi udunits/Makefile 
 
Execute o make novamente

 
>make 
 

Se der o erro abaixo, ou parecido:

>ld: Unsatisfied symbol "pow" in file /home/user/grads/supplibs/src/udunits-versao/src/lib/libudunits.a[utlib.o]

Muda a linha "ld_math = " para "ld_math = -lm" no arquivo abaixo


>vi udunits/Makefile
>make

Se o aparecer os erros abaixos: 


>>gcc: +DSitanium2: No such file or directory
>>
gcc: +Z: No such file or directory
>>gcc: +Ofltacc=strict: No such file or directory
>>gcc: +Z: No such file or directory
>>
cc1: error: unrecognized command line option "-fast"

Vá até o arquivo perl/Makefile e faça as seguintes alterações:

>>vi perl/Makefile

Apagar a Flag "+DSitanium2" e inserir o seu compilador cc
Mudar todas as flag que apresenta
"+Z" pelo equivalente gcc "-fPIC"
Apagar o valor referente a variavel OPTIMIZE
Apagar a flag -Ae na linha 272

>>make
>> make install 
 

O comando make install irá gerar no diretorio /lib a biblioteca libudunits.a e udunits.h
Copie a libudunits.a para o diretorio /lib que você esta instalando. Ex:/home/user/pplibs

>>
cp ./lib/libudunits.a /home/user/pplibs/lib/
>>mkdir /home/user/pplibs/include/udunits
>>
cp ./lib/udunits.h /home/user/pplibs/include/udunits



Boa Sorte e Bom trabalho a todos!!

Instalação da biblioteca HDF


A primeira coisa a se fazer é baixar o código na seguinte homepage: http://www.hdfgroup.org/release4/obtain.htm

>wget -c http://www.hdfgroup.org/ftp/HDF/HDF_Current/src/hdf-4.2.5.tar.gz

OBS1: Para a compilação do HDF4 você já precisa ter instalado em seu sistema as bibliotecas ZLIB e JPEG. Você pode observar como faze-lo aqui mesmo no site (ZLIB e JPEG).
Ao baixar o código fassa uma cópia para o diretório usr/local

Descompacte-o:

>tar -zvxf hdf-4.2.5.tar.gz

Ao descompactar será criado o seguinte diretório hdf-4.2.5 .Dentro do diretório hdf-4.2.5 é necessário criar os seguites diretórios bin, lib, man, man/man1 e include.

>cd hdf-4.2.5
>mkdir bin lib man man/man1 include

Para compilar a bilioteca HDF4 utilize o seguinte comando:
Obs: Em alguns casos pode estar faltando os seguintes programas: flex e yacc (e isto pode gerar um erro ao executar o comando abaixo). Para instalar os programas flex e yacc sgia os seguintes passos:
>apt-get install flex    (para os usuários do Fedora por exemplo é só mudar o "apt" para "yum")
>apt-get install byacc    (para os usuários do Fedora por exemplo é só mudar o "apt" para "yum")

>F77=ifort ./configure --prefix=/usr/local --with-jpeg=/usr/local/hdf4 --with-zlib=/usr/local/hdf
>make
>make check (verifica se ocorreu erro)
>make install

Agora confira no diretório /usr/local/lib se foram criados dois arquivos:
  • libmfhdf.a
  • libdf.a
Se existir estes arquivos significa que a compilação está correta e terminada.

OBS2: O usuário pode escolher o compilador de sua preferência para compilar o HDF4. Nos passos acima foi utilizado o compilador ifort da intel (F77=ifort). Para quem quiser ou precisar utilizar outro compilador g95 e pgf90 por exemplo, basta fazer:

>F77=g95 ou F77=pgf90 ./configure --prefix=/usr/local --with-jpeg=/usr/local/hdf4 --with-zlib=/usr/local/hdf

, respectivamente. Depois executando os passos seguintes.

>make
>make install

Boa Sorte e Bom Trabalho a Todos.

quarta-feira, 16 de maio de 2012

Instalação da biblioteca NETCDF

A primeira cosia a se fazer é baixar o arquivo na seguinte homepage: http://www.unidata.ucar.edu/downloads/netcdf/index.jsp
Em NetCDF C/C++/Fortran Stable Releases e Downloads of stable releases of netCDF escolha qual versão você deseja baixar.

É possível escolher instalar uma versão pré-compilada ou não compilada (recomendada)

Download do arquivo:

>wget -c http://www.unidata.ucar.edu/downloads/netcdf/binary/linux_2.6-x86_64/binary-netcdf-4.0.1_ifort_ifort_icpc.tar.gz

OBS: Note que esta versão é para aqueles que possuem o ifort como compilador fortran e icpc o compilador intel também e também não esquecer da escolha da arquitetura de processador que você possui, neste caso x86_64.
Salve o arquivo baixado no diretório usr/local

Descompacte-o:

>tar -zvxf binary-netcdf-4.0.1_ifort_ifort_icpc.tar.gz
Agora é necessário exportar as variáveis de ambiente. Vá no diretório raiz /home/usuário e degite:

>gedit .bashrc
No final do Arquivo .bashrc acrescente as seguintes linhas
  • export NETCDF=/usr/local/netcdfX.X
  • export PATH=/usr/local/netcdfX.X/bin:/usr/local/netcdfX.X/lib:$PATH
Boa Sorte e Bom Trabalho a Todos!!

Instalando a Biblioteca JPEG


A primeira coisa a se fazer é baixar o código em http://www.hdfgroup.org/ftp/lib-external/jpeg/src/jpegsrc.v6b.tar.gz (disponível na página de downloads da HDF4).
Para facilitar podemos baixar via terminal

>wget -c http://www.hdfgroup.org/ftp/lib-external/jpeg/src/jpegsrc.v6b.tar.gz

Fassa uma cópia para o diretório usr/local;
Descompacte-o:

>tar -zxvf jpegsrc.v6b.tar.gz

Configure da seguinte forma:

>./configure --prefix=/usr/local/

Agora instale da seguinte maneira:

>make
>make install-lib
(este comando instala as bibliotecas da jpeg-6b)

Boa Sorte e Bom Trabalho a todos.

Instalação da biblioteca ZLIB

A primeira coisa a se fazer é baixar o código na seguinte homepage:

http://www.hdfgroup.org/ftp/lib-external/zlib/1.2/src/zlib-1.2.3.tar.gz (disponível na página de downloads da HDF4).

Para facilitar digite no terminal do Linux:

>wget -c http://www.hdfgroup.org/ftp/lib-external/zlib/1.2/src/zlib-1.2.3.tar.gz

Se você baixou em um diretório de sua preferência fassa uma cópia para o diretório usr/local
Agora descompacte-o

>tar -zxvf zlib-1.2.3.tar.gz

Agora Configure com o seguinte comando:

>./Configure --prefix=/usr/local
>make
>make instal

Neste tutorial utilizamos a versão 1.2.3 da biblioteca ZLIB dependendo a versão pode mudar com o tempo, caso queira uma versão mais recente é só modificar no ato do Download.
Boa Sorte e Bom Trabalho a Todos!!