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
 fmtStr = '{}+ File: {}/{}'
 # (i, fPath) = (0, fPaths[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))
Beispiel #3
0
###############################################################################
# Iterate through experiments
###############################################################################
fmtStr = '{}+ File: {}/{}'
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,
                                        thiS), monet.calcTTO(repRto, thoS),
                          monet.calcWOP(repRto, thwS))
    (minS, maxS) = monet.calcMinMax(repRto)
    rapS = monet.getRatioAtTime(repRto, tapS)
    #######################################################################
    # 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))
    #######################################################################
    # Update in Dataframes
    #######################################################################
    xpid = fun.getXpId(fPath, xpidIx)