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 cmplrflags.mk 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: email@example.com
· 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.