-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4 from lsst/feature/SIMS-1131-create-benchmarks
Feature/sims 1131 create benchmarks
- Loading branch information
Showing
71 changed files
with
2,775 additions
and
5,732 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
import numpy as np | ||
import lsst.sims.maf.db as db | ||
import lsst.sims.maf.metrics as metrics | ||
import lsst.sims.maf.slicers as slicers | ||
import lsst.sims.maf.metricBundles as metricBundles | ||
import lsst.sims.maf.plots as plots | ||
|
||
# Let's try running all the Slicers and check that things work | ||
|
||
|
||
# Set up the database connection | ||
opsdb = db.OpsimDatabase('sqlite:///enigma_1189_sqlite.db') | ||
outDir = 'AllSlicers' | ||
resultsDb = db.ResultsDb(outDir=outDir) | ||
sqlWhere = 'night < 365' | ||
|
||
bundleList = [] | ||
|
||
# Hourglass slicer | ||
slicer = slicers.HourglassSlicer() | ||
metric = metrics.HourglassMetric() | ||
bundle = metricBundles.MetricBundle(metric, slicer, sqlWhere) | ||
bundleList.append(bundle) | ||
|
||
# UniSlicer | ||
slicer = slicers.UniSlicer() | ||
metric = metrics.MeanMetric(col='airmass') | ||
bundle = metricBundles.MetricBundle(metric, slicer, sqlWhere) | ||
bundleList.append(bundle) | ||
|
||
# HealpixSlicer | ||
slicer = slicers.HealpixSlicer(nside=16) | ||
metric = metrics.MeanMetric(col='airmass', metricName='MeanAirmass_heal') | ||
bundle = metricBundles.MetricBundle(metric, slicer, sqlWhere) | ||
bundleList.append(bundle) | ||
|
||
# OneDSlicer | ||
slicer = slicers.OneDSlicer(sliceColName='night', binsize=10) | ||
metric = metrics.CountMetric(col='expMJD') | ||
bundle = metricBundles.MetricBundle(metric, slicer, sqlWhere) | ||
bundleList.append(bundle) | ||
|
||
# OpsimFieldSlicer | ||
slicer = slicers.OpsimFieldSlicer() | ||
metric = metrics.MeanMetric(col='airmass') | ||
bundle = metricBundles.MetricBundle(metric, slicer, sqlWhere) | ||
bundleList.append(bundle) | ||
|
||
# UserPointsSlicer | ||
ra = np.arange(0,101,1)/100.*np.pi | ||
dec = np.arange(0,101,1)/100.*(-np.pi) | ||
slicer = slicers.UserPointsSlicer(ra=ra,dec=dec) | ||
metric = metrics.MeanMetric(col='airmass', metricName='meanAirmass_user') | ||
bundle = metricBundles.MetricBundle(metric, slicer, sqlWhere) | ||
bundleList.append(bundle) | ||
|
||
# healpixComplexSlicer (healpix slicer + summaryHistogram) | ||
bins = np.arange(0.5, 3.0, 0.1) | ||
slicer = slicers.HealpixSlicer(nside=16) | ||
metric = metrics.TgapsMetric(bins=bins) | ||
plotDict = {'bins':bins} | ||
plotFuncs = [plots.SummaryHistogram()] | ||
bundle = metricBundles.MetricBundle(metric, slicer, sqlWhere, plotDict=plotDict, plotFuncs=plotFuncs) | ||
bundleList.append(bundle) | ||
|
||
# f0 plot -- this should just go to a healpixslicer with a different plotter. | ||
slicer = slicers.HealpixSlicer(nside=64) | ||
metric = metrics.CountMetric('expMJD', metricName='fO') | ||
plotFuncs = [plots.FOPlot()] | ||
bundle = metricBundles.MetricBundle(metric, slicer, sqlWhere, plotFuncs=plotFuncs) | ||
bundleList.append(bundle) | ||
|
||
|
||
# Run everything above | ||
bundleDict = metricBundles.makeBundleDict(bundleList) | ||
bgroup = metricBundles.MetricBundleGroup(bundleDict, opsdb, outDir=outDir, resultsDb=resultsDb) | ||
bgroup.runAll() | ||
bgroup.plotAll() | ||
bgroup.writeAll() | ||
|
||
|
||
# Make a 6-panel seeing plot | ||
filters = ['u','g','r','i','z','y'] | ||
slicer = slicers.HealpixSlicer(nside=64) | ||
metric = metrics.MeanMetric(col='finSeeing') | ||
for f in filters: | ||
bundle = metricBundles.MetricBundle(metric, slicer, 'filter = "%s" and night < 365'%f) | ||
bundleDict = metricBundles.makeBundleDict([bundle]) | ||
bgroup = metricBundles.MetricBundleGroup(bundleDict, opsdb, outDir=outDir, resultsDb=resultsDb) | ||
bgroup.runAll() | ||
bgroup.plotAll() | ||
bgroup.writeAll() | ||
|
||
|
||
|
||
|
||
# healpixSDSSSlicer | ||
# need to run setup pymssql to get this part to run. Do we want to add that to our dependencies? | ||
runSDSS = False | ||
if runSDSS: | ||
sdssDB = db.SdssDatabase('mssql+pymssql://clue-1:[email protected]:1433') | ||
sqlWhere = "filter='r' and nStars > 0 and nGalaxy > 0" | ||
slicer = slicers.HealpixSDSSSlicer(nside=64, lonCol='RA1', latCol='Dec1') | ||
metric = metrics.MeanMetric(col='psfWidth') | ||
bundle = metricBundles.MetricBundle(metric, slicer, sqlWhere) | ||
bgroup = metricBundles.MetricBundleGroup({0:bundle}, sdssDB, outDir=outDir, resultsDb=resultsDb) | ||
bgroup.runAll() | ||
bgroup.plotAll() | ||
bgroup.writeAll() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
import matplotlib.pyplot as plt | ||
import lsst.sims.maf.metricBundles as metricBundles | ||
import lsst.sims.maf.metrics as metrics | ||
import lsst.sims.maf.slicers as slicers | ||
import lsst.sims.maf.stackers as stackers | ||
import lsst.sims.maf.db as db | ||
|
||
|
||
|
||
database = db.OpsimDatabase('sqlite:///enigma_1189_sqlite.db') | ||
|
||
|
||
metric = metrics.MeanMetric(col='HA') | ||
slicer = slicers.HealpixSlicer(nside=4) | ||
stackerList = [stackers.NormAirmassStacker()] | ||
|
||
mb = metricBundles.MetricBundle(metric, slicer, stackerList=stackerList, sqlconstraint='filter="r" and night < 100') | ||
metric = metrics.RmsMetric(col='airmass') | ||
mb2 = metricBundles.MetricBundle(metric, slicer, stackerList=stackerList, sqlconstraint='filter="r" and night < 100') | ||
|
||
|
||
print mb.dbCols | ||
|
||
mbD = {0:mb, 1:mb2} | ||
|
||
mbg = metricBundles.MetricBundleGroup(mbD, database, outDir='test') | ||
mbg.runAll() | ||
mbg.plotAll(closefigs=False) | ||
plt.show() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.