Ferramentas para geração de grades retangulares para modelos oceânicos.
RecOM (Rectangular Ocean Mesh Tools) é um conjunto de ferramentas (toolkit) para auxiliar na criação e manipulação de grades retangulares utilizadas em modelos oceânicos numéricos. O projeto é modular, permitindo adicionar novas funcionalidades de forma independente.
Interpola dados batimétricos globais do GEBCO para criar grades regulares customizadas.
Localização: tools/gebco_interpolation/
Características:
- ✨ Interpolação de alta qualidade dos dados batimétricos
- 🚀 Processamento paralelo para grandes áreas
- 📐 Espaçamentos diferentes para dx e dy
- Formato ASCII simples (5 colunas: i, j, lon, lat, depth)
Uso rápido:
cd tools/gebco_interpolation/scripts
python generate_grid.pyEditor visual interativo para manipulação manual de grades oceânicas.
Localização: tools/grid_editor/
Características:
- 🗺️ Linha de costa real (Cartopy/Natural Earth)
- 📊 Contornos batimétricos com labels
- 🎨 Terra em cinza, oceano em azul
- �️ Visualização de grades (com opção de salvar)
- �🖱️ Click para alternar terra ↔ água
- �️ Click direito + arrastar para pan
- �🔍 Zoom interativo
- 🧮 Interpolação automática (IDW)
Uso rápido:
# Visualizar grade (somente leitura)
./ocean_mesh_tools.sh view output/pom_bathymetry_grid.asc
./ocean_mesh_tools.sh view output/pom_bathymetry_grid.asc -o mapa.png
# Editar grade (interativo)
./ocean_mesh_tools.sh edit output/pom_bathymetry_grid.ascExtrai máscaras terra/oceano de dados de reanálises oceânicas para aplicar em grades customizadas.
Localização: tools/reanalysis_mask/
Características:
- 🌊 Identifica oceano vs terra a partir de dados válidos
- 📉 Degradação de resolução com agregação configurável
- Suporta BRAN2020, GLORYS, HYCOM e outros
- 🎯 Alinhamento preciso de grades
- 💾 Gera novas grades com sufixo indicando máscara aplicada
Uso rápido:
# Extrair máscara
python tools/reanalysis_mask/scripts/extract_mask.py /path/to/reanalysis.nc \
--lon-range -60 -30 --lat-range -35 -5 --target-res 0.25 0.25
# Aplicar máscara à grade
python tools/reanalysis_mask/scripts/apply_mask.py \
output/rectangular_grid_*.asc output/mask_ocean_*.ascEspaço reservado para novas funcionalidades de geração de grades.
# Criar ambiente conda com todas as dependências
conda env create -f environment.yml
conda activate ocean_mesh_toolsFaça download em: https://www.gebco.net/data_and_products/gridded_bathymetry_data/
Coloque o arquivo NetCDF em gebco_2025_sub_ice_topo/
Cada ferramenta tem seu próprio diretório em tools/ com README específico:
# Exemplo: Interpolação GEBCO
cd tools/gebco_interpolation
cat README.md # Ler instruções
cd scripts
python generate_grid.py- Documentação geral:
docs/ - Documentação por ferramenta:
tools/[nome_ferramenta]/README.md
| Documento | Descrição |
|---|---|
| INSTALL.md | Guia detalhado de instalação |
| QUICK_REFERENCE.md | Referência rápida de comandos |
ocean-grid-tools/
├── tools/ # Ferramentas disponíveis
│ ├── gebco_interpolation/ # Interpolação de dados GEBCO
│ ├── grid_editor/ # Editor interativo de grades
│ └── reanalysis_mask/ # Extração de máscaras de reanálises
│ ├── README.md # Doc específica desta ferramenta
│ ├── src/ # Código-fonte
│ ├── scripts/ # Scripts executáveis
│ ├── examples/ # Exemplos de uso
│ └── tests/ # Testes unitários
│
├── docs/ # Documentação geral
│ ├── INSTALL.md
│ ├── QUICK_REFERENCE.md
│ └── ...
│
├── tests/ # Testes do projeto
├── gebco_2025_sub_ice_topo/ # Dados GEBCO (não versionado)
├── output/ # Arquivos gerados
│
├── environment.yml # Ambiente conda
├── requirements.txt # Dependências Python
├── ocean_mesh_tools.sh # Script CLI principal
└── README.md # Este arquivo
Este é um projeto modular e pragmático:
- ✅ Cada ferramenta é independente
- ✅ Documentação objetiva e prática
- ✅ Exemplos didáticos para usuários com Python básico
- ✅ Foco em funcionalidade, não em formalidades
- Python 3.8+
- numpy - Computação numérica
- scipy - Interpolação
- xarray - Manipulação de dados NetCDF
- netCDF4 - Leitura de dados GEBCO
- matplotlib - Visualização e editor interativo
- Criar diretório em
tools/nome_da_ferramenta/ - Seguir estrutura padrão:
src/,scripts/,examples/ - Criar README.md sucinto explicando:
- O que faz
- Como usar
- Parâmetros principais
- Exemplos práticos
- Atualizar este README principal
- Adicionar ao environment.yml se houver novas dependências
MIT License - veja LICENSE
Projeto pessoal desenvolvido para auxiliar na geração de grades para modelagem oceânica.
- GEBCO - General Bathymetric Chart of the Oceans
- Princeton Ocean Model - POM Reference