Line data Source code
1 : ! Include shortname defintions, so that the F77 code does not have to be modified to 2 : ! reference the CARMA structure. 3 : #include "carma_globaer.h" 4 : 5 : !! This routine calculates particle source terms <evappe> of droplets 6 : !! evaporating within a particle group. 7 : !! 8 : !! Distinct evaporation of cores has not been treated. 9 : !! 10 : !! @author Andy Ackerman 11 : !! @version Aug-2001 12 244226427 : subroutine evap_ingrp(carma,cstate,iz,ibin,ig,ip,rc) 13 : 14 : ! types 15 : use carma_precision_mod 16 : use carma_enums_mod 17 : use carma_constants_mod 18 : use carma_types_mod 19 : use carmastate_mod 20 : use carma_mod 21 : 22 : implicit none 23 : 24 : type(carma_type), intent(in) :: carma !! the carma object 25 : type(carmastate_type), intent(inout) :: cstate !! the carma state object 26 : integer, intent(in) :: iz !! z index 27 : integer, intent(in) :: ibin !! bin index 28 : integer, intent(in) :: ig !! group index 29 : integer, intent(in) :: ip 30 : integer, intent(inout) :: rc !! return code, negative indicates failure 31 : 32 : ! Local declarations 33 : integer :: ie 34 : integer :: isub 35 : 36 : 37 : ! For a single group, the core mass fraction is 0. 38 244226427 : cmf(ibin,ig) = 0.0_f 39 : 40 : ! The smallest bin cannot be a source to smaller bins in same group 41 244226427 : if( ibin .eq. 1 )then 42 : return 43 : endif 44 : 45 : ! Evaluate evaporation source term <evappe> for all elements in group 46 355425602 : do isub = 1, nelemg(ig) 47 177712801 : ie = ip + isub - 1 48 0 : evappe(ibin-1,ie) = evappe(ibin-1,ie) + & 49 355425602 : pc(iz,ibin,ie)*evaplg(ibin,ig) 50 : enddo 51 : 52 : return 53 244226427 : end