Unit Descriptions¶
An overview of the standard data in the AUnit type classes is put here for reference. It includes:
- a summary of the head_data keys and input types.
- a list of row_data keys.
There is support for RefhUnit in the library. However the head_data entires are so numerous that it would take for ever to put them all down here. For more information on what is available in the RefhUnit please see ship.fmp.datunits.refhunit
Note Where types are specified in head_data, prefaced with dt, dt means:
ship.datastructures.DATA_TYPES as dt
Where types are specified in row_data, prefaced with rdt, rdt means:
ship.fmp.ROW_DATA_TYPES as rdt
RiverUnit¶
Type and Category¶
unit_type = ‘river’ unit_category = ‘river’
ic_labels¶
self.name
head_data contents¶
- key=’comment’, data_type=dt.STRING
- key=’spill1’, data_type=dt.STRING
- key=’spill2’, data_type=dt.STRING
- key=’spill2’, data_type=dt.STRING
- key=’lateral1’, data_type=dt.STRING
- key=’lateral2’, data_type=dt.STRING
- key=’lateral3’, data_type=dt.STRING
- key=’lateral4’, data_type=dt.STRING
- key=’distance’, data_type=dt.FLOAT, dps=3
- key=’slope’, data_type=dt.FLOAT, dps=4
- key=’density’, data_type=dt.INT
Row Data¶
- row_data[‘main’]
- DataObject=FloatData, key=rdt.CHAINAGE, no_of_dps=3
- DataObject=FloatData, key=rdt.ELEVATION, no_of_dps=3)
- DataObject=FloatData, key=rdt.ROUGHNESS, default=0.039, no_of_dps=3
- DataObject=SymbolData, symbol=*, key=rdt.PANEL_MARKER, default=False
- DataObject=FloatData, key=rdt.RPL, default=1.000, no_of_dps=3
- DataObject=do.ConstantData, rdt.BANKMARKER, choices=(‘’, ‘LEFT’, ‘RIGHT’, ‘BED’), default=’‘
- DataObject=FloatData, key=rdt.EASTING, default=0.0, no_of_dps=2
- DataObject=FloatData, key=rdt.NORTHING, default=0.0, no_of_dps=2
- DataObject=ConstantData, rdt.DEACTIVATION, choices=(‘’, ‘LEFT’, ‘RIGHT’), default=’‘
- DataObject=StringData, key=rdt.SPECIAL, default=’~’ # Default == ‘~’ means to ignore formatting and apply ‘’ when value is None
BridgeUnitArch¶
Type and Category¶
unit_type = ‘arch’ unit_category = ‘bridge’
ic_labels¶
self.name, self.name_ds
head_data contents¶
- key=’comment’, data_type=dt.STRING
- key=’remote_us’, data_type=dt.STRING
- key=’remote_ds’, data_type=dt.STRING
- key=’roughness_type’, data_type=dt.CONSTANT, choices=(‘MANNING’,)
- key=’calibration_coef’, data_type=dt.FLOAT, dps=3
- key=’skew_angle’, data_type=dt.FLOAT, dps=3
- key=’width’, data_type=dt.FLOAT, dps=3
- key=’dual_distance’, data_type=dt.FLOAT, dps=3
- key=’num_of_orifices’, data_type=dt.INT
- key=’orifice_flag’, data_type=dt.CONSTANT, choices=(‘’, ‘ORIFICE’)
- key=’op_lower’, data_type=dt.FLOAT, dps=3
- key=’op_upper’, data_type=dt.FLOAT, dps=3
- key=’op_cd’, data_type=dt.FLOAT, dps=3
Row Data¶
- row_data[‘main’]
- DataObject=FloatData, key=rdt.CHAINAGE, no_of_dps=3
- DataObject=FloatData, key=rdt.ELEVATION, no_of_dps=3)
- DataObject=FloatData, key=rdt.ROUGHNESS, no_of_dps=3
- DataObject=ConstantData, rdt.EMBANKMENT, choices=(‘’, ‘L’, ‘R’), default=’‘
- row_data[‘opening’]
- DataObject=FloatData, key=rdt.OPEN_START, no_of_dps=3
- DataObject=FloatData, key=rdt.OPEN_END, no_of_dps=3
- DataObject=FloatData, key=rdt.SPRINGING_LEVEL, no_of_dps=3
- DataObject=FloatData, key=rdt.SOFFIT_LEVEL, no_of_dps=3
BridgeUnitUsbpr¶
Type and Category¶
unit_type = ‘usbpr’ unit_category = ‘bridge’
ic_labels¶
self.name, self.name_ds
head_data contents¶
- key=’comment’, data_type=dt.STRING
- key=’remote_us’, data_type=dt.STRING
- key=’remote_ds’, data_type=dt.STRING
- key=’roughness_type’, data_type=dt.CONSTANT, choices=(‘MANNING’,)
- key=’calibration_coef’, data_type=dt.FLOAT, dps=3
- key=’skew_angle’, data_type=dt.FLOAT, dps=3
- key=’width’, data_type=dt.FLOAT, dps=3
- key=’dual_distance’, data_type=dt.FLOAT, dps=3
- key=’num_of_orifices’, data_type=dt.INT
- key=’orifice_flag’, data_type=dt.CONSTANT, choices=(‘’, ‘ORIFICE’)
- key=’op_lower’, data_type=dt.FLOAT, dps=3
- key=’op_upper’, data_type=dt.FLOAT, dps=3
- key=’op_cd’, data_type=dt.FLOAT, dps=3
- key=’abutment_type’, data_type=dt.CONSTANT, choices=(‘1’, ‘2’, ‘3’)
- key=’num_of_piers’, data_type=dt.INT
- key=’pier_shape’, data_type=dt.CONSTANT, choices=(‘FLAT’, ‘ARCH’)
- key=’pier_shape_2’, data_type=dt.CONSTANT, choices=(‘FLAT’, ‘ARCH’)allow_blank=True),
- key=’pier_calibration_coef’, data_type=dt.FLOAT, dps=3, allow_blank=True
- key=’abutment_align’, data_type=dt.CONSTANT, choices=(‘ALIGNED’, ‘SKEW’)
Row Data¶
- row_data[‘main’]
- DataObject=FloatData, key=rdt.CHAINAGE, no_of_dps=3
- DataObject=FloatData, key=rdt.ELEVATION, no_of_dps=3)
- DataObject=FloatData, key=rdt.ROUGHNESS, no_of_dps=3
- DataObject=ConstantData, rdt.EMBANKMENT, choices=(‘’, ‘L’, ‘R’), default=’‘
- row_data[‘opening’]
- DataObject=FloatData, key=rdt.OPEN_START, no_of_dps=3
- DataObject=FloatData, key=rdt.OPEN_END, no_of_dps=3
- DataObject=FloatData, key=rdt.SPRINGING_LEVEL, no_of_dps=3
- DataObject=FloatData, key=rdt.SOFFIT_LEVEL, no_of_dps=3
- row_data[‘culvert’]
- DataObject=FloatData, key=rdt.INVERT, no_of_dps=3)
- DataObject=FloatData, key=rdt.SOFFIT, no_of_dps=3)
- DataObject=FloatData, key=rdt.AREA, no_of_dps=3
- DataObject=FloatData, key=rdt.CD_PART, no_of_dps=3
- DataObject=FloatData, key=rdt.CD_FULL, no_of_dps=3
- DataObject=FloatData, key=rdt.DROWNING, no_of_dps=3
InitialConditionsUnit¶
Type and Category¶
unit_type = ‘initial_conditions’ unit_category = ‘initial_conditions’
head_data contents¶
None
Row Data¶
- row_data[‘main’]
- DataObject=StringData, key=rdt.LABEL
- DataObject=StringData, key=rdt.QMARK, default=’y’
- DataObject=FloatData, key=rdt.FLOW, default=0.000, no_of_dps=3
- DataObject=FloatData, key=rdt.STAGE, default=0.000, no_of_dps=3
- DataObject=FloatData, key=rdt.FROUDE_NO, default=0.000, no_of_dps=3
- DataObject=FloatData, key=rdt.VELOCITY, default=0.000, no_of_dps=3
- DataObject=FloatData, key=rdt.UMODE, default=0.000, no_of_dps=3
- DataObject=FloatData, key=rdt.USTATE, default=0.000, no_of_dps=3
- DataObject=FloatData, key=rdt.ELEVATION, default=0.000, no_of_dps=3
SpillUnit¶
Type and Category¶
unit_type = ‘spill’ unit_category = ‘spill’
ic_labels¶
self.name, self.name_ds
head_data contents¶
- key=’comment’, data_type=dt.STRING
- key=’weir_coef’, data_type=dt.FLOAT, dps=3
- key=’modular_limit’, data_type=dt.FLOAT, dps=3
Row Data¶
- row_data[‘main’] - rdt.CHAINAGE must increase
- DataObject=FloatData, key=rdt.CHAINAGE, no_of_dps=3
- DataObject=FloatData, key=rdt.ELEVATION, no_of_dps=3
- DataObject=FloatData, key=rdt.EASTING, no_of_dps=2, default=0.00
- DataObject=FloatData, key=rdt.NORTHING, no_of_dps=2, default=0.00
OrificeUnit¶
FloodReliefUnit and OutfallUnit have the same setup as OrificeUnit, including the same unit_category (orifice). Although they differ in unit_type:
- FloodReliefUnit unit_type == ‘flood_relief’
- OutfallUnit unit_type == ‘outfall’
Type and Category¶
unit_type = ‘orifice’ unit_category = ‘orifice’
ic_labels¶
self.name, self.name_ds
head_data contents¶
- key=’comment’, data_type=dt.STRING
- key=’type’, data_type=dt.CONSTANT, choices=(‘OPEN’, ‘FLAPPED’,
- key=’invert_level’, data_type=dt.FLOAT, dps=3
- key=’soffit_level’, data_type=dt.FLOAT, dps=3
- key=’bore_area’, data_type=dt.FLOAT, dps=3
- key=’us_sill_level’, data_type=dt.FLOAT, dps=3
- key=’ds_sill_level’, data_type=dt.FLOAT, dps=3
- key=’shape’, data_type=dt.CONSTANT, choices=(‘RECTANGLE’, ‘CIRCULAR’,
- key=’weir_flow’, data_type=dt.FLOAT, dps=3
- key=’surcharged_flow’, data_type=dt.FLOAT, dps=3
- key=’modular_limit’, data_type=dt.FLOAT, dps=3
Row Data¶
None
JunctionUnit¶
Note that JunctionUnit.head_data containes one non-HeadDataItem entry for names. I may update this to use HeadDataItem in the future, but for now, just to be confusing the value is a list.
Type and Category¶
unit_type = ‘junction’ unit_category = ‘junction’
head_data contents¶
- key=’comment’, data_type=dt.STRING
- key=’type’, data_type=dt.CONSTANT, choices=(‘OPEN’, ‘ENERGY’)
- key=’names’: []
Row Data¶
None
InterpolateUnit¶
Type and Category¶
unit_type = ‘interpolate’ unit_category = ‘interpolate’
ic_labels¶
self.name
head_data contents¶
- key=’comment’, data_type=dt.STRING
- key=’spill1’, data_type=dt.STRING
- key=’spill2’, data_type=dt.STRING
- key=’lateral1’, data_type=dt.STRING
- key=’lateral2’, data_type=dt.STRING
- key=’lateral3’, data_type=dt.STRING
- key=’lateral4’, data_type=dt.STRING
- key=’distance’, data_type=dt.FLOAT, dps=3
- key=’easting’, data_type=dt.FLOAT, dps=3
- key=’northing’, data_type=dt.FLOAT, dps=3
Row Data¶
None
HtbdyUnit¶
Type and Category¶
unit_type = ‘htbdy’ unit_category = ‘boundary_ds’
ic_labels¶
self.name
head_data contents¶
- key=’comment’, data_type=dt.STRING
- key=’multiplier’, data_type=dt.FLOAT, dps=3
- key=’time_units’, data_type=dt.CONSTANT, choices=time_units
- key=’extending_method’, data_type=dt.CONSTANT, choices=(‘EXTEND’, ‘NOEXTEND’, ‘REPEAT’,
- key=’interpolation’, data_type=dt.CONSTANT, choices=(‘LINEAR’, ‘SPLINE’,
Where time_units are:
time_units = (
'SECONDS', 'MINUTES', 'HOURS', 'DAYS', 'WEEKS', 'FORTNIGHTS',
'LUNAR MONTHS', 'MONTHS', 'QUARTERS', 'YEARS', 'DECADES', 'USER SET',
)
Row Data¶
- row_data[‘main’]
- DataObject=FloatData, key=rdt.ELEVATION, no_of_dps=3
- DataObject=FloatData, key=rdt.TIME, no_of_dps=3
CulvertInletUnit¶
Type and Category¶
unit_type = ‘culvert_inlet’ unit_category = ‘culvert’
ic_labels¶
self.name
head_data contents¶
- key=’comment’, data_type=dt.STRING
- key=’k’, data_type=dt.FLOAT, dps=4
- key=’m’, data_type=dt.FLOAT, dps=3
- key=’c’, data_type=dt.FLOAT, dps=4
- key=’y’, data_type=dt.FLOAT, dps=3
- key=’ki’, data_type=dt.FLOAT, dps=3
- key=’conduit_type’, data_type=dt.CONSTANT, choices=(‘A’, ‘B’, ‘C’)
- key=’screen_width’, data_type=dt.FLOAT, dps=3
- key=’bar_proportion’, data_type=dt.FLOAT, dps=3
- key=’debris_proportion’, data_type=dt.FLOAT, dps=3
- key=’loss_coef’, data_type=dt.FLOAT, dps=3
- key=’trashscreen_height’, data_type=dt.FLOAT, dps=3
- key=’headloss_type’, data_type=dt.CONSTANT, choices=(‘STATIC’, ‘TOTAL’)
- key=’reverse_flow_model’, data_type=dt.CONSTANT, choices=(‘CALCULATED’, ‘ZERO’)
Row Data¶
None