Skip to content

Commit

Permalink
v1.0 public release
Browse files Browse the repository at this point in the history
  • Loading branch information
zflamig committed Jul 30, 2016
1 parent 4ab0081 commit 7572888
Show file tree
Hide file tree
Showing 162 changed files with 21,303 additions and 0 deletions.
23 changes: 23 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
bin/*
*.o
build/*
*/build/*
*/*.xcodeproj/* !*.xcodeproj/project.pbxproj
*.xcodeproj
.svn

.DS_Store
profile

#Stuff for ignoring automake/autoconf files!
Makefile
*.m4
config.*
configure
*.in
missing
install-sh
depcomp
stamp-h1
*.cache/*
src/.*
699 changes: 699 additions & 0 deletions EF5/EF5.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

24 changes: 24 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
This is free and unencumbered software released into the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.

In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

For more information, please refer to <http://unlicense.org>
25 changes: 25 additions & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
AUTOMAKE_OPTIONS = subdir-objects
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS}

.rc.o:
$(WINDRES) src/ef5.rc -o $@
%.o : %.rc
$(WINDRES) src/ef5.rc -o $@

bin_PROGRAMS = $(top_builddir)/bin/ef5
unit_FILES = src/LAEAProjection.cpp src/GeographicProjection.cpp src/DistanceUnit.cpp src/TimeUnit.cpp src/DistancePerTimeUnits.cpp src/TimeVar.cpp
type_FILES = src/DatedName.cpp src/PETType.cpp src/PrecipType.cpp src/TempType.cpp src/GaugeMap.cpp
config_FILES = src/BasicConfigSection.cpp src/PrecipConfigSection.cpp src/PETConfigSection.cpp src/TempConfigSection.cpp src/GaugeConfigSection.cpp src/BasinConfigSection.cpp src/CaliParamConfigSection.cpp src/ParamSetConfigSection.cpp src/RoutingCaliParamConfigSection.cpp src/RoutingParamSetConfigSection.cpp src/TaskConfigSection.cpp src/EnsTaskConfigSection.cpp src/ExecuteConfigSection.cpp src/Config.cpp src/SnowCaliParamConfigSection.cpp src/SnowParamSetConfigSection.cpp src/InundationCaliParamConfigSection.cpp src/InundationParamSetConfigSection.cpp
input_FILES = src/RPSkewness.cpp src/TimeSeries.cpp src/PETReader.cpp src/PrecipReader.cpp src/TempReader.cpp src/TifGrid.cpp src/BifGrid.cpp src/AscGrid.cpp src/BasicGrids.cpp src/TRMMRTGrid.cpp src/MRMSGrid.cpp src/GridWriter.cpp src/GridWriterFull.cpp src/GriddedOutput.cpp
model_FILES = src/Model.cpp src/CRESTModel.cpp src/HyMOD.cpp src/SAC.cpp src/LinearRoute.cpp src/KinematicRoute.cpp src/ObjectiveFunc.cpp src/Simulator.cpp src/ARS.cpp src/DREAM.cpp src/dream_functions.cpp src/misc_functions.cpp src/Snow17Model.cpp src/HPModel.cpp src/SimpleInundation.cpp src/VCInundation.cpp
if WINDOWS
AM_CXXFLAGS= -Wall -mwindows ${OPENMP_CFLAGS} -fopenmp
__top_builddir__bin_ef5_SOURCES = $(unit_FILES) $(type_FILES) $(config_FILES) $(input_FILES) $(model_FILES) src/ExecutionController.cpp src/EF5Windows.cpp src/ef5.rc
else
AM_CXXFLAGS= -Wall -Werror ${OPENMP_CFLAGS}
__top_builddir__bin_ef5_SOURCES = $(unit_FILES) $(type_FILES) $(config_FILES) $(input_FILES) $(model_FILES) src/ExecutionController.cpp src/EF5.cpp src/DEMProcessor.cpp
endif
__top_builddir__bin_ef5_LDADD=-ltiff -lgeotiff -lz -lgomp

EXTRA_PROGRAMS = $(top_builddir)/bin/kwtest
__top_builddir__bin_kwtest_SOURCES = $(unit_FILES) $(type_FILES) $(config_FILES) $(input_FILES) $(model_FILES) src/KWTest.cpp
57 changes: 57 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Ensemble Framework For Flash Flood Forecasting (EF5)

EF5 was created by the Hydrometeorology and Remote Sensing Laboratory at the University of Oklahoma.
The goal of EF5 is to have a framework for distributed hydrologic modeling that is user friendly, adaptable, expandable, all while being suitable for large scale (e.g. continental scale) modeling of flash floods with rapid forecast updates. Currently EF5 incorporates 3 water balance models including the Sacramento Soil Moisture Accouning Model (SAC-SMA), Coupled Routing and Excess Storage (CREST), and hydrophobic (HP). These water balance models can be coupled with either linear reservoir or kinematic wave routing.

## Learn More

EF5 has a homepage at [http://ef5.ou.edu](http://ef5.ou.edu). The training modules are found at [http://ef5.ou.edu/training/](http://ef5.ou.edu/training/) while the YouTube videos may be found at [https://www.youtube.com/channel/UCgoGJtdeqHgwoYIRhkgMwog](https://www.youtube.com/channel/UCgoGJtdeqHgwoYIRhkgMwog). The source code is found on GitHub at [https://github.com/HyDROSLab/EF5](https://github.com/HyDROSLab/EF5).

See [manual.html](manual.html) for the EF5 operating manual which describes configuration options.

## Compiling

### Linux

Clone the source code from GitHub.
1. autoreconf --force --install
2. ./configure

This sets up the system, if you have a path where you would like to install the files then use ./configure --prefix=/path/to/someplace

3. make
This compiles the EF5 application!

### OS X

Clone the source code from GitHub. Use the EF5 Xcode project found in the EF5 folder and compile the project.

### Windows

Currently cross-compiling from Linux is the recommended way of generating Windows binaries.

Clone the source code from GitHub.

1. autoreconf --force --install
2. For 32-bit Windows installations use ./configure --host=i686-w64-mingw32

For 64-bit Windows installations use ./configure --host=x86_64-w64-mingw32

3. make

This compiles the EF5 application!

## Contributors

The following people are acknowledged for their contributions to the creation of EF5.

Zac Flamig

Humberto Vergara

Race Clark

JJ Gourley

Yang Hong

9 changes: 9 additions & 0 deletions compile_trmm_tools.csh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/csh

g++ -O3 -o bin/TRMMRTClip src/TRMMRTClip.cpp src/TRMMRTGrid.cpp src/AscGrid.cpp -lz
g++ -O3 -o bin/TRMMDClip src/TRMMDClip.cpp src/TRMMDGrid.cpp src/AscGrid.cpp -lz
g++ -O3 -o bin/TRMMV6Clip src/TRMMV6Clip.cpp src/TRMMV6Grid.cpp src/AscGrid.cpp /usr/lib64/hdf/libmfhdf.a /usr/lib64/hdf/libdf.a -lz -ljpeg
g++ -O3 -o bin/BIFClip src/BIFClip.cpp src/BifGrid.cpp src/AscGrid.cpp
g++ -O3 -o bin/MRMSConvert src/MRMSConvert.cpp src/TifGrid.cpp src/MRMSGrid.cpp -lz -ltiff -lgeotiff
g++ -g -O3 -o bin/MRMSSum src/MRMSSum.cpp src/TifGrid.cpp src/MRMSGrid.cpp -lz -ltiff -lgeotiff
g++ -g -O3 -o bin/ComputeRP src/ComputeRP.cpp src/TifGrid.cpp -lz -ltiff -lgeotiff
53 changes: 53 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
AC_INIT([Ensemble Framework For Flash Flood Forecasting], [0.1], [[email protected]],
[ef5], [http://hydro.ou.edu/])
AC_PREREQ([2.62])
AC_PROG_CXX
AC_OPENMP
AC_SUBST(OPENMP_CFLAGS)

AC_CANONICAL_HOST
case $host_os in
*mingw*)
CFLAGS="$CFLAGS -static -static-libgcc -I/usr/local/include"
CXXFLAGS="$CXXFLAGS -static -static-libgcc -I/usr/local/include"
LDFLAGS="$LDFLAGS -static -static-libgcc -L/usr/local/lib"
WINDOWS=yes
AC_CHECK_TOOL(WINDRES, windres, no)
;;
*)
;;
esac
AM_CONDITIONAL(WINDOWS, test x$WINDOWS = xyes)
#AC_CHECK_LIB([z], [gzread], [],[
# echo "z library is required for this EF5"
# exit -1])
#AC_CHECK_LIB([tiff], [TIFFReadScanline], [],[
# echo "Tiff library is required for this EF5"
# exit -1])
#AC_CHECK_LIB([geotiff], [GTIFNew], [],[
# echo "GeoTiff library is required for this EF5"
# exit -1])
#if test x$WINDOWS != xyes; then
#AC_CHECK_LIB([gomp], [omp_get_wtime], [],[
# echo "gomp library is required for this EF5"
# exit -1])
#fi;
LIBS=-lz -ltiff -lgeotiff
AC_CHECK_HEADERS(xtiffio.h)
AC_CHECK_HEADERS(geotiff/xtiffio.h)
AC_CHECK_HEADERS(libgeotiff/xtiffio.h)
if test x"$ac_cv_header_geotiff_xtiffio_h" = x"yes"; then
CPPFLAGS="-I/usr/include/geotiff";
else
if test x"$ac_cv_header_libgeotiff_xtiffio_h" = x"yes"; then
CPPFLAGS="-I/usr/include/libgeotiff";
else
if test x"$ac_cv_header_xtiffio_h" != x"yes"; then
AC_MSG_ERROR([xtiffio.h header not found]);
fi;
fi;
fi;
AM_INIT_AUTOMAKE([1.9.6 -Wall -Werror no-define foreign])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
Binary file added ef5.ico
Binary file not shown.
Loading

0 comments on commit 7572888

Please sign in to comment.