diff --git a/src/Utils.H b/src/Utils.H index fbaaef3..6ce895b 100644 --- a/src/Utils.H +++ b/src/Utils.H @@ -94,8 +94,13 @@ struct ICType { /*! \brief Namespace with utility functions */ namespace Utils { +/*! \brief Read in test parameters in #ExaEpi::TestParams from input file */ void getTestParams(ExaEpi::TestParams& params, const std::string& prefix); -} + +/*! \brief returns whether day i is a work day */ +bool isWorkday(int i); + +} // namespace Utils } // namespace ExaEpi #endif diff --git a/src/Utils.cpp b/src/Utils.cpp index ee38958..bc93f73 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp @@ -19,7 +19,6 @@ using namespace amrex; using namespace ExaEpi; -/*! \brief Read in test parameters in #ExaEpi::TestParams from input file */ void ExaEpi::Utils::getTestParams (TestParams& params, /*!< Test parameters */ const std::string& prefix /*!< ParmParse prefix */) { ParmParse pp(prefix); @@ -83,3 +82,8 @@ void ExaEpi::Utils::getTestParams (TestParams& params, /*!< Test parameters */ pp.query("fast", params.fast); } + +bool ExaEpi::Utils::isWorkday (int i) { + // right now we work on days 0-4, rest on 5-6 + return ((i % 7) < 5); +} diff --git a/src/main.cpp b/src/main.cpp index 3b8a7bd..4bdb5ba 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -496,10 +496,13 @@ void runAgent () { pc.moveAirTravel(censusData.unit_mf, air, censusData.demo); } - // Typical day - pc.morningCommute(mask_behavior); - pc.interactDay(mask_behavior); - pc.eveningCommute(mask_behavior); + // Process daytime / nighttime interactions. + // Only do daytime interactions on weekdays + if (ExaEpi::Utils::isWorkday(i)) { + pc.morningCommute(mask_behavior); + pc.interactDay(mask_behavior); + pc.eveningCommute(mask_behavior); + } pc.interactEvening(mask_behavior); pc.interactNight(mask_behavior);