code: def find_peak_magnitude(
          log,
          poly,
          model,
          start,
          end):
      
      ################ > IMPORTS ################
      ## STANDARD LIB ##
      ## THIRD PARTY ##
      import numpy as np
      ## LOCAL APPLICATION ##
  
      ################ > VARIABLE SETTINGS ######
  
      ################ >ACTION(S) ################
      timeList = []
      magnitudeList = []
  
      # wavelengthArray, fluxArray, minWl, maxWl = extract_spectra_from_file(log, thisFile)
      for time in range(start * 5, end * 5, 1):
          time = time / 5.
          thisTime = time
          flatPoly = np.poly1d(poly)
          magnitude = flatPoly(thisTime)
          timeList.append(thisTime)
          magnitudeList.append(magnitude)
  
      magnitudeArray = np.array(magnitudeList)
      timeArray = np.array(timeList)
      magIndexMin = magnitudeArray.argmin()
      magIndexMax = magnitudeArray.argmax()
      timeIndexMin = timeArray.argmin()
      timeIndexMax = timeArray.argmax()
  
      peakMag = float(magnitudeArray[magIndexMin])
      peakTime = float(timeList[magIndexMin])
  
      explosionMag = float(magnitudeArray[timeIndexMin])
      explosionDay = float(timeList[timeIndexMin])
  
      log.debug('start, end: %s, %s' % (start, end,))
      log.debug('timeList: %s' % (timeList,))
      log.debug('magnitudeArray: %s' % (magnitudeArray,))
      log.info(
          'MODEL: %s ... peakMag %s, peakTime %s, explosionMag %s, explosionDay %s' %
          (model, peakMag, peakTime, explosionMag, explosionDay))
      return peakMag, peakTime, explosionMag, explosionDay
docs: *Determine peakMag and time from an initial polynomial lightcurve*
  
      **Key Arguments:**
          - ``log`` -- logger
          - ``poly`` -- initial polynomial lightcurve
          - ``model`` -- the transient being considered
          - ``start`` -- lower time bound of spectrum
          - ``end`` -- upper time bound of spectrum
  
      **Return:**
          - ``peakMag``
          - ``peakTime``