Version History

The following is a brief summary of the ADCIRC development history.

V 45.19 modified from version 45.18 - jgf - 07/10/06

         Fixed a bug in turb in vsmy.F where a PARAMETER was raised to a real power.

V 45.18 modified from version 45.17 - jgf - 07/03/06

         Fixed a bug in turb in vsmy.F where constants were initialized but not saved.

V 45.17 modified from version 45.16 - jgf - 06/28/06

         Adopted from v46.10.

V 45.16 modified from version 45.14 - jgf - 05/26/06

         Added code to ADCPREP to handle the full range of IM values and set the appropriate LOGICAL flags.

         Added PREP10 to decompose initial concentration files.

         Removed ONLY keyword from USE SIZES statements in global_3dvs.F and vsmy.F.

         Fixed bug in failure to initialize count integer in messenger.F.

         Fixed bug in LOGICAL IF comparisons.

V 45.14 modified from version 45.13 - jgf - 05/03/06

         Fixed a bug in global.F where SIZES was included but only SZ (took out the ONLY).

         Fixed a bug in PREP12 where LOC was used instead of SDU.

V 45.13 modified from version 45.12 - jgf - 04/17/06

         Fixed two bugs in adcprep that: (1) created incorrect file names for subdomain files (2) made post-processed files larger than sum of subdomain output files.

         Fixed bugs in itpackv.F and messenger.F that caused crashes on a particular platform.

         Fixed a bug throughout ADCIRC so that variables were included from the right modules.

         Minor build fixes, including a new version of config.guess.

V 45.12 modified from version 45.11 - kd/rk/jgf - 03/17/06

         Major additions by kd/rk:

         Implemented 3D baroclinic transport code in transport.F.

         Implemented new BPG subroutine in timestep.F.

         Updated cstart.F, global_3dvs.F and read_input.F to handle associated input data.

         Fixed bug in VSSOL that was causing inadvertent mixing of current and future timelevels.

         Fixed bug in VSDISP that caused an erroneous early return.

         3D Baroclinic now works.


         Fixed bug in read_global3dvs to handle 3D station locations properly (SL0 and SF0).

         Added code to adcprep to process new input data for 3D barclinic cases.

         Added MPI calls in timestep.F in BPG3D() to pass BPGs to ghost nodes for 3D baroclinic in parallel (now works also).

         Added code to read in vert. 3D spacing and vert. eddy vis. in adcprep.

         Applied tjc's DIRNAME patch for ESMF compatibility.

         Rewrote adcprep routine for fort.20, as the original did not handle ghost nodes.

         Fixed another bug in fort.20 adcprep to widen the formatting for fluxes.

         Added jjw's 3 tier tau0 scheme.

         Added bde's bluegene cmplrflags.

         Increased modularity by subroutinizing station locations and adcprep file opening.

V 45.11 modified from version 45.10 - jgf - 02/02/06


         Bugfix to remove "save" compiler flag: OnDiag/OffDiag calculation on every entrance to GWCE_New.

         Bugfix(kd) to correct 3D elevations: flag IFNLFA mult. by eta2 in timestep.F.

         Bugfix to vsmy.F to use IFNLFA flag instead of NOLIFA in calculations.


         Added code to handle 3D recording stations defined by coordinates rather than node number (changed format of fort.80 file)

         added IDEN to fort.80 file

         fixed routines for post processing fort.41, 42, 43, 44, 45 and 46 files

         added compiler flags for x86_64 (contrib. tjc) and to "save" subroutine values

         fixed NINT bug in read_input.F that made 3D output off by 1 time step

V 45.10 modified from version 45.09 - jgf - 01/12/06


         partially updated preprocessing routines to reflect changes in 3D input files.

V 45.09 modified from version 45.08 - jgf - 01/12/06


         fixed typo bugs in global_3dvs.F that prevented 3D output (NOT3DSDS->NTO3DSDS).


         added new logical variable for aperiodic vs periodic flow boundaries to fix fort.20 breakup bug.

V 45.08 modified from version 45.07 - jgf - 12/16/05


         eliminated 'formatted' statements for binary files, relying instead on compiler flags for record length

         moved setting of NOLIFA flag in adcirc.F to fix hotstart bug

         changed declarations to COMPLEX(SZ) to fix bug in 3D hotstart.

