! $Id$ ! ! ! intermediate products ! module imp_mod use array_tools_mod use science_tools_mod type imp_type real, allocatable, dimension(:,:) :: bt11_lrc real, allocatable, dimension(:,:) :: emis_ch20 type (array_stats_type) :: bt_stats ( 42) contains procedure :: deallocate_all end type contains ! ------------------------------------------------ ! ! ------------------------------------------------- subroutine deallocate_all ( this) class ( imp_type) :: this if ( allocated ( this % bt11_lrc) ) deallocate ( this % bt11_lrc ) if ( allocated ( this % emis_ch20) ) deallocate ( this % emis_ch20 ) end subroutine deallocate_all ! ------------------------------------------------ ! ! ------------------------------------------------- subroutine populate_imp (sat , imp ) use sat_mod type(sat_type) , intent(in) :: sat type(imp_type) , intent(in out):: imp real :: min_bt11 , max_bt11 integer , parameter :: N_BOX = 3 character ( len = 10) :: sensor allocate ( imp % bt11_lrc (sat % num_pix , sat%num_elem_this_seg) ) call local_radiative_center ( sat % data(31) % bt , min_bt11 & & , max_bt11 , imp % bt11_lrc ) call array_statistics ( sat % data(31) % bt , n_box , imp % bt_stats(31) ) ! - allocate ( imp % emis_ch20 (sat % num_pix , sat%num_elem_this_seg) ) sensor ='VIIRS' call compute_emis ( sat % data(31) % bt, sat % data(20) % rad , sensor, 20, imp % emis_ch20 ) end subroutine populate_imp end module imp_mod