Skip to content

daniloceano/RecOM

Repository files navigation

RecOM - Rectangular Ocean Mesh Tools

Ferramentas para geração de grades retangulares para modelos oceânicos.

📋 Sobre

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.

🗂️ Ferramentas Disponíveis

1. Interpolação de Dados GEBCO

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.py

👉 Ver documentação completa


2. Editor de Grades

Editor 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.asc

👉 Ver documentação completa


3. Extração de Máscaras de Reanálises

Extrai 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_*.asc

👉 Ver documentação completa


4. [Futuras Ferramentas]

Espaço reservado para novas funcionalidades de geração de grades.

🚀 Início Rápido

1. Instalação do Ambiente

# Criar ambiente conda com todas as dependências conda env create -f environment.yml conda activate ocean_mesh_tools

2. Download dos Dados GEBCO

Faça download em: https://www.gebco.net/data_and_products/gridded_bathymetry_data/

Coloque o arquivo NetCDF em gebco_2025_sub_ice_topo/

3. Usar uma Ferramenta

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

  • Documentação geral: docs/
  • Documentação por ferramenta: tools/[nome_ferramenta]/README.md

Documentos principais

Documento Descrição
INSTALL.md Guia detalhado de instalação
QUICK_REFERENCE.md Referência rápida de comandos

🔧 Estrutura do Projeto

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 

🎯 Filosofia do Projeto

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

🛠️ Tecnologias

  • 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

📝 Como Adicionar Nova Ferramenta

  1. Criar diretório em tools/nome_da_ferramenta/
  2. Seguir estrutura padrão: src/, scripts/, examples/
  3. Criar README.md sucinto explicando:
    • O que faz
    • Como usar
    • Parâmetros principais
    • Exemplos práticos
  4. Atualizar este README principal
  5. Adicionar ao environment.yml se houver novas dependências

📄 Licença

MIT License - veja LICENSE

👤 Autor

Projeto pessoal desenvolvido para auxiliar na geração de grades para modelagem oceânica.

🔗 Links Úteis

About

Ferramentas para geração de grades retangulares para modelos oceânicos.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors