void AnalysisDriverTestLibrarySingleton::initialize(const openstudio::path& outputDataDirectory,
        const openstudio::path& baselineModelDirectory)
{
    // create outputDataDirectory and save path as member data
    if (!boost::filesystem::exists(outputDataDirectory)) {
        boost::filesystem::create_directory(outputDataDirectory);
    }
    m_outputDataDirectory = outputDataDirectory;

    // create example model and put in outputDataDirectory
    Model model = exampleModel();
    openstudio::path exampleModelDir = m_outputDataDirectory / toPath("ExampleModel");
    openstudio::path exampleWeatherFileDir = exampleModelDir / toPath("example/files");
    openstudio::path weatherFilePath = exampleWeatherFileDir / toPath("USA_CO_Golden-NREL.724666_TMY3.epw");
    if (!boost::filesystem::exists(exampleModelDir)) {
        boost::filesystem::create_directory(exampleModelDir);
        boost::filesystem::create_directory(exampleWeatherFileDir.parent_path());
        boost::filesystem::create_directory(exampleWeatherFileDir);
        openstudio::path originalWeatherFilePath = energyPlusWeatherDataPath() / toPath("USA_CO_Golden-NREL.724666_TMY3.epw");
        boost::filesystem::copy_file(originalWeatherFilePath,weatherFilePath);
    }
    EpwFile epwFile(weatherFilePath);
    WeatherFile::setWeatherFile(model,epwFile);
    openstudio::path exampleModelPath = exampleModelDir / toPath("example.osm");
    model.save(exampleModelPath,true);
    m_baselineModels.push_back(exampleModelPath);

    // loop through files in baselineModelDirectory (non-recursive) and save .osm paths
    QDir srcDir(toQString(baselineModelDirectory));

    for (const QFileInfo& info : srcDir.entryInfoList(QDir::Files)) {
        if ((info.suffix() == "osm") || (info.suffix() == "idf")) {
            m_baselineModels.push_back(baselineModelDirectory / toPath(info.fileName()));
        }
    }

}
boost::optional<openstudio::EpwFile> translateEpw(openstudio::path epwpath, openstudio::path outpath)
{
  boost::optional<openstudio::EpwFile> epw;
  try
  {
    openstudio::EpwFile epwFile(epwpath,true);
    try
    {
      epwFile.translateToWth(outpath);
    }
    catch(...) // Is this going to work?
    {
      std::cout << "Translation of EPW file failed, weather will be steady state" << std::endl;
      return false;
    }
    epw = boost::optional<openstudio::EpwFile>(epwFile);
  }
  catch(...)
  {
    std::cout << "Failed to correctly load EPW file, weather will be steady state" << std::endl;
    return false;
  }
  return epw;
}