Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

mldichter's profile - activity

2019-01-09 17:01:13 -0600 answered a question How to use more than one TemperingValve object?

After trying to implement the above, I realized I had misinterpreted the diagram in the IO Reference. The Storage Tank f

2019-01-08 17:34:53 -0600 asked a question How to use more than one TemperingValve object?

How to use more than one TemperingValve object? I want to use SolarCollector:FlatPlate:Water objects to provide preheate

2019-01-08 12:36:21 -0600 commented question AWS free tier with PAT?

@shorowit Perfect! I was looking for instructions like these for a couple weeks. Thank you!!!

2019-01-08 12:20:30 -0600 commented question AWS free tier with PAT?

@shorowit Could you pretty, pretty please just say if there are or are not instructions for setting this up? If there ar

2019-01-08 12:17:43 -0600 commented question AWS free tier with PAT?

@shorowit That did the trick. There are a lot more options now. Looks like I could get something working. Just a few mor

2019-01-08 11:31:20 -0600 commented question AWS free tier with PAT?

@shorowit I have a slightly different screen on PAT. https://drive.google.com/file/d/19kwpzBfm_d7So6SaqtelcHKe5NihhGv9/v

2019-01-08 10:28:49 -0600 commented question AWS free tier with PAT?

@shorowit Could you please post a link to any sort of instructions detailing how to "You just have to the point to the A

2019-01-07 10:42:02 -0600 asked a question Can Openstudio output errors within the Run Simulation tab?

Can Openstudio output errors within the Run Simulation tab? Is there any configuration/menu/whatever I can change in Ope

2019-01-07 10:21:29 -0600 commented question AWS free tier with PAT?

@Ruth Urban As far as I can tell, not a whole lot of people are using the Algorithmic Analysis in PAT as the setup is a

2019-01-07 10:21:01 -0600 commented question AWS free tier with PAT?

@Ruth Urban As far as I can tell, not a whole lot of people are using the Algorithmic Analysis in PAT as the setup is a

2019-01-04 15:48:59 -0600 commented question ** Fatal ** The SQLite database failed to open.

@shorowit It started happening again. I saved the files from the run and put a link in the post. There is no sqlite.err

2019-01-04 15:46:48 -0600 edited question ** Fatal ** The SQLite database failed to open.

** Fatal ** The SQLite database failed to open. I'm getting an intermittent failure using ep-launch to run a energyplu

2019-01-04 13:06:00 -0600 edited question ** Fatal ** The SQLite database failed to open.

** Fatal ** The SQLite database failed to open. I'm getting an intermittent failure using ep-launch to run a energyplu

2019-01-04 13:05:41 -0600 commented question ** Fatal ** The SQLite database failed to open.

@shorowit I do not see any sqlite.err file generated. I reran one of the idf files in a separate folder to be sure. I at

2019-01-04 13:03:39 -0600 commented question ** Fatal ** The SQLite database failed to open.

@shorowit I do not see any sqlite.err file generated. I reran one of the idf files in a separate folder to be sure. I at

2019-01-04 11:25:22 -0600 commented question ** Fatal ** The SQLite database failed to open.

@shorowit I looked for the sqlite.err file in my recycling bin, but couldn't find it. All I could find was the idf_file_

2019-01-04 11:24:27 -0600 commented question ** Fatal ** The SQLite database failed to open.

@shorowit I looked for the sqlite.err file in my recycling bin, but couldn't find it. All I could find was the idf_file_

2019-01-04 10:15:29 -0600 marked best answer ** Fatal ** The SQLite database failed to open.

I'm getting an intermittent failure using ep-launch to run a energyplus 9.0 simulation. Sometimes no err file is generated, and sometimes this err file is generated.

Link to file showing sqlite error

Program Version,EnergyPlus, Version 9.0.1-bb7ca4f0da, YMD=2019.01.03 08:16,
   **  Fatal  ** The SQLite database failed to open.
   ...Summary of Errors that led to program termination:
   ..... Reference severe error count=0
   ..... Last severe error=
   ************* Warning:  Node connection errors not checked - most system input has not been read (see previous warning).
   ************* Fatal error -- final processing.  Program exited before simulations began.  See previous error messages.
   ************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors.
   ************* EnergyPlus Sizing Error Summary. During Sizing: 0 Warning; 0 Severe Errors.
   ************* EnergyPlus Terminated--Fatal Error Detected. 0 Warning; 0 Severe Errors; Elapsed Time=00hr 00min  1.03sec

