From 634a98dad3e02c24c46bfa87c54edf7d126d98fc Mon Sep 17 00:00:00 2001 From: Callahan Stormer <33109142+CallStormer@users.noreply.github.com> Date: Tue, 23 Jul 2024 09:53:32 -0700 Subject: [PATCH] Initial commit with Fixes --- CMakeLists.txt | 14 + src/Headers/Inclusions.h | 18 +- src/Headers/globalFns.h | 6 +- src/Mathutil/mathutil.h | 12 +- src/tArray/tArray.h | 12 +- src/tCNode/tCNode.h | 12 +- src/tFlowNet/tFlowResults.h | 6 +- src/tInOut/tInputFile.h | 12 +- src/tList/tList.h | 6 +- src/tMesh/tMesh.cpp | 8 +- src/tMesh/tTriangulator.h | 12 +- src/tMeshElements/meshElements.h | 6 +- src/tRasTin/tInvariant.h | 4 +- src/tSimulator/tControl.h | 6 +- src/tSimulator/tRunTimer.h | 12 +- src/utilities/InitialGW.cpp | 388 ++++++++++++------------- src/utilities/RainInputCheck.cpp | 6 +- src/utilities/RunsTracker.cpp | 6 +- tests/tHydroTests/tHydroModelTests.cpp | 11 +- 19 files changed, 290 insertions(+), 267 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8dd6d9d..8a70d3e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -155,6 +155,7 @@ if(parallel) src/tSimulator/tSimul.h src/tStorm/tStorm.cpp src/tStorm/tStorm.h + ${exe} PUBLIC tests/tHydroTests/ThydroModelTests.cpp ) else() @@ -270,6 +271,7 @@ else() src/tSimulator/tSimul.h src/tStorm/tStorm.cpp src/tStorm/tStorm.h + tests/tHydroTests/ThydroModelTests.cpp ) endif() @@ -307,4 +309,16 @@ endif () enable_testing () +add_executable( + tHydroTests + ${PROJECT_SOURCE_DIR}/tests/tHydrotests/THydroModelTests.cpp +) +target_link_libraries( + tHydroTests + GTest::gtest_main +) + +include(GoogleTest) +gtest_discover_tests(tHydroTests) + add_subdirectory(tests) diff --git a/src/Headers/Inclusions.h b/src/Headers/Inclusions.h index 6bc0b8b..8a374ed 100644 --- a/src/Headers/Inclusions.h +++ b/src/Headers/Inclusions.h @@ -25,9 +25,9 @@ #include #include #include -#include -#include -#include +#include +#include +#include #include #include #include @@ -64,9 +64,9 @@ #include #include #include -#include -#include -#include +#include +#include +#include #include #include #include @@ -76,9 +76,9 @@ #include #include #include -#include -#include -#include +#include +#include +#include #include #include #include diff --git a/src/Headers/globalFns.h b/src/Headers/globalFns.h index 6bcd618..b0147ed 100644 --- a/src/Headers/globalFns.h +++ b/src/Headers/globalFns.h @@ -32,7 +32,7 @@ #include "src/tArray/tMatrix.h" #ifdef ALPHA_64 - #include + #include #include #elif defined LINUX_32 //TODO update to LINUX #include @@ -43,10 +43,10 @@ #include #elif defined WIN - #include + #include #include #else - #include + #include #include #endif diff --git a/src/Mathutil/mathutil.h b/src/Mathutil/mathutil.h index fadf28a..9ba4e7c 100644 --- a/src/Mathutil/mathutil.h +++ b/src/Mathutil/mathutil.h @@ -23,8 +23,8 @@ #ifdef ALPHA_64 #include - #include - #include + #include + #include #include #elif defined LINUX_32 #include @@ -42,13 +42,13 @@ #include #elif defined WIN #include - #include - #include + #include + #include #include #else #include - #include - #include + #include + #include #include #endif diff --git a/src/tArray/tArray.h b/src/tArray/tArray.h index ffce654..be61e81 100644 --- a/src/tArray/tArray.h +++ b/src/tArray/tArray.h @@ -27,8 +27,8 @@ #ifdef ALPHA_64 - #include - #include + #include + #include #include #elif defined LINUX_32 #include @@ -39,12 +39,12 @@ #include #include #elif defined WIN - #include - #include + #include + #include #include #else - #include - #include + #include + #include #include #endif diff --git a/src/tCNode/tCNode.h b/src/tCNode/tCNode.h index c5e0139..3ac027f 100644 --- a/src/tCNode/tCNode.h +++ b/src/tCNode/tCNode.h @@ -36,8 +36,8 @@ #include //SMM - added 09232008 #ifdef ALPHA_64 - #include - #include + #include + #include #include #include #elif defined LINUX_32 @@ -53,13 +53,13 @@ #include #elif defined WIN - #include - #include + #include + #include #include #include #else - #include - #include + #include + #include #include #include #endif diff --git a/src/tFlowNet/tFlowResults.h b/src/tFlowNet/tFlowResults.h index 6cc175c..454bd96 100644 --- a/src/tFlowNet/tFlowResults.h +++ b/src/tFlowNet/tFlowResults.h @@ -38,7 +38,7 @@ #include #include #include - #include + #include #include #elif defined LINUX_32 #include @@ -58,13 +58,13 @@ #include #include #include - #include + #include #include #else #include #include #include - #include + #include #include #endif diff --git a/src/tInOut/tInputFile.h b/src/tInOut/tInputFile.h index 3bacd4d..f28e74a 100644 --- a/src/tInOut/tInputFile.h +++ b/src/tInOut/tInputFile.h @@ -32,8 +32,8 @@ #include "src/Headers/Classes.h" #ifdef ALPHA_64 - #include - #include + #include + #include #include #include #include @@ -50,14 +50,14 @@ #include #include #elif defined WIN - #include - #include + #include + #include #include #include #include #else - #include - #include + #include + #include #include #include #include diff --git a/src/tList/tList.h b/src/tList/tList.h index 284a6f1..c619802 100644 --- a/src/tList/tList.h +++ b/src/tList/tList.h @@ -35,7 +35,7 @@ #include "src/Headers/Classes.h" #ifdef ALPHA_64 - #include + #include #include #elif defined LINUX_32 #include @@ -44,10 +44,10 @@ #include #include #elif defined WIN - #include + #include #include #else - #include + #include #include #endif diff --git a/src/tMesh/tMesh.cpp b/src/tMesh/tMesh.cpp index 14164b5..2f318d9 100644 --- a/src/tMesh/tMesh.cpp +++ b/src/tMesh/tMesh.cpp @@ -2408,6 +2408,8 @@ MakeRandomPointsFromArcGrid( tInputFile &infile ) zinterp; // interp'd elev. double mindist; double delx, dely, dist; + void srand48(); + void drand48(); tSubNode tempnode( infile ), // temporary node used in creating new pts *stp1, *stp2, *stp3; // supertriangle vertices @@ -2500,14 +2502,14 @@ MakeRandomPointsFromArcGrid( tInputFile &infile ) // Read and initialize seed for random number generation seed = infile.ReadItem( seed, "SEED" ); - srand48( seed ); + srand( seed ); numpts = numcols * numrows; tempnode.setBoundaryFlag( kNonBoundary ); mindist = delgrid / 10.0; for( i=0; i - #include + #include #include #include #include - #include + #include #elif defined LINUX_32 #include #include @@ -48,18 +48,18 @@ #elif defined WIN #include - #include + #include #include #include #include - #include + #include #else #include - #include + #include #include #include #include - #include + #include #endif using namespace std; diff --git a/src/tMeshElements/meshElements.h b/src/tMeshElements/meshElements.h index e19138d..d5b3c9e 100644 --- a/src/tMeshElements/meshElements.h +++ b/src/tMeshElements/meshElements.h @@ -57,7 +57,7 @@ #include "src/Headers/globalFns.h" #ifdef ALPHA_64 - #include + #include #include #elif defined LINUX_32 #include @@ -66,10 +66,10 @@ #include #include #elif defined WIN - #include + #include #include #else - #include + #include #include #endif diff --git a/src/tRasTin/tInvariant.h b/src/tRasTin/tInvariant.h index 41e1396..2857ede 100644 --- a/src/tRasTin/tInvariant.h +++ b/src/tRasTin/tInvariant.h @@ -21,8 +21,8 @@ #define TINVARIANT_H #include "src/Headers/Inclusions.h" +#include -using namespace std; class SoilType; class LandType; @@ -56,7 +56,7 @@ class GenericSoilData // WR debug convert read grid flow to use smart pointes // Define a typedef for convenience using CharArrayPtr = std::unique_ptr; - + // Create vectors of unique_ptr to manage your character arrays vector SCgridParamNames; vector SCgridBaseNames; diff --git a/src/tSimulator/tControl.h b/src/tSimulator/tControl.h index 4346c7a..1d7b490 100644 --- a/src/tSimulator/tControl.h +++ b/src/tSimulator/tControl.h @@ -31,7 +31,7 @@ #ifdef ALPHA_64 - #include + #include #include #include #elif defined LINUX_32 @@ -45,11 +45,11 @@ #include #elif defined WIN - #include + #include #include #include #else - #include + #include #include #include #endif diff --git a/src/tSimulator/tRunTimer.h b/src/tSimulator/tRunTimer.h index 6f22876..b8b3100 100644 --- a/src/tSimulator/tRunTimer.h +++ b/src/tSimulator/tRunTimer.h @@ -33,8 +33,8 @@ #include "src/tInOut/tInputFile.h" #ifdef ALPHA_64 - #include - #include + #include + #include #include #include #include @@ -56,15 +56,15 @@ #include #elif defined WIN - #include - #include + #include + #include #include #include #include #include #else - #include - #include + #include + #include #include #include #include diff --git a/src/utilities/InitialGW.cpp b/src/utilities/InitialGW.cpp index 3866d2e..96c0f7f 100644 --- a/src/utilities/InitialGW.cpp +++ b/src/utilities/InitialGW.cpp @@ -42,9 +42,9 @@ ** ------------- ----------------- ***************************************************************************/ -#include -#include -#include +#include +#include +#include #include #include #include @@ -106,57 +106,57 @@ int main(int argc, char *argv[]){ double cellsize, nodata; char *names[5]; - cout<<"\n-----------------------------------------------------------------" + std::cout<<"\n-----------------------------------------------------------------" <<"-------"; - cout<<"\n\n\t\t tRIBS -- Version 1.0"; - cout<<"\n\t\t tRIBS Model: InitialGW Utility"; - cout<<"\n\t\t Ralph M. Parsons Laboratory"; - cout<<"\n\t\t Massachusetts Institute of Technology"; - cout<<"\n\n\t\t Release, 9/2001 \n\n"; - cout<<"-----------------------------------------------------------------" - <<"-------"<> namos; names[i] = new char [strlen(namos) + 1]; strcpy(names[i], namos); if(i == 0) - cout<<"DEM Grid: \t\t\t"<> SMOO; Inp0 >> Zav; - cout<<"Basin Area: \t\t\t"<< AREA << endl; - cout<<"Baseflow: \t\t\t" << BASEF << endl; - cout<<"Baseflow Zero: \t\t\t" << BASEF_0 << endl; - cout<<"Threshold pixels: \t\t" << POROG << endl; - cout<<"Moving Average Window: \t\t" << MA << endl; - cout<<"Average Depth to WT: \t\t"<> head >> ncols; Inp1 >> head >> nrows; @@ -228,47 +228,47 @@ int main(int argc, char *argv[]){ DUMM = (int)nodata; //Write header information to each output ASCII grid - Otp << "ncols "<> head >> ncols; Inp2 >> head >> nrows; @@ -286,7 +286,7 @@ int main(int argc, char *argv[]){ Inp2 >> head >> nodata; //Read Flow Directions file - cout<<"Reading Flow Directions file header..."<> head >> ncols; Inp3 >> head >> nrows; @@ -296,18 +296,18 @@ int main(int argc, char *argv[]){ Inp3 >> head >> nodata; //Read in soil parameters and output to screen - cout<<"Reading Basin Averaged Soil Properties..."<> NS >> NM; Inp4 >> ID >> K0z >> SAT >> RESID >> POREIND >> PSIB; Inp4 >> F >> AR >> UAR >> POROS >> KS >> CS; - cout <<"\nSoil types: \t\t"<> dem[i][j]; @@ -455,28 +455,28 @@ int main(int argc, char *argv[]){ // --- Cross-checking validity of input files --- // --- DEM and Flow Accumulations have equal valid pixels --- if((area[i][j]!=DUMM && dem[i][j]==DUMM) || (area[i][j]==DUMM && dem[i][j]!=DUMM)){ - cout<<"\nWarning: In row " << i <<" the Flow Accum mismatched with DEM"<8 || ptr[i][j]<1) && dem[i][j]!=DUMM){ - cout<<"\nWarning: In row " << i <<" the Flow Dir contains incorrect values"< 0) @@ -584,13 +584,13 @@ int main(int argc, char *argv[]){ stds[i] = -1; // --- Print out mean and std histograms --- - Otp3< DUMM) { @@ -752,21 +752,21 @@ int main(int argc, char *argv[]){ Otp5< POROG & Nwt < 0): "< left "< POROG & Nwt < 0): "< left "<= 32000.) { GWTabs[i][j] += GWT[i][j]/1000. - 32.; // Meters GWT[i][j] = 32000.; - cout <<"\nWarning: Pixel with Nwt > 32000mm\tNwt assigned to 32000 mm"; + std::cout <<"\nWarning: Pixel with Nwt > 32000mm\tNwt assigned to 32000 mm"; } Otp6 << GWTabs[i][j] <<" "; Otp7 << GWT[i][j]/FACTOR <<" "; @@ -806,40 +806,40 @@ int main(int argc, char *argv[]){ Otp6 << GWTabs[i][j] <<" "; } } - Otp6 << endl; - Otp7 << endl; + Otp6 << std::endl; + Otp7 << std::endl; } Zav /= cnt; Zava = Zav; // --- Printing summary results to screen --- - cout<<"\n\nSummary results:"< POROG & Nwt < 0): "< POROG & Nwt < 0): "< -#include -#include +#include +#include +#include #include #include #include diff --git a/src/utilities/RunsTracker.cpp b/src/utilities/RunsTracker.cpp index cb52b05..038fc77 100644 --- a/src/utilities/RunsTracker.cpp +++ b/src/utilities/RunsTracker.cpp @@ -37,9 +37,9 @@ // //========================================================================= -#include -#include -#include +#include +#include +#include #include #include #include diff --git a/tests/tHydroTests/tHydroModelTests.cpp b/tests/tHydroTests/tHydroModelTests.cpp index ba296b7..d0e0576 100644 --- a/tests/tHydroTests/tHydroModelTests.cpp +++ b/tests/tHydroTests/tHydroModelTests.cpp @@ -1,2 +1,9 @@ -#include -#include \ No newline at end of file +#include "src/tHydro/tHydroModel.h" +#include + +TEST(HelloTest, BasicAssertions) { + // Expect two strings not to be equal. + EXPECT_STRNE("hello", "world"); + // Expect equality. + EXPECT_EQ(7 * 6, 42); +} \ No newline at end of file