diff --git a/.gitignore b/.gitignore index 02d2546..c8a4980 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,8 @@ # ---> LaTex +Plot.png +Total.png +*.snm +*.nav *.aux *.glo *.idx diff --git a/CBEA_Logo_Large.png b/CBEA_Logo_Large.png new file mode 100644 index 0000000..e095be4 Binary files /dev/null and b/CBEA_Logo_Large.png differ diff --git a/REMI.tex b/REMI.tex new file mode 100644 index 0000000..111bbb9 --- /dev/null +++ b/REMI.tex @@ -0,0 +1,153 @@ +\documentclass{beamer} + +% Define UW colors +\usepackage{xcolor} +\usepackage{tcolorbox} +\usepackage{tikz} +\usepackage{booktabs} +\usepackage{amssymb} % for checkmark +\usepackage{graphicx} % if you want to use image-based checkmarks +\usepackage{colortbl} +\usepackage{hyperref} +\usepackage{cleveref} +\usetikzlibrary{shapes, arrows.meta, positioning} +\tcbuselibrary{skins} +\definecolor{UWBrown}{HTML}{492f24} +\definecolor{UWGold}{HTML}{ffcc00} +% Define custom colors (optional) +\definecolor{lightgreen}{HTML}{d6f5d6} +\definecolor{lightred}{HTML}{f8d7da} +\definecolor{lightyellow}{HTML}{fff3cd} +\definecolor{darkgreen}{HTML}{006400} +\definecolor{darkred}{HTML}{8B0000} +\definecolor{middlegreen}{HTML}{463200} +\definecolor{middlered}{HTML}{C16B6D} +\definecolor{lightorange}{HTML}{FFD8A9} + +% Theme setup +\usetheme{Madrid} +\usecolortheme{default} +\setbeamertemplate{enumerate items}[default] +\setbeamercolor*{structure}{bg=white,fg=UWBrown} + +% Apply custom colors +\setbeamercolor{palette primary}{bg=UWBrown, fg=UWGold} +\setbeamercolor{palette secondary}{bg=UWGold, fg=UWBrown} +\setbeamercolor{palette tertiary}{bg=UWBrown, fg=white} + +% Flip heading colors +\setbeamercolor{frametitle}{bg=UWGold, fg=UWBrown} +\setbeamercolor{title}{fg=UWBrown} + +% Flip footer colors +\setbeamercolor{footline}{bg=UWGold, fg=UWBrown} + +% Double-height footer with logo +\setbeamertemplate{footline}{ + \leavevmode% + \hbox{% + \begin{beamercolorbox}[wd=\paperwidth,ht=8ex,dp=4ex,left]{footline}% + \includegraphics[height=6ex]{UW_Logo}% + \hspace{1em} \insertshorttitle \hfill \insertframenumber{} / \inserttotalframenumber + \end{beamercolorbox}% + }% + \vskip0pt% +} + +% Title info +\title[Data Center Economic Forecasting]{Application of REMI to Data Center Forecasting} +\author{Alexander Gebben} +\date{June 27, 2026} + +\begin{document} + +\begin{frame}[plain] +\begin{center} +\textcolor{UWGold}{\huge\textbf{\inserttitle}}\\ +\textcolor{black}{\large\insertauthor}, +\textcolor{black}{\insertdate} +\vspace{1em} +\includegraphics[width=0.7\paperwidth]{CBEA_Logo_Large} +%\textcolor{white}{\insertinstitute}\\ +\end{center} +\end{frame} + +\begin{frame}{Outline} + \tableofcontents +\end{frame} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Introduction} +\begin{frame}{Introduction} + Welcome to the presentation! + \begin{enumerate} + \item one + \item two + \end{enumerate} + + \begin{itemize} + \item one + \item two + \end{itemize} + +\end{frame} +%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Background} +\begin{frame}{What are Data Centers?} +\begin{columns} + \begin{column}{0.5\textwidth} + \begin{enumerate} + \item Large Language Models + \item Proff of work crypto currency mining + \item Cloud storage + \item Hosting services + \item Virtual private networks + \end{enumerate} +\end{column} +\begin{column}{0.5\textwidth} + \begin{itemize} + \item one + \item two + \end{itemize} +\end{column} +\end{columns} + +\end{frame} +%%%%%%%%%%%%%%%%% +\begin{frame}[plain]{Projected Energy Use} + \only<1>{\includegraphics[width=\textwidth]{Plot.png}} + \only<2>{\includegraphics[width=\textwidth]{Total.png}} + +\end{frame} + + +%%%%%%%%%%%%%%%%% +\begin{frame}[plain]{Nuclear Fuel Cycle Overview} +\begin{center} +\resizebox{\textwidth}{!}{ +\begin{tikzpicture}[ + node distance=2cm and 2cm, + box/.style={rectangle, draw, minimum width=5cm, minimum height=2cm, align=center}, + dual/.style={rectangle split, rectangle split parts=2, draw, minimum width=5cm, minimum height=2cm, align=center}, + arrow/.style={-{Latex}, thick} +] + +% Nodes with overlays +\onslide<1->{\node[box,fill={yellow!20}] (mining) {Uranium Mining};} +\onslide<2->{\node[box,fill={yellow!20}, right=of mining] (enrichment) {Uranium Enrichment};} +\onslide<3->{\node[dual,text width=2cm, right=of enrichment, rectangle split part fill={blue!20, red!20}] (output) + {Electricity Production\nodepart{second}Heat Applications};} +\onslide<4->{\node[box, below=of output,fill={teal!20}] (manufacturing) {Component Manufacturing};} +\onslide<5->{\node[box, right=of output,fill={gray!20}] (waste) {Spent Nuclear Fuel};} + +% Arrows with overlays +\onslide<2->{\draw[arrow] (mining) -- (enrichment);} +\onslide<3->{\draw[arrow] (enrichment) -- (output);} +\onslide<4->{\draw[arrow] (manufacturing) -- (output);} +\onslide<5->{\draw[arrow] (output) -- (waste);} + +\end{tikzpicture} +} +\end{center} +\end{frame} + +\end{document} diff --git a/R_Work/EIA_Commerical_Sector_Data.csv b/R_Work/EIA_Commerical_Sector_Data.csv new file mode 100644 index 0000000..eb7c55d --- /dev/null +++ b/R_Work/EIA_Commerical_Sector_Data.csv @@ -0,0 +1,31 @@ +Commercial Total Energy Use by End Use (Case Counterfactual Baseline case) +https://www.eia.gov/outlooks/aeo/data/browser/#/?id=5-AEO2026®ion=0-0&cases=cb2026&start=2025&end=2050&f=A&linechart=~~~~~~~~~~~~~~cb2026-d021826b.67-5-AEO2026~cb2026-d021826b.68-5-AEO2026~cb2026-d021826b.69-5-AEO2026~cb2026-d021826b.70-5-AEO2026~cb2026-d021826b.71-5-AEO2026~cb2026-d021826b.72-5-AEO2026~cb2026-d021826b.73-5-AEO2026~cb2026-d021826b.74-5-AEO2026~cb2026-d021826b.75-5-AEO2026~cb2026-d021826b.76-5-AEO2026~cb2026-d021826b.77-5-AEO2026~cb2026-d021826b.78-5-AEO2026~cb2026-d021826b.79-5-AEO2026&sourcekey=0 +15:41:21 GMT-0600 (Mountain Daylight Time) +Data source: U.S. Energy Information Administration +Year,Space Heating quads,Space Cooling quads,Water Heating quads,Ventilation quads,Cooking quads,Lighting quads,Refrigeration quads,Data Center Servers quads,Computers and Office Equipment quads,Other Uses quads,Total Gross End-use Consumption quads,Purchased Electricity for EV Charging quads,Generation for Own Use quads +2050,1.659849,1.457669,0.431731,1.744314,0.593602,0.817266,0.696621,2.755819,0.273442,6.48524,16.915556,2.562196,0.30881 +2049,1.676717,1.438343,0.430507,1.730065,0.592048,0.819066,0.695659,2.724611,0.278773,6.461623,16.847412,2.515952,0.305663 +2048,1.693073,1.417299,0.429098,1.713517,0.59021,0.819967,0.693574,2.685243,0.283228,6.4332,16.758408,2.459325,0.300708 +2047,1.709183,1.397078,0.427635,1.697247,0.588271,0.82121,0.691556,2.637155,0.287307,6.406504,16.663143,2.397761,0.296778 +2046,1.725866,1.378768,0.426288,1.682936,0.586484,0.823581,0.690199,2.583058,0.291259,6.385467,16.573908,2.33095,0.291998 +2045,1.742192,1.361752,0.424943,1.669847,0.584637,0.827052,0.68932,2.523058,0.293967,6.368581,16.485348,2.257984,0.289239 +2044,1.757432,1.346819,0.423508,1.659719,0.582573,0.832583,0.689516,2.459334,0.297855,6.357899,16.40724,2.181226,0.285402 +2043,1.773971,1.335122,0.422396,1.652779,0.580816,0.84042,0.690907,2.393408,0.301899,6.355707,16.347425,2.101125,0.281202 +2042,1.789298,1.315987,0.420822,1.636756,0.578425,0.844496,0.688385,2.307624,0.304857,6.33237,16.219021,2.000762,0.277589 +2041,1.805987,1.301274,0.419733,1.626142,0.576604,0.852542,0.688056,2.224456,0.30739,6.323893,16.126076,1.895763,0.272037 +2040,1.821847,1.284907,0.418338,1.612498,0.574327,0.860149,0.686575,2.133115,0.310962,6.311166,16.013882,1.779732,0.268748 +2039,1.838078,1.277422,0.417405,1.608167,0.572659,0.874721,0.688738,2.047362,0.315357,6.314445,15.954354,1.659679,0.262034 +2038,1.858292,1.288098,0.417912,1.626034,0.572617,0.898407,0.700017,1.983303,0.32347,6.370639,16.03879,1.551354,0.257778 +2037,1.874785,1.282206,0.417006,1.623933,0.570782,0.912704,0.70207,1.888198,0.328588,6.371848,15.972122,1.410142,0.245332 +2036,1.889226,1.266219,0.415566,1.608596,0.568292,0.92091,0.699875,1.781086,0.33223,6.355659,15.83766,1.254792,0.240122 +2035,1.901177,1.250283,0.413921,1.592981,0.565451,0.930494,0.698316,1.675538,0.336487,6.343416,15.708065,1.094612,0.237493 +2034,1.915801,1.242643,0.413373,1.58819,0.563841,0.947991,0.701745,1.5806,0.344164,6.364753,15.663101,0.933083,0.235489 +2033,1.934851,1.243166,0.414311,1.593831,0.564016,0.972686,0.70946,1.493093,0.353985,6.411701,15.6911,0.767953,0.233069 +2032,1.963538,1.26184,0.417944,1.622606,0.567591,1.013016,0.726553,1.421088,0.369245,6.507271,15.870693,0.609479,0.228893 +2031,2.007483,1.307043,0.42613,1.685724,0.576866,1.076867,0.75847,1.370873,0.393732,6.691508,16.294697,0.460414,0.224558 +2030,2.047686,1.322442,0.432243,1.70979,0.583937,1.119353,0.772259,1.281598,0.408664,6.767422,16.445393,0.32972,0.213571 +2029,2.087349,1.329668,0.437624,1.722502,0.590297,1.157596,0.783538,1.185236,0.422783,6.827823,16.544415,0.22721,0.207113 +2028,2.121859,1.329303,0.441425,1.719852,0.594588,1.17398,0.790209,1.085073,0.436468,6.875392,16.56815,0.16827,0.202564 +2027,2.151664,1.347557,0.445993,1.741829,0.599262,1.210878,0.810267,1.002403,0.458344,6.997755,16.765951,0.126609,0.194802 +2026,2.180328,1.394059,0.452405,1.801554,0.605305,1.281172,0.84733,0.93473,0.490278,7.182669,17.16983,0.099923,0.178672 +2025,2.220217,1.337283,0.449794,1.801248,0.601213,1.316465,0.85503,0.833948,0.505819,6.840589,16.761606,0.075689,0.159509 \ No newline at end of file diff --git a/R_Work/make_figures.r b/R_Work/make_figures.r new file mode 100644 index 0000000..dfb554d --- /dev/null +++ b/R_Work/make_figures.r @@ -0,0 +1,28 @@ +library(tidyverse) +library(janitor) +library(scales) +library(paletteer) + +CONSUMPTION <- read_csv('EIA_Commerical_Sector_Data.csv',skip=4) %>% clean_names() +CONSUMPTION[,c(2:14)] <- 33.43* CONSUMPTION[,c(2:14)] +colnames(CONSUMPTION) <- gsub("_quads","",colnames(CONSUMPTION)) +CONSUMPTION <- CONSUMPTION %>% pivot_longer(-year,values_to='GW',names_to="Use") +TOTAL <- CONSUMPTION %>% filter(Use=='total_gross_end_use_consumption') +CONSUMPTION <-CONSUMPTION %>% filter(Use!='total_gross_end_use_consumption') + + +CONSUMPTION$Use <- ifelse(CONSUMPTION$Use!='data_center_servers',"Other","Data Centers") +CONSUMPTION <- CONSUMPTION %>% group_by(year,Use) %>% summarize(GW=sum(GW)) %>% ungroup +CONSUMPTION$Use <- factor(CONSUMPTION$Use,level=c("Other","Data Centers")) + +CONSUMPTION <- CONSUMPTION %>% group_by(Use) %>% mutate(Change=GW-sum(ifelse(year==2025,GW,0))) %>% ungroup + +STACK_PLOT <- ggplot(CONSUMPTION,aes(x=year,y=Change,fill=Use)) +geom_area()+theme_bw()+facet_wrap(~Use)+ theme(legend.position = "top",text = element_text(size = 20))+scale_fill_manual(values=paletteer_d("PNWColors::Shuksan2"))+ylab("Change GW-year") + +STACK_TOTAL<- ggplot(CONSUMPTION,aes(x=year,y=GW,fill=Use)) +geom_area()+theme_bw()+ theme(legend.position = "top",text = element_text(size = 20))+scale_fill_manual(values=paletteer_d("PNWColors::Shuksan2"))+ylab("Total Consumpiotn (GW-year)") + + + +ggsave("../Plot.png",STACK_PLOT,width=12,height=8,units="in",dpi=600) +ggsave("../Total.png",STACK_TOTAL,width=12,height=8,units="in",dpi=600) + diff --git a/UW_Logo.png b/UW_Logo.png new file mode 100644 index 0000000..3f89f23 Binary files /dev/null and b/UW_Logo.png differ