Use of a one-dimensional grid to represent each NAPL sub-zone, with user-defined length, width, thickness, and average NAPL saturation (or depth-specific NAPL saturation calculations performed by the model for NAPL pools with a capillary pressure of zero at the top surface).

NDM simulates dissolution from the upgradient end of each sub-zone, and upgradient grid cells that become depleted in mass during a simulation are defined to be inactive for the remainder of the simulation. In this manner, the pool-scale declining NAPL-water interfacial area may be represented, as well as the corresponding influence on mass discharge associated with surface dissolution.

Option to apply through-discharge to the upgradient-most, active cell in a NAPL sub-zone, or uniformly to all cells within a NAPL sub-zone.

A user-defined multiplier which allows for simulation of surface discharge for none, one, or both the top and bottom surfaces of a NAPL sub-zone, or for simulating an accelerated specific discharge adjacent to the NAPL-water interface.

Option to make the start of surface and/or through discharge for a NAPL sub-zone to be dependent on the depletion of another zone (e.g. an upgradient sub-zone, or an overlying or underlying layer of NAPL).

Option for constant, exponential or linear decline models to represent the transient influence of intra-source bypassing and other rate-limited kinetics on the through-discharge with a NAPL sub-zone;

Quasi-2D representation of discharge through the transition zone in the upper portion of NAPL pools where the relative water permeability is sufficiently large to allow for significant mass discharge, and the NAPL saturation is optionally calculated at specific depths within the pool;

Enhanced dissolution corresponding to temporal changes in hydraulic gradient (e.g. at the start of pumping near a source zone), or an enhanced dissolution factor associated with in-situ remedies such as enhanced in-situ bioremediation (EISB) or in-situ chemical oxidation (ISCO).

Automated non-linear calibration of the β term in Md/Mdo = (M/Mo) for each sub-zone;

An adaptive time-stepping scheme to account for changing system dynamics when a sub-zone grid cell becomes inactive; and

Batch mode so that hundreds of simulations may be executed automatically. (A separate processor may be used to generate text input files and post-process output files for use with monte carlo or latin hypercube realizations.)