PageSourceSearch

https://ee-hotel-henry.netlify.app/network_codes/

html ee-hotel-henry.netlify.app collected 2026-10-03 10:41:05 UTC 38,148 bytes, 409 lines download raw bytes

1<!DOCTYPE html><html prefix="og: http://ogp.me/ns#" lang="en-us"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="google-site-verification" content="E371j3w75EWRQ99dyy2OHEyN8ef3jlZmidDoHKm7N6A"><meta http-equiv="X-UA-Compatible" content="IE=edge"><!-- Font preloading for critical Lato font variants --><link rel="preload" as="font" type="font/woff2" href="/assets/fonts/lato-regular-webfont.woff2" crossorigin><link rel="preload" as="font" type="font/woff2" href="/assets/fonts/lato-light-webfont.woff2" crossorigin><link rel="preload" as="font" type="font/woff2" href="/assets/fonts/lato-bold-webfont.woff2" crossorigin><!-- Font preloading for critical IBM Plex Sans variants --><link rel="preload" as="font" type="font/woff2" href="/assets/fonts/IBMPlexSans-Light.woff2" crossorigin><link rel="preload" as="font" type="font/woff2" href="/assets/fonts/IBMPlexSans-Regular.woff2" crossorigin><link rel="preload" as="font" type="font/woff2" href="/assets/fonts/IBMPlexSans-Bold.woff2" crossorigin><link rel="preload" as="font" type="font/woff2" href="/assets/fonts/IBMPlexSans-Medium.woff2" crossorigin><link rel="preload" as="font" type="font/woff2" href="/assets/fonts/IBMPlexSans-SemiBold.woff2" crossorigin><!-- Font preloading for critical Roboto Slab variants --><link rel="preload" as="font" type="font/woff2" href="/assets/fonts/robotoslab-400.woff2" crossorigin><link rel="preload" as="font" type="font/woff2" href="/assets/fonts/robotoslab-500.woff2" crossorigin><!-- Font preloading for critical IBM Plex Sans variants --><link rel="preload" as="style" href="/assets/styles/local-fonts.css" onload="this.onload=null;this.rel='stylesheet'"><noscript><link rel="stylesheet" href="/assets/styles/local-fonts.css"></noscript><!-- Ensure font loading completes before main CSS -->
1<script>(function() {
2            // Mark as not loaded initially
3            document.documentElement.classList.remove('fonts-loaded');
4
5            if ('fonts' in document) {
6                // Font loading with timeout
7                const fontPromises = [
8                    document.fonts.load('300 16px "Lato"'),
9                    document.fonts.load('400 16px "Lato"'),
10                    document.fonts.load('700 16px "Lato"'),
11                    document.fonts.load('300 16px "IBM Plex Sans"'),
12                    document.fonts.load('400 16px "IBM Plex Sans"'),
13                    document.fonts.load('500 16px "IBM Plex Sans"'),
14                    document.fonts.load('600 16px "IBM Plex Sans"'),
15                    document.fonts.load('700 16px "IBM Plex Sans"'),
16                    document.fonts.load('500 16px "Roboto Slab"'),
17                    document.fonts.load('600 16px "Roboto Slab"')
18                ];
19
20                // Add timeout to prevent indefinite waiting
21                const timeout = new Promise(resolve => setTimeout(resolve, 2500));
22
23                Promise.race([Promise.all(fontPromises), timeout]).then(function() {
24                    document.documentElement.classList.add('fonts-loaded');
25
26                    // Double-check font loading after a brief delay
27                    setTimeout(function() {
28                        document.documentElement.classList.add('fonts-loaded');
29                        // Force comprehensive repaint (only if body exists)
30                        if (document.body) {
31                            document.body.style.fontFamily = 'initial';
32                            document.body.offsetHeight; // Trigger reflow
33                            document.body.style.fontFamily = '';
34                        }
35                    }, 100);
36                });
37            } else {
38                // Fallback for browsers without Font Loading API
39                setTimeout(function() {
40                    document.documentElement.classList.add('fonts-loaded');
41                }, 100);
42            }
43        })();</script>
43<title>Network Codes Home</title><meta property="og:title" content="Network Codes Home"><meta property="og:image" content="https://www.entsoe.eu/Style%20Library/EntsoePublishingBranding/Images/entsoe-logo1.png"><link rel="icon" type="image/svg+xml" href="/assets/graphics/meta/favicon-white.svg"><!-- build:css /assets/styles/main.css --><link rel="stylesheet" href="/assets/styles/main.css"><!-- endbuild --><!-- Matomo -->
43<script>var _paq = window._paq = window._paq || [];
44        /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
45        _paq.push(["setDoNotTrack", true]);
46        _paq.push(["disableCookies"]);
47        _paq.push(['trackPageView']);
48        _paq.push(['enableLinkTracking']);
49        (function() {
50            // Use proxy URL to avoid browser tracking prevention
51            _paq.push(['setTrackerUrl', '/matomo/matomo.php']);
52            _paq.push(['setSiteId', '1']);
53            var d = document,
54                g = d.createElement('script'),
55                s = d.getElementsByTagName('script')[0];
56            g.async = true;
57            // Use proxy for JavaScript file as well
58            g.src = '/matomo/matomo.js';
59            s.parentNode.insertBefore(g, s);
60        })();</script>
60<!-- End Matomo Code --><noscript><!-- build:css /assets/styles/main.css --><link rel="stylesheet" href="/assets/styles/main.css"><!-- endbuild --></noscript><!-- RSS Feed Discovery Links --><link rel="alternate" type="application/rss+xml" title="ENTSO-E News &amp; Updates" href="/rss.xml"><link rel="alternate" type="application/rss+xml" title="ENTSO-E News" href="/rss/news.xml"><link rel="alternate" type="application/rss+xml" title="ENTSO-E Events" href="/rss/events.xml"><link rel="alternate" type="application/rss+xml" title="ENTSO-E Position Papers" href="/rss/positions.xml"></head><body><header class="site-header btop"><div class="row-inner"><a href="/" title="ENTSO-E homepage"><img src="/assets/logo/tagline.svg" alt="ENTSO-E logo" class="mast-logo__image" height="66"></a><nav class="nav-global-secondary"><h2 class="toggle-menu"><a href="#global-menu" title="Show/hide menu" data-hook="global-menu:trigger"><span>Browse</span></a></h2><div class="menu-wrapper"><ul class="global-menu"><li><button href="/network_codes/" class="state-active" data-nav-trigger="network-codes">Network Codes & CEP</button></li><li><button href="/data/" data-nav-trigger="data">Data & Standardisation</button></li><li><button href="/research-and-innovation/" data-nav-trigger="research-and-innovation">Innovation</button></li><li><button href="/outlooks/" data-nav-trigger="outlooks">Outlooks</button></li><li><button href="/regions/" data-nav-trigger="regions">Regions</button></li><li><button href="/publications/" data-nav-trigger="publications">Publications</button></li><li><button href="/about/" data-nav-trigger="about">About</button></li><li class="visually-hidden"><a href="https://contacts.entsoe.eu/Pages/ExtranetPortalHome.aspx" class="button button--achromic login">Login</a></li><li style="display: flex; align-items: center;"><a href="https://www.linkedin.com/company/entso-e" style="display: flex; align-items: center;"><i class="ee-icon-linkedin" style="padding-top: 5px;"></i></a></li><li><div data-hook="react:modal"></div></li></ul></div><!-- MOBILE --><div class="mobile menu-wrapper" data-hook="global-menu:wrapper"><ul class="global-menu"><li><a href="/network_codes/" class="state-active">Network Codes & CEP</a></li><li><a href="/data/">Data & Standardisation</a></li><li><a href="/research-and-innovation/">Innovation</a></li><li><a href="/outlooks/">Outlooks</a></li><li><a href="/regions/">Regions</a></li><li><a href="/publications/">Publications</a></li><li><a href="/about/">About</a></li></ul><div class="mobile--menu-second"><ul class="mobile--menu"><li><a href="https://transparency.entsoe.eu/">Transparency Platform</a></li><li><a href="/data/cim/">Common Information Model</a></li><li><a href="/publications/electronic-data-interchange-edi-library/">Standardisation</a></li><li><a href="/data/map/">EU Grid Map</a></li></ul><ul class="mobile--menu"><li><a href="/news-events/news">News</a></li><li><a href="/news-events/events/">Events</a></li><li><a href="https://careers.entsoe.eu">Careers</a></li><li><a href="/about/inside-entsoe/secretariat/">Our Staff</a></li><li><a href="https://entsoe.sharepoint.com/">Extranet</a></li></ul><ul class="mobile--menu"></ul></div></div><!-- END MOBILE --><!-- NEW --><div id="network-codes-menu" class="network-codes s-menu-wrapper" data-nav-menu="network-codes"><div class="subsection--nav network-codes"><div class="menu"><div class="menu--header"><a href="/network_codes/">Go to Network Codes</a></div><ul class="nav-tier2 new-nav"><li><a href="/network_codes/news/">News</a></li><li><a href="/network_codes/esc/">Stakeholder Committees</a></li><li><a href="https://consultations.entsoe.eu/">Consultations</a></li><li><a href="/active-library/">Active Library</a></li><li><a href="/network_codes/monitoring/">Monitoring & Reports</a></li><li><a href="https://www.entsoe.eu/Network_Codes_Development_Process">Network Codes Development Process</a></li></ul></div><div class="families"><div class="family-col connection"><!-- <strong>Connection</strong> --><ul class=""><li><a href="/network_codes/dcc/" title="Demand Connection Code">DCC</a></li><li>
60<a href="/network_codes/hvdc/" title="High Voltage Direct Current Connections">HVDC</a></li><li><a href="/network_codes/rfg/" title="Requirements for Generators">RFG</a></li></ul></div><div class="family-col operations"><!-- <strong>Operations</strong> --><ul class=""><li><a href="/network_codes/er/" title="Emergency and Restoration">ER</a></li><li><a href="/network_codes/sys-ops/" title="System Operations">SOGL</a></li></ul></div><div class="family-col market"><!-- <strong>Market</strong> --><ul class=""><li><a href="/network_codes/cacm/" title="Capacity Allocation & Congestion Management">CACM</a></li><li><a href="/network_codes/eb/" title="Electricity Balancing">EB</a></li><li><a href="/network_codes/fca/" title="Forward Capacity Allocation">FCA</a></li></ul></div><div class="family-col cep"><!-- <strong>Cep</strong> --><ul class=""><li><a href="/cep/" title="Clean Energy Package">CEP</a></li></ul></div><div class="family-col nccs"><!-- <strong>Nccs</strong> --><ul class=""><li><a href="/network_codes/nccs/" title="Network Code on Cybersecurity">NCCS</a></li></ul></div></div></div></div><div id="data-menu" class="data s-menu-wrapper" data-nav-menu="data"><div class="subsection--nav data"><div class="limiter" style="max-width: 1130px;"><div class="menu--header"><a href="/data/">Go to Data & Standardisation</a></div><ul class="nav-tier2 new-nav"><li><a href="/data/map/">Grid Map</a></li><li><a href="/data/transparency-platform/">Transparency Platform</a></li><li><a href="/data/energy-identification-codes-eic/">EIC Codes</a></li><li><a href="/data/power-stats/">Power Statistics</a></li><li><a href="/ecco-sp/">ECCo SP</a></li><li><a href="/data/opcsta/">OPC / STA</a></li></ul></div></div></div><div id="research-and-innovation-menu" class="research-and-innovation s-menu-wrapper" data-nav-menu="research-and-innovation"><div class="subsection--nav research-and-innovation"><div class="limiter" style="max-width: 1130px;"><div class="menu--header"><a href="/research-and-innovation/">Go to Innovation</a></div><ul class="nav-tier2 new-nav"><li><a href="/research-and-innovation/#projects">Projects</a></li><li><a href="/Technopedia/">Technopedia</a></li><li><a href="/research-and-innovation/#innovation-hub">Innovation Hub</a></li><li><a href="/research-and-innovation/#reports">RDI Reports</a></li></ul></div></div></div><div id="outlooks-menu" class="outlooks s-menu-wrapper" data-nav-menu="outlooks"><div class="subsection--nav outlooks"><div class="limiter" style="max-width: 1130px;"><div class="menu--header"><a href="/outlooks/">Go to Outlooks</a></div><ul class="nav-tier2 new-nav"><li><a href="/outlooks/seasonal">Seasonal</a></li><li><a href="https://www.entsoe.eu/eraa/">ERAA</a></li><li><a href="http://tyndp.entsoe.eu/">Longterm - TYNDP</a></li><li><a href="/outlooks/offshore-hub/">Offshore Hub</a></li><li><a href="https://www.entsos-tyndp-scenarios.eu/">Scenarios</a></li><li><a href="https://tyndp.entsoe.eu/tyndp2018/power-system-2040/">Regional Investment Plans</a></li><li><a href="/outlooks/grid-planning-hub">Grid Planning Hub</a></li></ul></div></div></div><div id="regions-menu" class="regions s-menu-wrapper" data-nav-menu="regions"><div class="subsection--nav regions"><div class="limiter" style="max-width: 1130px;"><div class="menu--header"><a href="/regions/">Go to Regions</a></div><ul class="nav-tier2 new-nav"><li><a href="/major-projects/rscis/">FAQs on Regional Coordination</a></li><li><a href="/network_codes/ccr-regions/">CCR Regions</a></li><li><a href="/bites/ccr-map/">CCR Regions Map</a></li><li><a href="/bites/ccr-core/about/">CCR Core</a></li><li><a href="/bites/ccr-ce/about/">CCR CE</a></li><li><a href="/bites/ccr-in/about/">CCR IN</a></li></ul></div></div></div><div id="publications-menu" class="publications s-menu-wrapper" data-nav-menu="publications"><div class="subsection--nav publications"><div class="limiter" style="max-width: 1130px;"><div class="menu--header"><a href="/publications/">Go to Publications</a></div><ul class="nav-tier2 new-nav"><li><a href="/publications/position-papers/">Position Papers</a></li><li><a href="/outlooks/offshore-development/">Offshore Development</a></li><li><a href="https://vision.entsoe.eu/">Vision</a></li><li><a href="/publications/market-reports/">Market</a></li><li><a href="/publications/research-and-development/">Research & Innovation</a></li><li><a href="/publications/system-development-reports/">Development</a></li><li><a href="http://tyndp.entsoe.eu/">TYNDP</a></li><li><a href="/publications/system-operations-reports/">Operations</a></li><li><a href="/publications/tso-dso/">TSO/DSO</a></li><li><a href="/data/cim/">CIM</a></li></ul></div></div></div><div id="news-menu" class="news s-menu-wrapper" data-nav-menu="news"><div class="subsection--nav news"><div class="limiter" style="max-width: 1130px;"><div class="menu--header"><a href="/news-events/">Go to News</a></div><ul class="nav-tier2 new-nav"><li><a href="/news-events/news/">News</a></li><li><a href="/news-events/events/">Events</a></li><li><a href="/news-events/former-associations/">Former Associations</a></li></ul></div></div></div><div id="about-menu" class="about s-menu-wrapper" data-nav-menu="about"><div class="subsection--nav about"><div class="limiter" style="max-width: 1130px;"><div class="menu--header"><a href="/about/">Go to About</a></div><ul class="nav-tier2 new-nav"><li><a href="/about/market/">Market</a></li><li><a href="/about/research-and-innovation/">Research & Innovation</a></li><li><a href="/about/system-development/">System Development</a></li><li><a href="/about/system-operations/">Operations</a></li><li><a href="/about/information-and-communication-technologies/">Information and Communication Technologies</a></li><li><a href="/about/legal-and-regulatory/">Legal</a></li><li><a href="https://careers.entsoe.eu">Careers</a></li></ul></div></div></div><!-- END NEW --></nav></div></header><div class="subsection--nav"><div class="limiter"><ul class="nav-tier2 new-nav"><li><a href="/network_codes/news/">News</a></li><li><a href="/network_codes/esc/">Stakeholder Committees</a></li><li><a href="https://consultations.entsoe.eu/">Consultations</a></li><li><a href="/active-library/">Active Library</a></li><li><a href="/network_codes/monitoring/">Monitoring & Reports</a></li><li><a href="https://www.entsoe.eu/Network_Codes_Development_Process">Network Codes Development Process</a></li></ul></div></div><!-- CCRs --><!--/ CCRs --><main class="limiter"><div><!-- class="row" --><section class="layout-content clearfix"><nav class="nav-breadcrumbs"><ul class="breadcrumbs"><li><a href="/">Home</a></li><li><a href="/network_codes">Network Codes</a></li></ul></nav><article><div class="page-content prose prose--responsive"><header class="nc-main"><h2>What are Network Codes?</h2><section class="nc-main__intro"><div class="prose prose--responsive"><p>
60Network codes are a set of rules drafted by ENTSO-E, with guidance from the Agency for the Cooperation of Energy Regulators <a href="http://www.acer.europa.eu/" class="link-ext" target="_blank" rel="noopener">ACER</a>, to facilitate the harmonisation, integration and efficiency of the European electricity market. Each network code is an integral part of the drive towards completion of the <a href="https://www.europarl.europa.eu/factsheets/en/sheet/45/internal-energy-market" class="link-ext" target="_blank" rel="noopener">internal energy market</a>, and achieving the European Union’s <a class="link-ext" target="_blank" rel="noopener" href="https://ec.europa.eu/info/strategy/priorities-2019-2024_en">energy objectives of</a>:</p><ul><li>At least 55% cut in greenhouse gas emissions compared to 1990 levels.</li><li>At least a 32% share of renewable energy consumption.</li><li>At least 32.5% energy savings compared with the business-as-usual scenario.</li></ul><p>ENTSO-E also cooperates with the new EU DSO Entity on the drafting of Network Codes and Guidelines notably on <a href="/network_codes/nccs/">cybersecurity</a> and demand side flexibility ( More information on the <a href="/publications/tso-dso/">Memorandum of Understanding between ENTSO-E and the EU DSO Entity</a>)</p><a href="https://eur-lex.europa.eu/legal-content/EN/ALL/?uri=celex%3A32009R0714" class="button button--tertiary-bounded button-link-ext" target="_blank" rel="noopener">EU Regulation 714/2009</a></div></section></header><section class="prose prose--responsive" id="nc-code-families"><div id="nc-families"><h1 class="center">The code families</h1><div class="nc-card__list nc-card__list-grid"><div class="nc-card connection"><h3 class="card__title">Connection</h3><ul class="nc-ul"><li><a href="/network_codes/rfg/" class="link-nc-code">Requirements for Generators</a></li><li><a href="/network_codes/hvdc/" class="link-nc-code">High Voltage Direct Current Connections</a></li><li><a href="/network_codes/dcc/" class="link-nc-code">Demand Connection Code</a></li></ul></div><div class="nc-card operations"><h3 class="card__title">Operations</h3><ul class="nc-ul"><li><a href="/network_codes/sys-ops/" class="link-nc-code">System Operations</a></li><li><a href="/network_codes/er/" class="link-nc-code">Emergency and Restoration</a></li></ul></div><div class="nc-card market"><h3 class="card__title">Market</h3><ul class="nc-ul"><li><a href="/network_codes/fca/" class="link-nc-code">Forward Capacity Allocation</a></li><li><a href="/network_codes/cacm/" class="link-nc-code">Capacity Allocation &amp; Congestion Management</a></li><li><a href="/network_codes/eb/" class="link-nc-code">Electricity Balancing</a></li></ul></div><div class="nc-card cybersecurity"><h3 class="card__title">Cybersecurity</h3><ul class="nc-ul"><li><a href="/network_codes/nccs/" class="link-nc-code">Network Code on Cybersecurity</a></li></ul></div></div></div></section><section class="prose prose--responsive" id="nc-updates"><h4>Latest Updates</h4><article class="nc-news-item"><div class="nc-post-meta"><span>Nov 4, 2025</span> <span class="nc-strong"></span> <span></span></div><a class="nc-nws-title" href="/events/2025/11/04/balancing-platforms-stakeholders-workshop/">Balancing platforms stakeholders' workshop</a></article><article class="nc-news-item"><div class="nc-post-meta"><span>May 19, 2025</span> <span class="nc-strong"></span> <span></span></div><a class="nc-nws-title" href="/events/2025/05/19/entso-e-s-2025-standard-vetting-interoperability-test-event/">ENTSO-E’s 2025 Standard-Vetting Interoperability Test Event</a></article><article class="nc-news-item"><div class="nc-post-meta"><span>Aug 6, 2024</span> <span class="nc-strong">EB</span> <span>BZR</span></div><a class="nc-nws-title" href="/news/2024/08/06/bidding-zone-review-consultative-group-meeting/">Bidding Zone Review Consultative Group Meeting</a></article><article class="nc-news-item"><div class="nc-post-meta"><span>Jul 19, 2024</span> <span class="nc-strong"></span> <span>BZR</span></div><a class="nc-nws-title" href="/news/2024/07/19/launch-of-the-public-consultation-on-the-bidding-zone-review/">Launch of the Public Consultation on the Bidding Zone Review</a></article><article class="nc-news-item"><div class="nc-post-meta"><span>Jun 1, 2024</span> <span class="nc-strong"></span> <span>CGMES</span></div>
60<a class="nc-nws-title" href="/news/2024/06/01/network-code-profiles-extension-to-cgmes-for-regional-coordination-processes-release-2-3-are-now-published/">Network Code profiles extension to CGMES for Regional Coordination Processes release 2.3 are now published</a></article><a href="/network_codes/news/" class="rm">All news on network codes</a></section></div></article></section></div>
60<script>var e = document.querySelectorAll("img[src^='/PublishingImages/']")
61for (var e = document.querySelectorAll("img[src^='/PublishingImages/']"), t = 0; t < e.length; t++)
62                        e[t].src = e[t].src.replace('http://localhost:3000', "https://www.entsoe.eu")</script>
62</main><section class="pad1 clearfix" id="Member-brief"><div class="limiter"><form id="mc-embedded-subscribe-form" action="https://entsoe.us10.list-manage.com/subscribe/post?u=498429987654de03679e453a1&amp;id=da85e6735a" method="post" name="mc-embedded-subscribe-form" class="validate" target="_blank" rel="noopener" novalidate=""><div class="form-row"><div id="pointer" class="hide-mobile"><strong style="color: #333333">GET THE MOST POWERFUL NEWSLETTER IN BRUSSELS</strong></div><div class="form-cell"><div class="form__input-group"><input type="email" value="" name="EMAIL" class="email form__control form__control--medium" id="mce-EMAIL" placeholder="Your email" autocomplete="on"> <span class="form__input-group-button"><input type="button" value="Subscribe" name="subscribe-step1" id="mc-embedded-subscribe" class="button button--secondary"></span></div><div class="field-error" id="email-error">Please enter a valid email address.</div></div></div><div class="form-row"><div style="position: absolute; left: -5000px" aria-hidden="true"><input type="text" name="b_498429987654de03679e453a1_da85e6735a" tabindex="-1" value="" style="color: white"></div><div id="error-message" style="display: none">Please fill in your email address.</div></div><!-- Additional Fields (shown after email submission) --><div class="form-row hidden" id="additional-fields"><div><div class="form__input-group"><label for="mce-FNAME" style="color: white">First Name <span class="required-star">*</span></label> <input type="text" name="FNAME" id="mce-FNAME" class="form__control form__control--medium" placeholder="First Name"><div class="field-error" id="fname-error">Please enter your first name.</div></div><div class="form__input-group"><label for="mce-LNAME" style="color: white">Last Name <span class="required-star">*</span></label> <input type="text" name="LNAME" id="mce-LNAME" class="form__control form__control--medium" placeholder="Last Name"><div class="field-error" id="lname-error">Please enter your last name.</div></div><div class="form__input-group"><label for="mce-ORG" style="color: white">Organisation <span class="required-star">*</span></label> <input type="text" name="ORG" id="mce-ORG" class="form__control form__control--medium" placeholder="Organisation"><div class="field-error" id="org-error">Please enter your organisation.</div></div></div><div><div class="form__input-group form-option"><label for="CONSENT" style="color: white"><input type="hidden" name="CONSENT" value="No"> <input type="checkbox" name="CONSENT" id="CONSENT" value="Yes" style="color: white"> By subscribing, I consent to the processing of my personal data for the purpose of sending the newsletter. <span class="required-star">*</span></label><div class="field-error checkbox-error" id="consent-error">You must consent to data processing to subscribe.</div></div><div class="form__input-group form-option"><label for="DATAPOLICY" style="color: white"><input type="hidden" name="DATAPOLICY" value="No"> <input type="checkbox" name="DATAPOLICY" id="DATAPOLICY" value="Yes" style="color: white"> I read and accept the <a href="https://eepublicdownloads.azureedge.net/clean-documents/LRG/Privacy%20policy/210617_Newsletter%20services%20data%20protection%20policy%20(clean)%20.pdf" style="color: #ffd600" target="_blank" rel="noopener">Data Protection Policy</a> <span class="required-star">*</span></label><div class="field-error checkbox-error" id="datapolicy-error">You must accept the Data Protection Policy to subscribe.</div></div><!-- press releases notifications --><div class="form__input-group form-option" style="color: white"><label for="PRESS" style="color: white"><input type="hidden" name="PRESS" value="No"> <input type="checkbox" name="PRESS" id="PRESS" value="Yes" style="color: white"> Sign up for press updates</label></div><!--/ press releases notifications --><div class="form__input-group-button form-option"><input type="button" value="Complete Subscription" id="mc-complete-subscribe" class="button button--secondary" style="font-weight: 600; padding: 0.5rem 1rem 0.5rem 1rem"></div><div class="field-error" id="form-summary-error" style="display: none"></div></div></div></form></div></section><style>#Member-brief {
63    background-image:
64      url(https://www.entsoe.eu/assets/graphics/layout/grid_background.svg),
65      linear-gradient(to right, #009a93, #243986);
66    background-position:
67      top -100px right calc(50% - 50vw),
68      center center;
69    background-size: calc(120vh), cover;
70    background-repeat: no-repeat;
71    background-attachment: fixed;
72  }
73
74  #pointer {
75    height: 40px;
76    position: relative;
77    background-color: #ffd600;
78    display: grid;
79    place-items: center;
80  }
81  @media only screen and (max-width: 1025px) {
82    #pointer {
83      padding-top: 1%;
84      font-size: 0.8rem;
85    }
86  }
87  #pointer:before {
88    content: '';
89    position: absolute;
90    right: -20px;
91    bottom: 0;
92    width: 0;
93    height: 0;
94    border-left: 20px solid #ffd600;
95    border-top: 20px solid transparent;
96    border-bottom: 20px solid transparent;
97  }
98  .sign-adapted {
99    margin-left: 4%;
100    margin-top: 0.3%;
101  }
102  .button-secondary {
103    font-weight: 400;
104  }
105  form input[type='text'],
106  form input[type='email'] {
107    color: #333;
108  }
109
110  /* ── Validation styles ── */
111  .required-star {
112    color: #ffd600;
113    font-weight: bold;
114  }
115
116  .field-error {
117    display: none;
118    color: #ffd600;
119    font-size: 0.82rem;
120    font-weight: 500;
121    letter-spacing: 0.4px;
122    margin-top: 5px;
123    padding-left: 2px;
124    animation: fadeInError 0.2s ease;
125  }
126
127  .checkbox-error {
128    margin-left: 1.75rem; /* align under checkbox label text */
129  }
130
131  .field-error.visible {
132    display: block;
133  }
134
135  /* Red border on invalid inputs */
136  input.input-invalid {
137    border: 2px solid #ff6b6b !important;
138    background-color: #fff5f5 !important;
139  }
140
141  /* Red outline on invalid checkbox rows */
142  .checkbox-invalid label {
143    outline: 2px solid #ff6b6b;
144    outline-offset: 4px;
145    border-radius: 2px;
146  }
147
148  @keyframes fadeInError {
149    from {
150      opacity: 0;
151      transform: translateY(-4px);
152    }
153    to {
154      opacity: 1;
155      transform: translateY(0);
156    }
157  }
158
159  /* ── Layout ── */
160  .hi {
161    outline: 1px dashed tomato;
162  }
163  .form-row {
164    width: 100%;
165    height: 100%;
166    display: grid;
167    grid-template-columns: 55% 45%;
168    gap: 3rem;
169    position: relative;
170  }
171  .form-cell {
172    display: flex;
173    flex-direction: column;
174    justify-content: center;
175  }
176  div.hidden {
177    opacity: 0;
178    height: 0;
179    overflow: hidden;
180    transition:
181      opacity 0.5s ease,
182      height 0.5s ease;
183  }
184  div.shown {
185    display: grid;
186    opacity: 1;
187    height: auto;
188  }
189  #additional-fields > div {
190    display: flex;
191    flex-direction: column;
192    row-gap: 1rem;
193    padding: 1rem 0;
194    height: 100%;
195  }
196  #additional-fields > div > * {
197    margin-top: auto;
198    padding-left: 1rem;
199  }
200  #additional-fields > div label {
201    display: block;
202    padding-bottom: 6px;
203  }
204  #additional-fields > div .form-option label {
205    display: flex;
206    align-items: flex-start;
207    gap: 0.75rem;
208  }
209  #additional-fields > div .form-option label input {
210    margin-top: 6px;
211  }
212  #error-message {
213    color: #ffd600;
214    font-weight: 400;
215    letter-spacing: 1px;
216    grid-column: 2;
217  }
218  section#Member-brief {
219    transition: padding 1s ease-in-out;
220  }
221  section.newsletter-focussed {
222    padding: 3rem 0 2.5rem 0;
223  }
224
225  @media only screen and (max-width: 768px) {
226    .form-row {
227      grid-template-columns: 1fr;
228      padding-top: 1rem;
229      gap: 1rem;
230    }
231    #additional-fields > div > * {
232      padding-left: 0;
233    }
234    #additional-fields > div {
235      row-gap: 0;
236      padding: 0 0;
237      height: fit-content;
238    }
239    #pointer:before {
240      content: '';
241      display: none;
242    }
243    .form__input-group {
244      padding-top: 1rem;
245      margin-bottom: 0;
246    }
247    .form__input-group-button.form-option {
248      padding-top: 1rem;
249    }
250    .checkbox-error {
251      margin-left: 0;
252    }
253  }</style>
253<script>;(function () {
254    // ── Helpers ────────────────────────────────────────────────
255    function showError(errorEl, inputEl) {
256      errorEl.classList.add('visible')
257      if (inputEl) inputEl.classList.add('input-invalid')
258    }
259
260    function clearError(errorEl, inputEl) {
261      errorEl.classList.remove('visible')
262      if (inputEl) inputEl.classList.remove('input-invalid')
263    }
264
265    function showCheckboxError(errorEl, wrapperEl) {
266      errorEl.classList.add('visible')
267      if (wrapperEl) wrapperEl.classList.add('checkbox-invalid')
268    }
269
270    function clearCheckboxError(errorEl, wrapperEl) {
271      errorEl.classList.remove('visible')
272      if (wrapperEl) wrapperEl.classList.remove('checkbox-invalid')
273    }
274
275    function isValidEmail(val) {
276      return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(val.trim())
277    }
278
279    // ── Step 1: Email → reveal additional fields ────────────────
280    document
281      .getElementById('mc-embedded-subscribe')
282      .addEventListener('click', function () {
283        const emailField = document.getElementById('mce-EMAIL')
284        const emailError = document.getElementById('email-error')
285        const additionalFields = document.getElementById('additional-fields')
286        const memberBrief = document.getElementById('Member-brief')
287
288        clearError(emailError, emailField)
289
290        if (!emailField.value.trim() || !isValidEmail(emailField.value)) {
291          showError(emailError, emailField)
292          emailField.focus()
293          return
294        }
295
296        // Email is valid — reveal step 2
297        additionalFields.classList.remove('hidden')
298        additionalFields.classList.add('shown')
299        this.style.display = 'none'
300        if (memberBrief) memberBrief.classList.add('newsletter-focussed')
301
302        // Scroll the new fields into view on mobile
303        setTimeout(function () {
304          additionalFields.scrollIntoView({
305            behavior: 'smooth',
306            block: 'nearest',
307          })
308        }, 100)
309      })
310
311    // Clear email error on input
312    document.getElementById('mce-EMAIL').addEventListener('input', function () {
313      clearError(document.getElementById('email-error'), this)
314    })
315
316    // ── Step 2: Complete Subscription — full validation ─────────
317    document
318      .getElementById('mc-complete-subscribe')
319      .addEventListener('click', function () {
320        let isValid = true
321
322        // --- Text fields ---
323        const fields = [
324          { id: 'mce-FNAME', errorId: 'fname-error' },
325          { id: 'mce-LNAME', errorId: 'lname-error' },
326          { id: 'mce-ORG', errorId: 'org-error' },
327        ]
328
329        fields.forEach(function (f) {
330          const input = document.getElementById(f.id)
331          const error = document.getElementById(f.errorId)
332          if (!input.value.trim()) {
333            showError(error, input)
334            isValid = false
335          } else {
336            clearError(error, input)
337          }
338        })
339
340        // --- Required checkboxes ---
341        const consentCb = document.getElementById('CONSENT')
342        const consentError = document.getElementById('consent-error')
343        const consentWrap = consentCb.closest('.form-option')
344
345        const dataCb = document.getElementById('DATAPOLICY')
346        const dataError = document.getElementById('datapolicy-error')
347        const dataWrap = dataCb.closest('.form-option')
348
349        if (!consentCb.checked) {
350          showCheckboxError(consentError, consentWrap)
351          isValid = false
352        } else {
353          clearCheckboxError(consentError, consentWrap)
354        }
355
356        if (!dataCb.checked) {
357          showCheckboxError(dataError, dataWrap)
358          isValid = false
359        } else {
360          clearCheckboxError(dataError, dataWrap)
361        }
362
363        // --- If all valid, submit the real form ---
364        if (isValid) {
365          document.getElementById('mc-embedded-subscribe-form').submit()
366        } else {
367          // Scroll to first visible error
368          const firstError = document.querySelector('.field-error.visible')
369          if (firstError) {
370            firstError.scrollIntoView({
371              behavior: 'smooth',
372              block: 'center',
373            })
374          }
375        }
376      })
377
378    // ── Live clearing of text-field errors on input ─────────────
379    ;['mce-FNAME', 'mce-LNAME', 'mce-ORG'].forEach(function (id) {
380      const errorMap = {
381        'mce-FNAME': 'fname-error',
382        'mce-LNAME': 'lname-error',
383        'mce-ORG': 'org-error',
384      }
385      document.getElementById(id).addEventListener('input', function () {
386        if (this.value.trim())
387          clearError(document.getElementById(errorMap[id]), this)
388      })
389    })
390
391    // ── Live clearing of checkbox errors on change ───────────────
392    document.getElementById('CONSENT').addEventListener('change', function () {
393      if (this.checked)
394        clearCheckboxError(
395          document.getElementById('consent-error'),
396          this.closest('.form-option')
397        )
398    })
399
400    document
401      .getElementById('DATAPOLICY')
402      .addEventListener('change', function () {
403        if (this.checked)
404          clearCheckboxError(
405            document.getElementById('datapolicy-error'),
406            this.closest('.form-option')
407          )
408      })
409  })()</script>
409<a href="javascript:" id="return-to-top"><i class="gliph ee-icon-chevron-up"></i></a><footer class="pad2y fill-light clearfix footer-main"><div class="limiter"><div class="footer__advert hide-mobile"><img src="/assets/img/teamwork.jpg"></div><div class="footer__right"><ul class="footer-links"><li><h3 class="light">Our Work</h3></li><li><a href="/network_codes/">Network Codes</a></li><li><a href="/outlooks/">Outlooks</a></li><li><a href="https://transparency.entsoe.eu/">Transparency Platform</a></li><li><a href="/regions/">Power Regions</a></li><li><a href="/data/cim/">Common Information Model</a></li><li><a href="/publications/position-papers/">Position Papers</a></li><li><a href="/publications/electronic-data-interchange-edi-library/">Standardisation</a></li><li><a href="/data/map/">EU Grid Map</a></li></ul><ul class="footer-links"><li><h3 class="light">Association</h3></li><li><a href="/about/">About</a></li><li><a href=""></a></li><li><a href="/news-events/news">News</a></li><li><a href="/news-events/events/">Events</a></li><li><a href="/about/inside-entsoe/members/">Members</a></li><li><a href="https://careers.entsoe.eu">Careers</a></li><li><a href="/about/inside-entsoe/governance">Governance</a></li><li><a href="/about/inside-entsoe/secretariat/">Our Staff</a></li><li><a href="/contact">Contact</a></li><li><a href="https://entsoe.sharepoint.com/">Extranet</a></li></ul><ul class="footer-links"><li><h3 class="light">Stay updated</h3></li><li><a target="_blank" rel="noopener" href="https://www.linkedin.com/company/entso-e" class="linkedin-icon"><svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M19,19H16V13.7A1.5,1.5 0 0,0 14.5,12.2A1.5,1.5 0 0,0 13,13.7V19H10V10H13V11.2C13.5,10.36 14.59,9.8 15.5,9.8A3.5,3.5 0 0,1 19,13.3M6.5,8.31C5.5,8.31 4.69,7.5 4.69,6.5A1.81,1.81 0 0,1 6.5,4.69C7.5,4.69 8.31,5.5 8.31,6.5A1.81,1.81 0 0,1 6.5,8.31M8,19H5V10H8M20,2H4C2.89,2 2,2.89 2,4V20A2,2 0 0,0 4,22H20A2,2 0 0,0 22,20V4C22,2.89 21.1,2 20,2Z"/></svg> LinkedIn</a></li><li><a target="_blank" rel="noopener" href="https://www.youtube.com/user/ENTSOE" class="youtube-icon"><svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M10,16.5V7.5L16,12M20,4.4C19.4,4.2 15.7,4 12,4C8.3,4 4.6,4.19 4,4.38C2.44,4.9 2,8.4 2,12C2,15.59 2.44,19.1 4,19.61C4.6,19.81 8.3,20 12,20C15.7,20 19.4,19.81 20,19.61C21.56,19.1 22,15.59 22,12C22,8.4 21.56,4.91 20,4.4Z"/></svg> YouTube</a></li></ul></div></div></footer><footer class="global-footer footer-bottom"><div class="footer-copy">&copy; 2009-2026&nbsp; ENTSO-E</div><div class="footer-text"><a href="/sitemap/">Sitemap</a> <a href="/suppliers/">Suppliers</a> <a href="/about/legal-and-regulatory/disclaimer">Disclaimer</a> <a href="/website/privacy-policy">Privacy Policy</a> <a href="/about/legal-and-regulatory/cookie">Cookie Policy</a> <a href="/about/whistleblowing-policy">Whistleblowing Policy</a> <span>Website feedback to <a href="mailto:[email protected]">[email protected]</a></span></div></footer>
409<script type="text/javascript"></script>
409<!-- build:js /assets/scripts/vendor.js -->
409<script src="/assets/scripts/vendor.js"></script>
409<!-- endbuild --><!-- build:js /assets/scripts/bundle.js -->
409<script src="/assets/scripts/bundle.js"></script>
409<!-- endbuild --></body></html>

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.