code: def flux_components_bottom(self):
          '''Compute the contributions to the downwelling flux to surface due to
          emissions from each level.'''
          N = self.lev.size
          atmComponents = np.zeros_like(self.Tatm)
          flux_down_top = np.zeros_like(self.Ts)
          #  same comment as above... would be nice to vectorize
          for n in range(N):
              emission = np.zeros_like(self.emission)
              emission[..., n] = self.emission[..., n]
              this_flux_down = self.trans.flux_down(flux_down_top, emission)
              atmComponents[..., n] = this_flux_down[..., 0]
          return atmComponentf flux_components_bottom(self):
          '''Compute the contributions to the downwelling flux to surface due to
          emissions from each level.'''
          N = self.lev.size
          atmComponents = np.zeros_like(self.Tatm)
          flux_down_top = np.zeros_like(self.Ts)
          #  same comment as above... would be nice to vectorize
          for n in range(N):
              emission = np.zeros_like(self.emission)
              emission[..., n] = self.emission[..., n]
              this_flux_down = self.trans.flux_down(flux_down_top, emission)
              atmComponents[..., n] = this_flux_down[..., 0]
          return atmComponents
docs: Compute the contributions to the downwelling flux to surface due to
          emissions from each level.