Ejemplo n.º 1
0
def loadfile_rso(filename):
    # initialize lists for reading
    ltime = []
    lT = []
    lH = []
    lM = []
    lM_noAbs = []
    lMerr = []
    # reading data
    with open(filename, "r", newline='') as f:
        reader = csv.reader(f)
        for row in reader:
            if (len(row) > 1) and (
                    row[1] == ""
            ):  # a valid data line only if the comment entry is ""
                try:
                    ltime.append(float(row[0]))
                except ValueError:
                    ltime.append(np.nan)

                try:
                    lT.append(float(row[3]))
                except ValueError:
                    lT.append(np.nan)

                try:
                    lH.append(float(row[2]))
                except ValueError:
                    lH.append(np.nan)

                try:
                    lM.append(float(row[4]))
                except ValueError:
                    lM.append(np.nan)

                try:
                    lMerr.append(float(row[5]))
                except ValueError:
                    lMerr.append(np.nan)

                try:
                    lM_noAbs.append(float(row[18]))
                except ValueError:
                    lM_noAbs.append(np.nan)

    # Convert lists to datasets (dicts of 1D numpy arrays)
    data = datasets.DataSet([
        ("time", np.array(ltime, dtype=np.float_, copy=True)),
        ("T", np.array(lT, dtype=np.float_, copy=True)),
        ("H", np.array(lH, dtype=np.float_, copy=True)),
        ("M", np.array(lM, dtype=np.float_, copy=True)),
        ("err_M", np.array(lMerr, dtype=np.float_, copy=True)),
        ("M_noAbs", np.array(lM_noAbs, dtype=np.float_, copy=True))
    ])
    return data
Ejemplo n.º 2
0
def loadfile(filename): 
    with open(filename, mode="r") as f:
        reader = csv.reader(f)
        next(reader)
        datalist = []
        for var in VAR_ORDER:
            datalist.append([])
        for row in reader:
            for i in range(0, len(row)):
                datalist[i].append(float(row[i]))
            # For backward compatibility #
            for i in range(len(row), len(VAR_ORDER)):
                datalist[i].append(float('nan'))
        datadict = {}
        for i in range(0, len(VAR_ORDER)):
            datadict[VAR_ORDER[i]] = np.array(datalist[i], dtype=np.float_)
        return datasets.DataSet(datadict)
Ejemplo n.º 3
0
def import_dc(filename):
    # initialize lists for reading
    ltime = []
    lT = []
    lH = []
    lch1R = []
    lch1err = []
    lch2R = []
    lch2err = []
    lch3R = []
    lch3err = []
    # reading data
    with open(filename, "r", newline='') as f:
        reader = csv.reader(f)
        for row in reader:
            if row[0] == "":    # a valid data line only if the comment entry is ""
                try:
                    ltime.append(float(row[1]))
                except ValueError:
                    ltime.append(np.nan)
                    
                try:
                    lT.append(float(row[3]))
                except ValueError:
                    lT.append(np.nan)
                    
                try:
                    lH.append(float(row[4]))
                except ValueError:
                    lH.append(np.nan)
                    
                try:
                    lch1R.append(float(row[19]))
                except ValueError:
                    lch1R.append(np.nan)
                    
                try:
                    lch2R.append(float(row[20]))
                except ValueError:
                    lch2R.append(np.nan)
                
                try:
                    lch3R.append(float(row[21]))
                except ValueError:
                    lch3R.append(np.nan)
                
                # Calculating the standard errors assuming the stupid default resistivity calculation made by PPMS
                try:
                    lch1err.append(float(row[14]) * 1.e3 / float(row[18])**0.5)
                except ValueError:
                    lch1err.append(np.nan)
                
                try:
                    lch2err.append(float(row[15]) * 1.e3 / float(row[18])**0.5)
                except ValueError:
                    lch2err.append(np.nan)
                    
                try:
                    lch3err.append(float(row[16]) * 1.e3 / float(row[18])**0.5)
                except ValueError:
                    lch3err.append(np.nan)
                
    # Convert lists to datasets (dicts of 1D numpy arrays)
    ch1 = datasets.DataSet([
                            ("time", np.array(ltime, dtype=np.float_, copy=True)),
                            ("T", np.array(lT, dtype=np.float_, copy=True)),
                            ("H", np.array(lH, dtype=np.float_, copy=True)),
                            ("R", np.array(lch1R, dtype=np.float_, copy=True)),
                            ("err_R", np.array(lch1err, dtype=np.float_, copy=True))
                            ])
    ch2 = datasets.DataSet([
                            ("time", np.array(ltime, dtype=np.float_, copy=True)),
                            ("T", np.array(lT, dtype=np.float_, copy=True)),
                            ("H", np.array(lH, dtype=np.float_, copy=True)),
                            ("R", np.array(lch2R, dtype=np.float_, copy=True)),
                            ("err_R", np.array(lch2err, dtype=np.float_, copy=True))
                            ])
    ch3 = datasets.DataSet([
                            ("time", np.array(ltime, dtype=np.float_, copy=True)),
                            ("T", np.array(lT, dtype=np.float_, copy=True)),
                            ("H", np.array(lH, dtype=np.float_, copy=True)),
                            ("R", np.array(lch3R, dtype=np.float_, copy=True)),
                            ("err_R", np.array(lch3err, dtype=np.float_, copy=True))
                            ])
    return (ch1, ch2, ch3)