I have no idea what's causing it. Everything was running fine yesterday. I'm hoping it just goes away, but any idea what I can do to troubleshoot?


In response to @shorowit's comment

image description

Here is the whole err file. Not all of it was overwritten, and there are a ton of characters notepad++ is displaying as NUL.

image description

2019-01-04 10:15:20 -0600 answered a question ** Fatal ** The SQLite database failed to open.

Not a great workaround, but here's what I did. The problem is intermittent, so I just kept running the simulations that

2019-01-04 10:11:59 -0600 commented question ** Fatal ** The SQLite database failed to open.

@MatthewSteen As far as I can tell, the file is not open anywhere else. Also, I am not using openstudio.

2019-01-04 10:11:05 -0600 commented question ** Fatal ** The SQLite database failed to open.

@Julien Marrec I am running energyplus on my personal computer locally with local file access. I tried deleting all the

2019-01-03 10:40:04 -0600 asked a question ** Fatal ** The SQLite database failed to open.

** Fatal ** The SQLite database failed to open. I'm getting an intermittent failure using ep-launch to run a energyplu

2018-12-13 16:43:55 -0600 marked best answer What rate a People object adds water to zone air?

I'm implementing radiant heating and cooling with ZoneHVAC:LowTemperatureRadiant:VariableFlow and was having trouble with the dew-point. It was getting above 21C a lot of the time, sometimes 30C, which would turn off the ZoneHVAC:LowTemperatureRadiant:VariableFlow objects.

I have pinned it down to the People objects in the zone adding a significant amount of water to the air in the zone. In order for the radiant cooling to be effective, even with a regular amount of ventilation, I'll need to add some dehumidifying objects.

My question is what rate one person in a zone will add water to the zone air per hour? Is there any control of this in energyplus?

Also, from some output variables, it looks like a person adds more water based on the season, probably dependent on the weather. Does this sound like correct behavior from energyplus? (Not making any claims here. I stopped looking once I ran simulation with the people objects removed and double the people to see the pattern. Just an observation.)

2018-12-12 16:24:37 -0600 marked best answer Recommendation on translating Openstudio measures to run independently of Openstudio

Background: My project is to simulate common building types in California modified by openstudio measures and brute force search for the most cost effective ZNE building technology combinations. At this point, the openstudio measures have been written and we're ready to start the brute force search of the simulations. However, in order to use the algorithmic analysis in the Parametric Analysis Tool, I need to get some form of openstudio-server up and running. (Please correct me if I'm wrong in any way and there's an easier way to use the algorithmic analysis in PAT.)

The problem I have run into is all the instructions I've found for installing openstudio-server are extremely technical, outdated, incomplete, or non-existent. (To be fair, I haven't tried the installation instructions using Amazon AWS, but those instructions went way over my head. The people on this project are engineers after all, not computer scientists.)

To the developers: I know projects can run out of money or go over budget or etc. So does anyone recommend I start considering modifying all my measures to run independently of openstudio and side step that problem entirely?

To the users: Have any of you users of PAT successfully setup up PAT, openstudio-server, etc to use the algorithmic analysis to smartly explore all your measure combinations?


It's gonna suck to implement the algorithmic analysis of PAT without PAT or Openstudio, but beggars can't be choosers and we need to get our project done.

Thank you for any advice you can give.

Cheers,
        Mitchal

2018-12-12 16:24:37 -0600 edited answer Recommendation on translating Openstudio measures to run independently of Openstudio

I have changed my accepted answer to this one. @mdahlhausen's code is definitely the way to go! https://github.com/Unme

2018-12-12 16:10:05 -0600 asked a question What rate a People object adds water to zone air?

What rate a People object adds water to zone air? I'm implementing radiant heating and cooling with ZoneHVAC:LowTemperat

2018-11-28 11:00:38 -0600 marked best answer Does DaylightingDevice:Shelf causing unenclosed zone output inaccurate results?

Simulating DaylightingDeviceShelf.idf from the Energyplus 9.0 Examples Files, with an Output:Diagnostics,DisplayExtrawarnings object added, creates a warning

* Warning * CalculateZoneVolume: The Zone="DAYLIT ZONE" is not fully enclosed. To be fully enclosed, each edge of a surface must also be an edge on one other surface.

The Warning continues saying the zone volume calculation is done by

