Generic ADCIRC - Compile Time Operations

An archive of the ADCIRC source code contains the following:

top-level directories

prep: code to control domain decomposition for a parallel run
metis: 3rd party code written in C that is used during domain decomposition
src: all the code required to run adcirc or padcirc
work: executables are built here, contains makefiles and build-supporting files
util: helpful utilities
wind: code related to generation and manipulation of wind data


header.F: log of changes that have been made to each version
readme.txt: some instructions for building and running adcirc at UNC
strip_cr.bat: DOS batch file that converts source files from DOS to unix format
add_cr.bat: DOS batch file that converts source files from unix to DOS format


adcprep.F: controls domain decomposition
pre_global.F: global variables for domain decomposition
presizes.F: reads unit 14 and unit 15 files for dynamic array size allocation
read_global.F: reads full domain input files
prep.F: subroutines to create input files after domain decomposition
metis.F and metis2.F: makes calls to metis during domain decomposition
decomp.F: creates data structures for mapping between subdomains and fulldomain
interp.F: manages wind data during domain decomposition
picomsg.F: MPI support routines
machdep.F: dependencies for different platforms
mpif.h.t3e: reference information for MPI on Cray-T3E
adcpost.F: controls the merging of subdomain output into fulldomain files
post_global.F: global variables for post processing code
post.F: subroutines to merge each type of output file
*diffmerge.F: create a difference file between two output files
*compare.F: compare two output files
*hs_2_ascii.F: convert a binary hot start file to ascii

Files marked with (*) may not be actively maintained.


adcirc.F: toplevel driver code
global.F: global variables and subroutines for 2D operation
sizes.F: variables used in dynamic array allocation
read_input.F: reads units 10, 11, 14, 15, 24 (serial) and 80 (parallel) and performs some initialization
nodalattr.F: read unit 13 and initialize time invariant attributes at each node
cstart.F: initialization for cold start run, reads units 19, 20, 22 and 23
hstart.F: initialization for hot start run, reads units 19, 20, 22 and 23
harm.F: code to perform harmonic analysis
messenger.F: any subroutine that uses MPI
timestep.F: continuity, momentum, wet/dry, levees, and boundary conditions
wind.F: handling of wind data input and interpolation
global_3dvs.F: global variables and subroutines for 3D operation
vsmy.F: code required for 3D momentum equation solution
itpackv.F: iterative solver (conjugate gradient)
transport.F: transport solution for salt or other conserved quantities


config.guess: shell script to guess which machine it is running on; this is used to select the right compiler flags from compiler flags for different machines and compilers
makefile_adcirc_sp.pc: Windows makefile, single precision
makefile_adcirc_dp.pc: Windows makefile, double precision
makefile.non_pc: makefile for non-Windows platforms
makefile_adcprep.pc: Windows makefile for adcprep
makefile.pc: Windows makefile


vortex.F: analytical asymmetric hurricane wind model
constants.F: multiprecision constants
lsq.F: unconstrained linear least squares calculations
precision.F: cross platform precision definitions
owi22.F: create grid-specific unit 22 file from Ocean Weather Winds data
p15.F: create grid-specific unit 22 file from PBL wind data


build13.F: create unit 13 file for v46 from unit 12 amd 14 files from v42

ADCIRC contains options that can be specified at compile time using compiler flags as follows:

REAL4 - specifies that most real variables will be handled as REAL*4 (although coordinate related variables, elemental areas and elemental coefficients are always declared as REAL*8). The default is that all real variables are handled as REAL*8. This flag affects code precision and execution time.
CMPI - specifies that MPI library calls will be included in the code for parallelization. The default is no MPI calls.
CVEC - specifies that the code will be optimized for a vector computer. The default is off.
CSCA - specifies that the code will be optimized for a scalar computer. The default is off.
CMACHSUN - specifies that underflow statements that appear to be required to run on a SUN computers will be included in the code. The default is to not include these statements.

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