Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Space Concept to EnergyPlus Zone Structure, Part 1 #8394

Merged
merged 121 commits into from
Aug 21, 2021
Merged
Changes from 1 commit
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
e694abc
NFP for Space
mjwitte Nov 25, 2020
06ace49
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte Dec 11, 2020
00d64cd
Space NFP updates
mjwitte Dec 11, 2020
0bb911e
Add historical Space NFP for reference
mjwitte Dec 11, 2020
1b0e7f9
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte Dec 17, 2020
bf631c2
Space - rename old NFP to avoid confusion
mjwitte Dec 17, 2020
bfb7410
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte May 11, 2021
85db3f8
Space NFP Plan C
mjwitte May 11, 2021
5604cba
Space NFP Plan C - fix figures
mjwitte May 12, 2021
4793fbc
Revert "Space NFP Plan C"
mjwitte May 12, 2021
d8c1cb6
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte May 19, 2021
5d9462e
Space NFP Plan D
mjwitte May 19, 2021
dff7946
Space NFP Plan D - fix typos
mjwitte May 19, 2021
3b92576
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte May 25, 2021
14c7c3b
Space NFP Plan D - conf call notes
mjwitte May 25, 2021
e963950
Space NFP Plan D - fix figure
mjwitte May 28, 2021
aff8376
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte Jun 7, 2021
e5c2eca
Space NFP Plan D - Design doc
mjwitte Jun 8, 2021
6b47dc7
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte Jun 16, 2021
5c27cd0
Space and SpaceList inputs
mjwitte Jun 16, 2021
578e769
Space - fix build warnings
mjwitte Jun 16, 2021
f29eeba
Space - drop zone name string
mjwitte Jun 17, 2021
c8178c4
Space - add field to surfaces
mjwitte Jun 17, 2021
77a1a60
Space - transition for surfaces
mjwitte Jun 17, 2021
8de8956
Space - transition testfiles
mjwitte Jun 17, 2021
44e3048
Space and SpaceList inputs - fix
mjwitte Jun 17, 2021
4c98b94
Space - transition unit tests
mjwitte Jun 18, 2021
0dec20a
Space - fix transition errors
mjwitte Jun 18, 2021
1777cb7
Space - expandobjects for GHT
mjwitte Jun 18, 2021
a358735
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte Jun 18, 2021
2185eaa
Space - CreateMissingSpaces
mjwitte Jun 18, 2021
5f4055e
Space - Move enclosures from zones to spaces part 1
mjwitte Jun 23, 2021
0bca57e
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte Jun 23, 2021
bba1775
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte Jun 24, 2021
6eb4804
Space - Internal gains
mjwitte Jun 25, 2021
0bb0cc3
Space - Add floor area input and calc
mjwitte Jun 25, 2021
015ee17
Space - People
mjwitte Jun 26, 2021
7097f64
Space - Radiant enclosures and some solar enclosures
mjwitte Jul 14, 2021
71810c9
Space - Merge cleanup?
mjwitte Jul 14, 2021
e3d4458
Space - Daylighting part 1
mjwitte Jul 15, 2021
b4c80ab
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte Jul 15, 2021
93b60b5
Space - fix failures and formatting
mjwitte Jul 15, 2021
d067ec9
Space - fix more problems
mjwitte Jul 19, 2021
04b3eb1
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte Jul 19, 2021
531fff6
Space - unit test repairs and formatting
mjwitte Jul 20, 2021
e09b772
Formatting
mjwitte Jul 20, 2021
7486e9d
Space - fix build warnings
mjwitte Jul 20, 2021
b0aca1f
Space - fix surface space assignments
mjwitte Jul 20, 2021
d06fb71
Space - fix People input processing
mjwitte Jul 20, 2021
dbd7fc7
Space - move call to GetSpaceData and add check for Spaces with no surfs
mjwitte Jul 20, 2021
2de351f
Space - more unit test repairs
mjwitte Jul 20, 2021
cfa218a
Formatting
mjwitte Jul 20, 2021
d80b0f9
Space - more unit test repairs and various refinements
mjwitte Jul 21, 2021
ee8379c
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte Jul 22, 2021
b5922de
Space - Fix more unit tests and daylighting problem
mjwitte Jul 22, 2021
53b1a41
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte Jul 22, 2021
75909b4
Space - Update new SetUpOutputVariable calls
mjwitte Jul 22, 2021
4a010d0
Space - fix field names in epJSON test file
mjwitte Jul 23, 2021
a34dfd7
Space - more unit test repairs and fix internal gains repvar bools
mjwitte Jul 23, 2021
58baba3
Space - propagate internal gains setup and comment new output vars
mjwitte Jul 23, 2021
6fd04fe
Space - fix zone enclosure numbers
mjwitte Jul 26, 2021
05c39ec
Space - fix some daylighting issues and revert some changes
mjwitte Jul 26, 2021
16b8acf
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte Jul 27, 2021
9582936
Space - fix air boundaries and user view factors
mjwitte Jul 27, 2021
638d213
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte Jul 30, 2021
ffdc09a
Space - spaceTypes
mjwitte Jul 31, 2021
585c477
Space - NumOfSpaces -> numSpaces
mjwitte Jul 31, 2021
d4d3074
Space - fix spaceTypes allocation
mjwitte Jul 31, 2021
5a2eba4
Space - InputVerificationandResultsSummary
mjwitte Aug 1, 2021
9301c0a
Space - example file
mjwitte Aug 1, 2021
0e8bc59
Space - InputVerificationandResultsSummary cleanup add tags
mjwitte Aug 2, 2021
df66277
Space - naming cleanup
mjwitte Aug 2, 2021
b828a71
Space - naming cleanup 2nd pass
mjwitte Aug 2, 2021
aa5e2cc
Space - fix sql unit test
mjwitte Aug 2, 2021
5a961f3
Space - internal gains plan B - people
mjwitte Aug 4, 2021
9cb52ed
Space - fix instance naming for People
mjwitte Aug 5, 2021
d47aac4
Space - lets go with spaceIndex(es)
mjwitte Aug 5, 2021
33f7a1e
Space - DesignSpecification:OutdoorAir:SpaceList idd
mjwitte Aug 6, 2021
286a617
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte Aug 6, 2021
7a4b932
Space - Fix new and old unit tests
mjwitte Aug 6, 2021
aa0698b
Space - DesignSpecification:OutdoorAir:SpaceList
mjwitte Aug 8, 2021
86d2bec
Space - repairs
mjwitte Aug 8, 2021
de24f91
PTAC unit test formatting
mjwitte Aug 8, 2021
f7531f4
Space - add Space Name to new test file
mjwitte Aug 9, 2021
e00fe1c
Space - desFlowPerZoneArea and desFlowPerZonePerson more
mjwitte Aug 9, 2021
3e32ba1
Space - DesignSpecification:OutdoorAir:SpaceList input processing
mjwitte Aug 10, 2021
dc8d216
Space - Fix internal gains by space
mjwitte Aug 10, 2021
6a0e4d7
Space - Support floor-only spaces and fix space surf lists
mjwitte Aug 10, 2021
adb587d
Space - Enclosure refinements and fixes
mjwitte Aug 10, 2021
5b736ca
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte Aug 10, 2021
27cec54
Space - DSOA:SpaceList repairs
mjwitte Aug 10, 2021
4c68f2f
Space - fix diffs and unit tests
mjwitte Aug 11, 2021
f1758c1
Space - fix unit tests
mjwitte Aug 12, 2021
fa014e1
Space - setupIHGZonesAndSpaces and setupIHGOutputs for People
mjwitte Aug 12, 2021
7bf5185
Space - missing unit test include
mjwitte Aug 12, 2021
b40cc7b
Space - Lights
mjwitte Aug 13, 2021
477aaf7
Space - SpaceType meters
mjwitte Aug 13, 2021
7e74f43
Space - initialize numGainInstances
mjwitte Aug 13, 2021
3d653fe
Space - SetupOutputVariable revert ZoneKey and add SpaceType
mjwitte Aug 13, 2021
0a7253e
Space - partly address comments and test failures
mjwitte Aug 13, 2021
c8a069e
Space - fix sub-enduse zone and spacetype meters
mjwitte Aug 13, 2021
9fd14a0
Space - More on lighting summary report
mjwitte Aug 16, 2021
7a8f75c
Space - meter parameter name cleanup
mjwitte Aug 16, 2021
bca9228
Space - ABUPS enduse by space type
mjwitte Aug 16, 2021
7e2c6a4
Remove unused parameter from meter addEndUseSubcategory and SpaceType
mjwitte Aug 17, 2021
adb8c16
Space - Plug and Process Equipment
mjwitte Aug 17, 2021
b5b949b
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte Aug 17, 2021
4744f65
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte Aug 19, 2021
3748c12
Space - Replace new example file
mjwitte Aug 19, 2021
0fe6f1f
Space - Address comments and fix output variables
mjwitte Aug 19, 2021
0f1c86a
Space - address build warnings and use DataGlobalConstantsData::iEndU…
mjwitte Aug 19, 2021
3e2d7a1
Space - fix InternalHeatGains pasteos
mjwitte Aug 19, 2021
5fc2331
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte Aug 19, 2021
f177d90
Space - input and output rules
mjwitte Aug 19, 2021
8b7cf07
Merge remote-tracking branch 'remotes/origin/develop' into spaces
mjwitte Aug 19, 2021
7421b46
Space - final IDD changes and input rules
mjwitte Aug 20, 2021
24376bc
Space - one more IDD note
mjwitte Aug 20, 2021
1216007
Space - fix more InternalHeatGains pasteos
mjwitte Aug 20, 2021
02e72c1
Space - update new test files
mjwitte Aug 20, 2021
70389a2
Space - one more input rule
mjwitte Aug 20, 2021
0bc8f15
Resolve conflict in input file
Myoldmopar Aug 21, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
234 changes: 234 additions & 0 deletions design/FY2021/NFP-Spaces.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,234 @@
# Adding "Spaces" to EnergyPlus #

