#ifndef HYDRONETMODEL_H #define HYDRONETMODEL_H #include #include #include #include #include #include #include "DInfinityMap.h" using namespace openworld; class HydroNetModel { protected: DividedRange latitudes; DividedRange longitudes; // Inputs HydroNet* net; HydroOutputNode* out; PartialConfidenceTemporalGeographicMap* precipitation; PartialConfidenceTemporalGeographicMap* surfaceTemp; TemporalGeographicMap* snowCover; double precipCoefficient; double meltCoefficient; // Results (evaluated at time = now) Measure now; public: HydroNetModel(DividedRange latitudes, DividedRange longitudes, double precipCoefficient, double meltCoefficient); void setup(GeographicMap* mask_coarse, GeographicMap* mask_fine, GeographicMap* slope_fine, DInfinityMap* direction_fine); void setPrecipitation(PartialConfidenceTemporalGeographicMap* precipitation); void setTemperature(PartialConfidenceTemporalGeographicMap* surfaceTemp); void setSnowCover(TemporalGeographicMap* snowCover); void runTo(time_t time); void stepDay(); list getOutFlows(); }; #endif