|
|
|
Release notes |
This page contains a
list of additions,
changes,
compatibility,
implementation
and bug fixes.
|
The current version number of SWAN is 41.51. |
Additions |
Version 41.51:
- A new method for computing triads, called the Full Triad Interaction Model (FTIM), is included as an option. See also
Section 2.3.4 of the Technical documentation.
- The LTA method is extended with another sum interaction to improve its physical accuracy; for details, see
Section 2.3.4 of the Technical documentation.
- Three different interaction coefficients to control energy transfer between the triad components have been added besides Madsen and Sorensen (1993), namely
Freilich and Guza (1984), Bredmose et al (2005) and QuadWave of Akrish et al (2024). See also
Section 2.3.4 of the Technical documentation for further details.
Version 41.45:
Version 41.41:
- Bragg scattering is included as an option.
Consult for details Section 2.3.7 of the Technical documentation.
- 1D surfbeat of Reniers and Zijlema (2022) is included as an option.
- The Quasi-Coherent Model (QCM) is included as an option. The method is described in
Akrish et al. (2020) and
Smit et al. (2015).
See also Section 2.7 and
Section 3.9 of the Technical documentation.
- Radiated seaward FIG energy / reflection option included for FIG source.
- TMA spectrum shape included for boundary condition.
- Supports VTK format files for post-processing with Paraview.
See for details the User Manual.
Version 41.31:
- Dissipation by sea ice is included as an option.
See for details Section 2.3.6 of the Technical documentation.
- Freeboard dependent transmission and reflection is included as an option.
See for details Section 2.5.3 of the Technical documentation.
Version 41.20:
The so-called observation-consistent wind input and white capping, known as the ST6 physics, is included as an option.
In addition, dissipation of swell energy is also included. This ST6 package can be considered as an alternative to the
Komen and Janssen formulations. Details on the ST6 physics are described in
Rogers et al. (2012) and it is
based on the work of Babanin, Young, Tsagareli, Ardhuin and others (see references therein).
Version 41.10:
- Spectral partitioning is included as an option.
Partition of wave spectra is based on the watershed algorithm of Hanson and Phillips (2001).
First partition is due to wind sea and the remaining partitions are the swell, from highest to lowest
significant wave height. On request, a raw spectral partition file can be generated meant
for wave system tracking post-processing.
Details on the file format and meaning of different parameters may be found in
WW3 wavetracking.
- An option is included which enables the user to specify frequency- and direction-dependent transmission coefficients to be applied to
an obstacle. This is mainly useful for wave energy converters (WECs) which can only transmit wave energy from a specific range of frequencies
for each directional segment, whereas left unaffected in some other frequencies.
Version 41.01:
- The so-called β-kd model for surf breaking based on the work of
Salmon and Holthuijsen (2011)
is included as an option. This model determines the breaker index γ based on the bottom slope β and the dimensionless depth kd.
See also the poster SWAN and its recent developments.
- An alternative for triad wave-wave interactions is added. This alternative is
the Stochastic Parametric model based on the Boussinesq-type wave equations (SPB) of
Becq-Girard et al. (1999).
- Interaction of waves with fluid mud is included as an option. Fluid mud affects waves through viscous damping and alters
the dispersion relation and thereby the change in wave number and group velocity. These are obtained from the model of
Ng (2000). Details on the implementation and application
of fluid mud-induced wave dissipation can be found in
Rogers and Holland (2009).
- A movable bed roughness model through ripple formation is included as an alternative. This model is implemented in SWAN as described in
Smith et al. (2011), in which bottom friction
depends on the formation process of bottom ripples and on the grain size of the sediment.
Version 40.91:
- New limiters are included to handle refraction and frequency shifting on coarse meshes in a proper way. For details and
background information, please click forward to
this page and
this page.
- Output data from a parallel, unstructured mesh simulation are automatically merged.
- A new concatenation program, called HottifySWAN, for collecting hotfiles after a parallel, unstructured SWAN simulation.
Click on this page for details.
- An alternative to the well-known Wu (1982) winddrag parameterization is added. It is based on a review of a large number of more
recent observations, and will gives lower drag values for relatively high wind speeds (compared to Wu (1982)). This parameterization has been
published recently in the next article.
Version 40.85:
- Inclusion of parallel, unstructured mesh implementation utilizing the parallel infrastructure from ADCIRC.
- Inclusion of hooks for tightly coupled ADCIRC and SWAN models.
- New pre-defined curves for outputting: BOUNDARY, BOUND_01, BOUND_02, etc. See command CURVE in the User Manual.
- A new output quantity for TABLE and BLOCK: peak wave length named as LWAVP.
Version 40.81:
Wave damping due to vegetation (mangroves, salt marshes, etc.) at variable depths is included as an option.
The calculation of this type of dissipation is specified by the drag coefficient, the stem diameter of plant
(schematised as a cylinder), the number of plants per square meter and the vegetation height.
In addition to the vertical variation, the possibility of horizontal variation of the vegetation characteristics
is included as well. This inclusion enables the vegetation in a given region to be varied so as to reflect
real density variations in the field.
Version 40.72:
- The use of unstructured mesh in the geographical domain is
included. The grid may be comprised of triangular cells only. The
following grid generators are supported by SWAN:
- For the computation of the integral parameters (e.g. significant
wave height, directional spreading, etc.) for output purposes, the
choice for carrying out the integration over a user-defined
interval [fmin,fmax] is included.
Version 40.51:
- An alternative of the whitecapping
expression based on Alves and Banner (2003) is included.
This dissipation term
depends on quantities that are local in the frequency
spectrum, as opposed to ones that are distributed over the
spectrum, as in the Komen formulation (1984). This
dissipation formulation can also be combined with the
adapted formulation of Yan (1987) for wind growth. This
alternative formulation is more accurate for young waves
than the default expression of Komen et al. (1984). The
combination of the alternative wind input and whitecapping
expressions is able to correct both the tendency towards underprediction of wave periods
in SWAN and the erroneous overprediction of wind-sea energy under
combined swell-sea conditions occuring in nearshore zones.
This combination can be obtained with the command GEN3 WESTH
(instead of GEN3 KOM).
- Three new output quantities for TABLE
and BLOCK: water level, bottom level and smoothed peak
period named as WATLEV, BOTLEV and TPS, respectively.
Besides the water depth, you can also output the water level
and/or bottom level. Whereas RTP (relative peak period) is
calculated in an discrete manner (only function of frequency
bins), the computation of TPS is made more smoother (i.e.
can be a function of any frequency).
- The SWAN documentation is extended and
improved. The old User Manual has been split up into two new
documents: the actual User Manual and the
Technical documentation.
Morever, the Programming rules and the manual
LaTeX for dummies is added.
- Introduction of the online
documentation. The abovementioned documents are also
available online.
Version 40.41:
- Effects of diffraction is included. The approximation of these effects
is based on the mild-slope formulation for refraction
and diffraction but with omission of phase information.
- Introduction of scattered and diffuse reflections.
- An alternative stopping criterion is implemented and
is based on the curvature of the iteration curve of
the significant wave height. It is found to be more
effective in locating the point of model convergence,
yielding results that are closer to the fully-converged
solution.
- A fast version of the DIA approximation for quadruplets is included.
Neighbouring interactions are interpolated in a piecewise constant
manner instead of linear one. Moreover, the DIA calculation is
carried out in the full
spectral circle per iteration (instead of a quadrant per iteration).
As a result, a significant speed-up in the computation can
be obtained. Use of this technique can be realised by setting
QUAD IQUAD = 8. This approach has almost no effect on the model
results compared to the default method (IQUAD = 2).
- The Xnl exact method for computing quadruplet interaction,
appropriate for finite-depth water, is implemented. This
method is, however, extremely time consuming.
- Extra output in PRINT file concerning convergence progress
in user-selected geographic points.
(Already introduced with patch H of the previous version 40.31.)
- Two new output quantities for TABLE and BLOCK: absolute
and relative average wave period Tm-1,0 named as
TMM10 and RTMM10, respectively.
(Already introduced with patch H of the previous version 40.31.)
Version 40.31:
- For the
specification of the
discrete frequency
space, SWAN permits
the user to choose
one of the following
options:
- The lowest
frequency, the
highest
frequency and
the number of
frequencies can
be specified.
This choice is
the usual one in
the previous
versions of
SWAN.
- The lowest
frequency and
the number of
frequencies can
be specified.
The highest
frequency will
be computed by
SWAN such that
the ratio of
frequency
resolution is
10%. This is
required by the
DIA method.
- The highest
frequency and
the number of
frequencies can
be specified.
The lowest
frequency will
be computed by
SWAN such that
the ratio of
frequency
resolution is
10%. This is
required by the
DIA method.
- The lowest and
the highest
frequencies can
be specified.
The number of
frequencies will
be computed by
SWAN such that
the ratio of
frequency
resolution is
10%. This is
required by the
DIA method.
- An exact method
called the FD-RIAM,
for the computation
of the nonlinear
4-wave interactions
in finite-depth
water, is
implemented. This
method is extremely
time consuming.
Hence, it should not
be used for
production runs.
Version 40.20:
- The SWAN code is
parallelized both
using MPI and
OpenMP.
- Alternative
approximations for
two physical
processes are
available:
- M(ultiple) DIA for quadruplets and
- Cumulative Steepness Method for
white-capping.
- The Stone's SIP
solver is
implemented for
solving action
density equation, in
case of
non-stationary depth
or ambient current.
This solver is 4 to
5 times faster than
the preconditioned
BiCGSTAB solver.
- A
frequency-dependent
under-relaxation
technique is
implemented.
Version 40.11:
- SWAN allows nesting in
WAVEWATCH III.
- Spherical
co-ordinates are
available.
- The user can
define obstacles at
which waves are
reflected.
- A higher order
propagation scheme
is introduced for
both the stationary
and non-stationary
modes.
Version 40.01:
- SWAN
permits the
calculation of
wave-induced set-up.
It is exact in 1D
cases and
approximate in 2D
cases.
- Non-stationary
boundary conditions
are introduced.
- Initial conditions
for a stationary or
non-stationary
computation can now
be defined by the
user.
- SWAN now also
permits a
"hotstart",
i.e. using a initial
condition computed
by a previous SWAN
run
("hotfile").
- The new version
also permits the
user to combine
stationary and
non-stationary
computations.
- Source terms can
be inspected since
they are written to
file at (user)
selected geographic
points.
Version 30.75:
- SWAN can now read
and write wind and
wave directions
using both nautical
and Cartesian
conventions. The
command SET NAUT
switches to the
nautical convention.
- It is now possible
to impose stationary
boundary conditions
defined by wave
spectra that vary
along the boundary.
The model
interpolates between
the boundary
conditions at given
points. The command
BOUNDSPEC controls
this.
- SWAN now produces
a warning if the
computed significant
wave height differs
from the prescribed
significant wave
height at the
up-wave boundary.
The command SET
[hsrerr] controls
the error margin for
this warning.
- SWAN can now run
in one dimensional
stationary mode. The
features specific
for two dimensional
calculations are not
available when
running in one
dimensional mode.
The command MODE
STAT ONED switches
to one dimensional
mode.
- When calculating
in one dimensional
mode, the model can
optionally include
the effects of
wave-induced setup.
The command SETUP
controls this.
Version 30.62:
- SWAN now accounts
for sub-grid
obstacles, that may
(partially) transmit
waves (no
reflection). The
command OBSTACLES
controls this.
- SWAN is now more
efficient and
requires less
memory, because
exception values are
now allowed in the
CGRID command (land
grid points are not
computed and
stored).
Version 30.51:
First release of SWAN.
|
Changes |
Version 41.51:
The complexity of computing triads using the SPB method (Becq-Girard et al, 1999) is greatly improved, leading to lower computing times.
Version 41.45:
Version 41.41:
- In case of ambient current now advice will be given on setting IQUAD=3 (is therefore not automatically adjusted).
- Highest file reference number is set to 99999 (see initialisation file).
Version 41.20:
Green-Gauss formula instead of backward differences for computing derivatives of ambient current with unstructured grids.
Version 41.10:
- Implementation of triads has been improved:
- coefficient [trfac] is set to 0.8 in case of LTA and 0.9 in case of SPB
- implementation SPB more structured and documented
- Efficiency UnSWAN solution algorithm improved by taking 1 sweep per iteration instead of undetermined number of sweeps.
Version 41.01:
- For computing wind drag the second order polynomial fit as described in
this article
is the default instead of the well-known Wu (1982) parameterization. At the same time
the value of the Jonswap bottom friction is set to 0.038 m²/s³.
This is default irrespective of swell and wind-sea conditions.
- The stopping criterion of
Zijlema and Van der Westhuysen (2005)
is the default. This criterion is based on the curvature of the iteration curve of the significant wave height.
The former stopping criterion (activated though NUM ACCUR) will become obsolete.
- The LTA formulation for triad-wave interactions is made consistent with the uni-directional approximation
in the limit of directional spreading to zero. This is particularly meant for e.g. swell or in (nearly) 1D conditions.
Version 40.85:
-
Length of character string of date-time for WAM nesting can be
specified through variable [lwdate] with command BOUND WAMNEST.
Note that the format of CDATE cannot be specified at the compile level anymore.
-
The definition of the RMS orbital velocity has been reviewed. See the documentations.
Version 40.81:
-
The RIAM approach for calculating the nonlinear 4-wave interactions has been removed.
-
The format of CDATE for WAM nesting can be specified at the compile level. See the Implementation Manual.
Version 40.72:
-
Interpolation of a wave parameter in a user-defined output
location near an obstacle is improved. This means that this
interpolation over the obstacle will be prevented.
-
The default value of maximum number of iterations for a stationary
computation is 50 (instead of 15).
Version 40.51:
The numerical implementation of triads is improved. It is
energy-conservative and more stable.
Version 40.41:
- The implementation of 2D set-up is considerably improved.
This version is much more robust than the previous one.
- The SWAN code is considerably cleaned up and optimized. As a consequence,
a significant speed-up is obtained.
- Nesting in both SWAN and WWIII is further improved.
- Due to an update of WAM, the format of CDATE is changed
from YYMMDDHHMM (10 characters) into YYMMDDHHMMSS (12 characters).
SWAN enables to interpret the new format in case of nesting with
WAM.
- Computing the dispersion relation is now based on a
Pade approximation for the wave celerity instead of an
old-fashion table look-up.
- The SIP solver is considerably improved.
(Already done with patch C of the previous version 40.31.)
- The CSM white-capping formulation contains normalisation.
(Already introduced with patch F of the previous version 40.31.)
- SWAN enables generation of binary MATLAB files for instationary
computations.
(Already introduced with patch F of the previous version 40.31.)
- More than 1 non-stationary computation is allowed in a
parallel computation.
(Already carried out with patch H of the previous version 40.31.)
- Maximum number of output requests increased from 50 to 250.
(Already done with patch H of the previous version 40.31.)
- SWAN can read HOTFILE that contains variance density instead of action
density. Furthermore, first direction in HOTFILE need not
to be equal to the first direction defined by CGRID command.
(Already introduced with patch H of the previous version 40.31.)
Version 40.31:
- The
HPGL-functionality
has been removed.
This functionality
is out-dated, is not
maintained and is
not supported on
several platforms
(e.g., Windows XP,
Linux, etc.). For
this reason, SWAN
40.31 is not
compatible with
version 40.20!
- The command BOUND
SIDE cannot be used
in case of
curvi-linear grids,
because it does not
work properly. Note
that it works fine
for recti-linear
grids! For
curvi-linear grids,
the command BOUND
SEGMENT should be
employed.
- Both quadruplets
and triads are
activated
simultaneously.
Moreover, in case of
decreasing wave
height due to the
depth-induced
breaking, the
limiter stay active.
This will enhance
the stability of the
computation.
Version 40.20:
- It is possible to
activate both
quadruplets and
triads at the same
time.
- On request,
spatial distribution
of several
quantities can be
saved into binary
MATLAB files.
- On request,
detailed information
concerning CPU- and
wall-clock timings
of several parts of
the SWAN calculation
is obtainable. Also,
information on
frequency use of
limiting and
rescaling (in terms
of percentage of wet
gridpoints) is
provided.
- A number of small
changes is made
which does not have
effect on the model
results nor the
performance.
Version 40.11:
- The approximation
of the bathymetry in
the refraction
computations is
improved. To give
robust results (but
not necessarily
accurate results) in
case of poor
resolution in
bathymetry, currents
or the wave field
itself, the user can
activate a limiter
to avoid waves
turning over more
than 90 degrees in
one spatial grid
step.
- The limiter on the
refraction is
switched off on
default.
- In stationary mode
the second order
upwind (SORDUP) is
chosen as default,
while in
non-stationary mode
the S&L scheme
is default. In the
previous versions of
SWAN only the
backward space,
backward time (BSBT)
scheme was
available. BSBT is
still available
optionally.
Version 40.01:
- For reasons of
consistency the 2D
spectral densities,
used for input and
output are now
represented per
frequency per
directional degree
(40.01) instead of
per frequency per
directional radian
(30.75).
- The numerical
approximation of the
fraction of breakers
in the surfzone has
changed (more
accurate).
- The primary task
of the limiter is to
stabilize the
quadruplet wave-wave
interactions (as
approximated by the
DIA). However, in
SWAN 30.75, it also
but unduly dampened
the triad wave-wave
interactions. If in
SWAN 40.01 these
triad interactions
are active the
quadruplet
interactions and the
limiter are
de-activated. The
coefficients of the
triad interactions
have been given
correspondingly new
default values.
- For very strong
refraction the value
of cq is
reduced in each grid
point and for each
wave component
individually with
the square of the
fraction of the grid
spacing over which
kd<3.0.
- To improve the
convergence
characteristics of
SWAN, the
first-guess (in
stationary mode) and
the break-off
criteria for the
iterative procedure
have been changed.
The effect of these
changes are usually
hardly noticeable in
field conditions
whereas the
computations are
more accurate in
laboratory
conditions.
Version 30.75 (not
compatible with version
30.62):
- Modified the
handling of choosing
physics for the
model. Error
messages warn the
user regarding
erroneous choices in
the physics. In
previous versions
SWAN would
automatically
correct erroneous
choices in the
physics, this is now
left to the user.
|
Compatibility |
Version 41.51:
SWAN 41.51 is fully
compatible with version 41.45.
Version 41.45:
SWAN 41.45 is fully
compatible with version 41.41.
Version 41.41:
SWAN 41.41 is fully
compatible with version 41.31AB except for specifying wind drag which is now invoke in the GEN3 command (and not in command WIND).
Version 41.31:
SWAN 41.31 is fully
compatible with version 41.20AB.
Version 41.20:
SWAN 41.20 is fully
compatible with version 41.10AB.
Version 41.10:
SWAN 41.10 is fully
compatible with version 41.01AB.
Version 41.01:
SWAN 41.01 is fully
compatible with version 40.91ABC.
Version 40.91:
SWAN 40.91 is fully
compatible with version 40.85.
Version 40.85:
SWAN 40.85 is fully
compatible with version 40.81.
Version 40.81:
SWAN 40.81 is fully
compatible with version 40.72ABCDE.
Version 40.72:
SWAN 40.72 is fully
compatible with version 40.51AB.
Version 40.51:
SWAN 40.51 is fully
compatible with version 40.41AB.
Version 40.41:
SWAN 40.41 is fully
compatible with version
40.31. Due to several
changes, a
comparison between
versions 40.41 and 40.31
may show small differences in
the results.
Version 40.31:
Because of the
removement of the
HPGL-functionality, the
commands LINE, SITES and
PLOT... cannot be used.
Version 40.20:
SWAN 40.20 is fully
compatible with version
40.11.
Version 40.11:
SWAN 40.11 is fully
compatible with version
40.01. Due to the
changes in SWAN, a
comparison between
versions 40.11 and 40.11
may show differences in
the results.
Version 40.01:
SWAN 40.01 is fully
compatible with version
30.75 except for
- command BOUNDPAR
old version still
accepted.
- command BOUNDSPEC
old version not
accepted!
- command BOUNDNEST1
old version not
accepted!
- command GEN3 old
version with limiter
option not
available.
Conversion
programs are provided to convert
the old spectra files
into the new format.
|
Implementation |
Version 41.51:
Implementation of the processing of boundary conditions along boundary segments on a Metis-partitioned unstructured mesh.
Version 41.41:
- Source distribution now also hosted on GitLab repository.
- Supports CMake for building SWAN (as part of the distribution on GitLab).
- Fortran90 library of FFT is included. (Check out this page.)
- Two nonstandard Fortran 90 statements added: stream I/O (Fortran 2003 standard) and execute_command_line (Fortran 2008 standard).
- Perl script platform.pl is modified in relation to oneAPI version of Intel Fortran compiler and gfortran version 10.
Version 41.20:
- Perl script platform.pl is adapted that is also appropriate for MacBooks.
- Further clarification in the Implementation Manual with respect to running SWAN using OpenMP built with the Intel Fortran compiler
(see Chapter 5 of the manual).
Version 41.10:
An option at compile level is available to switch from the wavefront to the block Jacobi approach for parallel MPI runs.
The latter is very efficient for nonstationary computations.
See Implementation Manual for more details.
Version 41.01:
This version supports netCDF output (both integrated parameters and spectra).
Version 40.91:
Four different wizards for installing SWAN on your Windows PC are available on the SWAN website.
They are tailored to your needs and specific requirements. There is a setup wizard for serial runs and
there are wizards for parallel runs (e.g. OpenMP and MPI).
Version 40.85:
The hidden commands have been cleaned up. Only well-proven hidden commands may be used.
Version 40.72:
The source code of the unstructured grid functionality is written in
free form Fortran90 style. Moreover, each file with extension f90
contains at most one subroutine or function.
Version 40.51:
-
Automatic installation of SWAN on a Macintosh is available.
-
On Linux platforms the SWAN source code can also be compiled
with free GNU Fortran90 compilers, namely g95 and gfortran.
See also free software list.
-
An option is available to switch off the timing calls
entirely inside SWAN. See Implementation Manual.
Version 40.41:
- The source code does not contain common blocks. The common
variables are now resided in modules.
- For a heterogeneous machine, the sizes of the subdomains depend
on the speed of the processors. This is accounted for in SWAN.
A list of non-default processor speeds can be specified in the
initialisation file SWANINIT. For details, see the Implementation
Manual.
- Parallel MPI runs on Windows 2000/NT/XP are possible.
(Already introduced with patch E of the previous version 40.31.)
Version 40.31:
- The program does
not contain the POOL
mechanism. As a
consequence, the
user may generate
the executable once.
Computation of
problems with
arbitrary sizes can
be carried out with
this executable.
However, these sizes
are restricted by
the internal
computer memory.
- For a number of
computer platforms,
the installation of
SWAN can be done
fully automatically.
Further details can
be found in the
Implementation
Manual.
Version 40.20:
- Add of OpenMP
compiler directives.
- A set of generic
subroutines based on
MPI is devised that
hide the technical
details of local
data exchange,
gathering data,
global reductions,
etc. from SWAN
subroutine calls.
These can be found
in swanparll.for.
- A Perl script
called switch.pl is
provided that
enables the user to
quickly select the
switches to be
removed for a
correct installation
of SWAN. These
switches deals with
the choice of a
platform, notably
Windows and Linux,
usage of Fortran 95
features, enabling
compilation with the
MPI-library, etc.
See the
Implementation
Manual for further
information.
Version 40.11:
- All but one
obsolescent FORTRAN
95 features have
been removed to
avoid compiler
warnings.
- Allocatable arrays
have been introduced
to avoid the use of
the POOL array for
newly introduced
arrays.
- Modules have been
introduced to avoid
lengthy argument
lists of
subroutines.
- The use of FORTRAN
90 features implies
that SWAN will not
compile under
FORTRAN 77.
Version 40.01:
- Equivalent
logical, real and
integer POOL arrays
have been introduced
to avoid a
frequently occuring
compiler warnings.
- All STOP
statements have been
replaced by improved
error handling to
allow SWAN being
used as a subroutine
in a larger system.
Version 30.75:
All common blocks
used in the source
code have been moved
to INCLUDE files.
This makes it for
developers easier to
modify SWAN.
|
Bug fixes |
The purpose of describing the bug fixes in terms of problems solved, is to enable the user to identify
previous SWAN runs that may have encountered these problems (noticed at the time of running or in hindsight with
this (new) information). All the bug fixes are implemented in the current version 41.51.
Solved in version 41.45:
- small bug fix to cos m-model
The following fixes, changes and extensions were introduced with patch A.
- the code for unstructured mesh is parallelized using Metis graph partitioning and MPI communication protocol
- directional spreading for radiated FIG energy is included as an option
- handling obstacles made more efficient especially for a very large number of obstacles (10,000+)
- small bugfix in VTK format related to halo regimes
- default cds2 parameter fixed
- fixed irregularities in post-processing for parallel runs
The following fixes and changes were introduced with patch B.
- a few small changes for the coupling with ADCIRC
- small bug fix of triads implementation in case of OpenMP runs
Solved in version 41.31:
- searching for locations in nesting not complete
- small fix in SWAN-netCDF library
- number of columns in S1D/S2D testfiles at first iteration differs from other iterations when invoking ST6 physics
The following fixes and (small) extensions were introduced with patch A.
- the first partition (=p0) is always reserved for wind-sea (consistent with WW3); if no wind-sea then first partition is zero
- fix wave reflection in case of transition from 360 degrees to zero
- prevent division by zero in case of Madsen friction
- addition output of watershed partition variables (wind-sea plus a number of swells) in netCDF format
The following fixes, changes and extensions were introduced with patch B.
- four different parametrizations for wave dissipation by sea ice (Rogers et al, 2021)
- vegetation due to Jacobsen et al. (2019)
- radiating free ig waves (Rijnsdorp et al, 2021)
- default [trfac] for triads changed from 0.8 to 0.05 (in case of ITRIAD=1)
- exhaustive memory clean-up after terminating run
- small correction collecting post processing data of parallel run
Solved in version 41.20:
- small correction in Thornton and Guza (1983) breaking formulation
- correction wave force calculation on sheltered side of a non-transmissive obstacle
- correction on reading multiple input fields of different grid types
- correction netCDF output in case of combined multiple stationary and non-stationary runs in MPI mode
The following fixes and (small) extensions were introduced with patch A.
- prevention friction velocity from dropping to zero at very large wind speeds in wind drag formulation Zijlema et al. (2012)
- correction adaptation of units of some output quantities in case of true energy
- correction transformation in output wind vector
The following fixes and (small) extensions were introduced with patch B.
- correction netCDF output in case of multiple non-stationary runs in MPI mode
- correct collection multiple output files using different time intervals in parallel unstructured mode
- temporary fallback option of triads: original LTA is default with [trfac]=0.05
Solved in version 41.10:
- small bug outputting in case of obstacles in parallel unstructured mesh
- in case exception value is zero, not write to Matlab as NaN
The following fixes and (small) extensions were introduced with patch A.
- use double precision for time coding
- some automatic arrays used for SPB triads are made allocatable
- default CFL for refraction limiter changed from 0.5 to 0.9
- support gfortran and Intel Fortran compilers for macOS
- support Intel Fortran compiler 17 for MS Windows
- small correction interpolation near obstacles with flexible mesh
- correction comparison grid orientation and wave direction with formatted hotfiles
The following fixes and (small) extensions were introduced with patch B.
- input WW3 boundary condition is made more efficient and allows unformatted WW3 files
- computation distance between nesting boundary grid and computational grid extended for spherical coordinates
- linear wind input is made frequency-dependent above 1 Hz
- cross derivative in anti-GSE diffusion terms corrected
- small bug in double precision time coding
Solved in version 41.01:
- many bug fixes in netCDF implementation
- correction Gregorian date of December 31 for years 1599, 1999, 2399, etc.
- some bug fixes in outputting (e.g. spectra and date) for parallel unstructured mesh
The following fixes and (small) extensions were introduced with patch A.
- an option is available to include turbulence viscosity
- when coupled with ADCIRC, the default is to use ADCIRC drag formulation
- change default value of [trfac] for triads
- changes with respect to netCDF:
- lower memory usage
- table output in netCDF format
- warning non-supported output quantities to prevent crash when outputting
- variable declaration improved
- correction computation of output quantity TRANSP
- small bug fix with vegetation
- small bug fix with reading input field
- small bug fix with outputting spectra in case of Doppler shift
The following fixes and (small) extensions were introduced with patch B.
- calculation of turning rate improved
- based on derivatives of phase velocity instead of depth
- central differences instead of backward differences for computing derivatives (structured)
- Green-Gauss formula instead of backward differences for computing derivatives (unstructured)
- inclusion neighboring sweeps removed
- cdlim removed
- in case of ambient current set IQUAD to 3 by default
- two small bug fixes with netCDF
Solved in version 40.91:
- fix in Janssen formulation for wind input
- small fix in Xnl formulation for quadruplets
- merging FRAME output data in case of parallel computing is corrected
- improvement in listing boundary vertices for unstructured grids
- unexpected behaviour removed when first output time is before start of computation
- open statement for existing Matlab file which should be replaced
- Julian date conversion is corrected (in particular for years 101, 102 and 103)
- several uninitializations removed
- inconsistency in case of reading WAM4.5 boundary conditions removed
- use of data type MPI_REAL4 instead of MPI_REAL to force the buffer size to be correct in the parallel communication in ADCIRC+SWAN environment
- hcat: lines extended from 256 to 1024 characters long
The following fixes and (small) extensions were introduced with patch A.
- Spectra and maps can be outputted in netCDF format
- Parameter delta of whitecapping of WAM Cycle III is now set to 1 (this change is known as the Rogers' trick)
- Option to read/write hotfiles in binary format is included
- Small bug fix in output block in case of unstructured MPI run
The following fixes and (small) extensions were introduced with patch B.
- General bug fixes:
- definition of TMBOT is corrected
- small bug fix in interpolation routine
- Bug fixes with respect to netCDF implementation:
- SWAN does not restart after being killed
- add flow, fhigh and msc to frequency variable
- compile errors netCDF code
- when Cartesian convention is set, standard names should be modified accordingly
- add 'standard_name' to time, longitude and latitude
- set calendar attribute of time to 'gregorian' instead of 'julian'
- variable names in netCDF code (hswe, spread)
- add PROJ, RUNID and SWAN version as attributes to netCDF file
The following fixes and (small) extensions were introduced with patch C.
- upgraded and improved netCDF stuff
- very small corrections
- some textual changes in the manuals
Solved in version 40.85:
- reading TPAR files is corrected
- nesting of unstructured grid is improved
- correction computation of dn/dh
Solved in version 40.81:
- computation of dissipation contributions for outputting corrected
- correction of format of spherical coordinates in swanhcat
- correction of "divide by zero" in case of WLEN and STEEPNESS
Solved in version 40.72:
-
Maximum length of the lines in the output TABLE file is 720 (instead 360).
- Some small corrections:
- computation of output parameter Hswell corrected
- exception value for BOTLEV/WATLEV corrected
The following fixes and (small) extensions were introduced with patch A.
- Extensions and improvements to unstructured mesh implementation:
- Handling holes in an unstructured grid is improved,
- Creating data structures for elements and edges is more faster,
- Prevention of interpolation over an obstacle is also included.
- The stopping criterion based on the curvature of Hm0 is extended with the curvature of Tm01.
- Each term of the action balance equation, i.e. time derivative of
wave action, xy-propagation, θ-propagation, σ-propagation,
wind input, quadruplets, whitecapping, surf breaking, friction and
triads, can be outputted by means of the TABLE and BLOCK commands.
Moreover, the so-called work done by the radiation stress (a rest term in the
energy(!) balance equation) can be plotted as well.
- Bug fixes:
- interpolation near an obstacle for spectra is corrected,
- interpolation near a dry point is corrected,
- small correction in output in case of MPI parallel runs.
The following fixes and (small) extensions were introduced with patch B.
- Extensions to unstructured mesh implementation:
- Alleviation of the garden-sprinkler effect,
- Phase-decoupled diffraction.
- An alternative to the JONSWAP formulation for bottom friction
is included (friction coefficient depends on the frequency-dependent directional spreading).
- The SORDUP scheme is made more simpler and more consistent.
- Bug fixes:
- correction of outputting the wave force on unstructured meshes
in the case of spherical coordinates,
- remove small inconsistency in the concatenation program for hotfiles,
- small correction in collecting data for MPI parallel runs,
- no use of the Hersbach and Janssen limiter in the case of
stationary runs,
- the user-value of water density will not be overwritten
with the default value 1025 kg/m3.
The following fixes and (small) extensions were introduced with patch C.
- Unstructured mesh computation is made more efficient, i.e. only a few
sweeps per iteration or time step is needed.
- Original fort.14 file can also be dealt with in SWAN.
Boundary markers will be derived from the ADCIRC boundary information.
- Block outputting for unstructured mesh cases is considerably optimized.
- The default advanced stopping criterion (NUM STOPC) is based on the
curvature of Hm0 only for reasons of robustness. However, the curvature
of Tm01 can be included as an option.
- Technical documentation is extended with useful information.
- Bug fixes:
- never-ending sweep in unstructured mesh cases is prevented,
- assign reference point to deepest point in case of no boundary
condition in unstructured mesh cases,
- 2 small corrections in collecting data for MPI parallel runs.
The following fixes and (small) extensions were introduced with patch D.
- Computation with unstructured grids is parallelized using OpenMP directives.
- For writing block output to a Matlab binary file, the old format (Level 4)
is replaced by the new one (Level 5 MAT-file format).
The following fixes and (small) extensions were introduced with patch E.
- Some adaption to Makefile and perl script plaform.pl.
- The so-called CSM formulation for whitecapping is removed.
- Reading input fields and block outputting for unstructured mesh
cases is made more efficient.
- Technical documentation is extended with useful information.
- Bug fix in calculation of the orbital velocities.
Solved in version 40.51:
- total dissipation splitted out into 3 parts for output purposes
- improvements of WAM4 based on WAM Cycle 4.5 included (by Roop
Lalbeharry)
- nesting of WAM in SWAN based on WAM Cycle 4.5 (by Roop Lalbeharry)
- Hersbach-Janssen limiter included in case of Janssen formulation
for wind and whitecapping (by Roop Lalbeharry)
- improvements to reflection w.r.t. functionality and code (by Nico
Booij)
- small changes in triad parameters (by Andre van der Westhuysen)
- User Manual adapted (items 1, 5 and 6)
- Technical documentation extended with various subjects
- bug fixes:
- correction: initialisation of energy transport due to transmission
- correction: do-loop in computing velocities in case of current
- correction: in case of triads without quadruplets limiter should not be activated
- correction: error message "spherical coordinates must be given in uniform, recti-linear computational grid" removed
- small correction in interpolation technique in case of curvi-linear grids
- small correction in offset coordinates in case of curvi-linear grids
- small correction in discretisation of diffraction parameter
- small correction in computing wave-driven forces in case of spherical coordinates
The following fixes and (small) extensions were introduced with patch A.
- hotstart functionality modified to handle reading from a single
hotfile or from multiple hotfiles when running in parallel with
MPI
- new transmission formula for low-crested structures
- two output quantities added:
- the peakedness of the wave spectrum (Qp)
- the Benjamin-Feir index (BFI) for quantifying the probability of freak waves
- computation of diffraction in spherical coordinates
- XNL implementation in Fortran90 style
- use of Intel Fortran compiler for Windows with OpenMP
functionality included for dual-core PC's
- User Manual adapted
- Technical documentation adapted
- bug fixes in:
- the Alves and Banner whitecapping formula
- reading WAM boundary conditions
- outputting 3 parts of dissipation
- outputting WATLEV and BOTLEV
The following fixes and (small) extensions were introduced with patch B.
-
some inconsistency in interpolation tools of SWAN is
corrected. This is only significant in case of curvi-linear
grids
- some small corrections:
- remap input spectra to computational grid is corrected
- correction with test points
- correction to windgrid coordinates as set of
output locations
- remove error in case of more than one COMPUTE in
parallel nested run
- correction to bottom dissipation due to current
- no warning "Hsig=0" in routine SSHAPE in
case of specifying initial conditions
Solved in version 40.41:
-
re-design of post-processing in parallel mode such that
the performance is significantly improved
- a new output quantity is added for TABLE and BLOCK:
bottom wave period named as TMBOT
- some small corrections:
- correction to building matrix and right-hand side
in case of sub-command SECTOR in command CGRID
- small change in the 2D set-up equation
- correction to generation of binary Matlab files
in case of non-stationary computation
- improving the determination of number of crossing
points for searching a location in curvilinear
grid
- correction to coordinates in curvilinear grid
with offset values in case of exception value
equal to zero
These fixes were introduced with patch A.
- correction to computation TMBOT, square root added
- correction to location points equal to offset values
- correction to output processing in parallel mode
- correction to memory allocation wrt. obstacles
- other small corrections
These fixes were introduced with patch B.
Solved in version 40.31:
- Problem occur when reading a space-varying water level field.
This is due to a wrong array name WLEV that is pass to the
routine FLFILE in swanpre2.ftn, while it should be WLEVL.
(Introduced with patch A.)
- When imposing a Jonswap spectrum at an open boundary with a given MEAN
period it turns out that SWAN returns the Jonswap spectrum at the
regarding boundary but with a lower mean period! This will not occur when
choosing a PEAK period. The origin of this problem is that the variable
FSHAPE (indicating the type of the spectrum shape) get the wrong sign
when choosing the keyword MEAN.
(Introduced with patch B.)
- Problem occur when imposing 1D spectrum at open boundaries in 2D case.
SWAN executable created with Compaq Visual compiler will crashed.
This is due to not allocating an array for direction whereas such
an array will be used elsewhere regardless the use of 1D spectrum.
(Introduced with patch D.)
- A small bug in test output for non-linear interactions if fixed.
(Introduced with patch E.)
- The problem of the use of the command COMPUTE more than
once in case of instationary computations.
(Introduced with patch F.)
- The problem of parallel computing with small grids and
array bounds violation.
(Introduced with patch G.)
- The problem with reading a WAM boundary file in case of nesting.
(Introduced with patch G.)
- A small problem when using FD-RIAM for computing quadruplets.
(Introduced with patch G.)
- Dummy points in HOTFILE should be filled with exception values as
given in command CGRID.
(Introduced with patch H.)
- Correction to GROUP command: ix1=xi2 and iy1=iy2 are allowed.
(Introduced with patch H.)
- Small correction with respect to writing coordinates in
output spectra files in case of parallel computations.
(Introduced with patch H.)
- Correction to FRCOEF in TABLE/BLOCK: correct values instead
of not a numbers.
(Introduced with patch H.)
Solved in version
40.20:
- Problems with
OpenMP
functionality.
- Collection of
BLOCK data in
non-stationary mode
in parallel MPI
runs.
- Determining names
of binary Matlab
files for vectorial
quantities.
Solved in version
40.11:
- The output in the
form of starplots on
a rotated output
frame.
- The implementation
of the QUANTITY
command.
- Spectral output of
source terms on land
points.
- The output of 2D
spectra in
combination with
rotated grids or a
directional sector.
- The interpolation
for test points too
close to land
points.
Solved in Version
40.01:
- Imposing
parametric boundary
conditions, using a
mean period.
- Quadruplets in
combination with
obstacles.
- Transmission
coefficient in the
OBSTACLE command.
- Reading 2D-spectra
with SECTOR option
in CGRID command.
- File name referred
in error message in
the print file.
- Zero wave
conditions for
computations with
currents.
- Exception values
on wave boundaries.
Solved in version
30.75:
- No plot output for
the commands ISOLINE
and RAY.
- Initial state for
non-stationary mode
not as described in
manual.
- Several data
transfer problems
between WAM (local
version) and SWAN.
- Wave transmission
through sub-grid
obstacles not as
intended.
- Lay-out of print
and plot output.
- Output at last
time step was equal
to output at
one-but-last time
step.
- Millenium problem
(see User Manual).
- HPGL plot code was
not correctly
imported into WP7
and MS Word7.
Solved in version
30.62:
- Interpolation
problems for output
points too close to
the boundary of the
computational grid.
- SWAN-SWAN nesting
not operating.
- Output problem for
curvi-linear grid
computations.
- Compiler dependent
problems for DEC and
Silicon Graphics
systems.
|
|