* ~~~ * The zone volume was calculated using the floor area times ceiling height method where the floor and ceiling are the same except for the z-coordinates.

Granted, the proper way to specify a light shelf is energyplus is unusual, but it shouldn't create this warning.


What I really care about though is if this will or will not output accurate results. Is there any way to find out?

Energyplus github issue

2018-11-27 12:30:52 -0600 edited question Does DaylightingDevice:Shelf causing unenclosed zone output inaccurate results?

Does DaylightingDevice:Shelf causing unenclosed zone output inaccurate results? Simulating DaylightingDeviceShelf.idf fr

2018-11-27 12:25:11 -0600 asked a question Does DaylightingDevice:Shelf causing unenclosed zone output inaccurate results?

Does DaylightingDevice:Shelf causing unenclosed zone output inaccurate results? Simulating DaylightingDeviceShelf.idf fr

2018-11-19 15:48:04 -0600 commented answer Debugging of workspace.addObjects() input

@mldichter, I don't think it has changed. I would keep tabs on this git issue that @macumber made earlier today.

2018-11-19 15:33:23 -0600 marked best answer Force measure to assign string to field, whether or not the string is valid or invalid?

I am writing a fairly large measure and I'm having trouble getting the generated idf to have all the fields populated.

The problem is the measure does not set an object field to a string if that string is invalid. For example, if I'm trying to create a Sizing:Plant object with the following fields without having first created the Plant object

Sizing:Plant,
    NameOfPlantObjectThatDoesNotExistYet,             !- Plant or Condenser Loop Name
    Heating,                 !- Loop Type
    82,                      !- Design Loop Exit Temperature {C}
    11.0;                    !- Loop Design Temperature Difference {deltaC}

the text in the idf file created by the measure looks like this

Sizing:Plant,
    ,                        !- Plant or Condenser Loop Name
    Heating,                 !- Loop Type
    82,                      !- Design Loop Exit Temperature {C}
    11.0;                    !- Loop Design Temperature Difference {deltaC}

The solution is very simple. Always create an object before referencing it. However, this is really annoying since you now have to worry about the order of adding objects in the measure.

Is there any way to force the measure to write a value to an object field, even if that string is invalid according to Energyplus?


Failed Fix #1:
Looks like there is no easy way to do what I want. However, I did find a boneheaded way to do it. I start with adding all the idf objects as strings directly from the idf file

# define what happens when the measure is run
def run(workspace, runner, user_arguments)
  super(workspace, runner, user_arguments)

  # use the built-in error checking
  if !runner.validateUserArguments(arguments(workspace), user_arguments)
    return false
  end

  #array to hold new IDF objects
  string_objects = []

  string_objects << "
  AirLoopHVAC,
      DOAS,                    !- Name
      DOAS Controllers,        !- Controller List Name
      DOAS Availability Managers,  !- Availability Manager List Name
      autosize,                !- Design Supply Air Flow Rate {m3/s}
      DOAS Branches,           !- Branch List Name
      ,                        !- Connector List Name
      DOAS Air Loop Inlet,     !- Supply Side Inlet Node Name
      DOAS Return Air Outlet,  !- Demand Side Outlet Node Name
      DOAS Supply Path Inlet,  !- Demand Side Inlet Node Names
      DOAS Supply Fan Outlet;  !- Supply Side Outlet Node Names
      "
  .
  .
  .
  MANY MORE OBJECTS ADDED TO string_objects
  .
  .
  .
  DONE ADDING OBJECTS

  #multiple times so objects that reference other objects can fill fields since all objects exist from first pass
  for i in 1..2
    string_objects.each do |string_object|
      create_object(string_object,workspace)
    end
  end

  return true
end

where the create_objects() function is

  def create_object(idf_object_string,workspace)
    idf_object_array = idf_object_string.split(/[\n,;]/)
    idf_object_array = idf_object_array[1..-3]
    field_array = []
    idf_object_array.each do |element|
      element = element.strip
      if !( element.index("!") or element == "")
        field_array.push(element)
      end
    end

    object = get_object(field_array[1],field_array[0],workspace)
    for i in 2..(field_array.length-1)
      object.setString(i-1,field_array[i])
    end

    return true
  end

The first chunk is to extract all the objects field values from the inputted idf_object_string. The second chunk is to create that object. The get_object() function finds the object with a certain name or type, and creates that object if it doesn't exist.

