Recent Releases of ADCIRC
ADCIRC - v56.0.3
v56.0.3
Fixing issue which cause velocity stations (fort.62
/fort.62.nc
) to report null values (#427)
What's Changed
- Adding check for station output type in packTwo by @zcobell in https://github.com/adcirc/adcirc/pull/430
Full Changelog: https://github.com/adcirc/adcirc/compare/v56.0.2...v56.0.3
Checksums
Algorithm | Checksum |
---|---|
MD5 | 7fcf770d0132052f2ee11882492827af |
SHA1 | 8262b9404236004a67b6fdc8e3469034bb3ea02e |
SHA256 | fdef5165b37d1dbc6de3e8943110c2ad3230872be04bd53ee3b6bf54d3b97183 |
Climate Change - Natural Hazard and Storm
- Fortran
Published by zcobell 3 months ago

ADCIRC - v56.0.2
v56.0.2
This is a minor bug fix release for ADCIRC version 56. The full release details for ADCIRC Version 56 located here.
What's Changed
- Minor fix for double shutdown of writer processors which could cause issues with certain MPI libraries (@zcobell, #407)
- Fix for running ADCIRC within the CSTORM system where the
labels
variable might be double-allocated on successive runs (@chrismassey, #407)
Full Changelog: https://github.com/adcirc/adcirc/compare/v56.0.1...v56.0.2
Checksums
Algorithm | Checksum |
---|---|
MD5 | 07d01aba6116fb8bcd56097954e51b6b |
SHA1 | 789808d770d88d35f56fd645a54cc04ec62c188a |
SHA256 | 74e0dff04ae25200f4bf3cc7b0f344595770e70b193a9ea928e76a86b17d83ba |
Climate Change - Natural Hazard and Storm
- Fortran
Published by zcobell 9 months ago

ADCIRC - v56.0.1
v56.0.1
This is a minor bug fix release for ADCIRC version 56. The full release details for ADCIRC Version 56 located here.
What's Changed
- Minor v56 bug fixes for subgrid filename initialization and GCC > 14 by @zcobell in https://github.com/adcirc/adcirc/pull/401
Full Changelog: https://github.com/adcirc/adcirc/compare/v56.0.0...v56.0.1
Checksums
Algorithm | Checksum |
---|---|
MD5 | b3e7101999f6657c50ac88248b367b7e |
SHA1 | b7844eb5ca33baa3ec67cd2093a59f25eaa439e2 |
SHA256 | cba0663722cfbfcc2c49dd01facb525d8ad49fe5f41c2017ce81173e3618b862 |
Climate Change - Natural Hazard and Storm
- Fortran
Published by zcobell 10 months ago

ADCIRC - v56.0.0
v56.0.0
This is the first release of ADCIRC version 56. Version 56 has a significant number of new features and improvements.
Major New Features
Version 56 brings several major new features, such as:
Subgrid Modeling Capability (@jlwoodr, #348)
Subgrid modeling with ADCIRC allows for the incorporation of high-resolution bathymetric and topographic information without significant increases in computational cost. With subgrid modeling, hydraulic connectivity through subgrid scale features such as small tidal channels can be achieved on coarsened numerical meshes. The subgrid additions in ADCIRC v56 include changes to the wetting and drying routine (allowing for partially wet elements) and higher level corrections to the momentum solver (advection and bottom friction calculations). Subgrid modeling with ADCIRC requires the use of a pre-computed lookup table. (There is an example script for computing this lookup table here. This set of scripts will create subgrid input files for subgrid enabled ADCIRC) and additions to the namelist in the fort.15 file (wiki link). For more information on sub-grid modeling with ADCIRC, please refer to the following publications: [1] [2]. Note that the original implementation of this work used an edge based scheme, however, it has since been upgraded for efficiency to a vertex based scheme.
1D channels (Vertical Element Wall and 1D Condensation) (@shinbunya, #321)
Two new techniques are introduced to efficiently represent channels with various scales. The first, Vertical Element Wall (VEW), enables a discontinuous representation of topobathymetric elevation. The VEW is useful when the topo-bathymetric elevation varies abruptly with a scale smaller than grid spacing. It is typically used to represent steep slopes or vertical walls along sides of channels. The VEW is implemented as an extension of the interior barrier boundary (IBTYPE=24
). The VEW's IBTYPE
is 64. Unlike the interior barrier boundary where the weir formula is used to couple solutions on the sides of barriers, the VEW gives fully coupled solutions, solving the shallow water equations when a vertical wall is completely submerged. This leads to more seamless bi-directional exchange of water mass and momentum between channels and floodplains. The second technique consolidates nodal equations at paired nodes across a channel. Doing this eliminates cross-channel variability and consequently eliminates the across-channel Courant-Friedrichs-Lewy stability constraint on the model time step. The list of these pairs of nodes are specified as the nodal attribute "condensed_nodes" in fort.13
file. Together the two techniques allow channels of various sizes as well as other instances of steep topography to be embedded seamlessly, efficiently and in a fully coupled manner, yielding quasi one dimensional solutions in the channels. The details of the two techniques are described in Bunya et al. (2023).
Enhanced 2D+ baroclinic coupling (@cblakely97, #351)
The densityControl
namelist has been upgraded to now include the option to supply the baroclinic forcing (depth-averaged baroclinic pressure gradient and bouyancy frequencies) as nodal rather than gridded input. It is recommended to calculate the baroclinic forcing from an ocean global circulation model onto the ADCIRC grid at each output level in a finite-element sense (see the ADCIRC theory and formulation report). This helps eliminate the aliasing from coarse OGCM to fine ADCIRC grid at boundaries. To turn on the baroclinic forcing at each node, the densityForcingType
variable in the densityControl namelist needs to be set to BCForcingOnADCIRCGrid
.
Improved wetting/drying stability and slope limiting (@dylnwood, #371, #322, #320, #311)
Wetting/drying Improvements:
- Addition of a specialized slope limiter to prevent excessive drainage on flooded elements. Excessive drainage leads to persistent model instabilities, due to the fact that water levels at nodes where elev. is less than 0.8*h0 are "reset", causing nodes with too much drainage to enter an endless loop of draining and resetting, which degrades the reliability of the numerical solution for the entire neighboring geographic region. This situation typically occurs when time steps are large and where there are rapid changes in topographic gradients. We specifically apply a limit on the component of the water surface elevation gradient that lies in the same direction as the bathymetric or topographic surface elevation gradient. Controlled by setting the value of the limit in the "wetDryControl" namelist with the "slim" parameter.
- Keep the maximum value for the friction (TK) approximation and apply equal friction on the two nodes forming the wetting front for an element transitioning from dry to wet. Reduces the stochastic behavior of the model, e.g., to ensure that the solutions are invariant with respect to the ordering of the computations, so that they are more reproducible. Previously, the value of the friction factor at a location on the wetting/drying front was overwritten with the most recently computed value, resulting in slightly different solutions for simulations with wetting/drying, depending upon the ordering of the finite elements in the connectivity table used for model input. Setting friction equal at the wetting front for an element also improves stability of solutions along the wet/dry boundary.
- Addition of the logical parameters
directvelWD
anduseHF
to the&wetDryControl
namelist. The option "directvelWD" lets the user choose to compute the flow velocity in the wetting/drying algorithm directly from the gravity-friction force balance. Previous code uses the user chosen value of "velmin" to approximate the velocity, and then checks this velocity against the very same value of velmin to determine whether to transition a node from dry to wet. The "directvelWD" avoids this circular logic and obtains a more physically realistic approximation to the velocity, which we then check against velmin to find out if a dry node should be wet. The optionuseHF
invokes a larger friction approximation in the wetting/drying algorithm, wherein ifuseHF = true
, then we assume the friction coefficientCf = 1
in the computation of the velocity from the gravity-friction balance. On average, this option increases friction along the wetting front considerably and can significantly slow the propagation of the wetting front during a flooding event, should the user deem this desirable. The "useHF" option does not have any effect if the "directvelWD" option is not used.
Wind stress:
- Introduce a limiting factor on wind stress for elements with very shallow flow. The magnitude of the wind stress could become unrealistically large for locations with very shallow flow, due to the fact that computations for wind stress are formulated with flow depth in the denominator. Leads to catastrophic instabilities in the model solution, i.e., the model crashes due to elevation warnings. For locations where water surface elevation is between
h0
and4*h0
the wind stress is reduced by a hyperbolic tangent factor, starting at1
for a water level of4*h0
and ending at0
forh0
. Controlled by setting the logical parameterwindlim
in thewetDryControl
namelist.
Subgrid barrier/time-varying bathymetry fix:
- Introduce the global variables
H1
andH2
to store the values of the flow depths at the previous and current timesteps, respectively. In the previous code, when changing bathymetry (DP
) on the current timestep, either at a subgrid barrier to adjust the overtopping rate, or for using the time-varying bathymetry feature, the wrong value ofH1
was obtained, since it was recomputed asH1 = DP + ETA1
, rather than being stored from the previous timestep. In some cases, this situation leads toH1 = 0
. (H1
could not actually be zero at the previous timestep, since the water level is reset for elevs less than0.8*h0
.) This case leads to instabilities in atmospheric forcing, since the formulation for wind stress containsH1
in its denominator, ultimately causing the model to crash due to elevation warnings. This update avoids the above issue and slightly reduces the model's compute load, while slightly raising the memory load, since we no longer have to recompute the depths as frequently, e.g.,HX = DP + ETAX
.
SWAN Version 41.45 (@caseydietrich, #380)
Version 41.45:
- The DCTA method for computing triads as described in Booij et al. (2009) is included as an option. See also Section 2.3.4 of the Technical documentation.
- The method of De Wit (2022) for estimating the biphase is included as an option. See also SWAN settings for further details.
- Current-induced whitecapping as proposed by Van der Westhuysen (2012) is included as an option. For more information, consult the page SWAN settings.
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.
Minor New Features
- Time varying combined wave radiation/flux boundaries [
ibtype=32
] (@zcobell) - ESMF NUOPC Coupler (@pvelissariou1, #304)
- A subgrid barrier nodal attribute which can restrict flow across coarse elements (@zcobell, @dylnwood #304, #371)
- NetCDF based SAL files for improved decomposition and loading times (@zcobell, #335)
- ARM processor compatibility within CMake build system (@zcobell, #330)
- Blending of NWS=12 wind fields (@zcobell, #336)
- More efficient I/O with NWS=14 GRIB/NetCDF meteorological forcing files (@cblakely97, @dwirasae, #357, #389)
- Ability to use the command line argument
--hash
to write the git repository hash to screen (@zcobell, #373) - Wave radiation stress gradient limiter (@chrismassey, #383)
- Full mesh specification in netCDF output files (@zcobell, #385)
- UGRID 2.0 compliance and
xarray
compatibility. This also allows users to directly load results files directly into programs like QGIS (@zcobell, #385)
Bug Fixes
- Bug fixed when using writer cores (@cblakely97, #333)
- Fix for tropical cyclones in southern hemisphere (@pvelissariou1, #329)
- Unification of physical constants (@zcobell, #339, #384)
- Fix for wind direction bug in NWS=13 (@acrosby, #352)
- Removal of single precision mode (i.e.
-DREAL4
) (@zcobell, #340) - Fix for bug in output of ice concentration (@GM-Ling, #317)
- Fix for building
punswan
using legacy build system (@zcobell, #337) - Fixing weir cross-barrier pipe boundaries in
adcprep
(@zcobell, #382) - Removal of arithmetic if statements flagged by GCC compilers as deprecated (@zcobell, #386)
- Fix for array access in VEW1D/Condensed Nodes (@shinbunya, @zcobell, #391, #392)
- Fix for netCDF arrays with certain combinations of boundary conditions in the model (@zcobell, #392)
Lastly, ADCIRC is now released under the terms of the GNU Lesser General Public License, Version 3 (#362)
Checksums
Algorithm | Checksum |
---|---|
MD5 | dba0ad294525fb1194df15234b31001e |
SHA1 | 89ded6802c0bf92c14bc4dfaa2dc148940625531 |
SHA256 | 2c53ebe89eb1bc1a6426781fdf9f8fdd8cb93261bfedb6afd59b94b926fc1c78 |
Climate Change - Natural Hazard and Storm
- Fortran
Published by zcobell 11 months ago

ADCIRC - v56.0.0-beta.2
v56.0.0-beta.2
This is the second beta release of ADCIRC version 56 which addresses some minor bugs that were uncovered during testing.
Major New Features
Version 56 brings several major new features, such as:
Subgrid Modeling Capability (@jlwoodr, #348)
Subgrid modeling with ADCIRC allows for the incorporation of high-resolution bathymetric and topographic information without significant increases in computational cost. With subgrid modeling, hydraulic connectivity through subgrid scale features such as small tidal channels can be achieved on coarsened numerical meshes. The subgrid additions in ADCIRC v56 include changes to the wetting and drying routine (allowing for partially wet elements) and higher level corrections to the momentum solver (advection and bottom friction calculations). Subgrid modeling with ADCIRC requires the use of a pre-computed lookup table. (There is an example script for computing this lookup table here. This set of scripts will create subgrid input files for subgrid enabled ADCIRC) and additions to the namelist in the fort.15 file (wiki link). For more information on sub-grid modeling with ADCIRC, please refer to the following publications: [1] [2]. Note that the original implementation of this work used an edge based scheme, however, it has since been upgraded for efficiency to a vertex based scheme.
1D channels (Vertical Element Wall and 1D Condensation) (@shinbunya, #321)
Two new techniques are introduced to efficiently represent channels with various scales. The first, Vertical Element Wall (VEW), enables a discontinuous representation of topobathymetric elevation. The VEW is useful when the topo-bathymetric elevation varies abruptly with a scale smaller than grid spacing. It is typically used to represent steep slopes or vertical walls along sides of channels. The VEW is implemented as an extension of the interior barrier boundary (IBTYPE=24
). The VEW's IBTYPE
is 64. Unlike the interior barrier boundary where the weir formula is used to couple solutions on the sides of barriers, the VEW gives fully coupled solutions, solving the shallow water equations when a vertical wall is completely submerged. This leads to more seamless bi-directional exchange of water mass and momentum between channels and floodplains. The second technique consolidates nodal equations at paired nodes across a channel. Doing this eliminates cross-channel variability and consequently eliminates the across-channel Courant-Friedrichs-Lewy stability constraint on the model time step. The list of these pairs of nodes are specified as the nodal attribute "condensed_nodes" in fort.13
file. Together the two techniques allow channels of various sizes as well as other instances of steep topography to be embedded seamlessly, efficiently and in a fully coupled manner, yielding quasi one dimensional solutions in the channels. The details of the two techniques are described in Bunya et al. (2023).
Enhanced 2D+ baroclinic coupling (@cblakely97, #351)
The densityControl namelist has been upgraded to now include the option to supply the baroclinic forcing (depth-averaged baroclinic pressure gradient and bouyancy frequencies) as nodal rather than gridded input. It is recommended to calculate the baroclinic forcing from an ocean global circulation model onto the ADCIRC grid at each output level in a finite-element sense (see the ADCIRC theory and formulation report). This helps eliminate the aliasing from coarse OGCM to fine ADCIRC grid at boundaries. To turn on the baroclinic forcing at each node, the densityForcingType
variable in the densityControl namelist needs to be set to BCForcingOnADCIRCGrid
.
Improved wetting/drying stability and slope limiting (@dylnwood, #371, #322, #320, #311)
Wetting/drying Improvements:
- Addition of a specialized slope limiter to prevent excessive drainage on flooded elements. Excessive drainage leads to persistent model instabilities, due to the fact that water levels at nodes where elev. is less than 0.8*h0 are "reset", causing nodes with too much drainage to enter an endless loop of draining and resetting, which degrades the reliability of the numerical solution for the entire neighboring geographic region. This situation typically occurs when time steps are large and where there are rapid changes in topographic gradients. We specifically apply a limit on the component of the water surface elevation gradient that lies in the same direction as the bathymetric or topographic surface elevation gradient. Controlled by setting the value of the limit in the "wetDryControl" namelist with the "slim" parameter.
- Keep the maximum value for the friction (TK) approximation and apply equal friction on the two nodes forming the wetting front for an element transitioning from dry to wet. Reduces the stochastic behavior of the model, e.g., to ensure that the solutions are invariant with respect to the ordering of the computations, so that they are more reproducible. Previously, the value of the friction factor at a location on the wetting/drying front was overwritten with the most recently computed value, resulting in slightly different solutions for simulations with wetting/drying, depending upon the ordering of the finite elements in the connectivity table used for model input. Setting friction equal at the wetting front for an element also improves stability of solutions along the wet/dry boundary.
- Addition of the logical parameters
directvelWD
anduseHF
to the&wetDryControl
namelist. The option "directvelWD" lets the user choose to compute the flow velocity in the wetting/drying algorithm directly from the gravity-friction force balance. Previous code uses the user chosen value of "velmin" to approximate the velocity, and then checks this velocity against the very same value of velmin to determine whether to transition a node from dry to wet. The "directvelWD" avoids this circular logic and obtains a more physically realistic approximation to the velocity, which we then check against velmin to find out if a dry node should be wet. The optionuseHF
invokes a larger friction approximation in the wetting/drying algorithm, wherein ifuseHF = true
, then we assume the friction coefficientCf = 1
in the computation of the velocity from the gravity-friction balance. On average, this option increases friction along the wetting front considerably and can significantly slow the propagation of the wetting front during a flooding event, should the user deem this desirable. The "useHF" option does not have any effect if the "directvelWD" option is not used.
Wind stress:
- Introduce a limiting factor on wind stress for elements with very shallow flow. The magnitude of the wind stress could become unrealistically large for locations with very shallow flow, due to the fact that computations for wind stress are formulated with flow depth in the denominator. Leads to catastrophic instabilities in the model solution, i.e., the model crashes due to elevation warnings. For locations where water surface elevation is between
h0
and4*h0
the wind stress is reduced by a hyperbolic tangent factor, starting at1
for a water level of4*h0
and ending at0
forh0
. Controlled by setting the logical parameterwindlim
in thewetDryControl
namelist.
Subgrid barrier/time-varying bathymetry fix:
- Introduce the global variables
H1
andH2
to store the values of the flow depths at the previous and current timesteps, respectively. In the previous code, when changing bathymetry (DP
) on the current timestep, either at a subgrid barrier to adjust the overtopping rate, or for using the time-varying bathymetry feature, the wrong value ofH1
was obtained, since it was recomputed asH1 = DP + ETA1
, rather than being stored from the previous timestep. In some cases, this situation leads toH1 = 0
. (H1
could not actually be zero at the previous timestep, since the water level is reset for elevs less than0.8*h0
.) This case leads to instabilities in atmospheric forcing, since the formulation for wind stress containsH1
in its denominator, ultimately causing the model to crash due to elevation warnings. This update avoids the above issue and slightly reduces the model's compute load, while slightly raising the memory load, since we no longer have to recompute the depths as frequently, e.g.,HX = DP + ETAX
.
SWAN Version 41.45 (@caseydietrich, #380)
Version 41.45:
- The DCTA method for computing triads as described in Booij et al. (2009) is included as an option. See also Section 2.3.4 of the Technical documentation.
- The method of De Wit (2022) for estimating the biphase is included as an option. See also SWAN settings for further details.
- Current-induced whitecapping as proposed by Van der Westhuysen (2012) is included as an option. For more information, consult the page SWAN settings.
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.
Minor New Features
- Time varying combined wave radiation/flux boundaries [
ibtype=32
] (@zcobell) - ESMF NUOPC Coupler (@pvelissariou1, #304)
- A subgrid barrier nodal attribute which can restrict flow across coarse elements (@zcobell, @dylnwood #304, #371)
- NetCDF based SAL files for improved decomposition and loading times (@zcobell, #335)
- ARM processor compatibility within CMake build system (@zcobell, #330)
- Blending of NWS=12 wind fields (@zcobell, #336)
- More efficient I/O with NWS=14 GRIB/NetCDF meteorological forcing files (@cblakely97, @dwirasae, #357, #389)
- Ability to use the command line argument
--hash
to write the git repository hash to screen (@zcobell, #373) - Wave radiation stress gradient limiter (@chrismassey, #383)
- Full mesh specification in netCDF output files (@zcobell, #385)
- UGRID 2.0 compliance and
xarray
compatibility (@zcobell, #385)
Bug Fixes
- Bug fixed when using writer cores (@cblakely97, #333)
- Fix for tropical cyclones in southern hemisphere (@pvelissariou1, #329)
- Unification of physical constants (@zcobell, #339, #384)
- Fix for wind direction bug in NWS=13 (@acrosby, #352)
- Removal of single precision mode (i.e.
-DREAL4
) (@zcobell, #340) - Fix for bug in output of ice concentration (@GM-Ling, #317)
- Fix for building
punswan
using legacy build system (@zcobell, #337) - Fixing weir cross-barrier pipe boundaries in
adcprep
(@zcobell, #382) - Removal of arithmetic if statements flagged by GCC compilers as deprecated (@zcobell, #386)
- Fix for array access in VEW1D/Condensed Nodes (@shinbunya, @zcobell, #391, #392)
- Fix for netCDF arrays with certain combinations of boundary conditions in the model (@zcobell, #392)
Lastly, ADCIRC is now released under the terms of the GNU Lesser General Public License, Version 3 (#362)
Checksums
Algorithm | Checksum |
---|---|
MD5 | 65af3de610ca85b96548a5a5a00fe2b0 |
SHA1 | 387eea0a9aeb89f8c56488258fecf96de31be51a |
SHA256 | 4e69aafaeffee11ab4778757578f5e10532c006d86af59c3acc4cc3eba626fcf |
Climate Change - Natural Hazard and Storm
- Fortran
Published by zcobell about 1 year ago

ADCIRC - v56.0.0-beta.1
v56.0.0-beta.1
This is the first beta release of ADCIRC version 56.
Major New Features
Version 56 brings several major new features, such as:
Subgrid Modeling Capability (@jlwoodr, #348)
Subgrid modeling with ADCIRC allows for the incorporation of high-resolution bathymetric and topographic information without significant increases in computational cost. With subgrid modeling, hydraulic connectivity through subgrid scale features such as small tidal channels can be achieved on coarsened numerical meshes. The subgrid additions in ADCIRC v56 include changes to the wetting and drying routine (allowing for partially wet elements) and higher level corrections to the momentum solver (advection and bottom friction calculations). Subgrid modeling with ADCIRC requires the use of a pre-computed lookup table. (There is an example script for computing this lookup table here. This set of scripts will create subgrid input files for subgrid enabled ADCIRC) and additions to the namelist in the fort.15 file (wiki link). For more information on sub-grid modeling with ADCIRC, please refer to the following publications: [1] [2]. Note that the original implementation of this work used an edge based scheme, however, it has since been upgraded for efficiency to a vertex based scheme.
1D channels (Vertical Element Wall and 1D Condensation) (@shinbunya, #321)
Two new techniques are introduced to efficiently represent channels with various scales. The first, Vertical Element Wall (VEW), enables a discontinuous representation of topobathymetric elevation. The VEW is useful when the topo-bathymetric elevation varies abruptly with a scale smaller than grid spacing. It is typically used to represent steep slopes or vertical walls along sides of channels. The VEW is implemented as an extension of the interior barrier boundary (IBTYPE=24
). The VEW's IBTYPE
is 64. Unlike the interior barrier boundary where the weir formula is used to couple solutions on the sides of barriers, the VEW gives fully coupled solutions, solving the shallow water equations when a vertical wall is completely submerged. This leads to more seamless bi-directional exchange of water mass and momentum between channels and floodplains. The second technique consolidates nodal equations at paired nodes across a channel. Doing this eliminates cross-channel variability and consequently eliminates the across-channel Courant-Friedrichs-Lewy stability constraint on the model time step. The list of these pairs of nodes are specified as the nodal attribute "condensed_nodes" in fort.13
file. Together the two techniques allow channels of various sizes as well as other instances of steep topography to be embedded seamlessly, efficiently and in a fully coupled manner, yielding quasi one dimensional solutions in the channels. The details of the two techniques are described in Bunya et al. (2023).
Enhanced 2D+ baroclinic coupling (@cblakely97, #351)
The densityControl namelist has been upgraded to now include the option to supply the baroclinic forcing (depth-averaged baroclinic pressure gradient and bouyancy frequencies) as nodal rather than gridded input. It is recommended to calculate the baroclinic forcing from an ocean global circulation model onto the ADCIRC grid at each output level in a finite-element sense (see the ADCIRC theory and formulation report). This helps eliminate the aliasing from coarse OGCM to fine ADCIRC grid at boundaries. To turn on the baroclinic forcing at each node, the densityForcingType
variable in the densityControl namelist needs to be set to BCForcingOnADCIRCGrid
.
Improved wetting/drying stability and slope limiting (@dylnwood, #371, #322, #320, #311)
Wetting/drying Improvements:
- Addition of a specialized slope limiter to prevent excessive drainage on flooded elements. Excessive drainage leads to persistent model instabilities, due to the fact that water levels at nodes where elev. is less than 0.8*h0 are "reset", causing nodes with too much drainage to enter an endless loop of draining and resetting, which degrades the reliability of the numerical solution for the entire neighboring geographic region. This situation typically occurs when time steps are large and where there are rapid changes in topographic gradients. We specifically apply a limit on the component of the water surface elevation gradient that lies in the same direction as the bathymetric or topographic surface elevation gradient. Controlled by setting the value of the limit in the "wetDryControl" namelist with the "slim" parameter.
- Keep the maximum value for the friction (TK) approximation and apply equal friction on the two nodes forming the wetting front for an element transitioning from dry to wet. Reduces the stochastic behavior of the model, e.g., to ensure that the solutions are invariant with respect to the ordering of the computations, so that they are more reproducible. Previously, the value of the friction factor at a location on the wetting/drying front was overwritten with the most recently computed value, resulting in slightly different solutions for simulations with wetting/drying, depending upon the ordering of the finite elements in the connectivity table used for model input. Setting friction equal at the wetting front for an element also improves stability of solutions along the wet/dry boundary.
- Addition of the logical parameters
directvelWD
anduseHF
to the&wetDryControl
namelist. The option "directvelWD" lets the user choose to compute the flow velocity in the wetting/drying algorithm directly from the gravity-friction force balance. Previous code uses the user chosen value of "velmin" to approximate the velocity, and then checks this velocity against the very same value of velmin to determine whether to transition a node from dry to wet. The "directvelWD" avoids this circular logic and obtains a more physically realistic approximation to the velocity, which we then check against velmin to find out if a dry node should be wet. The optionuseHF
invokes a larger friction approximation in the wetting/drying algorithm, wherein ifuseHF = true
, then we assume the friction coefficientCf = 1
in the computation of the velocity from the gravity-friction balance. On average, this option increases friction along the wetting front considerably and can significantly slow the propagation of the wetting front during a flooding event, should the user deem this desirable. The "useHF" option does not have any effect if the "directvelWD" option is not used.
Wind stress:
- Introduce a limiting factor on wind stress for elements with very shallow flow. The magnitude of the wind stress could become unrealistically large for locations with very shallow flow, due to the fact that computations for wind stress are formulated with flow depth in the denominator. Leads to catastrophic instabilities in the model solution, i.e., the model crashes due to elevation warnings. For locations where water surface elevation is between
h0
and4*h0
the wind stress is reduced by a hyperbolic tangent factor, starting at1
for a water level of4*h0
and ending at0
forh0
. Controlled by setting the logical parameterwindlim
in thewetDryControl
namelist.
Subgrid barrier/time-varying bathymetry fix:
- Introduce the global variables
H1
andH2
to store the values of the flow depths at the previous and current timesteps, respectively. In the previous code, when changing bathymetry (DP
) on the current timestep, either at a subgrid barrier to adjust the overtopping rate, or for using the time-varying bathymetry feature, the wrong value ofH1
was obtained, since it was recomputed asH1 = DP + ETA1
, rather than being stored from the previous timestep. In some cases, this situation leads toH1 = 0
. (H1
could not actually be zero at the previous timestep, since the water level is reset for elevs less than0.8*h0
.) This case leads to instabilities in atmospheric forcing, since the formulation for wind stress containsH1
in its denominator, ultimately causing the model to crash due to elevation warnings. This update avoids the above issue and slightly reduces the model's compute load, while slightly raising the memory load, since we no longer have to recompute the depths as frequently, e.g.,HX = DP + ETAX
.
SWAN Version 41.45 (@caseydietrich, #380)
Version 41.45:
- The DCTA method for computing triads as described in Booij et al. (2009) is included as an option. See also Section 2.3.4 of the Technical documentation.
- The method of De Wit (2022) for estimating the biphase is included as an option. See also SWAN settings for further details.
- Current-induced whitecapping as proposed by Van der Westhuysen (2012) is included as an option. For more information, consult the page SWAN settings.
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.
Minor New Features
- Time varying combined wave radiation/flux boundaries [
ibtype=32
] (@zcobell) - ESMF NUOPC Coupler (@pvelissariou1, #304)
- A subgrid barrier nodal attribute which can restrict flow across coarse elements (@zcobell, @dylnwood #304, #371)
- NetCDF based SAL files for improved decomposition and loading times (@zcobell, #335)
- ARM processor compatibility within CMake build system (@zcobell, #330)
- Blending of NWS=12 wind fields (@zcobell, #336)
- More efficient I/O with NWS=14 GRIB/NetCDF meteorological forcing files (@cblakely97, @dwirasae, #357, #389)
- Ability to use the command line argument
--hash
to write the git repository hash to screen (@zcobell, #373) - Wave radiation stress gradient limiter (@chrismassey, #383)
- Full mesh specification in netCDF output files (@zcobell, #385)
- UGRID 2.0 compliance and
xarray
compatibility (@zcobell, #385)
Bug Fixes
- Bug fixed when using writer cores (@cblakely97, #333)
- Fix for tropical cyclones in southern hemisphere (@pvelissariou1, #329)
- Unification of physical constants (@zcobell, #339, #384)
- Fix for wind direction bug in NWS=13 (@acrosby, #352)
- Removal of single precision mode (i.e.
-DREAL4
) (@zcobell, #340) - Fix for bug in output of ice concentration (@GM-Ling, #317)
- Fix for building
punswan
using legacy build system (@zcobell, #337) - Fixing weir cross-barrier pipe boundaries in
adcprep
(@zcobell, #382) - Removal of arithmetic if statements flagged by GCC compilers as deprecated (@zcobell, #386)
Lastly, ADCIRC is now released under the terms of the GNU Lesser General Public License, Version 3 (#362)
Checksums
Algorithm | Checksum |
---|---|
MD5 | 1414fa8b0f4c4bf52647d830cd1009c9 |
SHA1 | b8ec3386ab8193b4be146c2f8c6c09846df6769a |
SHA256 | 18544a5b9651bf4aeceb6756458806530e08bdcbdea2e1853c67ca52dcf4a5e9 |
Climate Change - Natural Hazard and Storm
- Fortran
Published by zcobell about 1 year ago

ADCIRC - noaa.stofs.2d.glo.v2.1.0r1.v55.12
What's Changed
- Updates to VELCHECK option
- Updates to subgrid barrier DT
- Adding
git_hash
to ADCIRC netCDF output files - Adding
--hash
command line option foradcirc
andpadcirc
executables - Forcing re-run of the version module generation scripts on each build
Full Changelog: https://github.com/adcirc/adcirc/compare/noaa.stofs.2d.glo.v2.1.0r1.v55.11...noaa.stofs.2d.glo.v2.1.0r1.v55.12
Climate Change - Natural Hazard and Storm
- Fortran
Published by zcobell about 1 year ago

ADCIRC - noaa.stofs.2d.glo.v2.1.0r1.v55.11
What's Changed
- Fixes for NOAA Version of Code -- Velcheck and store H1 and H2 to fix Subgrid Barriers by @dylnwood in https://github.com/adcirc/adcirc/pull/370
Full Changelog: https://github.com/adcirc/adcirc/compare/noaa.stofs.2d.glo.v2.1.0r1...noaa.stofs.2d.glo.v2.1.0r1.v55.11
Climate Change - Natural Hazard and Storm
- Fortran
Published by zcobell over 1 year ago

ADCIRC - noaa.stofs.2d.glo.v2.1.0r1.v55.10
noaa.stofs.2d.glo.v2.1.0r1.v55.10
Setting specific tag for NOAA's 12/13/2023 version
Checksums
Algorithm | Checksum |
---|---|
MD5 | 16e14b0bba72321ec9f92e397e23d894 |
SHA1 | 561d3f6eb2608e0c87d9ad0804c860bcae50b3d5 |
SHA256 | 92821ccb60db3e05c5fa383283de7da1ff4610f59c52fb98106f9f52ac27c0b0 |
Climate Change - Natural Hazard and Storm
- Fortran
Published by zcobell over 1 year ago

ADCIRC - NOAA STOFS v2.1.0r1
NOAA STOFS v2.1.0r1
Tagging NOAA STOFS version v2.1.0r1 in the NOAA release workflow.
The attached file (adcirc_noaa.stofs.2d.glo.v2.1.0r1.tar.gz
) contains the release package of the code.
Checksums
Algorithm | Checksum |
---|---|
MD5 | bb7463b59bd78273d5ff36bb38043a6a |
SHA1 | 832ebd1713132e8f38a89cba2c09addc25b45cc8 |
SHA256 | e2f466423ec9a093ef999411beeefa338fe1cf44adcf7330802081f8d4038196 |
Climate Change - Natural Hazard and Storm
- Fortran
Published by zcobell over 1 year ago

ADCIRC - v55.02
ADCIRC Version v55.02
Version 55.02 is a bug fix release in the version 55 release train
- Address sign mismatch in NWS=13 (Thanks @acrosby, #352)
Checksums
Algorithm | Checksum |
---|---|
MD5 | 2fed1b2106b31a3646d0a488ee808e6f |
SHA1 | e8e25b02aa9eb5e98f0fec8f6053ab03bf94f157 |
SHA256 | 10029efccf25796f5190d9ace89af5b371bf874b746de6116543ee136e9334ee |
Climate Change - Natural Hazard and Storm
- Fortran
Published by zcobell over 1 year ago

ADCIRC - v55.01
ADCIRC Version 55.01
Version 55.01 is a bugfix release with minor enhancements. The changes from version 55.00 include:
- Fix to
RampTip2
(#277) - Fix to sponge layer boundaries (#285, #282, #283)
- Removal of
GOTO
statements throughout much of the code to improve coding practices (#279) - Improving interpolation speed for
NWS=14
(#267) - Fixes for later
gfortran
compilers (11+) which can be pickier about namelist declaration order than past versions
Checksums
Algorithm | Checksum |
---|---|
MD5 | 497b8e66d60c682fc8ebffc56b457f42 |
SHA1 | f9adfaa8ceaf48dd8fd5289bc72a82adf47dc231 |
SHA256 | fa42ff973e157634ed6bedae9465067928944901524cc255c561b24db2d41b27 |
Climate Change - Natural Hazard and Storm
- Fortran
Published by zcobell over 3 years ago

ADCIRC - v55.00
v55.00
Initial release of ADCIRC version 55
New/Updated Features
- NWS=13 – OWI netCDF formatted output supporting arbitrary numbers of grids and proper treatment of moving grids (@acrosby)
- NWS=14 – GRIB2 formatted data can be used directly (@WPringle)
a. GRIB and Jasper libraries can be built via CMake automatically (@zcobell) - SWAN 41.31 - Updated SWAN version included (@caseydietrich)
- Linear interpolation between directions for the
surface_directional_effective_roughness_length
attribute (@tgasher) - Global modeling enabled via new spherical transformations and correct accounting for curvature terms. This is especially important for high latitudes (@WPringle)
- Note: Recommend using the updated curvature treatments in domains as small as the typical WNAT domain via
ICS=20,21,or 22
(Equal-area, CPP, Mercator) rather thanICS=2
(CPP). click for more details - This can also perform rotations of the mesh reference frame so that an empty element can be placed at each pole when conducting global modeling to avoid a singularity. Examples of this are in the test suite
- Note: Recommend using the updated curvature treatments in domains as small as the typical WNAT domain via
- 2D-Baroclinic modeling enabled (@WPringle)
- Sponge layer boundary type enabled (IBTYPE=94) (@dwirasae)
- Resolving the whole gravity wave/barotropic pressure gradient term on the LHS when using consistent mass matrix. Enabled using
IMDIG6=3
(@WPringle)- This also fixes the issues around minimum element size for negative depth (@WPringle)
- ADCIRC will now produce exit codes. When the code exits with an error, the error code can be checked. This may be useful for scripting built around ADCIRC
./adcirc ; echo $?
(@zcobell) - Ice surface drag is included from GRIB2 files or netCDF (@WPringle, @GM-Ling)
- Corrected treatment of dry cells for station files and global max velocity files (@zcobell)
elemental_slope_limiter
output file (ESLNodes.63
) is now a diagnostic for the number of times it was enabled. Previously it was a binary flag, however, now that it can be enabled once per time step, this output can be used for diagnosis of potential problem areas (@zcobell)- Bug fixed where restarting output files would offset the output interval slightly (@zcobell)
- Improvements to handling of fractional time steps with vortex wind models (@WPringle)
Details for the major numerical improvements to the ADCIRC code made by @WPringle can be found in his publication in Geoscientific Model Development.
For more information see the ADCIRC wiki.
Checksums
Algorithm | Checksum |
---|---|
MD5 | 83aa687b3562fea420372b75b1d432b3 |
SHA1 | c9a58e7e4e2a9a6b04a9aa5640f2061469003cae |
SHA256 | 0de3bbdeb69b8809d668d511f10e8f4784f253d278e1985c3bbd3907725142d7 |
Climate Change - Natural Hazard and Storm
- Fortran
Published by zcobell about 4 years ago

ADCIRC - v54.02
v54.02
ADCIRC Version 54.02
Please use adcirc_v54.02.tar.gz
Version 54.02 is a bugfix release that contains one fix:
- Fix for #246 (velocity station nan values)
Checksums
Algorithm | Checksum |
---|---|
MD5 | 0cf679ddaf024f8a5f43ebf71f47301d |
SHA1 | 8d1bc1e4e22d5a19a8024d95dc2dec475a6f8dbd |
SHA256 | cb1aca0cc7a0b1b0c4cc91ad71a2ac2cbefc0a16d5ff25d6d2833e75b0fc5262 |
Climate Change - Natural Hazard and Storm
- Fortran
Published by zcobell over 4 years ago

ADCIRC - v55.00-beta.1
v55.00-beta.1
Beta release of ADCIRC version 55 for use by the ADCIRC developer community. This release is NOT for production.
New/Updated Features
- NWS=13 – OWI netCDF formatted output supporting arbitrary numbers of grids and proper treatment of moving grids (@acrosby)
- NWS=14 – GRIB2 formatted data can be used directly (@WPringle)
a. GRIB libraries can be built via CMake automatically (@zcobell) - SWAN 41.31 - Updated SWAN version included (@caseydietrich)
- Linear interpolation between directions for the
surface_directional_effective_roughness_length
attribute (@tgasher) - Global modeling enabled via new spherical transformations and correct accounting for curvature terms. This is especially important for high latitudes (@WPringle)
- Note: Recommend using the updated curvature treatments in domains as small as the typical WNAT domain via
ICS=20,21,or 22
(Equal-area, CPP, Mercator) rather thanICS=2
(CPP). click for more details - This can also perform rotations of the mesh reference frame so that an empty element can be placed at each pole when conducting global modeling to avoid a singularity. Examples of this are in the test suite
- Note: Recommend using the updated curvature treatments in domains as small as the typical WNAT domain via
- 2D-Baroclinic modeling enabled (@WPringle)
- Sponge layer boundary type enabled (IBTYPE=94) (@dwirasae)
- Resolving the whole gravity wave/barotropic pressure gradient term on the LHS when using consistent mass matrix. Enabled using
IMDIG6=3
(@WPringle)- This also fixes the issues around minimum element size for negative depth (@WPringle)
- ADCIRC will now produce exit codes. When the code exits with an error, the error code can be checked. This may be useful for scripting built around ADCIRC
./adcirc ; echo $?
(@zcobell) - Ice surface drag is included from GRIB2 files or netCDF (@WPringle, @GM-Ling)
- Corrected treatment of dry cells for station files and global max velocity files (@zcobell)
elemental_slope_limiter
output file (ESLNodes.63) is now a diagnostic for the number of times it was enabled. Previously it was a binary flag, however, now that it can be enabled once per time step, this output can be used for diagnosis of potential problem areas (@zcobell)
For more information see the ADCIRC wiki.
Checksums
Algorithm | Checksum |
---|---|
MD5 | c7fbefb61095a7e29b0fbaf865511af3 |
SHA1 | ec5fc8e6a580a932dde689750470092bea38afc1 |
SHA256 | 6b6d23b8cd1d0a966d8a0d2e338c309ea284a71565f6b4a49f8d7a1064a4da36 |
Climate Change - Natural Hazard and Storm
- Fortran
Published by zcobell over 4 years ago

ADCIRC - v54.01
v54.01
ADCIRC Version 54.01
Please use adcirc_v54.01.tar.gz
Version 54.01 is a bugfix release that contains two fixes:
- Fix for default SWAN output files produced (#230)
- Fix for NWS=10 in parallel (#232)
Checksums
Algorithm | Checksum |
---|---|
MD5 | 0c7def8c97641289da5894c29584296b |
SHA1 | a99f91146deeb7fed8a20ccc2a2b709fabc44fe8 |
SHA256 | ff31a458c529f7ad970cf4ae099cbf0da9e949ad35af01be1e23e19dbb0ca6ca |
Climate Change - Natural Hazard and Storm
- Fortran
Published by zcobell almost 5 years ago

ADCIRC - v54.00
v54.00
ADCIRC Version 54.00
Please use adcirc_v54.00.tar.gz
Major Feature Additions
- Oceanweather formatted wind fields (NWS=12) can be deployed in more than two domains. Positive
NSETS
in thefort.22
allows for 1, 2, or 3 sets of Oceanweather wind fields namedfort.221, fort.222, fort.223, fort.224, fort.217, fort.218
. A negativeNSETS
allows the user to specify any number of domains where the wind fields will be read from thefort.22
file following the wind multiplier using one wind and pressure field set per line. Wind fields are prioritized in ascending order. (#192) - A new nodal attribute
overland_reduction_factor
has been added. This controls the way that the code reduces the effect ofsurface_directional_effective_roughness_length
as water depth increases. This factor is multiplied times the depth. By default, it is set to1/30
, which has been used in previous versions of the code. The motivation for this is sharp discontinuities in water depth can locally accelerate wind forcing which may be unrealistic. Note that z0 land is always capped at the z0 marine value, so the selection of this factor cannot accelerate the wind speed. (#190) - Wind drag routines have been optimized. Previously, the decision for which wind drag routine to select occurred for each node at each time step via a string comparison, which is very slow. The new routine maps a function pointer so that a memory address containing the appropriate function can be selected at model initialization which can be called later with no overhead. Additionally, the wind drag specifications passed via
DragLawString
are no longer case sensitive. This change has shown a considerable speedup (between 5% and 10%) depending on processor branch prediction. (#192)
Changes in functionality
- Renamed the
&offsetControl
namelist to&dynamicWaterlevelCorrection
so the name is more representative of the function. See comment for commit 7a1cfee00e10b118052bfd25a58306c9ad6d95b6 for full details.
Bug Fixes
- The bug in the application of z0 has been fixed. A technical note about the impact of this bug is attached. (#190)
- The removal of the arbitrary z0 cutoff depth, i.e. the depth at which z0 is no longer applied (previously 20m), has been removed. This behavior can be replicated using
overland_reduction_factor
and setting the value to zero, however, ADCIRC will no longer arbitrarily set this outside of the user's control. (#190) - Bugs in writing of output data have been addressed
adcprep
andadcirc
revised to account for differing orders of attributes in header and body for nodal attributes files (fort.13) (#129)- First time snap of
fort.19
forcing no longer erroneously set to zero (#176) - Option for an internal
norm2
routine has been added to support compilers without Fortran 2008 support (-DNOF2008
). This can be added tocmplrflags.mk
or by selecting the available option within the CMake (GUI or command-line interface calledADCIRC_NOF2008
). Note that it is expected that there can be slight differences in the solution using the internal function as the compiler intrinsic implementation ofnorm2
can vary. - Fixed compiler error when specifying -DPOWELL flag
- Fixed bug when using
&wetDryControl
namelist (#204) - Fixed bug in station outputs using ASCII format (#178)
Minor Enhancements
- CMake build system will now build a shared object library version of
libadcirc
and install Fortran*.mod
files - CMake build system now compatible with Mac OSX
- ADCIRC reports percent complete during simulation
- Code Coverage reports now uploaded to CodeCov.io as part of testing
- Code has started to be documented internally using Doxygen formatting
Known Issues
- The three-dimensional code exhibits unknown behavior
- The SWAN model can fail but ADCIRC will continue running without warning
- Time-varying bathymetry output files may fail to be created during hotstart
Checksums
Algorithm | Checksum |
---|---|
MD5 | fbfd0673e7fcf61fcd58fbec9a8e86f5 |
SHA1 | 3aab10b9bcf536f8f6f53e3dc30e7bd1b1069197 |
SHA256 | 6c2ac516b7ebb0508e2f3fdc684170f78b6f0e949f6ebcf98dc9208e304f3d18 |
Climate Change - Natural Hazard and Storm
- Fortran
Published by zcobell about 5 years ago

ADCIRC - v54.00-rc2
v54.00-rc2
ADCIRC Version 54, Release Candidate 2
This version of the code is intended for further testing by the ADCIRC development community in preparation for the release of ADCIRC Version 54. This is not a release version of the code.
Please use adcirc_v54.00-rc2.tar.gz
for testing.
Major Feature Additions
- Oceanweather formatted wind fields (NWS=12) can be deployed in more than two domains. Positive
NSETS
in thefort.22
allows for 1, 2, or 3 sets of Oceanweather wind fields namedfort.221, fort.222, fort.223, fort.224, fort.217, fort.218
. A negativeNSETS
allows the user to specify any number of domains where the wind fields will be read from thefort.22
file following the wind multiplier using one wind and pressure field set per line. Wind fields are prioritized in ascending order. (#192) - A new nodal attribute
overland_reduction_factor
has been added. This controls the way that the code reduces the effect ofsurface_directional_effective_roughness_length
as water depth increases. This factor is multiplied times the depth. By default, it is set to1/30
, which has been used in previous versions of the code. The motivation for this is sharp discontinuities in water depth can locally accelerate wind forcing which may be unrealistic. Note that z0 land is always capped at the z0 marine value, so the selection of this factor cannot accelerate the wind speed. (#190) - Wind drag routines have been optimized. Previously, the decision for which wind drag routine to select occurred for each node at each time step via a string comparison, which is very slow. The new routine maps a function pointer so that a memory address containing the appropriate function can be selected at model initialization which can be called later with no overhead. Additionally, the wind drag specifications passed via
DragLawString
are no longer case sensitive. This change has shown a considerable speedup (between 5% and 10%) depending on processor branch prediction. (#192)
Changes in functionality
- Renamed the
&offsetControl
namelist to&dynamicWaterlevelCorrection
so the name is more representative of the function. See comment for commit 7a1cfee00e10b118052bfd25a58306c9ad6d95b6 for full details.
Bug Fixes
- The bug in the application of z0 has been fixed. A technical note about the impact of this bug is attached. (#190)
- The removal of the arbitrary z0 cutoff depth, i.e. the depth at which z0 is no longer applied (previously 20m), has been removed. This behavior can be replicated using
overland_reduction_factor
and setting the value to zero, however, ADCIRC will no longer arbitrarily set this outside of the user's control. (#190) - Bugs in writing of output data have been addressed
adcprep
andadcirc
revised to account for differing orders of attributes in header and body for nodal attributes files (fort.13) (#129)- First time snap of
fort.19
forcing no longer erroneously set to zero (#176) - Option for an internal
norm2
routine has been added to support compilers without Fortran 2008 support (-DNOF2008
). This can be added tocmplrflags.mk
or by selecting the available option within the CMake (GUI or command-line interface calledADCIRC_NOF2008
). Note that it is expected that there can be slight differences in the solution using the internal function as the compiler intrinsic implementation ofnorm2
can vary. - Fixed compiler error when specifying -DPOWELL flag
- Fixed bug when using
&wetDryControl
namelist (#204) - Fixed bug in station outputs using ASCII format (#178)
Minor Enhancements
- CMake build system will now build a shared object library version of
libadcirc
and install Fortran*.mod
files - CMake build system now compatible with Mac OSX
- ADCIRC reports percent complete during simulation
- Code Coverage reports now uploaded to CodeCov.io as part of testing
- Code has started to be documented internally using Doxygen formatting
Known Issues
- The three-dimensional code exhibits unknown behavior
- The SWAN model can fail but ADCIRC will continue running without warning
- Time-varying bathymetry output files may fail to be created during hotstart
Climate Change - Natural Hazard and Storm
- Fortran
Published by zcobell over 5 years ago

ADCIRC - v54.00-rc1
v54.00-rc1
ADCIRC Version 54, Release Candidate 1
This version of the code is intended for further testing by the ADCIRC development community in preparation for the release of ADCIRC Version 54. This is not a release version of the code.
Please use adcirc_v54.00-rc1.tar.gz
for testing.
Major Feature Additions
- Oceanweather formatted wind fields (NWS=12) can be deployed in more than two domains. Positive
NSETS
in thefort.22
allows for 1, 2, or 3 sets of Oceanweather wind fields namedfort.221, fort.222, fort.223, fort.224, fort.217, fort.218
. A negativeNSETS
allows the user to specify any number of domains where the wind fields will be read from thefort.22
file following the wind multiplier using one wind and pressure field set per line. Wind fields are prioritized in ascending order. - A new nodal attribute
overland_reduction_factor
has been added. This controls the way that the code reduces the effect ofsurface_directional_effective_roughness_length
as water depth increases. This factor is multiplied times the depth. By default, it is set to1/30
, which has been used in previous versions of the code. The motivation for this is sharp discontinuities in water depth can locally accelerate wind forcing which may be unrealistic. Note that z0 land is always capped at the z0 marine value, so the selection of this factor cannot accelerate the wind speed. - Wind drag routines have been optimized. Previously, the decision for which wind drag routine to select occurred for each node at each time step via a string comparison, which is very slow. The new routine maps a function pointer so that a memory address containing the appropriate function can be selected at model initialization which can be called later with no overhead. Additionally, the wind drag specifications passed via
DragLawString
are no longer case sensitive. This change has shown a considerable speedup (between 5% and 10%) depending on processor branch prediction.
Bug Fixes
- The bug in the application of z0 has been fixed. A technical note about the impact of this bug is attached.
- The removal of the arbitrary z0 cutoff depth, i.e. the depth at which z0 is no longer applied (previously 20m), has been removed. This behavior can be replicated using
overland_reduction_factor
and setting the value to zero, however, ADCIRC will no longer arbitrarily set this outside of the users control. - Bugs in writing of output data have been addressed
adcprep
andadcirc
revised to account for differing orders of attributes in header and body for nodal attributes files (fort.13)- First time snap of
fort.19
forcing no longer erroneously set to zero - Option for an internal
norm2
routine have been added to support compilers without Fortran 2008 support (-DNOF2008
). This can be added tocmplrflags.mk
or by selecting the available option within the CMake (GUI or command-line interface calledADCIRC_NOF2008
). Note that it is expected that there can be slight differences in the solution using the internal function as the compiler intrinsic implementation ofnorm2
can vary.
Minor Enhancements
- CMake build system will now build a shared object library version of
libadcirc
and install Fortran*.mod
files - CMake build system now compatible with Mac OSX
- ADCIRC reports percent complete during simulation
- Code Coverage reports now uploaded to CodeCov.io as part of testing
- Code has started to be documented internally using Doxygen formatting
Known Issues
- The three-dimensional code exhibits unknown behavior
- The SWAN model can fail but ADCIRC will continue running without warning
- Time-varying bathymetry output files may fail to be created during hotstart
Climate Change - Natural Hazard and Storm
- Fortran
Published by zcobell over 5 years ago