**Michael J. Witte, GARD Analytics, Inc.**
**Jason W. DeGraw, ORNL**
**With input from many more . . .**

- Original, November 22, 2019
- Revised, April 1, 2020
* Keep the current definition of Zone
* Add new objects for Space, SpaceType, CompoundSpaceType, and Enclosure
- Revised, November 25, 2020
* Condensed and focused on final proposal somewhat agreed to back in April 2020
* Revised to reflect simplified Construction:AirBoundary object (radiant and solar enclosures are now the same)

## Justification for New Feature ##

Thermal zones (HVAC zones) are often composed of a variety of spaces grouped together to be served by
a single thermostat. For example, an office building core zone may include private offices, conference rooms, restrooms
and corridors. Each of these spaces (rooms) has different internal gains and may or may not be fully enclosed by solid surfaces.
Currently, the smallest building element is a zone. This requires the user (or interface) to blend these spaces together for surfaces,
internal gains, and other specifications. The option to specify each space explicitly would greatly simplify input in data managemenent,
especially for space-based interfaces (such as OpenStudio) and for codes and standards modeling.

There are also computing performance advantages to dividing zones into smaller enclosures for radiant exchange.

## Overview ##

### Current EnergyPlus model ###
EnergyPlus input currently has the following (very flat) heierarchy:

