{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Demonstration of the Metrics To-Date\n",
"\n",
"For a complete list of metrics and their documentation, please see the API Metrics [documentation](../API/simulation_api.md#metrics-computation).\n",
"\n",
"This demonstration will rely on the results produced in the \"How To\" notebook."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from pprint import pprint\n",
"\n",
"import pandas as pd\n",
"\n",
"from wombat.core import Simulation\n",
"from wombat.core.library import load_yaml\n",
"\n",
"pd.set_option(\"display.float_format\", '{:,.2f}'.format)\n",
"pd.set_option(\"display.max_rows\", 1000)\n",
"pd.set_option(\"display.max_columns\", 1000)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Setup\n",
"\n",
"The simulations from the How To notebook are going to be rerun as it is not recommended to create a Metrics class from scratch due to the\n",
"large number of inputs that are required and the initialization is provided in the simulation API's run method."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"simulation_name = \"dinwoodie_base\"\n",
"\n",
"sim = Simulation(simulation_name, \"DINWOODIE\", \"base.yaml\")\n",
"sim.run()\n",
"\n",
"# For convenience only\n",
"metrics = sim.metrics"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Availability\n",
"\n",
"There are two methods to produce availability, which have their own function calls:\n",
" - energy: `production_based_availability`\n",
" - time: `time_based_availability`\n",
"\n",
"Here, we will go through the various input definitions to get time-based availability data as both methods use the same inputs, and provide outputs in the same format.\n",
"\n",
"`frequency` options:\n",
" - project: computed across the whole simulation\n",
" - annual: computed on a yearly basis\n",
" - monthly: computed across years on a monthly basis\n",
" - month-year: computed on a month-by-year basis\n",
" \n",
"`by` options:\n",
" - windfarm: computed across all turbines\n",
" - turbine: computed for each turbine"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Project total: 89.7%\n"
]
}
],
"source": [
"# Project total at the whole windfarm level\n",
"total = metrics.time_based_availability(frequency=\"project\", by=\"windfarm\")\n",
"print(f\"Project total: {total * 100:.1f}%\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" S00T1 | \n",
" S00T2 | \n",
" S00T3 | \n",
" S00T4 | \n",
" S00T5 | \n",
" S00T6 | \n",
" S00T7 | \n",
" S00T8 | \n",
" S00T9 | \n",
" S00T10 | \n",
" S00T11 | \n",
" S00T12 | \n",
" S00T13 | \n",
" S00T14 | \n",
" S00T15 | \n",
" S00T16 | \n",
" S00T17 | \n",
" S00T18 | \n",
" S00T19 | \n",
" S00T20 | \n",
" S00T21 | \n",
" S00T22 | \n",
" S00T23 | \n",
" S00T24 | \n",
" S00T25 | \n",
" S00T26 | \n",
" S00T27 | \n",
" S00T28 | \n",
" S00T29 | \n",
" S00T30 | \n",
" S00T31 | \n",
" S00T32 | \n",
" S00T33 | \n",
" S00T34 | \n",
" S00T35 | \n",
" S00T36 | \n",
" S00T37 | \n",
" S00T38 | \n",
" S00T39 | \n",
" S00T40 | \n",
" S00T41 | \n",
" S00T42 | \n",
" S00T43 | \n",
" S00T44 | \n",
" S00T45 | \n",
" S00T46 | \n",
" S00T47 | \n",
" S00T48 | \n",
" S00T49 | \n",
" S00T50 | \n",
" S00T51 | \n",
" S00T52 | \n",
" S00T53 | \n",
" S00T54 | \n",
" S00T55 | \n",
" S00T56 | \n",
" S00T57 | \n",
" S00T58 | \n",
" S00T59 | \n",
" S00T60 | \n",
" S00T61 | \n",
" S00T62 | \n",
" S00T63 | \n",
" S00T64 | \n",
" S00T65 | \n",
" S00T66 | \n",
" S00T67 | \n",
" S00T68 | \n",
" S00T69 | \n",
" S00T70 | \n",
" S00T71 | \n",
" S00T72 | \n",
" S00T73 | \n",
" S00T74 | \n",
" S00T75 | \n",
" S00T76 | \n",
" S00T77 | \n",
" S00T78 | \n",
" S00T79 | \n",
" S00T80 | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.87 | \n",
" 0.97 | \n",
" 0.86 | \n",
" 0.92 | \n",
" 0.97 | \n",
" 0.90 | \n",
" 0.80 | \n",
" 0.68 | \n",
" 0.97 | \n",
" 0.79 | \n",
" 0.87 | \n",
" 0.83 | \n",
" 0.97 | \n",
" 0.85 | \n",
" 0.97 | \n",
" 0.78 | \n",
" 0.85 | \n",
" 0.96 | \n",
" 0.97 | \n",
" 0.98 | \n",
" 0.97 | \n",
" 0.92 | \n",
" 0.97 | \n",
" 0.86 | \n",
" 0.89 | \n",
" 0.87 | \n",
" 0.68 | \n",
" 0.98 | \n",
" 0.97 | \n",
" 0.97 | \n",
" 0.73 | \n",
" 0.97 | \n",
" 0.97 | \n",
" 0.87 | \n",
" 0.81 | \n",
" 0.94 | \n",
" 0.85 | \n",
" 0.75 | \n",
" 0.97 | \n",
" 0.97 | \n",
" 0.75 | \n",
" 0.97 | \n",
" 0.82 | \n",
" 0.84 | \n",
" 0.97 | \n",
" 0.83 | \n",
" 0.80 | \n",
" 0.89 | \n",
" 0.97 | \n",
" 0.84 | \n",
" 0.96 | \n",
" 0.91 | \n",
" 0.97 | \n",
" 0.97 | \n",
" 0.92 | \n",
" 0.97 | \n",
" 0.89 | \n",
" 0.92 | \n",
" 0.82 | \n",
" 0.97 | \n",
" 0.96 | \n",
" 0.97 | \n",
" 0.89 | \n",
" 0.97 | \n",
" 0.44 | \n",
" 0.92 | \n",
" 0.97 | \n",
" 0.97 | \n",
" 0.85 | \n",
" 0.96 | \n",
" 0.97 | \n",
" 0.84 | \n",
" 0.97 | \n",
" 0.93 | \n",
" 0.78 | \n",
" 0.96 | \n",
" 0.85 | \n",
" 0.98 | \n",
" 0.97 | \n",
" 0.93 | \n",
" 0.97 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" S00T1 S00T2 S00T3 S00T4 S00T5 S00T6 S00T7 S00T8 S00T9 S00T10 \\\n",
"0 0.87 0.97 0.86 0.92 0.97 0.90 0.80 0.68 0.97 0.79 \n",
"\n",
" S00T11 S00T12 S00T13 S00T14 S00T15 S00T16 S00T17 S00T18 S00T19 \\\n",
"0 0.87 0.83 0.97 0.85 0.97 0.78 0.85 0.96 0.98 \n",
"\n",
" S00T20 S00T21 S00T22 S00T23 S00T24 S00T25 S00T26 S00T27 S00T28 \\\n",
"0 0.97 0.92 0.97 0.86 0.89 0.87 0.68 0.98 0.97 \n",
"\n",
" S00T29 S00T30 S00T31 S00T32 S00T33 S00T34 S00T35 S00T36 S00T37 \\\n",
"0 0.97 0.73 0.97 0.97 0.87 0.81 0.94 0.85 0.75 \n",
"\n",
" S00T38 S00T39 S00T40 S00T41 S00T42 S00T43 S00T44 S00T45 S00T46 \\\n",
"0 0.97 0.97 0.75 0.97 0.82 0.84 0.97 0.83 0.80 \n",
"\n",
" S00T47 S00T48 S00T49 S00T50 S00T51 S00T52 S00T53 S00T54 S00T55 \\\n",
"0 0.89 0.97 0.84 0.96 0.91 0.97 0.97 0.92 0.97 \n",
"\n",
" S00T56 S00T57 S00T58 S00T59 S00T60 S00T61 S00T62 S00T63 S00T64 \\\n",
"0 0.89 0.92 0.82 0.97 0.96 0.97 0.89 0.97 0.44 \n",
"\n",
" S00T65 S00T66 S00T67 S00T68 S00T69 S00T70 S00T71 S00T72 S00T73 \\\n",
"0 0.92 0.97 0.97 0.85 0.96 0.97 0.84 0.97 0.93 \n",
"\n",
" S00T74 S00T75 S00T76 S00T77 S00T78 S00T79 S00T80 \n",
"0 0.78 0.96 0.85 0.98 0.97 0.93 0.97 "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project total at the turbine level\n",
"metrics.time_based_availability(frequency=\"project\", by=\"turbine\")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" year | \n",
" windfarm | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 2003 | \n",
" 0.96 | \n",
"
\n",
" \n",
" | 1 | \n",
" 2004 | \n",
" 0.88 | \n",
"
\n",
" \n",
" | 2 | \n",
" 2005 | \n",
" 0.90 | \n",
"
\n",
" \n",
" | 3 | \n",
" 2006 | \n",
" 0.94 | \n",
"
\n",
" \n",
" | 4 | \n",
" 2007 | \n",
" 0.94 | \n",
"
\n",
" \n",
" | 5 | \n",
" 2008 | \n",
" 0.87 | \n",
"
\n",
" \n",
" | 6 | \n",
" 2009 | \n",
" 0.85 | \n",
"
\n",
" \n",
" | 7 | \n",
" 2010 | \n",
" 0.86 | \n",
"
\n",
" \n",
" | 8 | \n",
" 2011 | \n",
" 0.89 | \n",
"
\n",
" \n",
" | 9 | \n",
" 2012 | \n",
" 0.89 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" year windfarm\n",
"0 2003 0.96\n",
"1 2004 0.88\n",
"2 2005 0.90\n",
"3 2006 0.94\n",
"4 2007 0.94\n",
"5 2008 0.87\n",
"6 2009 0.85\n",
"7 2010 0.86\n",
"8 2011 0.89\n",
"9 2012 0.89"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project annual totals at the windfarm level\n",
"metrics.time_based_availability(frequency=\"annual\", by=\"windfarm\")"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" month | \n",
" windfarm | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 1 | \n",
" 0.90 | \n",
"
\n",
" \n",
" | 1 | \n",
" 2 | \n",
" 0.89 | \n",
"
\n",
" \n",
" | 2 | \n",
" 3 | \n",
" 0.88 | \n",
"
\n",
" \n",
" | 3 | \n",
" 4 | \n",
" 0.88 | \n",
"
\n",
" \n",
" | 4 | \n",
" 5 | \n",
" 0.89 | \n",
"
\n",
" \n",
" | 5 | \n",
" 6 | \n",
" 0.89 | \n",
"
\n",
" \n",
" | 6 | \n",
" 7 | \n",
" 0.90 | \n",
"
\n",
" \n",
" | 7 | \n",
" 8 | \n",
" 0.90 | \n",
"
\n",
" \n",
" | 8 | \n",
" 9 | \n",
" 0.91 | \n",
"
\n",
" \n",
" | 9 | \n",
" 10 | \n",
" 0.91 | \n",
"
\n",
" \n",
" | 10 | \n",
" 11 | \n",
" 0.91 | \n",
"
\n",
" \n",
" | 11 | \n",
" 12 | \n",
" 0.90 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" month windfarm\n",
"0 1 0.90\n",
"1 2 0.89\n",
"2 3 0.88\n",
"3 4 0.88\n",
"4 5 0.89\n",
"5 6 0.89\n",
"6 7 0.90\n",
"7 8 0.90\n",
"8 9 0.91\n",
"9 10 0.91\n",
"10 11 0.91\n",
"11 12 0.90"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project monthly totals at the windfarm level\n",
"metrics.time_based_availability(frequency=\"monthly\", by=\"windfarm\")"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" year | \n",
" month | \n",
" windfarm | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 2003 | \n",
" 1 | \n",
" 0.98 | \n",
"
\n",
" \n",
" | 1 | \n",
" 2003 | \n",
" 2 | \n",
" 0.97 | \n",
"
\n",
" \n",
" | 2 | \n",
" 2003 | \n",
" 3 | \n",
" 0.97 | \n",
"
\n",
" \n",
" | 3 | \n",
" 2003 | \n",
" 4 | \n",
" 0.96 | \n",
"
\n",
" \n",
" | 4 | \n",
" 2003 | \n",
" 5 | \n",
" 0.96 | \n",
"
\n",
" \n",
" | 5 | \n",
" 2003 | \n",
" 6 | \n",
" 0.97 | \n",
"
\n",
" \n",
" | 6 | \n",
" 2003 | \n",
" 7 | \n",
" 0.98 | \n",
"
\n",
" \n",
" | 7 | \n",
" 2003 | \n",
" 8 | \n",
" 0.95 | \n",
"
\n",
" \n",
" | 8 | \n",
" 2003 | \n",
" 9 | \n",
" 0.96 | \n",
"
\n",
" \n",
" | 9 | \n",
" 2003 | \n",
" 10 | \n",
" 0.96 | \n",
"
\n",
" \n",
" | 10 | \n",
" 2003 | \n",
" 11 | \n",
" 0.94 | \n",
"
\n",
" \n",
" | 11 | \n",
" 2003 | \n",
" 12 | \n",
" 0.93 | \n",
"
\n",
" \n",
" | 12 | \n",
" 2004 | \n",
" 1 | \n",
" 0.92 | \n",
"
\n",
" \n",
" | 13 | \n",
" 2004 | \n",
" 2 | \n",
" 0.90 | \n",
"
\n",
" \n",
" | 14 | \n",
" 2004 | \n",
" 3 | \n",
" 0.87 | \n",
"
\n",
" \n",
" | 15 | \n",
" 2004 | \n",
" 4 | \n",
" 0.85 | \n",
"
\n",
" \n",
" | 16 | \n",
" 2004 | \n",
" 5 | \n",
" 0.87 | \n",
"
\n",
" \n",
" | 17 | \n",
" 2004 | \n",
" 6 | \n",
" 0.87 | \n",
"
\n",
" \n",
" | 18 | \n",
" 2004 | \n",
" 7 | \n",
" 0.86 | \n",
"
\n",
" \n",
" | 19 | \n",
" 2004 | \n",
" 8 | \n",
" 0.87 | \n",
"
\n",
" \n",
" | 20 | \n",
" 2004 | \n",
" 9 | \n",
" 0.87 | \n",
"
\n",
" \n",
" | 21 | \n",
" 2004 | \n",
" 10 | \n",
" 0.88 | \n",
"
\n",
" \n",
" | 22 | \n",
" 2004 | \n",
" 11 | \n",
" 0.89 | \n",
"
\n",
" \n",
" | 23 | \n",
" 2004 | \n",
" 12 | \n",
" 0.88 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" year month windfarm\n",
"0 2003 1 0.98\n",
"1 2003 2 0.97\n",
"2 2003 3 0.97\n",
"3 2003 4 0.96\n",
"4 2003 5 0.96\n",
"5 2003 6 0.97\n",
"6 2003 7 0.98\n",
"7 2003 8 0.95\n",
"8 2003 9 0.96\n",
"9 2003 10 0.95\n",
"10 2003 11 0.94\n",
"11 2003 12 0.93\n",
"12 2004 1 0.92\n",
"13 2004 2 0.90\n",
"14 2004 3 0.87\n",
"15 2004 4 0.85\n",
"16 2004 5 0.87\n",
"17 2004 6 0.87\n",
"18 2004 7 0.86\n",
"19 2004 8 0.87\n",
"20 2004 9 0.87\n",
"21 2004 10 0.88\n",
"22 2004 11 0.89\n",
"23 2004 12 0.88"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project month-by-year totals at the windfarm level\n",
"# NOTE: This is limited to the first two years for cleanliness of the notebook\n",
"metrics.time_based_availability(frequency=\"month-year\", by=\"windfarm\").head(24)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Capacity Factor\n",
"\n",
"Here, we will go through the various input definitions to get capacity factor data. The inputs are very similar to that of the availability calculation.\n",
"\n",
"`which` options:\n",
" - net: net capcity factor, actual production\n",
" - gross: gross capacity factor, potential production\n",
"\n",
"`frequency` options:\n",
" - project: computed across the whole simulation\n",
" - annual: computed on a yearly basis\n",
" - monthly: computed across years on a monthly basis\n",
" - month-year: computed on a month-by-year basis\n",
" \n",
"`by` options:\n",
" - windfarm: computed across all turbines\n",
" - turbine: computed for each turbine"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Net Capacity Factor: 0.43%\n",
"Gross Capacity Factor: 0.48%\n"
]
}
],
"source": [
"# Project total at the whole windfarm level\n",
"cf = metrics.capacity_factor(which=\"net\", frequency=\"project\", by=\"windfarm\")\n",
"print(f\" Net Capacity Factor: {cf:.2f}%\")\n",
"\n",
"cf = metrics.capacity_factor(which=\"gross\", frequency=\"project\", by=\"windfarm\")\n",
"print(f\"Gross Capacity Factor: {cf:.2f}%\")"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" S00T1 | \n",
" S00T2 | \n",
" S00T3 | \n",
" S00T4 | \n",
" S00T5 | \n",
" S00T6 | \n",
" S00T7 | \n",
" S00T8 | \n",
" S00T9 | \n",
" S00T10 | \n",
" S00T11 | \n",
" S00T12 | \n",
" S00T13 | \n",
" S00T14 | \n",
" S00T15 | \n",
" S00T16 | \n",
" S00T17 | \n",
" S00T18 | \n",
" S00T19 | \n",
" S00T20 | \n",
" S00T21 | \n",
" S00T22 | \n",
" S00T23 | \n",
" S00T24 | \n",
" S00T25 | \n",
" S00T26 | \n",
" S00T27 | \n",
" S00T28 | \n",
" S00T29 | \n",
" S00T30 | \n",
" S00T31 | \n",
" S00T32 | \n",
" S00T33 | \n",
" S00T34 | \n",
" S00T35 | \n",
" S00T36 | \n",
" S00T37 | \n",
" S00T38 | \n",
" S00T39 | \n",
" S00T40 | \n",
" S00T41 | \n",
" S00T42 | \n",
" S00T43 | \n",
" S00T44 | \n",
" S00T45 | \n",
" S00T46 | \n",
" S00T47 | \n",
" S00T48 | \n",
" S00T49 | \n",
" S00T50 | \n",
" S00T51 | \n",
" S00T52 | \n",
" S00T53 | \n",
" S00T54 | \n",
" S00T55 | \n",
" S00T56 | \n",
" S00T57 | \n",
" S00T58 | \n",
" S00T59 | \n",
" S00T60 | \n",
" S00T61 | \n",
" S00T62 | \n",
" S00T63 | \n",
" S00T64 | \n",
" S00T65 | \n",
" S00T66 | \n",
" S00T67 | \n",
" S00T68 | \n",
" S00T69 | \n",
" S00T70 | \n",
" S00T71 | \n",
" S00T72 | \n",
" S00T73 | \n",
" S00T74 | \n",
" S00T75 | \n",
" S00T76 | \n",
" S00T77 | \n",
" S00T78 | \n",
" S00T79 | \n",
" S00T80 | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.41 | \n",
" 0.46 | \n",
" 0.41 | \n",
" 0.44 | \n",
" 0.46 | \n",
" 0.42 | \n",
" 0.38 | \n",
" 0.33 | \n",
" 0.46 | \n",
" 0.37 | \n",
" 0.41 | \n",
" 0.40 | \n",
" 0.46 | \n",
" 0.41 | \n",
" 0.46 | \n",
" 0.38 | \n",
" 0.41 | \n",
" 0.46 | \n",
" 0.46 | \n",
" 0.44 | \n",
" 0.46 | \n",
" 0.41 | \n",
" 0.43 | \n",
" 0.41 | \n",
" 0.32 | \n",
" 0.47 | \n",
" 0.47 | \n",
" 0.47 | \n",
" 0.47 | \n",
" 0.40 | \n",
" 0.47 | \n",
" 0.42 | \n",
" 0.46 | \n",
" 0.35 | \n",
" 0.46 | \n",
" 0.47 | \n",
" 0.46 | \n",
" 0.42 | \n",
" 0.39 | \n",
" 0.45 | \n",
" 0.40 | \n",
" 0.35 | \n",
" 0.46 | \n",
" 0.46 | \n",
" 0.37 | \n",
" 0.46 | \n",
" 0.39 | \n",
" 0.40 | \n",
" 0.46 | \n",
" 0.39 | \n",
" 0.38 | \n",
" 0.43 | \n",
" 0.46 | \n",
" 0.41 | \n",
" 0.46 | \n",
" 0.43 | \n",
" 0.46 | \n",
" 0.46 | \n",
" 0.44 | \n",
" 0.46 | \n",
" 0.42 | \n",
" 0.44 | \n",
" 0.39 | \n",
" 0.46 | \n",
" 0.46 | \n",
" 0.46 | \n",
" 0.42 | \n",
" 0.46 | \n",
" 0.21 | \n",
" 0.44 | \n",
" 0.46 | \n",
" 0.47 | \n",
" 0.41 | \n",
" 0.46 | \n",
" 0.46 | \n",
" 0.40 | \n",
" 0.47 | \n",
" 0.44 | \n",
" 0.38 | \n",
" 0.46 | \n",
" 0.41 | \n",
" 0.47 | \n",
" 0.46 | \n",
" 0.45 | \n",
" 0.46 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" S00T1 S00T2 S00T3 S00T4 S00T5 S00T6 S00T7 S00T8 S00T9 S00T10 \\\n",
"0 0.41 0.46 0.41 0.44 0.46 0.42 0.38 0.33 0.46 0.37 \n",
"\n",
" S00T11 S00T12 S00T13 S00T14 S00T15 S00T16 S00T17 S00T18 S00T19 \\\n",
"0 0.41 0.40 0.46 0.41 0.46 0.38 0.41 0.46 0.47 \n",
"\n",
" S00T20 S00T21 S00T22 S00T23 S00T24 S00T25 S00T26 S00T27 S00T28 \\\n",
"0 0.46 0.44 0.46 0.41 0.43 0.41 0.32 0.47 0.46 \n",
"\n",
" S00T29 S00T30 S00T31 S00T32 S00T33 S00T34 S00T35 S00T36 S00T37 \\\n",
"0 0.46 0.35 0.46 0.46 0.42 0.39 0.45 0.40 0.35 \n",
"\n",
" S00T38 S00T39 S00T40 S00T41 S00T42 S00T43 S00T44 S00T45 S00T46 \\\n",
"0 0.46 0.46 0.37 0.46 0.39 0.40 0.46 0.39 0.38 \n",
"\n",
" S00T47 S00T48 S00T49 S00T50 S00T51 S00T52 S00T53 S00T54 S00T55 \\\n",
"0 0.43 0.46 0.41 0.46 0.43 0.46 0.46 0.44 0.46 \n",
"\n",
" S00T56 S00T57 S00T58 S00T59 S00T60 S00T61 S00T62 S00T63 S00T64 \\\n",
"0 0.42 0.44 0.39 0.46 0.46 0.46 0.42 0.46 0.21 \n",
"\n",
" S00T65 S00T66 S00T67 S00T68 S00T69 S00T70 S00T71 S00T72 S00T73 \\\n",
"0 0.44 0.46 0.47 0.41 0.46 0.46 0.40 0.47 0.44 \n",
"\n",
" S00T74 S00T75 S00T76 S00T77 S00T78 S00T79 S00T80 \n",
"0 0.38 0.46 0.41 0.47 0.46 0.45 0.46 "
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project total at the turbine level\n",
"metrics.capacity_factor(which=\"net\", frequency=\"project\", by=\"turbine\")"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" windfarm | \n",
"
\n",
" \n",
" | year | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" | 2003 | \n",
" 0.40 | \n",
"
\n",
" \n",
" | 2004 | \n",
" 0.41 | \n",
"
\n",
" \n",
" | 2005 | \n",
" 0.44 | \n",
"
\n",
" \n",
" | 2006 | \n",
" 0.46 | \n",
"
\n",
" \n",
" | 2007 | \n",
" 0.48 | \n",
"
\n",
" \n",
" | 2008 | \n",
" 0.45 | \n",
"
\n",
" \n",
" | 2009 | \n",
" 0.40 | \n",
"
\n",
" \n",
" | 2010 | \n",
" 0.37 | \n",
"
\n",
" \n",
" | 2011 | \n",
" 0.45 | \n",
"
\n",
" \n",
" | 2012 | \n",
" 0.44 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" windfarm\n",
"year \n",
"2003 0.40\n",
"2004 0.41\n",
"2005 0.44\n",
"2006 0.44\n",
"2007 0.48\n",
"2008 0.45\n",
"2009 0.40\n",
"2010 0.37\n",
"2011 0.45\n",
"2012 0.44"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project annual totals at the windfarm level\n",
"metrics.capacity_factor(which=\"net\", frequency=\"annual\", by=\"windfarm\")"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" windfarm | \n",
"
\n",
" \n",
" | month | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" | 1 | \n",
" 0.57 | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.47 | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.46 | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.38 | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.36 | \n",
"
\n",
" \n",
" | 6 | \n",
" 0.30 | \n",
"
\n",
" \n",
" | 7 | \n",
" 0.31 | \n",
"
\n",
" \n",
" | 8 | \n",
" 0.34 | \n",
"
\n",
" \n",
" | 9 | \n",
" 0.43 | \n",
"
\n",
" \n",
" | 10 | \n",
" 0.48 | \n",
"
\n",
" \n",
" | 11 | \n",
" 0.53 | \n",
"
\n",
" \n",
" | 12 | \n",
" 0.52 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" windfarm\n",
"month \n",
"1 0.57\n",
"2 0.47\n",
"3 0.46\n",
"4 0.38\n",
"5 0.36\n",
"6 0.30\n",
"7 0.31\n",
"8 0.34\n",
"9 0.43\n",
"10 0.48\n",
"11 0.53\n",
"12 0.52"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project monthly totals at the windfarm level\n",
"metrics.capacity_factor(which=\"net\", frequency=\"monthly\", by=\"windfarm\")"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" | \n",
" windfarm | \n",
"
\n",
" \n",
" | year | \n",
" month | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" | 2003 | \n",
" 1 | \n",
" 0.63 | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.37 | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.38 | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.52 | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.34 | \n",
"
\n",
" \n",
" | 6 | \n",
" 0.31 | \n",
"
\n",
" \n",
" | 7 | \n",
" 0.30 | \n",
"
\n",
" \n",
" | 8 | \n",
" 0.29 | \n",
"
\n",
" \n",
" | 9 | \n",
" 0.27 | \n",
"
\n",
" \n",
" | 10 | \n",
" 0.41 | \n",
"
\n",
" \n",
" | 11 | \n",
" 0.53 | \n",
"
\n",
" \n",
" | 12 | \n",
" 0.54 | \n",
"
\n",
" \n",
" | 2004 | \n",
" 1 | \n",
" 0.52 | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.49 | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.46 | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.35 | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.26 | \n",
"
\n",
" \n",
" | 6 | \n",
" 0.34 | \n",
"
\n",
" \n",
" | 7 | \n",
" 0.24 | \n",
"
\n",
" \n",
" | 8 | \n",
" 0.37 | \n",
"
\n",
" \n",
" | 9 | \n",
" 0.52 | \n",
"
\n",
" \n",
" | 10 | \n",
" 0.51 | \n",
"
\n",
" \n",
" | 11 | \n",
" 0.44 | \n",
"
\n",
" \n",
" | 12 | \n",
" 0.44 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" windfarm\n",
"year month \n",
"2003 1 0.62\n",
" 2 0.36\n",
" 3 0.37\n",
" 4 0.52\n",
" 5 0.34\n",
" 6 0.31\n",
" 7 0.30\n",
" 8 0.29\n",
" 9 0.27\n",
" 10 0.41\n",
" 11 0.53\n",
" 12 0.52\n",
"2004 1 0.52\n",
" 2 0.47\n",
" 3 0.46\n",
" 4 0.35\n",
" 5 0.26\n",
" 6 0.34\n",
" 7 0.24\n",
" 8 0.37\n",
" 9 0.52\n",
" 10 0.51\n",
" 11 0.44\n",
" 12 0.44"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project month-by-year totals at the windfarm level\n",
"# NOTE: This is limited to the first two years for cleanliness of the notebook\n",
"metrics.capacity_factor(which=\"net\", frequency=\"month-year\", by=\"windfarm\").head(24)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Task Completion Rate\n",
"\n",
"Here, we will go through the various input definitions to get the task completion rates. The inputs are very similar to that of the availability calculation.\n",
"\n",
"`which` options:\n",
" - scheduled: scheduled maintenance only (classified as maintenace tasks in inputs)\n",
" - unscheduled: unscheduled maintenance only (classified as failure events in inputs)\n",
" - both: \n",
"\n",
"`frequency` options:\n",
" - project: computed across the whole simulation\n",
" - annual: computed on a yearly basis\n",
" - monthly: computed across years on a monthly basis\n",
" - month-year: computed on a month-by-year basis"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Scheduled Task Completion Rate: 95%\n",
"Unscheduled Task Completion Rate: 100%\n",
" Overall Task Completion Rate: 100%\n"
]
}
],
"source": [
"# Project total at the whole windfarm level\n",
"total = metrics.task_completion_rate(which=\"scheduled\", frequency=\"project\")\n",
"print(f\" Scheduled Task Completion Rate: {total * 100:.0f}%\")\n",
"\n",
"total = metrics.task_completion_rate(which=\"unscheduled\", frequency=\"project\")\n",
"print(f\"Unscheduled Task Completion Rate: {total * 100:.0f}%\")\n",
"\n",
"total = metrics.task_completion_rate(which=\"both\", frequency=\"project\")\n",
"print(f\" Overall Task Completion Rate: {total * 100:.0f}%\")"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" year | \n",
" Completion Rate | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 2003 | \n",
" 0.99 | \n",
"
\n",
" \n",
" | 1 | \n",
" 2004 | \n",
" 0.95 | \n",
"
\n",
" \n",
" | 2 | \n",
" 2005 | \n",
" 0.99 | \n",
"
\n",
" \n",
" | 3 | \n",
" 2006 | \n",
" 0.98 | \n",
"
\n",
" \n",
" | 4 | \n",
" 2007 | \n",
" 0.98 | \n",
"
\n",
" \n",
" | 5 | \n",
" 2008 | \n",
" 1.01 | \n",
"
\n",
" \n",
" | 6 | \n",
" 2009 | \n",
" 1.02 | \n",
"
\n",
" \n",
" | 7 | \n",
" 2010 | \n",
" 1.02 | \n",
"
\n",
" \n",
" | 8 | \n",
" 2011 | \n",
" 1.01 | \n",
"
\n",
" \n",
" | 9 | \n",
" 2012 | \n",
" 1.03 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" year Completion Rate\n",
"0 2003 0.98\n",
"1 2004 0.95\n",
"2 2005 0.99\n",
"3 2006 0.98\n",
"4 2007 0.98\n",
"5 2008 1.01\n",
"6 2009 1.02\n",
"7 2010 1.02\n",
"8 2011 1.01\n",
"9 2012 1.03"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project annual totals at the windfarm level\n",
"metrics.task_completion_rate(which=\"both\", frequency=\"annual\")"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" year | \n",
" Completion Rate | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 1 | \n",
" 0.85 | \n",
"
\n",
" \n",
" | 1 | \n",
" 2 | \n",
" 0.99 | \n",
"
\n",
" \n",
" | 2 | \n",
" 3 | \n",
" 1.00 | \n",
"
\n",
" \n",
" | 3 | \n",
" 4 | \n",
" 1.03 | \n",
"
\n",
" \n",
" | 4 | \n",
" 5 | \n",
" 1.01 | \n",
"
\n",
" \n",
" | 5 | \n",
" 6 | \n",
" 1.05 | \n",
"
\n",
" \n",
" | 6 | \n",
" 7 | \n",
" 1.00 | \n",
"
\n",
" \n",
" | 7 | \n",
" 8 | \n",
" 1.03 | \n",
"
\n",
" \n",
" | 8 | \n",
" 9 | \n",
" 1.00 | \n",
"
\n",
" \n",
" | 9 | \n",
" 10 | \n",
" 1.01 | \n",
"
\n",
" \n",
" | 10 | \n",
" 11 | \n",
" 0.95 | \n",
"
\n",
" \n",
" | 11 | \n",
" 12 | \n",
" 1.01 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" year Completion Rate\n",
"0 1 0.85\n",
"1 2 1.04\n",
"2 3 1.00\n",
"3 4 1.03\n",
"4 5 1.01\n",
"5 6 1.05\n",
"6 7 1.02\n",
"7 8 1.03\n",
"8 9 1.00\n",
"9 10 1.01\n",
"10 11 0.95\n",
"11 12 1.01"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project monthly totals at the windfarm level\n",
"metrics.task_completion_rate(which=\"both\", frequency=\"monthly\")"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" year | \n",
" month | \n",
" Completion Rate | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 2003 | \n",
" 1 | \n",
" 0.84 | \n",
"
\n",
" \n",
" | 1 | \n",
" 2003 | \n",
" 2 | \n",
" 1.14 | \n",
"
\n",
" \n",
" | 2 | \n",
" 2003 | \n",
" 3 | \n",
" 0.93 | \n",
"
\n",
" \n",
" | 3 | \n",
" 2003 | \n",
" 4 | \n",
" 1.00 | \n",
"
\n",
" \n",
" | 4 | \n",
" 2003 | \n",
" 5 | \n",
" 1.00 | \n",
"
\n",
" \n",
" | 5 | \n",
" 2003 | \n",
" 6 | \n",
" 1.03 | \n",
"
\n",
" \n",
" | 6 | \n",
" 2003 | \n",
" 7 | \n",
" 0.97 | \n",
"
\n",
" \n",
" | 7 | \n",
" 2003 | \n",
" 8 | \n",
" 1.00 | \n",
"
\n",
" \n",
" | 8 | \n",
" 2003 | \n",
" 9 | \n",
" 0.95 | \n",
"
\n",
" \n",
" | 9 | \n",
" 2003 | \n",
" 10 | \n",
" 0.93 | \n",
"
\n",
" \n",
" | 10 | \n",
" 2003 | \n",
" 11 | \n",
" 1.03 | \n",
"
\n",
" \n",
" | 11 | \n",
" 2003 | \n",
" 12 | \n",
" 0.98 | \n",
"
\n",
" \n",
" | 12 | \n",
" 2004 | \n",
" 1 | \n",
" 0.51 | \n",
"
\n",
" \n",
" | 13 | \n",
" 2004 | \n",
" 2 | \n",
" 1.08 | \n",
"
\n",
" \n",
" | 14 | \n",
" 2004 | \n",
" 3 | \n",
" 1.07 | \n",
"
\n",
" \n",
" | 15 | \n",
" 2004 | \n",
" 4 | \n",
" 1.15 | \n",
"
\n",
" \n",
" | 16 | \n",
" 2004 | \n",
" 5 | \n",
" 1.11 | \n",
"
\n",
" \n",
" | 17 | \n",
" 2004 | \n",
" 6 | \n",
" 1.04 | \n",
"
\n",
" \n",
" | 18 | \n",
" 2004 | \n",
" 7 | \n",
" 0.97 | \n",
"
\n",
" \n",
" | 19 | \n",
" 2004 | \n",
" 8 | \n",
" 1.02 | \n",
"
\n",
" \n",
" | 20 | \n",
" 2004 | \n",
" 9 | \n",
" 1.11 | \n",
"
\n",
" \n",
" | 21 | \n",
" 2004 | \n",
" 10 | \n",
" 1.04 | \n",
"
\n",
" \n",
" | 22 | \n",
" 2004 | \n",
" 11 | \n",
" 0.91 | \n",
"
\n",
" \n",
" | 23 | \n",
" 2004 | \n",
" 12 | \n",
" 1.10 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" year month Completion Rate\n",
"0 2003 1 0.84\n",
"1 2003 2 1.14\n",
"2 2003 3 0.93\n",
"3 2003 4 1.00\n",
"4 2003 5 1.00\n",
"5 2003 6 1.03\n",
"6 2003 7 0.97\n",
"7 2003 8 1.00\n",
"8 2003 9 0.95\n",
"9 2003 10 0.92\n",
"10 2003 11 1.03\n",
"11 2003 12 0.98\n",
"12 2004 1 0.51\n",
"13 2004 2 1.08\n",
"14 2004 3 1.07\n",
"15 2004 4 1.15\n",
"16 2004 5 1.11\n",
"17 2004 6 1.04\n",
"18 2004 7 0.97\n",
"19 2004 8 1.02\n",
"20 2004 9 1.11\n",
"21 2004 10 1.04\n",
"22 2004 11 0.91\n",
"23 2004 12 1.03"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project month-by-year totals at the windfarm level\n",
"# NOTE: This is limited to the first two years for cleanliness of the notebook\n",
"metrics.task_completion_rate(which=\"both\", frequency=\"month-year\").head(24)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Equipment Costs\n",
"\n",
"Here, we will go through the various input definitions to get the equipment cost data.\n",
"\n",
"`frequency` options:\n",
" - project: computed across the whole simulation\n",
" - annual: computed on a yearly basis\n",
" - monthly: computed across years on a monthly basis\n",
" - month-year: computed on a month-by-year basis\n",
" \n",
"`by_equipment` options:\n",
" - `True`: computed across all equipment used\n",
" - `False`: computed for each piece of equipment"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Project total: $554,807.68/MW\n"
]
}
],
"source": [
"# Project total at the whole windfarm level\n",
"total = metrics.equipment_costs(frequency=\"project\", by_equipment=False)\n",
"print(f\"Project total: ${total / metrics.project_capacity:,.2f}/MW\")"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Crew Transfer Vessel 1 | \n",
" Crew Transfer Vessel 2 | \n",
" Crew Transfer Vessel 3 | \n",
" Field Support Vessel | \n",
" Heavy Lift Vessel | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 6,393,260.42 | \n",
" 6,393,260.42 | \n",
" 6,393,260.42 | \n",
" 2,660,000.00 | \n",
" 111,314,062.50 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Crew Transfer Vessel 1 Crew Transfer Vessel 2 Crew Transfer Vessel 3 \\\n",
"0 6,393,260.42 6,393,260.42 6,393,260.42 \n",
"\n",
" Field Support Vessel Heavy Lift Vessel \n",
"0 2,660,000.00 111,314,062.50 "
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project totals at the equipment level\n",
"metrics.equipment_costs(frequency=\"project\", by_equipment=True)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" year | \n",
" equipment_cost | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 2003 | \n",
" 11,324,406.25 | \n",
"
\n",
" \n",
" | 1 | \n",
" 2004 | \n",
" 13,729,687.50 | \n",
"
\n",
" \n",
" | 2 | \n",
" 2005 | \n",
" 12,893,187.50 | \n",
"
\n",
" \n",
" | 3 | \n",
" 2006 | \n",
" 13,874,437.50 | \n",
"
\n",
" \n",
" | 4 | \n",
" 2007 | \n",
" 14,324,437.50 | \n",
"
\n",
" \n",
" | 5 | \n",
" 2008 | \n",
" 11,629,687.50 | \n",
"
\n",
" \n",
" | 6 | \n",
" 2009 | \n",
" 12,905,687.50 | \n",
"
\n",
" \n",
" | 7 | \n",
" 2010 | \n",
" 13,205,687.50 | \n",
"
\n",
" \n",
" | 8 | \n",
" 2011 | \n",
" 13,574,437.50 | \n",
"
\n",
" \n",
" | 9 | \n",
" 2012 | \n",
" 15,692,187.50 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" year equipment_cost\n",
"0 2003 11,324,406.25\n",
"1 2004 13,729,687.50\n",
"2 2005 12,893,187.50\n",
"3 2006 13,874,437.50\n",
"4 2007 14,324,437.50\n",
"5 2008 11,629,687.50\n",
"6 2009 12,905,687.50\n",
"7 2010 13,205,687.50\n",
"8 2011 13,574,437.50\n",
"9 2012 15,692,187.50"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project annual totals at the windfarm level\n",
"metrics.equipment_costs(frequency=\"annual\", by_equipment=False)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" month | \n",
" Crew Transfer Vessel 1 | \n",
" Crew Transfer Vessel 2 | \n",
" Crew Transfer Vessel 3 | \n",
" Field Support Vessel | \n",
" Heavy Lift Vessel | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 1 | \n",
" 543,010.42 | \n",
" 543,010.42 | \n",
" 543,010.42 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 1 | \n",
" 2 | \n",
" 495,250.00 | \n",
" 495,250.00 | \n",
" 495,250.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 2 | \n",
" 3 | \n",
" 542,500.00 | \n",
" 542,500.00 | \n",
" 542,500.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 3 | \n",
" 4 | \n",
" 525,000.00 | \n",
" 525,000.00 | \n",
" 525,000.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 4 | \n",
" 5 | \n",
" 542,500.00 | \n",
" 542,500.00 | \n",
" 542,500.00 | \n",
" 0.00 | \n",
" 36,028,125.00 | \n",
"
\n",
" \n",
" | 5 | \n",
" 6 | \n",
" 525,000.00 | \n",
" 525,000.00 | \n",
" 525,000.00 | \n",
" 2,670,291.67 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 6 | \n",
" 7 | \n",
" 542,500.00 | \n",
" 542,500.00 | \n",
" 542,500.00 | \n",
" 0.00 | \n",
" 35,207,812.50 | \n",
"
\n",
" \n",
" | 7 | \n",
" 8 | \n",
" 542,500.00 | \n",
" 542,500.00 | \n",
" 542,500.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 8 | \n",
" 9 | \n",
" 525,000.00 | \n",
" 525,000.00 | \n",
" 525,000.00 | \n",
" 0.00 | \n",
" 38,954,687.50 | \n",
"
\n",
" \n",
" | 9 | \n",
" 10 | \n",
" 542,500.00 | \n",
" 542,500.00 | \n",
" 542,500.00 | \n",
" 0.00 | \n",
" 1,123,437.50 | \n",
"
\n",
" \n",
" | 10 | \n",
" 11 | \n",
" 525,000.00 | \n",
" 525,000.00 | \n",
" 525,000.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 11 | \n",
" 12 | \n",
" 542,500.00 | \n",
" 542,500.00 | \n",
" 542,500.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" month Crew Transfer Vessel 1 Crew Transfer Vessel 2 \\\n",
"0 1 543,010.42 543,010.42 \n",
"1 2 495,250.00 495,250.00 \n",
"2 3 542,500.00 542,500.00 \n",
"3 4 525,000.00 525,000.00 \n",
"4 5 542,500.00 542,500.00 \n",
"5 6 525,000.00 525,000.00 \n",
"6 7 542,500.00 542,500.00 \n",
"7 8 542,500.00 542,500.00 \n",
"8 9 525,000.00 525,000.00 \n",
"9 10 542,500.00 542,500.00 \n",
"10 11 525,000.00 525,000.00 \n",
"11 12 542,500.00 542,500.00 \n",
"\n",
" Crew Transfer Vessel 3 Field Support Vessel Heavy Lift Vessel \n",
"0 543,010.42 0.00 0.00 \n",
"1 495,250.00 0.00 0.00 \n",
"2 542,500.00 0.00 0.00 \n",
"3 525,000.00 0.00 0.00 \n",
"4 542,500.00 0.00 36,028,125.00 \n",
"5 525,000.00 2,660,000.00 0.00 \n",
"6 542,500.00 0.00 35,207,812.50 \n",
"7 542,500.00 0.00 0.00 \n",
"8 525,000.00 0.00 38,954,687.50 \n",
"9 542,500.00 0.00 1,123,437.50 \n",
"10 525,000.00 0.00 0.00 \n",
"11 542,500.00 0.00 0.00 "
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project monthly totals at the equipment level\n",
"metrics.equipment_costs(frequency=\"monthly\", by_equipment=True)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" year | \n",
" month | \n",
" Crew Transfer Vessel 1 | \n",
" Crew Transfer Vessel 2 | \n",
" Crew Transfer Vessel 3 | \n",
" Field Support Vessel | \n",
" Heavy Lift Vessel | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 2003 | \n",
" 1 | \n",
" 54,760.42 | \n",
" 54,760.42 | \n",
" 54,760.42 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 1 | \n",
" 2003 | \n",
" 2 | \n",
" 49,000.00 | \n",
" 49,000.00 | \n",
" 49,000.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 2 | \n",
" 2003 | \n",
" 3 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 3 | \n",
" 2003 | \n",
" 4 | \n",
" 52,500.00 | \n",
" 52,500.00 | \n",
" 52,500.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 4 | \n",
" 2003 | \n",
" 5 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 0.00 | \n",
" 3,570,312.50 | \n",
"
\n",
" \n",
" | 5 | \n",
" 2003 | \n",
" 6 | \n",
" 52,500.00 | \n",
" 52,500.00 | \n",
" 52,500.00 | \n",
" 266,000.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 6 | \n",
" 2003 | \n",
" 7 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 0.00 | \n",
" 3,543,750.00 | \n",
"
\n",
" \n",
" | 7 | \n",
" 2003 | \n",
" 8 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 8 | \n",
" 2003 | \n",
" 9 | \n",
" 52,500.00 | \n",
" 52,500.00 | \n",
" 52,500.00 | \n",
" 0.00 | \n",
" 2,820,312.50 | \n",
"
\n",
" \n",
" | 9 | \n",
" 2003 | \n",
" 10 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 10 | \n",
" 2003 | \n",
" 11 | \n",
" 52,500.00 | \n",
" 52,500.00 | \n",
" 52,500.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 11 | \n",
" 2003 | \n",
" 12 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 12 | \n",
" 2004 | \n",
" 1 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 13 | \n",
" 2004 | \n",
" 2 | \n",
" 50,750.00 | \n",
" 50,750.00 | \n",
" 50,750.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 14 | \n",
" 2004 | \n",
" 3 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 15 | \n",
" 2004 | \n",
" 4 | \n",
" 52,500.00 | \n",
" 52,500.00 | \n",
" 52,500.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 16 | \n",
" 2004 | \n",
" 5 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 0.00 | \n",
" 2,970,312.50 | \n",
"
\n",
" \n",
" | 17 | \n",
" 2004 | \n",
" 6 | \n",
" 52,500.00 | \n",
" 52,500.00 | \n",
" 52,500.00 | \n",
" 266,000.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 18 | \n",
" 2004 | \n",
" 7 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 0.00 | \n",
" 3,120,312.50 | \n",
"
\n",
" \n",
" | 19 | \n",
" 2004 | \n",
" 8 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 20 | \n",
" 2004 | \n",
" 9 | \n",
" 52,500.00 | \n",
" 52,500.00 | \n",
" 52,500.00 | \n",
" 0.00 | \n",
" 5,000,000.00 | \n",
"
\n",
" \n",
" | 21 | \n",
" 2004 | \n",
" 10 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 0.00 | \n",
" 451,562.50 | \n",
"
\n",
" \n",
" | 22 | \n",
" 2004 | \n",
" 11 | \n",
" 52,500.00 | \n",
" 52,500.00 | \n",
" 52,500.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 23 | \n",
" 2004 | \n",
" 12 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 54,250.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" year month Crew Transfer Vessel 1 Crew Transfer Vessel 2 \\\n",
"0 2003 1 54,760.42 54,760.42 \n",
"1 2003 2 49,000.00 49,000.00 \n",
"2 2003 3 54,250.00 54,250.00 \n",
"3 2003 4 52,500.00 52,500.00 \n",
"4 2003 5 54,250.00 54,250.00 \n",
"5 2003 6 52,500.00 52,500.00 \n",
"6 2003 7 54,250.00 54,250.00 \n",
"7 2003 8 54,250.00 54,250.00 \n",
"8 2003 9 52,500.00 52,500.00 \n",
"9 2003 10 54,250.00 54,250.00 \n",
"10 2003 11 52,500.00 52,500.00 \n",
"11 2003 12 54,250.00 54,250.00 \n",
"12 2004 1 54,250.00 54,250.00 \n",
"13 2004 2 50,750.00 50,750.00 \n",
"14 2004 3 54,250.00 54,250.00 \n",
"15 2004 4 52,500.00 52,500.00 \n",
"16 2004 5 54,250.00 54,250.00 \n",
"17 2004 6 52,500.00 52,500.00 \n",
"18 2004 7 54,250.00 54,250.00 \n",
"19 2004 8 54,250.00 54,250.00 \n",
"20 2004 9 52,500.00 52,500.00 \n",
"21 2004 10 54,250.00 54,250.00 \n",
"22 2004 11 52,500.00 52,500.00 \n",
"23 2004 12 54,250.00 54,250.00 \n",
"\n",
" Crew Transfer Vessel 3 Field Support Vessel Heavy Lift Vessel \n",
"0 54,760.42 0.00 0.00 \n",
"1 49,000.00 0.00 0.00 \n",
"2 54,250.00 0.00 0.00 \n",
"3 52,500.00 0.00 0.00 \n",
"4 54,250.00 0.00 3,570,312.50 \n",
"5 52,500.00 266,000.00 0.00 \n",
"6 54,250.00 0.00 3,543,750.00 \n",
"7 54,250.00 0.00 0.00 \n",
"8 52,500.00 0.00 2,820,312.50 \n",
"9 54,250.00 0.00 0.00 \n",
"10 52,500.00 0.00 0.00 \n",
"11 54,250.00 0.00 0.00 \n",
"12 54,250.00 0.00 0.00 \n",
"13 50,750.00 0.00 0.00 \n",
"14 54,250.00 0.00 0.00 \n",
"15 52,500.00 0.00 0.00 \n",
"16 54,250.00 0.00 2,970,312.50 \n",
"17 52,500.00 266,000.00 0.00 \n",
"18 54,250.00 0.00 3,120,312.50 \n",
"19 54,250.00 0.00 0.00 \n",
"20 52,500.00 0.00 5,000,000.00 \n",
"21 54,250.00 0.00 451,562.50 \n",
"22 52,500.00 0.00 0.00 \n",
"23 54,250.00 0.00 0.00 "
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project month-by-year totals at the equipment level\n",
"# NOTE: This is limited to the two years only\n",
"metrics.equipment_costs(frequency=\"month-year\", by_equipment=True).head(24)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Service Equipment Utilization Rate\n",
"\n",
"Here, we will go through the various input definitions to get the service equipment utiliztion rates.\n",
"\n",
"`frequency` options:\n",
" - project: computed across the whole simulation\n",
" - annual: computed on a yearly basis"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Crew Transfer Vessel 1 | \n",
" Crew Transfer Vessel 2 | \n",
" Crew Transfer Vessel 3 | \n",
" Field Support Vessel | \n",
" Heavy Lift Vessel | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.96 | \n",
" 0.96 | \n",
" 0.96 | \n",
" 0.91 | \n",
" 0.99 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Crew Transfer Vessel 1 Crew Transfer Vessel 2 Crew Transfer Vessel 3 \\\n",
"0 0.96 0.96 0.96 \n",
"\n",
" Field Support Vessel Heavy Lift Vessel \n",
"0 0.91 0.99 "
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project totals at the project level\n",
"total = metrics.service_equipment_utilization(frequency=\"project\")\n",
"total"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Crew Transfer Vessel 1 | \n",
" Crew Transfer Vessel 2 | \n",
" Crew Transfer Vessel 3 | \n",
" Field Support Vessel | \n",
" Heavy Lift Vessel | \n",
"
\n",
" \n",
" | year | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" | 2003 | \n",
" 0.64 | \n",
" 0.63 | \n",
" 0.65 | \n",
" 0.10 | \n",
" 0.89 | \n",
"
\n",
" \n",
" | 2004 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
"
\n",
" \n",
" | 2005 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
"
\n",
" \n",
" | 2006 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
"
\n",
" \n",
" | 2007 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
"
\n",
" \n",
" | 2008 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
"
\n",
" \n",
" | 2009 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
"
\n",
" \n",
" | 2010 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
"
\n",
" \n",
" | 2011 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
"
\n",
" \n",
" | 2012 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
" 1.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Crew Transfer Vessel 1 Crew Transfer Vessel 2 Crew Transfer Vessel 3 \\\n",
"year \n",
"2003 0.64 0.63 0.65 \n",
"2004 1.00 1.00 1.00 \n",
"2005 1.00 1.00 1.00 \n",
"2006 1.00 1.00 1.00 \n",
"2007 1.00 1.00 1.00 \n",
"2008 1.00 1.00 1.00 \n",
"2009 1.00 1.00 1.00 \n",
"2010 1.00 1.00 1.00 \n",
"2011 1.00 1.00 1.00 \n",
"2012 1.00 1.00 1.00 \n",
"\n",
" Field Support Vessel Heavy Lift Vessel \n",
"year \n",
"2003 0.10 0.89 \n",
"2004 1.00 1.00 \n",
"2005 1.00 1.00 \n",
"2006 1.00 1.00 \n",
"2007 1.00 1.00 \n",
"2008 1.00 1.00 \n",
"2009 1.00 1.00 \n",
"2010 1.00 1.00 \n",
"2011 1.00 1.00 \n",
"2012 1.00 1.00 "
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Annualized project totals\n",
"total = metrics.service_equipment_utilization(frequency=\"annual\")\n",
"total"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Labor Costs\n",
"\n",
"Here, we will go through the various input definitions to get the labor cost data.\n",
"\n",
"`frequency` options:\n",
" - project: computed across the whole simulation\n",
" - annual: computed on a yearly basis\n",
" - monthly: computed across years on a monthly basis\n",
" - month-year: computed on a month-by-year basis\n",
" \n",
"`by_type` options:\n",
" - `True`: computed across each labor type\n",
" - `False`: computed for both labor types used"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Project total: $0.00/MW\n"
]
}
],
"source": [
"# Project total at the whole windfarm level\n",
"total = metrics.labor_costs(frequency=\"project\", by_type=False)\n",
"print(f\"Project total: ${total / metrics.project_capacity:,.2f}/MW\")"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" hourly_labor_cost | \n",
" salary_labor_cost | \n",
" total_labor_cost | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" hourly_labor_cost salary_labor_cost total_labor_cost\n",
"0 0.00 0.00 0.00"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project totals for each type of labor\n",
"# NOTE: Only salaried labor was defined for thesese analyses\n",
"metrics.labor_costs(frequency=\"project\", by_type=True)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" year | \n",
" total_labor_cost | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 2003 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 1 | \n",
" 2004 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 2 | \n",
" 2005 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 3 | \n",
" 2006 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 4 | \n",
" 2007 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 5 | \n",
" 2008 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 6 | \n",
" 2009 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 7 | \n",
" 2010 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 8 | \n",
" 2011 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 9 | \n",
" 2012 | \n",
" 0.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" year total_labor_cost\n",
"0 2003 0.00\n",
"1 2004 0.00\n",
"2 2005 0.00\n",
"3 2006 0.00\n",
"4 2007 0.00\n",
"5 2008 0.00\n",
"6 2009 0.00\n",
"7 2010 0.00\n",
"8 2011 0.00\n",
"9 2012 0.00"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project annual totals for all labor\n",
"metrics.labor_costs(frequency=\"annual\", by_type=False)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" month | \n",
" total_labor_cost | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 1 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 1 | \n",
" 2 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 2 | \n",
" 3 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 3 | \n",
" 4 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 4 | \n",
" 5 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 5 | \n",
" 6 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 6 | \n",
" 7 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 7 | \n",
" 8 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 8 | \n",
" 9 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 9 | \n",
" 10 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 10 | \n",
" 11 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 11 | \n",
" 12 | \n",
" 0.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" month total_labor_cost\n",
"0 1 0.00\n",
"1 2 0.00\n",
"2 3 0.00\n",
"3 4 0.00\n",
"4 5 0.00\n",
"5 6 0.00\n",
"6 7 0.00\n",
"7 8 0.00\n",
"8 9 0.00\n",
"9 10 0.00\n",
"10 11 0.00\n",
"11 12 0.00"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project monthly totals for all labor\n",
"metrics.labor_costs(frequency=\"monthly\", by_type=False)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" year | \n",
" month | \n",
" total_labor_cost | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 2003 | \n",
" 1 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 1 | \n",
" 2003 | \n",
" 2 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 2 | \n",
" 2003 | \n",
" 3 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 3 | \n",
" 2003 | \n",
" 4 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 4 | \n",
" 2003 | \n",
" 5 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 5 | \n",
" 2003 | \n",
" 6 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 6 | \n",
" 2003 | \n",
" 7 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 7 | \n",
" 2003 | \n",
" 8 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 8 | \n",
" 2003 | \n",
" 9 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 9 | \n",
" 2003 | \n",
" 10 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 10 | \n",
" 2003 | \n",
" 11 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 11 | \n",
" 2003 | \n",
" 12 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 12 | \n",
" 2004 | \n",
" 1 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 13 | \n",
" 2004 | \n",
" 2 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 14 | \n",
" 2004 | \n",
" 3 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 15 | \n",
" 2004 | \n",
" 4 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 16 | \n",
" 2004 | \n",
" 5 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 17 | \n",
" 2004 | \n",
" 6 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 18 | \n",
" 2004 | \n",
" 7 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 19 | \n",
" 2004 | \n",
" 8 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 20 | \n",
" 2004 | \n",
" 9 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 21 | \n",
" 2004 | \n",
" 10 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 22 | \n",
" 2004 | \n",
" 11 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 23 | \n",
" 2004 | \n",
" 12 | \n",
" 0.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" year month total_labor_cost\n",
"0 2003 1 0.00\n",
"1 2003 2 0.00\n",
"2 2003 3 0.00\n",
"3 2003 4 0.00\n",
"4 2003 5 0.00\n",
"5 2003 6 0.00\n",
"6 2003 7 0.00\n",
"7 2003 8 0.00\n",
"8 2003 9 0.00\n",
"9 2003 10 0.00\n",
"10 2003 11 0.00\n",
"11 2003 12 0.00\n",
"12 2004 1 0.00\n",
"13 2004 2 0.00\n",
"14 2004 3 0.00\n",
"15 2004 4 0.00\n",
"16 2004 5 0.00\n",
"17 2004 6 0.00\n",
"18 2004 7 0.00\n",
"19 2004 8 0.00\n",
"20 2004 9 0.00\n",
"21 2004 10 0.00\n",
"22 2004 11 0.00\n",
"23 2004 12 0.00"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project month-by-year totals for all labor\n",
"# NOTE: This is limited to the first two years only\n",
"metrics.labor_costs(frequency=\"month-year\", by_type=False).head(24)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Equipment and Labor Costs\n",
"\n",
"Here, we will go through the various input definitions to get the equipment and labor cost data broken out by expense categories.\n",
"\n",
"`frequency` options:\n",
" - project: computed across the whole simulation\n",
" - annual: computed on a yearly basis\n",
" - monthly: computed across years on a monthly basis\n",
" - month-year: computed on a month-by-year basis\n",
" \n",
"`by_category` options:\n",
" - `True`: computed across as equipment, plus each labor type, plus totals\n",
" - `False`: computed as single total\n",
" \n",
"##### **NOTE:** For this breakdown the expense category (reason) is distributed across the rows in addition to time.\n",
"\n",
"\n",
"`reason` definitions:\n",
" - Maintenance: routine maintenance\n",
" - Repair: unscheduled maintenance, ranging from inspections to replacements\n",
" - Weather Delay: Any delays caused by unsafe weather conditions\n",
" - No Requests: Equipment and labor is active, but there are no repairs or maintenance tasks to be completed\n",
" - Not in Shift: Any time outside of the operating hours of the windfarm"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" reason | \n",
" total_cost | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" Maintenance | \n",
" 1,854,617.19 | \n",
"
\n",
" \n",
" | 1 | \n",
" Repair | \n",
" 26,326,622.40 | \n",
"
\n",
" \n",
" | 2 | \n",
" Mobilization | \n",
" 15,000,000.00 | \n",
"
\n",
" \n",
" | 3 | \n",
" Weather Delay | \n",
" 18,286,325.52 | \n",
"
\n",
" \n",
" | 4 | \n",
" No Requests | \n",
" 3,365,640.62 | \n",
"
\n",
" \n",
" | 5 | \n",
" Not in Shift | \n",
" 34,934,877.60 | \n",
"
\n",
" \n",
" | 6 | \n",
" NaN | \n",
" 31,855,500.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" reason total_cost\n",
"0 Maintenance 1,854,617.19\n",
"1 Repair 26,326,622.40\n",
"2 Mobilization 15,000,000.00\n",
"3 Weather Delay 18,286,325.52\n",
"4 No Requests 3,365,640.62\n",
"5 Not in Shift 34,934,877.60\n",
"6 NaN 31,855,500.00"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project totals\n",
"metrics.equipment_labor_cost_breakdowns(frequency=\"project\", by_category=False)"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" reason | \n",
" hourly_labor_cost | \n",
" salary_labor_cost | \n",
" total_labor_cost | \n",
" equipment_cost | \n",
" total_cost | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" Maintenance | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 1,854,617.19 | \n",
" 1,854,617.19 | \n",
"
\n",
" \n",
" | 1 | \n",
" Repair | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 26,326,622.40 | \n",
" 26,326,622.40 | \n",
"
\n",
" \n",
" | 2 | \n",
" Mobilization | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 15,000,000.00 | \n",
" 15,000,000.00 | \n",
"
\n",
" \n",
" | 3 | \n",
" Weather Delay | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 18,286,325.52 | \n",
" 18,286,325.52 | \n",
"
\n",
" \n",
" | 4 | \n",
" No Requests | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 3,365,640.62 | \n",
" 3,365,640.62 | \n",
"
\n",
" \n",
" | 5 | \n",
" Not in Shift | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 34,934,877.60 | \n",
" 34,934,877.60 | \n",
"
\n",
" \n",
" | 6 | \n",
" NaN | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 31,855,500.00 | \n",
" 31,855,500.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" reason hourly_labor_cost salary_labor_cost total_labor_cost \\\n",
"0 Maintenance 0.00 0.00 0.00 \n",
"1 Repair 0.00 0.00 0.00 \n",
"2 Mobilization 0.00 0.00 0.00 \n",
"3 Weather Delay 0.00 0.00 0.00 \n",
"4 No Requests 0.00 0.00 0.00 \n",
"5 Not in Shift 0.00 0.00 0.00 \n",
"6 NaN 0.00 0.00 0.00 \n",
"\n",
" equipment_cost total_cost \n",
"0 1,854,617.19 1,854,617.19 \n",
"1 26,326,622.40 26,326,622.40 \n",
"2 15,000,000.00 15,000,000.00 \n",
"3 18,286,325.52 18,286,325.52 \n",
"4 3,365,640.62 3,365,640.62 \n",
"5 34,934,877.60 34,934,877.60 \n",
"6 31,855,500.00 31,855,500.00 "
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project totals by each category\n",
"metrics.equipment_labor_cost_breakdowns(frequency=\"project\", by_category=True)"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" year | \n",
" reason | \n",
" total_cost | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 2003 | \n",
" Maintenance | \n",
" 35,145.83 | \n",
"
\n",
" \n",
" | 1 | \n",
" 2003 | \n",
" Repair | \n",
" 2,411,268.23 | \n",
"
\n",
" \n",
" | 2 | \n",
" 2003 | \n",
" Mobilization | \n",
" 1,500,000.00 | \n",
"
\n",
" \n",
" | 3 | \n",
" 2003 | \n",
" Weather Delay | \n",
" 923,981.77 | \n",
"
\n",
" \n",
" | 4 | \n",
" 2003 | \n",
" No Requests | \n",
" 1,588,348.96 | \n",
"
\n",
" \n",
" | 5 | \n",
" 2003 | \n",
" Not in Shift | \n",
" 2,753,312.50 | \n",
"
\n",
" \n",
" | 6 | \n",
" 2003 | \n",
" NaN | \n",
" 1,985,875.00 | \n",
"
\n",
" \n",
" | 7 | \n",
" 2004 | \n",
" Maintenance | \n",
" 213,135.42 | \n",
"
\n",
" \n",
" | 8 | \n",
" 2004 | \n",
" Repair | \n",
" 2,838,408.85 | \n",
"
\n",
" \n",
" | 9 | \n",
" 2004 | \n",
" Mobilization | \n",
" 1,500,000.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" year reason total_cost\n",
"0 2003 Maintenance 35,145.83\n",
"1 2003 Repair 2,411,268.23\n",
"2 2003 Mobilization 1,500,000.00\n",
"3 2003 Weather Delay 923,981.77\n",
"4 2003 No Requests 1,588,348.96\n",
"5 2003 Not in Shift 2,753,312.50\n",
"6 2003 NaN 1,985,875.00\n",
"7 2004 Maintenance 213,135.42\n",
"8 2004 Repair 2,838,408.85\n",
"9 2004 Mobilization 1,500,000.00"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project annual totals\n",
"# NOTE: This is limited to the first two years\n",
"metrics.equipment_labor_cost_breakdowns(frequency=\"annual\", by_category=False).head(10)"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" month | \n",
" reason | \n",
" total_cost | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 1 | \n",
" Maintenance | \n",
" 103,723.96 | \n",
"
\n",
" \n",
" | 1 | \n",
" 1 | \n",
" Repair | \n",
" 477,695.31 | \n",
"
\n",
" \n",
" | 2 | \n",
" 1 | \n",
" Mobilization | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 3 | \n",
" 1 | \n",
" Weather Delay | \n",
" 155,002.60 | \n",
"
\n",
" \n",
" | 4 | \n",
" 1 | \n",
" No Requests | \n",
" 50,604.17 | \n",
"
\n",
" \n",
" | 5 | \n",
" 1 | \n",
" Not in Shift | \n",
" 150,682.29 | \n",
"
\n",
" \n",
" | 6 | \n",
" 1 | \n",
" NaN | \n",
" 661,500.00 | \n",
"
\n",
" \n",
" | 7 | \n",
" 2 | \n",
" Maintenance | \n",
" 105,437.50 | \n",
"
\n",
" \n",
" | 8 | \n",
" 2 | \n",
" Repair | \n",
" 464,315.10 | \n",
"
\n",
" \n",
" | 9 | \n",
" 2 | \n",
" Mobilization | \n",
" 0.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" month reason total_cost\n",
"0 1 Maintenance 103,723.96\n",
"1 1 Repair 477,695.31\n",
"2 1 Mobilization 0.00\n",
"3 1 Weather Delay 155,002.60\n",
"4 1 No Requests 50,604.17\n",
"5 1 Not in Shift 150,682.29\n",
"6 1 NaN 661,500.00\n",
"7 2 Maintenance 105,437.50\n",
"8 2 Repair 464,315.10\n",
"9 2 Mobilization 0.00"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project monthly totals\n",
"# NOTE: This is limited to the first two years\n",
"metrics.equipment_labor_cost_breakdowns(frequency=\"monthly\", by_category=False).head(10)"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" year | \n",
" month | \n",
" reason | \n",
" total_cost | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 2003 | \n",
" 1 | \n",
" Maintenance | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 1 | \n",
" 2003 | \n",
" 1 | \n",
" Repair | \n",
" 43,604.17 | \n",
"
\n",
" \n",
" | 2 | \n",
" 2003 | \n",
" 1 | \n",
" Mobilization | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 3 | \n",
" 2003 | \n",
" 1 | \n",
" Weather Delay | \n",
" 16,369.79 | \n",
"
\n",
" \n",
" | 4 | \n",
" 2003 | \n",
" 1 | \n",
" No Requests | \n",
" 50,604.17 | \n",
"
\n",
" \n",
" | 5 | \n",
" 2003 | \n",
" 1 | \n",
" Not in Shift | \n",
" 2,460.94 | \n",
"
\n",
" \n",
" | 6 | \n",
" 2003 | \n",
" 1 | \n",
" NaN | \n",
" 49,000.00 | \n",
"
\n",
" \n",
" | 7 | \n",
" 2003 | \n",
" 2 | \n",
" Maintenance | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 8 | \n",
" 2003 | \n",
" 2 | \n",
" Repair | \n",
" 54,085.94 | \n",
"
\n",
" \n",
" | 9 | \n",
" 2003 | \n",
" 2 | \n",
" Mobilization | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 10 | \n",
" 2003 | \n",
" 2 | \n",
" Weather Delay | \n",
" 10,445.31 | \n",
"
\n",
" \n",
" | 11 | \n",
" 2003 | \n",
" 2 | \n",
" No Requests | \n",
" 26,304.69 | \n",
"
\n",
" \n",
" | 12 | \n",
" 2003 | \n",
" 2 | \n",
" Not in Shift | \n",
" 1,859.38 | \n",
"
\n",
" \n",
" | 13 | \n",
" 2003 | \n",
" 2 | \n",
" NaN | \n",
" 51,625.00 | \n",
"
\n",
" \n",
" | 14 | \n",
" 2003 | \n",
" 3 | \n",
" Maintenance | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 15 | \n",
" 2003 | \n",
" 3 | \n",
" Repair | \n",
" 48,981.77 | \n",
"
\n",
" \n",
" | 16 | \n",
" 2003 | \n",
" 3 | \n",
" Mobilization | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 17 | \n",
" 2003 | \n",
" 3 | \n",
" Weather Delay | \n",
" 6,635.42 | \n",
"
\n",
" \n",
" | 18 | \n",
" 2003 | \n",
" 3 | \n",
" No Requests | \n",
" 66,171.88 | \n",
"
\n",
" \n",
" | 19 | \n",
" 2003 | \n",
" 3 | \n",
" Not in Shift | \n",
" 3,591.15 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" year month reason total_cost\n",
"0 2003 1 Maintenance 0.00\n",
"1 2003 1 Repair 43,604.17\n",
"2 2003 1 Mobilization 0.00\n",
"3 2003 1 Weather Delay 16,369.79\n",
"4 2003 1 No Requests 50,604.17\n",
"5 2003 1 Not in Shift 2,460.94\n",
"6 2003 1 NaN 49,000.00\n",
"7 2003 2 Maintenance 0.00\n",
"8 2003 2 Repair 54,085.94\n",
"9 2003 2 Mobilization 0.00\n",
"10 2003 2 Weather Delay 10,445.31\n",
"11 2003 2 No Requests 26,304.69\n",
"12 2003 2 Not in Shift 1,859.38\n",
"13 2003 2 NaN 51,625.00\n",
"14 2003 3 Maintenance 0.00\n",
"15 2003 3 Repair 48,981.77\n",
"16 2003 3 Mobilization 0.00\n",
"17 2003 3 Weather Delay 6,635.42\n",
"18 2003 3 No Requests 66,171.88\n",
"19 2003 3 Not in Shift 3,591.15"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project month-by-year totals\n",
"# NOTE: This is limited to the first two years\n",
"metrics.equipment_labor_cost_breakdowns(frequency=\"month-year\", by_category=False).head(20)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Component\n",
"\n",
"Here, we will go through the various input definitions to get the component cost data broken out by various categories.\n",
"\n",
"**NOTE**: It should be noted that the the component costs will not sum up to the whole project operations costs because of delays that are not associated with any repair or maintenance task, such as no requests needing to be processed.\n",
"\n",
"`frequency` options:\n",
" - project: computed across the whole simulation\n",
" - annual: computed on a yearly basis\n",
" - monthly: computed across years on a monthly basis\n",
" - month-year: computed on a month-by-year basis\n",
" \n",
"`by_category` options:\n",
" - `True`: computed across each cost category (includes total)\n",
" - `False`: computed as single total\n",
" \n",
" `by_action` options:\n",
" - `True`: computed by each of \"repair\", \"maintenance\", and \"delay\"\n",
" - `False`: computed as single total\n",
" \n",
"##### **NOTE:** For this breakdown the expense category (reason) is distributed across the rows in addition to time.\n",
"\n",
"\n",
"`action` definitions:\n",
" - maintenance: routine maintenance\n",
" - repair: unscheduled maintenance, ranging from inspections to replacements\n",
" - delay: Any delays caused by unsafe weather conditions or not being able to finish a process within a single shift"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" component | \n",
" total_cost | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" cable | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 1 | \n",
" drive_train | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 2 | \n",
" electrical_system | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 3 | \n",
" electronic_control | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 4 | \n",
" gearbox | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 5 | \n",
" generator | \n",
" 149,928,671.88 | \n",
"
\n",
" \n",
" | 6 | \n",
" hydraulic_system | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 7 | \n",
" mechanical_brake | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 8 | \n",
" rotor_blades | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 9 | \n",
" rotor_hub | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 10 | \n",
" sensors | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 11 | \n",
" supporting_structure | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 12 | \n",
" transformer | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 13 | \n",
" yaw_system | \n",
" 0.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" component total_cost\n",
"0 cable 0.00\n",
"1 drive_train 0.00\n",
"2 electrical_system 0.00\n",
"3 electronic_control 0.00\n",
"4 gearbox 0.00\n",
"5 generator 149,928,671.88\n",
"6 hydraulic_system 0.00\n",
"7 mechanical_brake 0.00\n",
"8 rotor_blades 0.00\n",
"9 rotor_hub 0.00\n",
"10 sensors 0.00\n",
"11 supporting_structure 0.00\n",
"12 transformer 0.00\n",
"13 yaw_system 0.00"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project totals by component\n",
"metrics.component_costs(frequency=\"project\", by_category=False, by_action=False)"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" component | \n",
" action | \n",
" materials_cost | \n",
" total_labor_cost | \n",
" equipment_cost | \n",
" total_cost | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" generator | \n",
" delay | \n",
" 0 | \n",
" 0.00 | \n",
" 85,075,171.88 | \n",
" 85,075,171.88 | \n",
"
\n",
" \n",
" | 1 | \n",
" generator | \n",
" maintenance | \n",
" 0 | \n",
" 0.00 | \n",
" 1,854,617.19 | \n",
" 1,854,617.19 | \n",
"
\n",
" \n",
" | 2 | \n",
" generator | \n",
" repair | \n",
" 0 | \n",
" 0.00 | \n",
" 26,326,622.40 | \n",
" 26,326,622.40 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" component action materials_cost total_labor_cost equipment_cost \\\n",
"0 generator delay 0 0.00 85,075,171.88 \n",
"1 generator maintenance 0 0.00 1,854,617.19 \n",
"2 generator repair 0 0.00 26,326,622.40 \n",
"\n",
" total_cost \n",
"0 85,075,171.88 \n",
"1 1,854,617.19 \n",
"2 26,326,622.40 "
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project totals by each category and action type\n",
"metrics.component_costs(frequency=\"project\", by_category=True, by_action=True)"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" year | \n",
" component | \n",
" materials_cost | \n",
" total_labor_cost | \n",
" equipment_cost | \n",
" total_cost | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 2003 | \n",
" cable | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 1 | \n",
" 2003 | \n",
" drive_train | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 2 | \n",
" 2003 | \n",
" electrical_system | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 3 | \n",
" 2003 | \n",
" electronic_control | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 4 | \n",
" 2003 | \n",
" gearbox | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 5 | \n",
" 2003 | \n",
" generator | \n",
" 2,410,000.00 | \n",
" 0.00 | \n",
" 8,234,526.04 | \n",
" 10,644,526.04 | \n",
"
\n",
" \n",
" | 6 | \n",
" 2003 | \n",
" hydraulic_system | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 7 | \n",
" 2003 | \n",
" mechanical_brake | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 8 | \n",
" 2003 | \n",
" rotor_blades | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 9 | \n",
" 2003 | \n",
" rotor_hub | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 10 | \n",
" 2003 | \n",
" sensors | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 11 | \n",
" 2003 | \n",
" supporting_structure | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 12 | \n",
" 2003 | \n",
" transformer | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 13 | \n",
" 2003 | \n",
" yaw_system | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 14 | \n",
" 2004 | \n",
" cable | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 15 | \n",
" 2004 | \n",
" drive_train | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 16 | \n",
" 2004 | \n",
" electrical_system | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 17 | \n",
" 2004 | \n",
" electronic_control | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 18 | \n",
" 2004 | \n",
" gearbox | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 19 | \n",
" 2004 | \n",
" generator | \n",
" 4,147,000.00 | \n",
" 0.00 | \n",
" 12,115,885.42 | \n",
" 16,262,885.42 | \n",
"
\n",
" \n",
" | 20 | \n",
" 2004 | \n",
" hydraulic_system | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 21 | \n",
" 2004 | \n",
" mechanical_brake | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 22 | \n",
" 2004 | \n",
" rotor_blades | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 23 | \n",
" 2004 | \n",
" rotor_hub | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 24 | \n",
" 2004 | \n",
" sensors | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 25 | \n",
" 2004 | \n",
" supporting_structure | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 26 | \n",
" 2004 | \n",
" transformer | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 27 | \n",
" 2004 | \n",
" yaw_system | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" year component materials_cost total_labor_cost \\\n",
"0 2003 cable 0.00 0.00 \n",
"1 2003 drive_train 0.00 0.00 \n",
"2 2003 electrical_system 0.00 0.00 \n",
"3 2003 electronic_control 0.00 0.00 \n",
"4 2003 gearbox 0.00 0.00 \n",
"5 2003 generator 2,410,000.00 0.00 \n",
"6 2003 hydraulic_system 0.00 0.00 \n",
"7 2003 mechanical_brake 0.00 0.00 \n",
"8 2003 rotor_blades 0.00 0.00 \n",
"9 2003 rotor_hub 0.00 0.00 \n",
"10 2003 sensors 0.00 0.00 \n",
"11 2003 supporting_structure 0.00 0.00 \n",
"12 2003 transformer 0.00 0.00 \n",
"13 2003 yaw_system 0.00 0.00 \n",
"14 2004 cable 0.00 0.00 \n",
"15 2004 drive_train 0.00 0.00 \n",
"16 2004 electrical_system 0.00 0.00 \n",
"17 2004 electronic_control 0.00 0.00 \n",
"18 2004 gearbox 0.00 0.00 \n",
"19 2004 generator 4,147,000.00 0.00 \n",
"20 2004 hydraulic_system 0.00 0.00 \n",
"21 2004 mechanical_brake 0.00 0.00 \n",
"22 2004 rotor_blades 0.00 0.00 \n",
"23 2004 rotor_hub 0.00 0.00 \n",
"24 2004 sensors 0.00 0.00 \n",
"25 2004 supporting_structure 0.00 0.00 \n",
"26 2004 transformer 0.00 0.00 \n",
"27 2004 yaw_system 0.00 0.00 \n",
"\n",
" equipment_cost total_cost \n",
"0 0.00 0.00 \n",
"1 0.00 0.00 \n",
"2 0.00 0.00 \n",
"3 0.00 0.00 \n",
"4 0.00 0.00 \n",
"5 8,234,526.04 10,644,526.04 \n",
"6 0.00 0.00 \n",
"7 0.00 0.00 \n",
"8 0.00 0.00 \n",
"9 0.00 0.00 \n",
"10 0.00 0.00 \n",
"11 0.00 0.00 \n",
"12 0.00 0.00 \n",
"13 0.00 0.00 \n",
"14 0.00 0.00 \n",
"15 0.00 0.00 \n",
"16 0.00 0.00 \n",
"17 0.00 0.00 \n",
"18 0.00 0.00 \n",
"19 12,115,885.42 16,262,885.42 \n",
"20 0.00 0.00 \n",
"21 0.00 0.00 \n",
"22 0.00 0.00 \n",
"23 0.00 0.00 \n",
"24 0.00 0.00 \n",
"25 0.00 0.00 \n",
"26 0.00 0.00 \n",
"27 0.00 0.00 "
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project annual totals by category\n",
"# NOTE: This is limited to the first two years\n",
"metrics.component_costs(frequency=\"annual\", by_category=True, by_action=False).head(28)"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" month | \n",
" component | \n",
" materials_cost | \n",
" total_labor_cost | \n",
" equipment_cost | \n",
" total_cost | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 1 | \n",
" cable | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 1 | \n",
" 1 | \n",
" drive_train | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 2 | \n",
" 1 | \n",
" electrical_system | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 3 | \n",
" 1 | \n",
" electronic_control | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 4 | \n",
" 1 | \n",
" gearbox | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 5 | \n",
" 1 | \n",
" generator | \n",
" 927,500.00 | \n",
" 0.00 | \n",
" 1,576,895.83 | \n",
" 2,504,395.83 | \n",
"
\n",
" \n",
" | 6 | \n",
" 1 | \n",
" hydraulic_system | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 7 | \n",
" 1 | \n",
" mechanical_brake | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 8 | \n",
" 1 | \n",
" rotor_blades | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 9 | \n",
" 1 | \n",
" rotor_hub | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 10 | \n",
" 1 | \n",
" sensors | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 11 | \n",
" 1 | \n",
" supporting_structure | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 12 | \n",
" 1 | \n",
" transformer | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 13 | \n",
" 1 | \n",
" yaw_system | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 14 | \n",
" 2 | \n",
" cable | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 15 | \n",
" 2 | \n",
" drive_train | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 16 | \n",
" 2 | \n",
" electrical_system | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 17 | \n",
" 2 | \n",
" electronic_control | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 18 | \n",
" 2 | \n",
" gearbox | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 19 | \n",
" 2 | \n",
" generator | \n",
" 877,500.00 | \n",
" 0.00 | \n",
" 1,459,445.31 | \n",
" 2,336,945.31 | \n",
"
\n",
" \n",
" | 20 | \n",
" 2 | \n",
" hydraulic_system | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 21 | \n",
" 2 | \n",
" mechanical_brake | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 22 | \n",
" 2 | \n",
" rotor_blades | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 23 | \n",
" 2 | \n",
" rotor_hub | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 24 | \n",
" 2 | \n",
" sensors | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 25 | \n",
" 2 | \n",
" supporting_structure | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 26 | \n",
" 2 | \n",
" transformer | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 27 | \n",
" 2 | \n",
" yaw_system | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" month component materials_cost total_labor_cost \\\n",
"0 1 cable 0.00 0.00 \n",
"1 1 drive_train 0.00 0.00 \n",
"2 1 electrical_system 0.00 0.00 \n",
"3 1 electronic_control 0.00 0.00 \n",
"4 1 gearbox 0.00 0.00 \n",
"5 1 generator 927,500.00 0.00 \n",
"6 1 hydraulic_system 0.00 0.00 \n",
"7 1 mechanical_brake 0.00 0.00 \n",
"8 1 rotor_blades 0.00 0.00 \n",
"9 1 rotor_hub 0.00 0.00 \n",
"10 1 sensors 0.00 0.00 \n",
"11 1 supporting_structure 0.00 0.00 \n",
"12 1 transformer 0.00 0.00 \n",
"13 1 yaw_system 0.00 0.00 \n",
"14 2 cable 0.00 0.00 \n",
"15 2 drive_train 0.00 0.00 \n",
"16 2 electrical_system 0.00 0.00 \n",
"17 2 electronic_control 0.00 0.00 \n",
"18 2 gearbox 0.00 0.00 \n",
"19 2 generator 877,500.00 0.00 \n",
"20 2 hydraulic_system 0.00 0.00 \n",
"21 2 mechanical_brake 0.00 0.00 \n",
"22 2 rotor_blades 0.00 0.00 \n",
"23 2 rotor_hub 0.00 0.00 \n",
"24 2 sensors 0.00 0.00 \n",
"25 2 supporting_structure 0.00 0.00 \n",
"26 2 transformer 0.00 0.00 \n",
"27 2 yaw_system 0.00 0.00 \n",
"\n",
" equipment_cost total_cost \n",
"0 0.00 0.00 \n",
"1 0.00 0.00 \n",
"2 0.00 0.00 \n",
"3 0.00 0.00 \n",
"4 0.00 0.00 \n",
"5 1,576,895.83 2,504,395.83 \n",
"6 0.00 0.00 \n",
"7 0.00 0.00 \n",
"8 0.00 0.00 \n",
"9 0.00 0.00 \n",
"10 0.00 0.00 \n",
"11 0.00 0.00 \n",
"12 0.00 0.00 \n",
"13 0.00 0.00 \n",
"14 0.00 0.00 \n",
"15 0.00 0.00 \n",
"16 0.00 0.00 \n",
"17 0.00 0.00 \n",
"18 0.00 0.00 \n",
"19 1,459,445.31 2,336,945.31 \n",
"20 0.00 0.00 \n",
"21 0.00 0.00 \n",
"22 0.00 0.00 \n",
"23 0.00 0.00 \n",
"24 0.00 0.00 \n",
"25 0.00 0.00 \n",
"26 0.00 0.00 \n",
"27 0.00 0.00 "
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project monthly totals\n",
"# NOTE: This is limited to the first two months\n",
"metrics.component_costs(frequency=\"monthly\", by_category=True, by_action=False).head(28)"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" year | \n",
" month | \n",
" component | \n",
" materials_cost | \n",
" total_labor_cost | \n",
" equipment_cost | \n",
" total_cost | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 2003 | \n",
" 1 | \n",
" cable | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 1 | \n",
" 2003 | \n",
" 1 | \n",
" drive_train | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 2 | \n",
" 2003 | \n",
" 1 | \n",
" electrical_system | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 3 | \n",
" 2003 | \n",
" 1 | \n",
" electronic_control | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 4 | \n",
" 2003 | \n",
" 1 | \n",
" gearbox | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 5 | \n",
" 2003 | \n",
" 1 | \n",
" generator | \n",
" 33,500.00 | \n",
" 0.00 | \n",
" 112,145.83 | \n",
" 145,645.83 | \n",
"
\n",
" \n",
" | 6 | \n",
" 2003 | \n",
" 1 | \n",
" hydraulic_system | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 7 | \n",
" 2003 | \n",
" 1 | \n",
" mechanical_brake | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 8 | \n",
" 2003 | \n",
" 1 | \n",
" rotor_blades | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 9 | \n",
" 2003 | \n",
" 1 | \n",
" rotor_hub | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 10 | \n",
" 2003 | \n",
" 1 | \n",
" sensors | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 11 | \n",
" 2003 | \n",
" 1 | \n",
" supporting_structure | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 12 | \n",
" 2003 | \n",
" 1 | \n",
" transformer | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 13 | \n",
" 2003 | \n",
" 1 | \n",
" yaw_system | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 14 | \n",
" 2003 | \n",
" 2 | \n",
" cable | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 15 | \n",
" 2003 | \n",
" 2 | \n",
" drive_train | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 16 | \n",
" 2003 | \n",
" 2 | \n",
" electrical_system | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 17 | \n",
" 2003 | \n",
" 2 | \n",
" electronic_control | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 18 | \n",
" 2003 | \n",
" 2 | \n",
" gearbox | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 19 | \n",
" 2003 | \n",
" 2 | \n",
" generator | \n",
" 53,000.00 | \n",
" 0.00 | \n",
" 120,695.31 | \n",
" 173,695.31 | \n",
"
\n",
" \n",
" | 20 | \n",
" 2003 | \n",
" 2 | \n",
" hydraulic_system | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 21 | \n",
" 2003 | \n",
" 2 | \n",
" mechanical_brake | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 22 | \n",
" 2003 | \n",
" 2 | \n",
" rotor_blades | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 23 | \n",
" 2003 | \n",
" 2 | \n",
" rotor_hub | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 24 | \n",
" 2003 | \n",
" 2 | \n",
" sensors | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 25 | \n",
" 2003 | \n",
" 2 | \n",
" supporting_structure | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 26 | \n",
" 2003 | \n",
" 2 | \n",
" transformer | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 27 | \n",
" 2003 | \n",
" 2 | \n",
" yaw_system | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" year month component materials_cost total_labor_cost \\\n",
"0 2003 1 cable 0.00 0.00 \n",
"1 2003 1 drive_train 0.00 0.00 \n",
"2 2003 1 electrical_system 0.00 0.00 \n",
"3 2003 1 electronic_control 0.00 0.00 \n",
"4 2003 1 gearbox 0.00 0.00 \n",
"5 2003 1 generator 33,500.00 0.00 \n",
"6 2003 1 hydraulic_system 0.00 0.00 \n",
"7 2003 1 mechanical_brake 0.00 0.00 \n",
"8 2003 1 rotor_blades 0.00 0.00 \n",
"9 2003 1 rotor_hub 0.00 0.00 \n",
"10 2003 1 sensors 0.00 0.00 \n",
"11 2003 1 supporting_structure 0.00 0.00 \n",
"12 2003 1 transformer 0.00 0.00 \n",
"13 2003 1 yaw_system 0.00 0.00 \n",
"14 2003 2 cable 0.00 0.00 \n",
"15 2003 2 drive_train 0.00 0.00 \n",
"16 2003 2 electrical_system 0.00 0.00 \n",
"17 2003 2 electronic_control 0.00 0.00 \n",
"18 2003 2 gearbox 0.00 0.00 \n",
"19 2003 2 generator 53,000.00 0.00 \n",
"20 2003 2 hydraulic_system 0.00 0.00 \n",
"21 2003 2 mechanical_brake 0.00 0.00 \n",
"22 2003 2 rotor_blades 0.00 0.00 \n",
"23 2003 2 rotor_hub 0.00 0.00 \n",
"24 2003 2 sensors 0.00 0.00 \n",
"25 2003 2 supporting_structure 0.00 0.00 \n",
"26 2003 2 transformer 0.00 0.00 \n",
"27 2003 2 yaw_system 0.00 0.00 \n",
"\n",
" equipment_cost total_cost \n",
"0 0.00 0.00 \n",
"1 0.00 0.00 \n",
"2 0.00 0.00 \n",
"3 0.00 0.00 \n",
"4 0.00 0.00 \n",
"5 112,145.83 145,645.83 \n",
"6 0.00 0.00 \n",
"7 0.00 0.00 \n",
"8 0.00 0.00 \n",
"9 0.00 0.00 \n",
"10 0.00 0.00 \n",
"11 0.00 0.00 \n",
"12 0.00 0.00 \n",
"13 0.00 0.00 \n",
"14 0.00 0.00 \n",
"15 0.00 0.00 \n",
"16 0.00 0.00 \n",
"17 0.00 0.00 \n",
"18 0.00 0.00 \n",
"19 120,695.31 173,695.31 \n",
"20 0.00 0.00 \n",
"21 0.00 0.00 \n",
"22 0.00 0.00 \n",
"23 0.00 0.00 \n",
"24 0.00 0.00 \n",
"25 0.00 0.00 \n",
"26 0.00 0.00 \n",
"27 0.00 0.00 "
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project month-by-year totals\n",
"# NOTE: This is limited to the first two months\n",
"metrics.component_costs(frequency=\"month-year\", by_category=True, by_action=False).head(28)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Fixed Cost Impacts\n",
"\n",
"Here, we will go through the various input definitions to get the fixed cost data\n",
"\n",
"`frequency` options:\n",
" - project: computed across the whole simulation\n",
" - annual: computed on a yearly basis\n",
" \n",
"`resolution` options:\n",
" - high: computed across the lowest itemized cost levels\n",
" - medium: computed across overarching cost levels\n",
" - low: computed as single total"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'operations': {'annual_leases_fees': ['submerge_land_lease_costs',\n",
" 'transmission_charges_rights'],\n",
" 'environmental_health_safety_monitoring': [],\n",
" 'insurance': ['brokers_fee',\n",
" 'operations_all_risk',\n",
" 'business_interruption',\n",
" 'third_party_liability',\n",
" 'storm_coverage'],\n",
" 'labor': [],\n",
" 'onshore_electrical_maintenance': [],\n",
" 'operating_facilities': [],\n",
" 'operations_management_administration': ['project_management_administration',\n",
" 'marine_management',\n",
" 'weather_forecasting',\n",
" 'condition_monitoring']}}\n"
]
}
],
"source": [
"# The resolution hierarchy for fixed costs\n",
"pprint(metrics.fixed_costs.hierarchy)"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" operations | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 16,000,080.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" operations\n",
"0 16,000,080.00"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project totals at the highest level\n",
"metrics.project_fixed_costs(frequency=\"project\", resolution=\"low\")"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" operations_management_administration | \n",
" insurance | \n",
" annual_leases_fees | \n",
" operating_facilities | \n",
" environmental_health_safety_monitoring | \n",
" onshore_electrical_maintenance | \n",
" labor | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 16,000,080.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" operations_management_administration insurance annual_leases_fees \\\n",
"0 0.00 0.00 0.00 \n",
"\n",
" operating_facilities environmental_health_safety_monitoring \\\n",
"0 0.00 0.00 \n",
"\n",
" onshore_electrical_maintenance labor \n",
"0 0.00 16,000,080.00 "
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project totals at the medium level\n",
"metrics.project_fixed_costs(frequency=\"project\", resolution=\"medium\")"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" project_management_administration | \n",
" marine_management | \n",
" weather_forecasting | \n",
" condition_monitoring | \n",
" brokers_fee | \n",
" operations_all_risk | \n",
" business_interruption | \n",
" third_party_liability | \n",
" storm_coverage | \n",
" submerge_land_lease_costs | \n",
" transmission_charges_rights | \n",
" operating_facilities | \n",
" environmental_health_safety_monitoring | \n",
" onshore_electrical_maintenance | \n",
" labor | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 16,000,080.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" project_management_administration marine_management weather_forecasting \\\n",
"0 0.00 0.00 0.00 \n",
"\n",
" condition_monitoring brokers_fee operations_all_risk \\\n",
"0 0.00 0.00 0.00 \n",
"\n",
" business_interruption third_party_liability storm_coverage \\\n",
"0 0.00 0.00 0.00 \n",
"\n",
" submerge_land_lease_costs transmission_charges_rights \\\n",
"0 0.00 0.00 \n",
"\n",
" operating_facilities environmental_health_safety_monitoring \\\n",
"0 0.00 0.00 \n",
"\n",
" onshore_electrical_maintenance labor \n",
"0 0.00 16,000,080.00 "
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project totals at the lowest level\n",
"metrics.project_fixed_costs(frequency=\"project\", resolution=\"high\")"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" year | \n",
" operations_management_administration | \n",
" insurance | \n",
" annual_leases_fees | \n",
" operating_facilities | \n",
" environmental_health_safety_monitoring | \n",
" onshore_electrical_maintenance | \n",
" labor | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 2003 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 1,600,008.00 | \n",
"
\n",
" \n",
" | 1 | \n",
" 2004 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 1,600,008.00 | \n",
"
\n",
" \n",
" | 2 | \n",
" 2005 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 1,600,008.00 | \n",
"
\n",
" \n",
" | 3 | \n",
" 2006 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 1,600,008.00 | \n",
"
\n",
" \n",
" | 4 | \n",
" 2007 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 1,600,008.00 | \n",
"
\n",
" \n",
" | 5 | \n",
" 2008 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 1,600,008.00 | \n",
"
\n",
" \n",
" | 6 | \n",
" 2009 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 1,600,008.00 | \n",
"
\n",
" \n",
" | 7 | \n",
" 2010 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 1,600,008.00 | \n",
"
\n",
" \n",
" | 8 | \n",
" 2011 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 1,600,008.00 | \n",
"
\n",
" \n",
" | 9 | \n",
" 2012 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 1,600,008.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" year operations_management_administration insurance annual_leases_fees \\\n",
"0 2003 0.00 0.00 0.00 \n",
"1 2004 0.00 0.00 0.00 \n",
"2 2005 0.00 0.00 0.00 \n",
"3 2006 0.00 0.00 0.00 \n",
"4 2007 0.00 0.00 0.00 \n",
"5 2008 0.00 0.00 0.00 \n",
"6 2009 0.00 0.00 0.00 \n",
"7 2010 0.00 0.00 0.00 \n",
"8 2011 0.00 0.00 0.00 \n",
"9 2012 0.00 0.00 0.00 \n",
"\n",
" operating_facilities environmental_health_safety_monitoring \\\n",
"0 0.00 0.00 \n",
"1 0.00 0.00 \n",
"2 0.00 0.00 \n",
"3 0.00 0.00 \n",
"4 0.00 0.00 \n",
"5 0.00 0.00 \n",
"6 0.00 0.00 \n",
"7 0.00 0.00 \n",
"8 0.00 0.00 \n",
"9 0.00 0.00 \n",
"\n",
" onshore_electrical_maintenance labor \n",
"0 0.00 1,600,008.00 \n",
"1 0.00 1,600,008.00 \n",
"2 0.00 1,600,008.00 \n",
"3 0.00 1,600,008.00 \n",
"4 0.00 1,600,008.00 \n",
"5 0.00 1,600,008.00 \n",
"6 0.00 1,600,008.00 \n",
"7 0.00 1,600,008.00 \n",
"8 0.00 1,600,008.00 \n",
"9 0.00 1,600,008.00 "
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project annualized totals at the medium level\n",
"metrics.project_fixed_costs(frequency=\"annual\", resolution=\"medium\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Process Times\n",
"\n",
"There are no inputs for the process timing as it is a slow calculation, so aggregation is left to the user for now. The results corresond to the number of hours required to complete any of the repair or maintenance activities."
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" time_to_completion | \n",
" process_time | \n",
" downtime | \n",
" N | \n",
"
\n",
" \n",
" | category | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" | annual service | \n",
" 4,262,671.75 | \n",
" 65,194.50 | \n",
" 56,590.75 | \n",
" 419.00 | \n",
"
\n",
" \n",
" | major repair | \n",
" 81,616.83 | \n",
" 1,617.50 | \n",
" 1,256.50 | \n",
" 22.00 | \n",
"
\n",
" \n",
" | major replacement | \n",
" 518,860.50 | \n",
" 15,277.50 | \n",
" 518,860.50 | \n",
" 64.00 | \n",
"
\n",
" \n",
" | manual reset | \n",
" 606,657.98 | \n",
" 130,290.00 | \n",
" 13,463.50 | \n",
" 5,286.00 | \n",
"
\n",
" \n",
" | medium repair | \n",
" 15,102.59 | \n",
" 11,756.50 | \n",
" 7,572.50 | \n",
" 202.00 | \n",
"
\n",
" \n",
" | minor repair | \n",
" 97,823.15 | \n",
" 48,695.50 | \n",
" 5,250.50 | \n",
" 2,040.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" time_to_completion process_time downtime N\n",
"category \n",
"annual service 4,262,671.75 65,194.50 56,590.75 419.00\n",
"major repair 81,616.83 1,617.50 1,256.50 22.00\n",
"major replacement 518,860.50 15,277.50 518,860.50 64.00\n",
"manual reset 606,657.98 130,290.00 13,463.50 5,286.00\n",
"medium repair 15,102.59 11,756.50 7,572.50 202.00\n",
"minor repair 97,823.15 48,695.50 5,250.50 2,040.00"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project totals at the project level\n",
"total = metrics.process_times()\n",
"total"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Power Production\n",
"\n",
"Here, we will go through the various input definitions to get the power production data.\n",
"\n",
"`frequency` options:\n",
" - project: computed across the whole simulation\n",
" - annual: computed on a yearly basis\n",
" - monthly: computed across years on a monthly basis\n",
" - month-year: computed on a month-by-year basis\n",
" \n",
"`by_turbine` options:\n",
" - `True`: computed for each turbines\n",
" - `False`: computed for the whole windfarm"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" windfarm | \n",
"
\n",
" \n",
" \n",
" \n",
" | Project Energy Production (kWh) | \n",
" 9,001,355,968.50 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" windfarm\n",
"Project Energy Production (kWh) 9,001,355,968.50"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project total at the whole windfarm level\n",
"total = metrics.power_production(frequency=\"project\", by_turbine=False)\n",
"total"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" windfarm | \n",
" S00T1 | \n",
" S00T2 | \n",
" S00T3 | \n",
" S00T4 | \n",
" S00T5 | \n",
" S00T6 | \n",
" S00T7 | \n",
" S00T8 | \n",
" S00T9 | \n",
" S00T10 | \n",
" S00T11 | \n",
" S00T12 | \n",
" S00T13 | \n",
" S00T14 | \n",
" S00T15 | \n",
" S00T16 | \n",
" S00T17 | \n",
" S00T18 | \n",
" S00T19 | \n",
" S00T20 | \n",
" S00T21 | \n",
" S00T22 | \n",
" S00T23 | \n",
" S00T24 | \n",
" S00T25 | \n",
" S00T26 | \n",
" S00T27 | \n",
" S00T28 | \n",
" S00T29 | \n",
" S00T30 | \n",
" S00T31 | \n",
" S00T32 | \n",
" S00T33 | \n",
" S00T34 | \n",
" S00T35 | \n",
" S00T36 | \n",
" S00T37 | \n",
" S00T38 | \n",
" S00T39 | \n",
" S00T40 | \n",
" S00T41 | \n",
" S00T42 | \n",
" S00T43 | \n",
" S00T44 | \n",
" S00T45 | \n",
" S00T46 | \n",
" S00T47 | \n",
" S00T48 | \n",
" S00T49 | \n",
" S00T50 | \n",
" S00T51 | \n",
" S00T52 | \n",
" S00T53 | \n",
" S00T54 | \n",
" S00T55 | \n",
" S00T56 | \n",
" S00T57 | \n",
" S00T58 | \n",
" S00T59 | \n",
" S00T60 | \n",
" S00T61 | \n",
" S00T62 | \n",
" S00T63 | \n",
" S00T64 | \n",
" S00T65 | \n",
" S00T66 | \n",
" S00T67 | \n",
" S00T68 | \n",
" S00T69 | \n",
" S00T70 | \n",
" S00T71 | \n",
" S00T72 | \n",
" S00T73 | \n",
" S00T74 | \n",
" S00T75 | \n",
" S00T76 | \n",
" S00T77 | \n",
" S00T78 | \n",
" S00T79 | \n",
" S00T80 | \n",
"
\n",
" \n",
" \n",
" \n",
" | Project Energy Production (kWh) | \n",
" 9,001,355,968.50 | \n",
" 107,648,074.50 | \n",
" 121,862,554.50 | \n",
" 108,545,358.00 | \n",
" 115,582,440.50 | \n",
" 121,498,227.00 | \n",
" 110,684,220.00 | \n",
" 98,773,519.50 | \n",
" 86,266,014.00 | \n",
" 121,090,393.50 | \n",
" 98,278,773.00 | \n",
" 108,253,191.00 | \n",
" 105,014,271.00 | \n",
" 121,391,810.00 | \n",
" 107,783,308.00 | \n",
" 122,070,781.00 | \n",
" 98,771,873.00 | \n",
" 107,585,524.50 | \n",
" 121,037,791.50 | \n",
" 122,830,072.00 | \n",
" 121,679,370.00 | \n",
" 114,810,583.50 | \n",
" 121,888,160.50 | \n",
" 108,344,876.00 | \n",
" 111,933,539.00 | \n",
" 108,821,716.50 | \n",
" 85,355,986.50 | \n",
" 122,602,253.50 | \n",
" 122,277,689.00 | \n",
" 121,108,753.00 | \n",
" 90,747,151.00 | \n",
" 121,538,637.50 | \n",
" 121,847,805.00 | \n",
" 109,362,448.00 | \n",
" 101,526,570.00 | \n",
" 118,034,699.00 | \n",
" 106,319,687.50 | \n",
" 92,098,572.50 | \n",
" 121,902,836.00 | \n",
" 121,258,811.00 | \n",
" 96,533,082.50 | \n",
" 121,427,126.00 | \n",
" 103,375,828.50 | \n",
" 104,669,155.50 | \n",
" 122,002,582.00 | \n",
" 103,837,790.50 | \n",
" 100,238,075.50 | \n",
" 111,789,492.00 | \n",
" 122,054,455.50 | \n",
" 107,250,160.00 | \n",
" 120,537,318.50 | \n",
" 113,435,686.00 | \n",
" 122,044,561.00 | \n",
" 122,017,771.50 | \n",
" 115,627,282.00 | \n",
" 121,759,995.50 | \n",
" 111,153,907.00 | \n",
" 115,810,026.00 | \n",
" 103,802,030.50 | \n",
" 121,741,656.50 | \n",
" 120,408,230.50 | \n",
" 121,364,747.50 | \n",
" 110,311,047.50 | \n",
" 121,690,606.00 | \n",
" 54,580,838.00 | \n",
" 116,883,550.00 | \n",
" 121,313,591.50 | \n",
" 122,615,135.00 | \n",
" 106,711,468.50 | \n",
" 121,292,899.00 | \n",
" 121,725,785.00 | \n",
" 105,140,010.00 | \n",
" 122,485,041.50 | \n",
" 114,965,531.50 | \n",
" 99,102,445.50 | \n",
" 120,326,432.00 | \n",
" 107,756,572.00 | \n",
" 122,564,419.00 | \n",
" 120,854,133.50 | \n",
" 117,721,292.00 | \n",
" 122,005,869.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" windfarm S00T1 \\\n",
"Project Energy Production (kWh) 9,001,355,968.50 107,648,074.50 \n",
"\n",
" S00T2 S00T3 S00T4 \\\n",
"Project Energy Production (kWh) 121,862,554.50 108,545,358.00 115,582,440.50 \n",
"\n",
" S00T5 S00T6 S00T7 \\\n",
"Project Energy Production (kWh) 121,498,227.00 110,684,220.00 98,773,519.50 \n",
"\n",
" S00T8 S00T9 S00T10 \\\n",
"Project Energy Production (kWh) 86,266,014.00 121,090,393.50 98,278,773.00 \n",
"\n",
" S00T11 S00T12 S00T13 \\\n",
"Project Energy Production (kWh) 108,253,191.00 105,014,271.00 121,391,810.00 \n",
"\n",
" S00T14 S00T15 S00T16 \\\n",
"Project Energy Production (kWh) 107,783,308.00 122,070,781.00 98,771,873.00 \n",
"\n",
" S00T17 S00T18 S00T19 \\\n",
"Project Energy Production (kWh) 107,585,524.50 121,037,791.50 122,830,072.00 \n",
"\n",
" S00T20 S00T21 S00T22 \\\n",
"Project Energy Production (kWh) 121,679,370.00 114,810,583.50 121,888,160.50 \n",
"\n",
" S00T23 S00T24 S00T25 \\\n",
"Project Energy Production (kWh) 108,344,876.00 111,933,539.00 108,821,716.50 \n",
"\n",
" S00T26 S00T27 S00T28 \\\n",
"Project Energy Production (kWh) 85,355,986.50 122,602,253.50 122,277,689.00 \n",
"\n",
" S00T29 S00T30 S00T31 \\\n",
"Project Energy Production (kWh) 121,108,753.00 90,747,151.00 121,538,637.50 \n",
"\n",
" S00T32 S00T33 S00T34 \\\n",
"Project Energy Production (kWh) 121,847,805.00 109,362,448.00 101,526,570.00 \n",
"\n",
" S00T35 S00T36 S00T37 \\\n",
"Project Energy Production (kWh) 118,034,699.00 106,319,687.50 92,098,572.50 \n",
"\n",
" S00T38 S00T39 S00T40 \\\n",
"Project Energy Production (kWh) 121,902,836.00 121,258,811.00 96,533,082.50 \n",
"\n",
" S00T41 S00T42 S00T43 \\\n",
"Project Energy Production (kWh) 121,427,126.00 103,375,828.50 104,669,155.50 \n",
"\n",
" S00T44 S00T45 S00T46 \\\n",
"Project Energy Production (kWh) 122,002,582.00 103,837,790.50 100,238,075.50 \n",
"\n",
" S00T47 S00T48 S00T49 \\\n",
"Project Energy Production (kWh) 111,789,492.00 122,054,455.50 107,250,160.00 \n",
"\n",
" S00T50 S00T51 S00T52 \\\n",
"Project Energy Production (kWh) 120,537,318.50 113,435,686.00 122,044,561.00 \n",
"\n",
" S00T53 S00T54 S00T55 \\\n",
"Project Energy Production (kWh) 122,017,771.50 115,627,282.00 121,759,995.50 \n",
"\n",
" S00T56 S00T57 S00T58 \\\n",
"Project Energy Production (kWh) 111,153,907.00 115,810,026.00 103,802,030.50 \n",
"\n",
" S00T59 S00T60 S00T61 \\\n",
"Project Energy Production (kWh) 121,741,656.50 120,408,230.50 121,364,747.50 \n",
"\n",
" S00T62 S00T63 S00T64 \\\n",
"Project Energy Production (kWh) 110,311,047.50 121,690,606.00 54,580,838.00 \n",
"\n",
" S00T65 S00T66 S00T67 \\\n",
"Project Energy Production (kWh) 116,883,550.00 121,313,591.50 122,615,135.00 \n",
"\n",
" S00T68 S00T69 S00T70 \\\n",
"Project Energy Production (kWh) 106,711,468.50 121,292,899.00 121,725,785.00 \n",
"\n",
" S00T71 S00T72 S00T73 \\\n",
"Project Energy Production (kWh) 105,140,010.00 122,485,041.50 114,965,531.50 \n",
"\n",
" S00T74 S00T75 S00T76 \\\n",
"Project Energy Production (kWh) 99,102,445.50 120,326,432.00 107,756,572.00 \n",
"\n",
" S00T77 S00T78 S00T79 \\\n",
"Project Energy Production (kWh) 122,564,419.00 120,854,133.50 117,721,292.00 \n",
"\n",
" S00T80 \n",
"Project Energy Production (kWh) 122,005,869.00 "
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project totals at the turbine level\n",
"metrics.power_production(frequency=\"project\", by_turbine=True)"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" windfarm | \n",
"
\n",
" \n",
" | year | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" | 2003 | \n",
" 847,795,441.50 | \n",
"
\n",
" \n",
" | 2004 | \n",
" 862,264,163.00 | \n",
"
\n",
" \n",
" | 2005 | \n",
" 926,377,047.50 | \n",
"
\n",
" \n",
" | 2006 | \n",
" 923,660,836.00 | \n",
"
\n",
" \n",
" | 2007 | \n",
" 1,005,666,408.00 | \n",
"
\n",
" \n",
" | 2008 | \n",
" 953,597,820.50 | \n",
"
\n",
" \n",
" | 2009 | \n",
" 846,267,173.50 | \n",
"
\n",
" \n",
" | 2010 | \n",
" 768,713,430.50 | \n",
"
\n",
" \n",
" | 2011 | \n",
" 941,257,651.00 | \n",
"
\n",
" \n",
" | 2012 | \n",
" 925,755,997.00 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" windfarm\n",
"year \n",
"2003 847,795,441.50\n",
"2004 862,264,163.00\n",
"2005 926,377,047.50\n",
"2006 923,660,836.00\n",
"2007 1,005,666,408.00\n",
"2008 953,597,820.50\n",
"2009 846,267,173.50\n",
"2010 768,713,430.50\n",
"2011 941,257,651.00\n",
"2012 925,755,997.00"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project annual totals for the windfarm\n",
"metrics.power_production(frequency=\"annual\", by_turbine=False)"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" windfarm | \n",
"
\n",
" \n",
" | month | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" | 1 | \n",
" 1,011,225,579.50 | \n",
"
\n",
" \n",
" | 2 | \n",
" 760,740,883.00 | \n",
"
\n",
" \n",
" | 3 | \n",
" 828,317,025.00 | \n",
"
\n",
" \n",
" | 4 | \n",
" 652,647,978.00 | \n",
"
\n",
" \n",
" | 5 | \n",
" 634,985,385.50 | \n",
"
\n",
" \n",
" | 6 | \n",
" 515,984,660.00 | \n",
"
\n",
" \n",
" | 7 | \n",
" 544,902,601.00 | \n",
"
\n",
" \n",
" | 8 | \n",
" 600,927,882.00 | \n",
"
\n",
" \n",
" | 9 | \n",
" 745,058,360.00 | \n",
"
\n",
" \n",
" | 10 | \n",
" 857,886,952.00 | \n",
"
\n",
" \n",
" | 11 | \n",
" 920,599,360.00 | \n",
"
\n",
" \n",
" | 12 | \n",
" 928,079,302.50 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" windfarm\n",
"month \n",
"1 1,011,225,579.50\n",
"2 760,740,883.00\n",
"3 828,317,025.00\n",
"4 652,647,978.00\n",
"5 634,985,385.50\n",
"6 515,984,660.00\n",
"7 544,902,601.00\n",
"8 600,927,882.00\n",
"9 745,058,360.00\n",
"10 857,886,952.00\n",
"11 920,599,360.00\n",
"12 928,079,302.50"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project monthly totals for the windfarm\n",
"metrics.power_production(frequency=\"monthly\", by_turbine=False)"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" | \n",
" windfarm | \n",
"
\n",
" \n",
" | year | \n",
" month | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" | 2003 | \n",
" 1 | \n",
" 110,667,009.50 | \n",
"
\n",
" \n",
" | 2 | \n",
" 58,391,902.00 | \n",
"
\n",
" \n",
" | 3 | \n",
" 66,318,208.00 | \n",
"
\n",
" \n",
" | 4 | \n",
" 90,270,200.50 | \n",
"
\n",
" \n",
" | 5 | \n",
" 60,314,461.50 | \n",
"
\n",
" \n",
" | 6 | \n",
" 52,732,948.50 | \n",
"
\n",
" \n",
" | 7 | \n",
" 53,214,108.00 | \n",
"
\n",
" \n",
" | 8 | \n",
" 51,160,175.50 | \n",
"
\n",
" \n",
" | 9 | \n",
" 46,240,076.00 | \n",
"
\n",
" \n",
" | 10 | \n",
" 73,988,741.00 | \n",
"
\n",
" \n",
" | 11 | \n",
" 91,135,362.00 | \n",
"
\n",
" \n",
" | 12 | \n",
" 93,362,249.00 | \n",
"
\n",
" \n",
" | 2004 | \n",
" 1 | \n",
" 92,113,370.50 | \n",
"
\n",
" \n",
" | 2 | \n",
" 79,299,275.50 | \n",
"
\n",
" \n",
" | 3 | \n",
" 82,033,098.00 | \n",
"
\n",
" \n",
" | 4 | \n",
" 59,756,310.00 | \n",
"
\n",
" \n",
" | 5 | \n",
" 47,073,507.00 | \n",
"
\n",
" \n",
" | 6 | \n",
" 58,635,618.50 | \n",
"
\n",
" \n",
" | 7 | \n",
" 42,550,087.00 | \n",
"
\n",
" \n",
" | 8 | \n",
" 65,255,774.50 | \n",
"
\n",
" \n",
" | 9 | \n",
" 89,560,072.00 | \n",
"
\n",
" \n",
" | 10 | \n",
" 90,536,295.00 | \n",
"
\n",
" \n",
" | 11 | \n",
" 76,000,725.50 | \n",
"
\n",
" \n",
" | 12 | \n",
" 79,450,029.50 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" windfarm\n",
"year month \n",
"2003 1 110,667,009.50\n",
" 2 58,391,902.00\n",
" 3 66,318,208.00\n",
" 4 90,270,200.50\n",
" 5 60,314,461.50\n",
" 6 52,732,948.50\n",
" 7 53,214,108.00\n",
" 8 51,160,175.50\n",
" 9 46,240,076.00\n",
" 10 73,988,741.00\n",
" 11 91,135,362.00\n",
" 12 93,362,249.00\n",
"2004 1 92,113,370.50\n",
" 2 79,299,275.50\n",
" 3 82,033,098.00\n",
" 4 59,756,310.00\n",
" 5 47,073,507.00\n",
" 6 58,635,618.50\n",
" 7 42,550,087.00\n",
" 8 65,255,774.50\n",
" 9 89,560,072.00\n",
" 10 90,536,295.00\n",
" 11 76,000,725.50\n",
" 12 79,450,029.50"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Project month-by-year totals for the windfarm\n",
"# NOTE: This is limited to the first two years only\n",
"metrics.power_production(frequency=\"month-year\", by_turbine=False).head(24)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## PySAM-Powered Results\n",
"\n",
"For a number of project financial metrics, the PySAM library is utilized.\n",
"\n",
"\n",
"NOTE: If a \"SAM_settings\" file is not provided to the simulation, then the following metrics will not be able to be calculated and will raise a `NotImplementedError`.\n",
"
\n",
"\n",
"With the above warning in mind, the appropriate simulation outputs are provided as inputs to PySAM upon initialization to ensure all values are aligned.\n",
"\n",
"### Net Present Value (NPV)"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"No SAM inputs were provided, and 'pysam_npv()' cannot be calculated!\n"
]
}
],
"source": [
"try:\n",
" npv = metrics.pysam_npv()\n",
" print(f\"NPV: ${npv:,.0f}\")\n",
"except NotImplementedError as e:\n",
" print(e)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Real Levelized Cost of Energy (LCOE)"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"No SAM inputs were provided, and 'pysam_lcoe_real()' cannot be calculated!\n"
]
}
],
"source": [
"try:\n",
" lcoe = metrics.pysam_lcoe_real()\n",
" print(f\"Real LCOE: ${lcoe:,.2f}/kW\")\n",
"except NotImplementedError as e:\n",
" print(e)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Nominal Levelized Cost of Energy (LCOE)"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"No SAM inputs were provided, and 'pysam_lcoe_nominal()' cannot be calculated!\n"
]
}
],
"source": [
"try:\n",
" lcoe = metrics.pysam_lcoe_nominal()\n",
" print(f\"Nominal LCOE: ${lcoe:,.2f}/kW\")\n",
"except NotImplementedError as e:\n",
" print(e)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### After-tax Internal Return Rate (IRR)"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"No SAM inputs were provided, and 'pysam_irr()' cannot be calculated!\n"
]
}
],
"source": [
"try:\n",
" npv = metrics.pysam_irr()\n",
" print(f\"IRR: {npv:,.1f}%\")\n",
"except NotImplementedError as e:\n",
" print(e)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### One Data Frame to Rule Them All\n",
"\n",
"For this demonstration we will manually load a PySAM settings file and trigger the setup for demonstration purposes, but it should be noted that this practice should be avoided."
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {},
"outputs": [],
"source": [
"SAM_settings = \"SAM_Singleowner_defaults.yaml\"\n",
"metrics.sam_settings = load_yaml(sim.env.data_dir / \"windfarm\", SAM_settings)\n",
"metrics._setup_pysam()"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Value | \n",
"
\n",
" \n",
" | Metric | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" | After Tax NPV ($) | \n",
" 24,637,520.25 | \n",
"
\n",
" \n",
" | Nominal LCOE ($/kW) | \n",
" -0.00 | \n",
"
\n",
" \n",
" | Real LCOE ($/kW) | \n",
" -0.00 | \n",
"
\n",
" \n",
" | After Tax IRR (%) | \n",
" 13.16 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Value\n",
"Metric \n",
"After Tax NPV ($) 24,637,520.25\n",
"Nominal LCOE ($/kW) -0.00\n",
"Real LCOE ($/kW) -0.00\n",
"After Tax IRR (%) 13.16"
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"metrics.pysam_all_outputs()"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [],
"source": [
"sim.env.cleanup_log_files(log_only=False)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.8"
}
},
"nbformat": 4,
"nbformat_minor": 4
}