Friday, March 18, 2016

ADCIRC Error Solution

Question: I am running ADCIRC and am continually getting the **ERROR: Elevation.gt.ErrorElev, ADCIRC stopping**

The main issue with the "Elevation.gt.ErrorElev.ADCIRC stopping" message is that the model is becoming unstable. Instability in a model can be caused by many different factors. It could be due to poor elevation interpolation but there can also be many other factors, like the bathymetry data. In the past, we have had success using LTEA to generate the mesh, running shorter simulations and experimenting with the values of the Tidal constituents and what your convergence criteria is.
For more information on LTEA, you can go to our wiki and our tutorial for ADCIRC LTEA Meshing. I would also recommend activating the 'Mesh Quality' option, so you can more easily visualize elements that may be creating problems for your model. Information on that can be found here.
(Source: Forum Aquaveo)

NFOVER = non-fatal error override option;

= 0, inconsistent input parameters will cause program termination.

= 1, inconsistent input parameters will, (when possible), be automatically corrected to a default or consistent value and execution continued. Be sure to read the nonfatal warning messages to see whether any parameters have been modified. Note that not all inconsistent parameters can be corrected automatically and therefore fatal error messages and program termination may still result.

Note for NFOVER:

Occasionally, the elevation solution becomes unphysically large due to improper numerical parameter settings, time step stability criteria violation.  It can be useful for ADCIRC to terminate based on a user-specific limit to the computed water elevation.   To enable this feature, ADCIRC must be compiled with the  DEBUG_WARN_ELEV compiler directive.  This is set in the cmplrflags.mk file.  For example, for the serial model,

DA            :=  -DREAL8 -DLINUX -DCSCA –DDEBUG_WARN_ELEV

and for the parallel model:

DP            :=  -DREAL8 -DLINUX -DCSCA -DCMPI -DDEBUG_WARN_ELEV

This enables extra parameters in the fort.15 file, specified on the NFOVER line:

NFOVER, WarnElev, iWarnElevDump, WarnElevDumpLimit, ErrorElev

ADCIRC then monitors the maximum water elevation and behaves as follows:

A warning is issued if the elevation exceeds WarnElev.

A global elevation file (written to fort.69) will be written if WarnElev is exceeded AND iWarnElevDump == 1

Execution will be terminated if WarnElevDumpLimit global elevation files have been written due to the above warning limits.

Execution will be terminated if elevation exceeds ErrorElev.

The default values are:

WarnElev = 20.0         ! Warn at 20 meters

iWarnElevDump = 0       ! Do not write global elevation files

WarnElevDumpLimit = 50  ! Terminate execution if the warning level is reached 50 times

ErrorElev = 1000.0      ! Terminate execution of the water elevation exceeds 1000 meters

Example: to override the defaults, recompile ADCIRC as above, and modify the NFOVER line in the fort.15 file:

1 10. 0 100 30.

This will cause ADCIRC to warn when the water elevation exceeds 10 meters, no global elevation files will be written, and ADCIRC will terminate if 100 warnings are generated OR the elevation exceeds 30 meters.

(Source: adcirc.org)


0 comments:

Post a Comment