This is kinda boneheaded, but it is working, almost. The first chunk for parsing the idf_object_string in create_object() doesn't work with blank fields, like the Connector List ... (more)

2018-11-19 15:33:23 -0600 commented answer Force measure to assign string to field, whether or not the string is valid or invalid?

Link to issue. https://github.com/NREL/openstudio-standards/issues/540#issuecomment-438903015

2018-11-19 15:14:47 -0600 commented answer Debugging of workspace.addObjects() input

@David Goldwasser Has the behavior of workspace.addObject() changed since this unmethours question? https://unmethours.c

2018-11-19 15:14:26 -0600 commented answer Debugging of workspace.addObjects() input

@David Goldwasser Has the behavior of workspace.addObject() changed since this unmethours question? https://unmethours.c

2018-11-19 15:13:56 -0600 commented answer Debugging of workspace.addObjects() input

@David Goldwasser Has the behavior of workspace.addObject() changed since this unmethours question? https://unmethours.c

2018-11-19 15:04:50 -0600 marked best answer Changing the idd file for energyplus measures

I tried modifying the Energy+.idd files in two locations to customize the field values of an object created in an energyplus measure. The two idd files I modified are
C:\openstudio-2.6.0\EnergyPlus\Energy+.idd
and
C:\EnergyPlusV8-9-0\Energy+.idd

As an example, I choose to modify the "Outdoor Air Equipment List Name" of the AirLoopHVAC:OutdoorAirSystem object.

AirLoopHVAC:OutdoorAirSystem,
  DOAS OA System,                         !- Name
  DOAS OA System Controllers,             !- Controller List Name
  DOAS OA System Equipment,               !- Outdoor Air Equipment List Name
  DOAS Availability Managers;             !- Availability Manager List Name

I attempted to write this object to the idf file using

  string_object = "
AirLoopHVAC:OutdoorAirSystem,
  DOAS OA System,                         !- Name
  DOAS OA System Controllers,             !- Controller List Name
  ,                                       !- Outdoor Air Equipment List Name
  DOAS Availability Managers;             !- Availability Manager List Name
      "
  idfObject = OpenStudio::IdfObject::load(string_object)
  object = idfObject.get
  wsObject = workspace.addObject(object)

but the "DOAS OA System Equipment" object hadn't been defined yet, meaning assigning "DOAS OA System Equipment" to the "Outdoor Air Equipment List Name" would be invalid since the referenced object doesn't exist yet. So the idf file contained this instead

AirLoopHVAC:OutdoorAirSystem,
  DOAS OA System,                         !- Name
  DOAS OA System Controllers,             !- Controller List Name
  ,                                       !- Outdoor Air Equipment List Name
  DOAS Availability Managers;             !- Availability Manager List Name

So I modified the AirLoopHVAC:OutdoorAirSystem portion of the Energy+.idd file in both locations.

AirLoopHVAC:OutdoorAirSystem,
       \memo Outdoor air subsystem for an AirLoopHVAC. Includes an outdoor air mixing box and
       \memo optional outdoor air conditioning equipment such as heat recovery, preheat, and precool
       \memo coils. From the perspective of the primary air loop the outdoor air system is treated
       \memo as a single component.
       \min-fields 3
   A1, \field Name
       \required-field
       \type alpha
       \reference-class-name validBranchEquipmentTypes
       \reference validBranchEquipmentNames
   A2, \field Controller List Name
       \note Enter the name of an AirLoopHVAC:ControllerList object.
       \required-field
       \type object-list
       \object-list ControllerLists
   A3, \field Outdoor Air Equipment List Name
       \note Enter the name of an AirLoopHVAC:OutdoorAirSystem:EquipmentList object.
       \required-field
       \type object-list
       \object-list AirLoopOAEquipmentLists
   A4; \field Availability Manager List Name
       \note Enter the name of an AvailabilityManagerAssignmentList object.
       \type object-list
       \object-list SystemAvailabilityManagerLists

changing the A3 field to

   A3, \field Outdoor Air Equipment List Name
       \note Enter the name of an AirLoopHVAC:OutdoorAirSystem:EquipmentList object.
       \required-field
       \type alpha

The change showed up in the IDFEditor as the required orange color when the field is blank was gone, but the measure still failed to put "DOAS OA System Equipment" in the A3 field since the "DOAS OA System Equipment" object hadn't been defined yet.

So if the idd file for openstudio and the different idd file energyplus don't control the behavior for energyplus measures modifying objects, what does?