<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Analiz on Subasi - Türkçe</title><link>https://subasi.is-a.dev/categories/analiz/</link><description>Recent content in Analiz on Subasi - Türkçe</description><generator>Hugo</generator><language>tr</language><lastBuildDate>Tue, 24 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://subasi.is-a.dev/categories/analiz/index.xml" rel="self" type="application/rss+xml"/><item><title>Engiz Çayı Havzası Gelecek Dönem Kuraklık Projeksiyonu: CMIP6 ve SPEI-3 Analizi</title><link>https://subasi.is-a.dev/blog/posts/engiz-havzasi-kuraklik-analizi/</link><pubDate>Tue, 24 Mar 2026 00:00:00 +0000</pubDate><guid>https://subasi.is-a.dev/blog/posts/engiz-havzasi-kuraklik-analizi/</guid><description>NASA NEX-GDDP-CMIP6 verileri kullanılarak Engiz Çayı Havzası&amp;#39;nın 2100 yılına kadar olan kuraklık eğilimlerinin Mann-Kendall ve Pettitt testleri ile incelenmesi.</description><content:encoded><![CDATA[<h2 id="özet">Özet</h2>
<p>Bu teknik rapor, Samsun ilinde yer alan Engiz Çayı Havzası&rsquo;nın iklim değişikliği senaryoları altındaki kuraklık dinamiklerini incelemektedir. NASA NEX-GDDP-CMIP6 MPI-ESM1-2-HR modeli verileri kullanılarak havzanın 2100 yılına kadar olan Standartlaştırılmış Yağış Evapotranspirasyon İndeksi (SPEI-3) değerleri modellenmiştir. İstatistiksel analizler, otokorelasyon düzeltmeli Modifiye Mann-Kendall ve su yılı bazlı Pettitt testleri ile gerçekleştirilmiştir. Bulgular, özellikle SSP5-8.5 yüksek emisyon senaryosu altında havzanın <strong>2052 su yılında</strong> kalıcı ve şiddetli bir kurak rejim kayması (regime shift) yaşayacağını göstermektedir. Kuraklığın temel sürücüsü yağış azalmasından ziyade, ekstrem sıcaklık artışlarına bağlı olarak kontrolden çıkan atmosferik buharlaşma talebi (termodinamik zorlama) olduğunu göstermektedir.</p>
<h2 id="1-çalışma-alanı-ve-coğrafi-sınırlar">1. Çalışma Alanı ve Coğrafi Sınırlar</h2>
<p>Çalışma alanı, Samsun ilinin batısında konumlanan ve Karadeniz iklim kuşağının tipik bağıl nemli rejimine sahip olan <strong>Engiz Çayı Havzası</strong>&lsquo;dır. Havzanın hidrolojik hassasiyeti, topoğrafik yapısının dik olması ve tarımsal faaliyetlerin büyük ölçüde düzenli yağış rejimine (rain-fed) bağımlı olmasından kaynaklanmaktadır.</p>
<h3 id="11-havza-sınırlarının-belirlenmesi">1.1. Havza Sınırlarının Belirlenmesi</h3>
<p>Havzanın topolojik sınırları ve nehir ağı (stream network), küresel ölçekte yüksek çözünürlüklü hidrolojik veriler sağlayan <a href="https://mghydro.com/watersheds/">MGHydro Watersheds</a> platformundan temin edilmiştir. <a href="https://mghydro.com/app/report?lat=41.494&amp;lng=36.118&amp;precision=high&amp;simplify=true">İlgili havza raporuna göre</a>, havza çıkış (outlet) noktası 41.494° K, 36.118° D koordinatlarında yer almakta olup, drenaj alanı iç kesimlere doğru genişlemektedir.</p>
<p><img alt="Engiz Çayı Havzası Konum ve CMIP6 Ölçek Haritası" loading="lazy" src="/blog/posts/engiz-havzasi-kuraklik-analizi/engiz_havza_map.png">
<em>Şekil 1: Engiz Çayı Havzası&rsquo;nın konumu, hidrolojik ağı ve istatistiksel ölçek indirme (downscaling) uygulanmış NEX-GDDP-CMIP6 (~25 km) grid hücrelerinin kıyaslaması.</em></p>
<h3 id="12-koordinat-aralıkları-ve-grid-seçimi">1.2. Koordinat Aralıkları ve Grid Seçimi</h3>
<p>Temin edilen shapefile kullanılarak yapılan coğrafi analiz sonucunda, havzanın sınırlarının yaklaşık olarak <strong>41.30° - 41.50° Kuzey</strong> enlemleri ve <strong>35.80° - 36.20° Doğu</strong> boylamları arasında yer aldığı belirlenmiştir. Bu sınırlar dahilinde, NEX-GDDP-CMIP6 veri setinden havza merkezini (Ortalama Enlem: 41.405° K) en iyi temsil eden 2 adet ~25 km (0.25°) çözünürlüklü grid hücresi analiz için filtrelenmiştir.</p>
<h2 id="2-veri-kaynakları-ve-otomatize-ön-işleme-pipeline">2. Veri Kaynakları ve Otomatize Ön İşleme (Pipeline)</h2>
<p>Çalışmada, <a href="https://ds.nccs.nasa.gov/thredds/catalog/AMES/NEX/GDDP-CMIP6/MPI-ESM1-2-HR/catalog.html">NASA Ames Araştırma Merkezi</a> tarafından sağlanan Bias-Corrected Spatial Disaggregation (BCSD) yöntemiyle istatistiksel olarak $\sim$25 km çözünürlüğe indirilmiş <strong>NEX-GDDP-CMIP6</strong> veri seti kullanılmıştır.</p>
<p>Model olarak Max Planck Enstitüsü tarafından geliştirilen <strong>MPI-ESM1-2-HR</strong> seçilmiştir; bu model, yüksek çözünürlüğü sayesinde ekstratropikal siklonları ve orta enlem dinamiklerini başarılı bir şekilde simüle etmektedir. Analiz, Historical referans dönemi (1980-2014) ile dört farklı Paylaşılan Sosyoekonomik Rota (SSP1-2.6, SSP2-4.5, SSP3-7.0, SSP5-8.5) projeksiyonunu (2015-2100) kapsamaktadır.</p>
<h3 id="21-bash-ve-cdo-ile-veri-çekimi">2.1. Bash ve CDO ile Veri Çekimi</h3>
<p>İndirme ve birim dönüşüm işlemleri asenkron paralel işçiler (worker) ve CDO (Climate Data Operators) kullanılarak otomatize edilmiştir.</p>
<p><strong>Birim Dönüşümleri ve İndirgeme Rasyoneli:</strong></p>
<ul>
<li><code>pr</code> (Yağış): Orijinal birim kg/m²/s. Günlük toplama geçmek için 86400 ile çarpılmış (<code>mulc,86400</code>), ardından aylık toplamlara (<code>monsum</code>) dönüştürülmüştür.</li>
<li><code>tasmax</code> / <code>tasmin</code>: Orijinal birim Kelvin. Celsius&rsquo;a dönüştürmek için 273.15 çıkarılmış (<code>subc,273.15</code>), ardından aylık ortalamalara (<code>monmean</code>) dönüştürülmüştür.</li>
</ul>
<details>
<summary><b>Otomatize Veri Çekme Bash Betiği (Genişletmek için tıklayın)</b></summary>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e">#!/bin/bash
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span>export HDF5_USE_FILE_LOCKING<span style="color:#f92672">=</span>FALSE
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># --- Ortam Değişkenleri ---</span>
</span></span><span style="display:flex;"><span>export NORTH<span style="color:#f92672">=</span>41.4
</span></span><span style="display:flex;"><span>export SOUTH<span style="color:#f92672">=</span>41.3
</span></span><span style="display:flex;"><span>export WEST<span style="color:#f92672">=</span>35.8
</span></span><span style="display:flex;"><span>export EAST<span style="color:#f92672">=</span>36.2
</span></span><span style="display:flex;"><span>export MODEL<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;MPI-ESM1-2-HR&#34;</span>
</span></span><span style="display:flex;"><span>export VARIANT<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;r1i1p1f1&#34;</span>
</span></span><span style="display:flex;"><span>export OUT_DIR<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;data&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>VARIABLES<span style="color:#f92672">=(</span><span style="color:#e6db74">&#34;pr&#34;</span> <span style="color:#e6db74">&#34;tasmax&#34;</span> <span style="color:#e6db74">&#34;tasmin&#34;</span><span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>SSPS<span style="color:#f92672">=(</span><span style="color:#e6db74">&#34;ssp126&#34;</span> <span style="color:#e6db74">&#34;ssp245&#34;</span> <span style="color:#e6db74">&#34;ssp370&#34;</span> <span style="color:#e6db74">&#34;ssp585&#34;</span><span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>mkdir -p <span style="color:#e6db74">&#34;</span>$OUT_DIR<span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Sinyal Yakalama: Betik durdurulursa temizlik yap</span>
</span></span><span style="display:flex;"><span>trap <span style="color:#e6db74">&#39;rm -f worker.sh download_tasks.txt; exit 1&#39;</span> INT TERM
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 1. İşçi (Worker) Betiği</span>
</span></span><span style="display:flex;"><span>cat <span style="color:#e6db74">&lt;&lt; &#39;EOF&#39; &gt; worker.sh
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">#!/bin/bash
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">SCENARIO=$1
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">VAR=$2
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">YEAR=$3
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">BASE_URL=&#34;https://ds.nccs.nasa.gov/thredds/ncss/grid/AMES/NEX/GDDP-CMIP6/${MODEL}/${SCENARIO}/${VARIANT}&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">FILE=&#34;${VAR}_day_${MODEL}_${SCENARIO}_${VARIANT}_gn_${YEAR}_v2.0.nc&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">NCSS_URL=&#34;${BASE_URL}/${VAR}/${FILE}?var=${VAR}&amp;north=${NORTH}&amp;west=${WEST}&amp;east=${EAST}&amp;south=${SOUTH}&amp;horizStride=&amp;time_start=${YEAR}-01-01T12%3A00%3A00Z&amp;time_end=${YEAR}-12-31T12%3A00%3A00Z&amp;timeStride=&amp;vertCoord=&amp;accept=netcdf3&amp;addLatLon=true&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">RAW_SUBSET=&#34;$OUT_DIR/$VAR/subset_${SCENARIO}_${VAR}_${YEAR}.nc&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">TEMP_UNIT=&#34;$OUT_DIR/$VAR/temp_unit_${SCENARIO}_${VAR}_${YEAR}.nc&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">FINAL_MONTHLY=&#34;$OUT_DIR/$VAR/${VAR}_aylik_${SCENARIO}_${YEAR}.nc&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">if [ -f &#34;$FINAL_MONTHLY&#34; ]; then
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    exit 0
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">fi
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">wget -q -t 2 --user-agent=&#34;Mozilla/5.0 (X11; Linux x86_64)&#34; --timeout=60 -O &#34;$RAW_SUBSET&#34; &#34;$NCSS_URL&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">if [ ! -s &#34;$RAW_SUBSET&#34; ] || grep -q &#34;&lt;html&gt;&#34; &#34;$RAW_SUBSET&#34; || grep -q &#34;&lt;Exception&gt;&#34; &#34;$RAW_SUBSET&#34;; then
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    echo &#34;[HATA] $VAR | $SCENARIO | $YEAR -&gt; Sunucu reddetti veya dosya bozuk.&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    rm -f &#34;$RAW_SUBSET&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    exit 1
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">fi
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74"># CDO işlemleri fiziksel adımlara bölündü (Sanal Pipe İptal)
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">if [ &#34;$VAR&#34; == &#34;pr&#34; ]; then
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    cdo -s -O -f nc mulc,86400 &#34;$RAW_SUBSET&#34; &#34;$TEMP_UNIT&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    cdo -s -O -f nc monsum &#34;$TEMP_UNIT&#34; &#34;$FINAL_MONTHLY&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">else
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    cdo -s -O -f nc subc,273.15 &#34;$RAW_SUBSET&#34; &#34;$TEMP_UNIT&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    cdo -s -O -f nc monmean &#34;$TEMP_UNIT&#34; &#34;$FINAL_MONTHLY&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">fi
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74"># Geçici fiziksel dosyaları temizle
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">rm -f &#34;$RAW_SUBSET&#34; &#34;$TEMP_UNIT&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">echo &#34;[Tamam] $VAR | $SCENARIO | $YEAR&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">EOF</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>chmod +x worker.sh
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 2. Kuyruk Oluşturma</span>
</span></span><span style="display:flex;"><span>TASK_FILE<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;download_tasks.txt&#34;</span>
</span></span><span style="display:flex;"><span>&gt; <span style="color:#e6db74">&#34;</span>$TASK_FILE<span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">for</span> VAR in <span style="color:#e6db74">&#34;</span><span style="color:#e6db74">${</span>VARIABLES[@]<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>; <span style="color:#66d9ef">do</span>
</span></span><span style="display:flex;"><span>    mkdir -p <span style="color:#e6db74">&#34;</span>$OUT_DIR<span style="color:#e6db74">/</span>$VAR<span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">for</span> YEAR in <span style="color:#66d9ef">$(</span>seq <span style="color:#ae81ff">1980</span> 2014<span style="color:#66d9ef">)</span>; <span style="color:#66d9ef">do</span>
</span></span><span style="display:flex;"><span>        echo <span style="color:#e6db74">&#34;historical </span>$VAR<span style="color:#e6db74"> </span>$YEAR<span style="color:#e6db74">&#34;</span> &gt;&gt; <span style="color:#e6db74">&#34;</span>$TASK_FILE<span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">done</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">done</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">for</span> SSP in <span style="color:#e6db74">&#34;</span><span style="color:#e6db74">${</span>SSPS[@]<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>; <span style="color:#66d9ef">do</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">for</span> VAR in <span style="color:#e6db74">&#34;</span><span style="color:#e6db74">${</span>VARIABLES[@]<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>; <span style="color:#66d9ef">do</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">for</span> YEAR in <span style="color:#66d9ef">$(</span>seq <span style="color:#ae81ff">2015</span> 2100<span style="color:#66d9ef">)</span>; <span style="color:#66d9ef">do</span>
</span></span><span style="display:flex;"><span>            echo <span style="color:#e6db74">&#34;</span>$SSP<span style="color:#e6db74"> </span>$VAR<span style="color:#e6db74"> </span>$YEAR<span style="color:#e6db74">&#34;</span> &gt;&gt; <span style="color:#e6db74">&#34;</span>$TASK_FILE<span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">done</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">done</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">done</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 3. xargs ile Paralel Çalıştırma</span>
</span></span><span style="display:flex;"><span>echo <span style="color:#e6db74">&#34;xargs ile 10 paralel indirme ve işleme başlatılıyor...&#34;</span>
</span></span><span style="display:flex;"><span>xargs -P <span style="color:#ae81ff">10</span> -n <span style="color:#ae81ff">3</span> -a <span style="color:#e6db74">&#34;</span>$TASK_FILE<span style="color:#e6db74">&#34;</span> ./worker.sh
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>echo <span style="color:#e6db74">&#34;Zaman serileri birleştiriliyor...&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 4. Yılları Birleştirme</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">for</span> VAR in <span style="color:#e6db74">&#34;</span><span style="color:#e6db74">${</span>VARIABLES[@]<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>; <span style="color:#66d9ef">do</span>
</span></span><span style="display:flex;"><span>    HIST_FILE<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;</span>$OUT_DIR<span style="color:#e6db74">/</span><span style="color:#e6db74">${</span>VAR<span style="color:#e6db74">}</span><span style="color:#e6db74">_engiz_historical_1980_2014.nc&#34;</span>
</span></span><span style="display:flex;"><span>    cdo -s -O -f nc mergetime <span style="color:#e6db74">&#34;</span>$OUT_DIR<span style="color:#e6db74">/</span>$VAR<span style="color:#e6db74">/</span><span style="color:#e6db74">${</span>VAR<span style="color:#e6db74">}</span><span style="color:#e6db74">_aylik_historical_&#34;</span>*.nc <span style="color:#e6db74">&#34;</span>$HIST_FILE<span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">for</span> SSP in <span style="color:#e6db74">&#34;</span><span style="color:#e6db74">${</span>SSPS[@]<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>; <span style="color:#66d9ef">do</span>
</span></span><span style="display:flex;"><span>        SSP_FILE<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;</span>$OUT_DIR<span style="color:#e6db74">/</span><span style="color:#e6db74">${</span>VAR<span style="color:#e6db74">}</span><span style="color:#e6db74">_engiz_</span><span style="color:#e6db74">${</span>SSP<span style="color:#e6db74">}</span><span style="color:#e6db74">_2015_2100.nc&#34;</span>
</span></span><span style="display:flex;"><span>        FINAL_MERGED<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;</span>$OUT_DIR<span style="color:#e6db74">/</span><span style="color:#e6db74">${</span>VAR<span style="color:#e6db74">}</span><span style="color:#e6db74">_engiz_merged_</span><span style="color:#e6db74">${</span>SSP<span style="color:#e6db74">}</span><span style="color:#e6db74">_1980_2100.nc&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        cdo -s -O -f nc mergetime <span style="color:#e6db74">&#34;</span>$OUT_DIR<span style="color:#e6db74">/</span>$VAR<span style="color:#e6db74">/</span><span style="color:#e6db74">${</span>VAR<span style="color:#e6db74">}</span><span style="color:#e6db74">_aylik_</span><span style="color:#e6db74">${</span>SSP<span style="color:#e6db74">}</span><span style="color:#e6db74">_&#34;</span>*.nc <span style="color:#e6db74">&#34;</span>$SSP_FILE<span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> <span style="color:#f92672">[</span> -f <span style="color:#e6db74">&#34;</span>$HIST_FILE<span style="color:#e6db74">&#34;</span> <span style="color:#f92672">]</span> <span style="color:#f92672">&amp;&amp;</span> <span style="color:#f92672">[</span> -f <span style="color:#e6db74">&#34;</span>$SSP_FILE<span style="color:#e6db74">&#34;</span> <span style="color:#f92672">]</span>; <span style="color:#66d9ef">then</span>
</span></span><span style="display:flex;"><span>            cdo -s -O -f nc mergetime <span style="color:#e6db74">&#34;</span>$HIST_FILE<span style="color:#e6db74">&#34;</span> <span style="color:#e6db74">&#34;</span>$SSP_FILE<span style="color:#e6db74">&#34;</span> <span style="color:#e6db74">&#34;</span>$FINAL_MERGED<span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>            echo <span style="color:#e6db74">&#34; -&gt; Oluşturuldu: </span>$FINAL_MERGED<span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">fi</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">done</span>
</span></span><span style="display:flex;"><span>    rm -rf <span style="color:#e6db74">&#34;</span>$OUT_DIR<span style="color:#e6db74">/</span>$VAR<span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">done</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>rm -f worker.sh <span style="color:#e6db74">&#34;</span>$TASK_FILE<span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>echo <span style="color:#e6db74">&#34;Tüm boru hattı başarıyla tamamlandı.&#34;</span>
</span></span></code></pre></div></details>
<h2 id="3-metodoloji-ve-python-entegrasyonu">3. Metodoloji ve Python Entegrasyonu</h2>
<h3 id="31-spei-3-modellemesi-ve-thornthwaite-yaklaşımı">3.1. SPEI-3 Modellemesi ve Thornthwaite Yaklaşımı</h3>
<p>Kuraklık analizi için yalnızca yağışı dikkate alan SPI yerine, küresel ısınmanın havza üzerindeki termodinamik baskısını modelleyebilmek adına Standartlaştırılmış Yağış Evapotranspirasyon İndeksi (SPEI) tercih edilmiştir. Tarımsal stresi ve kısa vadeli nem eksikliğini ölçmek için indeks 3 aylık zaman ölçeğinde (SPEI-3) çalıştırılmıştır.</p>
<p>Potansiyel Evapotranspirasyon (PET) hesabı için Thornthwaite formülü kullanılmıştır. Metodolojik Sınırlama: Thornthwaite yöntemi radyasyon dengesini veya rüzgar hızını hesaba katmayıp yalnızca sıcaklığa dayandığı için, ekstrem emisyon senaryolarının yüzyıl sonu projeksiyonlarında buharlaşmayı olduğundan biraz daha şiddetli hesaplama (overestimation) eğilimine sahiptir.</p>
<h3 id="32-trend-analizi-hamed--rao-modifiye-mann-kendall-testi">3.2. Trend Analizi: Hamed &amp; Rao Modifiye Mann-Kendall Testi</h3>
<p>Hidroklimatolojik zaman serilerinde mevcut olan pozitif lag-1 otokorelasyon (serial correlation), standart Mann-Kendall testinin trendin varlığını abartmasına (Tip 1 hatası) neden olur. Bu istatistiksel yanılgıyı önlemek için, verinin varyansını otokorelasyon katsayısına göre düzelten <strong>Hamed &amp; Rao (1998)</strong> modifikasyonu kullanılmıştır.</p>
<details>
<summary><b>MK Trend Analizi Python Betiği (Genişletmek için tıklayın)</b></summary>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#f92672">import</span> warnings
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>warnings<span style="color:#f92672">.</span>filterwarnings(<span style="color:#e6db74">&#34;ignore&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> os
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># GDAL&#39;ın C seviyesindeki konsol gürültülerini susturmak için:</span>
</span></span><span style="display:flex;"><span>os<span style="color:#f92672">.</span>environ[<span style="color:#e6db74">&#34;CPL_QUIET&#34;</span>] <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;ON&#34;</span>
</span></span><span style="display:flex;"><span>os<span style="color:#f92672">.</span>environ[<span style="color:#e6db74">&#34;CPL_LOG&#34;</span>] <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;/dev/null&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> matplotlib.dates <span style="color:#66d9ef">as</span> mdates
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> matplotlib.pyplot <span style="color:#66d9ef">as</span> plt
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> numpy <span style="color:#66d9ef">as</span> np
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> pandas <span style="color:#66d9ef">as</span> pd
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> pymannkendall <span style="color:#66d9ef">as</span> mk
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> xarray <span style="color:#66d9ef">as</span> xr
</span></span><span style="display:flex;"><span><span style="color:#f92672">from</span> climate_indices <span style="color:#f92672">import</span> compute, indices
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># -------------------------------------------------</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># GENEL AYARLAR</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># -------------------------------------------------</span>
</span></span><span style="display:flex;"><span>OUT_DIR <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;data&#34;</span>
</span></span><span style="display:flex;"><span>os<span style="color:#f92672">.</span>makedirs(OUT_DIR, exist_ok<span style="color:#f92672">=</span><span style="color:#66d9ef">True</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>BASIN_LAT <span style="color:#f92672">=</span> <span style="color:#ae81ff">41.405</span>
</span></span><span style="display:flex;"><span>SCENARIOS <span style="color:#f92672">=</span> [<span style="color:#e6db74">&#34;ssp126&#34;</span>, <span style="color:#e6db74">&#34;ssp245&#34;</span>, <span style="color:#e6db74">&#34;ssp370&#34;</span>, <span style="color:#e6db74">&#34;ssp585&#34;</span>]
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>CALIB_START_YEAR <span style="color:#f92672">=</span> <span style="color:#ae81ff">1980</span>
</span></span><span style="display:flex;"><span>CALIB_END_YEAR <span style="color:#f92672">=</span> <span style="color:#ae81ff">2014</span>
</span></span><span style="display:flex;"><span>DATA_START_YEAR <span style="color:#f92672">=</span> <span style="color:#ae81ff">1980</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>ROLLING_WINDOW <span style="color:#f92672">=</span> <span style="color:#ae81ff">120</span>  <span style="color:#75715e"># 10 yıllık hareketli ortalama (ay cinsinden)</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>print(<span style="color:#e6db74">&#34;</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">SPEI-3 Mann-Kendall Analizi Başlatıldı</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># -------------------------------------------------</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># ANA DÖNGÜ</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># -------------------------------------------------</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">for</span> ssp <span style="color:#f92672">in</span> SCENARIOS:
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;İşleniyor → </span><span style="color:#e6db74">{</span>ssp<span style="color:#f92672">.</span>upper()<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># 1. VERİ OKUMA</span>
</span></span><span style="display:flex;"><span>    pr_file <span style="color:#f92672">=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#e6db74">{</span>OUT_DIR<span style="color:#e6db74">}</span><span style="color:#e6db74">/pr_engiz_merged_</span><span style="color:#e6db74">{</span>ssp<span style="color:#e6db74">}</span><span style="color:#e6db74">_1980_2100.nc&#34;</span>
</span></span><span style="display:flex;"><span>    tasmax_file <span style="color:#f92672">=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#e6db74">{</span>OUT_DIR<span style="color:#e6db74">}</span><span style="color:#e6db74">/tasmax_engiz_merged_</span><span style="color:#e6db74">{</span>ssp<span style="color:#e6db74">}</span><span style="color:#e6db74">_1980_2100.nc&#34;</span>
</span></span><span style="display:flex;"><span>    tasmin_file <span style="color:#f92672">=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#e6db74">{</span>OUT_DIR<span style="color:#e6db74">}</span><span style="color:#e6db74">/tasmin_engiz_merged_</span><span style="color:#e6db74">{</span>ssp<span style="color:#e6db74">}</span><span style="color:#e6db74">_1980_2100.nc&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    pr_ds <span style="color:#f92672">=</span> xr<span style="color:#f92672">.</span>open_dataset(pr_file, chunks<span style="color:#f92672">=</span>{})
</span></span><span style="display:flex;"><span>    tasmax_ds <span style="color:#f92672">=</span> xr<span style="color:#f92672">.</span>open_dataset(tasmax_file, chunks<span style="color:#f92672">=</span>{})
</span></span><span style="display:flex;"><span>    tasmin_ds <span style="color:#f92672">=</span> xr<span style="color:#f92672">.</span>open_dataset(tasmin_file, chunks<span style="color:#f92672">=</span>{})
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># 2. GRID ORTALAMASI</span>
</span></span><span style="display:flex;"><span>    pr_ts <span style="color:#f92672">=</span> pr_ds<span style="color:#f92672">.</span>pr<span style="color:#f92672">.</span>mean(dim<span style="color:#f92672">=</span>[<span style="color:#e6db74">&#34;lat&#34;</span>, <span style="color:#e6db74">&#34;lon&#34;</span>])<span style="color:#f92672">.</span>load()<span style="color:#f92672">.</span>values
</span></span><span style="display:flex;"><span>    tasmax_ts <span style="color:#f92672">=</span> tasmax_ds<span style="color:#f92672">.</span>tasmax<span style="color:#f92672">.</span>mean(dim<span style="color:#f92672">=</span>[<span style="color:#e6db74">&#34;lat&#34;</span>, <span style="color:#e6db74">&#34;lon&#34;</span>])<span style="color:#f92672">.</span>load()<span style="color:#f92672">.</span>values
</span></span><span style="display:flex;"><span>    tasmin_ts <span style="color:#f92672">=</span> tasmin_ds<span style="color:#f92672">.</span>tasmin<span style="color:#f92672">.</span>mean(dim<span style="color:#f92672">=</span>[<span style="color:#e6db74">&#34;lat&#34;</span>, <span style="color:#e6db74">&#34;lon&#34;</span>])<span style="color:#f92672">.</span>load()<span style="color:#f92672">.</span>values
</span></span><span style="display:flex;"><span>    tasmean_ts <span style="color:#f92672">=</span> (tasmax_ts <span style="color:#f92672">+</span> tasmin_ts) <span style="color:#f92672">/</span> <span style="color:#ae81ff">2.0</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    time_dt <span style="color:#f92672">=</span> pd<span style="color:#f92672">.</span>to_datetime(pr_ds<span style="color:#f92672">.</span>time<span style="color:#f92672">.</span>values)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># 3. PET HESABI (Thornthwaite)</span>
</span></span><span style="display:flex;"><span>    pet_ts <span style="color:#f92672">=</span> indices<span style="color:#f92672">.</span>pet(
</span></span><span style="display:flex;"><span>        temperature_celsius<span style="color:#f92672">=</span>tasmean_ts,
</span></span><span style="display:flex;"><span>        latitude_degrees<span style="color:#f92672">=</span>BASIN_LAT,
</span></span><span style="display:flex;"><span>        data_start_year<span style="color:#f92672">=</span>DATA_START_YEAR,
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># 4. SPEI-3 HESABI</span>
</span></span><span style="display:flex;"><span>    spei3_ts <span style="color:#f92672">=</span> indices<span style="color:#f92672">.</span>spei(
</span></span><span style="display:flex;"><span>        precips_mm<span style="color:#f92672">=</span>pr_ts,
</span></span><span style="display:flex;"><span>        pet_mm<span style="color:#f92672">=</span>pet_ts,
</span></span><span style="display:flex;"><span>        scale<span style="color:#f92672">=</span><span style="color:#ae81ff">3</span>,
</span></span><span style="display:flex;"><span>        distribution<span style="color:#f92672">=</span>indices<span style="color:#f92672">.</span>Distribution<span style="color:#f92672">.</span>pearson,
</span></span><span style="display:flex;"><span>        periodicity<span style="color:#f92672">=</span>compute<span style="color:#f92672">.</span>Periodicity<span style="color:#f92672">.</span>monthly,
</span></span><span style="display:flex;"><span>        data_start_year<span style="color:#f92672">=</span>DATA_START_YEAR,
</span></span><span style="display:flex;"><span>        calibration_year_initial<span style="color:#f92672">=</span>CALIB_START_YEAR,
</span></span><span style="display:flex;"><span>        calibration_year_final<span style="color:#f92672">=</span>CALIB_END_YEAR,
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    spei_series <span style="color:#f92672">=</span> pd<span style="color:#f92672">.</span>Series(spei3_ts, index<span style="color:#f92672">=</span>time_dt)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># 5. TREND ANALİZİ (Mann-Kendall)</span>
</span></span><span style="display:flex;"><span>    valid_mask <span style="color:#f92672">=</span> <span style="color:#f92672">~</span>np<span style="color:#f92672">.</span>isnan(spei3_ts)
</span></span><span style="display:flex;"><span>    spei_clean <span style="color:#f92672">=</span> spei3_ts[valid_mask]
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">if</span> len(spei_clean) <span style="color:#f92672">&gt;</span> <span style="color:#ae81ff">10</span>:
</span></span><span style="display:flex;"><span>        mk_result <span style="color:#f92672">=</span> mk<span style="color:#f92672">.</span>hamed_rao_modification_test(spei_clean)
</span></span><span style="display:flex;"><span>        p_value <span style="color:#f92672">=</span> mk_result<span style="color:#f92672">.</span>p
</span></span><span style="display:flex;"><span>        sen_slope_month <span style="color:#f92672">=</span> mk_result<span style="color:#f92672">.</span>slope
</span></span><span style="display:flex;"><span>        sen_slope_decadal <span style="color:#f92672">=</span> sen_slope_month <span style="color:#f92672">*</span> <span style="color:#ae81ff">120</span>
</span></span><span style="display:flex;"><span>        intercept <span style="color:#f92672">=</span> mk_result<span style="color:#f92672">.</span>intercept
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        x_clean <span style="color:#f92672">=</span> np<span style="color:#f92672">.</span>arange(len(spei_clean))
</span></span><span style="display:flex;"><span>        trend_clean <span style="color:#f92672">=</span> (sen_slope_month <span style="color:#f92672">*</span> x_clean) <span style="color:#f92672">+</span> intercept
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        trend_line <span style="color:#f92672">=</span> np<span style="color:#f92672">.</span>full(len(spei3_ts), np<span style="color:#f92672">.</span>nan)
</span></span><span style="display:flex;"><span>        trend_line[valid_mask] <span style="color:#f92672">=</span> trend_clean
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        trend_color <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;black&#34;</span> <span style="color:#66d9ef">if</span> p_value <span style="color:#f92672">&lt;</span> <span style="color:#ae81ff">0.05</span> <span style="color:#66d9ef">else</span> <span style="color:#e6db74">&#34;gray&#34;</span>
</span></span><span style="display:flex;"><span>        sig_label <span style="color:#f92672">=</span> (
</span></span><span style="display:flex;"><span>            <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Anlamlı (p=</span><span style="color:#e6db74">{</span>p_value<span style="color:#e6db74">:</span><span style="color:#e6db74">.4f</span><span style="color:#e6db74">}</span><span style="color:#e6db74">)&#34;</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">if</span> p_value <span style="color:#f92672">&lt;</span> <span style="color:#ae81ff">0.05</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">else</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Anlamsız (p=</span><span style="color:#e6db74">{</span>p_value<span style="color:#e6db74">:</span><span style="color:#e6db74">.4f</span><span style="color:#e6db74">}</span><span style="color:#e6db74">)&#34;</span>
</span></span><span style="display:flex;"><span>        )
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">else</span>:
</span></span><span style="display:flex;"><span>        trend_line <span style="color:#f92672">=</span> np<span style="color:#f92672">.</span>full(len(spei3_ts), np<span style="color:#f92672">.</span>nan)
</span></span><span style="display:flex;"><span>        sen_slope_decadal <span style="color:#f92672">=</span> np<span style="color:#f92672">.</span>nan
</span></span><span style="display:flex;"><span>        sig_label <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;Veri yetersiz&#34;</span>
</span></span><span style="display:flex;"><span>        trend_color <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;gray&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># 6. 10-YILLIK HAREKETLİ ORTALAMA</span>
</span></span><span style="display:flex;"><span>    rolling_trend <span style="color:#f92672">=</span> spei_series<span style="color:#f92672">.</span>rolling(
</span></span><span style="display:flex;"><span>        window<span style="color:#f92672">=</span>ROLLING_WINDOW, center<span style="color:#f92672">=</span><span style="color:#66d9ef">True</span>, min_periods<span style="color:#f92672">=</span>ROLLING_WINDOW
</span></span><span style="display:flex;"><span>    )<span style="color:#f92672">.</span>mean()
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># 7. GÖRSELLEŞTİRME</span>
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>figure(figsize<span style="color:#f92672">=</span>(<span style="color:#ae81ff">16</span>, <span style="color:#ae81ff">9</span>))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Dönemsel Gölgelendirme (Arka Plan)</span>
</span></span><span style="display:flex;"><span>    ref_start <span style="color:#f92672">=</span> time_dt[<span style="color:#ae81ff">0</span>]
</span></span><span style="display:flex;"><span>    ref_end <span style="color:#f92672">=</span> pd<span style="color:#f92672">.</span>to_datetime(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#e6db74">{</span>CALIB_END_YEAR<span style="color:#e6db74">}</span><span style="color:#e6db74">-12-31&#34;</span>)
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>axvspan(ref_start, ref_end, color<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;gray&#34;</span>, alpha<span style="color:#f92672">=</span><span style="color:#ae81ff">0.1</span>, zorder<span style="color:#f92672">=</span><span style="color:#ae81ff">0</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Çubuk Grafik</span>
</span></span><span style="display:flex;"><span>    colors <span style="color:#f92672">=</span> np<span style="color:#f92672">.</span>where(spei3_ts <span style="color:#f92672">&lt;</span> <span style="color:#ae81ff">0</span>, <span style="color:#e6db74">&#34;#c0392b&#34;</span>, <span style="color:#e6db74">&#34;#2980b9&#34;</span>)
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>bar(
</span></span><span style="display:flex;"><span>        time_dt,
</span></span><span style="display:flex;"><span>        spei3_ts,
</span></span><span style="display:flex;"><span>        width<span style="color:#f92672">=</span><span style="color:#ae81ff">25</span>,
</span></span><span style="display:flex;"><span>        color<span style="color:#f92672">=</span>colors,
</span></span><span style="display:flex;"><span>        alpha<span style="color:#f92672">=</span><span style="color:#ae81ff">0.75</span>,
</span></span><span style="display:flex;"><span>        label<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;Aylık SPEI-3&#34;</span>,
</span></span><span style="display:flex;"><span>        zorder<span style="color:#f92672">=</span><span style="color:#ae81ff">3</span>,
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Doğrusal Trend ve Hareketli Ortalama</span>
</span></span><span style="display:flex;"><span>    trend_legend <span style="color:#f92672">=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Sen Trend: </span><span style="color:#e6db74">{</span>sen_slope_decadal<span style="color:#e6db74">:</span><span style="color:#e6db74">.3f</span><span style="color:#e6db74">}</span><span style="color:#e6db74"> / 10 yıl | </span><span style="color:#e6db74">{</span>sig_label<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>plot(
</span></span><span style="display:flex;"><span>        time_dt,
</span></span><span style="display:flex;"><span>        trend_line,
</span></span><span style="display:flex;"><span>        linestyle<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;--&#34;</span>,
</span></span><span style="display:flex;"><span>        linewidth<span style="color:#f92672">=</span><span style="color:#ae81ff">3</span>,
</span></span><span style="display:flex;"><span>        color<span style="color:#f92672">=</span>trend_color,
</span></span><span style="display:flex;"><span>        label<span style="color:#f92672">=</span>trend_legend,
</span></span><span style="display:flex;"><span>        zorder<span style="color:#f92672">=</span><span style="color:#ae81ff">5</span>,
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>plot(
</span></span><span style="display:flex;"><span>        time_dt,
</span></span><span style="display:flex;"><span>        rolling_trend,
</span></span><span style="display:flex;"><span>        color<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;purple&#34;</span>,
</span></span><span style="display:flex;"><span>        linewidth<span style="color:#f92672">=</span><span style="color:#ae81ff">2.5</span>,
</span></span><span style="display:flex;"><span>        label<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;10-Yıllık Dekadal Ortalama&#34;</span>,
</span></span><span style="display:flex;"><span>        zorder<span style="color:#f92672">=</span><span style="color:#ae81ff">4</span>,
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Sıfır Çizgisi</span>
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>axhline(<span style="color:#ae81ff">0</span>, color<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;black&#34;</span>, linewidth<span style="color:#f92672">=</span><span style="color:#ae81ff">1.5</span>, zorder<span style="color:#f92672">=</span><span style="color:#ae81ff">2</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Eşik Çizgileri</span>
</span></span><span style="display:flex;"><span>    threshold_styles <span style="color:#f92672">=</span> {
</span></span><span style="display:flex;"><span>        <span style="color:#ae81ff">2.0</span>: (<span style="color:#e6db74">&#34;darkgreen&#34;</span>, <span style="color:#e6db74">&#34;-.&#34;</span>, <span style="color:#e6db74">&#34;Ekstrem Nemli (+2.0)&#34;</span>),
</span></span><span style="display:flex;"><span>        <span style="color:#ae81ff">1.5</span>: (<span style="color:#e6db74">&#34;green&#34;</span>, <span style="color:#e6db74">&#34;--&#34;</span>, <span style="color:#e6db74">&#34;Şiddetli Nemli (+1.5)&#34;</span>),
</span></span><span style="display:flex;"><span>        <span style="color:#ae81ff">1.0</span>: (<span style="color:#e6db74">&#34;lightgreen&#34;</span>, <span style="color:#e6db74">&#34;--&#34;</span>, <span style="color:#e6db74">&#34;Orta Nemli (+1.0)&#34;</span>),
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">-</span><span style="color:#ae81ff">1.0</span>: (<span style="color:#e6db74">&#34;orange&#34;</span>, <span style="color:#e6db74">&#34;--&#34;</span>, <span style="color:#e6db74">&#34;Orta Kuraklık (-1.0)&#34;</span>),
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">-</span><span style="color:#ae81ff">1.5</span>: (<span style="color:#e6db74">&#34;red&#34;</span>, <span style="color:#e6db74">&#34;--&#34;</span>, <span style="color:#e6db74">&#34;Şiddetli Kuraklık (-1.5)&#34;</span>),
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">-</span><span style="color:#ae81ff">2.0</span>: (<span style="color:#e6db74">&#34;darkred&#34;</span>, <span style="color:#e6db74">&#34;-.&#34;</span>, <span style="color:#e6db74">&#34;Ekstrem Kuraklık (-2.0)&#34;</span>),
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">for</span> th, (color, ls, label) <span style="color:#f92672">in</span> threshold_styles<span style="color:#f92672">.</span>items():
</span></span><span style="display:flex;"><span>        plt<span style="color:#f92672">.</span>axhline(
</span></span><span style="display:flex;"><span>            th,
</span></span><span style="display:flex;"><span>            color<span style="color:#f92672">=</span>color,
</span></span><span style="display:flex;"><span>            linestyle<span style="color:#f92672">=</span>ls,
</span></span><span style="display:flex;"><span>            linewidth<span style="color:#f92672">=</span><span style="color:#ae81ff">1.2</span>,
</span></span><span style="display:flex;"><span>            alpha<span style="color:#f92672">=</span><span style="color:#ae81ff">0.7</span>,
</span></span><span style="display:flex;"><span>            label<span style="color:#f92672">=</span>label,
</span></span><span style="display:flex;"><span>            zorder<span style="color:#f92672">=</span><span style="color:#ae81ff">2</span>,
</span></span><span style="display:flex;"><span>        )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Referans Dönemi Sınır Çizgisi ve Metinleri</span>
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>axvline(
</span></span><span style="display:flex;"><span>        ref_end, color<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;dimgray&#34;</span>, linewidth<span style="color:#f92672">=</span><span style="color:#ae81ff">2.5</span>, linestyle<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;:&#34;</span>, zorder<span style="color:#f92672">=</span><span style="color:#ae81ff">5</span>
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Bbox (kapsüllenmiş) metin ayarları</span>
</span></span><span style="display:flex;"><span>    bbox_props <span style="color:#f92672">=</span> dict(
</span></span><span style="display:flex;"><span>        boxstyle<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;round,pad=0.3&#34;</span>, fc<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;white&#34;</span>, ec<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;gray&#34;</span>, lw<span style="color:#f92672">=</span><span style="color:#ae81ff">0.5</span>, alpha<span style="color:#f92672">=</span><span style="color:#ae81ff">0.85</span>
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>text(
</span></span><span style="display:flex;"><span>        pd<span style="color:#f92672">.</span>to_datetime(<span style="color:#e6db74">&#34;1997-01-01&#34;</span>),
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">-</span><span style="color:#ae81ff">4.1</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;Referans Dönemi</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">(1980-2014)&#34;</span>,
</span></span><span style="display:flex;"><span>        color<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;dimgray&#34;</span>,
</span></span><span style="display:flex;"><span>        fontsize<span style="color:#f92672">=</span><span style="color:#ae81ff">11</span>,
</span></span><span style="display:flex;"><span>        ha<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;center&#34;</span>,
</span></span><span style="display:flex;"><span>        fontweight<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;bold&#34;</span>,
</span></span><span style="display:flex;"><span>        bbox<span style="color:#f92672">=</span>bbox_props,
</span></span><span style="display:flex;"><span>        zorder<span style="color:#f92672">=</span><span style="color:#ae81ff">6</span>,
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>text(
</span></span><span style="display:flex;"><span>        pd<span style="color:#f92672">.</span>to_datetime(<span style="color:#e6db74">&#34;2057-01-01&#34;</span>),
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">-</span><span style="color:#ae81ff">4.1</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;Gelecek Projeksiyonu</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">(2015-2100)&#34;</span>,
</span></span><span style="display:flex;"><span>        color<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;black&#34;</span>,
</span></span><span style="display:flex;"><span>        fontsize<span style="color:#f92672">=</span><span style="color:#ae81ff">11</span>,
</span></span><span style="display:flex;"><span>        ha<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;center&#34;</span>,
</span></span><span style="display:flex;"><span>        fontweight<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;bold&#34;</span>,
</span></span><span style="display:flex;"><span>        bbox<span style="color:#f92672">=</span>bbox_props,
</span></span><span style="display:flex;"><span>        zorder<span style="color:#f92672">=</span><span style="color:#ae81ff">6</span>,
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Başlık ve Eksenler</span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># plt.title(</span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e">#     f&#34;Engiz Çayı Havzası SPEI-3 Trend Analizi | Senaryo: {ssp.upper()}&#34;,</span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e">#     fontsize=16,</span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e">#     fontweight=&#34;bold&#34;,</span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e">#     pad=15,</span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># )</span>
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>xlabel(<span style="color:#e6db74">&#34;Yıllar&#34;</span>, fontsize<span style="color:#f92672">=</span><span style="color:#ae81ff">12</span>, fontweight<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;bold&#34;</span>)
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>ylabel(<span style="color:#e6db74">&#34;SPEI-3 İndeks Değeri&#34;</span>, fontsize<span style="color:#f92672">=</span><span style="color:#ae81ff">12</span>, fontweight<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;bold&#34;</span>)
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>ylim(<span style="color:#f92672">-</span><span style="color:#ae81ff">4.5</span>, <span style="color:#ae81ff">4.5</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    ax <span style="color:#f92672">=</span> plt<span style="color:#f92672">.</span>gca()
</span></span><span style="display:flex;"><span>    ax<span style="color:#f92672">.</span>xaxis<span style="color:#f92672">.</span>set_major_locator(mdates<span style="color:#f92672">.</span>YearLocator(<span style="color:#ae81ff">10</span>))
</span></span><span style="display:flex;"><span>    ax<span style="color:#f92672">.</span>xaxis<span style="color:#f92672">.</span>set_major_formatter(mdates<span style="color:#f92672">.</span>DateFormatter(<span style="color:#e6db74">&#34;%Y&#34;</span>))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Lejant</span>
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>legend(
</span></span><span style="display:flex;"><span>        loc<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;upper center&#34;</span>,
</span></span><span style="display:flex;"><span>        bbox_to_anchor<span style="color:#f92672">=</span>(<span style="color:#ae81ff">0.5</span>, <span style="color:#f92672">-</span><span style="color:#ae81ff">0.1</span>),
</span></span><span style="display:flex;"><span>        ncol<span style="color:#f92672">=</span><span style="color:#ae81ff">3</span>,
</span></span><span style="display:flex;"><span>        fontsize<span style="color:#f92672">=</span><span style="color:#ae81ff">10</span>,
</span></span><span style="display:flex;"><span>        frameon<span style="color:#f92672">=</span><span style="color:#66d9ef">False</span>,
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>grid(axis<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;y&#34;</span>, linestyle<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;--&#34;</span>, alpha<span style="color:#f92672">=</span><span style="color:#ae81ff">0.4</span>, zorder<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span>)
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>tight_layout()
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    out_fig <span style="color:#f92672">=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#e6db74">{</span>OUT_DIR<span style="color:#e6db74">}</span><span style="color:#e6db74">/SPEI3_MK_</span><span style="color:#e6db74">{</span>ssp<span style="color:#f92672">.</span>upper()<span style="color:#e6db74">}</span><span style="color:#e6db74">.png&#34;</span>
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>savefig(out_fig, dpi<span style="color:#f92672">=</span><span style="color:#ae81ff">300</span>, bbox_inches<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;tight&#34;</span>)
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>close()
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;  -&gt; Kaydedildi: </span><span style="color:#e6db74">{</span>out_fig<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>print(<span style="color:#e6db74">&#34;</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">Tüm analizler tamamlandı.</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>)
</span></span></code></pre></div></details>
<h3 id="33-rejim-kayması-su-yılı-bazlı-pettitt-kırılma-analizi">3.3. Rejim Kayması: Su Yılı Bazlı Pettitt Kırılma Analizi</h3>
<p>Klimatolojik veri setlerinde homojenliğin nerede bozulduğunu ve sistemin hangi yılda yeni bir denge durumuna geçtiğini (regime shift) saptamak için parametrik olmayan Pettitt (1979) testi uygulanmıştır.
Analiz takvim yılı (Ocak-Aralık) üzerinden yapılmamıştır; zira takvim yılı, kış yağışları birikimini ve bahar akışını ortadan bölerek hidrolojik hafızayı parçalar. Analiz, hidrolojik döngünün doğal kapanış evresini referans alan <strong>Su Yılı</strong> (1 Ekim - 30 Eylül) bazlı yıllıklara (resampling) indirgenerek yapılmıştır.</p>
<details>
<summary><b>Pettitt Testi Python Betiği (Genişletmek için tıklayın)</b></summary>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#f92672">import</span> warnings
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>warnings<span style="color:#f92672">.</span>filterwarnings(<span style="color:#e6db74">&#34;ignore&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> os
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># GDAL&#39;ın C seviyesindeki konsol gürültülerini susturmak için:</span>
</span></span><span style="display:flex;"><span>os<span style="color:#f92672">.</span>environ[<span style="color:#e6db74">&#34;CPL_QUIET&#34;</span>] <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;ON&#34;</span>
</span></span><span style="display:flex;"><span>os<span style="color:#f92672">.</span>environ[<span style="color:#e6db74">&#34;CPL_LOG&#34;</span>] <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;/dev/null&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> matplotlib.dates <span style="color:#66d9ef">as</span> mdates
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> matplotlib.pyplot <span style="color:#66d9ef">as</span> plt
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> numpy <span style="color:#66d9ef">as</span> np
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> pandas <span style="color:#66d9ef">as</span> pd
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> pyhomogeneity <span style="color:#66d9ef">as</span> hg
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> xarray <span style="color:#66d9ef">as</span> xr
</span></span><span style="display:flex;"><span><span style="color:#f92672">from</span> climate_indices <span style="color:#f92672">import</span> compute, indices
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># -------------------------------------------------</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># GENEL AYARLAR</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># -------------------------------------------------</span>
</span></span><span style="display:flex;"><span>OUT_DIR <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;data&#34;</span>
</span></span><span style="display:flex;"><span>os<span style="color:#f92672">.</span>makedirs(OUT_DIR, exist_ok<span style="color:#f92672">=</span><span style="color:#66d9ef">True</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>BASIN_LAT <span style="color:#f92672">=</span> <span style="color:#ae81ff">41.405</span>
</span></span><span style="display:flex;"><span>SCENARIOS <span style="color:#f92672">=</span> [<span style="color:#e6db74">&#34;ssp126&#34;</span>, <span style="color:#e6db74">&#34;ssp245&#34;</span>, <span style="color:#e6db74">&#34;ssp370&#34;</span>, <span style="color:#e6db74">&#34;ssp585&#34;</span>]
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>CALIB_START_YEAR <span style="color:#f92672">=</span> <span style="color:#ae81ff">1980</span>
</span></span><span style="display:flex;"><span>CALIB_END_YEAR <span style="color:#f92672">=</span> <span style="color:#ae81ff">2014</span>
</span></span><span style="display:flex;"><span>DATA_START_YEAR <span style="color:#f92672">=</span> <span style="color:#ae81ff">1980</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>print(<span style="color:#e6db74">&#34;</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">Su Yılı Bazlı Pettitt Kırılma Noktası Analizi Başlatıldı</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># -------------------------------------------------</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># ANA DÖNGÜ</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># -------------------------------------------------</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">for</span> ssp <span style="color:#f92672">in</span> SCENARIOS:
</span></span><span style="display:flex;"><span>    print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;İşleniyor → </span><span style="color:#e6db74">{</span>ssp<span style="color:#f92672">.</span>upper()<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># 1. VERİ OKUMA</span>
</span></span><span style="display:flex;"><span>    pr_file <span style="color:#f92672">=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#e6db74">{</span>OUT_DIR<span style="color:#e6db74">}</span><span style="color:#e6db74">/pr_engiz_merged_</span><span style="color:#e6db74">{</span>ssp<span style="color:#e6db74">}</span><span style="color:#e6db74">_1980_2100.nc&#34;</span>
</span></span><span style="display:flex;"><span>    tasmax_file <span style="color:#f92672">=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#e6db74">{</span>OUT_DIR<span style="color:#e6db74">}</span><span style="color:#e6db74">/tasmax_engiz_merged_</span><span style="color:#e6db74">{</span>ssp<span style="color:#e6db74">}</span><span style="color:#e6db74">_1980_2100.nc&#34;</span>
</span></span><span style="display:flex;"><span>    tasmin_file <span style="color:#f92672">=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#e6db74">{</span>OUT_DIR<span style="color:#e6db74">}</span><span style="color:#e6db74">/tasmin_engiz_merged_</span><span style="color:#e6db74">{</span>ssp<span style="color:#e6db74">}</span><span style="color:#e6db74">_1980_2100.nc&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    pr_ds <span style="color:#f92672">=</span> xr<span style="color:#f92672">.</span>open_dataset(pr_file, chunks<span style="color:#f92672">=</span>{})
</span></span><span style="display:flex;"><span>    tasmax_ds <span style="color:#f92672">=</span> xr<span style="color:#f92672">.</span>open_dataset(tasmax_file, chunks<span style="color:#f92672">=</span>{})
</span></span><span style="display:flex;"><span>    tasmin_ds <span style="color:#f92672">=</span> xr<span style="color:#f92672">.</span>open_dataset(tasmin_file, chunks<span style="color:#f92672">=</span>{})
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># 2. GRID ORTALAMASI</span>
</span></span><span style="display:flex;"><span>    pr_ts <span style="color:#f92672">=</span> pr_ds<span style="color:#f92672">.</span>pr<span style="color:#f92672">.</span>mean(dim<span style="color:#f92672">=</span>[<span style="color:#e6db74">&#34;lat&#34;</span>, <span style="color:#e6db74">&#34;lon&#34;</span>])<span style="color:#f92672">.</span>load()<span style="color:#f92672">.</span>values
</span></span><span style="display:flex;"><span>    tasmax_ts <span style="color:#f92672">=</span> tasmax_ds<span style="color:#f92672">.</span>tasmax<span style="color:#f92672">.</span>mean(dim<span style="color:#f92672">=</span>[<span style="color:#e6db74">&#34;lat&#34;</span>, <span style="color:#e6db74">&#34;lon&#34;</span>])<span style="color:#f92672">.</span>load()<span style="color:#f92672">.</span>values
</span></span><span style="display:flex;"><span>    tasmin_ts <span style="color:#f92672">=</span> tasmin_ds<span style="color:#f92672">.</span>tasmin<span style="color:#f92672">.</span>mean(dim<span style="color:#f92672">=</span>[<span style="color:#e6db74">&#34;lat&#34;</span>, <span style="color:#e6db74">&#34;lon&#34;</span>])<span style="color:#f92672">.</span>load()<span style="color:#f92672">.</span>values
</span></span><span style="display:flex;"><span>    tasmean_ts <span style="color:#f92672">=</span> (tasmax_ts <span style="color:#f92672">+</span> tasmin_ts) <span style="color:#f92672">/</span> <span style="color:#ae81ff">2.0</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    time_dt <span style="color:#f92672">=</span> pd<span style="color:#f92672">.</span>to_datetime(pr_ds<span style="color:#f92672">.</span>time<span style="color:#f92672">.</span>values)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># 3. PET HESABI (Thornthwaite)</span>
</span></span><span style="display:flex;"><span>    pet_ts <span style="color:#f92672">=</span> indices<span style="color:#f92672">.</span>pet(
</span></span><span style="display:flex;"><span>        temperature_celsius<span style="color:#f92672">=</span>tasmean_ts,
</span></span><span style="display:flex;"><span>        latitude_degrees<span style="color:#f92672">=</span>BASIN_LAT,
</span></span><span style="display:flex;"><span>        data_start_year<span style="color:#f92672">=</span>DATA_START_YEAR,
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># 4. SPEI-3 HESABI</span>
</span></span><span style="display:flex;"><span>    spei3_ts <span style="color:#f92672">=</span> indices<span style="color:#f92672">.</span>spei(
</span></span><span style="display:flex;"><span>        precips_mm<span style="color:#f92672">=</span>pr_ts,
</span></span><span style="display:flex;"><span>        pet_mm<span style="color:#f92672">=</span>pet_ts,
</span></span><span style="display:flex;"><span>        scale<span style="color:#f92672">=</span><span style="color:#ae81ff">3</span>,
</span></span><span style="display:flex;"><span>        distribution<span style="color:#f92672">=</span>indices<span style="color:#f92672">.</span>Distribution<span style="color:#f92672">.</span>pearson,
</span></span><span style="display:flex;"><span>        periodicity<span style="color:#f92672">=</span>compute<span style="color:#f92672">.</span>Periodicity<span style="color:#f92672">.</span>monthly,
</span></span><span style="display:flex;"><span>        data_start_year<span style="color:#f92672">=</span>DATA_START_YEAR,
</span></span><span style="display:flex;"><span>        calibration_year_initial<span style="color:#f92672">=</span>CALIB_START_YEAR,
</span></span><span style="display:flex;"><span>        calibration_year_final<span style="color:#f92672">=</span>CALIB_END_YEAR,
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    spei_series <span style="color:#f92672">=</span> pd<span style="color:#f92672">.</span>Series(spei3_ts, index<span style="color:#f92672">=</span>time_dt)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># 5. SU YILI (WATER YEAR) DÖNÜŞÜMÜ</span>
</span></span><span style="display:flex;"><span>    spei_wy <span style="color:#f92672">=</span> spei_series<span style="color:#f92672">.</span>resample(<span style="color:#e6db74">&#34;AS-OCT&#34;</span>)<span style="color:#f92672">.</span>mean()
</span></span><span style="display:flex;"><span>    spei_wy <span style="color:#f92672">=</span> spei_wy<span style="color:#f92672">.</span>dropna()
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># 6. PETTITT TESTİ</span>
</span></span><span style="display:flex;"><span>    pettitt_res <span style="color:#f92672">=</span> hg<span style="color:#f92672">.</span>pettitt_test(spei_wy<span style="color:#f92672">.</span>values)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    p_value <span style="color:#f92672">=</span> pettitt_res<span style="color:#f92672">.</span>p
</span></span><span style="display:flex;"><span>    cp_index <span style="color:#f92672">=</span> pettitt_res<span style="color:#f92672">.</span>cp
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    mu1, mu2 <span style="color:#f92672">=</span> pettitt_res<span style="color:#f92672">.</span>avg
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    cp_date <span style="color:#f92672">=</span> spei_wy<span style="color:#f92672">.</span>index[cp_index]
</span></span><span style="display:flex;"><span>    cp_year <span style="color:#f92672">=</span> cp_date<span style="color:#f92672">.</span>year <span style="color:#f92672">+</span> <span style="color:#ae81ff">1</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">if</span> p_value <span style="color:#f92672">&lt;</span> <span style="color:#ae81ff">0.05</span>:
</span></span><span style="display:flex;"><span>        sig_label <span style="color:#f92672">=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Anlamlı Kırılma (p=</span><span style="color:#e6db74">{</span>p_value<span style="color:#e6db74">:</span><span style="color:#e6db74">.4f</span><span style="color:#e6db74">}</span><span style="color:#e6db74">)&#34;</span>
</span></span><span style="display:flex;"><span>        cp_color <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;black&#34;</span>
</span></span><span style="display:flex;"><span>        bg_alpha <span style="color:#f92672">=</span> <span style="color:#ae81ff">0.06</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">else</span>:
</span></span><span style="display:flex;"><span>        sig_label <span style="color:#f92672">=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Anlamsız Kırılma (p=</span><span style="color:#e6db74">{</span>p_value<span style="color:#e6db74">:</span><span style="color:#e6db74">.4f</span><span style="color:#e6db74">}</span><span style="color:#e6db74">)&#34;</span>
</span></span><span style="display:flex;"><span>        cp_color <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;gray&#34;</span>
</span></span><span style="display:flex;"><span>        bg_alpha <span style="color:#f92672">=</span> <span style="color:#ae81ff">0.02</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    step_x <span style="color:#f92672">=</span> spei_wy<span style="color:#f92672">.</span>index
</span></span><span style="display:flex;"><span>    step_y <span style="color:#f92672">=</span> np<span style="color:#f92672">.</span>concatenate(
</span></span><span style="display:flex;"><span>        [np<span style="color:#f92672">.</span>full(cp_index, mu1), np<span style="color:#f92672">.</span>full(len(spei_wy) <span style="color:#f92672">-</span> cp_index, mu2)]
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># 7. GÖRSELLEŞTİRME</span>
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>figure(figsize<span style="color:#f92672">=</span>(<span style="color:#ae81ff">16</span>, <span style="color:#ae81ff">9</span>))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Arka Plan Gölgelendirmesi (Rejim Dönemleri)</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">if</span> p_value <span style="color:#f92672">&lt;</span> <span style="color:#ae81ff">0.05</span>:
</span></span><span style="display:flex;"><span>        plt<span style="color:#f92672">.</span>axvspan(
</span></span><span style="display:flex;"><span>            spei_wy<span style="color:#f92672">.</span>index[<span style="color:#ae81ff">0</span>],
</span></span><span style="display:flex;"><span>            cp_date,
</span></span><span style="display:flex;"><span>            color<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;green&#34;</span>,
</span></span><span style="display:flex;"><span>            alpha<span style="color:#f92672">=</span>bg_alpha,
</span></span><span style="display:flex;"><span>            label<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;Rejim 1 (Bağıl Nemli Dönem)&#34;</span>,
</span></span><span style="display:flex;"><span>        )
</span></span><span style="display:flex;"><span>        plt<span style="color:#f92672">.</span>axvspan(
</span></span><span style="display:flex;"><span>            cp_date,
</span></span><span style="display:flex;"><span>            spei_wy<span style="color:#f92672">.</span>index[<span style="color:#f92672">-</span><span style="color:#ae81ff">1</span>],
</span></span><span style="display:flex;"><span>            color<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;red&#34;</span>,
</span></span><span style="display:flex;"><span>            alpha<span style="color:#f92672">=</span>bg_alpha,
</span></span><span style="display:flex;"><span>            label<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;Rejim 2 (Bağıl Kurak Dönem)&#34;</span>,
</span></span><span style="display:flex;"><span>        )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Çubuk Grafik</span>
</span></span><span style="display:flex;"><span>    colors <span style="color:#f92672">=</span> np<span style="color:#f92672">.</span>where(spei_wy<span style="color:#f92672">.</span>values <span style="color:#f92672">&lt;</span> <span style="color:#ae81ff">0</span>, <span style="color:#e6db74">&#34;#c0392b&#34;</span>, <span style="color:#e6db74">&#34;#2980b9&#34;</span>)
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>bar(
</span></span><span style="display:flex;"><span>        spei_wy<span style="color:#f92672">.</span>index,
</span></span><span style="display:flex;"><span>        spei_wy<span style="color:#f92672">.</span>values,
</span></span><span style="display:flex;"><span>        width<span style="color:#f92672">=</span><span style="color:#ae81ff">250</span>,
</span></span><span style="display:flex;"><span>        color<span style="color:#f92672">=</span>colors,
</span></span><span style="display:flex;"><span>        alpha<span style="color:#f92672">=</span><span style="color:#ae81ff">0.75</span>,
</span></span><span style="display:flex;"><span>        label<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;Su Yılı Ortalaması (SPEI-3)&#34;</span>,
</span></span><span style="display:flex;"><span>        zorder<span style="color:#f92672">=</span><span style="color:#ae81ff">3</span>,
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Basamak Fonksiyonu</span>
</span></span><span style="display:flex;"><span>    step_legend <span style="color:#f92672">=</span> <span style="color:#e6db74">rf</span><span style="color:#e6db74">&#34;Rejim Ortalamaları ($\mu_1$=</span><span style="color:#e6db74">{</span>mu1<span style="color:#e6db74">:</span><span style="color:#e6db74">.2f</span><span style="color:#e6db74">}</span><span style="color:#e6db74">, $\mu_2$=</span><span style="color:#e6db74">{</span>mu2<span style="color:#e6db74">:</span><span style="color:#e6db74">.2f</span><span style="color:#e6db74">}</span><span style="color:#e6db74">)&#34;</span>
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>step(
</span></span><span style="display:flex;"><span>        step_x,
</span></span><span style="display:flex;"><span>        step_y,
</span></span><span style="display:flex;"><span>        where<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;post&#34;</span>,
</span></span><span style="display:flex;"><span>        color<span style="color:#f92672">=</span>cp_color,
</span></span><span style="display:flex;"><span>        linewidth<span style="color:#f92672">=</span><span style="color:#ae81ff">3.5</span>,
</span></span><span style="display:flex;"><span>        linestyle<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;-&#34;</span>,
</span></span><span style="display:flex;"><span>        label<span style="color:#f92672">=</span>step_legend,
</span></span><span style="display:flex;"><span>        zorder<span style="color:#f92672">=</span><span style="color:#ae81ff">4</span>,
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Kırılma Noktası Çizgisi</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">if</span> p_value <span style="color:#f92672">&lt;</span> <span style="color:#ae81ff">0.05</span>:
</span></span><span style="display:flex;"><span>        plt<span style="color:#f92672">.</span>axvline(
</span></span><span style="display:flex;"><span>            cp_date,
</span></span><span style="display:flex;"><span>            color<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;purple&#34;</span>,
</span></span><span style="display:flex;"><span>            linewidth<span style="color:#f92672">=</span><span style="color:#ae81ff">2.5</span>,
</span></span><span style="display:flex;"><span>            linestyle<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;--&#34;</span>,
</span></span><span style="display:flex;"><span>            label<span style="color:#f92672">=</span><span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Kırılma Yılı: Su Yılı </span><span style="color:#e6db74">{</span>cp_year<span style="color:#e6db74">}</span><span style="color:#e6db74"> | </span><span style="color:#e6db74">{</span>sig_label<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>,
</span></span><span style="display:flex;"><span>            zorder<span style="color:#f92672">=</span><span style="color:#ae81ff">5</span>,
</span></span><span style="display:flex;"><span>        )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e"># Ortalama Değerlerin Anotasyonu</span>
</span></span><span style="display:flex;"><span>        plt<span style="color:#f92672">.</span>text(
</span></span><span style="display:flex;"><span>            spei_wy<span style="color:#f92672">.</span>index[cp_index <span style="color:#f92672">//</span> <span style="color:#ae81ff">2</span>],
</span></span><span style="display:flex;"><span>            mu1 <span style="color:#f92672">+</span> <span style="color:#ae81ff">0.15</span>,
</span></span><span style="display:flex;"><span>            <span style="color:#e6db74">rf</span><span style="color:#e6db74">&#34;$\mu_1$ = </span><span style="color:#e6db74">{</span>mu1<span style="color:#e6db74">:</span><span style="color:#e6db74">.2f</span><span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>,
</span></span><span style="display:flex;"><span>            color<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;black&#34;</span>,
</span></span><span style="display:flex;"><span>            fontsize<span style="color:#f92672">=</span><span style="color:#ae81ff">11</span>,
</span></span><span style="display:flex;"><span>            fontweight<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;bold&#34;</span>,
</span></span><span style="display:flex;"><span>            ha<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;center&#34;</span>,
</span></span><span style="display:flex;"><span>            bbox<span style="color:#f92672">=</span>dict(facecolor<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;white&#34;</span>, alpha<span style="color:#f92672">=</span><span style="color:#ae81ff">0.7</span>, edgecolor<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;none&#34;</span>, pad<span style="color:#f92672">=</span><span style="color:#ae81ff">1.5</span>),
</span></span><span style="display:flex;"><span>        )
</span></span><span style="display:flex;"><span>        plt<span style="color:#f92672">.</span>text(
</span></span><span style="display:flex;"><span>            spei_wy<span style="color:#f92672">.</span>index[cp_index <span style="color:#f92672">+</span> (len(spei_wy) <span style="color:#f92672">-</span> cp_index) <span style="color:#f92672">//</span> <span style="color:#ae81ff">2</span>],
</span></span><span style="display:flex;"><span>            mu2 <span style="color:#f92672">+</span> <span style="color:#ae81ff">0.15</span>,
</span></span><span style="display:flex;"><span>            <span style="color:#e6db74">rf</span><span style="color:#e6db74">&#34;$\mu_2$ = </span><span style="color:#e6db74">{</span>mu2<span style="color:#e6db74">:</span><span style="color:#e6db74">.2f</span><span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>,
</span></span><span style="display:flex;"><span>            color<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;black&#34;</span>,
</span></span><span style="display:flex;"><span>            fontsize<span style="color:#f92672">=</span><span style="color:#ae81ff">11</span>,
</span></span><span style="display:flex;"><span>            fontweight<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;bold&#34;</span>,
</span></span><span style="display:flex;"><span>            ha<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;center&#34;</span>,
</span></span><span style="display:flex;"><span>            bbox<span style="color:#f92672">=</span>dict(facecolor<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;white&#34;</span>, alpha<span style="color:#f92672">=</span><span style="color:#ae81ff">0.7</span>, edgecolor<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;none&#34;</span>, pad<span style="color:#f92672">=</span><span style="color:#ae81ff">1.5</span>),
</span></span><span style="display:flex;"><span>        )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Referans Dönemi Sınırı</span>
</span></span><span style="display:flex;"><span>    ref_end <span style="color:#f92672">=</span> pd<span style="color:#f92672">.</span>to_datetime(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#e6db74">{</span>CALIB_END_YEAR<span style="color:#e6db74">}</span><span style="color:#e6db74">-12-31&#34;</span>)
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>axvline(ref_end, color<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;gray&#34;</span>, linewidth<span style="color:#f92672">=</span><span style="color:#ae81ff">2</span>, zorder<span style="color:#f92672">=</span><span style="color:#ae81ff">2</span>)
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>text(
</span></span><span style="display:flex;"><span>        pd<span style="color:#f92672">.</span>to_datetime(<span style="color:#e6db74">&#34;1997-01-01&#34;</span>),
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">-</span><span style="color:#ae81ff">3.2</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;Referans Dönemi&#34;</span>,
</span></span><span style="display:flex;"><span>        color<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;gray&#34;</span>,
</span></span><span style="display:flex;"><span>        fontsize<span style="color:#f92672">=</span><span style="color:#ae81ff">11</span>,
</span></span><span style="display:flex;"><span>        ha<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;center&#34;</span>,
</span></span><span style="display:flex;"><span>        fontweight<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;bold&#34;</span>,
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>text(
</span></span><span style="display:flex;"><span>        pd<span style="color:#f92672">.</span>to_datetime(<span style="color:#e6db74">&#34;2057-01-01&#34;</span>),
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">-</span><span style="color:#ae81ff">3.2</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">&#34;Gelecek Projeksiyonu&#34;</span>,
</span></span><span style="display:flex;"><span>        color<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;black&#34;</span>,
</span></span><span style="display:flex;"><span>        fontsize<span style="color:#f92672">=</span><span style="color:#ae81ff">11</span>,
</span></span><span style="display:flex;"><span>        ha<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;center&#34;</span>,
</span></span><span style="display:flex;"><span>        fontweight<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;bold&#34;</span>,
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Eşik Çizgileri (Simetrik)</span>
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>axhline(<span style="color:#ae81ff">0</span>, color<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;black&#34;</span>, linewidth<span style="color:#f92672">=</span><span style="color:#ae81ff">1.5</span>, zorder<span style="color:#f92672">=</span><span style="color:#ae81ff">2</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    thresholds <span style="color:#f92672">=</span> {
</span></span><span style="display:flex;"><span>        <span style="color:#ae81ff">1.5</span>: (<span style="color:#e6db74">&#34;green&#34;</span>, <span style="color:#e6db74">&#34;--&#34;</span>),
</span></span><span style="display:flex;"><span>        <span style="color:#ae81ff">1.0</span>: (<span style="color:#e6db74">&#34;lightgreen&#34;</span>, <span style="color:#e6db74">&#34;--&#34;</span>),
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">-</span><span style="color:#ae81ff">1.0</span>: (<span style="color:#e6db74">&#34;orange&#34;</span>, <span style="color:#e6db74">&#34;--&#34;</span>),
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">-</span><span style="color:#ae81ff">1.5</span>: (<span style="color:#e6db74">&#34;red&#34;</span>, <span style="color:#e6db74">&#34;--&#34;</span>),
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">for</span> th, (color, ls) <span style="color:#f92672">in</span> thresholds<span style="color:#f92672">.</span>items():
</span></span><span style="display:flex;"><span>        plt<span style="color:#f92672">.</span>axhline(
</span></span><span style="display:flex;"><span>            th, color<span style="color:#f92672">=</span>color, linestyle<span style="color:#f92672">=</span>ls, linewidth<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span>, alpha<span style="color:#f92672">=</span><span style="color:#ae81ff">0.7</span>, zorder<span style="color:#f92672">=</span><span style="color:#ae81ff">2</span>
</span></span><span style="display:flex;"><span>        )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># plt.title(</span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e">#     f&#34;Engiz Çayı Havzası Su Yılı Pettitt Kırılma Noktası Analizi | {ssp.upper()}&#34;,</span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e">#     fontsize=16,</span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e">#     fontweight=&#34;bold&#34;,</span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e">#     pad=15,</span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># )</span>
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>xlabel(<span style="color:#e6db74">&#34;Su Yılları (Ekim - Eylül)&#34;</span>, fontsize<span style="color:#f92672">=</span><span style="color:#ae81ff">12</span>)
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>ylabel(<span style="color:#e6db74">&#34;Yıllık Ortalama SPEI-3 İndeks Değeri&#34;</span>, fontsize<span style="color:#f92672">=</span><span style="color:#ae81ff">12</span>)
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>ylim(<span style="color:#f92672">-</span><span style="color:#ae81ff">3.5</span>, <span style="color:#ae81ff">3.5</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    ax <span style="color:#f92672">=</span> plt<span style="color:#f92672">.</span>gca()
</span></span><span style="display:flex;"><span>    ax<span style="color:#f92672">.</span>xaxis<span style="color:#f92672">.</span>set_major_locator(mdates<span style="color:#f92672">.</span>YearLocator(<span style="color:#ae81ff">10</span>))
</span></span><span style="display:flex;"><span>    ax<span style="color:#f92672">.</span>xaxis<span style="color:#f92672">.</span>set_major_formatter(mdates<span style="color:#f92672">.</span>DateFormatter(<span style="color:#e6db74">&#34;%Y&#34;</span>))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Lejant düzenlemesi</span>
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>legend(
</span></span><span style="display:flex;"><span>        loc<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;upper center&#34;</span>,
</span></span><span style="display:flex;"><span>        bbox_to_anchor<span style="color:#f92672">=</span>(<span style="color:#ae81ff">0.5</span>, <span style="color:#f92672">-</span><span style="color:#ae81ff">0.12</span>),
</span></span><span style="display:flex;"><span>        ncol<span style="color:#f92672">=</span><span style="color:#ae81ff">3</span>,
</span></span><span style="display:flex;"><span>        fontsize<span style="color:#f92672">=</span><span style="color:#ae81ff">10</span>,
</span></span><span style="display:flex;"><span>        frameon<span style="color:#f92672">=</span><span style="color:#66d9ef">False</span>,
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>grid(axis<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;y&#34;</span>, linestyle<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;--&#34;</span>, alpha<span style="color:#f92672">=</span><span style="color:#ae81ff">0.4</span>, zorder<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span>)
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>tight_layout()
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    out_fig <span style="color:#f92672">=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#e6db74">{</span>OUT_DIR<span style="color:#e6db74">}</span><span style="color:#e6db74">/SPEI3_Pettitt_</span><span style="color:#e6db74">{</span>ssp<span style="color:#f92672">.</span>upper()<span style="color:#e6db74">}</span><span style="color:#e6db74">.png&#34;</span>
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>savefig(out_fig, dpi<span style="color:#f92672">=</span><span style="color:#ae81ff">300</span>, bbox_inches<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;tight&#34;</span>)
</span></span><span style="display:flex;"><span>    plt<span style="color:#f92672">.</span>close()
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    print(
</span></span><span style="display:flex;"><span>        <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;  -&gt; Kırılma Yılı: </span><span style="color:#e6db74">{</span>cp_year<span style="color:#e6db74">}</span><span style="color:#e6db74"> (p=</span><span style="color:#e6db74">{</span>p_value<span style="color:#e6db74">:</span><span style="color:#e6db74">.4f</span><span style="color:#e6db74">}</span><span style="color:#e6db74">) | Kaydedildi: </span><span style="color:#e6db74">{</span>out_fig<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>print(<span style="color:#e6db74">&#34;</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">Tüm Pettitt testleri tamamlandı.</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>)
</span></span></code></pre></div></details>
<h3 id="34-iklimsel-sürücüler-analizi">3.4. İklimsel Sürücüler Analizi</h3>
<p>SPEI düşüşünün yağış eksikliğinden mi (dinamik) yoksa sıcaklıktan mı (termodinamik) kaynaklandığını izole etmek için, aylık klimatolojiler üzerinden Orta Gelecek (2041-2070) ve Uzak Gelecek (2071-2100) periyotları referans dönemiyle (1980-2014) kıyaslanmıştır.</p>
<h2 id="4-bulgular-ve-tartışma">4. Bulgular ve Tartışma</h2>
<h3 id="41-kronik-kuraklaşma-eğilimi-mk-trendleri">4.1. Kronik Kuraklaşma Eğilimi (MK Trendleri)</h3>
<p>İstatistiksel analizler, Engiz Çayı Havzası&rsquo;nda tüm emisyon senaryoları altında negatif ve anlamlı (%95 güven aralığında) bir SPEI-3 eğilimi olduğunu saptamıştır. SSP5-8.5 senaryosunda dekad başına -0.163 birimlik dramatik bir düşüş söz konusudur.</p>
<table>
  <thead>
      <tr>
          <th>Senaryo</th>
          <th>Sen Trend (Eğim / 10 Yıl)</th>
          <th>P-Değeri</th>
          <th>İstatistiksel Durum</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>SSP1-2.6</td>
          <td>-0.031</td>
          <td>0.0028</td>
          <td>Anlamlı Eğilim</td>
      </tr>
      <tr>
          <td>SSP2-4.5</td>
          <td>-0.080</td>
          <td>0.0000</td>
          <td>Şiddetli Anlamlı</td>
      </tr>
      <tr>
          <td>SSP3-7.0</td>
          <td>-0.141</td>
          <td>0.0000</td>
          <td>Şiddetli Anlamlı</td>
      </tr>
      <tr>
          <td><strong>SSP5-8.5</strong></td>
          <td><strong>-0.163</strong></td>
          <td><strong>0.0000</strong></td>
          <td><strong>Ekstrem Anlamlı</strong></td>
      </tr>
  </tbody>
</table>
<p><img alt="Engiz Çayı Havzası SSP5-8.5 Mann-Kendall Trend Analizi" loading="lazy" src="/blog/posts/engiz-havzasi-kuraklik-analizi/SPEI3_MK_SSP585.png">
<em>Şekil 2: Engiz Çayı Havzası SSP5-8.5 senaryosu SPEI-3 Mann-Kendall trend analizi. Siyah kesik çizgi otokorelasyon düzeltmeli trendi, mor çizgi ise 10-yıllık dekadal salınımı göstermektedir.</em></p>
<p>Diğer senaryolara ait trend grafikleri aşağıdadır:</p>
<p><img alt="Engiz Çayı Havzası SSP1-2.6 Mann-Kendall Trend Analizi" loading="lazy" src="/blog/posts/engiz-havzasi-kuraklik-analizi/SPEI3_MK_SSP126.png">
<em>Şekil 3: Engiz Çayı Havzası SSP1-2.6 senaryosu SPEI-3 Mann-Kendall trend analizi.</em></p>
<p><img alt="Engiz Çayı Havzası SSP2-4.5 Mann-Kendall Trend Analizi" loading="lazy" src="/blog/posts/engiz-havzasi-kuraklik-analizi/SPEI3_MK_SSP245.png">
<em>Şekil 4: Engiz Çayı Havzası SSP2-4.5 senaryosu SPEI-3 Mann-Kendall trend analizi.</em></p>
<p><img alt="Engiz Çayı Havzası SSP3-7.0 Mann-Kendall Trend Analizi" loading="lazy" src="/blog/posts/engiz-havzasi-kuraklik-analizi/SPEI3_MK_SSP370.png">
<em>Şekil 5: Engiz Çayı Havzası SSP3-7.0 senaryosu SPEI-3 Mann-Kendall trend analizi.</em></p>
<h3 id="42-su-yılı-rejim-kayması-pettitt-testi">4.2. Su Yılı Rejim Kayması (Pettitt Testi)</h3>
<p>Pettitt analizi, kuraklaşmanın kademeli değil, belirli eşik yıllarında aniden hızlanan bir &ldquo;rejim kayması&rdquo; (regime shift) biçiminde gerçekleşeceğini göstermektedir.</p>
<ul>
<li><strong>Ekstrem Kırılma (SSP5-8.5):</strong> En şiddetli rejim kayması <strong>2052 su yılında</strong> ($p &lt; 0.0001$) gerçekleşmektedir. Kırılma öncesi rejim ortalaması $\mu_1 = -0.01$ (normal) iken, kırılma sonrası rejim ortalaması $\mu_2 = -1.33$ (şiddetli kuraklığa yakın) değerine düşmektedir.</li>
<li><strong>Erken Kırılma (SSP2-4.5):</strong> Orta emisyon senaryosunda kırılma daha erken (2031) gerçekleşmekte ancak rejim ortalaması $\mu_2 = -0.74$ seviyesinde stabilize olmaktadır.</li>
</ul>
<p><img alt="Engiz Çayı Havzası SSP5-8.5 Pettitt Rejim Kayması" loading="lazy" src="/blog/posts/engiz-havzasi-kuraklik-analizi/SPEI3_Pettitt_SSP585.png">
<em>Şekil 6: SSP5-8.5 senaryosunda 2052 su yılı itibarıyla gerçekleşen ani rejim kayması.</em></p>
<p>Karşılaştırmalı diğer rejim kaymaları:</p>
<p><img alt="SSP1-2.6 Pettitt Kırılma Analizi" loading="lazy" src="/blog/posts/engiz-havzasi-kuraklik-analizi/SPEI3_Pettitt_SSP126.png">
<em>Şekil 7: SSP1-2.6 senaryosu Pettitt kırılma analizi.</em></p>
<p><img alt="SSP2-4.5 Pettitt Kırılma Analizi" loading="lazy" src="/blog/posts/engiz-havzasi-kuraklik-analizi/SPEI3_Pettitt_SSP245.png">
<em>Şekil 8: SSP2-4.5 senaryosu Pettitt kırılma analizi.</em></p>
<p><img alt="SSP3-7.0 Pettitt Kırılma Analizi" loading="lazy" src="/blog/posts/engiz-havzasi-kuraklik-analizi/SPEI3_Pettitt_SSP370.png">
<em>Şekil 9: SSP3-7.0 senaryosu Pettitt kırılma analizi.</em></p>
<h3 id="43-fiziksel-sürücülerin-analizi-nedensellik">4.3. Fiziksel Sürücülerin Analizi (Nedensellik)</h3>
<p>Kuraklaşmanın arkasındaki asıl sürücüyü bulmak için Orta Gelecek (2041-2070) ve Uzak Gelecek (2071-2100) klimatolojik aylık ortalamalar, referans dönemiyle (1980-2014) karşılaştırılmıştır.</p>
<p><strong>Orta Gelecek (2041-2070):</strong>
<img alt="SSP5-8.5 Orta Gelecek Sürücüler" loading="lazy" src="/blog/posts/engiz-havzasi-kuraklik-analizi/engiz_iklim_suruculeri_SSP585_Orta_Gelecek.png">
<em>Şekil 10: SSP5-8.5 Orta Gelecek periyodu. Yağış anomalileri asimetrik, ancak sıcaklıklarda tüm yıl boyunca mutlak artışlar (+3.5°C&rsquo;ye varan) başlamış durumda.</em></p>
<p><strong>Uzak Gelecek (2071-2100):</strong>
<img alt="SSP5-8.5 Uzak Gelecek Sürücüler" loading="lazy" src="/blog/posts/engiz-havzasi-kuraklik-analizi/engiz_iklim_suruculeri_SSP585_Uzak_Gelecek.png">
<em>Şekil 11: SSP5-8.5 Uzak Gelecek periyodu. Yaz aylarında %40&rsquo;ı aşan yağış kayıpları ve +5.3°C&rsquo;ye ulaşan $T_{max}$ ekstrem artışları.</em></p>
<p><strong>Sürücü Analizinin Sentezi:</strong> Diğer senaryoların Orta ve Uzak Gelecek grafiklerinde de görüldüğü üzere (aşağıda listelenmiştir), kış aylarında yağışlarda marjinal artışlar olmasına rağmen yaz yağışlarının %40 oranında azaldığı görülmektedir. Artan sıcaklıklar (özellikle $T_{min}$&lsquo;deki gece soğumamasının getirdiği stres), potansiyel buharlaşmayı katlayarak toprak nemi açığını artırmaktadır.</p>
<p><em>Düşük ve Orta Emisyon Senaryoları (Referans Karşılaştırmalar):</em></p>
<p><img alt="SSP1-2.6 Orta Gelecek Sürücüler" loading="lazy" src="/blog/posts/engiz-havzasi-kuraklik-analizi/engiz_iklim_suruculeri_SSP126_Orta_Gelecek.png">
<em>Şekil 12: SSP1-2.6 Orta Gelecek periyodu sürücü analizi.</em></p>
<p><img alt="SSP1-2.6 Uzak Gelecek Sürücüler" loading="lazy" src="/blog/posts/engiz-havzasi-kuraklik-analizi/engiz_iklim_suruculeri_SSP126_Uzak_Gelecek.png">
<em>Şekil 13: SSP1-2.6 Uzak Gelecek periyodu sürücü analizi.</em></p>
<p><img alt="SSP2-4.5 Orta Gelecek Sürücüler" loading="lazy" src="/blog/posts/engiz-havzasi-kuraklik-analizi/engiz_iklim_suruculeri_SSP245_Orta_Gelecek.png">
<em>Şekil 14: SSP2-4.5 Orta Gelecek periyodu sürücü analizi.</em></p>
<p><img alt="SSP2-4.5 Uzak Gelecek Sürücüler" loading="lazy" src="/blog/posts/engiz-havzasi-kuraklik-analizi/engiz_iklim_suruculeri_SSP245_Uzak_Gelecek.png">
<em>Şekil 15: SSP2-4.5 Uzak Gelecek periyodu sürücü analizi.</em></p>
<p><img alt="SSP3-7.0 Orta Gelecek Sürücüler" loading="lazy" src="/blog/posts/engiz-havzasi-kuraklik-analizi/engiz_iklim_suruculeri_SSP370_Orta_Gelecek.png">
<em>Şekil 16: SSP3-7.0 Orta Gelecek periyodu sürücü analizi.</em></p>
<p><img alt="SSP3-7.0 Uzak Gelecek Sürücüler" loading="lazy" src="/blog/posts/engiz-havzasi-kuraklik-analizi/engiz_iklim_suruculeri_SSP370_Uzak_Gelecek.png">
<em>Şekil 17: SSP3-7.0 Uzak Gelecek periyodu sürücü analizi.</em></p>
<h2 id="5-sonuç-ve-öneriler">5. Sonuç ve Öneriler</h2>
<p>Yapılan hidroklimatolojik analizler, Karadeniz Bölgesi&rsquo;nin tipik &ldquo;nemli&rdquo; karakteristiğine sahip olan Engiz Çayı Havzası&rsquo;nın, 21. yüzyılın ortalarından itibaren bu özelliğini kaybederek kalıcı bir kuraklık rejimine gireceğini göstermektedir.</p>
<ul>
<li>Havzadaki tarımsal faaliyetler, statik tarihsel verilere (1980-2014) göre değil, Pettitt testinde tespit edilen 2030-2050 arası kırılma yıllarındaki <strong>&ldquo;yeni normal&rdquo;</strong> su bütçesine göre acilen planlanmalıdır.</li>
<li>Artan evapotranspirasyon talebini dengelemek adına, açık yüzeyli sulama kanallarından kapalı basınçlı sistemlere geçilmesi ve kuraklığa toleranslı ürün desenlerinin teşvik edilmesi bir tercih değil, rasyonel bir zorunluluktur.</li>
<li>Karadeniz iklimine özgü, yüksek su tüketen (yaz yağışlarına güvenen) ürün desenleri terk edilerek, fizyolojik olarak kuraklığa toleranslı alternatiflere yönelim teşvik edilmelidir.</li>
</ul>
<h2 id="kaynakça">Kaynakça</h2>
<ul>
<li>Hamed, K. H., &amp; Rao, A. R. (1998). A modified Mann-Kendall trend test for autocorrelated data. <em>Journal of hydrology</em>, 204(1-4), 182-196.</li>
<li>Pettitt, A. N. (1979). A non‐parametric test for the change‐point problem. <em>Journal of the Royal Statistical Society: Series C (Applied Statistics)</em>, 28(2), 126-135.</li>
<li>Thrasher, B., vd. (2022). NASA Global Daily Downscaled Projections (NEX-GDDP-CMIP6). <em>Scientific Data</em>, 9(1), 1-8.</li>
<li>Vicente-Serrano, S. M., vd. (2010). A multiscalar standardized precipitation index sensitive to global warming: the standardized precipitation evapotranspiration index. <em>Journal of climate</em>, 23(7), 1696-1718.</li>
</ul>
]]></content:encoded></item><item><title>Nisan Ayında Sıcaklık Rekorları!</title><link>https://subasi.is-a.dev/blog/posts/2024-april-temperature-records/</link><pubDate>Wed, 01 May 2024 00:00:00 +0000</pubDate><guid>https://subasi.is-a.dev/blog/posts/2024-april-temperature-records/</guid><description>Türkiye&amp;#39;nin nisan ayının son haftasında etkili olan ekstrem sıcak hava dalgası, 15 il merkezinde nisan ayı en yüksek sıcaklık rekorlarının egale edilmesine yol açtı. Kayseri, Çorum, Sivas gibi illerde eski sıcaklık rekorları kırıldı ve yeni sıcaklık rekorları belirlendi. İşte detaylar...</description><content:encoded><![CDATA[<p>Ülkemizde nisan ayının son haftasında etkili olan ekstrem sıcak hava dalgası, beraberinde sıcaklık rekorlarını da getirdi. MGM illere ait istatistiki verileri incelediğimizde; 15 il merkezi, nisan ayı en yüksek sıcaklık rekorunu egale etti.</p>
<p>İşte rekor kıran o iller:</p>
<table>
  <thead>
      <tr>
          <th style="text-align: left">İL</th>
          <th style="text-align: center">Eski Rekor Sıcaklık (°C)</th>
          <th style="text-align: center">Eski Rekor Tarihi</th>
          <th style="text-align: center">Yeni Rekor Sıcaklık (°C)</th>
          <th style="text-align: center">Yeni Rekor Tarihi</th>
          <th style="text-align: center">Fark (°C)</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: left">Kayseri</td>
          <td style="text-align: center">31.2</td>
          <td style="text-align: center">23.04.2008</td>
          <td style="text-align: center">31.7</td>
          <td style="text-align: center">24.04.2024</td>
          <td style="text-align: center">0.5</td>
      </tr>
      <tr>
          <td style="text-align: left">Çorum</td>
          <td style="text-align: center">30.4</td>
          <td style="text-align: center">12.04.1998</td>
          <td style="text-align: center">30.6</td>
          <td style="text-align: center">24.04.2024</td>
          <td style="text-align: center">0.2</td>
      </tr>
      <tr>
          <td style="text-align: left">Sivas</td>
          <td style="text-align: center">29.0</td>
          <td style="text-align: center">23.04.2008</td>
          <td style="text-align: center">29.5</td>
          <td style="text-align: center">25.04.2024</td>
          <td style="text-align: center">0.5</td>
      </tr>
      <tr>
          <td style="text-align: left">Osmaniye</td>
          <td style="text-align: center">36.5</td>
          <td style="text-align: center">29.04.1989</td>
          <td style="text-align: center">36.5</td>
          <td style="text-align: center">25.04.2024</td>
          <td style="text-align: center">0.0</td>
      </tr>
      <tr>
          <td style="text-align: left">Çankırı</td>
          <td style="text-align: center">31.0</td>
          <td style="text-align: center">03.04.1952</td>
          <td style="text-align: center">31.9</td>
          <td style="text-align: center">26.04.2024</td>
          <td style="text-align: center">0.9</td>
      </tr>
      <tr>
          <td style="text-align: left">Gümüşhane</td>
          <td style="text-align: center">29.0</td>
          <td style="text-align: center">12.04.1970</td>
          <td style="text-align: center">30.7</td>
          <td style="text-align: center">29.04.2024</td>
          <td style="text-align: center">1.7</td>
      </tr>
      <tr>
          <td style="text-align: left">Bitlis</td>
          <td style="text-align: center">22.3</td>
          <td style="text-align: center">21.04.2021</td>
          <td style="text-align: center">22.9</td>
          <td style="text-align: center">29.04.2024</td>
          <td style="text-align: center">0.6</td>
      </tr>
      <tr>
          <td style="text-align: left">Kars</td>
          <td style="text-align: center">25.0</td>
          <td style="text-align: center">27.04.2008</td>
          <td style="text-align: center">26.6</td>
          <td style="text-align: center">29.04.2024</td>
          <td style="text-align: center">1.6</td>
      </tr>
      <tr>
          <td style="text-align: left">Şırnak</td>
          <td style="text-align: center">29.0</td>
          <td style="text-align: center">24.08.2008</td>
          <td style="text-align: center">29.8</td>
          <td style="text-align: center">29.04.2024</td>
          <td style="text-align: center">0.8</td>
      </tr>
      <tr>
          <td style="text-align: left">Hakkari</td>
          <td style="text-align: center">25.0</td>
          <td style="text-align: center">23.04.2005</td>
          <td style="text-align: center">25.2</td>
          <td style="text-align: center">29.04.2024</td>
          <td style="text-align: center">0.2</td>
      </tr>
      <tr>
          <td style="text-align: left">Bingöl</td>
          <td style="text-align: center">30.3</td>
          <td style="text-align: center">13.04.1970</td>
          <td style="text-align: center">30.5</td>
          <td style="text-align: center">29.04.2024</td>
          <td style="text-align: center">0.2</td>
      </tr>
      <tr>
          <td style="text-align: left">Erzincan</td>
          <td style="text-align: center">30.0</td>
          <td style="text-align: center">23.04.2008</td>
          <td style="text-align: center">30.3</td>
          <td style="text-align: center">29.04.2024</td>
          <td style="text-align: center">0.3</td>
      </tr>
      <tr>
          <td style="text-align: left">Ağrı</td>
          <td style="text-align: center">27.2</td>
          <td style="text-align: center">27.04.2008</td>
          <td style="text-align: center">27.6</td>
          <td style="text-align: center">29.04.2024</td>
          <td style="text-align: center">0.4</td>
      </tr>
      <tr>
          <td style="text-align: left">Ardahan</td>
          <td style="text-align: center">25.0</td>
          <td style="text-align: center">27.04.2008</td>
          <td style="text-align: center">25.0</td>
          <td style="text-align: center">29.04.2024</td>
          <td style="text-align: center">0.0</td>
      </tr>
      <tr>
          <td style="text-align: left">Bayburt</td>
          <td style="text-align: center">25.3</td>
          <td style="text-align: center">24.04.2008</td>
          <td style="text-align: center">27.1</td>
          <td style="text-align: center">30.04.2024</td>
          <td style="text-align: center">1.8</td>
      </tr>
  </tbody>
</table>
<blockquote>
<p>Bu analiz, Meteoroloji Genel Müdürlüğü (MGM) web sitesinde günlük olarak yayınlanan <a href="https://mgm.gov.tr/sondurum/en-yuksek-sicakliklar.aspx">en yüksek sıcaklıklar tablosu</a> ve <a href="https://mgm.gov.tr/veridegerlendirme/il-ve-ilceler-istatistik.aspx?k=A">Türkiye&rsquo;nin illerine ait istatistiki veriler</a> kullanılarak gerçekleştirilmiştir. Bir hata olduğunu düşünüyorsanız, lütfen bizimle <a href="https://mhmmdlsubasi.github.io/contact">iletişime geçin</a>.</p></blockquote>
]]></content:encoded></item></channel></rss>