예제 #1
0
    def calc_Ls(self, x_surface, geom):
        '''Emission of surface, as a radiance'''

        T = x_surface[self.surf_temp_ind]
        frac = x_surface[self.bb_frac_ind]
        emissivity = s.ones(self.nwl, dtype=float)
        Ls, dLs_dT = emissive_radiance(emissivity, T, self.wl)
        return Ls * frac
예제 #2
0
    def dLs_dx(self, x_surface, geom):
        '''Partial derivative of surface emission with respect to state vector, 
        calculated at x_surface.'''

        dLs_dx = MultiComponentSurface.dLs_dx(self, x_surface, geom)
        T = x_surface[self.surf_temp_ind]
        frac = x_surface[self.bb_frac_ind]
        emissivity = s.ones(self.nwl, dtype=float)
        Ls, dLs_dT = emissive_radiance(emissivity, T, self.wl)
        dLs_dx[:, self.surf_temp_ind] = dLs_dT * frac
        dLs_dx[:, self.bb_frac_ind] = Ls
        return dLs_dx
예제 #3
0
 def err(z):
     T, bb_frac = z
     emissivity = s.ones(self.nwl, dtype=float)
     Ls_est, d = emissive_radiance(emissivity, T, self.wl)
     resid = Ls_est * bb_frac - Ls
     return sum(resid**2)