Environmental Fluid Dynamics Code (EFDC) is a multifunctional surface water modeling engine that includes hydrodynamic, sediment-contaminant, and eutrophication components designed to simulate aquatic systems in one, two, and three dimensions.
Over the years, DSI has continued developing EFDC and into what is now known as EFDC+. To learn more about different versions of EFDC, please visit A Review of EFDC Versions - EEMS Blog
After you Prepare your environment.
Execute the following:
git clone https://github.com/dsi-llc/EFDC_Plus.git
cd EFDC_Plus
chmod -x toolkit-setup.shRun the setup script and pass in your package manager parameter (ubuntu users would use apt).
If you want to be able to compile the code, use option -c.
If you just want to be able to run efdc, use option -r.
toolkit-setup.sh <-r or -c> <package manager name>
# example: toolkit-setup -r aptAlternatively, you can download and follow the installation steps from intel:
Intel OneApi Base Toolkit
Intel OneApi HPC Toolkit
Load the intel environment variables.
source /opt/intel/oneapi/setvars.shInstall NetCDF library (for Ubuntu users)
Run the command to update the package lists for upgrades for packages that need upgrading
sudo apt updateInstall hdf5 and hdf5-devel libraries using the command:
sudo apt install hdf5-tools hdf5-helpers libhdf5-dev libhdf5-doc libhdf5-serial-devInstall the libnetcdf-dev:
sudo apt install libnetcdf-devInstall m4 package:
sudo apt-get install m4Download netcdf-fortran-4.5.2 from the website https://github.com/Unidata/netcdf-fortran/releases/tag/v4.5.2
Go to the netcdf-fortran-4.5.2 folder and create config-intel.sh as the following:
export FC=mpiifort
export F77=mpiifort
export F90=mpiifort
./configureRun config.sh
./config.shBuild NetCDF-Foxtran
Go to the NetCDF-Fortran source code folder and run the following commands
make check
make installRun the below command for checking whether NetCDF and NetCDF-Foxtran are installed propertly or not
nc-config --allAdd the DNCOUT flag to the FFLAGS section in the makefile for supporting NetCDF
make -f Makefile
chmod -x efdc.x # this allows the built file to be executed as a program.The run command structure is
cd /path/to/project
mpiexec -n <number of nodes> path/to/efdc.x -NT<number of omp threads>An example of a run command for a model with 4 mpi domains, running with 6 omp threads per domain (24 cpu cores total) would look like:
mpiexec -n 4 ~/code/efdc/efdc.x -NT6
-
Install Visual Studio:
Visual Studio Downloads -
Install the Intel Toolkits:
Intel OneApi Base Toolkit
Intel OneApi HPC Toolkit -
Clone the EFDC_Plus repository: https://github.com/dsi-llc/EFDC_Plus.git
-
Open the .sln file at the root of the repository.
The open source availability of this code will make it easier for scientists, researchers, and developers to contribute to the code and build more trust in their models. We welcome all the opportunities to collaborate. If you would like to contribute to the source code development, please clone the repository and submit pull requests as needed. For more active contribution and role, please email admin@ds-intl.biz