Zone
Surfaces (references a zone name)
People, Lights, etc. (references a zone name or zone list name)
Thermostat (one per zone)
HVAC equipment (attaches to a zone)

Zones represent an air mass (air node) that exchanges heat with surfaces, internal loads, HVAC equipment, etc.
A Zone is essentially the "atomic unit" of the building. By default a zone has a uniform air temperature, but there are room air models
that allow modeling of stratification and other non-uniform temperature effects. Thermostats and HVAC equipment are assigned per Zone.

The internal data model adds another layer:

Enclosure
Zone
Surfaces
People, Lights, etc.
Thermostat
HVAC equipment
Zone
Surfaces
People, Lights, etc.
Thermostat
HVAC equipment

Enclosures are used for radiant and solar/daylighting exchange. Enclosures are primarily concerned with Surfaces, but they
are also related to internal gains (which cast radiant and visible energy into the enclosure). By default there is one Enclosure for each
Zone. By using Construction:AirBoundary, multiple zones may be grouped into a single larger Enclosure.
Enclosures are assigned automatically based on the zones connected by an air boundary surface.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If Spaces are fully enclosed (air boundaries count as being fully enclosed because the volume is defined) and Spaces cannot overlap, then ThermalZones and Enclosures composed of Spaces will be fully enclosed (but possibly disjoint) and non-overlapping.

Copy link
Member

@jasondegraw jasondegraw Nov 25, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spaces are fully enclosed as you describe (with the possibility of air boundaries), so yes to the rest.



## New Space Object

### Relationship assumptions ##

If we keep the current definition of "Zone" and add the concept of
"Space" (<= Zone), then this would add a new layer to the data model:

