<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>pvgis.com - PVGIS24 CALCULATOR</title>
<meta name="description" content="Easily calculate solar energy potential and visualize it with PVGIS24 mapping tool. Access interactive maps, precise solar data, and advanced tools to optimize your solar project">
<meta name="robots" content="index,follow">
<meta name="viewport" content="width=device-width, initial-scale=1.0 user-scalable=yes">
<link rel="canonical" href="https://pvgis.com">
<link rel="alternate" hreflang="en" href="https://pvgis.com/">
<link rel="alternate" hreflang="fr" href="https://pvgis.com/fr">
<link rel="alternate" hreflang="de" href="https://pvgis.com/de">
<link rel="alternate" hreflang="zh" href="https://pvgis.com/zh">
<link rel="alternate" hreflang="es" href="https://pvgis.com/es">
<link rel="alternate" hreflang="hi" href="https://pvgis.com/hi">
<link rel="alternate" hreflang="ur" href="https://pvgis.com/ur">
<link rel="alternate" hreflang="ar" href="https://pvgis.com/ar">
<link rel="alternate" hreflang="pt" href="https://pvgis.com/pt">
<link rel="alternate" hreflang="nl" href="https://pvgis.com/nl">
<link rel="alternate" hreflang="ru" href="https://pvgis.com/ru">
<link rel="alternate" hreflang="ro" href="https://pvgis.com/ro">
<link rel="alternate" hreflang="it" href="https://pvgis.com/it">
<link rel="alternate" hreflang="bn" href="https://pvgis.com/bn">
<link rel="alternate" hreflang="ja" href="https://pvgis.com/ja">
<link rel="alternate" hreflang="id" href="https://pvgis.com/id">
<link rel="alternate" hreflang="tr" href="https://pvgis.com/tr">
<link rel="alternate" hreflang="ko" href="https://pvgis.com/ko">
<link rel="alternate" hreflang="af" href="https://pvgis.com/af">
<link rel="alternate" hreflang="sq" href="https://pvgis.com/sq">
<link rel="alternate" hreflang="am" href="https://pvgis.com/am">
<link rel="alternate" hreflang="hy" href="https://pvgis.com/hy">
<link rel="alternate" hreflang="az" href="https://pvgis.com/az">
<link rel="alternate" hreflang="eu" href="https://pvgis.com/eu">
<link rel="alternate" hreflang="be" href="https://pvgis.com/be">
<link rel="alternate" hreflang="bs" href="https://pvgis.com/bs">
<link rel="alternate" hreflang="bg" href="https://pvgis.com/bg">
<link rel="alternate" hreflang="ca" href="https://pvgis.com/ca">
<link rel="alternate" hreflang="co" href="https://pvgis.com/co">
<link rel="alternate" hreflang="hr" href="https://pvgis.com/hr">
<link rel="alternate" hreflang="cs" href="https://pvgis.com/cs">
<link rel="alternate" hreflang="da" href="https://pvgis.com/da">
<link rel="alternate" hreflang="eo" href="https://pvgis.com/eo">
<link rel="alternate" hreflang="et" href="https://pvgis.com/et">
<link rel="alternate" hreflang="fi" href="https://pvgis.com/fi">
<link rel="alternate" hreflang="fy" href="https://pvgis.com/fy">
<link rel="alternate" hreflang="gl" href="https://pvgis.com/gl">
<link rel="alternate" hreflang="ka" href="https://pvgis.com/ka">
<link rel="alternate" hreflang="el" href="https://pvgis.com/el">
<link rel="alternate" hreflang="gu" href="https://pvgis.com/gu">
<link rel="alternate" hreflang="ht" href="https://pvgis.com/ht">
<link rel="alternate" hreflang="ha" href="https://pvgis.com/ha">
<link rel="alternate" hreflang="hu" href="https://pvgis.com/hu">
<link rel="alternate" hreflang="is" href="https://pvgis.com/is">
<link rel="alternate" hreflang="ig" href="https://pvgis.com/ig">
<link rel="alternate" hreflang="ga" href="https://pvgis.com/ga">
<link rel="alternate" hreflang="kn" href="https://pvgis.com/kn">
<link rel="alternate" hreflang="kk" href="https://pvgis.com/kk">
<link rel="alternate" hreflang="km" href="https://pvgis.com/km">
<link rel="alternate" hreflang="ku" href="https://pvgis.com/ku">
<link rel="alternate" hreflang="ky" href="https://pvgis.com/ky">
<link rel="alternate" hreflang="lo" href="https://pvgis.com/lo">
<link rel="alternate" hreflang="la" href="https://pvgis.com/la">
<link rel="alternate" hreflang="lv" href="https://pvgis.com/lv">
<link rel="alternate" hreflang="lt" href="https://pvgis.com/lt">
<link rel="alternate" hreflang="lb" href="https://pvgis.com/lb">
<link rel="alternate" hreflang="mk" href="https://pvgis.com/mk">
<link rel="alternate" hreflang="mg" href="https://pvgis.com/mg">
<link rel="alternate" hreflang="ms" href="https://pvgis.com/ms">
<link rel="alternate" hreflang="ml" href="https://pvgis.com/ml">
<link rel="alternate" hreflang="mt" href="https://pvgis.com/mt">
<link rel="alternate" hreflang="mi" href="https://pvgis.com/mi">
<link rel="alternate" hreflang="mr" href="https://pvgis.com/mr">
<link rel="alternate" hreflang="mn" href="https://pvgis.com/mn">
<link rel="alternate" hreflang="my" href="https://pvgis.com/my">
<link rel="alternate" hreflang="ne" href="https://pvgis.com/ne">
<link rel="alternate" hreflang="no" href="https://pvgis.com/no">
<link rel="alternate" hreflang="ny" href="https://pvgis.com/ny">
<link rel="alternate" hreflang="ps" href="https://pvgis.com/ps">
<link rel="alternate" hreflang="fa" href="https://pvgis.com/fa">
<link rel="alternate" hreflang="pl" href="https://pvgis.com/pl">
<link rel="alternate" hreflang="pa" href="https://pvgis.com/pa">
<link rel="alternate" hreflang="sm" href="https://pvgis.com/sm">
<link rel="alternate" hreflang="gd" href="https://pvgis.com/gd">
<link rel="alternate" hreflang="sr" href="https://pvgis.com/sr">
<link rel="alternate" hreflang="st" href="https://pvgis.com/st">
<link rel="alternate" hreflang="sn" href="https://pvgis.com/sn">
<link rel="alternate" hreflang="sd" href="https://pvgis.com/sd">
<link rel="alternate" hreflang="si" href="https://pvgis.com/si">
<link rel="alternate" hreflang="sk" href="https://pvgis.com/sk">
<link rel="alternate" hreflang="sl" href="https://pvgis.com/sl">
<link rel="alternate" hreflang="so" href="https://pvgis.com/so">
<link rel="alternate" hreflang="su" href="https://pvgis.com/su">
<link rel="alternate" hreflang="sw" href="https://pvgis.com/sw">
<link rel="alternate" hreflang="sv" href="https://pvgis.com/sv">
<link rel="alternate" hreflang="tl" href="https://pvgis.com/tl">
<link rel="alternate" hreflang="tg" href="https://pvgis.com/tg">
<link rel="alternate" hreflang="ta" href="https://pvgis.com/ta">
<link rel="alternate" hreflang="te" href="https://pvgis.com/te">
<link rel="alternate" hreflang="th" href="https://pvgis.com/th">
<link rel="alternate" hreflang="uk" href="https://pvgis.com/uk">
<link rel="alternate" hreflang="uz" href="https://pvgis.com/uz">
<link rel="alternate" hreflang="vi" href="https://pvgis.com/vi">
<link rel="alternate" hreflang="cy" href="https://pvgis.com/cy">
<link rel="alternate" hreflang="xh" href="https://pvgis.com/xh">
<link rel="alternate" hreflang="yi" href="https://pvgis.com/yi">
<link rel="alternate" hreflang="yo" href="https://pvgis.com/yo">
<link rel="alternate" hreflang="zu" href="https://pvgis.com/zu">
<link rel="alternate" hreflang="x-default" href="https://pvgis.com/">
<meta property="og:title" content="PVGIS24 CALCULATOR">
<meta property="og:description" content="Easily calculate solar energy potential and visualize it with PVGIS24 mapping tool. Access interactive maps, precise solar data, and advanced tools to optimize your solar project">
<meta property="og:url" content="https://pvgis.com">
<meta property="og:type" content="website"><meta property="og:image" content="https://cdn.pvgis.com/images/logo.png" />
<meta property="og:image:alt" content="Logo PVGIS" />
<link rel="apple-touch-icon" sizes="180x180" href="https://pvgis.com/assets/images/icon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://pvgis.com/assets/images/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://pvgis.com/assets/images/icon/favicon-16x16.png">
<link rel="manifest" href="https://pvgis.com/assets/images/icon/site.webmanifest">
<link rel="preload" as="style" onload="this.rel='stylesheet'" href="https://pvgis.com/assets/min-css/jquery_ui.min.css?v=140320251017">
<link rel="stylesheet" href="https://pvgis.com/assets/min-css/normalize.min.css?v=140320251017">
<link rel="preload" as="style" onload="this.rel='stylesheet'" href="https://pvgis.com/assets/min-css/bootstrap.min.css?v=140320251017">
<link rel="preload" as="style" onload="this.rel='stylesheet'" href="https://pvgis.com/assets/min-css/fonts.css?v=140320251017">
<link rel="stylesheet" href="https://pvgis.com/assets/min-css/width_grid.css?v=140320251017">
<link rel="stylesheet" href="https://pvgis.com/assets/min-css/loader.css?v=140320251017">
<link rel="preload" as="style" onload="this.rel='stylesheet'" href="https://pvgis.com/assets/min-css/toastr.css?v=140320251017">
<link rel="stylesheet" href="https://pvgis.com/assets/min-css/color.css?v=140320251017">
<link rel="stylesheet" href="https://pvgis.com/assets/min-css/popup.css?v=140320251017">
<link rel="stylesheet" href="https://pvgis.com/assets/min-css/cookieconsent.css?v=140320251017">
<link rel="stylesheet" href="https://pvgis.com/assets/min-css/header.css?v=140320251017">
<link rel="stylesheet" href="https://pvgis.com/assets/min-css/footer.css?v=140320251017">
<link rel="stylesheet" href="https://pvgis.com/assets/min-css/account.css?v=140320251017">
<link rel="stylesheet" href="https://pvgis.com/assets/min-css/custom_radio_checkbox.css?v=140320251017">
<link rel="stylesheet" href="https://pvgis.com/assets/css/intlTelInput.min.css?v=140320251017">
<link rel="preload" as="style" onload="this.rel='stylesheet'" href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/css/toastr.min.css">
<link rel="preload" as="style" onload="this.rel='stylesheet'" href="https://cdn.jsdelivr.net/gh/lipis/flag-icons@7.0.0/css/flag-icons.min.css">
<link rel="preload" as="style" onload="this.rel='stylesheet'" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<link rel="preload" as="style" onload="this.rel='stylesheet'" href="https://cdn.pvgis.com/assets/css/bootstrap-icons/bootstrap-icons-1-11.css">
<link rel="preload" as="style" onload="this.rel='stylesheet'" href='https://pvgis.com/assets/min-css/account_menu.css?v=140320251017' ><link rel="preload" as="style" onload="this.rel='stylesheet'" href='https://pvgis.com/assets/min-css/extranet_dashboard.main.css?v=140320251017' ><link rel="preload" as="style" onload="this.rel='stylesheet'" href='https://pvgis.com/assets/min-css/information_photovoltaic.css?v=140320251017' ><link rel="preload" as="style" onload="this.rel='stylesheet'" href='https://pvgis.com/assets/min-css/pdf_editor.css?v=140320251017' ><link rel="preload" as="style" onload="this.rel='stylesheet'" href='https://pvgis.com/assets/min-css/pvgis24.css?v=140320251017' ><link rel="preload" as="style" onload="this.rel='stylesheet'" href='https://pvgis.com/assets/min-css/horizon_comp.css?v=140320251017' ><link rel="preload" as="style" onload="this.rel='stylesheet'" href='https://pvgis.com/assets/min-css/pricing.css?v=140320251017' ><link rel="preload" as="style" onload="this.rel='stylesheet'" href='https://pvgis.com/assets/min-css/subscription_modal.css?v=140320251017' ><link rel="preload" as="style" onload="this.rel='stylesheet'" href='https://pvgis.com/assets/min-css/log_to_pdf_modal.css?v=140320251017' ><link rel="preload" as="style" onload="this.rel='stylesheet'" href='https://pvgis.com/assets/min-css/login.css?v=140320251017' ><link rel="preload" as="style" onload="this.rel='stylesheet'" href='https://pvgis.com/assets/min-css/register.css?v=140320251017' ><link rel="preload" as="style" onload="this.rel='stylesheet'" href='https://pvgis.com/assets/min-css/components/dropdown-select.css?v=140320251017' > <style>
</style>
<script>
window.env = {
UI_BASE_URL: "https://pvgis.com",
AUTH_API_URL: "https://auth.pvgis.com",
PVGIS_AUTH_API: "https://auth.pvgis.com",
BASE_URL: "https://api.pvgis.com",
TRANSLATION_API_URL: "https://ts.pvgis.com",
PRINT_URL: "https://print.pvgis.com/pvgis",
MAP_LAYER_URL: "https://gisco-services.ec.europa.eu/maps/tiles/OSMCartoBackground/EPSG3857/{z}/{x}/{y}.png",
LABEL_LAYER_URL: "https://gisco-services.ec.europa.eu/maps/tiles/OSMCartoLabels/EPSG3857/{z}/{x}/{y}.png",
SENTINEL_LAYER_URL: "https://tiles.maps.eox.at/",
SATELLITE_LAYER_URL: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
SOLAR_LAYER_URL: "https://re.jrc.ec.europa.eu/pvg_tiles/api5_2/{z}/{x}/{-y}.png",
ELEVATION_URL: "https://api.open-meteo.com/v1/elevation?",
GEOCODE_URL: "https://gisco-services.ec.europa.eu/api?lang=en&limit=1&q=",
GA_MEASUREMENT_ID: "G-7160PCEY5S",
KISS_2_PVGIS: "https://kiss2pvgis.com",
SOLAR_DROP_SHIPPING: "https://solardropshipping.com",
CMS_URL: "https://cms.pvgis.com/content-management-system",
CURRENT_CLIENT_IP: "3.237.223.94",
COUNTRY_LIST: "https://restcountries.com/v3.1/all",
PRODUCTION: true,
FILE_UPLOAD_URL: "https://fs.pvgis.com",
BROADCAST_URL: "https://bs.pvgis.com",
BP_BASE_URL: "https://bp.pvgis.com",
EXCHANGE_RATE_URL: "https://cs.pvgis.com",
LATEST_PVGIS_API_VERSION: "5.3",
MINIFY_CSS_JS: true,
CDN_URL: "https://cdn.pvgis.com",
SETTING_URL: "https://cfg.pvgis.com",
STRIPE_PUBLISHABLE_KEY: "pk_live_51Psh8RCNxPSZy3wjNk3YeGrTrJVP2vKEonxodiALZYaYhCbpukHxWITjoFqbaH5DxHhUx2ZuJNqRdFJzrwZH8eo800cpfHoWeG",
RESOURCE_VERSION: "140320251017",
GOOGLE_LABELS_LAYER_LINK: "https://mt1.google.com/vt/lyrs=h&x={x}&y={y}&z={zoom}",
GOOGLE_SATELLITE_LAYER_LINK: "https://khms2.google.com/kh/v=991?x={x}&y={y}&z={zoom}",
GOOGLE_MAPS_API_KEY: "AIzaSyBGwuAzneXJqwq8ZQ4oJFb9-crInpddy2E",
GOOGLE_STATIC_MAPS_URL: "https://maps.googleapis.com/maps/api/staticmap?center={lat},{lng}&zoom={zoom}&size={size}&maptype={mapTypeId}&markers=color:red%7Clabel:+%7C{markerLat},{markerLng}&key=AIzaSyBGwuAzneXJqwq8ZQ4oJFb9-crInpddy2E",
GOOGLE_GEOCODE_URL: "https://maps.googleapis.com/maps/api/geocode/json?address={city},{country}&key=AIzaSyBGwuAzneXJqwq8ZQ4oJFb9-crInpddy2E",
GOOGLE_TIMEZONE_URL: "https://maps.googleapis.com/maps/api/timezone/json?language=es&location={lat},{lng}×tamp={timestamp}&key=AIzaSyBGwuAzneXJqwq8ZQ4oJFb9-crInpddy2E",
ENABLE_STATIC_RESULTS_MAP: "true" === "true",
GOOGLE_MAPS_MAP_ID: "e1b4b31e9c1e44e9",
REDIRECT_TO_INVITATION_FORM_AT: null,
PVGIS_API_VERSION: "5.3",
PVGIS_API_DATABASES: "PVGIS-SARAH3,PVGIS-ERA5",
PVGIS_LEGACY_API_VERSION: "5.2",
PVGIS_LEGACY_API_DATABASES: "PVGIS-SARAH2,PVGIS-ERA5"
};
window.simulatorPvgisMeta = {
apiVersion: "5.3",
databases: "PVGIS-SARAH3,PVGIS-ERA5".split(',')
};
window.clientIpInfo = {"countryName":"United States","countryCode":"US","lat":39.0438,"lon":-77.4874,"timezone":"America\/New_York","status":"success"};
</script>
<script>
let isConnected = false;
const _SESSION = {};
function isSafari() {
return /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
}
function isEpiphany() {
return /epiphany/i.test(navigator.userAgent);
}
if(isSafari() || isSafari()) {
addCSSLinkDynamically("safari.css");
}
function addCSSLinkDynamically(cssFile) {
let existingLink = document.querySelector(`link[href*="${cssFile}"]`);
if (existingLink) return;
let linkElem = document.createElement('link');
linkElem.rel = 'stylesheet';
linkElem.href = `https://pvgis.com/assets/min-css/${cssFile}?v=140320251017` ;
document.head.appendChild(linkElem);
}
</script>
</head><body>
<div class="cssloader-container">
<div class="cssloader-speeding-wheel"></div>
<p>
<!-- <img width="285" height="44" src="http://ssdg.mu/wp-content/uploads/2021/08/cropped-logo-ssdg.mu_.png" alt="ssdg.mu"> -->
PVGIS.COM
</p>
<p id="custom-loader-text" class="custom-loader-text">
<span id="custom-loader-text-content">
Loading simulation </span>
<span class="dots">
<span>.</span>
<span>.</span>
<span>.</span>
</span>
</p>
</div>
<div id="loadingPdf"></div>
<div class="main-content">
<div class="header" id="header">
<div class="header-top">
<div class="container-fluid c-header">
<div class="menu-btn-container">
<button class="menu-btn" aria-label="humbergerMenu"><i class="fas fa-bars"></i></button>
</div>
<div class="logo-content">
<div class="logo-title">
<a href="/" data-cms-link id="nav-link" class="logo-extranet">
<img src="/assets/images/icon/logo_extranet_pvgis.com.png" alt="Logo PVGIS.COM" srcset="">
</a>
</div>
<div class="description-container">
<p class="title-header">PHOTOVOLTAIC GEOGRAPHICAL INFORMATION SYSTEM </p>
</div>
</div>
<div class="h-top-right">
<div class="side-web-menu font-medium">
<div class="side-menu-item-lang">
<span class="lang-label">
<span class="custom-span lang-selected">
en
</span>
<i class="fas fa-sort-down icon icon-select-lang"></i>
</span>
<div class="lang-popover">
<div class="back-lang">
<span> <i class="fas fa-arrow-left"></i> <span class="back-button"></span></span>
</div>
<input type="text" id="searchLang" class="more-lang-input" placeholder="Search">
<div class="lang-options">
<!-- Generé dynamiquement les langues -->
<div class="more-lang-option more-languages">
<span> <i class="fas fa-ellipsis-h"></i> <span>More Languages</span></span>
</div>
</div>
</div>
<div class="dummy-link">
</div>
</div>
<div class="account-menu-container account-menu-large">
<a href="/register" class="btn btn-outline-light">Register</a>
<a href="/login" class="btn btn-outline-light">Login</a>
</div>
<div class="link-simulation-intranet">
<a href="/" data-cms-link rel="noopener noreferrer">
<button class="btn btn-warning text-uppercase">pvgis24</button>
</a>
<a href="/pvgis-5-3" data-cms-link rel="noopener noreferrer">
<button class="btn btn-primary text-uppercase">pvgis
5.3</button>
</a>
</div>
</div>
</div>
</div>
</div>
<div class="content-bottom">
<div class="header-bottom">
<div class="h-nav-container font-bold">
<div class="container-fluid selected-nav-container">
<!-- <div class="seleted-nav"></div> -->
<div class="side-menu-item-lang">
<span class="lang-label">
<span class="custom-span lang-selected">eng</span>
<i class="fas fa-sort-down icon icon-select-lang"></i>
</span>
<div class="lang-popover">
</div>
<div class="more-lang-popover"></div>
</div>
<div class="account-menu-container account-menu-mobile">
<a href="/register" class="btn btn-outline-light">
Register </a>
<a href="/login" class="btn btn-outline-light">
Login </a>
</div>
<div class="system-link-container">
<a class="nav-system-link" href="/" data-cms-link rel="noopener noreferrer">
<button class="btn btn-warning text-uppercase">pvgis24</button>
</a>
<a class="nav-system-link" href="/pvgis-5-3" data-cms-link rel="noopener noreferrer">
<button class="btn btn-primary text-uppercase">pvgis
5.3</button>
</a>
</div>
</div>
<nav class="container-fluid nav-web-menu">
<ul class="navigation-menu-container nav-content">
<li class="nav-button">
<a class="nav-menu-item h-default-btn" href="/pvgis-about" data-cms-link>
<span data-ts="pvgis.header.pvgis_24">PVGIS24</span>
</a>
</li>
<li class="nav-button">
<a class="nav-menu-item btn btn-warning h-default-btn" href="/solar-calculator" data-cms-link>
<span data-ts="pvgis.calculator.title">PVGIS CALCULATOR</span>
</a>
</li>
<li class="nav-button">
<a class="nav-menu-item h-default-btn" href="/subscription" data-cms-link>
<span data-ts="pvgis.subscription.label">Subscription</span>
</a>
</li>
</ul>
</ul>
<div class="text-uppercase nav-content active-users-ga" style="white-space: nowrap;">
- UTILISATEURS ACTIFS*
</div>
</nav>
</div>
</div>
</div>
<div class="extra-header">
<div class="text-uppercase nav-content active-users-ga" style="white-space: nowrap;">
- UTILISATEURS ACTIFS*
</div>
</div>
<div class="menu-mobile">
<div class="menu-mobile-container">
<div class="menu-m-header">
<div class="m-logo-container">
<a href="/" data-cms-link>
<img class="logo-internet" loading="lazy" width="200" src="/assets/images/icon/logo_internet_pvgis.com.png" alt="Logo PVGIS.COM" srcset="">
</a>
<button><i class="fas fa-times"></i></button>
</div>
<div class="m-title">
PHOTOVOLTAIC GEOGRAPHICAL INFORMATION SYSTEM </div>
</div>
<div class="menu-mobile-body">
<ul class="navigation-menu-container font-bold">
<li class="nav-button">
<a class="nav-menu-item h-default-btn" href="/pvgis-about" data-cms-link>
<span data-ts="pvgis.header.pvgis_24">PVGIS24</span>
</a>
</li>
<li class="nav-button">
<a class="nav-menu-item btn btn-warning h-default-btn" href="/solar-calculator" data-cms-link>
<span data-ts="pvgis.calculator.title">PVGIS CALCULATOR</span>
</a>
</li>
<li class="nav-button">
<a class="nav-menu-item h-default-btn" href="/subscription" data-cms-link>
<span data-ts="pvgis.subscription.label">Subscription</span>
</a>
</li>
</ul>
<div class="separate"></div>
<ul class="side-menu-container font-medium"></ul>
</div>
</div>
</div>
<script>var customerIdToast = '';</script><div id="toast" class="toast-view-container">
<div class="toast-view">
<div class="toast-body">
<div class="toast-header">
<strong id="toast-title">
Confirm profile information </strong>
<!-- <button type="button" class="btn-close-toast" onclick="hideToast()">×</button> -->
</div>
<span>
<p id="toast-message">
Please Confirm some Profile Information before proceeding </p>
</span>
</div>
<div class="toast-footer" id="confirm-toast">
<button type="button" class="btn-confirm-toast" onclick="redirectToAccountInfo()">
<span>
Confirm </span>
</button>
</div>
</div>
</div> <script src="https://pvgis.com/assets/min-js/toast/toast.js?v=140320251017">
</script>
</div>
<div class="container-fluid width-grid w-full">
<div class="container pvgis-24 my-20">
<h1 class="p-24-title primary-blue uppercase">
PVGIS24 CALCULATOR </h1>
<p id="notAllowedLocationMsgContainer"></p>
<div class="p-24-calculator-container" id="p-24-calculator-container-id">
<div class="p-24-location-container p-24-cal-box">
<div class="p-24-top">
<div class="barre bg-blue">
<h2 class="primary-blue uppercase">geolocation</h2>
</div>
<div class="picto">
<img src="https://cdn.pvgis.com/images/loading-ps.svg"
data-src="https://cdn.pvgis.com/images/pvgis24/location-icon.png?v=18102024"
class="lazyLoad lazy-load-img" alt="picto location">
</div>
</div>
<form id="file-form" class="p-24-form">
<div class="p-24-location">
<div id="map-placeholder">
</div>
<div id="map" class="d-none">
</div>
</div>
<div class="input-container-left">
<p class="top-20"><span class="blue-2 font-18 font-700">Production point location</span></p>
<div class="p-24-location-input-container">
<div class="p-24-l-input-left">
<div class="radio-custom">
</div>
</div>
<div class="p-24-input-right" id="input-container">
</div>
<div class="p-24-input-right" id="lat-lon-container">
<div>
<label class="p-24-black" for="latitude" >Latitude</label>
<input class="p-24-black" id="latitude" name="latitude" placeholder="Latitude" type="text">
</div>
<div>
<label class="p-24-black" for="longitude" >Longitude</label>
<input class="p-24-black" id="longitude" name="longitude" placeholder="Longitude" type="text">
</div>
</div>
</div>
<div class="input-container p-24-input-left locked_n_b">
<p class="top-20"><span class="blue-2 font-18 font-700">Solar Projects Name</span></p>
<input type="text" class="solar_project_folder_name_input text-input" disabled='true' id="solar_project_folder_name_input" name="name" placeholder="Folder Name">
<div class="error-message" id="name-error" style="display: none; color: red;" >This field is required.</div>
</div>
<div class="save-btn-cont">
<button type="button" class="btn bg-blue uppercase visualize-result">
<i style="display: none;" class="fas fa-spinner"></i>
<span>Simulate</span>
</button>
</div>
</div>
</form>
</div>
<div class="p-24-info-container p-24-cal-box">
<div class="p-24-top">
<div class="barre bg-blue">
<h2 class="primary-blue uppercase">SYSTEM INFORMATION</h2>
</div>
<div class="picto">
<img src="https://cdn.pvgis.com/images/loading-ps.svg"
data-src="https://cdn.pvgis.com/images/pvgis24/info-icon.png?v=18102024"
class="lazyLoad lazy-load-img" alt="picto info system">
</div>
</div>
<form class="p-24-form" id="info-system">
<h3 style="margin-top: 0px;font-weight: 700;" class="blue-2">
Performance Simulations of Crystalline Photovoltaic Systems Connected to the Public Grid Installed on Roofs </h3>
<div class="p-24-info-form-container">
<div class="p-24-info-form-top locked_n_b">
<h3 class="blue-2 font-bold-condensed uppercase">
<label class="font-bold-condensed" for="simulation">
<span> SOLAR PROJECT</span> ”<span
class="font-bold-condensed-oblique" id="folder-name">SOLAR PROJECT</span>”
</label>
</h3>
<div class="p-24-info-form-top-box">
<select id="simulation" class="uppercase italic disabled">
<option value="1">SIMULATION 1</option>
</select>
<button class="bg-grey" id="add-simulation-btn">+</button>
</div>
</div>
<div class="p-24-input-container" id="visualisation">
<div class="error-message" id="visualisation-error"
style="display: none; color: red;" >An unexpected error occurred. Please try again.</div>
<div class="relative">
<p class="top-20">
<span class="blue-2 font-18 font-700">Mounting position</span>
<span class="cursor-pointer">
<!-- Question Mark Icon -->
<span
class='help-icon-btn-sm'
style='cursor: pointer;padding-top: 2px;background: #ED7A2E;color: white;border-radius: 50%;font-weight: bold;font-size: 18px;text-align: center;width: 30px;display: inline-flex;height: 29px;justify-content: center;align-items: center;'
onclick='openModal("mounting_position_modal")'>
?
</span>
<!-- Modal Structure -->
<div id='mounting_position_modal' class='modal fade custom-help-modal' tabindex='-1' role='dialog'>
<div class='modal-dialog'>
<div class='modal-content'>
<div class='modal-body' id='mounting_position_modal_content'>
<table>
<tbody>
<tr>
<td class='p-0'>
<span class='help-icon-btn'>
?
</span>
</td>
<td class='title-cell'>
<h4 class='modal-title' data-ts='pvgis.mounting_position'>pvgis.mounting_position</h4>
</td>
<td class='close-col p-0'>
<button type='button' class='close p-0' data-dismiss='modal' aria-label='Close'>
<span aria-hidden='true'>×</span>
</button>
</td>
</tr>
<tr>
<td class='content-cell modal-content-text' colspan='2'>
<div>
<div
data-ts="pvgis.mounting_position_helper_1">Default “FREE
STANDIN”</div>
<div
data-ts="pvgis.mounting_position_helper_2">
For fixed systems, the way modules are mounted will
influence module temperature, which in turn affects
efficiency. Experiments have shown that if air movement
behind the modules is restricted, the modules can become
significantly hotter (up to 15°C at 1000W/m2 sunlight).
</div>
<div
data-ts="pvgis.mounting_position_helper_3">
data-ts="pvgis.mounting_position_helper_3">
In the application there are two possibilities: stand-alone,
which means the modules are mounted on a rack with air
circulating freely behind the modules; and roof
added/building integrated, which means the modules are
completely integrated into the wall or roof structure of a
building, with little or no air movement behind the modules.
</div>
<div
data-ts="pvgis.mounting_position_helper_4">
data-ts="pvgis.mounting_position_helper_4">
Some mounting types fall between these two extremes, for
example if the modules are mounted on a roof with curved
roof tiles, which allows air to move behind the modules. In
such cases, the performance will lie somewhere between the
results of the two calculations that are possible here. In
such cases, to be conservative, the added roof/building
integrated option can be used.
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</span>
</p>
<!-- <div class="mounting-postion-container radio-custom"></div> -->
<div class="select-container mounting-select">
<div class="mounting-container">
<input checked type="radio"
class="radio-pvgis file-info-radio mountingPosition"
name="mounting_position" value="free_standing_new"
id="mounting-position">
<label class="font-bold-condensed" for="mounting-position"> <img
src="/assets/images/icon/s1-1.png" class="section-icon"
alt="mounting-position-icon" srcset=""> <span>One-section overlay mounting system</span>
</label>
</div>
<div class="mounting-container">
<input type="radio" class="radio-pvgis file-info-radio mountingPosition"
name="mounting_position" value="roof_added_new" id="roof-added">
<label class="font-bold-condensed" for="roof-added"> <img
src="/assets/images/icon/s1-2.png" class="section-icon"
alt="mounting-position-icon" srcset=""> <span>Roof-integrated mounting system</span></label>
</div>
<div class="mounting-container">
<input type="radio" class="radio-pvgis file-info-radio mountingPosition"
name="mounting_position" value="imposition_sec_1"
id="imposition_sec_1">
<label class="font-bold-condensed" for="imposition_sec_1"> <img
src="/assets/images/icon/s1-3.png" class="section-icon"
alt="mounting-position-icon" srcset=""> <span>Triangle mounting system on flat roof or slab on grade</span></label>
</div>
<div class="mounting-container">
<input type="radio" class="radio-pvgis file-info-radio mountingPosition"
name="mounting_position" value="imposition_sec_2"
id="imposition_sec_2">
<label class="font-bold-condensed" for="imposition_sec_2"> <img
src="/assets/images/icon/s2-1.png" class="section-icon"
alt="mounting-position-icon" srcset=""> <span>Two roof sections overlay mounting system</span></label>
</div>
<div class="mounting-container">
<input type="radio" class="radio-pvgis file-info-radio mountingPosition"
name="mounting_position" value="imposition_sec_2_e_o"
id="imposition_sec_2_e_o">
<label class="font-bold-condensed" for="imposition_sec_2_e_o"> <img
src="/assets/images/icon/s2-2.png" class="section-icon"
alt="mounting-position-icon" srcset=""> <span>East-West mounting system on flat roof or slab on grade</span></label>
</div>
<div class="mounting-container">
<input type="radio" class="radio-pvgis file-info-radio mountingPosition"
name="mounting_position" value="imposition_sec_2_n_s"
id="imposition_sec_2_n_s">
<label class="font-bold-condensed" for="imposition_sec_2_n_s"> <img
src="/assets/images/icon/s2-2.png" class="section-icon"
alt="mounting-position-icon" srcset=""> <span>North-South mounting system on flat roof or slab on grade</span></label>
</div>
<div class="mounting-container">
<input type="radio" class="radio-pvgis file-info-radio mountingPosition"
name="mounting_position" value="imposition_sec_3"
id="imposition_sec_3">
<label class="font-bold-condensed" for="imposition_sec_3"> <img
src="/assets/images/icon/new-s3.png" class="section-icon"
alt="mounting-position-icon" srcset=""> <span>Three-section roof-mounting system</span></label>
</div>
<div class="mounting-container">
<input type="radio" class="radio-pvgis file-info-radio mountingPosition"
name="mounting_position" value="imposition_sec_4"
id="imposition_sec_4">
<label class="font-bold-condensed" for="imposition_sec_4"> <img
src="/assets/images/icon/new-s4.png" class="section-icon"
alt="mounting-position-icon" srcset=""> <span>Four-section roof-mounting system</span></label>
</div>
</div>
</div>
<div class="relative">
<p class="top-20">
<span
class="blue-2 font-18 font-700">Peak installed photovoltaic power (kWp)</span>
<span class="cursor-pointer">
<!-- Question Mark Icon -->
<span
class='help-icon-btn-sm'
style='cursor: pointer;padding-top: 2px;background: #ED7A2E;color: white;border-radius: 50%;font-weight: bold;font-size: 18px;text-align: center;width: 30px;display: inline-flex;height: 29px;justify-content: center;align-items: center;'
onclick='openModal("peack_installed_power_modal")'>
?
</span>
<!-- Modal Structure -->
<div id='peack_installed_power_modal' class='modal fade custom-help-modal' tabindex='-1' role='dialog'>
<div class='modal-dialog'>
<div class='modal-content'>
<div class='modal-body' id='peack_installed_power_modal_content'>
<table>
<tbody>
<tr>
<td class='p-0'>
<span class='help-icon-btn'>
?
</span>
</td>
<td class='title-cell'>
<h4 class='modal-title' data-ts='pvgis.peack_installed_photovoltaic_power'>pvgis.peack_installed_photovoltaic_power</h4>
</td>
<td class='close-col p-0'>
<button type='button' class='close p-0' data-dismiss='modal' aria-label='Close'>
<span aria-hidden='true'>×</span>
</button>
</td>
</tr>
<tr>
<td class='content-cell modal-content-text' colspan='2'>
<div data-ts="pvgis.default_1_label">Default “1”</div>
<div data-ts="pvgis.power_manufacturer_states_label">
This is the power that the manufacturer states that
the photovoltaic array can produce under standard test
conditions, which are a constant solar irradiance of 1000 W
per square meter in the array plane, at an array temperature
of 25°C. Peak power must be entered
in peak kilowatt (kWp).
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</span>
</p>
<div class="pic-power-total">
<p id="title-power-sec-2">
<span class="font-700 p-24-black-2 font-16">Peak power must be entered in kilowatt-peak</span>
</p>
<div class="flex-container-peak-power-container">
<div class="flex-container">
<div class="custom-input-number-container">
<input class="p-24-number-input" name="peak-power-total" id="peak-power-total"
step="0.5" min="0.01" value="1" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
</div>
<span class="p-24-black-2 font-16">kWp</span>
</div>
</div>
</div>
</div>
<div class="relative azimuth">
<p class="top-20">
<span
class="blue-2 font-18 font-700">Slope & Azimut</span>
<span class="cursor-pointer">
<!-- Question Mark Icon -->
<span
class='help-icon-btn-sm'
style='cursor: pointer;padding-top: 2px;background: #ED7A2E;color: white;border-radius: 50%;font-weight: bold;font-size: 18px;text-align: center;width: 30px;display: inline-flex;height: 29px;justify-content: center;align-items: center;'
onclick='openModal("slope_azimut_modal")'>
?
</span>
<!-- Modal Structure -->
<div id='slope_azimut_modal' class='modal fade custom-help-modal' tabindex='-1' role='dialog'>
<div class='modal-dialog'>
<div class='modal-content'>
<div class='modal-body' id='slope_azimut_modal_content'>
<table>
<tbody>
<tr>
<td class='p-0'>
<span class='help-icon-btn'>
?
</span>
</td>
<td class='title-cell'>
<h4 class='modal-title' data-ts='pvgis.slope_azimut'>pvgis.slope_azimut</h4>
</td>
<td class='close-col p-0'>
<button type='button' class='close p-0' data-dismiss='modal' aria-label='Close'>
<span aria-hidden='true'>×</span>
</button>
</td>
</tr>
<tr>
<td class='content-cell modal-content-text' colspan='2'>
<div>
<div data-ts="pvgis.slope_azimut_helper_1">
If you have the possibility to choose the angle and azimuth or
orientation of your mounting system for your solar installation,
whether on a flat roof or on the ground (concrete slab), you
will check the optimization both angle and azimuth.
PVGIS24 can calculate optimal values for slope and aspect
(assuming fixed angles throughout the year).
</div>
<div style="margin-top: 10px;">
•
<b data-ts="pvgis.slope_label">
Slope
</b>
</div>
<div data-ts="pvgis.slope_azimut_default_2"></div>
<div data-ts="pvgis.slope_azimut_helper_2">
15 if southern hemisphere / Optimize the slope This concerns the
angle of the photovoltaic modules in relation to the horizontal
plane, for a fixed installation (without monitoring).
</div>
<div style="margin-top: 10px;">
•
<b data-ts="pvgis.azimuth_label">
Azimuth
</b>
</div>
<div data-ts="pvgis.slope_azimut_default_1"></div>
<div data-ts="pvgis.slope_azimut_helper_3">
180 if southern hemisphere / Optimize the angle.
The azimuth, or orientation, is the angle of the photovoltaic
modules relative to the direction:
</div>
<div style="margin-top: 20px;" data-ts="pvgis.north_180">
NORTH 180°
</div>
<div data-ts="pvgis.north_whest_135">
NORTH-WEST 135°
</div>
<div data-ts="pvgis.whest_90">
WEST 90°
</div>
<div data-ts="pvgis.south_whest_45">
SOUTH-WEST 45°
</div>
<div data-ts="pvgis.south_0">
SOUTH 0°
</div>
<div data-ts="pvgis.south_east_45">
SOUTH-EAST 45°
</div>
<div data-ts="pvgis.east_90">
EAST 90°
</div>
<div data-ts="pvgis.north_east_135">
NORTH-EAST 135°
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</span>
</p>
<p>
<span class="p-24-black-2 font-16">PVGIS24 can calculate optimal values for slope and aspect (assuming fixed angles throughout the year).</span>
</p>
<p class="peak-power-error-message" id="peak-power-error">
<span>The sum of the power of the sections must not be greater or less than the power crete</span> : <span id="peakPowerTotalPvgis24"></span> kWp
</p>
<div id="sec1">
<div class="first-pente-content">
<p class="font-bold-condensed"><span>Section</span> 1</p>
<div class="row-section">
<div class="flex-container" style="padding:0">
<p class="p">Power</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0.01"
value="1" name="peak-power-1" step="0.5"
id="peak-power" placeholder="0" disabled>
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
</div>
<p class="p">kWp</p>
</div>
<div class="flex-container container-slope slope-row" style="padding:0">
<div class="flex-container">
<p class="p">Slope</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0" max="90"
value="0" name="slope"
id="slope" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
°
</div>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_pente"
id="optimize-pente" value="true"><label
class="font-medium" for="optimize-pente">Optimization</label>
</div>
</div>
<div class="flex-container container-slope azimuth-row">
<div class="flex-container">
<p class="p">
<label for="azimuth">Azimuth</label>
</p>
<p class="p">
<select name="azimuth" id="azimuth" >
<option value="180" >N</option>
<option value="-90" >E</option>
<option value="0" >S</option>
<option value="90" >W</option>
<hr><option value="-135" >NE</option>
<option value="-45" >SE</option>
<option value="45" >SW</option>
<option value="135" >NW</option>
<hr><option value="22.5" >NNE</option>
<option value="-112.5" >ENE</option>
<option value="-67.5" >ESE</option>
<option value="-22.5" >SSE</option>
<option value="67.5" >WSW</option>
<option value="112.5" >WNW</option>
<option value="157.5" >NNW</option>
</select> </p>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_azimuth"
id="optimize-azimuth" value="true"><label
class="font-medium" for="optimize-azimuth" >Optimization</label>
</div>
</div>
</div>
<div class="row slopeErrorSecNsEw">
<span id="slope-error">The value must be between 0 and 90</span>
</div>
</div>
</div>
<div id="sec2">
<div class="first-pente-content">
<p class="font-bold-condensed">Section 1</p>
<div class="row-section">
<div class="flex-container" style="padding:0">
<p class="p">Power</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0.01"
value="1" name="peak-power-1" step="0.5"
id="peak-power_sec_2_1" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
</div>
<p class="p">kWp</p>
</div>
<div class="flex-container container-slope slope-row" style="padding:0">
<div class="flex-container">
<p class="p">Slope</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0" max="90"
value="0" name="slope_sec_2_1"
id="slope_sec_2_1" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
°
</div>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_pente_sec_2_1"
id="optimize-pente_sec_2_1" value="true"><label
class="font-medium" for="optimize-pente_sec_2_1">Optimization</label>
</div>
</div>
<div class="flex-container container-slope azimuth-row">
<div class="flex-container">
<p class="p">
<label for="azimuth_sec_2_1">Azimuth</label>
</p>
<p class="p">
<select name="azimuth_sec_2_1" id="azimuth_sec_2_1" >
<option value="180" >N</option>
<option value="-90" >E</option>
<option value="0" >S</option>
<option value="90" >W</option>
<hr><option value="-135" >NE</option>
<option value="-45" >SE</option>
<option value="45" >SW</option>
<option value="135" >NW</option>
<hr><option value="22.5" >NNE</option>
<option value="-112.5" >ENE</option>
<option value="-67.5" >ESE</option>
<option value="-22.5" >SSE</option>
<option value="67.5" >WSW</option>
<option value="112.5" >WNW</option>
<option value="157.5" >NNW</option>
</select> </p>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_azimuth_sec_2_1"
id="optimize-azimuth_sec_2_1" value="true"><label
class="font-medium" for="optimize-azimuth_sec_2_1" >Optimization</label>
</div>
</div>
</div>
<div class="row slopeErrorSecNsEw">
<span class="slope-error" id="slope-error_sec_2_1"
>The value must be between 0 and 90</span>
</div>
</div>
<div class="first-pente-content">
<p class="font-bold-condensed">Section 2</p>
<div class="row-section">
<div class="flex-container" style="padding:0">
<p class="p">Power</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0.01"
value="1" name="peak-power-2" step="0.5"
id="peak-power_sec_2_2" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
</div>
<p class="p">kWp</p>
</div>
<div class="flex-container container-slope slope-row" style="padding:0">
<div class="flex-container">
<p class="p">Slope</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0" max="90"
value="0" name="slope_sec_2_2"
id="slope_sec_2_2" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
°
</div>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_pente_sec_2_2"
id="optimize-pente_sec_2_2" value="true"><label
class="font-medium" for="optimize-pente_sec_2_2">Optimization</label>
</div>
</div>
<div class="flex-container container-slope azimuth-row">
<div class="flex-container">
<p class="p">
<label for="azimuth_sec_2_2">Azimuth</label>
</p>
<p class="p">
<select name="azimuth_sec_2_2" id="azimuth_sec_2_2" >
<option value="180" >N</option>
<option value="-90" >E</option>
<option value="0" >S</option>
<option value="90" >W</option>
<hr><option value="-135" >NE</option>
<option value="-45" >SE</option>
<option value="45" >SW</option>
<option value="135" >NW</option>
<hr><option value="22.5" >NNE</option>
<option value="-112.5" >ENE</option>
<option value="-67.5" >ESE</option>
<option value="-22.5" >SSE</option>
<option value="67.5" >WSW</option>
<option value="112.5" >WNW</option>
<option value="157.5" >NNW</option>
</select> </p>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_azimuth_sec_2_2"
id="optimize-azimuth_sec_2_2" value="true"><label
class="font-medium" for="optimize-azimuth_sec_2_2" >Optimization</label>
</div>
</div>
</div>
<div class="row slopeErrorSecNsEw">
<span class="slope-error" id="slope-error_sec_2_2"
>The value must be between 0 and 90</span>
</div>
</div>
</div>
<div id="sec3">
<div class="first-pente-content">
<p class="font-bold-condensed">Section 1</p>
<div class="row-section">
<div class="flex-container" style="padding:0">
<p class="p">Power</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0.01"
value="1" name="peak-power-1" step="0.5"
id="peak-power_sec_3_1" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
</div>
<p class="p">kWp</p>
</div>
<div class="flex-container container-slope slope-row" style="padding:0">
<div class="flex-container">
<p class="p">Slope</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0" max="90"
value="0" name="slope_sec_3_1"
id="slope_sec_3_1" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
°
</div>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_pente_sec_3_1"
id="optimize-pente_sec_3_1" value="true"><label
class="font-medium" for="optimize-pente_sec_3_1">Optimization</label>
</div>
</div>
<div class="flex-container container-slope azimuth-row">
<div class="flex-container">
<p class="p">
<label for="azimuth_sec_3_1">Azimuth</label>
</p>
<p class="p">
<select name="azimuth_sec_3_1" id="azimuth_sec_3_1" >
<option value="180" >N</option>
<option value="-90" >E</option>
<option value="0" >S</option>
<option value="90" >W</option>
<hr><option value="-135" >NE</option>
<option value="-45" >SE</option>
<option value="45" >SW</option>
<option value="135" >NW</option>
<hr><option value="22.5" >NNE</option>
<option value="-112.5" >ENE</option>
<option value="-67.5" >ESE</option>
<option value="-22.5" >SSE</option>
<option value="67.5" >WSW</option>
<option value="112.5" >WNW</option>
<option value="157.5" >NNW</option>
</select> </p>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_azimuth_sec_3_1"
id="optimize-azimuth_sec_3_1" value="true"><label
class="font-medium" for="optimize-azimuth_sec_3_1" >Optimization</label>
</div>
</div>
</div>
<div class="row slopeErrorSecNsEw">
<span class="slope-error" id="slope-error_sec_3_1"
>The value must be between 0 and 90</span>
</div>
</div>
<div class="first-pente-content">
<p class="font-bold-condensed">Section 2</p>
<div class="row-section">
<div class="flex-container" style="padding:0">
<p class="p">Power</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0.01"
value="1" name="peak-power-2" step="0.5"
id="peak-power_sec_3_2" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
</div>
<p class="p">kWp</p>
</div>
<div class="flex-container container-slope slope-row" style="padding:0">
<div class="flex-container">
<p class="p">Slope</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0" max="90"
value="0" name="slope_sec_3_2"
id="slope_sec_3_2" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
°
</div>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_pente_sec_3_2"
id="optimize-pente_sec_3_2" value="true"><label
class="font-medium" for="optimize-pente_sec_3_2">Optimization</label>
</div>
</div>
<div class="flex-container container-slope azimuth-row">
<div class="flex-container">
<p class="p">
<label for="azimuth_sec_3_2">Azimuth</label>
</p>
<p class="p">
<select name="azimuth_sec_3_2" id="azimuth_sec_3_2" >
<option value="180" >N</option>
<option value="-90" >E</option>
<option value="0" >S</option>
<option value="90" >W</option>
<hr><option value="-135" >NE</option>
<option value="-45" >SE</option>
<option value="45" >SW</option>
<option value="135" >NW</option>
<hr><option value="22.5" >NNE</option>
<option value="-112.5" >ENE</option>
<option value="-67.5" >ESE</option>
<option value="-22.5" >SSE</option>
<option value="67.5" >WSW</option>
<option value="112.5" >WNW</option>
<option value="157.5" >NNW</option>
</select> </p>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_azimuth_sec_3_2"
id="optimize-azimuth_sec_3_2" value="true"><label
class="font-medium" for="optimize-azimuth_sec_3_2" >Optimization</label>
</div>
</div>
</div>
<div class="row slopeErrorSecNsEw">
<span class="slope-error" id="slope-error_sec_3_2"
>The value must be between 0 and 90</span>
</div>
</div>
<div class="first-pente-content">
<p class="font-bold-condensed">Section 3</p>
<div class="row-section">
<div class="flex-container" style="padding:0">
<p class="p">Power</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0.01"
value="1" name="peak-power-3" step="0.5"
id="peak-power_sec_3_3" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
</div>
<p class="p">kWp</p>
</div>
<div class="flex-container container-slope slope-row" style="padding:0">
<div class="flex-container">
<p class="p">Slope</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0" max="90"
value="0" name="slope_sec_3_3"
id="slope_sec_3_3" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
°
</div>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_pente_sec_3_3"
id="optimize-pente_sec_3_3" value="true"><label
class="font-medium" for="optimize-pente_sec_3_3">Optimization</label>
</div>
</div>
<div class="flex-container container-slope azimuth-row">
<div class="flex-container">
<p class="p">
<label for="azimuth_sec_3_3">Azimuth</label>
</p>
<p class="p">
<select name="azimuth_sec_3_3" id="azimuth_sec_3_3" >
<option value="180" >N</option>
<option value="-90" >E</option>
<option value="0" >S</option>
<option value="90" >W</option>
<hr><option value="-135" >NE</option>
<option value="-45" >SE</option>
<option value="45" >SW</option>
<option value="135" >NW</option>
<hr><option value="22.5" >NNE</option>
<option value="-112.5" >ENE</option>
<option value="-67.5" >ESE</option>
<option value="-22.5" >SSE</option>
<option value="67.5" >WSW</option>
<option value="112.5" >WNW</option>
<option value="157.5" >NNW</option>
</select> </p>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_azimuth_sec_3_3"
id="optimize-azimuth_sec_3_3" value="true"><label
class="font-medium" for="optimize-azimuth_sec_3_3" >Optimization</label>
</div>
</div>
</div>
<div class="row slopeErrorSecNsEw">
<span class="slope-error" id="slope-error_sec_3_3"
>The value must be between 0 and 90</span>
</div>
</div>
</div>
<div id="sec4">
<div class="first-pente-content">
<p class="font-bold-condensed">Section 1</p>
<div class="row-section">
<div class="flex-container" style="padding:0">
<p class="p">Power</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0.01"
value="1" name="peak-power-1" step="0.5"
id="peak-power_sec_4_1" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
</div>
<p class="p">kWp</p>
</div>
<div class="flex-container container-slope slope-row" style="padding:0">
<div class="flex-container">
<p class="p">Slope</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0" max="90"
value="0" name="slope_sec_4_1"
id="slope_sec_4_1" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
°
</div>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_pente_sec_4_1"
id="optimize-pente_sec_4_1" value="true"><label
class="font-medium" for="optimize-pente_sec_4_1">Optimization</label>
</div>
</div>
<div class="flex-container container-slope azimuth-row">
<div class="flex-container">
<p class="p">
<label for="azimuth_sec_4_1">Azimuth</label>
</p>
<p class="p">
<select name="azimuth_sec_4_1" id="azimuth_sec_4_1" >
<option value="180" >N</option>
<option value="-90" >E</option>
<option value="0" >S</option>
<option value="90" >W</option>
<hr><option value="-135" >NE</option>
<option value="-45" >SE</option>
<option value="45" >SW</option>
<option value="135" >NW</option>
<hr><option value="22.5" >NNE</option>
<option value="-112.5" >ENE</option>
<option value="-67.5" >ESE</option>
<option value="-22.5" >SSE</option>
<option value="67.5" >WSW</option>
<option value="112.5" >WNW</option>
<option value="157.5" >NNW</option>
</select> </p>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_azimuth_sec_4_1"
id="optimize-azimuth_sec_4_1" value="true"><label
class="font-medium" for="optimize-azimuth_sec_4_1" >Optimization</label>
</div>
</div>
</div>
<div class="row slopeErrorSecNsEw">
<span class="slope-error" id="slope-error_sec_4_1"
>The value must be between 0 and 90</span>
</div>
</div>
<div class="first-pente-content">
<p class="font-bold-condensed">Section 2</p>
<div class="row-section">
<div class="flex-container" style="padding:0">
<p class="p">Power</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0.01"
value="1" name="peak-power-2" step="0.5"
id="peak-power_sec_4_2" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
</div>
<p class="p">kWp</p>
</div>
<div class="flex-container container-slope slope-row" style="padding:0">
<div class="flex-container">
<p class="p">Slope</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0" max="90"
value="0" name="slope_sec_4_2"
id="slope_sec_4_2" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
°
</div>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_pente_sec_4_2"
id="optimize-pente_sec_4_2" value="true"><label
class="font-medium" for="optimize-pente_sec_4_2">Optimization</label>
</div>
</div>
<div class="flex-container container-slope azimuth-row">
<div class="flex-container">
<p class="p">
<label for="azimuth_sec_4_2">Azimuth</label>
</p>
<p class="p">
<select name="azimuth_sec_4_2" id="azimuth_sec_4_2" >
<option value="180" >N</option>
<option value="-90" >E</option>
<option value="0" >S</option>
<option value="90" >W</option>
<hr><option value="-135" >NE</option>
<option value="-45" >SE</option>
<option value="45" >SW</option>
<option value="135" >NW</option>
<hr><option value="22.5" >NNE</option>
<option value="-112.5" >ENE</option>
<option value="-67.5" >ESE</option>
<option value="-22.5" >SSE</option>
<option value="67.5" >WSW</option>
<option value="112.5" >WNW</option>
<option value="157.5" >NNW</option>
</select> </p>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_azimuth_sec_4_2"
id="optimize-azimuth_sec_4_2" value="true"><label
class="font-medium" for="optimize-azimuth_sec_4_2" >Optimization</label>
</div>
</div>
</div>
<div class="row slopeErrorSecNsEw">
<span class="slope-error" id="slope-error_sec_4_2"
>The value must be between 0 and 90</span>
</div>
</div>
<div class="first-pente-content">
<p class="font-bold-condensed">Section 3</p>
<div class="row-section">
<div class="flex-container" style="padding:0">
<p class="p">Power</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0.01"
value="1" name="peak-power-3" step="0.5"
id="peak-power_sec_4_3" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
</div>
<p class="p">kWp</p>
</div>
<div class="flex-container container-slope slope-row" style="padding:0">
<div class="flex-container">
<p class="p">Slope</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0" max="90"
value="0" name="slope_sec_4_3"
id="slope_sec_4_3" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
°
</div>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_pente_sec_4_3"
id="optimize-pente_sec_4_3" value="true"><label
class="font-medium" for="optimize-pente_sec_4_3">Optimization</label>
</div>
</div>
<div class="flex-container container-slope azimuth-row">
<div class="flex-container">
<p class="p">
<label for="azimuth_sec_4_3">Azimuth</label>
</p>
<p class="p">
<select name="azimuth_sec_4_3" id="azimuth_sec_4_3" >
<option value="180" >N</option>
<option value="-90" >E</option>
<option value="0" >S</option>
<option value="90" >W</option>
<hr><option value="-135" >NE</option>
<option value="-45" >SE</option>
<option value="45" >SW</option>
<option value="135" >NW</option>
<hr><option value="22.5" >NNE</option>
<option value="-112.5" >ENE</option>
<option value="-67.5" >ESE</option>
<option value="-22.5" >SSE</option>
<option value="67.5" >WSW</option>
<option value="112.5" >WNW</option>
<option value="157.5" >NNW</option>
</select> </p>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_azimuth_sec_4_3"
id="optimize-azimuth_sec_4_3" value="true"><label
class="font-medium" for="optimize-azimuth_sec_4_3" >Optimization</label>
</div>
</div>
</div>
<div class="row slopeErrorSecNsEw">
<span class="slope-error" id="slope-error_sec_4_3"
>The value must be between 0 and 90</span>
</div>
</div>
<div class="first-pente-content">
<p class="font-bold-condensed">Section 4</p>
<div class="row-section">
<div class="flex-container" style="padding:0">
<p class="p">Power</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0.01"
value="1" name="peak-power-4" step="0.5"
id="peak-power_sec_4_4" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
</div>
<p class="p">kWp</p>
</div>
<div class="flex-container container-slope slope-row" style="padding:0">
<div class="flex-container">
<p class="p">Slope</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0" max="90"
value="0" name="slope_sec_4_4"
id="slope_sec_4_4" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
°
</div>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_pente_sec_4_4"
id="optimize-pente_sec_4_4" value="true"><label
class="font-medium" for="optimize-pente_sec_4_4">Optimization</label>
</div>
</div>
<div class="flex-container container-slope azimuth-row">
<div class="flex-container">
<p class="p">
<label for="azimuth_sec_4_4">Azimuth</label>
</p>
<p class="p">
<select name="azimuth_sec_4_4" id="azimuth_sec_4_4" >
<option value="180" >N</option>
<option value="-90" >E</option>
<option value="0" >S</option>
<option value="90" >W</option>
<hr><option value="-135" >NE</option>
<option value="-45" >SE</option>
<option value="45" >SW</option>
<option value="135" >NW</option>
<hr><option value="22.5" >NNE</option>
<option value="-112.5" >ENE</option>
<option value="-67.5" >ESE</option>
<option value="-22.5" >SSE</option>
<option value="67.5" >WSW</option>
<option value="112.5" >WNW</option>
<option value="157.5" >NNW</option>
</select> </p>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_azimuth_sec_4_4"
id="optimize-azimuth_sec_4_4" value="true"><label
class="font-medium" for="optimize-azimuth_sec_4_4" >Optimization</label>
</div>
</div>
</div>
<div class="row slopeErrorSecNsEw">
<span class="slope-error" id="slope-error_sec_4_4"
>The value must be between 0 and 90</span>
</div>
</div>
</div>
<div id="sec2eo">
<div class="first-pente-content">
<p class="font-bold-condensed"><span>Section</span> 1</p>
<div class="row-section">
<div class="flex-container" style="padding:0">
<p class="p">Power</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0.01"
value="1" name="peak-power-1" step="0.5"
id="peak-power-e" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
</div>
<p class="p">kWp</p>
</div>
<div class="flex-container container-slope slope-row" style="padding:0">
<div class="flex-container">
<p class="p">Slope</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0" max="90"
value="0" name="slope_sec_2_eo_e"
id="slope_sec_2_eo_e" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
°
</div>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_pente_sec_2_eo_e"
id="optimize-pente_sec_2_eo_e" value="true"><label
class="font-medium" for="optimize-pente_sec_2_eo_e">Optimization</label>
</div>
</div>
<div class="flex-container container-slope azimuth-row">
<div class="flex-container">
<p class="p">
<label for="azimuth_sec_2_eo_e">Azimuth</label>
</p>
<p class="p">
<select name="azimuth_sec_2_eo_e" id="azimuth_sec_2_eo_e" disabled>
<option value="180" >N</option>
<option value="-90" selected>E</option>
<option value="0" >S</option>
<option value="90" >W</option>
<hr><option value="-135" >NE</option>
<option value="-45" >SE</option>
<option value="45" >SW</option>
<option value="135" >NW</option>
<hr><option value="22.5" >NNE</option>
<option value="-112.5" >ENE</option>
<option value="-67.5" >ESE</option>
<option value="-22.5" >SSE</option>
<option value="67.5" >WSW</option>
<option value="112.5" >WNW</option>
<option value="157.5" >NNW</option>
</select> </p>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_azimuth_sec_2_eo_e"
id="optimize-azimuth_sec_2_eo_e" value="true"><label
class="font-medium" for="optimize-azimuth_sec_2_eo_e" disabled>Optimization</label>
</div>
</div>
</div>
<div class="row slopeErrorSecNsEw">
<span id="slope-error-2">The value must be between 0 and 90</span>
</div>
</div>
<div class="first-pente-content">
<p class="font-bold-condensed"><span>Section</span> 2</p>
<div class="row-section">
<div class="flex-container" style="padding:0">
<p class="p">Power</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0.01"
value="1" name="peak-power-2" step="0.5"
id="peak-power-w" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
</div>
<p class="p">kWp</p>
</div>
<div class="flex-container container-slope slope-row" style="padding:0">
<div class="flex-container">
<p class="p">Slope</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0" max="90"
value="0" name="slope_sec_2_eo_w"
id="slope_sec_2_eo_w" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
°
</div>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_pente_sec_2_eo_w"
id="optimize-pente_sec_2_eo_w" value="true"><label
class="font-medium" for="optimize-pente_sec_2_eo_w"
>Optimization</label>
</div>
</div>
<div class="flex-container container-slope azimuth-row">
<div class="flex-container">
<p class="p">
<label for="azimuth_sec_2_eo_w">Azimuth</label>
</p>
<p class="p">
<select name="azimuth_sec_2_eo_w" id="azimuth_sec_2_eo_w" disabled>
<option value="180" >N</option>
<option value="-90" >E</option>
<option value="0" >S</option>
<option value="90" selected>W</option>
<hr><option value="-135" >NE</option>
<option value="-45" >SE</option>
<option value="45" >SW</option>
<option value="135" >NW</option>
<hr><option value="22.5" >NNE</option>
<option value="-112.5" >ENE</option>
<option value="-67.5" >ESE</option>
<option value="-22.5" >SSE</option>
<option value="67.5" >WSW</option>
<option value="112.5" >WNW</option>
<option value="157.5" >NNW</option>
</select> </p>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_azimuth_sec_2_eo_w" disabled
id="optimize-azimuth_sec_2_eo_w" value="true"><label
class="font-medium" for="optimize-azimuth_sec_2_eo_w"
>Optimization</label>
</div>
</div>
</div>
<div class="row slopeErrorSecNsEw">
<span id="slope-error-3"
>The value must be between 0 and 90</span>
</div>
</div>
</div>
<div id="sec2ns">
<div class="first-pente-content">
<p class="font-bold-condensed"><span>Section</span> 1</p>
<div class="row-section">
<div class="flex-container" style="padding:0">
<p class="p">Power</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0.01"
value="1" name="peak-power-1" step="0.5"
id="peak-power-n" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
</div>
<p class="p">kWp</p>
</div>
<div class="flex-container container-slope slope-row" style="padding:0">
<div class="flex-container">
<p class="p">Slope</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0" max="90"
value="0" name="slope_sec_2_ns_n"
id="slope_sec_2_ns_n" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
°
</div>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_pente_sec_2_ns_n"
id="optimize-pente_sec_2_ns_n" value="true"><label
class="font-medium" for="optimize-pente_sec_2_ns_n"
>Optimization</label>
</div>
</div>
<div class="flex-container container-slope azimuth-row">
<div class="flex-container">
<p class="p">
<label for="azimuth_sec_2_ns_n">Azimuth</label>
</p>
<p class="p">
<select name="azimuth_sec_2_ns_n" id="azimuth_sec_2_ns_n" disabled>
<option value="180" selected>N</option>
<option value="-90" >E</option>
<option value="0" >S</option>
<option value="90" >W</option>
<hr><option value="-135" >NE</option>
<option value="-45" >SE</option>
<option value="45" >SW</option>
<option value="135" >NW</option>
<hr><option value="22.5" >NNE</option>
<option value="-112.5" >ENE</option>
<option value="-67.5" >ESE</option>
<option value="-22.5" >SSE</option>
<option value="67.5" >WSW</option>
<option value="112.5" >WNW</option>
<option value="157.5" >NNW</option>
</select> </p>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_azimuth_sec_2_ns_n" disabled
id="optimize-azimuth_sec_2_ns_n" value="true"><label
class="font-medium" for="optimize-azimuth_sec_2_ns_n"
>Optimization</label>
</div>
</div>
</div>
<div class="row slopeErrorSecNsEw">
<span id="slope-error-4">The value must be between 0 and 90</span>
</div>
</div>
<div class="first-pente-content">
<p class="font-bold-condensed"><span>Section</span> 2</p>
<div class="row-section">
<div class="flex-container" style="padding:0">
<p class="p">Power</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0.01"
value="1" name="peak-power-2" step="0.5"
id="peak-power-s" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
</div>
<p class="p">kWp</p>
</div>
<div class="flex-container container-slope slope-row" style="padding:0">
<div class="flex-container">
<p class="p">Slope</p>
<div class="custom-input-number-container">
<input class="p-24-number-input" min="0" max="90"
value="0" name="slope_sec_2_ns_s"
id="slope_sec_2_ns_s" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
°
</div>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_pente_sec_2_ns_s"
id="optimize-pente_sec_2_ns_s" value="true"><label
class="font-medium" for="optimize-pente_sec_2_ns_s"
>Optimization</label>
</div>
</div>
<div class="flex-container container-slope azimuth-row">
<div class="flex-container">
<p class="p">
<label for="azimuth_sec_2_ns_s">Azimuth</label>
</p>
<p class="p">
<select name="azimuth_sec_2_ns_s" id="azimuth_sec_2_ns_s" disabled>
<option value="180" >N</option>
<option value="-90" >E</option>
<option value="0" selected>S</option>
<option value="90" >W</option>
<hr><option value="-135" >NE</option>
<option value="-45" >SE</option>
<option value="45" >SW</option>
<option value="135" >NW</option>
<hr><option value="22.5" >NNE</option>
<option value="-112.5" >ENE</option>
<option value="-67.5" >ESE</option>
<option value="-22.5" >SSE</option>
<option value="67.5" >WSW</option>
<option value="112.5" >WNW</option>
<option value="157.5" >NNW</option>
</select> </p>
</div>
<div class="pente-radio-content">
<input type="checkbox" class="radio-pvgis file-info-radio"
name="optimize_azimuth_sec_2_ns_s" disabled
id="optimize-azimuth_sec_2_ns_s" value="true"><label
class="font-medium" for="optimize-azimuth_sec_2_ns_s"
>Optimization</label>
</div>
</div>
</div>
<div class="row slopeErrorSecNsEw">
<span id="slope-error-5">The value must be between 0 and 90</span>
</div>
</div>
</div>
</div>
<div class="relative pv-system-loss">
<p class="top-20">
<span class="blue-2 font-18 font-700">System loss</span>
<span
class="blue-2 font-18 font-700"
style="margin-left: 7px;">(%)</span>
<span class="cursor-pointer">
<!-- Question Mark Icon -->
<span
class='help-icon-btn-sm'
style='cursor: pointer;padding-top: 2px;background: #ED7A2E;color: white;border-radius: 50%;font-weight: bold;font-size: 18px;text-align: center;width: 30px;display: inline-flex;height: 29px;justify-content: center;align-items: center;'
onclick='openModal("system_loss_modal")'>
?
</span>
<!-- Modal Structure -->
<div id='system_loss_modal' class='modal fade custom-help-modal' tabindex='-1' role='dialog'>
<div class='modal-dialog'>
<div class='modal-content'>
<div class='modal-body' id='system_loss_modal_content'>
<table>
<tbody>
<tr>
<td class='p-0'>
<span class='help-icon-btn'>
?
</span>
</td>
<td class='title-cell'>
<h4 class='modal-title' data-ts='pvgis.system_loss'>pvgis.system_loss</h4>
</td>
<td class='close-col p-0'>
<button type='button' class='close p-0' data-dismiss='modal' aria-label='Close'>
<span aria-hidden='true'>×</span>
</button>
</td>
</tr>
<tr>
<td class='content-cell modal-content-text' colspan='2'>
<div class="p-24-black-2">
<div data-ts="pvgis.system_loss_helper_1">Estimated system losses
are all losses in the system that cause the energy actually
delivered to the power grid to be less than the power
produced by the PV modules.
</div>
<div style="margin-top: 10px;">
•
<b data-ts="pvgis.system_loss_subtitle_helper_1">
Cable loss (%) / default 1%
</b>
</div>
<div data-ts="pvgis.system_loss_helper_2">
PVGIS24 is based on
international standards for line loss in cables. this loss
is estimated at 1%. You can reduce this loss to 0.5% if the
quality of the cables is exceptional. You can increase the
line loss of the cables to 1.5% if the distance between the
solar panels and the inverter is greater than 30
meters.
</div>
<div style="margin-top: 10px;">
•
<b data-ts="pvgis.system_loss_subtitle_2">
Inverter loss (%) / par défaut 2%
</b>
</div>
<div data-ts="pvgis.system_loss_helper_3">
PVGIS24 is based on the
average of inverter manufacturer data to estimate the
production transformation loss. The international average
today is 2%. You can reduce this loss to 1% if the quality
of the inverter is exceptional. You can increase the loss to
3% to 4% if the chosen inverter offers a transformation rate
of 96%!
</div>
<div style="margin-top: 10px;">
•
<b data-ts="pvgis.system_loss_subtitle_3">
PV loss (%) / default 0.5%
</b>
</div>
<div data-ts="pvgis.system_loss_helper_4">
Over the years, the modules also tend to lose some of their
power, so the average annual production over the life of the
system will be a few percent lower than the production in
the first few years. The various international studies
including those of Sarah and Jordan KURTZ estimate an
average production loss of 0.5% per year. You can reduce
this production loss to 0.2% if the quality of the solar
panels is exceptional. You can increase the loss from 0.8%
to 1% if the solar panels chosen are of average
quality!
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</span>
</p>
<div class="system-loss-container">
<div class="flex-container">
<span class="font-600 p-24-black-2 font-16" >Cable loss</span>
<span class="font-600 left-3 font-16">(%)</span>
<div class="custom-input-number-container">
<input id="cable-loss" name="cable-loss"
class="p-24-number-input no-unit-p" step="0.5" min="0" value="1"
placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
</div>
</div>
<div class="flex-container">
<span class="font-600 p-24-black-2 font-16">Inverter loss</span>
<span class="font-600 left-3 font-16">(%)</span>
<div class="custom-input-number-container">
<input id="inverter-loss" name="inverter-loss"
class="p-24-number-input no-unit-p" step="0.5" min="0" value="2"
placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
</div>
</div>
<div class="flex-container">
<span class="font-600 p-24-black-2 font-16">PV loss</span>
<span class="font-600 left-3 font-16">(%)</span>
<div class="custom-input-number-container">
<input id="pv-loss" name="pv-loss"
class="p-24-number-input no-unit-p" step="0.5" min="0"
value="0.5" placeholder="0">
<div class="icons">
<button type="button" class="increment">
<img src="/assets/images/icon/arrow_up.png"
alt="arrow_up" height="11" width="11">
</button>
<button type="button" class="decrement">
<img src="/assets/images/icon/arrow_down.png"
alt="arrow_down" height="11" width="11">
</button>
</div>
</div>
</div>
<span id="loss-error">
The total loss sum should not exceed 100. </span>
</div>
</div>
<div class="save-btn-cont">
<button type="button" class="save-btn btn" onclick="openAdvancedModal()" id="showAdvancedOptionModal">Advanced option</button>
<button class="save-btn btn uppercase visualize-result"
id="visualize-result">
<i style="display: none;" id="loader-visualisation" class="fas fa-spinner"></i>
<span>VISUALIZATION OF RESULTS</span>
</button>
</div>
</div>
<button class="visualize-floating visualize-result" id="visualize-floating">
<i style="display: none;" id="loader-visualisation-floating"
class="fas fa-spinner"></i>
<span>VISUALIZATION OF RESULTS</span>
</button>
</div>
</div>
</form>
</div>
<div id="result-container" class="p-24-result-container hidden">
<div class="p-24-top">
<div class="barre bg-blue">
<h2 class="primary-blue uppercase"><span>Results</span> ”<span
class="project_name" id="project-name">SOLAR PROJECT</span> <span
class="project_name" id="simulation-name">SIMULATION 1</span>” </h2>
</div>
<div class="picto">
<img src="https://cdn.pvgis.com/images/loading-ps.svg"
data-src="https://cdn.pvgis.com/images/pvgis24/search-icon.png?v=18102024"
class="lazyLoad lazy lazy-load-img" alt="picto location">
</div>
</div>
<div class="p-24-result-content">
<p class="top-50">
<span class="font-18 p-24-black ">PVGIS.COM provides information on solar radiation and photovoltaic system performance for any location in the world except the North and South Poles.</span>
</p>
<h3 class="uppercase blue-2">
PVGIS ESTIMATES OF SOLAR ELECTRICITY PRODUCTION </h3>
<div class="bottom-25">
<span class="font-700 p-24-black-2 font-18">Information provided</span>
</div>
<section class="row simulator-section">
<div class="col-xs-12">
<h3 data-ts="pvgis.geolocation_photovoltaic_connected_network">Geolocation of
photovoltaics connected to the network</h3>
</div>
<div class="col-xs-12">
<div class="row">
<div class="col-md-8">
<div class="map-container">
<div id="mapResult">
</div>
</div>
</div>
<div class="col-md-4">
<ul class="geo-lolat-list">
<li class="spacing-bl"><span data-ts="pvgis.pv_installed_label">PV Installed:</span> <b><span
class="ifont-bold-condensed installed_PV"></span> KWp</b></li>
<li><span data-ts="pvgis.pdf_pvgis24.country">Pays:</span> <b><span
class="font-bold-condensed country"></span></b></li>
<li><span data-ts="pvgis.pdf_pvgis24.city">Ville:</span> <b><span
class="font-bold-condensed city"></span></b></li>
<li class="spacing-bl"><span data-ts="pvgis.pdf_pvgis24.address">Adresse:</span> <b><span
class="font-bold-condensed address"></span></b></li>
<li><span data-ts="pvgis.latitude">Latitude</span>: <span
class="font-bold-condensed latitude"></span></li>
<li><span data-ts="pvgis.longitude">Longitude</span> : <span
class="font-bold-condensed longitude"></span></li>
</ul>
</div>
</div>
</div>
</section> <section class="row simulator-section">
<div class="col-md-12">
<h3>
Terrain shadows </h3>
</div>
<div class="col-md-12">
<div class="col-md-7">
<p><span data-ts="pvgis.simulator.summary.horizon">Horizon</span> : <b id="userHorizonTxt">Calculated (default PGVIS 24)</b></p>
<div id="line-horizon"></div>
</div>
<div class="col-md-5" style="padding: 0;">
<div class="geo-horizon-container">
<div id="horizon-legends">
<div class="legend-item">
<div class="legend-heigh"></div>
<div class="legend-title"><span
data-ts="pvgis.simulator.charts.horizon_height"></span>
</div>
</div>
<div class="legend-item">
<div class="legend-june">
<div class="tiret"></div>
<div class="tiret"></div>
<div class="tiret"></div>
</div>
<div class="legend-title"><span
data-ts="pvgis.simulator.charts.sun_height_june"></span>
</div>
</div>
<div class="legend-item">
<div class="legend-dec"></div>
<div class="legend-title"><span
data-ts="pvgis.simulator.charts.sun_height_december"></span>
</div>
</div>
</div>
<div id="geo-horizon"></div>
</div>
</div>
</div>
</section> <div class="top-20 c-simulator-section">
<section class="row simulator-section">
<div class="col-md-12">
<h3>
Information from grid-connected photovoltaics </h3>
</div>
<div class="col-md-12 info-pv">
<div class="col-md-7" style="padding: 0;">
<ul class="info-pv-desc">
<li>Database used : <span class="database font-bold-condensed">PVGIS- SARAH3</span></li>
<li>Photovoltaic technology: <span class="photovoltaic_technology font-bold-condensed">Crystalline silicon</span></li>
<li>Mounting system : <span class="font-bold-condensed"><span class="mounting-type"></span> <span class="section-number"></span> <span class="sectionss"></span></span></li>
</ul>
<table class="table table-striped" id="pvTable">
<thead>
<tr>
<th class="uppercase" data-ts="pvgis.sections"></th>
<th><span data-ts="pvgis.simulation.pdf.installed.pv"></span> (KWp)</th>
<th data-ts="pvgis.extranet.file_info.slope"></th>
<th data-ts="pvgis.extranet.file_info.azimuth"></th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<div class="col-md-5">
<ul class="info-pv-data">
<li><span>Interannual variability (%) :</span> <span class="font-bold-condensed"><span class="variabilityPercentage"></span></li>
<li class="spacing-tl">
<h4 class="heading">Loss</h4>
</li>
<li><span class="paraf">Change in production due to :</span>
<ul>
<li>Angle of incidence (%) : <span class="font-bold-condensed"><span class="incidence_angle"></span></span> </li>
<li>Spectral effects (%) : <span class="font-bold-condensed"><span class="spectral_effect"></span></span> </li>
<li>Low temperature and irradiance (%) : <span class="font-bold-condensed"><span class="low_temp"></span></span> </li>
</ul>
</li>
<li class="spacing-bl">Total losses (%) : <span class="font-bold-condensed"><span class="total_loss"></span></span> </li>
<li>Production moyenne par jour (kWh): <span class="font-bold-condensed"><span class="production-moyenne-j"></span></span> </li>
<li>Average hour of production day : <span class="font-bold-condensed"><span class="heur-moyenne-production-j"></span></span> </li>
</ul>
</div>
</div>
</section>
</div>
<div class="monthly_energy_production_result top-20 c-simulator-section">
<p><span class="blue-2 font-18 font-700">Monthly energy production from the photovoltaic system</span></p>
<div class="row">
<div class="col-xs-10 w-full-xs">
<div class="section-title-block bg-blue annual_pv font-bold-22">
<span>Annual photovoltaic energy production :</span>
<span> <span id="annual-pv"></span> kWh</span>
</div>
<p class="p-24-black-2 font-16 top-15">
<span>Variability from year to year :</span>
<span class="font-bold-condensed"><span id="variabilityPercentage"></span>
%</span> (<span id="variability"></span> kWh)
</p>
</div>
<div class="col-xs-3">
</div>
</div>
<div class="row">
<div class="col-xs-8">
<div id="pv-output-graph-bar" class="pv-output-graph-bar"></div>
</div>
<div class="col-xs-4">
<table id="monthly-e-datatable" class="pv-prod-table">
<thead>
<tr>
<!-- <th></th> -->
<th>Month</th>
<th class="custom-th">kWh</th>
<th class="custom-th">%</th>
</tr>
</thead>
<tbody id="month-tab-body-pv">
</tbody>
</table>
</div>
</div>
</div>
<div class="monthly_energy_production_result top-20 c-simulator-section">
<p><span class="blue-2 font-18 font-700">Monthly photovoltaic energy production hours</span></p>
<div class="row">
<div class="col-xs-10 w-full-xs">
<div class="section-title-block bg-yellow annualHours annual_pv font-bold-22">
<span>Annual photovoltaic energy production hours :</span>
<span> <span id="yearlySunshineHours"></span> <span class="text-lowercase">Hours</span> <span class="average-hours-per-day"><span id="averageSunshineHoursPerDay"></span></span></span>
</div>
</br>
</div>
<div class="col-xs-3">
</div>
</div>
<div class="row">
<div class="col-xs-8">
<div id="sunshine-hours-graph-bar" style="height: 380px;" class="ir-output-graph-bar"></div>
</div>
<div class="col-xs-4">
<table id="monthly-e-datatable-sunshine-hours" class="pv-prod-table">
<thead>
<tr>
<!-- <th></th> -->
<th class="">Months</th>
<th class="text-center">Hours/Month</th>
<th class="text-center">/Day</th>
</tr>
</thead>
<tbody id="sunshine-hours-table-body">
</tbody>
</table>
</div>
</div>
</div>
<div class="monthly_energy_production_result top-20 c-simulator-section">
<p><span class="blue-2 font-18 font-700">Monthly irradiation on fixed plane</span></p>
<div class="row">
<div class="col-xs-10 w-full-xs">
<div class="section-title-block bg-orange annual_pv font-bold-22">
<span>Annual irradiation:</span>
<span> <span id="annual-ir"></span> kWh/m<sup>2</sup> </span>
</div>
</br>
</div>
<div class="col-xs-3">
</div>
</div>
<div class="row">
<div class="col-xs-8">
<div id="ir-output-graph-bar" class="ir-output-graph-bar"></div>
</div>
<div class="col-xs-4">
<table id="monthly-e-datatable-ir" class="pv-prod-table">
<thead>
<tr>
<!-- <th></th> -->
<th>Month</th>
<th class="custom-th">kWh/m<sup>2</sup></th>
<th class="custom-th">%</th>
</tr>
</thead>
<tbody id="month-tab-body-ir">
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="pdf-btn-container">
<button style="width:250px" type="button" class="bg-blue uppercase" id="downloadPdf"
onclick="downloadPvgis24Pdf()"><i class="fas fa-spinner"></i> <span>VIEW PDF</span>
</button>
</div>
</div>
<div class="modal-backdrop" id="modal-backdrop-pdf">
<div id='pdf-modal' class="modal modal-box-shadow">
<div id="loading"></div>
<div class="pdf-editor">
<div id="editor-1">
<div style="width: 100%;">
<div class="modal-info">
<div class="modal-title">
<div class="left-title">
<h4 id="title">PDF EDITOR COMPONENT</h4>
<!-- Titre visible par défaut -->
<input type="text" id="name" name="name" required minlength="4" size="50"
value="PDF EDITOR COMPONENT" style="display: none; width: 100%; padding: 5px;" />
<!-- Input caché par défaut, largeur automatique et padding ajouté -->
<span id="edit-icon" class="zoom-button" title="Modifier">
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round" class="lucide lucide-pencil">
<path
d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z" />
<path d="m15 5 4 4" />
</svg>
</span>
<span style="display: none;" id="close-icon" class="zoom-button" title="Sauvegarder">
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round" class="lucide lucide-save">
<path
d="M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z" />
<path d="M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7" />
<path d="M7 3v4a1 1 0 0 0 1 1h7" />
</svg>
</span>
</div>
<div class="zoom-container">
<h4 data-ts="pvgis.organis_download" class="organise">Organiser et telecharger</h4>
<div id="edit-mode" title="Organise" class="edit-mode"><i class="bi bi-stack"></i></div>
<div class="zoom-left">
<span id="zoom-in" class="zoom-button" title="Zoom +">
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18"
viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
stroke-linecap="round" stroke-linejoin="round"
class="lucide lucide-zoom-in">
<circle cx="11" cy="11" r="8" />
<line x1="21" x2="16.65" y1="21" y2="16.65" />
<line x1="11" x2="11" y1="8" y2="14" />
<line x1="8" x2="14" y1="11" y2="11" />
</svg>
</span>
<span id="zoom-out" class="zoom-button" title="Zoom -">
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18"
viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
stroke-linecap="round" stroke-linejoin="round"
class="lucide lucide-zoom-out">
<circle cx="11" cy="11" r="8" />
<line x1="21" x2="16.65" y1="21" y2="16.65" />
<line x1="8" x2="14" y1="11" y2="11" />
</svg>
</span>
<span id="zoom-reset" class="zoom-button" title="Réinitialiser">
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18"
viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
stroke-linecap="round" stroke-linejoin="round"
class="lucide lucide-rotate-ccw">
<path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" />
<path d="M3 3v5h5" />
</svg>
</span>
<span id="download" class="zoom-button" title="Download">
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18"
viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
stroke-linecap="round" stroke-linejoin="round"
class="lucide lucide-download">
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
<polyline points="7 10 12 15 17 10" />
<line x1="12" x2="12" y1="15" y2="3" />
</svg>
</span>
</div>
<span onclick="closePdfEditorModal('editor-1')" title="Fermer" class="zoom-button">
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round" class="lucide lucide-x">
<path d="M18 6 6 18" />
<path d="m6 6 12 12" />
</svg></span>
</div>
</div>
<div class="preview-container">
<div class="thumbnail-wrapper">
<div class="thumbnail-container">
</div>
</div>
<div class="page-container">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="loading-modal" id="pdf-loading-modal">
<div>
<div class="loader"></div>
<div class="message-container">
<div class="message"></div>
<span class="loading-dots" style="display: none;">
<span>.</span>
<span>.</span>
<span>.</span>
</span>
</div>
</div>
</div>
<div id="advanced-opt-modal" class="modal-extranet advanced-modal">
<div class="advanced-modal-container">
<h3 class="adv-title" data-ts="pvgis.extranet.advanced"></h3>
<span onclick="closeAdvancedModal()" class="close-button">×</span>
<h5 class="font-bold-condensed">
<span data-ts="pvgis.simulator.use_terrain_shadows"></span>
<span class="cursor-pointer">
<!-- Question Mark Icon -->
<span
class='help-icon-btn-sm'
style='cursor: pointer;padding-top: 2px;background: #ED7A2E;color: white;border-radius: 50%;font-weight: bold;font-size: 18px;text-align: center;width: 30px;display: inline-flex;height: 29px;justify-content: center;align-items: center;'
onclick='openModal("terrain_shadows_modal")'>
?
</span>
<!-- Modal Structure -->
<div id='terrain_shadows_modal' class='modal fade custom-help-modal' tabindex='-1' role='dialog'>
<div class='modal-dialog'>
<div class='modal-content'>
<div class='modal-body' id='terrain_shadows_modal_content'>
<table>
<tbody>
<tr>
<td class='p-0'>
<span class='help-icon-btn'>
?
</span>
</td>
<td class='title-cell'>
<h4 class='modal-title' data-ts='pvgis.simulator.use_terrain_shadows'>pvgis.simulator.use_terrain_shadows</h4>
</td>
<td class='close-col p-0'>
<button type='button' class='close p-0' data-dismiss='modal' aria-label='Close'>
<span aria-hidden='true'>×</span>
</button>
</td>
</tr>
<tr>
<td class='content-cell modal-content-text' colspan='2'>
<div>
<div data-ts="pvgis.simulator.step_four_consigne">
<p>
The solar radiation and photovoltaic production will change if there are local hills or mountains that block sunlight during certain periods of the day. PVGIS can calculate the effect of this by using data on ground elevation with a resolution of 3 arc-seconds (approximately 90 meters).
</p>
<p>
This calculation does not take into account shadows from very close objects such as houses or trees. In this case, you can upload your own information about the horizon by checking the "Download horizon file" box in CSV or JSON format.
</p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</span>
</h5>
<div class="horizon-container">
<div class="radio-cont">
<div class="radio-r">
<input id="horizon_calculated" class="radio-pvgis" checked name="horizon_profile_type"
value="horizon_calculated" type="radio">
<label
for="horizon_calculated">Calculated horizon</label>
</div>
<div class="downloadHorizon-btn">
<button type="button" class="btn" onclick="downloadHorizon('csv', false)"><i
class="fas fa-download"></i> CSV</button>
<button type="button" class="btn" onclick="downloadHorizon('json', false)"><i
class="fas fa-download"></i> JSON</button>
</div>
</div>
<div class="radio-cont">
<div class="radio-r">
<input id="horizon_uploaded" class="radio-pvgis" name="horizon_profile_type"
value="horizon_uploaded" type="radio">
<label
for="horizon_uploaded">Upload horizon file</label>
</div>
<div class="horizon-input-cont">
<input type="file" disabled name="horizon_file" id="horizon_file" accept=".txt, .csv, .json"
onchange="readFileAndSetHiddenValue('horizon_file', 'horizon_data', userhorizonFormatter)">
<label for="horizon_file" class="custom-file-upload"><i class="fas fa-upload"></i> Choose
File</label>
<span id="file-name">No files selected</span>
<input type="hidden" name="horizon_data" id="horizon_data">
<input type="hidden" name="horizon_filename" id="horizon_filename">
<span class="error-message"></span>
</div>
</div>
</div>
<h5 class="font-bold-condensed" >
<span data-ts="pvgis.simulator.custom_db"></span>
<span class="cursor-pointer">
<!-- Question Mark Icon -->
<span
class='help-icon-btn-sm'
style='cursor: pointer;padding-top: 2px;background: #ED7A2E;color: white;border-radius: 50%;font-weight: bold;font-size: 18px;text-align: center;width: 30px;display: inline-flex;height: 29px;justify-content: center;align-items: center;'
onclick='openModal("pvgis_custom_db_modal")'>
?
</span>
<!-- Modal Structure -->
<div id='pvgis_custom_db_modal' class='modal fade custom-help-modal' tabindex='-1' role='dialog'>
<div class='modal-dialog'>
<div class='modal-content'>
<div class='modal-body' id='pvgis_custom_db_modal_content'>
<table>
<tbody>
<tr>
<td class='p-0'>
<span class='help-icon-btn'>
?
</span>
</td>
<td class='title-cell'>
<h4 class='modal-title' data-ts='pvgis.simulator.custom_db'>pvgis.simulator.custom_db</h4>
</td>
<td class='close-col p-0'>
<button type='button' class='close p-0' data-dismiss='modal' aria-label='Close'>
<span aria-hidden='true'>×</span>
</button>
</td>
</tr>
<tr>
<td class='content-cell modal-content-text' colspan='2'>
<div>
<div data-ts="pvgis.database24_helper_1">
- <strong>PVGIS-SARAH3</strong> : Données disponibles de 2005 à 2023. Couvre l’Europe, l’Afrique, la majeure partie de l’Asie et certaines régions d’Amérique du Sud. Basé sur les observations satellitaires, il offre une précision élevée pour l’irradiance solaire. <br>
- <strong>PVGIS-SARAH2</strong> : Produit par CM SAF pour remplacer SARAH-1 (PVGIS-SARAH). Il couvre l’Europe, l’Afrique, la majeure partie de l’Asie et certaines régions d’Amérique du Sud. Période : 2005-2020. <br>
- <strong>PVGIS-ERA5</strong> : Dernière réanalyse mondiale fournie par l’ECMWF (Centre Européen pour les Prévisions Météorologiques à Moyen Terme). Période : 2005-2023.<br>
La réanalyse des données sur le rayonnement solaire présente généralement une incertitude plus élevée que les bases de données satellitaires. Par conséquent, nous recommandons d’utiliser les données de réanalyse uniquement lorsque les données satellitaires sont manquantes ou obsolètes. Pour plus d'informations sur les bases de données et leur exactitude, veuillez vous référer au PVGIS page Web sur les méthodes de calcul.
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</span>
</h5>
<div class="db-container">
<div>
<div class="pvgis-custom-select">
<input type="hidden" name="db_name" id="db_name" value="">
<input type="hidden" name="db_version" id="db_version" value="">
<div class="pvgis-select-label">
<span class="pvgis-caret">▾</span>
</div>
<ul class="pvgis-select-options" id="pvgis-dropdown">
</ul>
</div>
</div>
<div class="btn-container">
<button type="button" data-ts="pvgis.extranet.file_info.save" id="saveAdvancedOption" class="btn save-btn"
onclick="closeAdvancedModal(true)"></button>
</div>
</div>
</div>
</div> <div id="modal" class="modal-extranet confirm-mail-modal">
<div class="container file-registration-container">
<div class="box">
<h3 class="text-black">Project registration</h3>
<p>Would you like to save the project?</p>
<div class="action-container" id="action-container">
<span id="cancel" class="cancel">Cancel</span>
<button class="location-submit bg-blue uppercase" id="save-file">
<i style="display: none;" id="save-project" class="fas fa-spinner"></i>
<span>Save</span>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="https://pvgis.com/assets/min-js/loader.js?v=140320251017"></script>
<script type="module" src="https://pvgis.com/assets/min-js/cookieconsent.umd.js?v=140320251017"></script>
<script type="module" src="https://pvgis.com/assets/min-js/cookieconsent-config.js?v=140320251017"></script>
<script src="https://pvgis.com/assets/min-js/settings.utils.js?v=140320251017"></script>
<script>
window.customerSavedLanguage = window.customerSavedLanguage || "en";
window.cmsKey = "";
</script>
<script src="https://pvgis.com/assets/min-js/links.js?v=140320251017" defer></script>
<script src="https://cdn.pvgis.com/assets/js/cache.js?v=140320251017" defer></script>
<script src="https://cdn.pvgis.com/assets/js/jquery.js?v=140320251017"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/js-cookie/2.0.4/js.cookie.min.js" integrity="sha512-Nonc2AqL1+VEN+97F3n4YxucBOAL5BgqNwEVc2uUjdKOWAmzwj5ChdJQvN2KldAxkCxE4OenuJ/RL18bWxGGzA==" crossorigin="anonymous" referrerpolicy="no-referrer" defer></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/js/all.min.js" defer></script>
<script src="https://pvgis.com/assets/min-js/bootstrap.min.js" defer></script>
<!-- <script src="https://pvgis.com/assets/js/intlTelInput.min.js?v=140320251017"></script> -->
<script src="https://pvgis.com/assets/min-js/global.js?v=140320251017"></script>
<script src="https://pvgis.com/assets/min-js/google-analytics.js?v=140320251017"></script>
<script src="https://pvgis.com/assets/min-js/translation/index.js?v=140320251017"></script>
<script src="https://pvgis.com/assets/min-js/modal/index.js?v=140320251017"></script>
<script src="https://cdn.socket.io/4.5.0/socket.io.min.js"></script>
<script src="https://pvgis.com/assets/min-js/socket-config.js?v=140320251017"></script>
<script>
removeIndesirableTag();
</script>
<div class="logToPdfModal" id="log-to-download-modal" role="dialog">
<div class="logToPdfModal-dialog">
<div class="logToPdfModal-content">
<div class="logToPdfModal-header">
<img width="50px" height="50px" src="https://cdn.pvgis.com/images/pvgis24/info-icon.png?v=18102024" alt="" srcset="">
<h5 class="modal-title"><span data-ts="pvgis.need_log_to_download"></span></h5>
<span onclick="hideLogForPdfModal()" class="logToPdfModal-close">×</span>
</div>
<div class="logToPdfModal-footer" id="logToPdfModal-log">
<button id="logToPdfModal-login-button" data-ts="pvgis.header.account_menu.login">Login</button>
<span data-ts="pvgis.ou_or">or</span>
<button id="logToPdfModal-register-button" data-ts="pvgis.header.account_menu.subscribe">Register</button>
</div>
<div class="logToPdfModal-body hidden" id="logToPdfModal-subscribe">
<a data-cms-link href="/subscription" id="logToPdfModal-subscribe-link"><span data-ts="pvgis.subscribe_now">subscribe_now</span></a>
</div>
<div class="logToPdfModal-body hidden" id="logToPdfModal-download-blurred">
<span data-ts="pvgis.download_blurred_pdf">Continue downloading the blurred pdf ?</span>
<button id="logToPdfModal-download-button"><span data-ts="pvgis.simulation.continue">Continue</span><span class="spinnerCont hidden"><i class="fas fa-spinner"></i></span></button>
</div>
</div>
</div>
</div>
<div id="auth-form-modal" class="form-modal">
<div class="auth-form-modal-dialog">
<div class="login-content">
<div class="log-header">
<span class="log-header-title">Login</span>
<span class="close-button" onclick="hideFormModal('login')">×</span>
</div>
<div class="container-fluid login-container-fluid">
<div class="bg-login"></div>
<div class="login-container">
<div class="create-account">
<p>
Don't have an account yet?
<a href="/register" id="switch-to-register">
Create an account </a>
</p>
<!-- <p><a href="/"> <span data-ts="pvgis.login.back_to_pvgis_dot_com">Retour vers PVGIS.COM</span></a></p> -->
</div>
<!-- <div class="row">
<div class="col-md-8 "> -->
<div class="login-forms-container">
<div class="box">
<form id="login-form" action="handleLogin" method="POST">
<input type="hidden" name="redirectLink" value="">
<div class="form-group-container">
<div class="form-group">
<label for="email_login" >
Email </label>
<input name="email" type="text" class="form-control to-validate text-input" id="email_login" placeholder="robert.dupont@gmail.com" required>
<div class="error-form-message" >
This field is required. </div>
</div>
<div class="form-group">
<label for="password_login" >
Password </label>
<div class="pwd-input">
<input name="password" type="password" class="form-control to-validate text-input" id="password_login" data-ts="Password" required>
<span class="password-toggle" onclick="toggleLoginPasswordVisibility()"><i id="eye-icon" class="bi bi-eye"></i></span>
</div>
<div class="error-form-message" >
This field is required.
</div>
<a href="/forgot-password" >
Forgot password </a>
</div>
</div>
<div class="message-container">
<div class="error-message">
</div>
<div class="success-message">
</div>
</div>
<div class="action-container">
<button type="button" id="cancel-button" class="btn cancel-button" onclick="cancelLogin()">
<span >
Cancel </span>
</button>
<button type="submit" class="btn btn-primary login-button">
<i class="fas fa-spinner"></i> <span >
Log in </span>
</button>
</div>
</form>
</div>
<div class="tiers-registration-container mb-15">
<h3 >
Sign in </h3>
<h3 class="uppercase" >
QUICKLY
</h3>
<p >
with your account </p>
<div class="button-container">
<button type="button" id="google-login-button" class="btn g-btn"><img src="https://cdn.pvgis.com/images/loading-ps.svg" data-src="https://cdn.pvgis.com/images/pvgis24/google.jpg" class="lazyLoad lazy-load-img" alt="S'inscrire a PVGIS avec Google"> <span >Connect with my Google Account </span></button>
<!-- TODO temporary hide facebook action -->
<!-- <div class="divider">
<span data-ts="pvgis.registration.or">ou</span>
</div>
<button type="button" class="btn fb-btn"><img src="https://cdn.pvgis.com/images/pvgis24/facebook.jpg" alt="S'inscrire a PVGIS avec Facebook"> <span data-ts="pvgis.registration.fb_sign_in">S'inscrire avec Facebook</span></button> -->
</div>
</div>
</div>
</div>
</div>
<script>
var userData = null;
const errorMessage = '';
// const redirectToPdf = true
// const emailValidate = 'Email verified successfully'
const emailValidate = '';
const redirectToPdf = 0;
let loginGoogleUrl = 'https://api.pvgis.com/auth/login/google';
// let loginFacebookUrl = 'https://api.pvgis.com/auth/login/facebook';
</script>
<script src="https://pvgis.com/assets/min-js/account/login.js?v=140320251017"></script> </div>
<div class="register-content">
<div class="log-header">
<span class="log-header-title">Registration</span>
<span class="close-button" onclick="hideFormModal('register')">×</span>
</div>
<div class="container-fluid">
<div class="bg-login"></div>
<div class="registration-container">
<div class="row">
<div class="col-md-8 page-title">
<h2>Registration page</h2>
<p class="to-login">
Already an account? <a href="/login" id="switch-to-login"><span>I log in</span></a> </p>
</div>
</div>
<div class="row mb-15">
<div class="col-md-8 ">
<form id="registration-form" action="https://api.pvgis.com/auth/register">
<div class="message-container">
<div class="error-message-register">
</div>
</div>
<div class="row radio-account-type">
<div class="col-sm-4">
<input type="radio" name="type" id="professional" class="radio-pvgis">
<label for="professional" class="font-bold-condensed">Professional</label><br>
<label for="professional"><span class="description-radio">My clients' projects</span></label>
</div>
<div class="col-sm-4">
<input type="radio" name="type" id="school" class="radio-pvgis">
<label for="school" class="font-bold-condensed">School</label><br>
<label for="school"><span class="description-radio">School projects</span></label>
</div>
<div class="col-sm-4">
<input type="radio" name="type" id="personnal" checked class="radio-pvgis">
<label for="personnal" class="font-bold-condensed">Particular</label><br>
<label for="personnal"><span class="description-radio">A personal project</span></label>
</div>
</div>
<div class="row">
<div class="col-md-6 user-info-container">
<div class="form-group nickname-container hidden">
<label for="pseudo"><span>Nickname</span></label>
<input style="width: 95%;" type="text" class="form-control to-send" id="pseudo" name="pseudo">
<div class="error-message">
<span class="pseudo-required"></span>
<span class="pseudo-already-used">Pseudo is already taken.</span>
</div>
</div>
<div class="form-group school-container">
<label for="school-name"><span>School</span></label>
<input style="width: 95%;" type="text" class="form-control to-validate" id="school-name" name="school-name">
</div>
<div class="form-group company-container">
<label for="company-name"><span>Company</span></label>
<input style="width: 95%;" type="text" class="form-control to-validate" id="company-name" name="company-name">
</div>
<div class="form-group">
<label for="last-name"><span>Name</span><span class="required">*</span></label>
<input style="width: 95%;" type="text" class="form-control to-validate" id="last-name" name="last-name">
<div class="error-message">This field is required.</div>
</div>
<div class="form-group">
<label for="first-name"><span>First Name</span><span class="required">*</span></label>
<input style="width: 95%;" type="text" class="form-control to-validate" id="first-name" name="first-name">
<div class="error-message">This field is required.</div>
</div>
<div class="form-group country-container">
<div class="dropdown-select-container" id="countryDropdownContainer">
<label for="country"><span>Country</span><span class="required">*</span></label>
<div class="dropdown-select-button" id="countryDropdownButton">
<span id="selectedCountry"></span>
</div>
<ol class="dropdown-select-list" id="countryDropdownList">
<input type="text" class="search-input" id="countrySearchInput" placeholder="Search">
<div class="error-message">This field is required.</div>
<div class="item-list-container" id="countryListContainer">
</div>
</ol>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="email"><span>Email</span><span class="required">*</span></label>
<input type="email" class="form-control to-validate" id="email" name="email">
<div class="error-message">
</div>
</div>
<div class="form-group">
<label for="password"><span>Password</span><span class="required">*</span></label>
<div class="password-container">
<div class="eye-toogler"><i id="toggle-password" class="bi bi-eye"></i></div>
<input type="text" class="form-control to-validate" id="password" name="password">
</div>
<div class="error-message">Password must contain at least 8 caracters with uppercase, lowercase and number.</div>
</div>
<div class="form-group password-container">
<label for="confirm-password"><span>Confirm Password</span><span class="required">*</span></label>
<div class="password-container">
<div class="eye-toogler"><i id="toggle-password-confirm" class="bi bi-eye"></i></div>
<input type="text" class="form-control to-validate" id="confirm-password" name="confirm-password">
</div>
<div class="error-message">Passwords do not match.</div>
</div>
</div>
</div>
<div class="register-accept-terms">
<div class="form-group check-container">
<input type="checkbox" name="accept-cgu" class="checkbox-pvgis" id="accept-cgu">
<label class="no-wrap" for="accept-cgu"><span>I accept </span> <a href="/register" id="viewTermAndConditionAction"> the terms and conditions </a> <span>of use</span></label>
</div>
</div>
<input type="hidden" id="language" name="language" value="en">
<div class="btn-container">
<a id="cancel-button" class="btn cancel-button"><span>Cancel</span></a>
<button type="submit" id="submit-button" class="btn btn-submit disabled" disabled><i class="fas fa-spinner"></i> <span>Create my account</span></button>
</div>
</form>
</div>
<div class="col-md-4 md-pl-10">
<div class="tiers-registration-container">
<h3>Sign up</h3>
<h3 class="uppercase">QUICKLY</h3>
<p>with your GOOGLE account, <br> create your account in 2 clicks</p>
<button type="button" id="google-registration-button" class="btn g-btn"><img src="https://cdn.pvgis.com/images/loading-ps.svg" data-src="https://cdn.pvgis.com/images/pvgis24/google.jpg" class="lazyLoad lazy-load-img" alt="S'inscrire a PVGIS avec Google"> <span>Connect with my Google Account</span></button>
<!-- TODO temporary hide facebook action -->
<!-- <div class="divider">
<span data-ts="pvgis.registration.or">ou</span>
</div>
<button type="button" class="btn fb-btn"><img src="https://cdn.pvgis.com/images/pvgis24/facebook.jpg" alt="S'inscrire a PVGIS avec Facebook"> <span data-ts="pvgis.registration.fb_sign">S'inscrire avec Facebook</span></button> -->
</div>
</div>
</div>
</div>
<script>
$cartReference = null;
let registrationGoogleUrl = 'https://api.pvgis.com/auth/google';
</script> </div>
</div>
</div>
</div>
<div class="modal-extranet confirm-mail-modal mail-sent">
<div class="container">
<div class="row">
<div class="col-xs-12 col-md-8">
<div class="popup-container">
<div class="row modal-extranet-content">
<p class="mail-confirm-content">
<span data-ts="pvgis.mail.confirm_text">Un mail de validation vient de vous être envoyé à :</span><br>
<span id="mail-to" class="font-condensed-oblique"></span><br>
<span data-ts="pvgis.mail.thanks">Merci de cliquer sur le lien pour confirmer votre inscription.</span>
</p>
</div>
<div class="btn-container">
<a href="/login" class="save-btn" data-ts="pvgis.mail.ok">OK</a>
</div>
</div>
</div>
</div>
</div>
</div> <script src="https://pvgis.com/assets/min-js/logPDFModal.js?v=140320251017"></script>
<script src="https://pvgis.com/assets/min-js/extranet/dropdown-select.js?v=140320251017" defer></script>
<script src="https://pvgis.com/assets/min-js/account/registration.js?v=140320251017"></script>
<script src="https://pvgis.com/assets/min-js/extranet/register_modal_pvgis24.js?v=140320251017" defer></script>
<script>
const sessionData = [];
const token = sessionData?.user_data?.token;
let customerId = '';
const folder = null;
const projects = null;
const simulationItem = null;
const simulationId = null;
const projectId = null;
const peakPowerTotal = document.getElementById('peak-power-total');
const peakPowerTotalPvgis24 = document.getElementById('peakPowerTotalPvgis24');
const isHomePage = true;
localStorage.setItem('peakPowerTotalPvgis24', peakPowerTotal.value);
peakPowerTotal.addEventListener('change', function (){
localStorage.setItem('peakPowerTotalPvgis24', peakPowerTotal.value);
peakPowerTotalPvgis24.innerHTML = peakPowerTotal.value;
})
peakPowerTotalPvgis24.innerHTML = peakPowerTotal.value;
const currentSubscription = null;
const products = null;
let hasActiveSubscription = false;
let stripePayementInProgress = false;
let scriptBasePath = "https://pvgis.com/assets/min-js";
</script>
<section class="footer-cards-grid">
<a class="footer-card" href="/global-solar-calculator" data-cms-link c-key="global-solar-calculator">
<span class="footer-card-title">
PVGIS.COM </span>
<span class="footer-card-content">
Solar panel calculator <br>
Simulations designed to meet the needs of professionals. </span>
</a>
<a class="footer-card" href="/solar-calculator-pvgis" data-cms-link c-key="solar-calculator-pvgis">
<span class="footer-card-title">
PVGIS24 ? </span>
<span class="footer-card-content">
The ultimate free solar simulation tool. </span>
</a>
<a class="footer-card" href="/blog" data-cms-link c-key="pvgis-blog">
<span class="footer-card-title">
PVGIS.BLOG
</span>
<span class="footer-card-content">
At the heart of solar energy information. </span>
</a>
<a class="footer-card" href="/ecosolar" data-cms-link c-key="pvgis-ecosolar">
<span class="footer-card-title">
ECO SOLAR FRIENDLY
</span>
<span class="footer-card-content">
A must-have certification for solar installers. </span>
</a>
<div class="footer-card footer-highlight">
<span class="footer-card-title">
CALCULATE, SIMULATE, OPTIMIZE, AND CONTROL WITH </span>
<a href="/solar-calculator" data-cms-link class="calculator-button">
PVGIS CALCULATOR </a>
</div>
</section>
<footer id="footer" class="">
<div class="footer-top">
<p>PVGIS.COM provides information on solar radiation and photovoltaic system performance for any location in the world.</p>
</div>
<div class="footer-content">
<div class="footer-section">
<ul>
<li>
<a href="/" data-cms-link>
Home </a>
</li>
<li>
<a href="/pvgis-about" data-cms-link>
PVGIS24 </a>
</li>
<li>
<a href="/solar-calculator" data-cms-link>
PVGIS calculator </a>
</li>
</ul>
</div>
<div class="footer-section">
<ul>
<li>
<a href="/subscription" data-cms-link>
Subscription </a>
</li>
<li>
<a href="/manual-5-3" data-cms-link>
Manual PVGIS 5.3 </a>
</li>
<li>
<a href="/solar-calculator-pvgis" data-cms-link>
PVGIS24 ? </a>
</li>
</ul>
</div>
<div class="footer-section">
<ul>
<li>
<a href="/global-solar-calculator" data-cms-link>
PVGIS.COM </a>
</li>
<li>
<a href="/ecosolar" data-cms-link>
Eco Solar Friendly
</a>
</li>
<li>
<a href="/cities-solar" data-cms-link>
Cities solar </a>
</li>
</ul>
</div>
<div class="footer-section">
<ul>
<li>
<a href="/legal-notice" data-cms-link>
Legal notice </a>
</li>
<li>
<a href="#" onclick="displayCookiesPreferences()">
Cookies </a>
</li>
<li>
<a href="/acknowledgement" data-cms-link>
Acknowledgments </a>
</li>
</ul>
</div>
<div class="footer-section">
<ul>
<li>
<a href="mailto:support@pvgis.com">
Contact </a>
</li>
</ul>
<div class="user-actif-text">
* Active users worldwide <br> Source: Analytics.google.com </div>
</div>
</div>
<div class="footer-bottom">
<p>© COPYRIGHT 2025</p>
</div>
</footer>
<script src="https://pvgis.com/assets/min-js/footer_cards.js?v=140320251017"></script>
<script src="https://pvgis.com/assets/min-js/footer.js?v=140320251017"></script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBGwuAzneXJqwq8ZQ4oJFb9-crInpddy2E&language=en" async defer></script>
<script
src="https://pvgis.com/assets/min-js/extranet/simulation/information-photovoltaics.js?v=140320251017"
defer></script>
<script
src="https://pvgis.com/assets/min-js/extranet/simulation/simulation-highchart-drawer.js?v=140320251017"
></script>
<script
src="https://pvgis.com/assets/min-js/extranet/simulation/tools/numberFormatter.js?v=140320251017"
defer></script>
<script
src="https://pvgis.com/assets/min-js/country/country-utils.js?v=140320251017">
</script>
<script
src="https://pvgis.com/assets/min-js/utils/google_maps.js?v=140320251017">
</script>
<script
src="https://pvgis.com/assets/min-js/utils/get_angle_with_card.js?v=140320251017"
defer>
</script>
</script>
<script
src="https://pvgis.com/assets/min-js/utils/maps_zoom.js?v=140320251017">
</script>
<script
src="https://pvgis.com/assets/min-js/graph/chart-drawer.js?v=140320251017">
</script>
<script
src="https://pvgis.com/assets/min-js/horizon-profile/horizon-profile.js?v=140320251017">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highstock/5.0.2/highstock.js"></script>
<script src="https://unpkg.com/highcharts@5.0.2/highcharts-more.js"></script>
<script
src="https://pvgis.com/assets/min-js/countries-area-data.js?v=140320251017">
</script>
<script
src="https://pvgis.com/assets/min-js/custom-countries-extent.js?v=140320251017">
</script>
<script src="https://pvgis.com/assets/min-js/file-input.js?v=140320251017">
</script>
<script src="https://pvgis.com/assets/min-js/horizon_comp.js?v=140320251017">
</script>
<script src="https://pvgis.com/assets/min-js/pvgis24.js?v=140320251017">
</script>
<!-- <script defer>
requestAnimationFrame(() => {
document.getElementById("map-placeholder").classList.add("d-none");
document.getElementById("map").classList.remove("d-none");
});
</script> -->
<script src="https://pvgis.com/assets/min-js/file-download.js?v=140320251017">
</script>
<script src="https://pvgis.com/assets/min-js/pvgis24-sunshine-hours.js?v=140320251017">
</script>
<script src="https://cdn.pvgis.com/assets/js/graph/grid-connected-and-tracking-pv-system.js"></script>
<script src="https://pvgis.com/assets/min-js/utils.js?v=140320251017"></script>
<script src="https://pvgis.com/assets/min-js/modal.js?v=140320251017"></script>
<script
src="https://pvgis.com/assets/min-js/extranet/simulation/tools/inputSelect.js?v=140320251017">
</script>
<script
src="https://pvgis.com/assets/min-js/extranet/simulation/tools/checkNumberInput.js?v=140320251017">
</script>
<script>
function updateSelectableElements() {
return Array.from(document.querySelectorAll(`input.p-24-number-input`))
.filter(input => {
let element = input;
while (element) {
if (window.getComputedStyle(element).display === 'none') {
return false;
}
element = element.parentElement;
}
if (input.getAttribute('disabled') == 'true') {
return false
}
return true;
})
}
checkInput(document.querySelectorAll(`input.p-24-number-input`));
document.addEventListener('DOMContentLoaded', () => {
setTimeout(() => {
setFocusableElementList(updateSelectableElements());
document.querySelectorAll('.radio-custom input, input').forEach((e) => {
e.addEventListener('change', (e) => {
focusableElements = []
setFocusableElementList(updateSelectableElements());
})
})
}, 5000);
})
</script>
<script
src="https://pvgis.com/assets/min-js/socket/pvgis24-socket.js?v=140320251017"
></script>
</body>