Skip to content

Instantly share code, notes, and snippets.

@dschien
Last active August 29, 2015 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dschien/24bbb049ba9be347fc22 to your computer and use it in GitHub Desktop.
Save dschien/24bbb049ba9be347fc22 to your computer and use it in GitHub Desktop.
Bottom-Up Energy Model.
{
"metadata": {
"name": "Generic Bottom-Up"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"import numpy as np"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 298
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"PUE = 2"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 299
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Edge\n",
"\n",
"The edge network contains the B-RAS.\n",
"\n",
"$$I_E = R \\cdot PUE \u22c5 \\eta_{E} \\cdot \\left( I_{E_S} + I_{E_R} \\right) $$\n",
"\n",
"- $R$ is redundancy (1+1).\n",
"- $PUE$ is PUE (2)\n",
"- $\\eta_{R}$ edge overcapacity\n",
"- $I_{E_S}$ edge switch energy intensity\n",
"- $I_{E_R}$ edge router energy intensity\n",
"\n"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"I_E = R * PUE *eta_E * ( I_E_S + I_E_R )"
],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Metro Transmission Bottom-Up \n",
"\n",
"Here we estimate the cumulated energy intensity for metro transmission from bottom-up parameters.\n",
"This is then used in the metro model as a single parameter.\n",
"\n",
"$$ I_{M_{TM}} = R \\cdot n_{M_R} \\left( c_{ON} \\cdot I_{ON} + n_{M_{OA}} I_{OA} \\right) $$\n",
"\n",
"- $R$ is redundancy (1+1).\n",
"- $n_{M_R}$ number metro routers\n",
"- $c_{ON}$ ratio of WDM systems\n",
"- $I_{ON}$ energy intensity per WDM system\n",
"- $I_{OA}$ energy intensity per optical amplifier\n",
"- $n_{M_{OA}}$ number metro network optical amplifiers per hop\n",
"\n",
"The number of optical amplifiers depends on the distance between routers s_R. If amplifiers are placed each s_A km then $ n_{OA}= \\lceil s_R/s_A \\rceil $\n"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"I_M_TM_BU = R * n_M_R * c_ON * ( I_ON + n_M_OA * I_OA)"
],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Combining energy intensity from bottom-up and empirical\n",
"\n",
"Given the cumulative energy intensity from the bottom-up model, we can factor in the empirical results from Coroama et al.\n",
"\n",
"$$ I_{M_{TM}} = u ( I_{M_{TM_{BU}}}, I_{M_{TM_{EMP}}} ) $$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"I_M_TM = np.random.uniform(I_M_TM_BU,I_M_TM_EMP)"
],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Metro With Blackbox transmission\n",
"\n",
"Here we model transmission as one component. We still apply PUE and allocate overcapacity but not redundancy as these are in the bottom-up model and in the empirical values.\n",
"\n",
"$$I_M = PUE \u22c5 \\eta_{M} ( R \\cdot n_{M_R} \\cdot I_{M_R} + I_{M_{TM}} ) $$\n",
"\n",
"- $R$ is redundancy (1+1).\n",
"- $PUE$ is PUE (2)\n",
"- $n_{M_R}$ number metro routers\n",
"- $\\eta_{M}$ metro overcapacity\n",
"- $I_{M_R}$ metro energy intensity per router\n",
"- $I_{M_{TR}}$ - transmission intensity metro (cumulative)\n",
"- $I_{M_O}$ - energy intensity fibre optic transmission metro"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"I_M_IP = PUE * eta_M * (R * n_M_R * I_M_R)\n",
"I_M_O = PUE * eta_M * I_M_TM\n",
"I_M = I_M_IP + I_M_O\n"
],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Core Transmission Bottom-Up \n",
"\n",
"Analog to metro: we estimate the cumulated energy intensity for core transmission from bottom-up parameters.\n",
"This is then used in the core model as a single parameter.\n",
"\n",
"$$ I_{C_{TM_{BU}}} = R \\cdot n_{C_R} \\left( I_{ON} + n_{C_{OA}} I_{OA} \\right) $$\n",
"\n",
"- $R$ is redundancy (1+1).\n",
"- $n_{C_R}$ number core routers\n",
"- $I_{ON}$ energy intensity per WDM system\n",
"- $I_{OA}$ energy intensity per optical amplifier\n",
"- $n_{C_{OA}}$ number core network optical amplifiers per hop\n",
"\n",
"The number of optical amplifiers depends on the distance between routers s_R. If amplifiers are placed each s_A km then $ n_{OA}= \\lceil s_R/s_A \\rceil $\n"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"I_C_TM_BU = R * n_C_R * ( I_ON + n_C_OA * I_OA)"
],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Combining bottom-up and empirical energy intensity in the Data by Coroama et al.\n",
"\n",
"Given the cumulative energy intensity from the bottom-up model, we can factor in the empirical results from Coroama et al.\n",
"\n",
"$$ I_{C_{TM}} = u ( I_{C_{TM_{BU}}}, I_{C_{TM_{EMP}}} ) $$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"I_C_TM = np.random.uniform(I_C_TM_BU,I_C_TM_EMP)"
],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Core With Blackbox transmission\n",
"\n",
"Analog to core: we model transmission as one component. We still apply PUE and allocate overcapacity but not redundancy as these are in the bottom-up model and in the empirical values.\n",
"\n",
"$$I_C = PUE \u22c5 \\eta_{C} ( R \\cdot n_{C_R} \\cdot I_{C_R} + I_{C_{TM}} ) $$\n",
"\n",
"- $R$ is redundancy (1+1).\n",
"- $PUE$ is PUE (2)\n",
"- $n_{C_R}$ number core routers\n",
"- $\\eta_{M}$ core overcapacity\n",
"- $I_{C_R}$ core energy intensity per router\n",
"- $I_{C_{TR}}$ - transmission intensity core (cumulative)n"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"I_C_IP = PUE * eta_C * ( R * n_C_R * I_C_R)\n",
"I_C_O = PUE * eta_C * I_C_TM\n",
"I_C= I_C_IP + I_C_O"
],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Transport Undersea\n",
"$$ I_S= \\left\\lceil s_T/s_{SA} \\right\\rceil I_{OSA} + R \\cdot PUE \\cdot 2 I_{ST} + s_T / C_U $$\n",
"\n",
"- $s_T$ is distance between landing point terminals\n",
"- $s_{SA}$ distance between undersea amplifiers\n",
"- $I_{OSA}$ optical line amplifier energy intensity\n",
"- R is redundancy (2x)\n",
"- PUE - power utilisation\n",
"- 2 is for landing points each side\n",
"- $I_{ST}$ landing point sea terminal energy intensity\n",
"- the final $s_T$ term is for cable resistance of one ohm/km apportioned to total capacity $C_U$ \n"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"I_S= s_T/s_SA * I_OSA + R * PUE * 2 I_ST + s_T / C_U"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"265.234375\n"
]
}
],
"prompt_number": 304
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Overall Energy Intensity\n",
"\n",
"$$ I = I_M + I_C + cI_S $$\n",
"\n",
"- c fraction of traffic that is inter-continental\n",
"\n"
]
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment