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 zeroes the fast microphysics sinks and sources, 6 : !! at one spatial point per call. 7 : !! 8 : !! @author Andy Ackerman 9 : !! @version Oct-1997 10 1418703438 : subroutine zeromicro(carma, cstate, iz, rc) 11 : 12 : ! types 13 : use carma_precision_mod 14 : use carma_enums_mod 15 : use carma_constants_mod 16 : use carma_types_mod 17 : use carmastate_mod 18 : use carma_mod 19 : 20 : implicit none 21 : 22 : type(carma_type), intent(in) :: carma !! the carma object 23 : type(carmastate_type), intent(inout) :: cstate !! the carma state object 24 : integer, intent(in) :: iz !! vertical index 25 : integer, intent(inout) :: rc !! return code, negative indicates failure 26 : 27 : 28 : ! Set production terms and loss rates due to nucleation, growth, 29 : ! and evaporation to zero. Also set index of smallest bin nuceleated 30 : ! during time step equal to <NBIN> first time through spatial loop. 31 : 32 1418703438 : if (do_grow) then 33 : 34 1418703438 : phprod = 0._f 35 1418703438 : rlprod = 0._f 36 61004247834 : dtpart(iz,:,:) = 0._f 37 : 38 4256110314 : if (NGAS > 0) gasprod(:) = 0._f 39 : 40 >20996*10^7 : rhompe(:, :) = 0._f 41 >20996*10^7 : rnucpe(:,:) = 0._f 42 >20996*10^7 : growpe(:,:) = 0._f 43 >20996*10^7 : evappe(:,:) = 0._f 44 >12342*10^7 : rnuclg(:,:,:) = 0._f 45 61004247834 : growlg(:,:) = 0._f 46 61004247834 : evaplg(:,:) = 0._f 47 : 48 : end if 49 : 50 : ! Return to caller with fast microphysics sinks and sources zeroed. 51 1418703438 : return 52 1418703438 : end