Zone
Thermostat
HVAC equipment
Space 2
Surfaces
Internal Gains (People, Lights, etc.)
Space 3
Surfaces
Internal Gains (People, Lights, etc.)

Enclosure
Copy link

@macumber macumber Nov 25, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't look like a correct tree hierarchy to me. OpenStudio's geometry is in a tree hierarchy (due to the physical reality that Spaces are physical objects that can't overlap). ThermalZones are off to the side, they are not part of the tree, they reference Spaces by ID rather than literally nesting the Spaces inside them.

  • Spaces
    • Space
      • ID
      • Surfaces
      • Internal Gains
  • ThermalZones
    • ThermalZone
      • Space IDs
  • Enclosures
    • Enclosure
      • Space IDs

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the proposed hierarchy is conceptual and conceptually matches OS.

Copy link

@macumber macumber Nov 25, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Space 1
Surfaces
Internal Gains (People, Lights, etc.)
Space 2
Surfaces
Internal Gains (People, Lights, etc.)


### Definitions

* Surface - A geometric plane which is attached to a Space.
* A Surface can be opaque, transparent, or an air boundary.
* Each Surface belongs to one Space.

* Space - A collection of one or more Surfaces and internal gains.
* Each Space belongs to one Zone (explicitly user-assigned).
* The Spaces in a Zone are lumped together for the Zone heat balance.
* There is no heat balance at the Space level.
* Each Space belongs to one Enclosure (implicitly assigned).

* Zone - An air mass connecting Surfaces, internal gains, and HVAC equipment for heat balance and HVAC control.
* Each Zone is comprised of one or more Spaces.
* All Surfaces and internal gains associated with the Spaces are included in the Zone.
* The Zone heat balance does not change: it has an air node (or a Room Air Model) and includes all Surfaces and
internal gains from its Spaces plus any HVAC which is attached to the Zone.

* Enclosure - A continuous volume connecting Surfaces for radiant, solar, and daylighting exchange.
* Each Enclosure is comprised of one or more Spaces.
* There is one Enclosure for each Space unless there are air boundary surfaces
which group multiple Spaces into a single Enclosure.
* All Surfaces and internal radiant gains associated with the Spaces are included in the Enclosure.
* Enclosures only distribute radiant (thermal), solar, and visible energy to and from the Surfaces.
* There is no full heat balance at the Enclosure level. Each Enclosure only balances the radiant/solar flux on each
Surface. These fluxes then become part of the Surface inside heat balance.

## Proposed Input Approach ##
Very minimal changes to current inputs.

* Old Zone object becomes Space object plus some tags.
* New Zone object has a name and a list of Spaces.
Copy link

@macumber macumber Nov 25, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest the name ThermalZone which would align with OpenStudio and allow for other types of Zones.

I'd suggest naming Enclosure something like RadiantTransferZone or something that better captures its simulation purpose. To me, the word Enclosure is more about being waterproof and keeping your stuff out of the elements.

OpenStudio envisioned Zones for calculating and controlling lighting like DaylightingZone, ElectricLightingZone. There could also be AirflowZone or others in the future. BuildingStory and Unit (e.g. apartment or commercial unit) are other useful groupings of Spaces.

Copy link

@macumber macumber Nov 25, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like these different *Zones could be used to partition the simulation into separate calculations and might even be useful in parallelizing the simulation in the future?

* Surfaces will reference a Space instead of a Zone.
* ZoneHVAC and Thermostats remain as-is and continue to reference a Zone or ZoneList.
* New SpaceList object (equivalent to ZoneList, but for Spaces).
* Internal gains reference Space or Spacelist (instead of Zone or ZoneList).
* ZoneInfiltration and ZoneVentilation remain at the zone level.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to make infiltration or ventilation at the space level? That would simplify input for cases where ventilation requirements are a function of space type.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is possible, I think we probably just want to avoid having both (e.g. SpaceInfiltration and ZoneInfiltration). Moving everything to the space level will probably be more work, but if that's the right solution then we should do that.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whether it's SpaceInfiltration or ZoneInfiltration, it'd be nice to be able to get individual outputs for each object. With current EnergyPlus, you can have multiple ZoneInfiltration objects in a zone, but can only get aggregate outputs (i.e., the key for Zone Infiltration Sensible Heat Gain Energy is a zone object, not an infiltration object).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should probably have outputs for both space and zone to show individual as well as aggregated.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with this: limit to one input approach but output at both the space and zone level.


### Proposed objects:

Space, !- Same fields as old Zone object plus new tags at the end
Name,
Origin,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we really need to continue using origin? Why?

Multiplier,
Ceiling Height,
Volume,
Floor Area,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't floor area be calculated from the floor surface attached to this space? Shouldn't ceiling height and air volume be calculated from the other surfaces attached to this space?

Convection algorithms,
Part of Total Floor Area,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Part of total floor area of what? Zone? Enclosure?

User-defined Tags for Space Types (for reporting purposes only at this point)

Lighting/People/Equipment
Name,
Space or SpaceList Name, !- Replace current Zone or ZoneList Name
Schedule Name,
...

ZoneVentilation and ZoneInfiltration
Name,
Zone or ZoneList Name, (or should these more to the Space level and be renamed?)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't thought about this before. I have in the past included a part of a hallway with the adjacent office space as a single zone, just to save time on data entry. The hallway in a commercial building would have a different infiltration rate than other spaces since it would be connected to external doors, and would typically not have a thermostat. Of course you could add a thermostat in a simulation but that would defeat the purpose of "zoning" spaces around a common thermostat. So if this is left as a zone object the user would need to correctly group spaces of like ventilation/infiltration to a single zone instead of grouping spaces near a thermostat to a single zone. So it seems to me ventilation/infiltration should be applied at the space level.

...
Part of Total Floor Area;

Surface,
Name,
...
Space Name, !- Replace current Zone Name
(InterZone surfaces becomes InterSpace surfaces, air boundary surfaces will connect spaces in an enclosure)

## Data Structure Considerations ##

* Add fields to `Surface` to track the Space name and index along with the existing Zone and Enclosure fields.

* Proposed Surface ordering (same as current):
- All shading surfaces are first
- All air boundary surfaces are next (once PR8370 merges).
- Group by Zone
- Group by surface type within each Zone

e.g., Zone1 contains Space1 and Space3, Zone2 contains Space2.

Shading Surfaces
Air Boundary Surfaces
Space1-OpaqueSurface1 (begin surfaces in Zone1)
Space1-OpaqueSurface2
Space3-OpaqueSurface1
Space3-OpaqueSurface2
Space1-Window1
Space1-Window2
Space2-OpaqueSurface1 (begin surfaces in Zone2)
Space2-OpaqueSurface2
Space2-Window1

* Alternate Surface ordering:
- All shading surfaces are first
- All air boundary surfaces are next
- Group by Enclosure (because enclosure radiant exchange is more computationally intensive than zone heat balance?)
- Group by Space within each Enclosure.
- Group by surface type within each Space
- Modify heat balance Zone loops to be Space loops(?)

e.g., Enclosure1 contains Space1 and Space3, Enclosure2 contains Space2.

Shading Surfaces
Air Boundary Surfaces
Space1-OpaqueSurface1 (begin surfaces in Enclosure1)
Space1-OpaqueSurface2
Space1-Window1
Space1-Window2
Space3-OpaqueSurface1
Space3-OpaqueSurface2
Space2-OpaqueSurface1 (begin surfaces in Enclosure2)
Space2-OpaqueSurface2
Space2-Window1

## Options/Questions for Discussion
* Keep ZoneVentilation and ZoneInfiltration at the Zone level or move to the Space level (and rename)?
* Allow Zone Names to be the same as Space Names or force all names to be unique across Spaces and Zones?
* Zone-based or Enclosure-based surface grouping?

## Testing/Validation/Data Sources ##

There should be no substantive diffs (possibly some small diffs due to change in computational order).
For the regression tests which are one-to-one Space-To-Zone, all numeric results
should stay exactly the same, but output variable names and table headings may change.

## Input Output Reference Documentation ##

The I/O Reference section for Zone becomes Space with some explanatory text at the top.
The new Zone becomes a list of Spaces.

## Outputs Description ##

Output variables which are zone-based will remain the same.
Some space-level output variables may be added.
Table reports summarizing inputs at the space level will be added.
Table reports allocating energy at the space level *may* be added.

## Engineering Reference ##

Calulations won't change, so doc changes will be minimal to clarify when Space, Zone, and Enclosure.

## Example File and Transition Changes ##

* Convert Zone objects to Space objects and add "-Space" to the name.
* Insert new Zone objects (one for each original Zone, no name change).
* Surfaces - Change all Zone names to add "-Space"
* Internal gains - Change all Zone names to add "-Space"