Sismik Analiz — EQ-V7.0.5 (Final) — EQ-12.2
Lütfen Demo veya CSV ile başlayın.
📐 Ölçek Mantığı: B-değeri, Mc ve TL-Olasılık haritaları yerel verinin Min/Max değerlerine göre normalize edilir.
Makro Zonlama (Missenard) — R = 100 km
Moderate Zonlama (Öncel & Wyss) — R = 20 km
Mikro Zonlama (Ben-Zion) — R = 10 km
M ≥ 4.0 $M_w$ Depremler (0 adet)
/* === ZON RAPORU MODULE START === */
function computeZoneStats(data, R_km, minN=50) {
if (!data || data.length < minN) {
return { valid:false, N:data?data.length:0, Mc:NaN, b:NaN, TL:NaN, TLprob:NaN };
}
const mags = data.map(d=>d.mag);
const Mc = getMcValue(mags);
const bRes = computeBValue(mags, Mc);
const b = bRes.b;
const TL = computeTL(mags);
const TLprob = Mc - TL;
return { valid:true, N:data.length, Mc, b, TL, TLprob };
}
function exportSingleZoneCSV(zoneName, R_km, data, stats) {
let csv = "data:text/csv;charset=utf-8,";
csv += "Zone,R_km,N,Mc,b,TL,TLprob\n";
csv += `${zoneName},${R_km},${stats.N},${stats.Mc},${stats.b},${stats.TL},${stats.TLprob}\n\n`;
csv += "Latitude,Longitude,Mw,Depth,Date,Location\n";
data.forEach(d=>{
csv += [d.lat.toFixed(4), d.lon.toFixed(4), d.mag.toFixed(2), d.depth.toFixed(1), d.time.toISOString(), (d.location||"")].join(",") + "\n";
});
const fileName = `ZON_${zoneName.replace(/\s+/g,"_")}_${new Date().toISOString().slice(0,19).replace(/[:T]/g,'-')}.csv`;
const encoded = encodeURI(csv);
const link = document.createElement("a");
link.href = encoded;
link.download = fileName;
document.body.appendChild(link);
link.click();
link.remove();
}
function generateZonalCSVReports() {
const minN = parseInt(document.getElementById('minNThreshold').value);
const zones = [
{ name:"Makro (Missenard)", mode:"missenard", R_km:100 },
{ name:"Moderate (Öncel & Wyss)", mode:"oncelwyss", R_km:20 },
{ name:"Mikro (Ben-Zion)", mode:"aftershock", R_km:10 }
];
zones.forEach(z=>{
const zoneData = applyZoning(current, z.mode);
const stats = computeZoneStats(zoneData, z.R_km, minN);
exportSingleZoneCSV(z.name, z.R_km, zoneData, stats);
});
alert("📁 Zon raporları ve tüm CSV’ler başarıyla oluşturuldu.");
}
document.addEventListener("DOMContentLoaded", ()=>{
const btn = document.getElementById('exportZonalStats');
if(btn){
btn.addEventListener('click', ()=> generateZonalCSVReports());
}
});
/* === ZON RAPORU MODULE END === */
Comments
Post a Comment