From bacc590c4201dd4fc111f236c099bca574ccbb22 Mon Sep 17 00:00:00 2001
From: Claudio Gheller <gheller@ira.inaf.it>
Date: Mon, 13 Mar 2023 08:47:29 +0000
Subject: [PATCH] Upload New File

---
 data_loader.py | 119 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 119 insertions(+)
 create mode 100644 data_loader.py

diff --git a/data_loader.py b/data_loader.py
new file mode 100644
index 0000000..edf4ce1
--- /dev/null
+++ b/data_loader.py
@@ -0,0 +1,119 @@
+import numpy as np
+import h5py
+
+def load_data(filedir, n0, n1):
+
+    # Set minimum value for the magnetic field and velocity
+    epsilon = 1e-6
+
+    # Open HDF5 file
+    filename = filedir + 'full_dtb_R_007'
+    infile = h5py.File(filename,'r')
+
+    # Define datasets
+    dsetrho = "Density"
+    dsetT = "Temperature"
+    dsetvx = "x-velocity"
+    dsetvy = "y-velocity"
+    dsetvz = "z-velocity"
+    dsetBx = "Bx"
+    dsetBy = "By"
+    dsetBz = "Bz"
+
+    # Define cutout corner and size
+    nx0 = n0[0]
+    ny0 = n0[1]
+    nz0 = n0[2]
+    nx = n1[0]
+    ny = n1[1]
+    nz = n1[2]
+
+    # Read input data, subset and normalise
+    rhomin = -2.8
+    rhomax = 2.5
+
+    dsetaux = infile[dsetrho]
+    rhoaux = np.array(dsetaux[nx0:nx,ny0:ny,nz0:nz])
+    rho = np.log10(rhoaux)
+    #rhomin = np.amin(rho)
+    #rhomax = np.amax(rho)
+    #print("Density: ",rhomin,rhomax)
+    rhoaux = (rho - rhomin)/(rhomax-rhomin)
+    rho = np.clip(rhoaux,0.0,1.0)
+    rhomin = np.amin(rho)
+    rhomax = np.amax(rho)
+    print("Density: ",rhomin,rhomax)
+
+    rhomin = 0.0 
+    rhomax = 9.0
+
+    dsetaux = infile[dsetT]
+    Taux = np.array(dsetaux[nx0:nx,ny0:ny,nz0:nz])
+    T = np.log10(Taux)
+    #print("Temperature: ",rhomin,rhomax)
+    Taux = (T - rhomin)/(rhomax-rhomin)
+    T = np.clip(Taux,0.0,1.0)
+    rhomin = np.amin(T)
+    rhomax = np.amax(T)
+    print("Temperature: ",rhomin,rhomax)
+
+    rhomin = np.log10(epsilon)
+    rhomax = np.log10(0.1)
+
+    dsetaux = infile[dsetBx]
+    B2 = np.square(np.array(dsetaux[nx0:nx,ny0:ny,nz0:nz]))
+    Bx = np.log10(np.abs(np.array(dsetaux[nx0:nx,ny0:ny,nz0:nz]))+epsilon)
+
+    dsetaux = infile[dsetBy]
+    B2 = B2 + np.square(np.array(dsetaux[nx0:nx,ny0:ny,nz0:nz]))
+    By = np.log10(np.abs(np.array(dsetaux[nx0:nx,ny0:ny,nz0:nz]))+epsilon)
+
+    dsetaux = infile[dsetBz]
+    B2 = B2 + np.square(np.array(dsetaux[nx0:nx,ny0:ny,nz0:nz]))
+    Bz = np.log10(np.abs(np.array(dsetaux[nx0:nx,ny0:ny,nz0:nz]))+epsilon)
+
+    B2 = np.log10(np.sqrt(B2)+epsilon)
+    Baux = (B2 - rhomin)/(rhomax-rhomin)
+    B2 = np.clip(Baux,0.0,1.0)
+    Baux = (Bx - rhomin)/(rhomax-rhomin)
+    Bx = np.clip(Baux,0.0,1.0)
+    Baux = (By - rhomin)/(rhomax-rhomin)
+    By = np.clip(Baux,0.0,1.0)
+    Baux = (Bz - rhomin)/(rhomax-rhomin)
+    Bz = np.clip(Baux,0.0,1.0)
+    print("B: ",np.amin(B2),np.amin(Bx),np.amin(By),np.amin(Bz))
+    print("B: ",np.amax(B2),np.amax(Bx),np.amax(By),np.amax(Bz))
+
+    infile.close()
+    filename = filedir + 'full_v_R_007'
+    infile = h5py.File(filename,'r')
+
+    rhomin = 0.0
+    rhomax = 0.05
+
+    dsetaux = infile[dsetvx]
+    #print("vx: ",np.amin(dsetaux),np.amax(dsetaux))
+    vx = np.abs(np.array(dsetaux[nx0:nx,ny0:ny,nz0:nz]))
+
+    dsetaux = infile[dsetvy]
+    #print("vy: ",np.amin(dsetaux),np.amax(dsetaux))
+    vy = np.abs(np.array(dsetaux[nx0:nx,ny0:ny,nz0:nz]))
+
+    dsetaux = infile[dsetvz]
+    #print("vz: ",np.amin(dsetaux),np.amax(dsetaux))
+    vz = np.abs(np.array(dsetaux[nx0:nx,ny0:ny,nz0:nz]))
+
+    vaux = (vx - rhomin)/(rhomax-rhomin)
+    vx = np.clip(vaux,0.0,1.0)
+    vaux = (vy - rhomin)/(rhomax-rhomin)
+    vy = np.clip(vaux,0.0,1.0)
+    vaux = (vz - rhomin)/(rhomax-rhomin)
+    vz = np.clip(vaux,0.0,1.0)
+    print("velocity: ",np.amin(vx),np.amin(vy),np.amin(vz))
+    print("velocity: ",np.amax(vx),np.amax(vy),np.amax(vz))
+
+    infile.close()
+    # Output data for debugging
+    #Bz.tofile('data.bin')
+
+    return [rho, T, vx, vy, vz, Bx, By, Bz, B2]
-- 
GitLab