Get Data. Find Methods. Linearize Models.
Free to use. Quick to deploy. Easy to code.
For data-driven power flow linearization and more.
model = daline.all('case118')
data = daline.generate('case.name', 'case118')
opt = daline.setopt('noise.SNR_dB', 45)
data = daline.noise(data, opt)
data = daline.outlier(data, 'outlier.switchTrain', 1, 'outlier.percentage', 2.5)
data = daline.denoise(data, 'filNoi.switchTrain', 1, 'filNoi.useARModel', false)
opt = daline.setopt('filNoi.useARModel', false, 'filNoi.zeroInitial', 0)
data = daline.deoutlier(data, opt)
data = daline.normalize(data, 'norm.switch', 1)
data = daline.data('num.trainSample', 500, 'num.testSample', 300)
opt = daline.setopt('data.baseType', 'TimeSeriesRand', 'method.name', 'RR')
data = daline.data('data.program', 'acpf', 'data.baseType', 'TimeSeriesRand')
model = daline.all('case118', 'method.name', 'RR')
data = daline.generate('case.name', 'case118')
data = daline.data('case.name', 'case39')
time_list = daline.time(data, {'LS', 'LS_SVD', 'RR'}, 'PLOT.repeat', 5, 'PLOT.style', 'light')
opt = daline.setopt('method.name', 'LS_PIN', 'variable.predictor', {'P', 'Q'}, 'variable.response', {'PF'})
model = daline.fit(data, opt)
opt = daline.setopt('method.name', 'LS_SVD', 'variable.response', {'PF'})
model = daline.fit(data, opt)
model = daline.fit(data, 'method.name', 'LS_COD')
model = daline.rank(data, method, opt)
opt = daline.setopt('data.program', 'acpf')
data = daline.data(opt)
model = daline.all('case118', 'method.name', 'RR')
data = daline.generate('data.baseType', 'TimeSeriesRand')
model = daline.fit(data, opt)
model = daline.fit(data, 'method.name', 'LS_COD')
model = daline.fit(data, 'method.name', 'LS_HBLE', 'HBL.language', 'yalmip', 'HBL.solver', 'quadprog', 'HBL.programType', 'whole')
model = daline.fit(data, 'method.name', 'LS_LIFX', 'variable.liftType', 'polyharmonic', 'variable.liftK', 2)
model = daline.fit(data, 'method.name', 'LS_WEI')
model = daline.fit(data, 'method.name', 'DRC_XYM', 'DRC.probThreshold', 90, 'DRC.gamma2', 0.5, 'DRC.language', 'cvx', 'DRC.solverM', 'Mosek', 'DRC.programType', 'whole')
model = daline.fit(data, 'method.name', 'LS_REC', 'LSR.recursivePercentage', 30, 'LSR.initializeP', 0)
model = daline.fit(data, 'method.name', 'LS_REP', 'LSR.recursivePercentage', 75)
model = daline.rank(data, {'DLPF_C', 'RR', 'PLS_REC'}, 'RR.lambdaInterval', 1e-5, 'RR.cvNumFold', 4, 'PLS.recursivePercentage', 40)
time_list = daline.time(data, {'LS', 'LS_SVD', 'RR'})
model = daline.fit(data, 'method.name', 'LS_PIN')
model = daline.fit(data, opt)
model = daline.fit(data, 'method.name', 'LS_COD')
model = daline.fit(data, 'method.name', 'LS_HBLE')
model = daline.fit(data, 'method.name', 'LS_LIFX')
model = daline.fit(data, 'method.name', 'LS_WEI')
model = daline.fit(dataN, 'method.name', 'DRC_XYM')
model = daline.fit(data, 'method.name', 'LS_REC')
model = daline.fit(data, 'method.name', 'LS_REP')
model = daline.rank(data, {'DLPF_C', 'RR', 'PLS_REC'})
time_list = daline.time(data, {'LS', 'LS_SVD', 'RR'})
model = daline.fit(data, 'method.name', 'LS_PIN')
model = daline.fit(data, 'method.name', 'LS_SVD')
model = daline.fit(data, 'method.name', 'LS_COD')
data = daline.data('case.name', 'case39')
opt = daline.setopt('variable.predictor', {'P', 'Q'}, 'variable.response', {'PF', 'Vm'})
daline.rank(data, methods)
daline.rank(data, methods, 'PLOT.response', {'Vm', 'PF'})
daline.rank(data, {'TAY', 'QR'}, 'PLOT.theme', 'commercial', 'PLOT.style', 'light')
daline.time(data, methods)
daline.time(datalist, methods)
data = daline.data('case.name', 'case39')
opt = daline.setopt('variable.predictor', {'P', 'Q'}, 'variable.response', {'PF', 'Vm'}, 'PLOT.repeat', 5, 'PLOT.style', 'light')
time_list = daline.time(data, 'LS', 'LS_SVD', 'RR', opt)
opt = daline.setopt('method.name', 'LS_PIN', 'variable.predictor', {'P', 'Q'}, 'variable.response', {'PF'})
model = daline.fit(data, opt)
opt = daline.setopt('method.name', 'LS_SVD', 'variable.predictor', {'P', 'Q'}, 'variable.response', {'PF'})
model = daline.fit(data, opt)
opt = daline.setopt('method.name', 'LS_COD', 'variable.predictor', {'P', 'Q'}, 'variable.response', {'PF'})
model = daline.fit(data, opt)
model = daline.rank(data, method, opt)
data = daline.generate('case.name', 'case118', 'data.program', 'acpf', 'data.baseType', 'TimeSeriesRand')
opt = daline.setopt('noise.switchTrain', 1, 'noise.switchTest', 1, 'noise.SNR_dB', 45)
data = daline.noise(data, opt)
data = daline.outlier(data, 'outlier.switchTrain', 1, 'outlier.percentage', 2.5)
data = daline.denoise(data, 'filNoi.switchTrain', 1, 'filNoi.useARModel', false)
opt = daline.setopt('filNoi.switchTrain', 1, 'filNoi.useARModel', false, 'filNoi.zeroInitial', 0)
data = daline.deoutlier(data, opt)
data = daline.normalize(data, 'norm.switch', 1)
data = daline.data('case.name', 'case118', 'num.trainSample', 500, 'num.testSample', 300, 'data.program', 'acpf', 'data.baseType', 'TimeSeries', 'noise.switchTrain', 1, 'outlier.switchTrain', 1, 'norm.switch', 1)
opt = daline.setopt('data.baseType', 'TimeSeries', 'method.name', 'RR')
data = daline.data('case.name', 'case118', 'data.program', 'acpf', 'data.baseType', 'TimeSeries')
opt = daline.setopt('case.name', 'case57', 'data.program', 'acpf', 'data.baseType', 'TimeSeries'); data = daline.data(opt)
model = daline.all('case118', 'data.baseType', 'Random', 'method.name', 'RR')
Utilize or compare over 55 linearization methods using one line of code in Daline
Get accuracy ranking for any states of any methods by a simple Daline command
One simple command in Daline can tell you which method is faster
Or, tell you which method is more scalable
Generate, pollute, clean, and normalize (optimal) power flow data with numerous customization in one Daline command
-
Latest Advancements
Provides users with access to the latest advancements in power flow linearization, enabling rapid model acquisition and flexible customization and extension of accurate and computationally efficient approaches.
-
High Flexibility
With an user-friendly architecture that supports over 300 adjustable parameters and options, offering extensive flexibility to meet diverse research and educational needs.
-
Minimal Coding
Crafted for simplicity, enabling users to accomplish complex tasks with minimal coding, often requiring just one or two lines of code.