V 45.07 modified from version 45.06 - jgf - 11/21/05


         added option to NHSTAR for testing adcirc's hot start capability.


         Wrote code to handle fort.71, fort.72, fort.73

         upgraded REALs to proper precision

         modified fort.80 file format to handle NOFF array in hotstart files

         created post processing options to either prepall or just prep14/15.

V 45.06 modified from version 45.05 - jgf - 09/07/05

         Found/fixed bug in timestep.f: TotalArea was erroneously zeroed.

         Changed names of some LOGICALs for greater consistency in naming of solution options.

         Selected set of default options, including corrected area integration.

         Discovered and fixed bug for parallel when NCCHANGE flag was set in one subdomain but not another.

         Updated pre and post processing routines, including merging changes written by MEB to handle fort.20 files.

V 45.05 modified from version 45.04 - rl - 08/01/05

         for NWS=6, eliminated adding 360 to negative longitudes to match AVN model grid setup. User is now required to provide met and ADCIRC grid that correspond in space without adjusting the longitude. Also the input variable order has been changed to U,V,P to be consistent with other NWS input formats. Modules affected: wind.f

V 45.04 modified from version 45.03 - rl - 06/16-21/05

         compute baroclinic press grad from surf down, set = above value if into ground.

         read in sigma grid (IGC=0) or E.V. values (IEVC=0) from fort.15 file.

         setup initial condition files for baroclinic or transport 2DDI, 3D runs

         revised GWCE and 2D Momentum Eq. baroclinic calcs.

         made new GWCE and 2D ME formulations the default

         Modules affected: vssol.f, read_input.f global.f global_3D.f timestep.f

V 45.03 modified from version 45.02 - rl - 06/08/05

         fixed 3D bugs: compute QX, QY in 3D VSSOL, corrected name BcPressNN in ZSURFBuoy, added EP to fort.67/68 hot start files & eliminated fort.99 file, fixed roundoff error for ievc=10,11. Modules affected: vssol.f timestep.f hstart.f global_3dv.f

V 45.02 modified from version 45.01 - rl - 03/18/05

         fixed EQUIVALENCE compile problem

         changed alpha header inputs to 80 characters long

         cleaned up Kendra's pred/corr algorithm, including re-localizing OffDiag, OnDiag

         Modules affected: global.f timestep.f read_input.f

V 45.01 modified from version 44.19t - rl - 10/ /04

         Kendra's pred/corr algorithm

         reinstated jjw's spatially variable Tau0 algorithm

         Modules affected: read_input.f, global.f

V 44.01/44.19t modified from version 43.03

         changed names of load vectors in 2D solution

         additional changes associated with removing local variables from global module

         implemented conservative momentum equation in main timestepping code, continued removing local variables from global module. Modules effected: adcirc.f, cstart.f, global.f, hstart.f, read_input.f, timestep.f

         moved 2DDI momentum calculations to subroutines in timestep.f module. Modules effected: timestep.f

         implemented 2nd conservative momentum formulation using product rule.

         added 2nd nonconservative momentum Eq. (correct area integration) Modules affected: timestep.f

         major bug fix in conservative GWCE formulations Modules affected: timestep.f

         moved GWCE to subroutine in timestep.f

         changed lateral stresses in GWCE from Randy's method to straight forward computation

         fixed bug in GWCE lateral stress

         revamped spatially varying Tau0 Modules affected: read_input.f

         fixed bug in GWCE lateral stress that was present in v44.10 & v44.11

         fixed bug in ME Total Area that was introduced in v44.09

         cleaned up implementation of all conservative, lateral stress, ME area integration and mass lumping options. Added IM values to access these. Added CBaroclinic logical & keyed baroclinic calculations to it. Moved LOGICAL declarations from sizes.f to global.f Added local LOGICAL CHARMV call and declaration to subroutines LSQSOLEG & LSQSOLVG in harm.f Removed CLUMP logical from global_3dvs Fixed VSMY so that DASigT is computed for baroclinic run. Modules affected: global.f read_input.f timestep.f sizes.f harm.f adcirc.f global_3dvs vsmy.f messenger.f

         added symmetric lateral stress and Smagorinski lateral stress coefficient Modules affected: timestep.f read_input.f global.f

         bug fix for 2 part lateral stress calculations in GWCE. Bug dates back to 44.15. New spatially variable Tau0 formulation. Modules affected: timestep.f read_input.f

         islands kept as islands when they are cut by subdomains in parallel run. No change to ADCIRC. Modules affected: prep.f

         vic parrs fixes to prep22 and prep23 to write wind info to ghost nodes. No change to ADCIRC. Modules affected: prep.f

         change output format in post processing for fort.63, fort.64 files. No change to ADCIRC. Modules affected: post.f

         change variable declaration in preprocessor so they are not hardwired to real*4. Rather, they are hardwired to real*8 or value of SZ as determined by compiler flag. No change to ADCIRC. Modules affected: presizes.f pre_global.f

         small change to EP check, overtopping barriers, baroclinic pressure gradient calc, and IMAG to AIMAG in messg. Modules affected: timestep.f messenger.f

         new wetting and drying check NOFF added to hotstart file Modules affected: timestep.f messenger.f


