code: def beam_component(surface_tilt, surface_azimuth, solar_zenith, solar_azimuth,
                     dni):
      
      beam = dni * aoi_projection(surface_tilt, surface_azimuth,
                                  solar_zenith, solar_azimuth)
      beam = np.maximum(beam, 0)
  
      return beam
docs: Calculates the beam component of the plane of array irradiance.
  
      Parameters
      ----------
      surface_tilt : numeric
          Panel tilt from horizontal.
      surface_azimuth : numeric
          Panel azimuth from north.
      solar_zenith : numeric
          Solar zenith angle.
      solar_azimuth : numeric
          Solar azimuth angle.
      dni : numeric
          Direct Normal Irradiance
  
      Returns
      -------
      beam : numeric
          Beam component