uEMEP_set_emission_factors Subroutine

public subroutine uEMEP_set_emission_factors()

Uses

  • proc~~uemep_set_emission_factors~~UsesGraph proc~uemep_set_emission_factors uEMEP_set_emission_factors module~uemep_definitions uEMEP_definitions proc~uemep_set_emission_factors->module~uemep_definitions

Arguments

None

Called by

proc~~uemep_set_emission_factors~~CalledByGraph proc~uemep_set_emission_factors uEMEP_set_emission_factors proc~uemep_calculate_emissions_for_emep uEMEP_calculate_emissions_for_EMEP proc~uemep_calculate_emissions_for_emep->proc~uemep_set_emission_factors program~uemep uEMEP program~uemep->proc~uemep_set_emission_factors program~uemep->proc~uemep_calculate_emissions_for_emep

Source Code

    subroutine uEMEP_set_emission_factors

        use uEMEP_definitions

        implicit none

        write(unit_logfile,'(A)') ''
        write(unit_logfile,'(A)') '================================================================'
        write(unit_logfile,'(A)') 'Setting emission factors (uEMEP_set_emission_factors)'
        write(unit_logfile,'(A)') '================================================================'

        !Converts the emission units of the input data to a standard ug/s/subgrid
        emission_factor_conversion(nox_index,traffic_index,:)=emission_factor(nox_index,traffic_index,:)*(1.e-3)*(1.e+6)/(3600.*24.) ![veh*m/day]*(g/km/veh)*(km/m)*(ug/g)*(day/sec)=ug/sec
        emission_factor_conversion(nox_index,shipping_index,:)=emission_factor(nox_index,shipping_index,:)*(1.e+12)/(3600.*24.*365./12.) ![tonne/month]*(ug/ton)*(month/sec)=ug/sec. Only valid for the current AIS data which is a total. Should change
        emission_factor_conversion(nox_index,heating_index,:)=emission_factor(nox_index,heating_index,:)*(1.e+9)/(3600.*24.*365.) ![dwellings]*(kg/dwelling/year)*(ug/kg)*(year/sec)=ug/sec

        emission_factor_conversion(no2_index,traffic_index,:)=emission_factor(no2_index,traffic_index,:)*(1.e-3)*(1.e+6)/(3600.*24.)
        emission_factor_conversion(no2_index,shipping_index,:)=emission_factor(no2_index,shipping_index,:)*(1.e+12)/(3600.*24.*365./12.)
        emission_factor_conversion(no2_index,heating_index,:)=emission_factor(no2_index,heating_index,:)*(1.e+9)/(3600.*24.*365.) ![dwellings]*(kg/dwelling/year)*(ug/kg)*(year/sec)=ug/sec

        emission_factor_conversion(pm25_index,traffic_index,:)=emission_factor(pm25_index,traffic_index,:)*(1.e-3)*(1.e+6)/(3600.*24.) ![veh*m/day]*(g/km/veh)*(km/m)*(ug/g)*(day/sec)=ug/sec
        emission_factor_conversion(pm25_index,shipping_index,:)=emission_factor(pm25_index,shipping_index,:)*(1.e+12)/(3600.*24.*365./12.) ![tonne/month]*(ug/kg)*(month/sec)=ug/sec
        emission_factor_conversion(pm25_index,heating_index,:)=emission_factor(pm25_index,heating_index,:)*(1.e+9)/(3600.*24.*365.) ![dwellings]*(kg/dwelling/year)*(ug/kg)*(year/sec)=ug/sec

        emission_factor_conversion(pm10_index,traffic_index,:)=emission_factor(pm10_index,traffic_index,:)*(1.e-3)*(1.e+6)/(3600.*24.) ![veh*m/day]*(g/km/veh)*(km/m)*(ug/g)*(day/sec)=ug/sec
        emission_factor_conversion(pm10_index,shipping_index,:)=emission_factor(pm10_index,shipping_index,:)*(1.e+12)/(3600.*24.*365./12.) ![tonne/month]*(ug/kg)*(month/sec)=ug/sec
        emission_factor_conversion(pm10_index,heating_index,:)=emission_factor(pm10_index,heating_index,:)*(1.e+9)/(3600.*24.*365.) ![dwellings]*(kg/dwelling/year)*(ug/kg)*(year/sec)=ug/sec

        emission_factor_conversion(pmex_index,traffic_index,:)=emission_factor(pmex_index,traffic_index,:)*(1.e-3)*(1.e+6)/(3600.*24.) ![veh*m/day]*(g/km/veh)*(km/m)*(ug/g)*(day/sec)=ug/sec

        emission_factor_conversion(nh3_index,agriculture_index,:)=emission_factor(nh3_index,agriculture_index,:)*(1.e+9)/(3600.*24.*365.)   ![kg/yr]*(ug/kg)*(yr/sec)=ug/sec
        !Test for monthly data
        !emission_factor_conversion(nh3_index,agriculture_index,:)=emission_factor_conversion(nh3_index,agriculture_index,:)*1.06

        if (read_shipping_from_netcdf_flag) then
            emission_factor_conversion(:,shipping_index,:)=(1.e+6)/(3600.) ![g/hr]*(ug/sec)=ug/sec.
        elseif (read_weekly_shipping_data_flag.or.read_monthly_and_daily_shipping_data_flag) then
            !Convert from g/hour to ug/s
            emission_factor_conversion(:,shipping_index,:)=(1.e+6)/(3600.) ![g/hr]*(ug/sec)=ug/sec.
        endif

        if (use_RWC_emission_data) then
            !Convert from g/h/subgrid to ug/s/subgrid
            emission_factor_conversion(:,heating_index,:)=1.e6/3600.
            if (annual_calculations) then
                !Convert from g/yr/subgrid to ug/s/subgrid. Temporal profile will be set to 1.
                !Should also be in shipping. No because the original data is read in as g/hr
                emission_factor_conversion(:,heating_index,:)=1.e6/3600./24./365.
            endif

        endif

        !Converts tonne per year to ug/s/subgrid
        emission_factor_conversion(:,industry_index,:)=1.e12/(3600.*24*365.)

        !In the case of RIVM data then emissions are already given in ug/s/subgrid
        if (read_subgrid_emission_data) then
            emission_factor_conversion(:,:,:)=1.0
        endif


    end subroutine uEMEP_set_emission_factors