V 43.00/43.03 modified from version 36.01 (3D) & 41.12

         create F90/

         reconcile with v42.07 2D code changed var. names: NNEIGH->NNeigh, NEIGH->NeiTab, NEIGHELE->NeiTabEle

         code clean up & documentation

         parallel wind stuff (m.brown), output buffer flush (m.cobb), 3D fixes (k.dresback), drop MNPROC in fort.15 (t.campbell), various bug fixes in RBCs

V 42.01/42.07 modified from version 41.11

         redid GWCE formulation

         no normal velocity grad bc v1

         no normal velocity grad bc v2

         fixed bug in no normal vel grad bc v1

         combined v1 & v2 no normal vel grad bcs

         redid no normal vel grad bc v1

         combined discharge & wave rad bc

V 41.02/41.11 modified from version 40.02m004

         fixed F90 hot start bug and consolidated with version 35.xx

         added bridge piling friction, fixed several F90 bugs

         Fixed bug in wet/dry algorithm which prevented overtopping internal barriers from wetting

         added logic to reset min depth behind overtopping barriers from wetting

         modified wet/dry to allow barrier overtopping

         add writes to track wetting/drying bug

         changed HABSMIN=0.8D0*H0

         changed code by adding output in wet/dry section

         updated NODECODE after initial drying section

         bug fix in GWCE lateral viscosity

         added NWS = -2

V 40.01/40.02m004 modified from version 34.17m16

         MPI parallelization redone to improve efficiency

         Dynamically allocated arrays using Fortran 90 implemented

         #ifdef constructs inserted to configure code at compile time rather than via ADCSETUP. ADCSETUP entirely eliminated for serial code.

         source split into several modules to improve compile efficiency

         add cross barrier pipes

         Vic change to avoid compiler problems

         Changed wet/dry interface from essential no normal & tangential to natural no normal

         changed so that contribution to RHS forcing is zeroed out for any element that contains a dry node. Note: LHS is taken care of automatically

V 34.01/34.20 modified from version 33.04

         MPI parallelization implemented - Initial parallelization of ADCIRC (03/98 - 5/99) was done by the Univ. of Texas Center for Subsurface Modeling, email:

         elemental wetting and drying redone

         several fixes to overflow barriers

         realigned common blocks so that integers follow reals

         added option of NWS=5 met files

         added option of NWS=6 met files (general rectangular grid)

         modified option of NWS=10 to read ASCII files and use a selectable time interval WTIMINC as specified in the fort.15 file

         added option of NWS=-4

         added option of nonzero water level initial condition (NOLIFA=3)

         changed grid coordinates to be read in as real*8 regardless of how the code is configured

         added option of NWS=-5

         forced closure of fort.15, fort.14, fort.18 files prior to the beginning of time stepping

         added input of wave radiation stress in addition to wind fields

         shifted self attraction/load tide input to fort.24 to allow radiation stresses to be read in on fort.23

         implemented spatially variable TAU0

         implemented option to parameterize bridge pilings in flow

         hot start files are not backwardly compatible with previous versions

V 33.01/33.05 modified from version 31.08

         added non harmonic, time varying, elevation boundary condition

         time series output files are closed if completed

         modified format of non harmonic, time varying, non zero normal flow boundary condition to match analogous elevation boundary condition.

         added ability to read binary NWS files from the ETA-29 model (29 KM E grid) for wind and pressure input

         NWLAT,NWLON,WTIMINC hardwired for both NWS=10&11 and therefore removed from the fort.15 file

         fixed several bugs

