docs: def generate_numpy_polynomial_lightcurves(
          log,
          snLightCurves,
          pathToOutputDirectory,
          pathToOutputPlotDirectory,
          plot=False):
      """
      *Given a the yaml input of the SN Lightcurves generate a numpy polynomial of the curves.*
  
      **Key Arguments:**
          - ``log`` -- logger
          - ``snLightCurves`` -- some info on sn LightCurves
          - ``pathToOutputDirectory`` -- path to the output directory (provided by the user)
          - ``pathToOutputPlotDirectory`` -- path to the output plots directory
          - ``plot`` -- generate plot?
  
      **Return:**
          - ``polynomialDict`` -- { snType, polynomialLightcurve }
      """
      ################ > IMPORTS ################
      ## STANDARD LIB ##
      ## THIRD PARTY ##
      import numpy as np
      import matplotlib.pyplot as plt
      import yaml
      ## LOCAL APPLICATION ##
      import dryxPython.plotting as dp
  
      ################ >ACTION(S) ################
      # EXTRACT THE MODEL LIGHTCURVE POLYNOMIALS
      fileName = pathToOutputDirectory + "/transient_light_curves.yaml"
      stream = file(fileName, 'r')
      yamlContent = yaml.load(stream)
      generatedLCs = yamlContent
      stream.close()
  
      log.info('fileName: %s' % (fileName,))
      log.debug('generatedLCs: %s' % (generatedLCs,))
  
      rawLightCurveDict = {}
      for model, filterData in generatedLCs.iteritems():
          thisModel = model
          rawLightCurveDict[thisModel] = {}
          for ffilter, modelData in filterData.iteritems():
              rawLightCurveDict[thisModel][ffilter] = {}
              plotDict = {}
  
              if modelData["poly"] is None:
                  log.warning(
                      'cound not plot the raw lightcurve for the %s object in rest frame %s-band - probably insufficient spectral coverage' %
                      (model, ffilter))
                  rawLightCurveDict[thisModel][ffilter]['poly'] = None
                  rawLightCurveDict[thisModel][ffilter][
                      'Explosion Day Relative to Peak'] = None
                  rawLightCurveDict[thisModel][ffilter][
                      'End of lightcurve relative to peak'] = None
                  continue
  
              # explosionDay = snLightCurves[model]['Explosion Day Relative to Peak']
              endOfLightcurveDay = snLightCurves[model][
                  'End of lightcurve relative to peak']
              explosionDay = modelData['Explosion Day Relative to Peak']
              log.info(
                  'explosionDay, endOfLightcurveDay for raw Light Curve: %s, %s' %
                  (explosionDay, endOfLightcurveDay))
              # endOfLightcurveDay = snLightCurves[model]['End of lightcurve relative to peak']
              # log.info('endOfLightcurveDay %s' % (endOfLightcurveDay,))
              # log.info('explosionDay %s' % (explosionDay,))
              poly = modelData['poly']
              peakMag = modelData['Peak Magnitude']
              peakMagPoly = np.poly1d([peakMag, ])
              polyLightCurve = np.poly1d(poly)
              polyLightCurve = polyLightCurve - peakMagPoly
              polyLightCurve = np.poly1d(polyLightCurve)
              rawLightCurveDict[thisModel][ffilter]['poly'] = polyLightCurve
              rawLightCurveDict[thisModel][ffilter][
                  'Explosion Day Relative to Peak'] = explosionDay
  
              log.debug(
                  'rawLightCurveDict[thisModel][ffilter][Explosion Day Relative to Peak]: %s' %
                  (rawLightCurveDict[thisModel][ffilter]['Explosion Day Relative to Peak'],))
              rawLightCurveDict[thisModel][ffilter][
                  'End of lightcurve relative to peak'] = endOfLightcurveDay
              plotDict[model] = polyLightCurve
  
              if plot:
                  plot_polynomial(
                      log,
                      title="00 raw lightcurve for %s, filter %s" % (
                          model, ffilter),
                      polynomialDict=plotDict,
                      orginalDataDictionary=False,
                      pathToOutputPlotsFolder=pathToOutputPlotDirectory,
                      xRange=[explosionDay, endOfLightcurveDay],
                      xlabel=False,
                      ylabel=False,
                      xAxisLimits=False,
                      yAxisLimits=False,
                      yAxisInvert=True,
                      prependNum=False)
  
      return rawLightCurveDict