{"action":"created","comment":{"url":"https://api.github.com/repos/NREL/EnergyPlus/pulls/comments/200530806","pull_request_review_id":134865839,"id":200530806,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwMDUzMDgwNg==","diff_hunk":"@@ -123,159 +125,113 @@ namespace HeatPumpWaterToWaterSimple {\n     int NumGSHPs(0); // Number of GSHPs specified in input\n     namespace {\n         bool GetInputFlag(true); // then TRUE, calls subroutine to read input file.\n-        bool InitWatertoWaterHPOneTimeFlag(true);\n-    } // namespace\n+    }                            // namespace\n \n     // Object Data\n     Array1D<GshpSpecs> GSHP;\n-    Array1D<ReportVars> GSHPReport;\n     std::unordered_map<std::string, std::string> HeatPumpWaterUniqueNames;\n \n-    void clear_state()\n+    void GshpSpecs::clear_state()\n     {\n         NumGSHPs = 0;\n         GetInputFlag = true;\n-        InitWatertoWaterHPOneTimeFlag = true;\n         HeatPumpWaterUniqueNames.clear();\n         GSHP.deallocate();\n-        GSHPReport.deallocate();\n     }\n \n-    void SimHPWatertoWaterSimple(std::string const &GSHPType, // Type of GSHP\n-                                 int const GSHPTypeNum,       // Type of GSHP in Plant equipment\n-                                 std::string const &GSHPName, // User Specified Name of GSHP\n-                                 int &CompIndex,              // Index of Equipment\n-                                 bool const FirstHVACIteration,\n-                                 bool &InitLoopEquip,      // If not zero, calculate the max load for operating conditions\n-                                 Real64 const MyLoad,      // Loop demand component will meet\n-                                 Real64 &MaxCap,           // Maximum operating capacity of GSHP [W]\n-                                 Real64 &MinCap,           // Minimum operating capacity of GSHP [W]\n-                                 Real64 &OptCap,           // Optimal operating capacity of GSHP [W]\n-                                 int const LoopNum,        // The calling loop number\n-                                 bool const getCompSizFac, // true if calling to get component sizing factor\n-                                 Real64 &sizingFac         // component level sizing factor\n-    )\n+    PlantComponent *GshpSpecs::factory(int wwhp_type, std::string eir_wwhp_name)\n     {\n-        // SUBROUTINE INFORMATION:\n-        //       AUTHOR         Kenneth Tang\n-        //       DATE WRITTEN   March 2005\n-        //       MODIFIED\n-        //       RE-ENGINEERED  na\n-\n-        // PURPOSE OF THIS SUBROUTINE:\n-        // This subroutine manages Water-to-Water Heat Pump Simple (Equation-Fit Model)\n-\n-        // Get input from IDF\n         if (GetInputFlag) {\n-            GetWatertoWaterHPInput();\n+            GshpSpecs::GetWatertoWaterHPInput();\n             GetInputFlag = false;\n         }\n \n-        int GSHPNum(0);\n-        if (CompIndex == 0) {\n-            GSHPNum = UtilityRoutines::FindItemInList(GSHPName, GSHP);\n-            if (GSHPNum == 0) {\n-                ShowFatalError(\"SimHPWatertoWaterSimple: Specified heat pump not one of valid heat pumps. Heat pump = \" + GSHPName);\n-            }\n-            CompIndex = GSHPNum;\n-        } else {\n-            GSHPNum = CompIndex;\n-            if (GSHPNum > NumGSHPs || GSHPNum < 1) {\n-                ShowFatalError(\"SimHPWatertoWaterSimple: Invalide component index pass = \" + General::TrimSigDigits(GSHPNum) +\n-                               \", number of units = \" + General::TrimSigDigits(NumGSHPs) + \", entered unit name=\" + GSHPName);\n-            }\n-            if (GSHP(GSHPNum).checkEquipName) {\n-                if (GSHPName != GSHP(GSHPNum).Name) {\n-                    ShowFatalError(\"SimHPWatertoWaterSimple: Invalid CompIndex passed=\" + General::TrimSigDigits(GSHPNum) +\n-                                   \", Unit name=\" + GSHPName + \", stored Unit Name for that index=\" + GSHP(GSHPNum).Name);\n-                }\n-                GSHP(GSHPNum).checkEquipName = false;\n+        for (auto &wwhp : GSHP) {\n+            if (wwhp.Name == eir_wwhp_name && wwhp.WWHPPlantTypeOfNum == wwhp_type) {\n+                return &wwhp;\n             }\n         }\n \n-        if (InitLoopEquip) {\n-            InitWatertoWaterHP(GSHPTypeNum, GSHPName, GSHPNum, FirstHVACIteration, MyLoad);\n-            if (LoopNum == GSHP(GSHPNum).LoadLoopNum) {\n-                if (GSHPTypeNum == DataPlant::TypeOf_HPWaterEFCooling) {\n-                    sizeCoolingWaterToWaterHP(GSHPNum);\n-                    MinCap = 0.0;\n-                    MaxCap = GSHP(GSHPNum).RatedCapCool;\n-                    OptCap = GSHP(GSHPNum).RatedCapCool;\n-                } else if (GSHPTypeNum == DataPlant::TypeOf_HPWaterEFHeating) {\n-                    sizeHeatingWaterToWaterHP(GSHPNum);\n-                    MinCap = 0.0;\n-                    MaxCap = GSHP(GSHPNum).RatedCapHeat;\n-                    OptCap = GSHP(GSHPNum).RatedCapHeat;\n-                } else {\n-                    ShowFatalError(\"SimHPWatertoWaterSimple: Module called with incorrect GSHPType=\" + GSHPType);\n-                }\n-            } else {\n-                MinCap = 0.0;\n-                MaxCap = 0.0;\n-                OptCap = 0.0;\n-            }\n-            if (getCompSizFac) {\n-                sizingFac = GSHP(GSHPNum).sizFac;\n-            }\n-\n-            return;\n-        }\n+        ShowFatalError(\"EquationFit_WWHP factory: Error getting inputs for wwhp named: \" + eir_wwhp_name);\n+        return nullptr;\n+    }\n \n-        if (GSHPTypeNum == DataPlant::TypeOf_HPWaterEFCooling) {\n-            if (GSHPNum != 0) {\n-                if (LoopNum == GSHP(GSHPNum).LoadLoopNum) { // chilled water loop\n-\n-                    InitWatertoWaterHP(GSHPTypeNum, GSHPName, GSHPNum, FirstHVACIteration, MyLoad);\n-                    CalcWatertoWaterHPCooling(GSHPNum, MyLoad);\n-                    UpdateGSHPRecords(GSHPNum);\n-\n-                } else if (LoopNum == GSHP(GSHPNum).SourceLoopNum) { // condenser loop\n-                    PlantUtilities::UpdateChillerComponentCondenserSide(GSHP(GSHPNum).SourceLoopNum,\n-                                                                        GSHP(GSHPNum).SourceLoopSideNum,\n-                                                                        DataPlant::TypeOf_HPWaterEFCooling,\n-                                                                        GSHP(GSHPNum).SourceSideInletNodeNum,\n-                                                                        GSHP(GSHPNum).SourceSideOutletNodeNum,\n-                                                                        GSHPReport(GSHPNum).QSource,\n-                                                                        GSHPReport(GSHPNum).SourceSideInletTemp,\n-                                                                        GSHPReport(GSHPNum).SourceSideOutletTemp,\n-                                                                        GSHPReport(GSHPNum).SourceSideMassFlowRate,\n-                                                                        FirstHVACIteration);\n-                } else {\n-                    ShowFatalError(\"SimHPWatertoWaterSimple:: Invalid loop connection \" + HPEqFitCooling + \", Requested Unit=\" + GSHPName);\n-                }\n+    void GshpSpecs::simulate(const PlantLocation &calledFromLocation, bool const FirstHVACIteration, Real64 &CurLoad, bool const EP_UNUSED(RunFlag))\n+    {\n+        if (this->WWHPPlantTypeOfNum == DataPlant::TypeOf_HPWaterEFCooling) {\n+            if (calledFromLocation.loopNum == this->LoadLoopNum) { // chilled water loop\n+                this->InitWatertoWaterHP(this->WWHPPlantTypeOfNum, this->Name, FirstHVACIteration, CurLoad);\n+                this->CalcWatertoWaterHPCooling(CurLoad);\n+                this->UpdateGSHPRecords();\n+            } else if (calledFromLocation.loopNum == this->SourceLoopNum) { // condenser loop\n+                PlantUtilities::UpdateChillerComponentCondenserSide(this->SourceLoopNum,\n+                                                                    this->SourceLoopSideNum,\n+                                                                    DataPlant::TypeOf_HPWaterEFCooling,\n+                                                                    this->SourceSideInletNodeNum,\n+                                                                    this->SourceSideOutletNodeNum,\n+                                                                    this->reportQSource,\n+                                                                    this->reportSourceSideInletTemp,\n+                                                                    this->reportSourceSideOutletTemp,\n+                                                                    this->reportSourceSideMassFlowRate,\n+                                                                    FirstHVACIteration);\n             } else {\n-                ShowFatalError(\"SimHPWatertoWaterSimple:: Invalid \" + HPEqFitCooling + \", Requested Unit=\" + GSHPName);\n+                ShowFatalError(\"SimHPWatertoWaterSimple:: Invalid loop connection \" + HPEqFitCooling + \", Requested Unit=\" + this->Name);\n             }\n-        } else if (GSHPTypeNum == DataPlant::TypeOf_HPWaterEFHeating) {\n-            if (GSHPNum != 0) {\n-                if (LoopNum == GSHP(GSHPNum).LoadLoopNum) { // chilled water loop\n-\n-                    InitWatertoWaterHP(GSHPTypeNum, GSHPName, GSHPNum, FirstHVACIteration, MyLoad);\n-                    CalcWatertoWaterHPHeating(GSHPNum, MyLoad);\n-                    UpdateGSHPRecords(GSHPNum);\n-                } else if (LoopNum == GSHP(GSHPNum).SourceLoopNum) { // condenser loop\n-                    PlantUtilities::UpdateChillerComponentCondenserSide(GSHP(GSHPNum).SourceLoopNum,\n-                                                                        GSHP(GSHPNum).SourceLoopSideNum,\n-                                                                        DataPlant::TypeOf_HPWaterEFHeating,\n-                                                                        GSHP(GSHPNum).SourceSideInletNodeNum,\n-                                                                        GSHP(GSHPNum).SourceSideOutletNodeNum,\n-                                                                        -GSHPReport(GSHPNum).QSource,\n-                                                                        GSHPReport(GSHPNum).SourceSideInletTemp,\n-                                                                        GSHPReport(GSHPNum).SourceSideOutletTemp,\n-                                                                        GSHPReport(GSHPNum).SourceSideMassFlowRate,\n-                                                                        FirstHVACIteration);\n-                } else {\n-                    ShowFatalError(\"SimHPWatertoWaterSimple:: Invalid loop connection \" + HPEqFitCooling + \", Requested Unit=\" + GSHPName);\n-                }\n+        } else if (this->WWHPPlantTypeOfNum == DataPlant::TypeOf_HPWaterEFHeating) {\n+            if (calledFromLocation.loopNum == this->LoadLoopNum) { // chilled water loop\n+                this->InitWatertoWaterHP(this->WWHPPlantTypeOfNum, this->Name, FirstHVACIteration, CurLoad);\n+                this->CalcWatertoWaterHPHeating(CurLoad);\n+                this->UpdateGSHPRecords();\n+            } else if (calledFromLocation.loopNum == this->SourceLoopNum) { // condenser loop\n+                PlantUtilities::UpdateChillerComponentCondenserSide(this->SourceLoopNum,\n+                                                                    this->SourceLoopSideNum,\n+                                                                    DataPlant::TypeOf_HPWaterEFHeating,\n+                                                                    this->SourceSideInletNodeNum,\n+                                                                    this->SourceSideOutletNodeNum,\n+                                                                    -this->reportQSource,\n+                                                                    this->reportSourceSideInletTemp,\n+                                                                    this->reportSourceSideOutletTemp,\n+                                                                    this->reportSourceSideMassFlowRate,\n+                                                                    FirstHVACIteration);\n             } else {\n-                ShowFatalError(\"SimHPWatertoWaterSimple:: Invalid \" + HPEqFitHeating + \", Requested Unit=\" + GSHPName);\n+                ShowFatalError(\"SimHPWatertoWaterSimple:: Invalid loop connection \" + HPEqFitCooling + \", Requested Unit=\" + this->Name);\n             }\n         } else {\n-            ShowFatalError(\"SimHPWatertoWaterSimple: Module called with incorrect GSHPType=\" + GSHPType);\n+            ShowFatalError(\"SimHPWatertoWaterSimple: Module called with incorrect GSHPType\");\n         } // TypeOfEquip\n     }\n \n-    void GetWatertoWaterHPInput()\n+    void GshpSpecs::getDesignCapacities(const PlantLocation &calledFromLocation, Real64 &MaxLoad, Real64 &MinLoad, Real64 &OptLoad)\n+    {\n+        this->InitWatertoWaterHP(\n+            this->WWHPPlantTypeOfNum, this->Name, true, 0.0); // Changed to true for FirstHVAC and 0.0 for Curload during this phase\n+        if (calledFromLocation.loopNum == this->LoadLoopNum) {\n+            if (this->WWHPPlantTypeOfNum == DataPlant::TypeOf_HPWaterEFCooling) {\n+                this->sizeCoolingWaterToWaterHP();\n+                MinLoad = 0.0;\n+                MaxLoad = this->RatedCapCool;\n+                OptLoad = this->RatedCapCool;\n+            } else if (this->WWHPPlantTypeOfNum == DataPlant::TypeOf_HPWaterEFHeating) {\n+                this->sizeHeatingWaterToWaterHP();\n+                MinLoad = 0.0;\n+                MaxLoad = this->RatedCapHeat;\n+                OptLoad = this->RatedCapHeat;\n+            } else {","path":"src/EnergyPlus/HeatPumpWaterToWaterSimple.cc","position":228,"original_position":228,"commit_id":"407962e55224e19958b6411943b35cec8a888b4a","original_commit_id":"407962e55224e19958b6411943b35cec8a888b4a","user":{"login":"Myoldmopar","id":849824,"node_id":"MDQ6VXNlcjg0OTgyNA==","avatar_url":"https://avatars0.githubusercontent.com/u/849824?v=4","gravatar_id":"","url":"https://api.github.com/users/Myoldmopar","html_url":"https://github.com/Myoldmopar","followers_url":"https://api.github.com/users/Myoldmopar/followers","following_url":"https://api.github.com/users/Myoldmopar/following{/other_user}","gists_url":"https://api.github.com/users/Myoldmopar/gists{/gist_id}","starred_url":"https://api.github.com/users/Myoldmopar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Myoldmopar/subscriptions","organizations_url":"https://api.github.com/users/Myoldmopar/orgs","repos_url":"https://api.github.com/users/Myoldmopar/repos","events_url":"https://api.github.com/users/Myoldmopar/events{/privacy}","received_events_url":"https://api.github.com/users/Myoldmopar/received_events","type":"User","site_admin":false},"body":"Absolutely right! I will be reducing it back down as much as possible, but wanted to get it fleshed out to get my little mocked up unit tests working.  I was actually debating on reducing it to one single input object that includes a cooling/heating choice as well but will wait to hear some review feedback before going down that road.","created_at":"2018-07-06T01:40:23Z","updated_at":"2018-07-06T01:40:23Z","html_url":"https://github.com/NREL/EnergyPlus/pull/6766#discussion_r200530806","pull_request_url":"https://api.github.com/repos/NREL/EnergyPlus/pulls/6766","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/NREL/EnergyPlus/pulls/comments/200530806"},"html":{"href":"https://github.com/NREL/EnergyPlus/pull/6766#discussion_r200530806"},"pull_request":{"href":"https://api.github.com/repos/NREL/EnergyPlus/pulls/6766"}},"in_reply_to_id":200524661},"pull_request":{"url":"https://api.github.com/repos/NREL/EnergyPlus/pulls/6766","id":191531497,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkxNTMxNDk3","html_url":"https://github.com/NREL/EnergyPlus/pull/6766","diff_url":"https://github.com/NREL/EnergyPlus/pull/6766.diff","patch_url":"https://github.com/NREL/EnergyPlus/pull/6766.patch","issue_url":"https://api.github.com/repos/NREL/EnergyPlus/issues/6766","number":6766,"state":"open","locked":false,"title":"An EIR Formulated Water-to-Water Heat Pump Model","user":{"login":"Myoldmopar","id":849824,"node_id":"MDQ6VXNlcjg0OTgyNA==","avatar_url":"https://avatars0.githubusercontent.com/u/849824?v=4","gravatar_id":"","url":"https://api.github.com/users/Myoldmopar","html_url":"https://github.com/Myoldmopar","followers_url":"https://api.github.com/users/Myoldmopar/followers","following_url":"https://api.github.com/users/Myoldmopar/following{/other_user}","gists_url":"https://api.github.com/users/Myoldmopar/gists{/gist_id}","starred_url":"https://api.github.com/users/Myoldmopar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Myoldmopar/subscriptions","organizations_url":"https://api.github.com/users/Myoldmopar/orgs","repos_url":"https://api.github.com/users/Myoldmopar/repos","events_url":"https://api.github.com/users/Myoldmopar/events{/privacy}","received_events_url":"https://api.github.com/users/Myoldmopar/received_events","type":"User","site_admin":false},"body":"Pull request overview\r\n---------------------\r\nThis pull request will include the design, code, etc., for a new EIR formulated WWHP model.\r\n\r\n### Work Checklist\r\nAdd to this list or remove from it as applicable.  This is a simple templated set of guidelines.\r\n - [ ] Title of PR should be user-synopsis style (clearly understandable in a standalone changelog context)\r\n - [ ] At least one of the following appropriate labels must be added to this PR to be consumed into the changelog:\r\n   - Defect: This pull request repairs a github defect issue.  The github issue should be referenced in the PR description\r\n   - Refactoring: This pull request includes code changes that don't change the functionality of the program, just perform refactoring\r\n   - NewFeature: This pull request includes code to add a new feature to EnergyPlus\r\n   - Performance: This pull request includes code changes that are directed at improving the runtime performance of EnergyPlus\r\n   - DoNoPublish: This pull request includes changes that shouldn't be included in the changelog\r\n\r\n### Review Checklist\r\nThis will not be exhaustively relevant to every PR.\r\n - [ ] Code style (parentheses padding, variable names)\r\n - [ ] Functional code review (it has to work!)\r\n - [ ] If defect, results of running current develop vs this branch should exhibit the fix\r\n - [ ] CI status: all green or justified\r\n - [ ] Performance: CI Linux results include performance check -- verify this\r\n - [ ] Unit Test(s)\r\n - C++ checks:\r\n   - [ ] Argument types\r\n   - [ ] If any virtual classes, ensure virtual destructor included, other things\r\n - IDD changes:\r\n   - [ ] Verify naming conventions and styles, memos and notes and defaults\r\n   - [ ] Open windows IDF Editor with modified IDD to check for errors\r\n   - [ ] If transition, add rules to spreadsheet\r\n   - [ ] If transition, add transition source\r\n   - [ ] If transition, update idfs\r\n - [ ] If new idf included, locally check the err file and other outputs\r\n - [ ] Documentation changes in place\r\n - [ ] Changed docs build successfully\r\n - [ ] ExpandObjects changes?\r\n - [ ] If output changes, including tabular output structure, add to output rules file for interfaces\r\n","created_at":"2018-05-30T17:50:04Z","updated_at":"2018-07-06T01:40:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e4f816abf421fb62587703cab21019969b79073e","assignee":{"login":"Myoldmopar","id":849824,"node_id":"MDQ6VXNlcjg0OTgyNA==","avatar_url":"https://avatars0.githubusercontent.com/u/849824?v=4","gravatar_id":"","url":"https://api.github.com/users/Myoldmopar","html_url":"https://github.com/Myoldmopar","followers_url":"https://api.github.com/users/Myoldmopar/followers","following_url":"https://api.github.com/users/Myoldmopar/following{/other_user}","gists_url":"https://api.github.com/users/Myoldmopar/gists{/gist_id}","starred_url":"https://api.github.com/users/Myoldmopar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Myoldmopar/subscriptions","organizations_url":"https://api.github.com/users/Myoldmopar/orgs","repos_url":"https://api.github.com/users/Myoldmopar/repos","events_url":"https://api.github.com/users/Myoldmopar/events{/privacy}","received_events_url":"https://api.github.com/users/Myoldmopar/received_events","type":"User","site_admin":false},"assignees":[{"login":"Myoldmopar","id":849824,"node_id":"MDQ6VXNlcjg0OTgyNA==","avatar_url":"https://avatars0.githubusercontent.com/u/849824?v=4","gravatar_id":"","url":"https://api.github.com/users/Myoldmopar","html_url":"https://github.com/Myoldmopar","followers_url":"https://api.github.com/users/Myoldmopar/followers","following_url":"https://api.github.com/users/Myoldmopar/following{/other_user}","gists_url":"https://api.github.com/users/Myoldmopar/gists{/gist_id}","starred_url":"https://api.github.com/users/Myoldmopar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Myoldmopar/subscriptions","organizations_url":"https://api.github.com/users/Myoldmopar/orgs","repos_url":"https://api.github.com/users/Myoldmopar/repos","events_url":"https://api.github.com/users/Myoldmopar/events{/privacy}","received_events_url":"https://api.github.com/users/Myoldmopar/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":179739851,"node_id":"MDU6TGFiZWwxNzk3Mzk4NTE=","url":"https://api.github.com/repos/NREL/EnergyPlus/labels/NewFeature","name":"NewFeature","color":"db5700","default":false}],"milestone":{"url":"https://api.github.com/repos/NREL/EnergyPlus/milestones/8","html_url":"https://github.com/NREL/EnergyPlus/milestone/8","labels_url":"https://api.github.com/repos/NREL/EnergyPlus/milestones/8/labels","id":3115951,"node_id":"MDk6TWlsZXN0b25lMzExNTk1MQ==","number":8,"title":"EnergyPlus 9.0","description":"","creator":{"login":"Myoldmopar","id":849824,"node_id":"MDQ6VXNlcjg0OTgyNA==","avatar_url":"https://avatars0.githubusercontent.com/u/849824?v=4","gravatar_id":"","url":"https://api.github.com/users/Myoldmopar","html_url":"https://github.com/Myoldmopar","followers_url":"https://api.github.com/users/Myoldmopar/followers","following_url":"https://api.github.com/users/Myoldmopar/following{/other_user}","gists_url":"https://api.github.com/users/Myoldmopar/gists{/gist_id}","starred_url":"https://api.github.com/users/Myoldmopar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Myoldmopar/subscriptions","organizations_url":"https://api.github.com/users/Myoldmopar/orgs","repos_url":"https://api.github.com/users/Myoldmopar/repos","events_url":"https://api.github.com/users/Myoldmopar/events{/privacy}","received_events_url":"https://api.github.com/users/Myoldmopar/received_events","type":"User","site_admin":false},"open_issues":71,"closed_issues":22,"state":"open","created_at":"2018-02-14T10:31:29Z","updated_at":"2018-07-05T19:36:47Z","due_on":"2018-09-30T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/NREL/EnergyPlus/pulls/6766/commits","review_comments_url":"https://api.github.com/repos/NREL/EnergyPlus/pulls/6766/comments","review_comment_url":"https://api.github.com/repos/NREL/EnergyPlus/pulls/comments{/number}","comments_url":"https://api.github.com/repos/NREL/EnergyPlus/issues/6766/comments","statuses_url":"https://api.github.com/repos/NREL/EnergyPlus/statuses/407962e55224e19958b6411943b35cec8a888b4a","head":{"label":"NREL:3982683-EIRFormulatedWWHP","ref":"3982683-EIRFormulatedWWHP","sha":"407962e55224e19958b6411943b35cec8a888b4a","user":{"login":"NREL","id":1906800,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE5MDY4MDA=","avatar_url":"https://avatars1.githubusercontent.com/u/1906800?v=4","gravatar_id":"","url":"https://api.github.com/users/NREL","html_url":"https://github.com/NREL","followers_url":"https://api.github.com/users/NREL/followers","following_url":"https://api.github.com/users/NREL/following{/other_user}","gists_url":"https://api.github.com/users/NREL/gists{/gist_id}","starred_url":"https://api.github.com/users/NREL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NREL/subscriptions","organizations_url":"https://api.github.com/users/NREL/orgs","repos_url":"https://api.github.com/users/NREL/repos","events_url":"https://api.github.com/users/NREL/events{/privacy}","received_events_url":"https://api.github.com/users/NREL/received_events","type":"Organization","site_admin":false},"repo":{"id":14620185,"node_id":"MDEwOlJlcG9zaXRvcnkxNDYyMDE4NQ==","name":"EnergyPlus","full_name":"NREL/EnergyPlus","owner":{"login":"NREL","id":1906800,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE5MDY4MDA=","avatar_url":"https://avatars1.githubusercontent.com/u/1906800?v=4","gravatar_id":"","url":"https://api.github.com/users/NREL","html_url":"https://github.com/NREL","followers_url":"https://api.github.com/users/NREL/followers","following_url":"https://api.github.com/users/NREL/following{/other_user}","gists_url":"https://api.github.com/users/NREL/gists{/gist_id}","starred_url":"https://api.github.com/users/NREL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NREL/subscriptions","organizations_url":"https://api.github.com/users/NREL/orgs","repos_url":"https://api.github.com/users/NREL/repos","events_url":"https://api.github.com/users/NREL/events{/privacy}","received_events_url":"https://api.github.com/users/NREL/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/NREL/EnergyPlus","description":"EnergyPlus™ is a whole building energy simulation program that engineers, architects, and researchers use to model both energy consumption and water use in buildings.","fork":false,"url":"https://api.github.com/repos/NREL/EnergyPlus","forks_url":"https://api.github.com/repos/NREL/EnergyPlus/forks","keys_url":"https://api.github.com/repos/NREL/EnergyPlus/keys{/key_id}","collaborators_url":"https://api.github.com/repos/NREL/EnergyPlus/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/NREL/EnergyPlus/teams","hooks_url":"https://api.github.com/repos/NREL/EnergyPlus/hooks","issue_events_url":"https://api.github.com/repos/NREL/EnergyPlus/issues/events{/number}","events_url":"https://api.github.com/repos/NREL/EnergyPlus/events","assignees_url":"https://api.github.com/repos/NREL/EnergyPlus/assignees{/user}","branches_url":"https://api.github.com/repos/NREL/EnergyPlus/branches{/branch}","tags_url":"https://api.github.com/repos/NREL/EnergyPlus/tags","blobs_url":"https://api.github.com/repos/NREL/EnergyPlus/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/NREL/EnergyPlus/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/NREL/EnergyPlus/git/refs{/sha}","trees_url":"https://api.github.com/repos/NREL/EnergyPlus/git/trees{/sha}","statuses_url":"https://api.github.com/repos/NREL/EnergyPlus/statuses/{sha}","languages_url":"https://api.github.com/repos/NREL/EnergyPlus/languages","stargazers_url":"https://api.github.com/repos/NREL/EnergyPlus/stargazers","contributors_url":"https://api.github.com/repos/NREL/EnergyPlus/contributors","subscribers_url":"https://api.github.com/repos/NREL/EnergyPlus/subscribers","subscription_url":"https://api.github.com/repos/NREL/EnergyPlus/subscription","commits_url":"https://api.github.com/repos/NREL/EnergyPlus/commits{/sha}","git_commits_url":"https://api.github.com/repos/NREL/EnergyPlus/git/commits{/sha}","comments_url":"https://api.github.com/repos/NREL/EnergyPlus/comments{/number}","issue_comment_url":"https://api.github.com/repos/NREL/EnergyPlus/issues/comments{/number}","contents_url":"https://api.github.com/repos/NREL/EnergyPlus/contents/{+path}","compare_url":"https://api.github.com/repos/NREL/EnergyPlus/compare/{base}...{head}","merges_url":"https://api.github.com/repos/NREL/EnergyPlus/merges","archive_url":"https://api.github.com/repos/NREL/EnergyPlus/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/NREL/EnergyPlus/downloads","issues_url":"https://api.github.com/repos/NREL/EnergyPlus/issues{/number}","pulls_url":"https://api.github.com/repos/NREL/EnergyPlus/pulls{/number}","milestones_url":"https://api.github.com/repos/NREL/EnergyPlus/milestones{/number}","notifications_url":"https://api.github.com/repos/NREL/EnergyPlus/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/NREL/EnergyPlus/labels{/name}","releases_url":"https://api.github.com/repos/NREL/EnergyPlus/releases{/id}","deployments_url":"https://api.github.com/repos/NREL/EnergyPlus/deployments","created_at":"2013-11-22T14:47:34Z","updated_at":"2018-07-05T19:36:54Z","pushed_at":"2018-07-06T01:40:22Z","git_url":"git://github.com/NREL/EnergyPlus.git","ssh_url":"git@github.com:NREL/EnergyPlus.git","clone_url":"https://github.com/NREL/EnergyPlus.git","svn_url":"https://github.com/NREL/EnergyPlus","homepage":"https://energyplus.net","size":363078,"stargazers_count":241,"watchers_count":241,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":143,"mirror_url":null,"archived":false,"open_issues_count":731,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":143,"open_issues":731,"watchers":241,"default_branch":"develop"}},"base":{"label":"NREL:develop","ref":"develop","sha":"eb68ccb2bfb3d01807412e33399299da8cdb4b11","user":{"login":"NREL","id":1906800,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE5MDY4MDA=","avatar_url":"https://avatars1.githubusercontent.com/u/1906800?v=4","gravatar_id":"","url":"https://api.github.com/users/NREL","html_url":"https://github.com/NREL","followers_url":"https://api.github.com/users/NREL/followers","following_url":"https://api.github.com/users/NREL/following{/other_user}","gists_url":"https://api.github.com/users/NREL/gists{/gist_id}","starred_url":"https://api.github.com/users/NREL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NREL/subscriptions","organizations_url":"https://api.github.com/users/NREL/orgs","repos_url":"https://api.github.com/users/NREL/repos","events_url":"https://api.github.com/users/NREL/events{/privacy}","received_events_url":"https://api.github.com/users/NREL/received_events","type":"Organization","site_admin":false},"repo":{"id":14620185,"node_id":"MDEwOlJlcG9zaXRvcnkxNDYyMDE4NQ==","name":"EnergyPlus","full_name":"NREL/EnergyPlus","owner":{"login":"NREL","id":1906800,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE5MDY4MDA=","avatar_url":"https://avatars1.githubusercontent.com/u/1906800?v=4","gravatar_id":"","url":"https://api.github.com/users/NREL","html_url":"https://github.com/NREL","followers_url":"https://api.github.com/users/NREL/followers","following_url":"https://api.github.com/users/NREL/following{/other_user}","gists_url":"https://api.github.com/users/NREL/gists{/gist_id}","starred_url":"https://api.github.com/users/NREL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NREL/subscriptions","organizations_url":"https://api.github.com/users/NREL/orgs","repos_url":"https://api.github.com/users/NREL/repos","events_url":"https://api.github.com/users/NREL/events{/privacy}","received_events_url":"https://api.github.com/users/NREL/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/NREL/EnergyPlus","description":"EnergyPlus™ is a whole building energy simulation program that engineers, architects, and researchers use to model both energy consumption and water use in buildings.","fork":false,"url":"https://api.github.com/repos/NREL/EnergyPlus","forks_url":"https://api.github.com/repos/NREL/EnergyPlus/forks","keys_url":"https://api.github.com/repos/NREL/EnergyPlus/keys{/key_id}","collaborators_url":"https://api.github.com/repos/NREL/EnergyPlus/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/NREL/EnergyPlus/teams","hooks_url":"https://api.github.com/repos/NREL/EnergyPlus/hooks","issue_events_url":"https://api.github.com/repos/NREL/EnergyPlus/issues/events{/number}","events_url":"https://api.github.com/repos/NREL/EnergyPlus/events","assignees_url":"https://api.github.com/repos/NREL/EnergyPlus/assignees{/user}","branches_url":"https://api.github.com/repos/NREL/EnergyPlus/branches{/branch}","tags_url":"https://api.github.com/repos/NREL/EnergyPlus/tags","blobs_url":"https://api.github.com/repos/NREL/EnergyPlus/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/NREL/EnergyPlus/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/NREL/EnergyPlus/git/refs{/sha}","trees_url":"https://api.github.com/repos/NREL/EnergyPlus/git/trees{/sha}","statuses_url":"https://api.github.com/repos/NREL/EnergyPlus/statuses/{sha}","languages_url":"https://api.github.com/repos/NREL/EnergyPlus/languages","stargazers_url":"https://api.github.com/repos/NREL/EnergyPlus/stargazers","contributors_url":"https://api.github.com/repos/NREL/EnergyPlus/contributors","subscribers_url":"https://api.github.com/repos/NREL/EnergyPlus/subscribers","subscription_url":"https://api.github.com/repos/NREL/EnergyPlus/subscription","commits_url":"https://api.github.com/repos/NREL/EnergyPlus/commits{/sha}","git_commits_url":"https://api.github.com/repos/NREL/EnergyPlus/git/commits{/sha}","comments_url":"https://api.github.com/repos/NREL/EnergyPlus/comments{/number}","issue_comment_url":"https://api.github.com/repos/NREL/EnergyPlus/issues/comments{/number}","contents_url":"https://api.github.com/repos/NREL/EnergyPlus/contents/{+path}","compare_url":"https://api.github.com/repos/NREL/EnergyPlus/compare/{base}...{head}","merges_url":"https://api.github.com/repos/NREL/EnergyPlus/merges","archive_url":"https://api.github.com/repos/NREL/EnergyPlus/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/NREL/EnergyPlus/downloads","issues_url":"https://api.github.com/repos/NREL/EnergyPlus/issues{/number}","pulls_url":"https://api.github.com/repos/NREL/EnergyPlus/pulls{/number}","milestones_url":"https://api.github.com/repos/NREL/EnergyPlus/milestones{/number}","notifications_url":"https://api.github.com/repos/NREL/EnergyPlus/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/NREL/EnergyPlus/labels{/name}","releases_url":"https://api.github.com/repos/NREL/EnergyPlus/releases{/id}","deployments_url":"https://api.github.com/repos/NREL/EnergyPlus/deployments","created_at":"2013-11-22T14:47:34Z","updated_at":"2018-07-05T19:36:54Z","pushed_at":"2018-07-06T01:40:22Z","git_url":"git://github.com/NREL/EnergyPlus.git","ssh_url":"git@github.com:NREL/EnergyPlus.git","clone_url":"https://github.com/NREL/EnergyPlus.git","svn_url":"https://github.com/NREL/EnergyPlus","homepage":"https://energyplus.net","size":363078,"stargazers_count":241,"watchers_count":241,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":143,"mirror_url":null,"archived":false,"open_issues_count":731,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":143,"open_issues":731,"watchers":241,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/NREL/EnergyPlus/pulls/6766"},"html":{"href":"https://github.com/NREL/EnergyPlus/pull/6766"},"issue":{"href":"https://api.github.com/repos/NREL/EnergyPlus/issues/6766"},"comments":{"href":"https://api.github.com/repos/NREL/EnergyPlus/issues/6766/comments"},"review_comments":{"href":"https://api.github.com/repos/NREL/EnergyPlus/pulls/6766/comments"},"review_comment":{"href":"https://api.github.com/repos/NREL/EnergyPlus/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/NREL/EnergyPlus/pulls/6766/commits"},"statuses":{"href":"https://api.github.com/repos/NREL/EnergyPlus/statuses/407962e55224e19958b6411943b35cec8a888b4a"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"Myoldmopar"}}