Mais

Programas / idiomas para processar arquivos netcdf “rápido”


Estou usando R para percorrer milhares de arquivos NetCDF (dados climáticos reduzidos) e, embora seja capaz de fazer isso usando R, o código é muito lento. Estou procurando uma maneira de acelerá-lo e manter a funcionalidade.

O que eu preciso é de um programa ou plataforma onde eu possa (1) importar dados netcdf, (2) importar uma camada de polígono, (3) obter a média para a camada de polígono e (4) exportar saída para arquivo csv. A seguir está um fluxo de trabalho de código geral:

forma <- readOGR (dsn, "forma") ## lida em arquivos shapefile <- dir ("no diretório", recursive = TRUE, full.names = TRUE, pattern = ". nc $") ### get caminhos de arquivo para arquivos netCDF out <-NULL for (i in 1: length (files)) {brick.tmp <- files [i] for (j in 1: nlayers (brick.tmp)) {val = extract (brick. tmp [[j]], forma, diversão = média) out <- rbind (out, val)}}

Eu preferiria ficar no ambiente R, mas não tenho certeza de como acelerar o código.

Tentei usar vários programas e olhei a lista aqui: https://www.unidata.ucar.edu/software/netcdf/docs/software.html

No entanto, pensei em aproveitar o conhecimento coletivo de todos e ver se posso restringir as escolhas potenciais.


O NetCDF é incrivelmente genérico e escrever código lento é fácil. Eu rotineiramente lido com dezenas de milhares de arquivos NetCDF em R, usando alguma combinação de pacotes raster, ncdf, ncdf4, RNetCDF ou rgdal. A chave é aproveitar as ferramentas de índice de células em raster para que o teste "célula em polígono" ocorra apenas uma vez, então você pode aplicar a extração em todos os arquivos. Muitas das ferramentas de alto nível fazem isso para você, portanto, pode ser muito fácil.

Um pseudo fluxo de trabalho se parece com:

library (raster) library (rgdal) ## construir um banco de dados de arquivos sensato (mais do que isso, incrível como raramente é feito) fs <- list.files ("nctree", etc. etc.) poly <- readOGR ("folder / of / polys "," shapefilename ") polyMatrixVals <- extract (stack (fs), poly, fun = mean)

Muitas suposições são carregadas lá, mas se não couber, existem maneiras de obter o mesmo efeito usando as ferramentas de componente em raster. Se R é a ferramenta certa depende dos detalhes de sua situação, e isso é válido para qualquer escolha de software.


Assista o vídeo: Cómo APRENDÍ un IDIOMA en 6 MESES con la LEY DE ATRACCIÓN. The vortex way (Outubro 2021).