I don't have a definitive answer for you, I'm going to move this to the CAM-Chem Forum. But I see this in VOCEmissionMod.F90
call hist_addfld1d ( fname='MEG_'//trim(meg_cmp%name), units='kg/m2/sec', &
avgflag='A', long_name='MEGAN flux', &
ptr_patch=meg_out(imeg)%flux_out, set_lake=0._r8, set_urb=0._r8 )
If I look for meg_out(imeg)%flux_out I see:
! assign to arrays for history file output (not weighted by landfrac)
meg_out(imeg)%flux_out(p) = meg_out(imeg)%flux_out(p) &
+ epsilon * gamma * megemis_units_factor*1.e-3_r8 ! Kg/m2/sec
The code comments say that epsilon has units of ug/m2/hr, gamma is unitless, megemis_units_factor converts from ug/m2/hr to g/m2/s, and 1e-3 converts from g to kg.
So the units of the second term on the righthand side are in kg/m2/s.
Which means that meg_out(imeg)%flux_out(p) must be kg/m2/s.
I see this also:
real(r8), pointer, private :: flux_out(:) ! patch MEGAN flux [ug C m-2 h-1]
So the ug C implies it's in carbon units. However, it seems to me that flux_out is already in kg C, not ug C, so maybe the comment is incorrect? Or there's a conversion I'm not seeing.