name: pipeline-teads-sci
description: >-
  a full pipeline seeded with some hardcoded input data and yielding an SCI
  score
tags: null
initialize:
  plugins:
    interpolate:
      path: builtin
      method: Interpolation
      config:
        method: linear
        x:
          - 0
          - 10
          - 50
          - 100
        'y':
          - 0.12
          - 0.32
          - 0.75
          - 1.02
        input-parameter: cpu/utilization
        output-parameter: cpu-factor
    cpu-factor-to-wattage:
      path: builtin
      method: Multiply
      config:
        input-parameters:
          - cpu-factor
          - cpu/thermal-design-power
        output-parameter: cpu-wattage
    wattage-times-duration:
      path: builtin
      method: Multiply
      config:
        input-parameters:
          - cpu-wattage
          - duration
        output-parameter: cpu-wattage-times-duration
    wattage-to-energy-kwh:
      path: builtin
      method: Divide
      config:
        numerator: cpu-wattage-times-duration
        denominator: 3600000
        output: cpu-energy-raw
    calculate-vcpu-ratio:
      path: builtin
      method: Divide
      config:
        numerator: vcpus-total
        denominator: vcpus-allocated
        output: vcpu-ratio
    correct-cpu-energy-for-vcpu-ratio:
      path: builtin
      method: Divide
      config:
        numerator: cpu-energy-raw
        denominator: vcpu-ratio
        output: cpu-energy-kwh
    sci-embodied:
      path: builtin
      method: SciEmbodied
    operational-carbon:
      path: builtin
      method: Multiply
      config:
        input-parameters:
          - cpu-energy-kwh
          - grid/carbon-intensity
        output-parameter: carbon-operational
    sci:
      path: builtin
      method: Sci
      config:
        functional-unit: component
    sum-carbon:
      path: builtin
      method: Sum
      config:
        input-parameters:
          - carbon-operational
          - embodied-carbon
        output-parameter: carbon
    time-sync:
      path: builtin
      method: TimeSync
      config:
        start-time: '2023-12-12T00:00:00.000Z'
        end-time: '2023-12-12T00:01:00.000Z'
        interval: 5
        allow-padding: true
execution:
  command: >-
    /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node
    /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m
    manifests/examples/pipelines/pipeline-teads-sci.yml -o
    manifests/outputs/pipelines/pipeline-teads-sci.yaml
  environment:
    if-version: 0.6.0
    os: macOS
    os-version: 14.6.1
    node-version: 18.20.4
    date-time: 2024-10-04T09:52:09.777Z (UTC)
    dependencies:
      - '@babel/core@7.22.10'
      - '@babel/preset-typescript@7.23.3'
      - '@commitlint/cli@18.6.0'
      - '@commitlint/config-conventional@18.6.0'
      - '@grnsft/if-core@0.0.25'
      - '@jest/globals@29.7.0'
      - '@types/jest@29.5.8'
      - '@types/js-yaml@4.0.9'
      - '@types/luxon@3.4.2'
      - '@types/node@20.9.0'
      - axios-mock-adapter@1.22.0
      - axios@1.7.2
      - cross-env@7.0.3
      - csv-parse@5.5.6
      - csv-stringify@6.4.6
      - fixpack@4.0.0
      - gts@5.2.0
      - husky@8.0.3
      - jest@29.7.0
      - js-yaml@4.1.0
      - lint-staged@15.2.2
      - luxon@3.4.4
      - release-it@16.3.0
      - rimraf@5.0.5
      - ts-command-line-args@2.5.1
      - ts-jest@29.1.1
      - typescript-cubic-spline@1.0.1
      - typescript@5.2.2
      - winston@3.11.0
      - zod@3.23.8
  status: success
