1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[869],{8097:function(e,t,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/us-power-sector",function(){return i(4015)}])},5901:function(e,t,i){"use strict";i.d(t,{x:function(){return _}});var a=i(5893),r=i(7294),n=i(4777),s=i(4989),l=i(2761),o=i(3989),c=i(4778),d=i.n(c),h=i(4222),u=i(5139);let p=(0,u.j)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),x=r.forwardRef((e,t)=>{let{className:i,variant:r,size:s,asChild:l=!1,...o}=e,c=l?h.g7:"button";return(0,a.jsx)(c,{className:(0,n.cn)(p({variant:r,size:s,className:i})),ref:t,...o})});x.displayName="Button";let g=e=>{let[t,i]=(0,r.useState)(0),[a,n]=(0,r.useState)([]),s=(0,r.useCallback)(t=>{e&&e.scrollTo(t)},[e]),l=(0,r.useCallback)(e=>{n(e.scrollSnapList())},[]),o=(0,r.useCallback)(e=>{i(e.selectedScrollSnap())},[]);return(0,r.useEffect)(()=>{e&&(l(e),o(e),e.on("reInit",l).on("reInit",o).on("select",o))},[e,l,o]),{selectedIndex:t,scrollSnaps:a,onDotButtonClick:s}},f=e=>{let{children:t,...i}=e;return(0,a.jsx)("button",{type:"button",...i,children:t})},m=r.createContext(null);function b(){let e=r.useContext(m);if(!e)throw Error("useCarousel must be used within a <Carousel />");return e}let y=r.forwardRef((e,t)=>{let{orientation:i="horizontal",opts:l,setApi:o,plugins:c,className:d,children:h,...u}=e,[p,x]=(0,s.Z)({loop:!0,direction:"ltr",...l,axis:"horizontal"===i?"x":"y"},c),[g,f]=r.useState(!1),[b,y]=r.useState(!1),j=r.useCallback(e=>{e&&(f(e.canScrollPrev()),y(e.canScrollNext()))},[]),v=r.useCallback(()=>{null==x||x.scrollPrev()},[x]),w=r.useCallback(()=>{null==x||x.scrollNext()},[x]),N=r.useCallback(e=>{"ArrowLeft"===e.key?(e.preventDefault(),v()):"ArrowRight"===e.key&&(e.preventDefault(),w())},[v,w]);return r.useEffect(()=>{x&&o&&o(x)},[x,o]),r.useEffect(()=>{if(x)return j(x),x.on("reInit",j),x.on("select",j),()=>{null==x||x.off("select",j)}},[x,j]),(0,a.jsx)(m.Provider,{value:{carouselRef:p,api:x,opts:l,orientation:i||((null==l?void 0:l.axis)==="y"?"vertical":"horizontal"),scrollPrev:v,scrollNext:w,canScrollPrev:g,canScrollNext:b},children:(0,a.jsx)("div",{ref:t,onKeyDownCapture:N,className:(0,n.cn)("relative",d),role:"region","aria-roledescription":"carousel",...u,children:h})})});y.displayName="Carousel";let j=r.forwardRef((e,t)=>{let{className:i,...r}=e,{carouselRef:s,orientation:l}=b();return(0,a.jsx)("div",{ref:s,className:"overflow-hidden",children:(0,a.jsx)("div",{ref:t,className:(0,n.cn)("flex","horizontal"===l?"-ml-4":"-mt-4 flex-col",i),...r})})});j.displayName="CarouselContent";let v=r.forwardRef((e,t)=>{let{className:i,...r}=e,{orientation:s}=b();return(0,a.jsx)("div",{ref:t,role:"group","aria-roledescription":"slide",className:(0,n.cn)("min-w-0 shrink-0 grow-0 basis-full","horizontal"===s?"pl-4":"pt-4",i),...r})});v.displayName="CarouselItem";let w=r.forwardRef((e,t)=>{let{className:i,variant:r="outline",size:s="icon",...o}=e,{orientation:c,scrollPrev:d,canScrollPrev:h}=b();return(0,a.jsxs)(x,{ref:t,variant:r,size:s,className:(0,n.cn)("absolute h-8 w-8 rounded-full","horizontal"===c?"-left-12 top-1/2 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",i),disabled:!h,onClick:d,...o,children:[(0,a.jsx)(l.Z,{className:"h-4 w-4"}),(0,a.jsx)("span",{className:"sr-only",children:"Previous slide"})]})});
1w.displayName="CarouselPrevious";let N=r.forwardRef((e,t)=>{let{className:i,variant:r="outline",size:s="icon",...l}=e,{orientation:c,scrollNext:d,canScrollNext:h}=b();return(0,a.jsxs)(x,{ref:t,variant:r,size:s,className:(0,n.cn)("absolute h-8 w-8 rounded-full","horizontal"===c?"-right-12 top-1/2 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",i),disabled:!h,onClick:d,...l,children:[(0,a.jsx)(o.Z,{className:"h-4 w-4"}),(0,a.jsx)("span",{className:"sr-only",children:"Next slide"})]})});N.displayName="CarouselNext";let k=r.forwardRef((e,t)=>{let{style:i,className:r,...s}=e,{api:l}=b(),{selectedIndex:o,scrollSnaps:c,onDotButtonClick:h}=g(l);return(0,a.jsx)("div",{style:{...i},className:(0,n.cn)("",r),...s,ref:t,children:(0,a.jsx)("div",{className:d().embla__dots,children:c.map((e,t)=>(0,a.jsx)(f,{onClick:()=>h(t),className:(0,u.cx)(d().embla__dot,t===o&&d()["embla__dot--selected"])},t))})})});k.displayName="CarouselDots";var S=i(7451);let _=r.forwardRef((e,t)=>{let{isMobile:i=!1,cards:r,itemStyle:s={},autoPlayProps:l={},desktopWidth:o="780px",mobileWidth:c="240px",className:d,style:h,...u}=e;return(0,a.jsxs)(y,{"data-label":"carousel",ref:t,...u,"data-mobile":i,"data-medium":!1,style:{width:i?c:o,...h},className:(0,n.cn)("",d),plugins:[(0,S.Z)({playOnInit:!0,delay:6e3,stopOnInteraction:!0,stopOnFocusIn:!0,...l})],children:[(0,a.jsx)(j,{className:(0,n.cn)("pb-[1px]"),children:r.map((e,t)=>(0,a.jsx)(v,{"data-mobile":i,style:{flexBasis:i?"100%":"33.33333%",...s},className:"items-stretch",children:e},"card-carousel-".concat(t)))}),(0,a.jsx)(N,{}),(0,a.jsx)(w,{}),(0,a.jsx)(k,{})]})});_.displayName="DefaultCarousel"},1833:function(e,t,i){"use strict";i.d(t,{A:function(){return c}});var a=i(5893),r=i(4777),n=i(7294),s=i(5949),l=i(3014);n.forwardRef((e,t)=>{let{className:i,children:n,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,r.cn)("flex flex-col justify-center items-center text-center gap-0 min-h-fit",i),...s,children:n})}).displayName="SectionCenter";let o=n.forwardRef((e,t)=>{let{className:i,children:n,...s}=e,o=(0,l.r)(1380);return(0,a.jsx)("div",{ref:t,"data-mobile":o,className:(0,r.cn)("data-[mobile=false]:grid items-center data-[mobile=false]:grid-cols-12 data-[mobile=false]:grid-cols data-[mobile=false]:gap-x-[32px]","flex flex-col justify-center min-h-fit pb-8",i),...s,children:n})});o.displayName="SectionGrid";let c=n.forwardRef((e,t)=>{let{"data-label":i="section",left:n,right:l,center:c,background:d,horizontalReverse:h=!1,centerRow:u,horizontalRow:p,style:x,className:g,...f}=e,m=h?l:n,b=h?n:l;return(0,a.jsx)(s.G,{ref:t,style:{...x},className:(0,r.cn)("relative h-fit min-h-[100vh] gap-[48px]",g),...f,asChild:!0,children:(0,a.jsxs)(o,{"data-label":i,children:[!!d&&(0,a.jsx)("div",{"data-label":"background",style:{position:"absolute",height:"100%",top:"0px",width:"100%",left:"0px",zIndex:-1},children:d}),!!c&&(0,a.jsx)("section",{"data-label":"center",className:(0,r.cn)("flex flex-col justify-center items-center","col-span-12 col-start-1"),style:{gridRowStart:u},children:c}),!!m&&(0,a.jsx)("section",{"data-label":"left",style:{gridRowStart:p},"data-reverse":!1,className:(0,r.cn)("col-span-6","data-[reverse=false]:col-start-1","data-[reverse=true]:col-start-7"),children:m}),!!b&&(0,a.jsx)("section",{"data-label":"right",style:{gridRowStart:p},"data-reverse":!1,className:(0,r.cn)("col-span-6","data-[reverse=false]:col-start-7","data-[reverse=true]:col-start-1"),children:b})]})})});c.displayName="CombinedSection"},1755:function(e,t,i){"use strict";i.d(t,{N:function(){return s},P:function(){return l}});var a=i(5893),r=i(7294),n=i(4777);let s=r.forwardRef((e,t)=>{let{src:i,style:r,className:s,...l}=e;return(0,a.jsx)("img",{ref:t,src:i,alt:"",style:{borderRadius:"24px",boxShadow:"40px 34px 0px #e5f1fc",...r},className:(0,n.cn)("",s),...l})});s.displayName="ShadowImageDiagonal";let l=r.forwardRef((e,t)=>{let{container:i={},shadow:r={},reverse:s=!1,src:l,...o}=e;return(0,a.jsxs)("div",{...i,style:{position:"relative",...i.style},children:[(0,a.jsx)("img",{...o,ref:t,src:l,alt:"",style:{borderRadius:"24px",boxShadow:"0px 0px 6.5px rgba(0, 0, 0, 0.13)",aspectRatio:"1261.5 / 884",width:"100%",objectFit:"cover",objectPosition:"left",...o.style},className:(0,n.cn)("",o.className)}),(0,a.jsx)("div",{...r,style:{position:"absolute",zIndex:-1,top:"-40px",left:"40px",height:"calc(100% + 40px * 2)",width:"calc(100% - 40px)",gap:"0px",borderRadius:"24px",background:"linear-gradient(".concat(s?"270deg":"90deg",", #E5F1FC -8.97%, #FFFFFF 109.57%)"),...r.style}})]})});l.displayName="ShadowImageVertical"},4015:function(e,t,i){"use strict";i.r(t),i.d(t,{default:function(){return y}});var a=i(5893),r=i(9123),n=i(5949),s=i(1135),l=i(7294),o=i(1833),c=i(4777),d=i(9447),h=i.n(d),u=i(1664),p=i.n(u),x=i(3014),g=i(1755),f=i(5901);let m={hero:{title:(0,a.jsxs)(a.Fragment,{children:["Comprehensive demand and grid stress ",(0,a.jsx)("a",{className:(0,
1c.cn)("text-biospheric-blue"),children:"forecasting"})]}),backgroundImage:"/hero-background/adobe-bg-1.jpg",description:null,link:void 0},exampleSections:[{subtitle:"",title:(0,a.jsx)(a.Fragment,{children:"State-of-the-art electricity and heating demand forecasts"}),text:(0,a.jsx)(a.Fragment,{children:" "}),link:{text:"Publication",url:"https://arxiv.org/abs/2505.22873"},image:"/3d-buildings.png",imageSide:"left",imageShadow:"vertical",style:{}}],projectSections:[{subtitle:"The Challenge",title:(0,a.jsx)(a.Fragment,{children:"U.S. utilities face unprecedented uncertainty as electricity demand surgesâdriven by heating electrification, EV adoption, climate change, and data center expansion."}),text:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"The U.S. power grid is undergoing one of the most profound transformations in its history. As heating systems electrify, millions of EVs plug in, climate volatility intensifies, and hyperscale data centers proliferate, utilities are being asked to manage rapid, structural shifts in demand."}),(0,a.jsx)("p",{children:"Critically, this growth is not just large - itâs uncertain. The pace of adoption, geographic clustering, and load profiles of new technologies are highly variable, and legacy planning tools fail to capture this complexity. Todayâs forecasts rely on outdated building archetypes, coarse spatial resolution, and deterministic assumptionsâleaving planners without the precision they need to confidently navigate this high-stakes transition."}),(0,a.jsx)("p",{children:"In this high-stakes context, better demand intelligence is essential. Without accurate, building-level forecasting, infrastructure could be overbuilt in some places and underbuilt in others, driving up rates, undermining reliability, and delaying decarbonization. A new era of grid planning demands a new class of forecasting tools."})]}),style:{}},{subtitle:"Our Approach",title:(0,a.jsx)(a.Fragment,{children:"Probabilistic, hourly, building-level demand forecastsâbuilt to scale across regions, data types, and time horizons."}),text:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Our forecasting platform was born from over eight years of PhD and postdoctoral research at MIT. At its core is a novel machine learning architecture that integrates remote sensing, weather, socioeconomic, and a wide range of utility data sourcesâincluding smart meters, monthly billing records, and even spatially aggregated consumption statistics."}),(0,a.jsx)("p",{children:"This flexibility allows us to train high-resolution models using whatever data is available, whether granular or coarse, private or public. As a result, we can scale rapidly across new geographies, forecast further into the future, and deliver greater accuracyâoften without requiring much or any sensitive data from our partners."}),(0,a.jsx)("p",{children:"Our models learn directly from real-world behavior, not static assumptions. By generating granular, probabilistic forecastsâwith rigorous uncertainty quantificationâwe give utilities, regulators, and energy market actors the insights they need to plan boldly and act confidently."})]}),style:{}},{subtitle:"Our Philosophy",title:(0,a.jsx)(a.Fragment,{children:"Grid decarbonization demands data thatâs actionable, transparent, and built for decisions that canât be redone."}),text:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"Energy infrastructure decisions today will shape emissions, equity, and economic outcomes for decades. Thatâs why we believe demand forecasting must be accurate, explainable, reproducible, robust. Our platform incorporates state-of-the-art geospatial machine learning techniques designed from the start to support real-world planning."}),(0,a.jsx)("p",{children:"We prioritize traceability and interpretability at every step. Every forecast includes documented assumptions, metadata, and sensitivity analysis, allowing decision-makers to understand not just what the model predicts - but why. By embedding uncertainty quantification and scenario variation directly into our forecasts, we enable planners to stress-test infrastru
1cture pathways and build for a future that is not only low-carbon, but resilient to change."}),(0,a.jsx)("p",{children:"This approach ensures that public funds, private capital, and regulatory attention are directed with confidenceâavoiding stranded assets, ratepayer risk, and planning blind spots."})]}),style:{}},{subtitle:"Our Stakeholders",title:(0,a.jsx)(a.Fragment,{children:"We serve utilities, energy consultants, and the public."}),text:(0,a.jsx)(a.Fragment,{children:"Select applications include:"}),style:{}}],infoSections:[{title:"Forecasting Grid Stress",text:(0,a.jsx)(a.Fragment,{children:"Identify when and where grid capacity will be exceeded due to heat pump adoption, EV load, or extreme weather. Enable proactive infrastructure upgrades and load management strategies."})},{title:"Investment Justification",text:(0,a.jsx)(a.Fragment,{children:"Our forecasts enable utilities to make evidence-based cases for capital investments, rate changes, and resource adequacy planning - backed by probabilistic, building-level data."})},{title:"Equity & Electrification",text:(0,a.jsx)(a.Fragment,{children:"Disaggregate demand forecasts to expose inequities in heat pump adoption, energy burden, and DER deployment. Target incentives where theyâll have the greatest social and climate impact."})},{title:"Scenario Planning",text:(0,a.jsx)(a.Fragment,{children:"Run demand projections under different climate futures, policy scenarios, and electrification rates. Understand how long-term grid needs evolve under decarbonization pathways."})},{title:"Modernizing Planning Tools",text:(0,a.jsx)(a.Fragment,{children:"Our API integrates with existing utility workflows, replacing or augmenting tools like ResStock with validated, accurate predictions tailored to each service area."})}],"want-to-join":{title:"[Want to work with us?]",description:"Letâs build a smarter, cleaner gridâtogether.",link:{text:"Work with us",url:"/contact-us"}}},b=l.forwardRef((e,t)=>{let{className:i,...r}=e,n=(0,x.r)(1380),s={"what-we-do":(0,x.r)(862),news:(0,x.r)(862),infoSections:(0,x.r)(900)},l={infoSections:m.infoSections.map((e,t)=>(0,a.jsxs)("div",{style:{textAlign:"left",width:"240px",height:"249px",borderRadius:"10px",padding:"16px",border:"1px solid var(--biospheric-lightgrey)"},children:[(0,a.jsx)("h5",{style:{lineHeight:"13.28px",fontWeight:"700"},children:e.title}),(0,a.jsx)("p",{style:{marginTop:"8px",fontSize:"14px",lineHeight:"18.31px",color:"var(--biospheric-grey)"},children:e.text})]},"infoSection-".concat(t)))};return(0,a.jsx)("div",{className:(0,c.cn)(h().usPowerSectorPage,"",i),ref:t,...r,children:[{"data-label":"hero",background:(0,a.jsx)(a.Fragment,{children:(0,a.jsx)("img",{src:m.hero.backgroundImage,style:{height:"100%",width:"100%",objectFit:"cover",opacity:.2},alt:""})}),center:(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)("section",{style:{marginTop:"-100px",fontSize:"48px",fontWeight:700,lineHeight:"67.2px",textAlign:"center"},children:[(0,a.jsx)("h1",{children:m.hero.title}),m.hero.description&&(0,a.jsx)("p",{children:m.hero.description}),m.hero.link&&(0,a.jsx)(p(),{href:m.hero.link.url,target:"_blank",rel:"noopener noreferrer",children:(0,a.jsx)("div",{style:{margin:"24px auto 0 auto"},children:m.hero.link.text})})]})})},...m.exampleSections.map(e=>({"data-label":"exampleSections",style:e.style,left:(0,a.jsx)(a.Fragment,{children:"diagonal"==e.imageShadow?(0,a.jsx)(g.N,{src:e.image}):(0,a.jsx)(g.P,{src:e.image})}),right:(0,a.jsxs)(a.Fragment,{children:[e.subtitle&&(0,a.jsx)("h4",{children:e.subt
1itle}),e.title&&(0,a.jsx)("h2",{children:e.title}),e.text&&(0,a.jsx)("div",{style:{marginTop:"16px"},children:e.text}),e.link&&(0,a.jsx)(p(),{href:e.link.url,target:"_blank",rel:"noopener noreferrer",children:(0,a.jsx)("div",{className:(0,c.cn)("btn-biospheric-blue"),style:{marginTop:"16px"},children:e.link.text})})]})})),{"data-label":"backtests",style:{height:"fit-content",minHeight:"fit-content"},center:(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"24px",alignItems:"center",justifyContent:"center",marginTop:n?"-16px":"-24px"},children:[(0,a.jsx)(g.P,{src:"/backtest_elec.png",container:{style:{maxWidth:n?"100%":"1050px",width:"100%"}},style:{aspectRatio:"auto",objectFit:"contain",objectPosition:"center",width:"100%",height:"auto"}}),(0,a.jsx)(g.P,{src:"/backtest_heat.png",container:{style:{maxWidth:n?"100%":"1050px",width:"100%"}},style:{aspectRatio:"auto",objectFit:"contain",objectPosition:"center",width:"100%",height:"auto"}}),(0,a.jsxs)("h2",{style:{textAlign:"center",marginTop:"48px",marginBottom:n?"192px":"240px"},children:["Hourly forecasts for ",(0,a.jsx)("em",{children:"every"}),"\xa0 U.S. building"]})]})})},{"data-label":"projectSections",style:{height:"fit-content",minHeight:"100vh"},center:(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"48px",textAlign:"left"},children:[m.projectSections.map((e,t)=>(0,a.jsxs)("section",{style:{display:"flex",flexDirection:n?"column":"row",maxWidth:"1050px",width:"100%",gap:n?"10px":"0px",...e.style},children:[(0,a.jsx)("div",{style:{width:n?void 0:"33.3333%",height:"100%"}
1,children:(0,a.jsx)("h4",{children:e.subtitle})}),(0,a.jsxs)("div",{style:{width:n?void 0:"66.6666%"},children:[(0,a.jsx)("h2",{children:e.title}),(0,a.jsx)("div",{style:{marginTop:"16px"},children:e.text})]})]},"project-section-".concat(t))),(0,a.jsxs)("section",{"data-label":"infoSections",style:{display:"flex",flexDirection:n?"column":"row",maxWidth:"1050px",width:"100%",gap:n?"10px":"0px"},children:[(0,a.jsx)("div",{style:{width:n?void 0:"33.3333%"}}),(0,a.jsx)("div",{style:{width:n?void 0:"66.6666%",display:"flex",flexDirection:"row",gap:"20px",flexWrap:"wrap",justifyContent:"center"},children:(0,a.jsx)(f.x,{isMobile:s.infoSections,cards:l.infoSections,autoPlayProps:{playOnInit:!1}})})]})]})},{"data-label":"want-to-work",style:{height:"fit-content",minHeight:"100vh"},center:(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)("div",{className:(0,c.cn)("flex flex-col justify-center"),style:{textAlign:"center",gap:"20px"},children:[(0,a.jsx)("h5",{style:{fontSize:"20px",fontWeight:700},className:(0,c.cn)("font-cabin"),children:m["want-to-join"].title}),(0,a.jsx)("p",{className:(0,c.cn)("text-biospheric-darkgrey"),children:m["want-to-join"].description}),(0,a.jsx)(p(),{href:m["want-to-join"].link.url,children:(0,a.jsx)("div",{style:{margin:"0 auto"},className:(0,c.cn)("btn-biospheric-blue"),children:m["want-to-join"].link.text})})]})})}].map((e,t)=>(0,a.jsx)(o.A,{...e},t))})});function y(){return(0,a.jsxs)("div",{className:(0,c.cn)("h-[100vh] overflow-x-hidden overflow-y-auto","scrollable"),children:[(0,a.jsx)(n.G,{children:(0,a.jsx)(s.l,{})}),(0,a.jsx)(b,{}),(0,a.jsx)(n.G,{children:(0,a.jsx)(r.$,{})})]})}b.displayName="USPowerSectorPage"},9447:function(e){e.exports={usPowerSectorPage:"us-power-sector-page_usPowerSectorPage__NhmNF"}},4778:function(e){e.exports={embla__dots:"carousel-dots_embla__dots__CyZaT",embla__dot:"carousel-dots_embla__dot__WLYjH","embla__dot--selected":"carousel-dots_embla__dot--selected__o8d0E"}}},function(e){e.O(0,[509,328,485,398,888,774,179],function(){return e(e.s=8097)}),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.