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

Parametric Analysis Tool adds invalid LinearPowerDensity object to models

asked 2017-12-06 17:56:27 -0500

mldichter's avatar

updated 2017-12-14 15:26:19 -0500

In OpenStudio 2.3.0, I used the BCL measure Create DOE Prototype Building with the following parameters

Template: 90.1-2013

Climate Zone: ASHRAE 169-2006-2A
Climate File (NECB only): Not Applicable
for three different building types

Building Type: RetailStripmall
Building Type: FullServiceRestaurant
Building Type: QuickServiceRestaurant

to create three osm files. All three osm files generated can be opened in OpenStudio with no errors. I used these osm files as input into the Parametric Analysis Tool with an EnergyPlus measure called DoNothing which doesn't modify anything.

The Parametric Analysis Tool runs fine on RetialStripmall with no errors. The IDF file generated can be imported into Openstudio to view geometry.

The Parametric Analysis Tool runs fine on FullServiceRestaurant and QuickServiceRestaurant with no errors, but the IDF files generated report the following error when importing into Openstudio.

File is not valid to draft strictness. The collection is INVALID at strictness level 'Draft', because of the errors: Field level data error of type DataType. Error is in an object of type 'ScheduleTypeLimits', named 'LinearPowerDensity', in field 4. Additional information about the error type: field-level data is of an incorrect type.

I think that the Parametric Analysis Tool must be adding the ''LinearPowerDensity' to the IDF file for FullServiceRestaurant and QuickServiceRestaurant, but why?

A little background: I'm trying to write a measure to add windows to the roofs of buildings for use with the PAT. This measure will be used in combination with other measures to automate testing of building with several varying parameters, one of which is the number of windows on the roof. In order to test my measure is adding windows appropriately, and also check the optimum results generated by the PAT, I'd really like to view the geometry of the building after my measure is applied. I know importing an IDF into OpenStudio discards a lot of information, but I only need to see if the windows were correctly placed in a roof and if the pattern of the windows on the roof is sensible. My current workaround is to go into the IDF generated by the PAT, manually delete the invalid LinearPowerDensity object, and then view the geometry. However, that's a bit of a kluge, and won't be nearly as practical for the level of automation I'm hoping for.

edit retag flag offensive close merge delete


@mldichter this is more of a question about importing IDF files into OpenStudio than it is a PAT question. The supported workflow is OSM > IDF > EnergyPlus which results in SQL file and other simulation results. You can't cleanly import the IDF back to an OSM without losing some elements. See this post for more details. Does the IDF open in OpenStudio without those elements? Also if you want to view the geometry you can do that directly with the OSM file.

David Goldwasser's avatar David Goldwasser  ( 2017-12-08 16:24:57 -0500 )edit

@David Goldwasser My question really boils down to "How do I prevent the PAT from adding an invalid object to the generated IDF?" or "How do I automate removal of an invalid object in the IDFs that the PAT generates?"

Also, I added a little background in the original post. I'm new to EnergyPlus, so there's a pretty good chance I'm going about this the wrong way.

The offending object is * Warning * ProcessScheduleInput: ScheduleTypeLimits="LINEARPOWERDENSITY", Unit Type="LINEARPOWERDENSITY" is invalid.

mldichter's avatar mldichter  ( 2017-12-13 13:17:37 -0500 )edit

What does that object look like in your IDF file, I can't reproduce your error. IDF's from all three prototypes for 2013 2A in OpenStudio 2.3.0 import fine into the SketchUp Plugin and OS app. Here is what the object looks like for me.

ScheduleTypeLimits, LinearPowerDensity, !- Name 0, !- Lower Limit Value {BasedOnField A3} , !- Upper Limit Value {BasedOnField A3} Continuous, !- Numeric Type linearpowerdensity; !- Unit Type

David Goldwasser's avatar David Goldwasser  ( 2017-12-14 14:13:08 -0500 )edit

As a side note, you can view the geometry using the OSM file both in the SketchUp Plugin and in the OpenStudio application. Also as a note, the two restaurant prototype buildings have attics with sloped roofs, not sure if that is creating issues in your skylight generation.

David Goldwasser's avatar David Goldwasser  ( 2017-12-14 14:14:55 -0500 )edit

Related to goal of your measure, are you writing that as an EnergyPlus measure? There are OpenStudio methods to generate and apply skylight patterns that could make your work easy. You cold use it as is, or if you want custom patterns, you could still use the second method to apply the custom pattern.

pattern = OpenStudio::Model::generateSkylightPattern(spaces,spaces[0].directionofRelativeNorth,ratio, skylightSize, skylightSize) # ratio, x value, y value

skylights = OpenStudio::Model::applySkylightPattern(pattern, spaces,
David Goldwasser's avatar David Goldwasser  ( 2017-12-14 14:24:47 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2017-12-14 17:41:33 -0500

updated 2017-12-14 17:47:57 -0500

Looks like in a number of cases the OpenStudio.idd for OS:ScheduleTypeLimits is out of sync with the EnergyPlus.idd for TypeLimits.

I'll investigate why this is the case, but it is problematic that we are generating idf, that while they run fine, other applications including our own find it invalid.

Here is a list of valid Unit Types for EnergyPlus TypeLimits

   \key Dimensionless
   \key Temperature
   \key DeltaTemperature
   \key PrecipitationRate
   \key Angle
   \key ConvectionCoefficient
   \key ActivityLevel
   \key Velocity
   \key Capacity
   \key Power
   \key Availability
   \key Percent
   \key Control
   \key Mode

Here is a list of valid Unit Types for OS:ScheduleTypeLimits. * added by ones that don't also exist in EnergyPlus

   \key Dimensionless
   \key Temperature
   \key DeltaTemperature
   \key PrecipitationRate
   \key Angle
   \key ConvectionCoefficient
   \key ActivityLevel
   \key ClothingInsulation *
   \key Velocity
   \key RotationsPerMinute *
   \key VolumetricFlowRate *
   \key MassFlowRate *
   \key Capacity
   \key Power
   \key Pressure *
   \key SolarEnergy *
   \key Availability
   \key Percent
   \key ControlMode * (maybe forward translates to "Control", I haven't tested)
   \key LinearPowerDensity *
edit flag offensive delete link more


@David Goldwasser That answers my question. Thanks for your help!

mldichter's avatar mldichter  ( 2017-12-14 17:45:56 -0500 )edit

@David Goldwasser\key ControlMode is not forward translated and issuing warning:

 ** Warning ** ProcessScheduleInput: ScheduleTypeLimits="CONTROLMODE", Unit Type="CONTROLMODE" is invalid.
Avi's avatar Avi  ( 2018-01-06 03:09:54 -0500 )edit

answered 2017-12-15 05:15:51 -0500

This error can be safely ignored though.

The ScheduleTypeLimits Unit Type field really isn't used by EnergyPlus at all. It's just used by the IDF Editor to display the right IP/SI units.

Source: Input/Output Reference

This field is used to indicate the kind of units that may be associated with the schedule that references the ScheduleTypeLimits object. It is used by IDF Editor to display the appropriate SI and IP units. This field is not used by EnergyPlus.

OpenStudio uses it for the same reasons, and there are very valid reasons to have added a few. MassFlowRate and volumetricFlowRate, SolarEnergy for example need to be converted to the right IP units too.

The "magic" happens here in ScheduleTypeLimits::units

Note: A quick fix would be just to add the OpenStudio extra options to the Energy+.idd that ships with OpenStudio.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer


Question Tools

1 follower


Asked: 2017-12-06 17:49:19 -0500

Seen: 295 times

Last updated: Dec 15 '17