projects

mooringDesignSimulator v2

Aplicação desktop Python/Qt usada para conceber fundeios oceanográficos estáticos, executar simulações, visualizar resultados e gerar relatórios PDF.

Publicado em 13 de maio de 2026

Status: Em desenvolvimento ativo

Repositório: privado

Documentação: Link

Versão: Download

Visão geral

mooringDesignSimulator-v2 é uma aplicação desktop desenvolvida em Python e Qt para conceber linhas de fundeio oceanográfico estáticas de subsuperfície. Ela permite gerenciar uma biblioteca de componentes, construir visualmente o fundeio, executar uma simulação, visualizar os resultados e produzir um relatório PDF.

Este trabalho se inscreve na continuidade de uma ferramenta desenvolvida no LOPS (Laboratoire d’Océanographie Physique et Spatiale) do Ifremer Brest, por um estagiário de escola de engenharia, há alguns anos, para responder a necessidades concretas de preparação de campanha, verificação de configurações e partilha de resultados.

A ideia não é apenas desenhar uma linha de fundeio. O software também serve para preparar um projeto de trabalho coerente, organizar os componentes, executar uma simulação, reler os resultados e produzir um relatório PDF utilizável pelas equipes técnicas responsáveis por preparar, fabricar e montar os elementos do fundeio antes da expedição e da implantação.

Por que retomar esta ferramenta

A versão anterior do software, desenvolvida em Python 2.x e Qt4, já não era sustentável e, embora ainda utilizável, apresentava bugs. Algumas funções pedidas pelas equipas técnicas também estavam ausentes.

Para esta versão 2.x, optei por manter uma interface de utilizador (UI) o mais próxima possível da da versão 1, reescrevendo ao mesmo tempo todo o código com técnicas de programação modernas e fiáveis.

Este trabalho consistiu em consolidar a aplicação em torno de uma base mais robusta:

  • um ponto de entrada aplicacional mais claro
  • uma persistência real do projeto com uma base de dados relacional embarcada
  • uma interface gráfica de concepção melhorada
  • uma cadeia de simulação mais explícita
  • uma geração de relatório PDF melhor estruturada
  • uma suíte de testes para verificar as zonas sensíveis e tornar as evoluções mais robustas
  • a implementação de uma cadeia de integração contínua (Continuous Integration, CI) para verificar, a cada modificação do código-fonte, que as alterações não introduzem regressões na aplicação

Em comparação com o antigo modelo de salvamento, essa abordagem permite estruturar melhor os projetos, importar fundeios criados com a versão 1 e acrescentar funcionalidades solicitadas pelos usuários.

O que o software permite

  • carregar uma biblioteca de componentes oceanográficos
  • construir graficamente uma linha de fundeio
  • importar ficheiros da versão 1
  • ajustar as propriedades dos segmentos
  • guardar e recarregar projetos em diferentes formatos
  • executar uma simulação estática
  • visualizar os resultados sob a forma de tabelas e gráficos
  • produzir um relatório PDF utilizável

Interface principal

Vista principal do mooringDesignSimulator v2

Vista principal do software com o espaço de concepção, a paleta de componentes e os principais comandos de trabalho.

Pontos técnicos importantes

A versão atual assenta numa arquitetura mais clara e utiliza técnicas de programação fiáveis e comprovadas:

  • interface desktop de utilizador em PySide6
  • persistência do projeto baseada em SQLite, uma base de dados relacional
  • pipeline de simulação explícito: adaptação, pré-processamento, solver, restituição
  • biblioteca de componentes gerida através de uma cache SQLite
  • testes unitários e testes de integração para as zonas mais estruturantes

Esta separação é importante porque torna a ferramenta mais fácil de manter e de evoluir.

Formatos e circulação dos dados

O principal formato de trabalho é uma base SQLite, geralmente em *.mooring.sqlite3. A aplicação também pode importar ou exportar instantâneos JSON, mas o núcleo do trabalho assenta numa persistência mais sólida e melhor estruturada.

Do lado da simulação, o projeto segue uma sequência simples:

  1. leitura do projeto
  2. adaptação para os modelos de simulação
  3. pré-processamento dos dados
  4. execução do solver estático
  5. restituição dos resultados na interface e no relatório PDF

Público-alvo

O software dirige-se às pessoas que preparam ou concebem fundeios oceanográficos e que precisam de uma ferramenta visual, reprodutível e documentada para trabalhar em configurações estáticas.

Algumas das melhorias introduzidas facilitam também o trabalho de preparação dos comprimentos de cabo, propondo as distâncias de marcação dos instrumentos fixados aos cabos.

Documentação e evolução

O repositório inclui:

  • um README.md para o desenvolvimento e a execução
  • uma documentação de arquitetura em francês e em inglês
  • notas sobre os algoritmos de simulação
  • exemplos e uma biblioteca de componentes
  • workflows GitHub Actions para executar os testes de integração a cada modificação do repositório e gerar executáveis multiplataforma para cada nova release

Documentação

Uma documentação derivada do wiki também está disponível neste site: