All Projects → dsi-llc → EFDCPlus

dsi-llc / EFDCPlus

Licence: GPL-2.0 License
www.eemodelingsystem.com

Programming Languages

fortran
972 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to EFDCPlus

Amgcl
C++ library for solving large sparse linear systems with algebraic multigrid method
Stars: ✭ 390 (+4233.33%)
Mutual labels:  openmp, mpi, scientific-computing
yask
YASK--Yet Another Stencil Kit: a domain-specific language and framework to create high-performance stencil code for implementing finite-difference methods and similar applications.
Stars: ✭ 81 (+800%)
Mutual labels:  openmp, mpi, finite-difference-method
Edge
Extreme-scale Discontinuous Galerkin Environment (EDGE)
Stars: ✭ 18 (+100%)
Mutual labels:  openmp, mpi, scientific-computing
euler2d kokkos
Simple 2d finite volume solver for Euler equations using c++ kokkos library
Stars: ✭ 27 (+200%)
Mutual labels:  openmp, hydrodynamics
HeCBench
software.intel.com/content/www/us/en/develop/articles/repo-evaluating-performance-productivity-oneapi.html
Stars: ✭ 85 (+844.44%)
Mutual labels:  openmp, scientific-computing
Quickpic Opensource
Open source repository for QuickPIC
Stars: ✭ 55 (+511.11%)
Mutual labels:  openmp, mpi
Primecount
🚀 Fast prime counting function implementations
Stars: ✭ 193 (+2044.44%)
Mutual labels:  openmp, mpi
Training Material
A collection of code examples as well as presentations for training purposes
Stars: ✭ 85 (+844.44%)
Mutual labels:  openmp, mpi
Abyss
🔬 Assemble large genomes using short reads
Stars: ✭ 219 (+2333.33%)
Mutual labels:  openmp, mpi
libquo
Dynamic execution environments for coupled, thread-heterogeneous MPI+X applications
Stars: ✭ 21 (+133.33%)
Mutual labels:  openmp, mpi
analisis-numerico-computo-cientifico
Análisis numérico y cómputo científico
Stars: ✭ 42 (+366.67%)
Mutual labels:  openmp, mpi
Kratos
Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface.
Stars: ✭ 558 (+6100%)
Mutual labels:  openmp, mpi
John
John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs
Stars: ✭ 5,656 (+62744.44%)
Mutual labels:  openmp, mpi
Faasm
High-performance stateful serverless runtime based on WebAssembly
Stars: ✭ 403 (+4377.78%)
Mutual labels:  openmp, mpi
pystella
A code generator for grid-based PDE solving on CPUs and GPUs
Stars: ✭ 18 (+100%)
Mutual labels:  mpi, scientific-computing
Ytk Mp4j
Ytk-mp4j is a fast, user-friendly, cross-platform, multi-process, multi-thread collective message passing java library which includes gather, scatter, allgather, reduce-scatter, broadcast, reduce, allreduce communications for distributed machine learning.
Stars: ✭ 102 (+1033.33%)
Mutual labels:  openmp, mpi
Kernels
This is a set of simple programs that can be used to explore the features of a parallel platform.
Stars: ✭ 287 (+3088.89%)
Mutual labels:  openmp, mpi
Armadillo Code
Armadillo: fast C++ library for linear algebra & scientific computing - http://arma.sourceforge.net
Stars: ✭ 388 (+4211.11%)
Mutual labels:  openmp, scientific-computing
Foundations of HPC 2021
This repository collects the materials from the course "Foundations of HPC", 2021, at the Data Science and Scientific Computing Department, University of Trieste
Stars: ✭ 22 (+144.44%)
Mutual labels:  openmp, mpi
matrix multiplication
Parallel Matrix Multiplication Using OpenMP, Phtreads, and MPI
Stars: ✭ 41 (+355.56%)
Mutual labels:  openmp, mpi

EFDC+

Introduction

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

Getting Started

Linux

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.sh

Run 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 apt

Alternatively, 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.sh

Build EFDC

make -f Makefile
chmod -x efdc.x  # this allows the built file to be executed as a program.

Run EFDC

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


Windows

Contribute

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 [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].