Skip to content
View ricbencar's full-sized avatar

Block or report ricbencar

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ricbencar/README.md

Ricardo Benoliel Carvalho

Port & Coastal Engineering · Maritime Hydraulics · Wave Mechanics · Engineering Computation

LinkedIn Email Profile views

Coastal and Maritime Engineering AI programming ERA5 ECMWF Programming Languages


Profile

I'm a civil engineer working in port and coastal engineering, maritime hydraulics and wave mechanics, with an interest in technical computation and AI programming, as illustrated in the tools in this archive. My GitHub profile is centered on practical engineering tools for metocean analysis, nonlinear wave calculation, coastal protection design, navigation studies, and technical workflow automation.

The work published here spans a broad and technical range of engineering topics. It includes wave dispersion and nonlinear wave solvers, ERA5-based workflows for wave and wind data, metocean statistics, storm peak and trend analysis, extreme value assessment, environmental contour generation, and joint probability modelling. It also covers tools for offshore-to-nearshore wave transposition, wave transformation over shallow foreshores, and wave overtopping prediction for a range of coastal and maritime engineering applications.

In addition, it also includes computational tools for the hydraulic design of breakwaters and rock slopes used in coastal protection, as well as applications for navigation studies, under-keel clearance assessment, and PIANC-based ship-dimension analysis and wave loading on piles. Some repositories focus on engineering workflows through GIS and CAD processing, coordinate and vertical reference systems, technical document conversion, glossary generation, data export, and related productivity tools.

All repositories are released under the MIT License and they are provided as is, without any warranty of accuracy, completeness, fitness for a particular purpose, or suitability for project-critical decisions. They should therefore be used at the user’s own risk, with appropriate engineering judgment, independent verification, and technical review before application in professional studies, design, or operational contexts.


Core Technical Areas

Area Main focus
Wave mechanics and nonlinear wave modelling Dispersion equation solvers, Fenton-type nonlinear wave calculations, wave kinematics, wave forces, and shallow-water transformations
Metocean data and statistics ERA5 wave and wind extraction, descriptive statistics, storm peaks, long-term trends, extreme value analysis, and joint distributions
Coastal and maritime hydraulics Wave overtopping, rubble-mound breakwater design, rock slopes, armor stability, and depth-of-closure assessment
Navigation and ship-related utilities Under-keel clearance, restricted-water navigation checks, and PIANC-based ship-dimension tools
GIS & CAD Processing Utilities Coordinate transformation, vertical reference systems, CAD-to-GIS conversion, and XYZ/DXF data processing
Engineering Utilities & Productivity Prismoidal volume calculation, regression models, Markdown conversion, multilingual glossary generation, and engineering data utilities

Tools & Technologies

Python C++ Fortran VBA Kotlin Linux Android QGIS ECMWF ERA5 GRIB and CDO


Repositories

Automatically generated from my public GitHub repositories (29 current projects).

Coastal & Maritime Hydraulic Design

Breakwater design, coastal protection, overtopping, and applied maritime hydraulic engineering.

  • antifer-cubes-fine-tuning Vectorial CAD/BIM generator and technical reference for Pita (1986) and Carvalho (2026) concrete Antifer cube geometry, volume normalisation, and IFC/STL/OBJ/DXF export. Language: Jupyter Notebook · Updated: 2026-10-07 · Stars: 1

  • depth-of-closure-calculator This repository contains computational tools designed to calculate Depth of Closure (DoC). Language: HTML · Updated: 2026-08-31

  • rock-slope-calculator Rock slope calculator for hydraulic design and assessment of rock armoured slopes used in coastal protection, breakwaters, groynes, revetments, etc. Language: C++ · Updated: 2026-07-29

  • breakwater-cubes-calculator A repository with tools for the hydraulic design of rubble mound breakwater armor layers of artificial concrete units. Language: C++ · Updated: 2026-07-28

  • wave-overtopping-calculator This program uses neural network ensembles to predict wave overtopping discharges at coastal structures for given wave conditions and structure geometry. Language: Python · Updated: 2026-04-06

Wave Mechanics, Transformation & Coastal Processes

Wave theory, dispersion, nonlinear waves, wave loading, offshore-to-nearshore transformation, and shallow-water processes.

  • wave-dispersion-equation This repository provides a comprehensive suite of approximations of the Wave Dispersion Equation. Language: Python · Updated: 2026-10-08 · Stars: 10

  • shallow-water-waves-calculator This program computes local shallow-foreshore wave-height distribution parameters based on the Composite Weibull distribution model. Language: Jupyter Notebook · Updated: 2026-10-02

  • fenton-nolinear-calculator Compute the wavelength, free-surface geometry, kinematics, and integral invariants of nonlinear waves in finite depth. Language: Python · Updated: 2026-10-02

  • wave-forces-on-pontoon Calculator for horizontal environmental actions on a floating pontoon restrained by vertical piles or guides. Language: Python · Updated: 2026-09-09

  • wind-waves-generation A collection of Python scripts for predicting wind-generated wave characteristics using the Sverdrup-Munk-Bretschneider (SMB) method. Language: Python · Updated: 2026-09-02

  • transpose-offshore-to-nearshore This program reads offshore wave data from a CSV file and computes nearshore wave parameters at a specified depth. Language: C++ · Updated: 2026-07-08 · Stars: 1

  • wave-forces-on-piles-calculator This calculator is a computational tool that provides a high-precision solution for the fluid-structure interaction of vertical cylindrical piles. Language: Jupyter Notebook · Updated: 2026-05-27 · Stars: 1

