This document describes the data model and file formats for Release 2.10 of the Supply Capability Engine (SCE). The following items are important:
| Manufacturing part number | 00000ABC123 |
| Aggregation | HardFile2GB |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' | A part number that is known to be constrained |
| ``char'' | PDF location of where the supply of the part is constrained (use ``WW'' to represent the world wide aggregation) |
|
| | ||
| constraintEndDate | date | Date at which part becomes unconstrained; default = FUTURE (that is, constrained over the entire problem horizon) |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' |
|
| ``char'' |
|
| DataElement | type | comment |
|---|---|---|
| partNumber1 | ``char'' | Parent |
| partNumber2 | ``char'' | Child |
| ``char'' |
|
|
| | ||
| usage_rate | float | Quantity per; default = 1.0 |
| usage_time | float | Offset from parent stb date that child is consumed; default = 0.0 |
| effect_start | date | Date BOM record becomes active; default = PAST |
| effect_end | date | Last date BOM record is still active; default = FUTURE |
| fallout | int | Percent of child that is lost during production of parent (different than yield); default = 0; 0 <= fallout < 100 |
| mand_EC_flag | boolean | TRUE indicates that inventory of parent produced prior to effect_start date cannot be used after effect_start; default = 0 |
| phantom_flag | boolean | TRUE indicates bill is a phantom bill. |
| remove_flag | boolean | TRUE indicates bill is a ``remove'' bill. |
| DataElement | type | comment |
|---|---|---|
| partNumber1 | ``char'' | Parent |
| partNumber2 | ``char'' | Child to be substituted |
| partNumber3 | ``char'' | Substitute child | ``char'' |
|
| | ||
| usage_rate | float | Quantity per; default = 1.0 |
| effect_start | date | Date BOM record becomes active; default = PAST |
| effect_end | date | Last date BOM record is still active; default = FUTURE |
| fallout | int | Percent of child that is lost during production of parent (different than yield); default = 0 |
| preference/cost | float | In priority mode, this is the relative preference of making the substitution. In optimization mode, this is the penalty cost for substituting partNumber3 for partNumber2 when building partNumber1; default is set by defaultSubPenalty in the parameters file. |
| explode_active | boolean | This substitution arc is active if using the smart explosions; default = 0. |
| DataElement | type | comment |
|---|---|---|
| partNumber1 | ``char'' | Planner top-level build part number which has selective features or building blocks |
| geography | ``char'' | Geographic source of the demand for this part. |
| bbCategory | ``char'' | An identifier for the building block category. It must be unique for the (partNumber1, geography) pair. |
| | ||
| upper_bound | float | The upper limit on the number of selective features within a set that can be included in the top-level build. If upper_bound = 1, this is equivalent to choosing exactly one selective feature or building block within the set. upper_bound >= 1; default = 1.0 |
| DataElement | type | comment |
|---|---|---|
| partNumber1 | ``char'' | Planner top-level build part number which has selective features or building blocks |
| geography | ``char'' | Geographic source of the demand for partNumber1. |
| bbCategory | ``char'' | An identifier for the building block category |
| partNumber2 | ``char'' | Part number belonging to the selective feature or building block |
| | ||
| usage_rate | float | Quantity per |
| feature_ratio | floatVec | A time vector of feature ratios. In implosion, this ratio multiplied by the total demand for the parent, partNumber1, represents the total maximum amount of the parent, partNumber1, that can be produced with partNumber2; default = 0.0 |
| DataElement | type | comment |
|---|---|---|
| partNumber1 | ``char'' | Planner top-level build part number which has optional features |
| geography | ``char'' | Geographic source of the demand partNumber1. |
| partNumber2 | ``char'' | An optional feature for partNumber1 |
| usage_rate | float | Quantity per |
| | ||
| option_ratio | floatVec | A time vector of option ratios. In implosion, this ratio multiplied by the shipment quantity of the parent represents the maximum amount of this feature that can be shipped; default = 0.0 (vector) |
| max_ratio_without | floatVec | In implosion, this ratio multiplied by the total demand for the parent represents the maximum amount of the demand for the parent that can be produced WITHOUT the child; default = 1.0 (vector). (NOTE: If max_ratio_without = 1, then the feature is purely optional; if max_ratio_without = 0, then the feature is mandatory.) |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' | ``char'' |
|
| cycleTime | float | Number of days to build this part (time to assemble single level bill only) |
| | ||
| start | date | Date at which this data becomes effective; default = PAST |
| end | date | Last date at which this data is effective; default = FUTURE |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' | (assemblies only) | ``char'' |
|
| yield | int | 1 <= yield <= 100 |
| | ||
| start | date | Date at which this data becomes effective; default = PAST |
| end | date | Last date at which this data is effective; default = FUTURE |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' | (assemblies only) | ``char'' |
|
| minimum_lot_size | float | 0.0 <= minimum_lot_size; default = 1.0 |
| incremental_lot_size | float | 1.0 <= incremental_lot_size; default = 1.0 |
| | ||
| start | date | Date at which this data becomes effective; default = PAST |
| end | date | Last date at which this data is effective; default = FUTURE |
| DataElement | type | comment |
|---|---|---|
| partNumber1 | ``char'' | Detailed partname | PDF1 | ``char'' |
|
| partNumber2 | ``char'' | Aggregated partname | PDF2 | ``char'' |
|
| | ||
| usage_rate | float | Units of the aggregate part consumed by one unit of the detailed part; default = 1.0. (This is useful for aggregating hardfiles to a storage quantity.) |
| usage_time | float | Time offset; default = 0.0. (Useful for modelling aggregation of location to a central supply.) |
| preference/cost | float | In priority mode, this is the relative preference of using the aggregate part. In optimization mode, this is the penalty cost for using the aggregate part; default is set by defaultAggregateBopPreference in the parameters file. |
| explode_active | boolean | This aggregation arc is active in certain types of explosions; default = 1. |
| DataElement | type | comment |
|---|---|---|
| partNumber1 | ``char' | Planner part number being demanded. This will generally be a MachineType, or MachineTypeModel. |
| geography | ``char'' | Geographic source of the demand for this part. |
| partNumber2 | ``char'' | This is the manufacturing part number corresponding to the demand from geography for partNumber1 which is produced at PDF. |
| ``char'' | This is where demand for partNumber1 from geography is produced. | |
| | ||
| effect_start | date | Date for which this record is effective; default = PAST |
| effect_end | date | Last date for which this record is effective; default = FUTURE |
| transitTime | float | The nominal transit time, in days, from the PDF to the geography. This parameter is optional; default = 0.0 |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' | Planner part number being demanded. This will generally be a MachineType, or MachineTypeModel |
| geography | ``char'' | Geographic source of the demand for this part. |
| | ||
| demVol | floatVec | Time-phased demand Volume; default = 0.0 (vector) |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' | Planner part number being demanded. This will generally be a MachineType, or MachineTypeModel |
| geography | ``char'' | Geographic source of the demand for this part. |
| | ||
| priority | intVec | Time phased priority (must be integers); default set by defaultPriority in the parameters file |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' | Planner part number being demanded. This will generally be a MachineType, or MachineTypeModel. |
| geography | ``char'' | Geographic source of the demand for this part. |
| | ||
| revenue | floatVec | Time phased revenue. Note: this revenue should be the revenue of the BASE machine. Use the Option Revenue File to represent additional machine revenue associated with options; default = 0.0 (vector) |
| DataElement | type | comment |
|---|---|---|
| partNumber1 | ``char'' | Parent: Planner part number for a top-level build manufacturing part (typically machine type or machine/type/mod) that has partNumber2 as a selective feature/building block or option in its bill. |
| geography | ``char'' | Geographic source of the demand for partNumber1 |
| partNumber2 | ``char'' | Child: The selective feature/building block part. |
| | ||
| optionRevenue | floatVec | Additional revenue associated with supplying the child, partNumber2, with the parent, partNumber1, for the source of demand, geography. Note: make sure that this revenue is not applied twice; default is set by defaultOptionShipReward in the parameters file. |
| DataElement | type | comment |
|---|---|---|
| partNumber1 | ``char'' | Parent: Planner part number for a top-level build manufacturing part that has partNumber2 as an optional feature in its bill. |
| geography | ``char'' | Geographic source of the demand for partNumber1 |
| partNumber2 | ``char'' | Child: The optional feature. |
| | ||
| optionRevenue | floatVec | Additional revenue associated with supplying the child, partNumber2, with the parent, partNumber1, for the source of demand, geography. Note: make sure that this revenue is not applied twice; default is set by defaultOptionShipReward in the parameters file. |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' | Planner part number being demanded. This will generally be a MachineType, or MachineTypeModel. |
| geography | ``char'' | Geographic source of the demand for this part. |
| | ||
| profit | floatVec | Time phased profit. Note: this profit should be the profit of the BASE machine. Use the Option Profit File to represent additional machine profit associated with options; default = 0.0 (vector) |
| DataElement | type | comment |
|---|---|---|
| partNumber1 | ``char'' | Parent: Planner part number for a top-level build manufacturing part (typically machine type or machine/type/mod) that has partNumber2 as a selective feature/building block or option in its bill. |
| geography | ``char'' | Geographic source of the demand for partNumber1 |
| partNumber2 | ``char'' | Child: selective feature/building block or option |
| | ||
| optionProfit | floatVec | Additional profit associated with supplying the child, partNumber2, with the parent, partNumber2, for the source of demand, geography. Note: make sure that this profit is not applied twice; default is set by defaultOptionShipReward in the parameters file. |
| DataElement | type | comment |
|---|---|---|
| partNumber1 | ``char'' | Parent: Planner part number for a top-level build manufacturing part (typically machine type or machine/type/mod) that has partNumber2 as an optional feature in its bill. |
| geography | ``char'' | Geographic source of the demand for partNumber1 |
| partNumber2 | ``char'' | Child: optional feature |
| | ||
| optionProfit | floatVec | Additional profit associated with supplying the child, partNumber2, with the parent, partNumber2, for the source of demand, geography. Note: make sure that this profit is not applied twice; default is set by defaultOptionShipReward in the parameters file. |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' | Planner part number being demanded. This will generally be a MachineType, or MachineTypeModel. |
| geography | ``char'' | Geographic source of the demand for this part. |
| | ||
| minDemandVol | floatVec | If the solution method is heuristic or rollover, then this represents the lower bounds on demand volume to be met during the period regardless of priorities; default = 0.0 (vector). If the solution method is optimization, then this represents the lower bounds on the cumulative demand volume to be met through the period; default = 0.0 (vector). |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' | partNumber is a manufacturing part number | ``char'' |
|
| | ||
| SupplyVol | floatVec | Committed or project supply of partNumber to PDF; default = 0.0 (vector) |
| DataElement | type | comment |
|---|---|---|
| periodNum | int | Period number; 0 <= periodNum <= numPeriods |
| periodStart | date | Start date of period (for periodNum = numPeriods, periodStart is the date of the end of the horizon) |
| length | float | The length of the period in working days. (for periodNum = numPeriods, length is ignored) |
| DataElement | type | comment |
|---|---|---|
| partNumber1 | ``char'' | Destination part number |
| PDF1 | ``char'' | Destination PDF |
| partNumber2 | ``char'' | Source part number |
| PDF2 | ``char'' | Source PDF |
| | ||
| transit_time | float | Transit time from source PDF2 to destination PDF1; default = 0.0 |
| effect_start | date | Date record becomes active; default = PAST |
| effect_end | date | Last date record is still active; default = FUTURE |
| minimum_lot_size | float | 0.0 <= minimum_lot_size; default = 1.0 |
| incremental_lot_size | float | 1.0 <= incremental_lot_size; default = 1.0 |
| usage_rate | float | quantity per; default = 1.0 |
| preference/cost | float | The relative preference (in priority mode) or the penalty cost (in optimization mode) for using this interplant sourcing arc; default is set by defaultInterPlantBopPreference in in the parameters file. |
| explode_active | boolean | This interplant arc is active if using smart explosions; default = 1. |
| DataElement | type | comment |
|---|---|---|
| capacityName | ``char' ' | |
| ``char'' |
|
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' | Parent (partNumber is of part type 1) or operation name |
| capacityName | ``char'' | Child | ``char'' |
|
| | ||
| usage_rate | float | Quantity per; default = 1.0 |
| usage_time | float | Offset from parent stb date that the capacity is consumed; default = 0.0 |
| effect_start | date | Date BOM record becomes active; default = PAST |
| effect_end | date | Last date BOM record is still active; default = FUTURE |
| DataElement | type | comment | capacityName | ``char'' |
|---|---|---|
| ``char'' |
| |
| | ||
| SupplyVol | floatVec | Committed or project availability of capacity at the PDF; default = 0.0 (vector). (Note: capacity availability must be expressed in units consistent with the usage rate given in the BOC.) |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' |
| ``char'' |
|
| | ||
| prodVolUB | floatVec | Time-phased Vector of the hard upper-bounds for the Production Volume; default = infinity |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' | ``char'' |
|
| | ||
| prodVolLB | floatVec | Time-phased Vector of the soft lower-bounds for the Production Volume; default = 0.0 |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' | Planner part number being demanded. This will generally be a MachineType, or MachineTypeModel |
| geography | ``char'' | Geographic source of the demand for this part. |
| | ||
| backlogYield | floatVec | Time-phased perishability factor; 0 <= backlogYield <= 1; default = 1.0 (vector) |
| DataElement | type | comment |
|---|---|---|
| setID | ``char'' | The FSS set identification of the demand pair partNumber and geography |
| partNumber | ``char'' | Planner part number being demanded |
| geography | ``char'' | Geographic source of the demand for partNumber |
| DataElement | type | comment |
|---|---|---|
| setID | ``char'' | The FSS set identification of the demand pair partNumber and geography |
| partNumber | ``char'' | Planner part number being demanded |
| geography | ``char'' | Geographic source of the demand for partNumber |
| DataElement | type | comment |
|---|---|---|
| operationName | ``char'' |
|
| ``char'' |
|
| DataElement | type | comment |
|---|---|---|
| operationName | ``char'' | The name of the operation |
| ``char'' |
| |
| minimum_lot_size | float | 0.0 <= minimum_lot_size; default = 1.0 |
| incremental_lot_size | float | 1.0 <= incremental_lot_size; default = 1.0 |
| | ||
| start | date | Date at which this data becomes effective; default = PAST |
| end | date | Last date at which this data is effective; default = FUTURE |
| DataElement | type | comment |
|---|---|---|
| operationName | ``char'' | The operation name | ``char'' |
|
| yield | int | 1 <= yield <= 100 |
| | ||
| start | date | Date at which this data becomes effective; default = PAST |
| end | date | Last date at which this data is effective; default = FUTURE |
| DataElement | type | comment | operationName | ``char'' |
|
``char'' |
|
|---|---|---|
| | ||
| execVolUB | floatVec | Time-phased vector of the hard upper-bounds for the operation execution volume; default = infinity |
| DataElement | type | comment | operationName | ``char'' |
|
``char'' |
|
|---|---|---|
| | ||
| execVolLB | floatVec | Time-phased vector of the soft lower-bounds for the operation execution volume; default = 0.0 |
| DataElement | type | comment |
|---|---|---|
| operationName | ``char'' | Name of operation |
| partNumber | ``char'' | Child part belonging to operationName | ``char'' |
|
| | ||
| usage_rate | float | Quantity per; default = 1.0 |
| offset | float | Offset in days from date in which operationName is executed that partNumber is consumed; default = 0.0 |
| effect_start | date | Date BOM record becomes active; default = PAST |
| effect_end | date | Last date BOM record is still active; default = FUTURE |
| fallout | int | Percent of child that is lost during execution of operationName; default = 0 |
| DataElement | type | comment |
|---|---|---|
| operationName | ``char'' | Name of operation |
| partNumber1 | ``char'' | Child part belonging to operationName |
| partNumber2 | ``char'' | Substitute part for partNumber1 in operationName's BOM | ``char'' |
|
| | ||
| usage_rate | float | Quantity per; default = 1.0 |
| effect_start | date | Date BOM record becomes active; default = PAST |
| effect_end | date | Last date BOM record is still active; default = FUTURE |
| fallout | int | Percent of partNumber2 that is lost during execution of operationName; default = 0 |
| preference/cost | float | In priority mode, this is the relative preference of making the substitution. In optimization mode, this is the penalty cost for substituting partNumber3 for partNumber2 when executing operationName; default is set by defaultSubPenalty in the parameters file. |
| explode_active | boolean | This substitution arc is active if using the smart explosions; default = 0. |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' | Part produced by the execution of operationName |
| operationName | ``char'' | The operation name | ``char'' |
|
| | ||
| productionRate | float | The number of units of partNumber which are produced by the execution of operationName; default = 1.0 |
| offset | float | Offset in days from date in which operationName is executed that partNumber is produced; default = 0.0 |
| effect_start | date | Date BOM record becomes active; default = PAST |
| effect_end | date | Last date BOM record is still active; default = FUTURE |
| preference/cost | float | The preference (in priority mode) or the penalty cost (in optimization mode) for using operationName to produce partNumber; default is set by defaultExplicitBopPerence in the parameters file. |
| explode_active | boolean | This bop arc is active in certain types of explosions; default = 1. |
| paramID | string | A keyword that defines the parameter code (see below for a list of legal parameter IDs and their expected types) | |
| parameter | string | The parameter | |
| | |||
| | |||
| paramID | Type | Mand | comment} |
| aggregationFile | string | N | Part Aggregation File |
| backlogYieldFile | string | N | Backlog Yield file |
| bocFile | string | N | Manufacturing BOC File |
| bomFile | string | Y | BOM file |
| calendarFile | string | Y | Calendar File |
| capFile | string | N | Capacity Definition File |
| capSupplyFile | string | N | Capacity Supply File |
| cycleTimeFile | string | N | CycleTime File |
| demandVolFile | string | Y | Demand Volumes File |
| featProfitFile | string | N | Feature Profit File (objectiveType = 3) |
| featRevFile | string | N | Feature Revenue File (objectiveType = 2) |
| fssGeneralSetFile | string | Y | FSS General Set Input File |
| fssMachineFile | string | Y | FSS Machine Input File |
| geoSourceFile | string | N | Demand Geo to PDF Source File |
| interPlantFile | string | N | Interplant file |
| lotSizeFile | string | N | Manufacturing Lot Size File |
| minDemandVolFile | string | N | Minimum Demand Volumes File |
| opBomFile | string | N | Operation BOM File |
| opBopFile | string | N | Operation BOP File |
| opFile | string | N | Operation Definition File |
| opLotSizeFile | string | N | Operation Lot Size File |
| opLowerFile | string | N | Operation Lower Bound Execution File |
| opSubBomFile | string | N | Operation Substitution BOM File |
| opUpperFile | string | N | Operation Upper Bound Execution File |
| opYieldFile | string | N | Operation Yield File |
| optionProfitFile | string | N | Option Profit File (objectiveType = 2) |
| optionRevFile | string | N | Option Revenue File (objectiveType = 2) |
| partCondFile | string | Y | Parts Conditioning File |
| partFile | string | Y | Part Definition File |
| priorityFile | string | N | Demand Priority File (objectiveType = 1) |
| prodVolLBFile | string | N | Lower Bound Production Volume File |
| prodVolUBFile | string | N | Upper Bound Production Volume File |
| profitFile | string | Y | Demand Profit File (objectiveType = 3) |
| revenueFile | string | Y | Demand Revenue File (objectiveType = 2) |
| subBomFile | string | N | Substitute BOM file |
| supplyFile | string | Y | Supply Volumes File |
| topLevelToBBdefFile | string | N | Top Level to Building Block definition File |
| topLevelToBBratioFile | string | N | Top Level to Building Block Ratio File |
| topLevelToOptionFile | string | N | Top Level to Option Ratio File |
| yieldFile | string | N | Yield File |
| calendarFormat | "char" | Y | U = US Format, mm/dd/yyyy |
| doImplode | boolean | Y | do an implosion; if set to 0, SCE will run only its MRP engine, default = 1 |
| defaultPDF | string | Y | Default PDF name |
| defaultAggregateBopPreference | float | N | In optimization mode, the penalty cost aggregate bop, otherwise, the preference; default = 0.0 |
| defaultDefaultBopPreference | float | N | In optimization mode, the penalty cost of using the default bop, otherwise, the preference; default = 0.0 |
| defaultExplicitBopPreference | float | N | Used when opBopFile is defined. In optimization mode, the penalty cost of using the user-defined (explicit) bop, otherwise, the preference; default = 0.0 |
| defaultInterPlantBopPreference | float | N | In optimization mode, the penalty cost of using the interplant bop, otherwise, the preference; default = 0.0 |
| defaultOptionShipReward | float | Y | 5.0 |
| defaultPriority | int | Y | The default priority assigned to every demand in every period |
| defObj1ProdCostDiscRateRealParts | float | Y | Very small discount rate for obj1ProdCost for all real parts. (This keeps parts from being built early.) |
| defObj1ProdCostRealParts | float | Y | Small obj1ProdCost for all real parts |
| defaultShipLateLimit | int | N | This is the heuristic ship late limit and it applies to all demands; default = numPeriods - 1 |
| defaultSubPenalty | float | Y | Used when substitutes are permitted, as a penalty cost in optimization mode, or as a sub bop preference otherwise. |
| doFssSingleton | boolean | N | Run FSS with the Singleton Method; default = 0 |
| doFssGeneralSet | boolean | N | Run FSS with the General Set Method; default = 0 |
| doFssMachine | boolean | N | Run FSS with the Machine Method; default = 0 |
| engine | string | Y | Solution Method: optimization or heuristic or rollover |
| equitability | int | Y | Equitability factor for heuristic implosion |
| featureFileOutputFormat | string | N | absolute = Report total amount of features used for the
build plan (default) |
| fileFormatType | string | N | Standard = Standard file format |
| featureRatioFlag | int | Y | 1 = Use feature capability |
| featureSetScrapPenalty | float | Y | 99999.9 |
| featureSetStockPenalty | float | Y | 99999.9 |
| fssFeatureSingletonMethod | string | N | minimal (optional features do not contribute to FSSReq calculation) or maximal (optional features contribute to FSSReq calculation); default = maximal |
| fssFeatureGeneralSetMethod | string | N | minimal (optional features do not contribute to FSSReq calculation) or maximal (optional features contribute to FSSReq calculation); default = maximal |
| fssFeatureMachineMethod | string | N | minimal (optional features do not contribute to FSSReq calculation) or maximal (optional features contribute to FSSReq calculation); default = maximal |
| fssFlag | boolean | N | Enable the FSS Engine; default = 0 |
| fssSingletonMethod | string | N | conservative (FSS engine does not use excess supply for FSSCov calucalation) or liberal(FSS engine uses excess supply for FSSCov calcalation); default = liberal |
| fssGeneralSetMethod | string | N | conservative (FSS engine does not use excess supply for FSSCov calucalation) or liberal(FSS engine uses excess supply for FSSCov calcalation); default = liberal |
| fssMachineMethod | string | N | conservative (FSS engine not use excess supply for FSSCov calucalation) or liberal(FSS engine uses excess supply for FSSCov calcalation); default = conservative |
| fssSingletonHorizon | int | N | The FSS threshold horizon for the singleton method; default = numPeriods - 1 |
| fssGeneralSetHorizon | int | N | The FSS threshold horizon for the general set method; default = numPeriods - 1 |
| fssMachineHorizon | int | N | The FSS threshold horizon for the machine method; default = numPeriods - 1 |
| heurForceEquit | boolean | N | Force heuristic equitability; default = 0. |
| numPeriods | int | Y | Number of periods in the model |
| objectiveType | int | Y | 1 = Priority Based Optimization |
| optionRatioSupplyStockPenalty | float | Y | 10.0 |
| pdfSeparator | character | N | The separator character is used internally in SCE to create dummy part names. The default separator character is the underscore character, _. The pdfSeparator character must be a character that is not used in any other SCE input file. (Hint: Likely candidates for the pdfSeparator include ~,!,@,#,$,%,^,&, and ?.) |
| periodicInterestRate | float | Y | Time value of money factor |
| smartExplodeEquit | int | N | Equitability factor used for the smart explode utility; 1 <= smartExplodeEquit <= 100; use when co-products are involved. default = 10. |
| smartExplodeForceEquit | boolean | N | Force smart explode equitability; this should always be set to 1; default = 1. |
| useFullExplodeUtility | boolean | N | When set to 1, SCE's MRP logic will explode requirements to the lowest level regardless of whether they are past due or not; when set to 0, SCE uses PRM's standard explode logic in which pastDue demands do not explode. default = 1 |
| useLocalBuildAhead | boolean | N | Use local build ahead capability; default = 0. |
| useSmartExplodeUtility | boolean | N | When set to 1 SCE uses the smart exploder ( optimization logic) to solve the MRP explode problem using optimization logic. This function should only be used if co-product generation and/or substitution logic needs to be considered for explosion calculations. default = 0. |
| inputLogFileName | string | N | Input Log File, default = sceInput.log |
| outputFilePrefix | string | N | Output file prefix; default = ./output; .\output |
| outputLogFileName | string | N | Output Log File, default = sceOutput.log; sceOut.log |
| parameterLogFileName | string | N | Parameter Log File, default = param.log |
| backlogResponseFileExtension | string | N | Default = .backlog; .brf |
| buildSchedFileExtension | string | N | Default = .buildSched; .bsf |
| capacityDBFileExtension | string | N | Default = .capacityDB; .cdb |
| criticalListFileExtension | string | N | Default = .critList; .clf |
| debugFileExtension | string | N | Default = .sce.debug; .dfe |
| explodeEchoFileExtension | string | N | Default = .witExplode.echo; .eef |
| explodeWitDataFileExtension | string | N | Default = .witExplode.data; .ewd |
| formattedSupplyReportFileExtension | string | N | Default = .supplyReport; .fsr |
| fssGeneralSetFileExtension | string | N | Default = .fssGeneralSetReport; .fgr |
| fssMachineFileExtension | string | N | Default = .fssMachineReport; .fmr |
| fssSingletonFileExtension | string | N | Default = .fssSingletonReport; .fss |
| geoSourceDebugFileExtension | string | N | Default = .geoSourceDebug; .gsd |
| geoSupplyByPdfFileExtension | string | N | Default = .geoSupplyByPdf; .gsp |
| heurEchoFileExtension | string | N | Default = .witHeur.echo; .hef |
| heurWitDataFileExtension | string | N | Default = .witHeur.data; .hwd |
| interplantDemandFileExtension | string | N | Default = .interplantDemand;.idf |
| interplantOrdersFileExtension | string | N | Default = .interplant;.iof |
| mrpDemandOrdersFileExtension | string | N | Default = .mrpDemOrd; .mdo |
| mrpSubUsageFileExtension | string | N | Default = .mrpSubsUs; .msu |
| mrpOpSubUsageFileExtension | string | N | Default = .mrpOpSubsUs; .mos |
| mrpSupplyOrdersFileExtension | string | N | Default = .mrpSupOrd; .mso |
| objectiveSummaryFileExtension | string | N | Default = .optResults; .osf |
| opExecutionVolumeFileExtension | string | N | Default = .opExecVol; .oev |
| operationDBFileExtension | string | N | Default = .operationDB; .odb; |
| opSubUsageFileExtension | string | N | Default = .opSubUsage; .osu |
| optEchoFileExtension | string | N | Default = .witOpt.echo; .oef |
| optWitDataFileExtension | string | N | Default = .witOpt.data; .owd |
| optionalFeatRatioFileExtension | string | N | Default = .optionRatio; .ofr |
| partDBFileExtension | string | N | Default = .partDB; .pdb |
| problemStatisticsFileExtension | string | N | Default = .probStats; .psf |
| selFeatBBratioFileExtension | string | N | Default = .bbRatio; .sfb |
| subUsageFileExtension | string | N | Default = .subUsage; .suf |
| supplyResponseFileExtension | string | N | Default = .supplyResp; .srf |
| totalDemandReportFileExtension | string | N | Default = .totalDemand; .tdr |
| witExplodeMsgFileExtension | string | N | Default = .witExplode.msg; .wem |
| witMsgFileExtension | string | N | Default = .wit.msg; wmf |
| printCapacityDBFile | boolean | N | Print the capacity database file; default = 0 |
| printCriticalListFile | boolean | N | Print the critical list file; default = 0 |
| printDebugFile | boolean | N | Print the debug file; default = 0 |
| printExplodeEchoFile | boolean | N | Print the explode (MRP) echo file; default = 0 |
| printExplodeWitDataFile | boolean | N | Print the explode (MRP) WIT data file; default = 0 |
| printFormattedSupplyReportFile | boolean | N | Print the formatted supply report file; default = 0 |
| printGeoSourceDebugFile | boolean | N | Print the geography source debug file; default = 0 |
| printGeoSupplyByPdfFile | boolean | N | Print the geography supply by PDF file; default = 0 |
| printHeurEchoFile | boolean | N | Print the heuristic echo file; default = 0 |
| printHeurWitDataFile | boolean | N | Print the heuristic WIT data file; default = 0 |
| printInterplantDemandFile | boolean | N | Print the interplant (MRP) demand file; default = 0 |
| printMrpDemandOrdersFile | boolean | N | Print the MRP Demand Orders file; default = 0 |
| printMrpSupplyOrdersFile | boolean | N | Print the MRP Supply Orders file; default = 0 |
| printOperationDBFile | boolean | N | Print the operation database file; default = 0 |
| printOptEchoFile | boolean | N | Print the echo file; default = 0 |
| printOptWitDataFile | boolean | N | Print the optimization WIT data file; default = 0 |
| printPartDBFile | boolean | N | Print the part database file; default = 0 |
| printTotalDemandReport | boolean | N | Print the total demand report file; default = 1 |
| printWitExplodeMsgFile | boolean | N | Print the WIT message file for the Explode Engine; default = 0 |
| printWitMsgFile | boolean | N | Print the WIT message file; default = 0 |
| printWitRolloverMsgFile | boolean | N | Print the WIT message file for the rollover heuristic; default = 0 |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' | Part being demanded. This will generally be a MachineType, or MachineTypeModel. |
| geography | ``char'' | Geographic source of the demand for this part. |
| supplyVol | floatVec | Time-phased supply Volume as computed by SCE |
| DataElement | type | comment |
|---|---|---|
| plannerPart | ``char'' | plannerPart being demanded. This will generally be a MachineType, or MachineTypeModel. |
| geography | ``char'' | Geographic source of the demand for this part. |
| mfgPart | ``char'' | Manufacturing part number at PDF |
| ``char'' | PDF name | |
| supplyVol | floatVec | Time-phased supply Volume of plannerPart for geography coming from PDF |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' | Part being demanded. This will generally be a MachineType, or MachineTypeModel. |
| geography | ``char'' | Geographic source of the demand for this part. |
| backlogVol | floatVec | Time-phased backlog Volume as computed by SCE |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' | Manufacturing part number | ``char'' |
|
| prodVol | floatVec | Time-phased Vector of Production Volume. Note these volumes are with respect to the completion date of production, not the start-to-build dates. To get STB volumes by periods, we need to apply the cycle-time offsets. |
| DataElement | type | comment |
|---|---|---|
| partNumber1 | ``char'' | A planner top-level build part number (Machine Type, Machine/type/mod) with a selective feature/building block in its bill. |
| geography | ``char'' | Geographic source of the demand for partNumber1 |
| bbCategory | ``char'' | An identifier for the building block category |
| partNumber2 | ``char'' | The selective feature or building block |
| FeasibleRatio | floatVec | Feasible ratio for this selective feature or building block/feature wrt the top-level build, partNumber1. |
| DataElement | type | comment |
|---|---|---|
| partNumber1 | ``char'' | A planner top-level build part number (Machine Type, Machine/type/mod) with an optional feature in its bill. |
| geography | ``char'' | Geographic source of the demand for partNumber1 |
| partNumber2 | ``char'' | The optional feature |
| FeasibleRatio | floatVec | Feasible ratio for this optional feature wrt the top-level build, partNumber1. |
| DataElement | type | comment |
|---|---|---|
| partNumber1 | ``char'' | Parent |
| partNumber2 | ``char'' | Child |
| partNumber3 | ``char'' | Substitute part | ``char'' |
|
| prodVol | floatVec | Time-phased Vector of the production volume of partNumber1 using partNumber3 as a substitute for partNumber2, based on the implosion solution. |
| DataElement | type | comment |
|---|---|---|
| partNumber1 | ``char'' | Parent |
| partNumber2 | ``char'' | Child |
| partNumber3 | ``char'' | Substitute part | ``char'' |
|
| prodVol | floatVec | Time-phased Vector of the production volume of partNumber1 using partNumber3 as a substitute for partNumber2, based on the MRP solution. |
| DataElement | type | comment | partNumber | ``char'' |
|
``char'' |
|
|---|---|---|
| keyword | ``char'' | The keywords are bldVol, consVol, cycleTime, deAggVol, excessVol, intPlVol, mrpBldVol, mrpConsVol, mrpDeAggVol, mrpExcessVol, mrpIntPlVol, mrpProdVol, mrpRequirements, mrpResidualVol, mrpUserOpVol, prodVol, reqVol, residualVol, scrapVol, stockVol, supplyVol, and userOpVol, Zero vectors are excluded. |
| keyword value | floatVec | Time-phased Vector of the keyword |
| DataElement | type | comment | capacityName | ``char'' |
|
``char'' |
|
|---|---|---|
| keyword | ``char'' | The keywords are consVol, excessVol, mrpConsVol, mrpExcessVol, mrpRequirements, mrpUserOpVol, reqVol, scrapVol, supplyVol, and userOpVol. Zero vectors are excluded. |
| keyword value | floatVec | Time-phased Vector of the keyword |
| DataElement | type | comment |
|---|---|---|
| partNumber1 | ``char'' | Manufacturing part name at PDF1 |
| PDF1 | ``char'' | Ordering PDF |
| partNumber2 | ``char'' | Manufacturing part name at PDF2 |
| PDF2 | ``char'' | Supplier PDF |
| ipDemandVol | floatVec | Time-phased volume of interplant orders(implosion) |
| DataElement | type | comment |
|---|---|---|
| partNumber1 | ``char'' | Manufacturing part name at PDF1 |
| PDF1 | ``char'' | Ordering PDF |
| partNumber2 | ``char'' | Manufacturing part name at PDF2 |
| PDF2 | ``char'' | Supplier PDF |
| ipDemandVol | floatVec | Time-phased volume of interplant demand(unconstrained) |
| DataElement | type | comment | partNumber | ``char'' |
|
``char'' |
|
|---|---|---|
| period | int | Period in which partNumber was needed and not available |
| DataElement | type | comment | partNumber | ``char'' |
|
``char'' |
|
|---|---|---|
| totalDemand | floatVec | Total (independent + dependent) demand for this part |
| DataElement | type | comment |
|---|---|---|
| partNumber1 | ``char'' | Planner part number being demanded |
| geography | ``char'' | Geographic source for the demand |
| partNumber2 | ``char'' | The part number gating the demand of partNumber1 for geography |
| ``char'' | The name of the production facility where the gating part, partNumber2, is consumed when building partNumber1 | |
| keyword | ``char'' | The keywords are FSSReq, FSSCoverage, FSSdelta. |
| keyword value | floatVec | Time-phased Vector of the keyword |
| DataElement | type | comment | ||||
|---|---|---|---|---|---|---|
| setID | ``char'' | The FSS set identification | ||||
| partNumber | ``char'' | The part number gating the demand of the set, setid | ||||
| ``char'' | The name of the production facility where the gating part, partNumber, is consumed | |||||
| keyword | ``char'' | The keywords are FSSReq, FSSCoverage, FSSdelta. Zero vectors are excluded. | ||||
| keyword value | floatVec | Time-phased Vector of the keyword |
| DataElement | type | comment |
|---|---|---|
| operationName | ``char'' | The operation name | ``char'' |
|
| executionVol | floatVec | Time-phased vector of the execution volume of the operationName. |
| DataElement | type | comment |
|---|---|---|
| operationName | ``char'' | Name of operation |
| partNumber1 | ``char'' | Child part belonging to operationName |
| partNumber2 | ``char'' | Substitute part for partNumber1 in operationName's BOM |
| ``char'' |
| |
| prodVol | floatVec |
Time-phased Vector of the execution volume of operationName using partNumber2 as a substitute for partNumber1, based on the implosion solution. |
| DataElement | type | comment |
|---|---|---|
| operationName | ``char'' | Name of operation |
| partNumber1 | ``char'' | Child part belonging to operationName |
| partNumber2 | ``char'' | Substitute part for partNumber1 in operationName's BOM |
| ``char'' |
| |
| prodVol | floatVec | Time-phased Vector of the execution volume of operationName using partNumber2 as a substitute for partNumber1, based on the MRP solution. |
| DataElement | type | comment | operationName | ``char'' |
|
``char'' |
|
|---|---|---|
| keyword | ``char'' | The keywords are execFlag, execVol, mrpExecVol, yieldRate, Zero vectors are excluded. |
| keyword value | floatVec | Time-phased Vector of the keyword |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' | The part number |
| customerPDF | ``char'' | The PDF placing the demand |
| supplierPDF | ``char'' | The PDF on which the demand is placed |
| demandSourceCode | ``char'' | A = Interplant source |
| demandOrderVolume | floatVec | The time-phased vector of MRP demand orders |
| DataElement | type | comment |
|---|---|---|
| partNumber | ``char'' | The part number |
| supplierPDF | ``char'' | The PDF which is the source of the supply |
| customerPDF | ``char'' | The PDF which is the customer of the supply |
| supplySourceCode | ``char'' | A = Interplant source |
| supplyOrderVolume | floatVec | The time-phased vector of MRP supply orders |
| Date0 | Date1 | ... | DatenumPeriods - 2 | DatenumPeriods - 1 | ||
| partNumber --- geo: | ||||||
| Demand | Demand0 | Demand1 | ... | DemandnumPeriods - 2 | DemandnumPeriods - 1 | |
| Supply | Supply0 | Supply1 | ... | SupplynumPeriods - 2 | SupplynumPeriods - 1 | |
| Delta | Delta0 | Delta1 | ... | DeltanumPeriods - 2 | DeltanumPeriods - 1 | |
| partNumber --- geo: | ||||||
| Demand | Demand0 | Demand1 | ... | DemandnumPeriods - 2 | DemandnumPeriods - 1 | |
| Supply | Supply0 | Supply1 | ... | SupplynumPeriods - 2 | SupplynumPeriods - 1 | |
| Delta | Delta0 | Delta1 | ... | DeltanumPeriods - 2 | DeltanumPeriods - 1 | |
| ... | ... | ... | ... | ... | ... | |
| partNumber --- geo: | ||||||
| Demand | Demand0 | Demand1 | ... | DemandnumPeriods - 2 | DemandnumPeriods - 1 | |
| Supply | Supply0 | Supply1 | ... | SupplynumPeriods - 2 | SupplynumPeriods - 1 | |
| Delta | Delta0 | Delta1 | ... | DeltanumPeriods - 2 | DeltanumPeriods - 1 |
| comment | ||
|---|---|---|
| In input file: | {Name of Input File} | For each input file read, SCE generates an entry in the Input Log File |
| k records read. | ||
| l records accepted. | ||
| m records rejected. | ||
| n lines commented or blank | SCE checks that k = l + m + n | |
| ... | ... | ... |
There were p input records rejected by SCE. |
SCE reports the total number of input records rejected. |
| comment | ||
|---|---|---|
| In input file: | {Name of Output File} | For each output file written, SCE generates an entry in the Output Log File. This entry reconciles the number of output records with the number number of valid records from appropriate input files. |
| n good records from input file: {name} | ||
| --------------- | ||
| k data sets written | ||
| (f(k) total lines written) | Total number of lines written to {Name of Output File}. f(k) is a function of k. | |
| ... | ... | ... |
| In input file: | {Name of Output File} | |
| +(-) l good records from file: {name1} | ||
| +(-) m good records from file: {name1} | ||
| - n records with zeroVectors ommitted. | Zero vectors are not printed in many output reports. | |
| --------------- | ||
| p data sets written | p is the sum (taking into account the signs) of l, m, and n. | |
| (g(p) total lines written) | Total number of lines written to {Name of Output File}. g(p) is a function of p. |
| DataElement | type | comment |
|---|---|---|
| Parameter Name | string | Name of SCE parameter |
| Default Value | string | The default value for this parameter |
| Actual/Used Value | string | The value SCE used for this parameter |
| Method Set | string | How the parameter was set: DEFUALT or USER-DEFINED |
| ... | ... | ... |
Number of User-Defined Parameters: l |
The number of SCE parameters set by the user. | |
Number of Default Parameters: m |
The number of SCE parameters set by default. | |
Total Number of Parameters: n |
The total number of SCE parameters; n should equal l+m |
| DataElement | type | comment |
|---|---|---|
| Error Message ID | string | The SCE error message identification number. |
| Error Text | string | The error message |


class
cudaFlowCapturerclass to create a cudaFlow graph using stream capture
The usage of tf::task_1
and task_2
, where task_1
runs before task_2
.
taskflow.emplace([](tf::cudaFlowCapturer& capturer){ // capture my_kernel_1 through the given stream managed by the capturer auto task_1 = capturer.on([&](cudaStream_t stream){ my_kernel_1<<<grid_1, block_1, shm_size_1, stream>>>(my_parameters_1); }); // capture my_kernel_2 through the given stream managed by the capturer auto task_2 = capturer.on([&](cudaStream_t stream){ my_kernel_2<<<grid_2, block_2, shm_size_2, stream>>>(my_parameters_2); }); task_1.precede(task_2); });
Similar to tf::
Please refer to GPU Tasking (cudaFlowCapturer) for details.
Constructors, destructors, conversion operators
- cudaFlowCapturer() defaulted
- constrcts a standalone cudaFlowCapturer
- ~cudaFlowCapturer() defaulted
- destructs the cudaFlowCapturer
- cudaFlowCapturer(cudaFlowCapturer&&) defaulted
- default move constructor
Public functions
- auto operator=(cudaFlowCapturer&&) -> cudaFlowCapturer& defaulted
- default move assignment operator
- auto empty() const -> bool
- queries the emptiness of the graph
- auto num_tasks() const -> size_t
- queries the number of tasks
- void clear()
- clear this cudaFlow capturer
-
void dump(std::
ostream& os) const - dumps the cudaFlow graph into a DOT format through an output stream
-
void dump_native_graph(std::
ostream& os) const - dumps the native captured graph into a DOT format through an output stream
-
template<typename C, std::enable_if_t<std::is_invocable_r_v<void, C, cudaStream_t>, void>* = nullptr>auto on(C&& callable) -> cudaTask
- captures a sequential CUDA operations from the given callable
-
template<typename C, std::enable_if_t<std::is_invocable_r_v<void, C, cudaStream_t>, void>* = nullptr>void on(cudaTask task, C&& callable)
- updates a capture task to another sequential CUDA operations
- auto noop() -> cudaTask
- captures a no-operation task
- void noop(cudaTask task)
- updates a task to a no-operation task
- auto memcpy(void* dst, const void* src, size_t count) -> cudaTask
- copies data between host and device asynchronously through a stream
- void memcpy(cudaTask task, void* dst, const void* src, size_t count)
- updates a capture task to a memcpy operation
-
template<typename T, std::enable_if_t<!std::is_same_v<T, void>, void>* = nullptr>auto copy(T* tgt, const T* src, size_t num) -> cudaTask
- captures a copy task of typed data
-
template<typename T, std::enable_if_t<!std::is_same_v<T, void>, void>* = nullptr>void copy(cudaTask task, T* tgt, const T* src, size_t num)
- updates a capture task to a copy operation
- auto memset(void* ptr, int v, size_t n) -> cudaTask
- initializes or sets GPU memory to the given value byte by byte
- void memset(cudaTask task, void* ptr, int value, size_t n)
- updates a capture task to a memset operation
-
template<typename F, typename... ArgsT>auto kernel(dim3 g, dim3 b, size_t s, F f, ArgsT && ... args) -> cudaTask
- captures a kernel
-
template<typename F, typename... ArgsT>void kernel(cudaTask task, dim3 g, dim3 b, size_t s, F f, ArgsT && ... args)
- updates a capture task to a kernel operation
-
template<typename C>auto single_task(C c) -> cudaTask
- capturers a kernel to runs the given callable with only one thread
-
template<typename C>void single_task(cudaTask task, C c)
- updates a capture task to a single-threaded kernel
-
template<typename I, typename C>auto for_each(I first, I last, C callable) -> cudaTask
- captures a kernel that applies a callable to each dereferenced element of the data array
-
template<typename I, typename C>void for_each(cudaTask task, I first, I last, C callable)
- updates a capture task to a for-each kernel task
-
template<typename I, typename C>auto for_each_index(I first, I last, I step, C callable) -> cudaTask
- captures a kernel that applies a callable to each index in the range with the step size
-
template<typename I, typename C>void for_each_index(cudaTask task, I first, I last, I step, C callable)
- updates a capture task to a for-each-index kernel task
-
template<typename I, typename O, typename C>auto transform(I first, I last, O output, C op) -> cudaTask
- captures a kernel that transforms an input range to an output range
-
template<typename I, typename O, typename C>void transform(cudaTask task, I first, I last, O output, C op)
- updates a capture task to a transform kernel task
-
template<typename I1, typename I2, typename O, typename C>auto transform(I1 first1, I1 last1, I2 first2, O output, C op) -> cudaTask
- captures a kernel that transforms two input ranges to an output range
-
template<typename I1, typename I2, typename O, typename C>void transform(cudaTask task, I1 first1, I1 last1, I2 first2, O output, C op)
- updates a capture task to a transform kernel task
-
template<typename OPT, typename... ArgsT>auto make_optimizer(ArgsT && ... args) -> OPT&
- selects a different optimization algorithm
- auto capture() -> cudaGraph_t
- captures the cudaFlow and turns it into a CUDA Graph
- void run(cudaStream_t stream)
- offloads the cudaFlowCapturer onto a GPU asynchronously via a stream
- auto native_graph() -> cudaGraph_t
- acquires a reference to the underlying CUDA graph
- auto native_executable() -> cudaGraphExec_t
- acquires a reference to the underlying CUDA graph executable
Function documentation
tf:: cudaFlowCapturer:: cudaFlowCapturer() defaulted
constrcts a standalone cudaFlowCapturer
A standalone cudaFlow capturer does not go through any taskflow and can be run by the caller thread using tf::
template<typename C, std::enable_if_t<std::is_invocable_r_v<void, C, cudaStream_t>, void>* = nullptr>
cudaTask tf:: cudaFlowCapturer:: on(C&& callable)
captures a sequential CUDA operations from the given callable
| Template parameters | |
|---|---|
| C | callable type constructible with std::function<void(cudaStream_t)> |
| Parameters | |
| callable | a callable to capture CUDA operations with the stream |
This methods applies a stream created by the flow to capture a sequence of CUDA operations defined in the callable.
template<typename C, std::enable_if_t<std::is_invocable_r_v<void, C, cudaStream_t>, void>* = nullptr>
void tf:: cudaFlowCapturer:: on(cudaTask task,
C&& callable)
updates a capture task to another sequential CUDA operations
The method is similar to cudaFlowCapturer::
cudaTask tf:: cudaFlowCapturer:: noop()
captures a no-operation task
| Returns | a tf:: |
|---|
An empty node performs no operation during execution, but can be used for transitive ordering. For example, a phased execution graph with 2 groups of n
nodes with a barrier between them can be represented using an empty node and 2*n
dependency edges, rather than no empty node and n^2
dependency edges.
void tf:: cudaFlowCapturer:: noop(cudaTask task)
updates a task to a no-operation task
The method is similar to tf::
cudaTask tf:: cudaFlowCapturer:: memcpy(void* dst,
const void* src,
size_t count)
copies data between host and device asynchronously through a stream
| Parameters | |
|---|---|
| dst | destination memory address |
| src | source memory address |
| count | size in bytes to copy |
The method captures a cudaMemcpyAsync
operation through an internal stream.
void tf:: cudaFlowCapturer:: memcpy(cudaTask task,
void* dst,
const void* src,
size_t count)
updates a capture task to a memcpy operation
The method is similar to cudaFlowCapturer::
template<typename T, std::enable_if_t<!std::is_same_v<T, void>, void>* = nullptr>
cudaTask tf:: cudaFlowCapturer:: copy(T* tgt,
const T* src,
size_t num)
captures a copy task of typed data
| Template parameters | |
|---|---|
| T | element type (non-void) |
| Parameters | |
| tgt | pointer to the target memory block |
| src | pointer to the source memory block |
| num | number of elements to copy |
| Returns | cudaTask handle |
A copy task transfers num*sizeof(T)
bytes of data from a source location to a target location. Direction can be arbitrary among CPUs and GPUs.
template<typename T, std::enable_if_t<!std::is_same_v<T, void>, void>* = nullptr>
void tf:: cudaFlowCapturer:: copy(cudaTask task,
T* tgt,
const T* src,
size_t num)
updates a capture task to a copy operation
The method is similar to cudaFlowCapturer::
cudaTask tf:: cudaFlowCapturer:: memset(void* ptr,
int v,
size_t n)
initializes or sets GPU memory to the given value byte by byte
| Parameters | |
|---|---|
| ptr | pointer to GPU mempry |
| v | value to set for each byte of the specified memory |
| n | size in bytes to set |
The method captures a cudaMemsetAsync
operation through an internal stream to fill the first count
bytes of the memory area pointed to by devPtr
with the constant byte value value
.
void tf:: cudaFlowCapturer:: memset(cudaTask task,
void* ptr,
int value,
size_t n)
updates a capture task to a memset operation
The method is similar to cudaFlowCapturer::
template<typename F, typename... ArgsT>
cudaTask tf:: cudaFlowCapturer:: kernel(dim3 g,
dim3 b,
size_t s,
F f,
ArgsT && ... args)
captures a kernel
| Template parameters | |
|---|---|
| F | kernel function type |
| ArgsT | kernel function parameters type |
| Parameters | |
| g | configured grid |
| b | configured block |
| s | configured shared memory size in bytes |
| f | kernel function |
| args | arguments to forward to the kernel function by copy |
| Returns | cudaTask handle |
template<typename F, typename... ArgsT>
void tf:: cudaFlowCapturer:: kernel(cudaTask task,
dim3 g,
dim3 b,
size_t s,
F f,
ArgsT && ... args)
updates a capture task to a kernel operation
The method is similar to cudaFlowCapturer::
template<typename C>
cudaTask tf:: cudaFlowCapturer:: single_task(C c)
capturers a kernel to runs the given callable with only one thread
| Template parameters | |
|---|---|
| C | callable type |
| Parameters | |
| c | callable to run by a single kernel thread |
template<typename C>
void tf:: cudaFlowCapturer:: single_task(cudaTask task,
C c)
updates a capture task to a single-threaded kernel
This method is similar to cudaFlowCapturer::
template<typename I, typename C>
cudaTask tf:: cudaFlowCapturer:: for_each(I first,
I last,
C callable)
captures a kernel that applies a callable to each dereferenced element of the data array
| Template parameters | |
|---|---|
| I | iterator type |
| C | callable type |
| Parameters | |
| first | iterator to the beginning |
| last | iterator to the end |
| callable | a callable object to apply to the dereferenced iterator |
| Returns | cudaTask handle |
This method is equivalent to the parallel execution of the following loop on a GPU:
for(auto itr = first; itr != last; i++) { callable(*itr); }
template<typename I, typename C>
void tf:: cudaFlowCapturer:: for_each(cudaTask task,
I first,
I last,
C callable)
updates a capture task to a for-each kernel task
This method is similar to cudaFlowCapturer::
template<typename I, typename C>
cudaTask tf:: cudaFlowCapturer:: for_each_index(I first,
I last,
I step,
C callable)
captures a kernel that applies a callable to each index in the range with the step size
| Template parameters | |
|---|---|
| I | index type |
| C | callable type |
| Parameters | |
| first | beginning index |
| last | last index |
| step | step size |
| callable | the callable to apply to each element in the data array |
| Returns | cudaTask handle |
This method is equivalent to the parallel execution of the following loop on a GPU:
// step is positive [first, last) for(auto i=first; i<last; i+=step) { callable(i); } // step is negative [first, last) for(auto i=first; i>last; i+=step) { callable(i); }
template<typename I, typename C>
void tf:: cudaFlowCapturer:: for_each_index(cudaTask task,
I first,
I last,
I step,
C callable)
updates a capture task to a for-each-index kernel task
This method is similar to cudaFlowCapturer::
template<typename I, typename O, typename C>
cudaTask tf:: cudaFlowCapturer:: transform(I first,
I last,
O output,
C op)
captures a kernel that transforms an input range to an output range
| Template parameters | |
|---|---|
| I | input iterator type |
| O | output iterator type |
| C | unary operator type |
| Parameters | |
| first | iterator to the beginning of the input range |
| last | iterator to the end of the input range |
| output | iterator to the beginning of the output range |
| op | unary operator to apply to transform each item in the range |
| Returns | cudaTask handle |
This method is equivalent to the parallel execution of the following loop on a GPU:
while (first != last) { *output++ = op(*first++); }
template<typename I, typename O, typename C>
void tf:: cudaFlowCapturer:: transform(cudaTask task,
I first,
I last,
O output,
C op)
updates a capture task to a transform kernel task
This method is similar to cudaFlowCapturer::
template<typename I1, typename I2, typename O, typename C>
cudaTask tf:: cudaFlowCapturer:: transform(I1 first1,
I1 last1,
I2 first2,
O output,
C op)
captures a kernel that transforms two input ranges to an output range
| Template parameters | |
|---|---|
| I1 | first input iterator type |
| I2 | second input iterator type |
| O | output iterator type |
| C | unary operator type |
| Parameters | |
| first1 | iterator to the beginning of the input range |
| last1 | iterator to the end of the input range |
| first2 | iterato |
| output | iterator to the beginning of the output range |
| op | binary operator to apply to transform each pair of items in the two input ranges |
| Returns | cudaTask handle |
This method is equivalent to the parallel execution of the following loop on a GPU:
while (first1 != last1) { *output++ = op(*first1++, *first2++); }
template<typename I1, typename I2, typename O, typename C>
void tf:: cudaFlowCapturer:: transform(cudaTask task,
I1 first1,
I1 last1,
I2 first2,
O output,
C op)
updates a capture task to a transform kernel task
This method is similar to cudaFlowCapturer::
template<typename OPT, typename... ArgsT>
OPT& tf:: cudaFlowCapturer:: make_optimizer(ArgsT && ... args)
selects a different optimization algorithm
| Template parameters | |
|---|---|
| OPT | optimizer type |
| ArgsT | arguments types |
| Parameters | |
| args | arguments to forward to construct the optimizer |
| Returns | a reference to the optimizer |
We currently supports the following optimization algorithms to capture a user-described cudaFlow:
By default, tf::
void tf:: cudaFlowCapturer:: run(cudaStream_t stream)
offloads the cudaFlowCapturer onto a GPU asynchronously via a stream
| Parameters | |
|---|---|
| stream | stream for performing this operation |
Offloads the present cudaFlowCapturer onto a GPU asynchronously via the given stream.
An offloaded cudaFlowCapturer forces the underlying graph to be instantiated. After the instantiation, you should not modify the graph topology but update node parameters.


Eagle-eyed shoppers spot amazing Argos TV deal ahead of Black Friday
Argos is selling a 60-inch LG 4K Ultra HD TV for £124 less than other retailers
by Linda HowardIn what is quickly turning into a battle of the brands, Argos has dropped the price of a 60-inch LG 60UM7100PLB Smart 4K HDR LED TV to £449.
Bargain hunters have hailed the price crash as one of the best pre-Black Friday deals they’ve seen so far.
The same make and model is currently selling on ebuyer.com for £559.98 and on insight.com for £573.59.
The incredible offer was spotted by members of deals website HotUKDeals with over 600 users voting it as a good deal, reports Birmingham Live .
Argos has slashed the price of the 4K Active HDR TV to just £449 from over £500, while a 55-inch version of the same brand is going for £20 less at £429 - who says size doesn’t matter?
Get the LG 60-inch 4K HDR LED TV here
Users of HotUKDeals said the LG 60-inch Ultra HD 4K TV was originally priced at around £550 during the summer.
All the major retailers are gearing up for Black Friday on November 29th, but we haven’t spotted anyone offering a deal like this yet on 4K TVs.


This will refund the available balance to the bank account it came from.
Refunds may take 5 - 10 business days for funds to return to your bank account.


Choose the right answer for each question as fast, and efficently as possible. For every wrong answer, 10 seconds will be deducted from the counter. The remaining time after the quiz will be your final score. Good Luck!!!


RED SQUIRREL, THE (ARDILLA ROJA, LA)(director/writer: Julio Medem; cinematographer: Gonzalo Berridi; cast: Emma Suarez (Lisa Fuentes), Nancho Novo (Jay), Carmelo Gomez (Felix), Maria Barranco (Carmen), Elena Irureta (Begona), Chete Lera (Salvador Fuentes), Gustavo Salmeron (Luis Alfonso), Karra Elejalde (Anton), 1993 - Spain)
Reviewed by Dennis Schwartz
A most improbable but engaging romantic mystery that holds our attention and teases our sensibilities. The first word out of Jay's (Novo) mouth is sh-t, as he stands on the boardwalk at San Sebastian, ready to commit suicide, after being jilted by his girlfriend and unable to work for the last 4-years as a rock singer, with his group called Flies. Suddenly a motorcycle crashes over the boardwalk railing onto the night's deserted beach, and Jay foregoes his immediate suicide plans to rush to the aid of the helmeted victim. To his surprise, he discovers that it's a beautiful girl and upon questioning her discovers she is suffering from amnesia and has no ID on her. As an impulse, when the ambulance arrives, he tells the driver that her name is Lisa and that he is her boyfriend, and proceeds to give her a big kiss. At the hospital, he supplies the night receptionist, Salvador Fuentes (Lera), information that he makes up about her, giving her the surname Fuentes that he takes from his nametag. Later on, he will discover that the receptionist is her brother.
 When he is about to be questioned in detail about her by the hospital staff, he sneaks her out of the hospital and they take off together, heading for a camping resort called "The Red Squirrel."
At the resort, they meet a meddlesome family who help them pitch a tent and invite them over for dinner. There are signs that what is happening to the two lovers is getting to be heavy, and what seems to be is not exactly what is. But what is definetly happening, is that they are making passionate love, and he is constantly inventing things he says she did before she lost her memory. But, she doesn't passively accept from him what he tells her.
When a radio message comes over the air, saying that a man named Felix (Carmelo) is looking for his mentally deranged wife who ran away, the description of her appearance is exactly like that of Lisa, even though the name given for her is Sofia Fuentes. Well, the game is up for the two lost souls, as the people in the campsite are not fooled and Felix is tipped off where to find her, and when he arrives at the resort to reclaim her, a battle begins with her new boyfriend.
The storyline is awkward, melodramatic and incredulous, and the ending is somewhat ludicrous and overplayed, but what becomes interesting is the psychological games played by the couple. They explore their identities and sexual cravings, trying to find out who they are and what love means to them, all in the face of their insecurities and death wishes and lies. The Basque director/writer has created a story with enough twists in it to keep you guessing at what will happen next, but the film left me with a bitter-sweet reaction to the romance.
REVIEWED ON 8/24/99 GRADE: C
Dennis Schwartz: " Ozus' World Movie Reviews"
http://www.sover.net/~ozus
<EMAIL_ADDRESS>© ALL RIGHTS RESERVED DENNIS SCHWARTZ
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


I have had the privilege to manage some great people – many of whom have become
lifelong friends. I’ve also managed people I never want to hear from again. I've
had some good mentors along the way and I've worked for some great mangers, a
couple of crummy mangers, and one psychopath. It’s been both a rewarding and challenging
experience. People who have worked for me tell me I'm a pretty good development
manger.\r\n\r\nAlong the way, I’ve gotten to know many other development mangers.
I've seen a few really good ones, and many bad ones. I have enjoyed working for
a world class manger at Microsoft. I’ve also seen a couple of mangers who have
been fired for how badly they manage people.\r\n\r\nManaging developers is really
hard. Why? Because software development is fundamentally a creative activity,
like music, art, architecture, math and writing: Yes, yes yes…. there are strong
engineering and scientific aspects to software development. Good engineering,
and sometimes a scientific approach makes good developers better. But at the end
of the day writing good software is a creative exercise and managing creative
people is simply hard.\r\n\r\nWe pay developers to do two things: think and be
creative. Good thinking and being creative cannot be mandated, both must be
enabled.
80% of a development mangers job is enabling people to do their best thinking,
and be creative, with good continuity over time. Its is impossible to plan, manage
or schedule thinking and creativity.\r\n\r\nThe other 80% of our collective job
is shipping stuff. At some point in time we need to ship our software to the
people who will use it. Shipping can be engineered, planned, scheduled and managed.
The challenge is that enabling people to think and be creative is requires a very
different skill set than shipping.\r\n\r\nIf you want to be a good development
manger, then your first task is to simply not suck. Sucking at some management
aspect is like a golfer who can’t putt.  Expired access token. Timestamp:<PHONE_NUMBER>610",
"requestId": "OIKFDL0S01",
"status": 401,
"timestamp":<PHONE_NUMBER>267
}";s:8:"response";a:2:{s:4:"code";i:401;s:7:"message";s:12:"Unauthorized";}s:7:"cookies";a:1:{i:0;O:14:"WP_Http_Cookie":5:{s:4:"name";s:4:"lidc";s:5:"value";s:80:""b=TB23:g=134:u=40:i=1433629411:t=1433630762:s=AQFlmmg67a3uPbe1Yp0elfRWDmgdegfA"";s:7:"expires";i:1433630762;s:4:"path";s:1:"/";s:6:"domain";s:13:".linkedin.com";}}s:8:"filename";N;}}}s:10:"error_data";a:0:{}}
author:
login: broberts65
email<EMAIL_ADDRESS>display_name: Bob Roberts
first_name: ''
last_name: ''
---


AddressBook
New AddressBook
ID
Add Buddy
AddressBook ID
Name
Number
Query AddressBook
AddressBook ID
First Name
Number


Norway has a total area of 385,207 square kilometres (148,729 sq mi)[10]
and had a population of 5,385,300 in November 2020.[18] The country shares a
long eastern border with Sweden (1,619 km or 1,006 mi long). Norway is
bordered by Finland and Russia to the north-east and the Skagerrak strait to
the south, with Denmark on the other side. Norway has an extensive
coastline, facing the North Atlantic Ocean and the Barents Sea.
The maritime influence also dominates Norway's climate with mild lowland
temperatures on the sea coasts, whereas the interior, while colder, is also a
lot milder than areas elsewhere in the world on such northerly latitudes.
Even during polar night in the north, temperatures above freezing are commonplace
on the coastline. The maritime influence brings high rainfall and snowfall to some
areas of the country.


{% extends 'partials/_layout.html' %} {% load static %} {% include "partials/_head.html" %} {% include "partials/_navbar.html" %}
It is Bible Lover's policy to respect your privacy regarding any information we may collect while operating our website. This Privacy Policy applies to Bible Lover (hereinafter, "us", "we", or "{{ request.get_host }}"). We respect your privacy and are committed to protecting personally identifiable information you may provide us through the Website. We have adopted this privacy policy ("Privacy Policy") to explain what information may be collected on our Website, how we use this information, and under what circumstances we may disclose the information to third parties. This Privacy Policy applies only to information we collect through the Website and does not apply to our collection of information from other sources.
This Privacy Policy, together with the Terms and conditions posted on our Website, set forth the general rules and policies governing your use of our Website. Depending on your activities when visiting our Website, you may be required to agree to additional terms and conditions.
Like most website operators, Bible Lover collects non-personally-identifying information of the sort that web browsers and servers typically make available, such as the browser type, language preference, referring site, and the date and time of each visitor request. Bible Lover's purpose in collecting non-personally identifying information is to better understand how Bible Lover's visitors use its website. From time to time, Bible Lover may release non-personally-identifying information in the aggregate, e.g., by publishing a report on trends in the usage of its website.
Bible Lover also collects potentially personally-identifying information like Internet Protocol (IP) addresses for logged in users and for users leaving comments on {{ request.get_host }} blog posts. Bible Lover only discloses logged in user and commenter IP addresses under the same circumstances that it uses and discloses personally-identifying information as described below.
Certain visitors to Bible Lover's websites choose to interact with Bible Lover in ways that require Bible Lover to gather personally-identifying information. The amount and type of information that Bible Lover gathers depends on the nature of the interaction. For example, we ask visitors who sign up at {{ request.get_host }} to provide a username and email address.
The security of your Personal Information is important to us, but remember that no method of transmission over the Internet, or method of electronic storage is 100% secure. While we strive to use commercially acceptable means to protect your Personal Information, we cannot guarantee its absolute security.
Ads appearing on our website may be delivered to users by advertising partners, who may set cookies. These cookies allow the ad server to recognize your computer each time they send you an online advertisement to compile information about you or others who use your computer. This information allows ad networks to, among other things, deliver targeted advertisements that they believe will be of most interest to you. This Privacy Policy covers the use of cookies by Bible Lover and does not cover the use of cookies by any advertisers.
Our Service may contain links to external sites that are not operated by us. If you click on a third party link, you will be directed to that third party's site. We strongly advise you to review the Privacy Policy and terms and conditions of every site you visit.
We have no control over, and assume no responsibility for the content, privacy policies or practices of any third party sites, products or services.
Bible Lover may collect statistics about the behavior of visitors to its website. Bible Lover may display this information publicly or provide it to others. However, Bible Lover does not disclose your personally-identifying information.
To enrich and perfect your online experience, Bible Lover uses "Cookies", similar technologies and services provided by others to display personalized content, appropriate advertising and store your preferences on your computer.
A cookie is a string of information that a website stores on a visitor's computer, and that the visitor's browser provides to the website each time the visitor returns. Bible Lover uses cookies to help Bible Lover identify and track visitors, their usage of {{ request.get_host }}, and their website access preferences. Bible Lover visitors who do not wish to have cookies placed on their computers should set their browsers to refuse cookies before using Bible Lover's websites, with the drawback that certain features of Bible Lover's websites may not function properly without the aid of cookies.
By continuing to navigate our website without changing your cookie settings, you hereby acknowledge and agree to Bible Lover's use of cookies.
Although most changes are likely to be minor, Bible Lover may change its Privacy Policy from time to time, and in Bible Lover's sole discretion. Bible Lover encourages visitors to frequently check this page for any changes to its Privacy Policy. Your continued use of this site after any change in this Privacy Policy will constitute your acceptance of such change.


Status: Waiting for server response ...
If you have used Bluepaper from a different computer or a different web browser then that other Browser may still have access to your Dropbox account. To revoke all access permissions, go to the "Connected Apps" section in your Dropbox settings and remove "Bluepaper" from the list of connected apps.
Changed your mind? Don't worry, just go back to Bluepaper and click on "Grant Access".


#
servlet
description
link
request
2
GetFormServlet
Uses form and method GET to enter name and surname and returns entered name and surname
back
name:
surname:


My Website
My website design was focused around the pictures I used in the slider. Really wanted edgy colors and a technical flow. I used CSS layouts and CSS menus to style my site. JQuery elements to help my form validate. Also using a full page scroll with a responsive CSS controlled web design.
CSS layout is important for many reasons like the display property. CSS layout styles the html sheets, and it is used to describe all elements on your webpage. I used the CSS menu to create drop down menus, the style and the colors. Also using CSS to style and shape my tabs.
The CSS menu is wear I build my navigation bar and make it so it has a drop down menu. This is also wear you can style your menus and sub menus with one CSS style page instead of changing the code in each individual page. I used a navigation with horizontal menu navigation or you can do vertical drop down menu wich is really apealing.
By using JavaScript and JQuery I was able to style my menus and pictures by using controls and Id’s. JQuery element control is used for Id selectors which is:document.getElementBYId(). Element controls through jQuery are easy to control and a basic first concept in jQuery. I selected the element control an example would be: $("myID"); this will have jQuery scan the page and make all the changes to the necessary elements.
Full page scrolling is an important because the user needs full interface to your site. People don’t use flash as much because it is becoming outdated.For full page scroll you can use .AVI files located on www.github.com. You can also use CSS and Javascript to create a full page scroll.
Responsive CSS layout in a website is very important due to the fact that now more than ever people access the internet through mobile device. This is why I used a responsive design with my website. Responsive sites use x,y coordinates to size the page. This is on a grid instead of a fixed image like a non-responsive website. Using percentages to make the page responsive to different devices.
Forms and Form Validation can be created with html and JavaScript, I used JavaScript to create the form. The use JavaScript to validate your form when someone hits submit. This will also keep your website from submitting blank forms if the input has not been typed.
I chose the elements that I used in the web site becuase I learned them in this course. I wanted it to be clear and concise to get my point across to the viewer. Creating an easy user experience and a intriguing design.Also using professional elements while keeping it younger and edgy. I learned a lot in creation of this website and I enjoy the use of JavaScript and jQuery in my web design


Intellectual Property Protection
Security at ULKASOFT is taken very seriously. Effectively managing the IP assets of our clients is of primary importance in our business strategy. We are proud of our record of zero IP-related complaints in the last fourteen years and always seek ways to improve security.
- Outsource only - ULKASOFT devotes itself entirely to the software outsourcing industry. ULKASOFT doesn't own any software products itself. No solution libraries are allowed into the company (except for open source information) for any new developments.
- Confidential document control - All copies of a client's confidential documents are regularly accounted for and then deleted when usage needs have expired. All such confidential documents are returned and disposed of by the client.
- Office security - Dedicated development teams have separate offices with password controlled security access; only the relevant staff are permitted to enter ODC offices. No one except the network administrator is given access to any hardware devices. Security procedures and precautions are also enforced systematically after working hours.
- Nondisclosure agreement - The Nondisclosure Agreement (NDA) is signed at the start of a business relationship.
- Database security - Customer teams install database products into an isolated data server in a blocked shelf. Access to sensitive information is limited to key personnel only. The database will not be used for any purpose other than development.
- Personal computer security - Each team member has his/her own computer configured with a start-up password, preventing access by others except the network administrator.


Mark Reynoso
Software Developer
A few years ago I had an idea to make an app that would allow individuals to give electronically to folks experiencing homelessness. I talked with developer friends, pitched the idea to non-profits in the area, but it was not moving anywhere. Then one day while working at New Horizons, a service for homeless youth in Seattle, I ended up on the phone with someone who was making this very app. We met and I was elated to know that someone was able to make it happen. Through this process I realized that I wanted to be the one designing and building apps to solve the very real problems we see. So, here I am. Today I code, but I do it with the passion for making a positive impact in my community, solving problems with creative new solutions to real issues we face.


vignettes/update_dataset_function.Rmd
update_dataset_function.Rmd
While the CRAN version of the package is updated once every month or two, the Github (Dev) version is updating on a daily bases. The following options allow you to keep the data updated with the ones available on the Dev version:
update_dataset
functionThe update_dataset
function enables to keep the installed version updated with the data available on Github. The function compared between the dataset on the installed version and the ones on the Dev version:
library(coronavirus)
update_dataset()
If no new data is available on the Dev version, the function will return the following message:
Once new data is available, the function will prompt the following question that enables the user to select whether to install the updates from the dev version:
In order to make the new data available, you will have to restart your R session.
Note: As frequent changes may occur on the raw data structure (such as new fields, retroactive updates in the data, etc.), the Dev version dataset may change accordingly.
Alternatively, you can read and load the data directly from the package repository, using the csv version:
coronavirus_df <- read.csv("https://raw.githubusercontent.com/RamiKrispin/coronavirus/master/csv/coronavirus.csv",
stringsAsFactors = FALSE)
head(coronavirus_df)
## date province country lat long type cases
## 1 2020-01-22 Afghanistan 33.93911 67.70995 confirmed 0
## 2 2020-01-23 Afghanistan 33.93911 67.70995 confirmed 0
## 3 2020-01-24 Afghanistan 33.93911 67.70995 confirmed 0
## 4 2020-01-25 Afghanistan 33.93911 67.70995 confirmed 0
## 5 2020-01-26 Afghanistan 33.93911 67.70995 confirmed 0
## 6 2020-01-27 Afghanistan 33.93911 67.70995 confirmed 0
The main difference between the first method (the update_dataset
function) and the second method (reading a CSV format of the data) is that the date field on the last method is not formated as a Date
object. A quick reformating can fix it:
## 'data.frame': 161710 obs. of 7 variables:
## $ date : Date, format: "2020-01-22" "2020-01-23" ...
## $ province: chr "" "" "" "" ...
## $ country : chr "Afghanistan" "Afghanistan" "Afghanistan" "Afghanistan" ...
## $ lat : num 33.9 33.9 33.9 33.9 33.9 ...
## $ long : num 67.7 67.7 67.7 67.7 67.7 ...
## $ type : chr "confirmed" "confirmed" "confirmed" "confirmed" ...
## $ cases : int 0 0 0 0 0 0 0 0 0 0 ...


Install the free app and enter youraddress to get yourhome’s Whoop! Button.
We only want you and the people you live with touse your homes Whoop! Button. Use GPS to verify your location when you’re at home so we can match your address.
Once you’re done you can invite the people you live with


"Water is a calming force. Staring out at the waves. It never fails me." She didn't look at me as she said this. Her eyes scanned over the horizon. The sky was overcast. I feared it would rain soon. She was standing on the pier with me. The white water frothed below us. We had walked a long way to be here. Down in the valley, tucked underneath the city. Along the busy road, that petered out in a residential neighbourhood. And finally through side streets until we hit the water.
We had come here years and years ago. The sky was overcast that day. It was on this pier, that I had first kissed her. But now my body betrayed me. I was frozen looking at her. The wind whipped up her hair. It drove into my skin like tiny needles. She spoke without facing me.
"This is where it began. If we hadn't come here. None of this would have happened. She never would have been born. She never would have suffered." Her words knocked the air from my lungs. I wanted to respond. To refute her accusations. But I couldn't, because I had wondered the same thing.
We had spent so long putting together every aspect of our life, that we had expected parenting to be easy. We faltered at the first step. But after long doctors visist and nervous anticipation it finally happened. I remember holding her for the first time. She looked just like her mother. I remember, when I held her I saw her whole future in an instant. I saw her going off to kindergarten. I saw her holding hands with the first boy she would love. I saw her leaving us to go to school. I saw her graduating. I saw her with her first house. I saw her changing the world. I saw her with her own children. All that time compressed down to a single moment.
In those first few years, my vision certainly seemed like prophecy. She was the sweetest child. She spent all her time in our backyard, playing with earthworms and beetles. She loved every creature and they loved her.  He wouldn't move a muscle, lest disturb the sleeping angel. I can't remember a time, that she wasn't smiling.
Time changed that. As she aged, she withdrew into herself. Her smile faded. Every time I tried to speak to her she seemed irate. I had always assumed that she was closer to her mother. That teenage girls didn't want to talk to their fathers. But considering all that happened, perhaps I had assumed too much.
"I thought coming here would clear my head. That coming back to the start would make it all make sense. But it doesn't. I thought that the sound and sight of the waves crashing against the shore would bring me calm. But I just want to push them back into the ocean, so that they'll never come back. And never crash again onto our shore."


Guess The Animal!
Can You Guess My Favorite Animal? I'll Give You Some Hints.

Click to see my favorite animal


System Architect Symbol details for "Subject"
Agent (Class)
- Description:
-
Role of a subject enabling it to act purposefully.
- Comment:
-
CBS V2: - A role of a "Subject" which indicates that it has power to act
This is a role which may be played by a "Subject". Sometimes, an "Agent" may be created in order to
assemble a set of responsibilities and authorities prior to a specific "Subject" being identified
and allocated to it.
For purposes of creating an "Authorising Act", an "Agent" may actually be a group of individuals -
for example when joint responsibility is being taken for some decision, as in a clinical case
conference. In such a case the details of the group are taken care of by "Subject" and "Inter
Subject Relationship".
Examples of "Agent":
Dr Smithers within NHS XYZ Trust,
Ms J.Doe in the HXT Pathology laboratory.
A better understanding of the types of "Agent" can be gained from examination of its subtypes.
created subject (Association)
- From Class:
Subject
- To Class:
"Subject Creation"
- From Class:
Subject
- To Class:
"Subject Creation"
creating event (Association)
- From Class:
Event
- To Class:
"Subject Creation"
- From Class:
Event
- To Class:
"Subject Creation"
Event (Class)
- Description:
Something which happens.
Inter Subject Relationship (Class)
- Description:
"Subject Property" associating one "Subject" with another.
- Comment:
-
Previous documented definitions providing the source for the above are:
A connection of interest from one "Subject" to another (CBS v2).
Note that authoritative relationships (eg employee) are recorded in Authorised Agent rather than
here.
maintained as (Association)
- From Class:
Subject
- To Class:
"Resource Held"
- From Class:
Subject
- To Class:
"Resource Held"
Percept (Class)
- Description:
"Object" perceived or inferred to have physical existence.
Percept/Essential Type (Generalization Node)
- Base Class:
Percept
- Definitions Used:
-
Percept (Class)
Reference Point (Class)
- Description:
Point or piece of time or space.
- Comment:
-
Previous documented definitions providing the source for the above are:
Point in time or space (derived from CBS V2).
relation (Association)
- From Class:
Subject
- To Class:
"Inter Subject Relationship"
- From Class:
Subject
- To Class:
"Inter Subject Relationship"
Resource Held (Class)
- Child Diagrams:
-
Resource Held (
UML Class)
- Description:
Availability of a "Subject" as a resource for use by an "Agent".
- Comment:
-
Carried over from CBS V2.
Note that the same "Subject" may act as both a "Temporal Resource Held" and a "Physical Resource
Held". For example, a computer may be treated as a physical resource in the sense that it may be
bought and sold as a commodity. It may also have a role as one (or more) temporal resources in cases
where it is actually in use.
SPh/Essential Type (Generalization Node)
- Base Class:
"Subject Phenomenon"
- Definitions Used:
-
Subject Phenomenon (Class)
SPr/Association (Generalization Node)
- Description:
Partition of Subject Property based on the associations which the subtypes have.
- Base Class:
"Subject Property"
- Definitions Used:
-
Subject Property (Class)
subject (Association)
- From Class:
Subject
- To Class:
"Subject Phenomenon"
- From Class:
Subject
- To Class:
"Subject Phenomenon"
subject (Association)
- From Class:
Subject
- To Class:
"Subject Identifier"
- From Class:
Subject
- To Class:
"Subject Identifier"
Subject (Class)
- Description:
"Percept" consisting of one or more persistent physical objects.
- Comment:
-
The definition above, as for others, has been distilled from what has been suggested in the past,
including:
The "Object" of interest to an "Agent" (CBS v2).
One or a collection of physical objects.
"Percept" which is a physical object and / or a collection of physical objects.
Persistent perceivable object.
Extension of one or more "Concepts" which is perceived or inferred to exist in the universe.
Subject Creation (Class)
- Child Diagrams:
-
Subject Creation (
UML Class)
- Description:
Deduction by an "Agent" that a "Subject" was created by an "Event".
Subject Identifier (Class)
- Child Diagrams:
-
Subject Identifier (
UML Class)
- Description:
Assigned symbol or term to discriminate the "Subject" from others.
- Comment:
-
May not uniquely discriminate a "Subject" from all others. Any "Subject Property" or "Subject
Identifier" may be used for discrimination. A Subject Identifier is unique only where it occurs as a
"Unique Identifier In Domain".
Subject Phenomenon (Class)
- Child Diagrams:
-
Subject Phenomenon (
UML Class)
- Description:
Fact or event, related to a "Subject", that appears or is perceived by one of the senses or by the
mind.
Subject Property (Class)
- Description:
Condition or state associated with a "Subject".