Release Notes
This page contains the release notes for all available SURF-SHYFEM versions, ordered by release date (from latest to oldest).
v2.1.0 — 2026-07-08 latest
-
Automatic vertical grid generation: the
levelsparameter is no longer required in the Base configuration. Users can now choose between providing an explicit list of z-levels or using automatic generation via a hyperbolic tangent stretching scheme (NEMO 5.0-like), which distributes levels with finer resolution near the surface and coarser spacing toward the bottom. The new parametersNumber of vertical levels(n_levels, default: 60) andFirst level depth(first_level, default: 2 m) control the automatic distribution. In the Expert configuration, the additional parametersLayer Transition Point(hth) andGrid Stretching Factor(hcr) allow for further customization. -
New simulation output format: simulation results are now saved as a single compressed NetCDF4 file (
surf.nc), replacing the previous separatesurf.ous.ncandsurf.nos.ncfiles. Physical variables are provided at the node positions of the unstructured grid. The compression level can be controlled via the newCompression Levelparameter (compression_level, default: 2.0) in the Expert configuration. -
Simulation start time: a new optional
Start timeparameter (start_time, format:HHMMSS, default:120000) has been added to the simulation configuration. -
Bottom heat absorption: the
Bottom Heat Absorptionparameter (botabs) is now user-configurable in the Expert configuration. When set to0(default), all remaining solar radiation is absorbed in the last ocean layer. When set to1, the bottom absorbs all remaining solar radiation. -
Chunked downloads for CMEMS and ECMWF: atmospheric and ocean forcing data are now downloaded in configurable time chunks via the new
Download chunk lengthparameter (download_chunk, default: 7 days) available in the Expert configuration. On download failure, the system automatically retries with progressively smaller chunk sizes. All variables are downloaded in a single API request per chunk. -
Configurable river data path: the path to the river datasets is now user-configurable via the new
Pathparameter in theRiver Forcing at Domain Boundariessection of the JSON configuration file. Previously, the river data was required to be placed in a fixed, non-modifiable directory. -
SSH initial conditions skipped: the SSH field is no longer downloaded or used for ocean initialization. The SHYFEM-MPI model is now always initialized from rest for sea surface height.
-
Improved robustness of the open boundary node extraction and ordering during grid generation.
-
Support for multiple open boundaries when the nested domain polygon intersects features such as islands or other land elements.
-
Parallel execution support is now integrated with SHYFEM-MPI.
- Control the level of corner smoothing applied to the grid. Sharp corners can also be retained by disabling this feature.
- Provide customized coastline shapefiles as input for experiments.
Bug Fixes
- Fixed a time-centering issue affecting daily-averaged CMEMS forcing products, which caused a 12-hour phase shift in the forcing data.
- Updated product identifiers for the Mediterranean Sea reanalysis datasets to match the current CMEMS data store catalog naming convention.
- Fixed an issue in the pre-processing step where domains defined in negative longitudes (e.g., western hemispheric regions) were not being correctly processed.
v2.0.0 — 2025-06-11
- Rewrote the SURF code using a modular, object-oriented Python architecture, replacing the previous procedural design.
- The structured and unstructured components (SURF-NEMO and SURF-SHYFEM) have been unified under common conventions, workflow and execution frameworks.
- Created a Docker image designed for seamless installation, execution, and cloud/HPC deployment.
- Added automatic download of all the required input data, including CMEMS ocean data (via Copernicus Marine Toolbox), ERA5 atmospheric data (via CDSAPI service) and TPXO8 tidal forcing, GEBCO-2024 bathymetry and GSHHG coastlines.
v1.00 — 2021-06-24
This is the first release of the surf_shyfem package.