Metocean Data, Extremes & Statistical Analysis

ERA5 workflows, wave and wind statistics, storm characterization, long-term trends, and probabilistic sea-state analysis.

  • wind-speed-conversion A Python/Tkinter calculator for 10-minute wind return levels, associated peak gusts, exceedance probabilities, and squall scenarios. Language: Python · Updated: 2026-07-31

  • era5-wave-wind-data This program downloads wave & wind data from the ERA5 reanalysis model using the Climate Data Store (CDS) API provided by ECMWF. Language: Python · Updated: 2026-07-27 · Stars: 1

  • galton-board-statistics An interactive Python Galton board simulator that visualizes Bernoulli trials, binomial probability, Pascal’s triangle, and statistical convergence with live animations. Language: Python · Updated: 2026-07-17

  • wave-wind-statistics This program produces descriptive and extreme value statistics based on wave & wind data from the ECMWF ERA5 reanalysis model. Language: Python · Updated: 2026-07-08 · Stars: 1

  • extremes-joint-distribuiton This script performs an environmental contour analysis on oceanographic time series data focusing on significant wave height and wave peak period. Language: Python · Updated: 2026-05-19 · Stars: 1

  • storm-peaks-analysis This script performs an analysis of storm peak events by combining storm wave data with tide level data. Language: Python · Updated: 2026-05-18 · Stars: 1

  • wave-height-trends This program analyzes long-term trends in significant wave heights and applies a series of statistical techniques. Language: C++ · Updated: 2026-05-18 · Stars: 1

Navigation and Ship-Related Utilities

Under Keel Clearance (UKC) estimation for shallow, restricted, or canal-type waters and estimation of ship characteristics.

  • pianc-ship-dimensions This repository contains two engineering utilities for the estimation of ship characteristics based on key datasets published by PIANC. Language: HTML · Updated: 2026-10-04

  • navigation-calculator This program evaluates Under Keel Clearance (UKC) for a ship transiting in shallow, restricted, or canal-type waters. Language: Python · Updated: 2026-07-08

GIS & CAD Processing Utilities

Utilities for conversion of GIS & CAD among reference systems and conversion of CAD drawings into GIS vector datasets.

  • cad-to-gis-convert Python application for converting engineering CAD drawings in DXF/DWG format into GIS vector datasets. Language: Python · Updated: 2026-09-29 · Stars: 1

  • global-mean-sea-level Physical meaning, mathematical relationships and application of the WGS84 reference ellipsoid, the EGM2008 geoid and the experimental DTU25 mean sea surface referred to 2023. Language: Python · Updated: 2026-09-28

  • cad-epsg-conversion Python tool for precise coordinate transformation of CAD drawings (DXF/DWG) to mainland Portugal's official reference system (PT-TM06/ETRS89 - EPSG:3763). Language: Python · Updated: 2026-09-23

  • xyz2dxf-points-to-cad This program reads 3D points in XYZ format, filters them by a minimum distance, interpolates/extrapolates grid values and writes the output to a DXF file. Language: C++ · Updated: 2026-07-08

Engineering Utilities & Productivity

Utilities for technical documentation, glossary generation, and engineering data conversion.

  • prismoidal-volume-calculator Python GUI calculator for volumes of classical solids, prismoids, frusta, and irregular homothetic polygonal forms, with 3D views and calculation reports. Language: Python · Updated: 2026-07-29

  • curve-expert-user-models A library of 1,000 custom regression models for CurveExpert Professional, covering scientific, engineering, and statistical applications. Updated: 2026-07-28

  • pandoc-markdown-converter A Python application that converts Markdown documents into DOCX and PDF using Pandoc, with attention to mathematical content, LaTeX compatibility, template discovery. Language: Python · Updated: 2026-07-08

  • multilingual-engineering-glossary This tool generates a multilingual engineering glossary and table across up to 30 global languages. Language: Python · Updated: 2026-04-06


Popular repositories Loading

  1. wave-dispersion-equation wave-dispersion-equation Public

    This repository provides a comprehensive suite of approximations of the Wave Dispersion Equation.

    Python 10 1

  2. era5-wave-wind-data era5-wave-wind-data Public

    This program downloads wave & wind data from the ERA5 reanalysis model using the Climate Data Store (CDS) API provided by ECMWF.

    Python 1

  3. transpose-offshore-to-nearshore transpose-offshore-to-nearshore Public

    This program reads offshore wave data from a CSV file and computes nearshore wave parameters at a specified depth.

    C++ 1

  4. wave-wind-statistics wave-wind-statistics Public

    This program produces descriptive and extreme value statistics based on wave & wind data from the ECMWF ERA5 reanalysis model.

    Python 1

  5. wave-height-trends wave-height-trends Public

    This program analyzes long-term trends in significant wave heights and applies a series of statistical techniques.

    C++ 1

  6. extremes-joint-distribuiton extremes-joint-distribuiton Public

    This script performs an environmental contour analysis on oceanographic time series data focusing on significant wave height and wave peak period.

    Python 1