[Equest-users] 回复: Is there a way to extract specific data from simresult?

Yf Sun caselysun at gmail.com
Wed May 22 17:27:13 PDT 2013


Hi Nathan
Thank you for sharing your experience!


On Wed, May 22, 2013 at 11:16 PM, Nathan Miller <nathanm at rushingco.com>wrote:

> You can also open the .sim file in a text editor program and use a macro
> to search for a string then select/copy/cut sections of the results file,
> and them paste into an excel sheet (this last step is probably a manual
> task).  If you don't know how to create a macro in a text editor, it is
> probably worth the hour or two it takes to learn the format and commands,
> as it is a very useful skill to have in the future.  We use text editor
> macros all the time in my office for our eQUEST work. ****
>
> ** **
>
> *Nathan Miller **-** **PE, LEED(R)AP BD+C, CEM*
>
> *Mechanical Engineer/Senior Energy Analyst *
>
> *RUSHING* | *D* 206-788-4577 | *O* 206-285-7100****
>
> *Our new web site:** **www.rushingco.com***
>
> ** **
>
> *From:* equest-users-bounces at lists.onebuilding.org [mailto:
> equest-users-bounces at lists.onebuilding.org] *On Behalf Of *Yf Sun
> *Sent:* Tuesday, May 21, 2013 7:54 PM
> *To:* 冷面寒枪
> *Cc:* equest-users at lists.onebuilding.org
> *Subject:* Re: [Equest-users] 回复: Is there a way to extract specific data
> from simresult?****
>
> ** **
>
> 非常感谢!****
>
> ** **
>
> On Wed, May 22, 2013 at 10:44 AM, 冷面寒枪 <503271081 at qq.com> wrote:****
>
> As we all konwn,The computer engine of eQuest software is DOE2.2. you can
> program your computer  to accomplish  this function using C or VB program
> language.Blow is the specification for calling DOE2.2.****
>
> ** **
>
>    (c) Copyright 1999, Scott A. Criswell.  All Rights Reserved.****
>
> ** **
>
> This file describes how to interface with the D2Result DLL in****
>
> order to retrieve simulation results from the DOE-2.2 binary****
>
> results files.  ****
>
> ** **
>
> ** **
>
> ----------------------------------------------------------------------****
>
> UPDATES:****
>
> ----------------------------------------------------------------------****
>
>  8/31/99 - SAC - VisualBasic Users - We have added VB-compatible versions*
> ***
>
>                  of each of the rest of the functions exported from the***
> *
>
>                  D2Result.dll.  Your VB code should use the same arguments,
> ****
>
>                  but the function names should be *_VB*().  For example,**
> **
>
>                  instead of calling D2R_GetMultipleResult(...), you****
>
>                  should call D2R_VBGetMultipleResult(...).****
>
>  8/22/99 - SAC - VisualBasic Users - We have added a function call****
>
>                  which is equivalent to D2R_GetSingleResult() but uses****
>
>                  a calling convention compatible with VisualBasic.****
>
>                  This new function is called D2R_VBGetSingleResult()****
>
>                  and takes the exact same arguments as its counterpart.***
> *
>
>                  No such VB-compatible D2R_GetMultipleResult() counter-***
> *
>
>                  part exists.  Please contact us if you would like one****
>
>                  added.****
>
> ----------------------------------------------------------------------****
>
> ** **
>
> ** **
>
> Results retrieval is current available only from the Non-Hourly****
>
> results files for Loads, HVAC and Economics.****
>
> ** **
>
> The D2Result.DLL library is based on MFC (Microsoft Foundation****
>
> Classes) and therefore requires that the following files be****
>
> installed into your Windows\System directory:****
>
>    MFC42.DLL   (~975 kb)****
>
>    MSVCRT.DLL  (~250 kb)****
>
> You can find these files located in the \System directory of****
>
> this distribution.****
>
> These files are the latest updates that are reported to be****
>
> fully compatible with previous versions.  However, we do****
>
> recommend that you save older versions of these files in the****
>
> event these new files are incompatible with other software****
>
> running on your machine.****
>
> ** **
>
> Unlike interfacing with the BDLCIO32 and SimCIO32 DLLs, the****
>
> D2Result DLL does not interface directly with any other ****
>
> executable code.  As a result, there are no DLL initialization****
>
> or clean-up routines.  The only things you need do are to load****
>
> and unload the DLL using whatever mechanism is available to****
>
> your in your development environment and to call the various****
>
> exported functions much like you would any other DLL you****
>
> interface with.****
>
> ** **
>
> The following is a description of the functions exported from****
>
> D2Result.DLL:****
>
> (for more details, refer to the D2ResX.h header file and the****
>
>  top portion ofthe NHRList.txt file)****
>
> ** **
>
> 1) Retrieval of a single value or array of values:****
>
>       long D2R_GetSingleResult( const char* pszDOE2Dir,****
>
>                                 const char* pszFileName,****
>
>                                 int iEntryID,****
>
>                                 float* pfData,****
>
>                                 int iMaxValues,****
>
>                                 const char* pszReportKey,****
>
>                                 const char* pszRowKey );****
>
> ** **
>
>       Return Value:****
>
>             >= 0 => successful - # of values retrieved****
>
>             <  0 => failed - refer to the D2ResX.h header file for****
>
>                     descriptions of the various return values.****
>
> ** **
>
>       Where:****
>
>          pszDOE2Dir   => Directory where DOE-2 system files (such as****
>
>                          BDLKey.bin, BDLLib.dat, etc.) are stored****
>
>                          (including a trailing '\').****
>
>          pszFileName  => The full path and filename of the BDL input****
>
>                          file without the trailing dot or file****
>
>                          extension.****
>
>                          (i.e. if your DOE-2 input filename is:****
>
>                           "C:\My Dir\Projects\Wall Mart\Wall Mart.inp"****
>
>                           then pszFileName should be:****
>
>                           "C:\My Dir\Projects\Wall Mart\Wall Mart")****
>
>          iEntryID     => Integer value identifying the value or series****
>
>                          to be retrieved.  These values are defined in****
>
>                          the first column of DOE-2\NHRList.txt file.****
>
>          pfData       => Address of an array of 32-bit floating point****
>
>                          numbers to be populated with results.****
>
>          iMaxValues   => Number of floats defined in above array.****
>
>                          (this value should correspond to the value****
>
>                           in the "NI" column of the NHRList.txt entry****
>
>                           describing the result(s) you are retrieving)****
>
>          pszReportKey => Used only when retrieving results from a****
>
>                          non-hourly report which is repeated over****
>
>                          multiple components of a particular type.****
>
>                          This argument contains a NULL-terminated****
>
>                          character string identifying the building****
>
>                          component for which you are retrieving the****
>
>                          results.****
>
>                          This argument must contain a valid string****
>
>                          whenever the "RI" column of the selected****
>
>                          NHRList.txt data contains a value > 0.****
>
>          pszRowKey    => Used only when retrieving results from a****
>
>                          report which contains multiple rows of data****
>
>                          where each row provides results for a separate***
> *
>
>                          building component or month of the year.****
>
>                          This argument contains a NULL-terminated****
>
>                          character string identifying the row of data****
>
>                          which you are retrieving the results for.****
>
>                          This argument must contain a valid string****
>
>                          whenever the "KT" column of the selected****
>
>                          NHRList.txt data contains a value > 0.****
>
> ** **
>
>       Example:****
>
>          To retrieve the total site energy use for a building (from the***
> *
>
>          BEPS report):****
>
>             To determine iEntry, open the NHRList.txt file and search****
>
>             for "BEPS" to find: "2001   BEPS  Building Energy..."****
>
>             The "2001" is the first four digits of the iEntryID, then****
>
>             we do another search for "2001   BEPS" to get down to the****
>
>             area where the BEPS report entries are defined.  Once there***
> *
>
>             we examine the text to the far right of each entry which****
>
>             provides a description of the results which that entry****
>
>             retrieves data for.  We find that the entry ID 2001001****
>
>             retrieves "Total Site Energy (BTU)".****
>
> ** **
>
>             Here's what the call looks like (in 'C'):****
>
> ** **
>
>                float fResult;****
>
>                long lRetVal = D2R_GetSingleResult(****
>
>                                  "E:\\WinDOE2\\doe-2\\",****
>
>                                  "E:\\WinDOE2\\Projects\\Proj1\\Proj1",***
> *
>
>                                  2001001, &fResult, 1, NULL, NULL );****
>
> ** **
>
> ** **
>
> 2) When retrieving mutliple single values or arrays of results from the***
> *
>
>    same Non-Hourly results file, it is most efficient to use a different**
> **
>
>    function in order to retrieve all the results at once:****
>
> ** **
>
>       long D2R_GetMultipleResult( const char* pszDOE2Dir,****
>
>                                   const char* pszInpFileName,****
>
>                                   int iFileType,****
>
>                                   float* pfData,****
>
>                                   int iMaxValues,****
>
>                                   int iNumMRTs,****
>
>                                   MultResultsType* pMRTs );****
>
> ** **
>
>       Return Value:****
>
>             >= 0 => successful - # of values retrieved****
>
>             <  0 => failed - refer to the D2ResX.h header file for****
>
>                     descriptions of the various return values.****
>
> ** **
>
>       Where:****
>
>          pszDOE2Dir   => Directory where DOE-2 system files (such as****
>
>                          BDLKey.bin, BDLLib.dat, etc.) are stored****
>
>                          (including a trailing '\').****
>
>          pszFileName  => The full path and filename of the BDL input****
>
>                          file without the trailing dot or file****
>
>                          extension.****
>
>                          (i.e. if your DOE-2 input filename is:****
>
>                           "C:\My Dir\Projects\Wall Mart\Wall Mart.inp"****
>
>                           then pszFileName should be:****
>
>                           "C:\My Dir\Projects\Wall Mart\Wall Mart")****
>
>          iFileType    => 0 for Loads results, 1 for HVAC and simulated****
>
>                          Energy Use results and 2 for Utility Rate and****
>
>                          Economics results.  This value should also****
>
>                          correspond to the first digit of each NHRList****
>
>                          entry ID minus 1.****
>
>          pfData       => Address of an array of 32-bit floating point****
>
>                          numbers to be populated with ALL single or****
>
>                          arrays of results.****
>
>          iMaxValues   => Number of floats defined in above array.****
>
>          iNumMRTs     => Number of MultResultsType structures pointed****
>
>                          to by the following argument.  Only the first****
>
>                          12 will be used, each one must retrieve results**
> **
>
>                          from the same file and the number of items****
>
>                          retrieved for each element should be equal.****
>
>          pMRTs        => Pointer to an array of MultResultsType****
>
>                          structures:****
>
>                             struct MultResultsType****
>
>                             {****
>
>                                int  iEntryID;      // from NHRList.txt****
>
>                                int  iReturnValue;  // success/failure****
>
>                                char pszReportKey[ 34 ];****
>
>                                char pszRowKey[    34 ];****
>
>                             };****
>
> ** **
>
> ** **
>
>       Example:****
>
>          To retrieve the energy use by end-use and the end-use sum for****
>
>          a series of electric meters (EM1 and EM2) from the PS-F reports**
> **
>
>          followed by the sum across all electric meters by end-use from***
> *
>
>          the PS-E reports:****
>
> ** **
>
>             MultResultsType MRTs[4];****
>
> ** **
>
>             MRTs[0].iEntryID = 2309007;    // EM1 array from PS-F****
>
>             MRTs[0].pszReportKey = "EM1";****
>
>             MRTs[0].pszRowKey[0] = '\0';****
>
> ** **
>
>             MRTs[1].iEntryID = 2309007;    // EM2 array from PS-F****
>
>             MRTs[1].pszReportKey = "EM2";****
>
>             MRTs[1].pszRowKey[0] = '\0';****
>
> ** **
>
>             MRTs[2].iEntryID = 2305005;    // Elec Mtr Totals from PS-E***
> *
>
>             MRTs[2].pszReportKey[0] = '\0';****
>
>             MRTs[2].pszRowKey[0]    = '\0';****
>
> ** **
>
>             float fResults[39];  // 3 MRTs x 13 values per MRT****
>
>             long lRetVal = D2R_GetMultipleResult(****
>
>                                  "E:\\WinDOE2\\doe-2\\",****
>
>                                  "E:\\WinDOE2\\Projects\\Proj1\\Proj1",***
> *
>
>                                  1, fResults, 39, 3, MRTs );****
>
> ** **
>
> ** **
>
> 3) Additional functions exist enabling you to determine how many****
>
>    building components of a particular type were defined in the****
>
>    input file corresponding to the results you are retrieving as****
>
>    well as the name of each of those components.  These functions****
>
>    enable you to retrieve results for particular building components****
>
>    when you are not sure what the component names were in the****
>
>    original BDl input.****
>
>    Refer to the function definitions in the D2ResX.h header file for****
>
>    more details.****
>
> ** **
>
> ** **
>
> Best regard****
>
> ** **
>
> 赵永青****
>
> ** **
>
> 长沙绿建节能科技有限公司****
>
> ** **
>
> ** **
>
> ------------------ 原始邮件 ------------------****
>
> *发件人**:* "Yf Sun"<caselysun at gmail.com>;****
>
> *发送时间**:* 2013年5月22日(星期三) 上午10:07****
>
> *收件人**:* "tiejun hu"<hutiejun1223 at 126.com>; ****
>
> *抄送**:* "equest-users"<equest-users at lists.onebuilding.org>; ****
>
> *主题**:* Re: [Equest-users] Is there a way to extract specific data from
> simresult?****
>
> ** **
>
> Hi, tiejun!****
>
> Thanks for your reply but I dont need the hourly data, i need annual
> system peak loads, cooling and heating system loads for example, do you
> have a idea how to automate the data extraction?****
>
> ** **
>
> On Wed, May 22, 2013 at 10:05 AM, Yf Sun <caselysun at gmail.com> wrote:****
>
> Hi, tiejun!****
>
> Thanks for your reply but I dont need the hourly data, i need annual
> system peak loads, cooling and heating system loads for example, do you
> have a idea how to automate the data extraction?****
>
> ** **
>
> On Wed, May 22, 2013 at 9:51 AM, tiejun hu <hutiejun1223 at 126.com> wrote:**
> **
>
> Hi,Yf****
>
>     You can creat hourly reports in detail mode, then run it, open hourly
> reports in sim file.****
>
>     Best regards
>
>
>
> ****
>
> ** **
>
> At 2013-05-22 09:48:23,"Yf Sun" <caselysun at gmail.com> wrote:****
>
> Hi,dear Equesters!
> ****
>
> Im currently doing my ph.d research using equest to analyse building
> energy performance, i found its time consuming to find the data i need from
> sim result, as the data i need almost the same for every simulation, do you
> know a way to extract the specific text data(for importing to excel)
> quickly by using some third party program maybe?****
>
> ** **
>
> -- ****
>
> Best regards****
>
> Ivan****
>
> ** **
>
>
>
> ****
>
> ** **
>
> -- ****
>
> Best regards****
>
> 孙一峰****
>
>
>
> ****
>
> ** **
>
> -- ****
>
> Best regards****
>
> 孙一峰****
>
>
>
> ****
>
> ** **
>
> -- ****
>
> Best regards****
>
> 孙一峰****
>



-- 
Best regards
孙一峰
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.onebuilding.org/pipermail/equest-users-onebuilding.org/attachments/20130523/0635f1e1/attachment-0002.htm>


More information about the Equest-users mailing list