The Eulerian–Lagrangian–Agent method (ELAM) couples three modelling approaches into a single, integrated simulation environment: (i) Eulerian descriptions, (ii) Lagrangian formulations, and (iii) agent reference frameworks. ELAMS are particularly effective at decoding and simulating the motion dynamics of individual aquatic organisms, using the output of high fidelity computational fluid dynamics (CFD) models to represent complex flow fields. Here we describe the application of an ELAM to design a juvenile fish passage facility at Wanapum Dam on the Columbia River in the United States. This application is composed of three parts: (1) an agent-based model, that simulates the movement decisions made by individual fish, (2) an Eulerian CFD model that solves the 3D Reynolds-averaged Navier–Stokes (RANS) equations with a standard k–ɛ turbulence model with wall functions using a multi-block structured mesh, and (3) a Lagrangian particle-tracker used to interpolate information from the Eulerian mesh to point locations needed by the agent model and to track the trajectory of each virtual fish in three dimensions. We discuss aspects of the computational mesh topology and other CFD modeling topics important to this and future applications of the ELAM model for juvenille salmon, the Numerical Fish Surrogate. The good match between forecasted (virtual) and measured (observed) fish passage proportions demonstrates the value-added benefit of using agent-based models (i.e. the Numerical Fish Surrogate model) as part of common engineering practice for fish passage design and, more fundamentally, to simulate complex ecological processes.