The following is a brief summary of the ADCIRC development history.
V 46.26 modified from version 46.25 - jgf - 08/22/06
· Moved new wind.F into src directory where it belongs.
V 46.25 modified from version 46.24 - jgf - 08/21/06
· Implemented choice of tau0 schemes for negative tau0 in fort.15 file
· Updated asymmetric hurricane code from cf.
V 46.24 modified from version 46.23 - jgf - 08/16/06
· Added updated p15.F and owi22.F from sb.
· Widened output format in fort.63 to avoid truncation bug when elevations have negative three digit exponents.
· Lifted restriction on overlap of IBTYPEs 52 and 24.
· Fixed bug in prep22 for NWS=1,3,4 where outer loop was missing and only the first set of wind data was processed.
V 46.23 modified from version 46.22 - jgf - 08/13/06
· Fixed a bug in the multiple ramp functions in timestep.F for the Katrina ramp.
V 46.22 modified from version 46.21 - jgf - 08/09/06
· Added a 1/0.7 factor to max wind forecast in Holland wind model.
V 46.21 modified from version 46.20 - jgf - 08/09/06
· Added code to support new IBTYPE=52.
· Changes to Holland wind model: added debugging code, fixed bug that was miscalculating wind time increment, added 0.88 factor to convert from 1 minute to 10 minute winds.
· Fixed bug in prep13 that was breaking long lines of default values onto multiple lines.
V 46.20 modified from version 46.19 - jgf - 08/03/06
· Applied a 0.7 factor to Holland winds, fixed a bug in header for debug elevations.
V 46.19 modified from version 46.18 - jgf - 07/21/06
· Discovered and fixed a bare #ifdef bug on periodic bcs in timestep.F.
· Added negative NSCREEN option to write screen output to a fort.999 file.
V 46.18 modified from version 46.17 - jgf - 07/21/06
· Implemented horizontal eddy viscosity and horizontal eddy diffusivity as nodal attributes for research purposes, not to be used in production runs.
V 46.17 modified from version 46.16 - jgf - 07/21/06
· Fixed empty arguments bug in WriteWarnElev()subroutine call.
V 46.16 modified from version 46.15 - jgf - 07/20/06
· Added #ifdef IBM to INT() calls to work around bugs in non-IBM compilers that don't like the KIND argument.
· Fixed a col. 73 bug in in prep.F.
· Changed METIS1 to METIS in makefile to fix CrayXT3 build bug.
· AMerged asymmetric hurricane wind model from cf and cm.
V 46.15 modified from version 46.14 - jgf - 07/10/06
· Added a FORMAT statement to prep.F for fort.13 to keep attributes with many values on a single line.
V 46.14 modified from version 46.13 - jgf - 07/07/06
· Fixed bug from Katrina testing in hstart.F where too many records were read from hotstart file.
V 46.13 modified from version 46.12 - jgf - 07/06/06
· Fixed build bug in turb in vsmy.F where real exponentiation was used on a PARAMETER.
V 46.12 modified from version 46.11 - jgf - 07/06/06
· Added debugging code for wet/dry.
· Removed the check on KEMAX from screen output logic.
· Merged fixes from vjp: modified two lines in src/wind.F for IBM, added a util subdir and put build13.F in it, added wind subdir and put p15.F and owi22.F in it, modified the makefile (but did not modify the pc oriented makefiles) to build new targets and reduced fflags to just 3 instead of 5 types, modified the cmplrflags.mk file.
· Fixed a bug in subroutine turb in vsmy.F where constants were initialized but not saved.
V 46.11 modified from version 46.10 - jgf - 07/05/06
· Added debugging code for high elevations.
V 46.10 modified from version 46.09 - jgf - 07/03/06
· Fixed bug (ral) that prevented friction flags from being set for spatially varying friction.
V 46.09 modified from version 46.08 - jgf - 06/20/06
· Fixed bug in timestep.F when NRamp=0.
· Fixed handling of NOLIFA=3 in read_input.F
· Fixed bugs in Holland subroutines of wind.F (mult. lon by -1, mult RMW by 1000).
V 46.08 modified from version 46.07 - jgf - 06/14/06
· adcpost: Fixed bug in number of stations reported in fort.72 files.
· Upgraded file handling in Holland subroutine.
· Created fine-grained ramp functions by converting NRAMP in fort.15 to the number of ramp functions.
V 46.07 modified from version 46.06 - jgf - 06/09/06
· Fixed bug in reading Holland files.
V 46.06 modified from version 46.05 - jgf - 06/08/06
· Fixed bug in reading WTIMINC in adcirc and increased line size in adcprep for Holland wind model.
· Fixed compile bug on IBM p5.
V 46.05 modified from version 46.04 - jgf - 06/07/06
· Added code to calculate Cd from Mannings N at every time step.
· Rewrote Holland subroutine to accept hybrid hindcast/forecast input files.
· Replaced metis.F with a new one from vjp with upgrades to weir node dual handling.
· Fixed bug that prevented linking with libmetis.a on IBM p5.
V 46.04 modified from version 46.03 - jgf - 06/05/06
· Applied bde's fixes to compile on IBM p5.
V 46.03 modified from version 46.02 - jgf - 05/30/06
· Implemented Holland Wind model (NWS=8) subroutine and added code to adcprep to copy NWS8 files to subdirectories.
· Commented out some features req'd for Katrina compliance.
V 46.02 modified from version 46.0 - jgf - 05/25/06
· Implemented GeoidOffset code to allow a permanent water level offset from the geoid.
· Implemented wind drag cap function.
· Implemented directional wind roughness and canopy factor.
· Added a combined radiation/flux condition for river boundaries (IBTYPE=22).
· Added a hard-coded spatially varying tau0 scheme vbased on depth to match v42.
· Applied kd's BPG bug fix.
· Fixed major bugs in ADCPREP/ADCPOST to post-process the wind recording station files, changing the format of the fort.80 file.
V 46.0 modified from version 45.12 - jgf - 04/18/06
· Created new nodal attributes module to hold node-by-node data that is time invariant.
· Applied vjp's fixes to itpackv.F and messenger.F.
· Added kind parameter to int() calls, made nscreen the time step increment between screen outputs (except for error messages) to work around limited log file sizes on certain platforms.
· Added option for NWS=7 (grid-independent wind stress).
· Added code to break up new nodal attributes file (unit 13).
· Removed code that decomposed the StartDry and spatially varying bottom friction files.
· Added implicit none to all subroutines, added trim() function to cut down files size from adcpost.
· Made infinite loop over data sets to fix bug where the wrong number of data sets are listed at the top of subdomain files after hot start.
· Added capability to adcprep option 2 to skip processing of certain files.
· Added vjp's compiler flags.
· meb's small fixes to makefiles.
· Updates to PC makefiles
· 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.