# Mapping in Sub-model Spaces

In this section, you'll learn about:

- Creating maps in a Sub-model space

- Modifying main level maps, when one or more Sub-model spaces is open

- Drawing connectors from main level building blocks to building blocks within a Sub-model space

- Drawing connectors from building blocks within a Sub-model space to main level building blocks

- Using objects when a Sub-model space is open

Creating Maps in a Sub-model Space: When a Sub-model space is open, all Map/Model level building blocks are available to you. To create a map within a Sub-model space, simply connect stocks, flows, converters and connectors as you would on the main level of the Map/Model level. Your Sub-model map can be as detailed as you require. As you create structure within a Sub-model space, you should be aware of four important rules of Sub-model grammar. These are listed below.

- The stock and flow structure within a Sub-model space must be self-contained. The software will not allow you draw a flow across the boundary of a Sub-model space. However, it will allow a connector to cross the boundaries.

- The Sub-model space must contain at least one stock, with both an inflow and an outflow attached. You'll need these to make the Sub-model runnable when you shift to modeling mode.

- You cannot put a Sector Frame within a Sub-model space. The Sector Frame object will be gray as long as you have one or more Sub-models open.

- You cannot turn a stock within a Sub-model space into another Sub-model. Similarly you cannot place a Decision Process Diamond inside a Sub-model. The software supports only one level of drill-down.

Modifying Main Level Maps: Whenever one or more Sub-model spaces are open on the diagram, the software assumes that you want to work within one of them. As a result, entities on the main level are gray (this can be overridden within the Model Prefs... dialog - see Chapter 3 for details).

In addition, whenever you move the cursor outside of a Sub-model space, it will change to an international prohibition symbol (Ø). When you try to accomplish something with the Ø cursor, all you'll get is a "beep" from the software. To override the Ø and gain the use of building blocks, tools and objects on the main level, depress the control key (Windows) or command key (Macintosh). For example, to place a converter on the main level while a Sub-model space is open, you can select the converter. Then, control-click (Windows) or command-click (Macintosh) somewhere on the diagram to deposit the converter. To open a main-level entity, control-double-click (Windows) or command-double-click (Macintosh).

Drawing Connectors from Main Level to Sub-model: As you create a map within a Sub-model space, you'll often find that you need to make a connector linkage from a building block on the main level, to some building block within the Sub-model space. To achieve this end, you have two basic options.

Option 1: Use a Ghost

- Select the Ghost tool.

- Control-click (Windows) or command-click (Macintosh) on the main level building block.

- Click within the Sub-model space to deposit the ghosted image.

- Select the connector, and connect the ghosted image to the desired Sub-model building block.

Option 2: Make a direct connection

- Select the connector.

- Depress the control key (Windows) or command key (Macintosh).

- Make the desired connection.

As shown in Figure 9-9, the connection is displayed, both when the Sub-model is open and when it is closed.

Figure 9-9 Drawing Connectors from Main Level to Sub-Model

Drawing Connectors from Sub-model to Main Level: When making a connector linkage from a Sub-model to a building block on the main level, you again have two options.

Option 1: Use a Ghost

- Select the Ghost tool.

- Click once on the desired Sub-model building block.

- Move the cursor out of the Sub-model space.

- When you get near the target, depress the control key (Windows) or command key (Macintosh), and click to deposit the ghost of the entity.

- Select the connector, and control-drag (Windows) or command-drag (Macintosh) to connect the ghost to the desired building block.

Option 2: Forge a direct connection

- Select the connector, and forge the connection as you normally would.

As illustrated in Figure 9-10, the software will show the connection between the Sub-model and the main level, both when the Sub-model is open and when it is closed.

Figure 9-10 Drawing Connectors from Sub-model to Main Level

Using Objects when a Sub-model Space is Open: The operation of Map/Model level objects (the Sector Frame, the Decision Process Diamond, the Graph Pad, the Table Pad, the Numeric Display, and the Text Block) varies, depending upon whether a Sub-model space is open. It's important for you to be aware of these differences in operation. We'll look briefly at each object.

Sector Frame: The Sector Frame is grayed out whenever a Sub-model is open. Sectors can exist only on the main level. To create a new Sector Frame (or to paste a copy of an existing one), you must first close all Sub-models.

Decision Process Diamond: You cannot place a Decision Process Diamond within a sub-model space. The software supports only one level of drill-down.

Graph and Table Pads: The Graph Pad and Table Pad objects are accessible, both when a Sub-model is open and when it is closed. A click within a Sub-model space will deposit the Pad icon within the space. A control-click (Windows) or command-click (Macintosh) will deposit the Pad icon on the main level. When a Pad icon is within a Sub-model space, it will take on the selective display characteristic of Sub-models. Opening the Sub-model will show the Pad icon, while closing the Sub-model will hide the Pad icon.

Note, however, that Graph and Table Pads themselves will not take on the selective display characteristic. Unpinned Pads will exist in their own windows. When you open an unpinned pad, it will "float" above the surface of the diagram. Pinned pads will be pinned to the main level of the diagram, not the Sub-model space. If a Sub-model contains a Pad icon, and the Pad is pinned to the diagram, closing the Sub-model will leave the Pad showing on the diagram.

Numeric Display: The numeric display can be selected from the object palette while a Sub-model is open. After you select the Numeric Display, you must position the cursor away from the Border of the Sub-model space to allow the entire display to fit within the space. As you move the cursor towards the middle of the space, the cursor will turn into the Numeric Display icon. Then click to deposit it in the Sub-model space.

Text Block: The Text Block can be selected from the object palette while a Sub-model is open. However, the software will allow you to deposit a Text Block within a Sub-model space only when the default size of the Block will fit within the space. As a result, if you select a Text Block when a Sub-model is open, you will encounter the Ø cursor when you slide the cursor onto the diagram - unless you move the cursor toward the top-left edge of the Sub-model space. When you see the cursor turn to that of the Text Block, click to deposit the block within the space. To deposit the Text Block on the main level, you must first depress the control key (Windows) or command key (Macintosh).

Button: You cannot place a button within a Sub-model space. You can press a button that appears on the main level by simultaneously pressing the control key (Windows) or the command key (Macintosh). If the button is configured to navigate to the Interface level, the software will close any open Sub-models before leaving the Map/Model level.