Beispiel #1
0
def calcMetrics(repRto,
                sampRate=1,
                offset=0,
                thi=.25,
                tho=.25,
                thw=.25,
                tap=50,
                thp=(.025, .975),
                finalDay=-1):
    (minS, maxS, _, _) = monet.calcMinMax(repRto)
    mtrRep = {
        'TTI': monet.calcTTI(repRto, thi, sampRate=sampRate, offset=offset),
        'TTO': monet.calcTTO(repRto, tho, sampRate=sampRate, offset=offset),
        'WOP': monet.calcWOP(repRto, thw, sampRate=sampRate),
        'MIN': minS,
        'MAX': maxS,
        'RAP': monet.getRatioAtTime(repRto, tap, sampRate=sampRate),
        'POE': monet.calcPOE(repRto, finalDay=finalDay, thresholds=thp),
        'CPT': monet.calcCPT(repRto)
    }
    return mtrRep
Beispiel #2
0
 for (i, fPath) in enumerate(fPaths):
     repRto = np.load(fPath)
     (reps, days) = repRto.shape
     print(
         fmtStr.format(monet.CBBL, str(i+1).zfill(digs), fNum, monet.CEND)
         , end='\r'
     )
     #######################################################################
     # Calculate Metrics
     #######################################################################
     (ttiS, ttoS, wopS) = (
             monet.calcTTI(repRto, aux.THI),
             monet.calcTTO(repRto, aux.THO),
             monet.calcWOP(repRto, aux.THW)
         )
     (minS, maxS, _, _) = monet.calcMinMax(repRto)
     rapS = monet.getRatioAtTime(repRto, aux.TAP)
     poe = monet.calcPOE(repRto)
     cpt = monet.calcCPT(repRto)
     der = monet.calcDER(repRto, smoothing=10, magnitude=0.1)
     #######################################################################
     # Calculate Quantiles
     #######################################################################
     ttiSQ = [np.nanquantile(tti, qnt) for tti in ttiS]
     ttoSQ = [np.nanquantile(tto, 1-qnt) for tto in ttoS]
     wopSQ = [np.nanquantile(wop, 1-qnt) for wop in wopS]
     rapSQ = [np.nanquantile(rap, qnt) for rap in rapS]
     mniSQ = (np.nanquantile(minS[0], qnt), np.nanquantile(minS[1], qnt))
     mnxSQ = (np.nanquantile(maxS[0], qnt), np.nanquantile(maxS[1], 1-qnt))
     cptSQ = (np.nanquantile(cpt, qnt))
     derSQ = (np.nanquantile(der, qnt))
Beispiel #3
0
 digs = len(str(fNum))
 for (i, fPath) in enumerate(fPaths):
     fmtStr = '{}+ File: {}/{}'
     print(fmtStr.format(monet.CBBL,
                         str(i + 1).zfill(digs), fNum, monet.CEND),
           end='\r')
     repRto = np.load(fPath)
     (reps, days) = repRto.shape
     #######################################################################
     # Calculate Metrics
     #######################################################################
     # Thresholds ----------------------------------------------------------
     (ttiS, ttoS, wopS) = (monet.calcTTI(repRto,
                                         thiS), monet.calcTTO(repRto, thoS),
                           monet.calcWOP(repRto, thwS))
     (_, _, minS, maxS) = monet.calcMinMax(repRto)
     rapS = monet.getRatioAtTime(repRto, tapS)
     #######################################################################
     # Calculate Quantiles
     #######################################################################
     qnt = int(QNT) / 100
     ttiSQ = [np.nanquantile(tti, qnt) for tti in ttiS]
     ttoSQ = [np.nanquantile(tto, 1 - qnt) for tto in ttoS]
     wopSQ = [np.nanquantile(wop, 1 - qnt) for wop in wopS]
     rapSQ = [np.nanquantile(rap, qnt) for rap in rapS]
     mniSQ = (np.nanquantile(minS[0],
                             1 - qnt), np.nanquantile(minS[1], qnt))
     mnxSQ = (np.nanquantile(maxS[0],
                             1 - qnt), np.nanquantile(maxS[1], 1 - qnt))
     #######################################################################
     # Update in Dataframes