docs: def determine_if_sne_are_discoverable(
          log,
          redshiftArray,
          limitingMags,
          observedFrameLightCurveInfo,
          pathToOutputDirectory,
          pathToOutputPlotDirectory,
          plot=True):
      """
      *Given the observe frame lightcurve, determine if the SNe are discoverable by the survey or not.*
  
      **Key Arguments:**
          - ``log`` -- logger
          - ``redshiftArray`` -- the array of random redshifts
          - ``observedFrameLightCurveInfo`` -- the observed franme lightcurve info (dictionary)
          - ``pathToOutputDirectory`` -- path to the output directory (provided by the user)
          - ``pathToOutputPlotDirectory`` -- path to add plots to
          - ``plot`` -- generate plots?
  
      **Return:**
          - ``discoverableList`` -- a list of dictionaries describing if the object is discoverable in each filter and finally if it is discoverable in any filter.
      """
      ################ > IMPORTS ################
      ## STANDARD LIB ##
      ## THIRD PARTY ##
      import numpy as np
      import matplotlib.pyplot as plt
      ## LOCAL APPLICATION ##
      import dryxPython.plotting as dp
  
      ################ >ACTION(S) ################
      filters = ['g', 'r', 'i', 'z']
      models = ['he80', 'he100', 'he130']
  
      discoverableList = []
      for i in range(len(observedFrameLightCurveInfo)):
          discoveryDict = {}
          for ffilter in filters:
              if observedFrameLightCurveInfo[i]['peakMags'][ffilter] > limitingMags[ffilter]:
                  discoveryDict[ffilter] = False
              else:
                  discoveryDict[ffilter] = True
          discoveryDict['any'] = False
          for k, v in discoveryDict.iteritems():
              if v is True:
                  discoveryDict['any'] = True
                  break
  
          discoverableList.append(discoveryDict)
  
      maxVal = np.max(redshiftArray) * 1.1
  
      if plot:
          hitList = []
          missList = []
          faintList = []
          for i in range(len(discoverableList)):
              discoveryDict = discoverableList[i]
              if discoveryDict['any'] is True:
                  hitList.append(redshiftArray[i])
              else:
                  missList.append(redshiftArray[i])
  
          hitArray = np.array(hitList)
          missArray = np.array(missList)
          faintArray = np.array(faintList)
  
          dataDictionary = {'Discoverable': hitArray,
                            'Undiscoverable': missArray}
          plot_polar(
              log,
              title="Discoverable SN Redshift Distribution",
              dataDictionary=dataDictionary,
              pathToOutputPlotsFolder=pathToOutputPlotDirectory,
              dataRange=False,
              ylabel=False,
              radius=maxVal,
              circumference=False,
              prependNum=False)
  
      return discoverableList