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

Nathan Miller nathanm at rushingco.com
Wed May 22 08:16:25 PDT 2013


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:  <http://www.rushingco.com/> 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

孙一峰

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.onebuilding.org/pipermail/equest-users-onebuilding.org/attachments/20130522/023bb9a9/attachment-0002.htm>


More information about the Equest-users mailing list