tree:
  children:
    child-1:
      pipeline:
        compute:
          - interpolate
          - cpu-factor-to-wattage
          - wattage-times-duration
          - wattage-to-energy-kwh
          - calculate-vcpu-ratio
          - correct-cpu-energy-for-vcpu-ratio
          - sci-embodied
          - operational-carbon
          - sum-carbon
          - sci
      defaults:
        cpu/thermal-design-power: 100
        grid/carbon-intensity: 800
        device/emissions-embodied: 1533.12
        time-reserved: 3600
        device/expected-lifespan: 94608000
        vcpus-total: 8
        vcpus-allocated: 1
        component: 1
      inputs:
        - timestamp: '2023-12-12T00:00:00.000Z'
          cloud/instance-type: A1
          cloud/region: uk-west
          duration: 1
          cpu/utilization: 50
          network/energy: 0.000001
        - timestamp: '2023-12-12T00:00:01.000Z'
          duration: 5
          cpu/utilization: 20
          cloud/instance-type: A1
          cloud/region: uk-west
          network/energy: 0.000001
        - timestamp: '2023-12-12T00:00:06.000Z'
          duration: 7
          cpu/utilization: 15
          cloud/instance-type: A1
          cloud/region: uk-west
          network/energy: 0.000001
        - timestamp: '2023-12-12T00:00:13.000Z'
          duration: 30
          cloud/instance-type: A1
          cloud/region: uk-west
          cpu/utilization: 15
          network/energy: 0.000001
      outputs:
        - timestamp: '2023-12-12T00:00:00.000Z'
          cloud/instance-type: A1
          cloud/region: uk-west
          duration: 1
          cpu/utilization: 50
          network/energy: 0.000001
          cpu/thermal-design-power: 100
          grid/carbon-intensity: 800
          device/emissions-embodied: 1533.12
          time-reserved: 3600
          device/expected-lifespan: 94608000
          vcpus-total: 8
          vcpus-allocated: 1
          component: 1
          cpu-factor: 0.75
          cpu-wattage: 75
          cpu-wattage-times-duration: 75
          cpu-energy-raw: 0.000020833333333333333
          vcpu-ratio: 8
          cpu-energy-kwh: 0.0000026041666666666666
          vCPUs: 1
          memory: 16
          ssd: 0
          hdd: 0
          gpu: 0
          usage-ratio: 1
          embodied-carbon: 0.007927447995941146
          carbon-operational: 0.0020833333333333333
          carbon: 0.010010781329274479
          sci: 0.010010781329274479
        - timestamp: '2023-12-12T00:00:01.000Z'
          duration: 5
          cpu/utilization: 20
          cloud/instance-type: A1
          cloud/region: uk-west
          network/energy: 0.000001
          cpu/thermal-design-power: 100
          grid/carbon-intensity: 800
          device/emissions-embodied: 1533.12
          time-reserved: 3600
          device/expected-lifespan: 94608000
          vcpus-total: 8
          vcpus-allocated: 1
          component: 1
          cpu-factor: 0.4275
          cpu-wattage: 42.75
          cpu-wattage-times-duration: 213.75
          cpu-energy-raw: 0.000059375
          vcpu-ratio: 8
          cpu-energy-kwh: 0.000007421875
          vCPUs: 1
          memory: 16
          ssd: 0
          hdd: 0
          gpu: 0
          usage-ratio: 1
          embodied-carbon: 0.03963723997970574
          carbon-operational: 0.0059375
          carbon: 0.045574739979705736
          sci: 0.045574739979705736
        - timestamp: '2023-12-12T00:00:06.000Z'
          duration: 7
          cpu/utilization: 15
          cloud/instance-type: A1
          cloud/region: uk-west
          network/energy: 0.000001
          cpu/thermal-design-power: 100
          grid/carbon-intensity: 800
          device/emissions-embodied: 1533.12
          time-reserved: 3600
          device/expected-lifespan: 94608000
          vcpus-total: 8
          vcpus-allocated: 1
          component: 1
          cpu-factor: 0.37375
          cpu-wattage: 37.375
          cpu-wattage-times-duration: 261.625
          cpu-energy-raw: 0.00007267361111111111
          vcpu-ratio: 8
          cpu-energy-kwh: 0.000009084201388888889
          vCPUs: 1
          memory: 16
          ssd: 0
          hdd: 0
          gpu: 0
          usage-ratio: 1
          embodied-carbon: 0.05549213597158803
          carbon-operational: 0.007267361111111111
          carbon: 0.06275949708269914
          sci: 0.06275949708269914
        - timestamp: '2023-12-12T00:00:13.000Z'
          duration: 30
          cloud/instance-type: A1
          cloud/region: uk-west
          cpu/utilization: 15
          network/energy: 0.000001
          cpu/thermal-design-power: 100
          grid/carbon-intensity: 800
          device/emissions-embodied: 1533.12
          time-reserved: 3600
          device/expected-lifespan: 94608000
          vcpus-total: 8
          vcpus-allocated: 1
          component: 1
          cpu-factor: 0.37375
          cpu-wattage: 37.375
          cpu-wattage-times-duration: 1121.25
          cpu-energy-raw: 0.00031145833333333335
          vcpu-ratio: 8
          cpu-energy-kwh: 0.00003893229166666667
          vCPUs: 1
          memory: 16
          ssd: 0
          hdd: 0
          gpu: 0
          usage-ratio: 1
          embodied-carbon: 0.2378234398782344
          carbon-operational: 0.031145833333333334
          carbon: 0.2689692732115677
          sci: 0.2689692732115677
