Opened 3 years ago

Closed 3 years ago

#1843 closed help (answered)

Units - emissions, tracer, output

Reported by: s1374103 Owned by: um_support
Component: UM Model Keywords:
Cc: Platform:
UM Version: 8.4


Hi Helpdesk,

I'm in the process of adding new organic tracer/emissions/reactions to UKCA and I'm a little confused by the unit and whether they should be mass of carbon per molecule or mass of entire molecule. I thought that it doesn't matter as long as you are consistent…

I defined the relative molecular mass of my new tracer as the mass of the entire molecule, so does this mean that the emissions of that tracer need to be in kg(entire molecule)/m2/s? I assume then that the output for this tracer will me the mass mixing ratio for the entire molecule?

I compared this to an existing tracer, isoprene. The emissions of isoprene are in kg©/m2/s. But the relative molceular mass of isoprene is defined as the entire molcule inside UKCA. So does this mean that the output of isoprene is in kg© or kg(isoprene)?



Change History (3)

comment:1 Changed 3 years ago by grenville


Sorry for the delay — is this still a problem. I think we'll (you'll) need some advice from the UKCA science team.


comment:2 Changed 3 years ago by luke

Hi Jamie,

Sorry for my delay in replying - I didn't realise that this was a UKCA ticket.

Emissions are a bit of a mess really. The units should be kg(species)/m2/s, however, there are a number of special cases. It also partly depends on the version that you are running, as vn10.x versions use netCDF emissions where the units are defined in the netCDF metadata. For older versions that use UM ancillary files, I recommend looking through the ukca_emission_ctl.F90 routine, specifically this block (e.g. from vn8.4):

        DO l=1,n_chem_emissions
          IF (advt(k) == em_chem_spec(l) .AND.                          &
            em_chem_spec(l) == 'NO      ' ) THEN
!          Convert from kg NO2/m2/s to kg NO/m2/s
            em_field(:,:,k) = all_emissions(:,:,l)*m_no/m_no2
          ELSE IF (advt(k) == em_chem_spec(l)(1:3) .AND.                &
            em_chem_spec(l) == 'SO2_low ' ) THEN
!          Convert from kg S/m2/s to kg SO2/m2/s and take off sulphate fraction
            em_field(:,:,k) = all_emissions(:,:,l)*                     &
                               (1.0 - mode_parfrac/100.0)*m_so2/m_s
          ELSE IF (advt(k) == em_chem_spec(l) .AND.                     &
            em_chem_spec(l) == 'DMS     ' ) THEN
!          Convert from kg S/m2/s to kg DMS/m2/s
            em_field(:,:,k) = all_emissions(:,:,l)*m_dms/m_s
          ELSE IF (advt(k) == 'MeOH      ' .AND.                        &
            em_chem_spec(l) == 'NVOC      ' ) THEN
!           emissions are in kg(MeOH)/m^2/s
            em_field(:,:,k) = all_emissions(:,:,l)
          ELSE IF (advt(k) == em_chem_spec(l) .AND.                     &
            em_chem_spec(l) == 'Monoterp  ' ) THEN
!          Convert from kg C/m2/s to kg C10H16/m2/s
            em_field(:,:,k) = all_emissions(:,:,l)*m_monoterp/(m_c*10.0)
!           === biogenic emissions ===
          ELSE IF (advt(k) == em_chem_spec(l) .AND.                     &
                  em_chem_spec(l) == 'C5H8      ') THEN
            IF (L_ukca_diurnal_isopems) THEN
              tmp_in_em_field(:,:) = all_emissions(:,:,l)*(m_isop/      &
! DEPENDS ON: ukca_diurnal_isop_ems
!                testdcycl = .TRUE.
                CALL UKCA_DIURNAL_ISOP_EMS(row_length, rows,             &
                          tmp_in_em_field,  cos_zenith_angle,            &
                          int_zenith_angle,                              &
                          sin_theta_latitude, FV_cos_theta_latitude,     &
                          tan_theta_latitude, timestep, tmp_out_em_field,&
                em_field(:,:,k) = tmp_out_em_field(:,:)
                em_field(:,:,k) = all_emissions(:,:,l)*(m_isop/(5.0*m_c))
            END IF
          ELSE IF (advt(k) == em_chem_spec(l) ) THEN
            em_field(:,:,k) = all_emissions(:,:,l)
          ENDIF             ! end advt(k)
        END DO       ! l=1,n_use_emissions

where you can see all the special cases defined (of which isoprene is one, which is why it is confusing!).

Useful information can be found in the UKCA tutorials here:

and in the UMDP here (UMDP084):

I hope this helps.

Many thanks,

comment:3 Changed 3 years ago by grenville

  • Resolution set to answered
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.