forked from CIMM-ORG/SWMM5plus
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.sh
More file actions
executable file
·117 lines (104 loc) · 4.13 KB
/
build.sh
File metadata and controls
executable file
·117 lines (104 loc) · 4.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#!/bin/bash
shopt -s extglob
# --------------------------------------------------------------------------------------
# source /opt/intel/oneapi/setvars.sh
. ./build_vars.sh
. ./build_dependencies.sh
# --------------------------------------------------------------------------------------
SOURCE_FILES="$JSON_DIR/json_kinds.F90\
$JSON_DIR/json_parameters.F90\
$JSON_DIR/json_string_utilities.F90\
$JSON_DIR/json_value_module.F90\
$JSON_DIR/json_file_module.F90\
$JSON_DIR/json_module.F90\
$UTIL_DIR/utility_string.f90\
$DEF_DIR/define_types.f90\
$DEF_DIR/define_api_keys.f90\
$DEF_DIR/define_globals.f90\
$DEF_DIR/define_keys.f90\
$DEF_DIR/define_settings.f90\
$DEF_DIR/define_indexes.f90\
$UTIL_DIR/utility_crash.f90\
$DEF_DIR/define_xsect_tables.f90\
$UTIL_DIR/utility.f90\
$UTIL_DIR/utility_datetime.f90\
$UTIL_DIR/utility_key_default.f90\
$API_DIR/c_library.f90\
$API_DIR/interface.f90\
$UTIL_DIR/utility_allocate.f90\
$UTIL_DIR/utility_deallocate.f90\
$UTIL_DIR/utility_profiler.f90\
$UTIL_DIR/utility_array.f90\
$UTIL_DIR/utility_debug.f90\
$OUT_DIR/output.f90\
$UTIL_DIR/utility_output.f90\
$UTIL_DIR/utility_interpolate.f90\
$UTIL_DIR/utility_files.f90\
$INIT_DIR/pack_mask_arrays.f90\
$INIT_DIR/discretization.f90\
$INIT_DIR/BIPquick.f90\
$INIT_DIR/partitioning.f90\
$INIT_DIR/network_define.f90\
$UTIL_DIR/utility_unit_testing.f90\
$TL_DIR/adjust.f90\
$TL_DIR/jump.f90\
$GEO_DIR/xsect_tables.f90\
$GEO_DIR/rectangular_channel.f90\
$GEO_DIR/rectangular_conduit.f90\
$GEO_DIR/trapezoidal_channel.f90\
$GEO_DIR/triangular_channel.f90\
$GEO_DIR/rectangular_triangular_conduit.f90\
$GEO_DIR/circular_conduit.f90\
$GEO_DIR/irregular_channel.f90\
$GEO_DIR/storage_geometry.f90
$GEO_DIR/geometry.f90\
$TL_DIR/common_elements.f90\
$TL_DIR/weir_elements.f90\
$TL_DIR/orifice_elements.f90\
$TL_DIR/outlet_elements.f90\
$TL_DIR/pump_elements.f90\
$TL_DIR/control_hydraulics.f90\
$TL_DIR/update.f90\
$TL_DIR/face.f90\
$TL_DIR/lowlevel_rk2.f90\
$TL_DIR/boundary_conditions.f90\
$TL_DIR/diagnostic_elements.f90\
$TL_DIR/runge_kutta2.f90\
$TL_DIR/hydrology.f90\
$TL_DIR/timeloop.f90\
$INIT_DIR/initial_condition.f90\
$INIT_DIR/initialization.f90\
$FIN_DIR/finalization.f90"
# --------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------
TEST_FILES=""
for i in $(find $TEST_DIR -name '*.f90')
do
fname=$(basename -- "$i")
fname="${fname%.*}"
if [[ $fname != _* ]] && [[ $fname != "main" ]]
then
TEST_FILES="$TEST_FILES $i"
fi
done
echo
echo Compiling SWMM5+ ...
echo
if [[ $compile_fortran = "true" ]]
then
ifort -coarray=distributed $SOURCE_FILES $TEST_FILES $MAIN_DIR/main.f90 -I/usr/local/hdf5/include \
-L/usr/local/hdf5/lib /usr/local/hdf5/lib/libhdf5hl_fortran.a /usr/local/hdf5/lib/libhdf5_hl.a \
/usr/local/hdf5/lib/libhdf5_fortran.a /usr/local/hdf5/lib/libhdf5.a -lm -Wl,-rpath -Wl,/usr/local/hdf5/lib -ldl -o SWMM
fi
echo
echo Clean Object files ...
echo
rm -rf *.o *.mod *.out
if [[ -d debug_input ]]; then rm -rf debug_input; fi
if [[ -d debug_output ]]; then rm -rf debug_output; fi
if [[ -d swmm5_output ]]; then rm -rf swmm5_output; fi
echo
echo Complete!
echo "To update number of processors in the system:"
echo "Please execute >>> source ~/.bashrc"
# source ~/.bashrc