Skip to content

Groups

Overview

GROUPS are user-defined groups of model objects, for instance groups of water bodies or groups of boundary inputs. Groups are used a number of places in DSM2, including: tracking of constituents originated from grouped sources, tracking of particles as they reside or move between groups of water bodies and/or boundaries, and assignment of rate coefficients in QUAL to groups of water bodies. In each context, the types of model objects that are allowed in the groups may be slightly different. That validation takes place elsewhere in the object using the group.

Tables

GROUP

The GROUP table defines the name of a group. It has one column!!! The reason we do this is to provide a top level table for overriding and redefining groups in the layering system.

Field Descriptions

NAME

Name of the group. This is the identifier for the group used in references elsewhere in the input system.

Table Info

Identifier:

NAME

Include Block:

GROUPS


GROUP_MEMBER

The Group Members Table lists members of the parent group. The group members are identified using patterns written using regular expression and a special syntax for ranges of numbers. If this sounds like nonsense -- don't worry. The examples should cover most of the important ways you would want to define group members. Note also that you can use multiple rows to define the group -- the result will be the union of the members from the individual rows.

Field Descriptions

MEMBER_TYPE

The type (channel, etc) of model object.

Identifier/Pattern

A pattern that will be matched against the identifier of the object (channel number, input name, etc). The pattern can be a regular expression or use the special range notation.

Here are some examples:

range:132-176

Matches any number in this range,inclusive

dicu_drn_.*

Dot-star is a wildcard matches any name that starts with dicu_drn)

mtz

Exact name

(183|184|185)

A choice of number identifiers

(mtz|sjr)

A choice of names.

14[2-7]

The regular expression way of doing ranges, which works for a single digit

Table Info

Identifier:

GROUP_NAME,MEMBER_TYPE,PATTERN

Parent Table:

GROUP

Parent Identifier:

GROUP_NAME

Include Block:

GROUPS


  • A regular expressions description can be found in wikipedia and a tutorial and guide can be found at http://www.regular-expressions.info/. You can probably do most of the group matching you want by modifying the above sample patterns, but the possibilities are endless.