V 32.01/32.15 modified from version 31.06

         spatially variable horizontal eddy viscosity - NOTE: these modifications WERE NOT carried forward into version 33.XX

V 31.01/31.08 modified from version 30.03

         added self attraction/load tide forcing

         added radiation boundary condition

         fixed bugs for PBL model input, harmonic mean & variance calculation, CPP center lat,lon output, and harmonic output formats

V 30.01/30.03 modified from version 29.06

         added supercritical outflow from the domain over external barrier boundaries

         added supercritical or subcritical flow between sections of the domain over internal barrier boundaries

         fixed bugs for wind input options

V 29.01/29.10 modified from version 28.06

         added option for lumped, fully explicit, Galerkin, 2DDI transport

         added option to start new output files after hot start

         added ability to read binary NWS files that have been unpacked with UNPKGRB1 and are set up on a Gaussian grid for wind/pressure input (AVN model output)

         fixed bug in hurricane pressure fields.

         cleaned up normal flow boundary condition section

         fixed bugs for wind input options

V 28.01/28.06 modified from version 27.35

         added nonzero normal flow boundary conditions

         added option to use a natural boundary condition on zero or specified flow boundaries added

         fixed several bugs in wind field hot start

V 27.01/27.35 modified from version 26.11

         elemental based wetting and drying implemented

         fixed bug (hot starting when writing binary time series output)

         NNODECODE(I) added to hot start file

         basic information on time series output files included in the hot start files whether or not the time series output files are being written.

         problem ordering neighbor table on Cray fixed

         speed optimization removed, all elemental coefficients computed on the fly

         implemented improved horizontal viscosity

         implemented double precision time

         spherical correction applied to the elemental coefficients rather than the nodal variables

         fixed bug in equilibrium argument in harmonic analysis routines

         harmonic analysis subroutines redone for modularity

V 26.01/26.11 modified from version 25.06

         memory optimization and run speed improved

         alternative flow boundary flagging implemented

         VS vertical solution added (3D VS option)

         GWCE time discretization altered to compute elevation difference each time step rather than elevation itself

         horizontal viscosity term in GWCE made fully explicit

         added option for GWCE mass matrix lumping

         added option for GWCE diagonal matrix solver

V 25.01/25.06 modified from version 24.19

         added ability to read fleet numeric wind files for wind input

         added ability to read PBL/JAG wind files for wind/pressure input

         element area and station interpolation calculations reformulation to improve precision

V 24.01/24.20 modified from version 23.15

         quadrature replaced by exact integration of elemental coefficients

         DSS vertical solution added (3D DSS option)

         problems with eddy viscosity fixed

         iteration on eddy viscosity eliminated

         better memory optimization added

         wind, tidal potential information eliminated from hotstart files

         bug fixes

V 23.00/23.15 modified from version 22.10

         added option to optimize loops for either a scalar or vector computer.

         added option to optimize remainder of code either for speed (at the expense of increased memory) or for minimum memory (at the expense of reduced speed). Note: this option was removed in V 27.

V 22.00/22.10 modified from version 21.07

         calculation of elemental matrices optimized

         elemental matrices computed as needed (to save on memory)

V 21.00/21.07 modified from version 20.10

         GWCE matrix restructured to be symmetric

         added option for iterative solver

         DXXYY coefficient removed

V 20.00/20.10 modified from version 19.12

         2DDI hot start capability added

         built in harmonic analysis of model results added

V 19.00/19.12 modified from version 18.03

         global elevation and velocity output split up into separate files

         binary output option added

         nonlinear options specification redone

         bug fixes

V 18.01/18.03 modified from version 17.02

         output structure modified

         normal flow boundary condition handling modified to allow acute angles to be zeroed in both the normal and tangential directions.

         part of the advective terms in GWCE bundled with the finite amplitude terms to ensure consistency.

V 16.01/17.02 modified from version 15.01

         assembly loops unrolled to enhance performance on vector computers

         minor I/O changes for station and global output

V 14.01/15.01 modified from version 12.01

         2DDI code modified to work in either Cartesian or latitude/longitude coordinates by translating the spherical equations into Cartesian coordinates using a CPP transformation.

  Contact:   About Webpage    ADCIRC Listserv   Join ADCIRC Listserv   Request ADCIRC code Updated February 6, 2008