Created At: 2026-06-14T14:02:30Z
Completed At: 2026-06-14T14:02:30Z
File Path: `file:///c:/Users/HP/Downloads/climate-system/climate-system/index.php`
Total Lines: 4592
Total Bytes: 194050
Showing lines 2720 to 2765
The following code has been modified to include a line number before every line, in the format: <line_number>: <original_line>. Please note that any changes targeting the original code should remove the line number, colon, and leading space.
2720:       const textColor = isDark ? '#f1f5f9' : '#1e293b';
2721: 
2722:       let unit = '';
2723:       let yLabel = variableName;
2724:       const vNorm = variableName.toLowerCase();
2725:       if (vNorm.includes('precipitation') || vNorm.includes('curah hujan') || vNorm.includes('hujan')) {
2726:         unit = 'mm/tahun';
2727:         yLabel = 'Curah Hujan (mm/tahun)';
2728:       } else if (vNorm.includes('suhu') || vNorm.includes('temp') || vNorm.includes('temperature')) {
2729:         if (vNorm.includes('anomaly') || vNorm.includes('anomali') || vNorm.includes('minimum') || vNorm.includes('min')) {
2730:           unit = '°C';
2731:           yLabel = 'Temperature Anomaly';
2732:         } else {
2733:           unit = '°C';
2734:           yLabel = 'Suhu (°C)';
2735:         }
2736:       }
2737: 
2738:       let isTempAnomaly = false;
2739:       const vLower = vNorm.toLowerCase();
2740:       if (vLower.includes('anomaly') || vLower.includes('anomali') || vLower.includes('minimum') || vLower.includes('min')) {
2741:         isTempAnomaly = true;
2742:       } else if (vLower.includes('suhu') || vLower.includes('temp') || vLower.includes('temperature')) {
2743:         let maxVal = -Infinity;
2744:         historical.forEach(d => {
2745:           if (d.ssp126 !== undefined && d.ssp126 !== null && d.ssp126 > maxVal) maxVal = d.ssp126;
2746:         });
2747:         mean.forEach(d => {
2748:           if (d.ssp126 !== undefined && d.ssp126 !== null && d.ssp126 > maxVal) maxVal = d.ssp126;
2749:           if (d.ssp245 !== undefined && d.ssp245 !== null && d.ssp245 > maxVal) maxVal = d.ssp245;
2750:           if (d.ssp370 !== undefined && d.ssp370 !== null && d.ssp370 > maxVal) maxVal = d.ssp370;
2751:           if (d.ssp585 !== undefined && d.ssp585 !== null && d.ssp585 > maxVal) maxVal = d.ssp585;
2752:         });
2753:         if (maxVal < 12) {
2754:           isTempAnomaly = true;
2755:         }
2756:       } else if (vNorm.includes('kelembaban') || vNorm.includes('humidity') || vNorm.includes('kelembapan')) {
2757:         unit = '%';
2758:         yLabel = 'Kelembaban (%)';
2759:       } else if (vNorm.includes('kecepatan') || vNorm.includes('angin') || vNorm.includes('wind')) {
2760:         unit = 'm/s';
2761:         yLabel = 'Kecepatan Angin (m/s)';
2762:       } else if (vNorm.includes('radiasi') || vNorm.includes('solar') || vNorm.includes('matahari')) {
2763:         unit = 'W/m²';
2764:         yLabel = 'Radiasi Matahari (W/m²)';
2765:       } else if (vNorm.includes('ph')) {
The above content does NOT show the entire file contents. If you need to view any lines of the file which were not shown to complete your task, call this tool again to view those lines.
