Optimize Raster Reader Memory Usage for Hazard Module

Aberta
#1,262 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
35/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
python
Domínio
data

Direção de pesquisa

Start with the HazardXarrayReader class and its get_hazard_kwargs() method, where the raster data is turned into centroid coordinates for the hazard module. The issue leaves open whether the new options should default to filtering out no-data and zero-intensity points, so settle that with the maintainers first. Done means that centroids are built only for the selected coordinates, with the options exposed on the reader and covered by tests.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

enhancement

The current raster readers for the hazard module require building centroids for every point across the total extent of the raster. For high-resolution rasters, this leads to excessive memory requirements.

The construction requires building a Centroid grid for every point of the raster (even for no-data points)

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
(Add an option to?) Sub-select the dataset to coordinates which are not always NaN (also 0?)
This approach would save substantial RAM and computation time.

Specifically:

  1. add optional attributes to HazardXarrayReader (e.g. ignore_novalue_coords (default True) and ignore_zero_intensity_coords (default False)
  2. based on these attributes, sub-select the data in the get_hazard_kwargs() method, to generate Centroids only for the corresponding coordinates.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context

  • This is related to the refactoring of the centroids (GeoDataFrame)
  • This issue affects both read raster and potentially write raster methods? (a priori not)
Linguagem predominante
Jupyter Notebook
Estrelas
478
Forks
166
Merge médio
7d 17h
PRs com merge (30d)
4

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de CLIMADA-project/climada_python

Todas as issues de CLIMADA-project/climada_python

Issues semelhantes

Mais issues de Data Engineering

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.