! $Id: emissions_mod.f,v 1.3 2012/03/01 22:00:26 daven Exp $ !------------------------------------------------------------------------------ ! Harvard University Atmospheric Chemistry Modeling Group ! !------------------------------------------------------------------------------ !BOP ! ! !MODULE: EMISSIONS_MOD ! ! !DESCRIPTION: Module EMISSIONS\_MOD is used to call the proper emissions ! subroutines for the various GEOS-CHEM simulations. (bmy, 2/11/03, 2/14/08) !\\ !\\ ! !INTERFACE: ! MODULE EMISSIONS_MOD ! ! !USES: ! IMPLICIT NONE PRIVATE ! ! !PUBLIC MEMBER FUNCTIONS: ! PUBLIC :: DO_EMISSIONS !FP_ISOP (6/2009) PUBLIC :: ISOP_SCALING,NOx_SCALING ! ! !REVISION HISTORY: ! (1 ) Now references DEBUG_MSG from "error_mod.f" ! (2 ) Now references "Kr85_mod.f" (jsw, bmy, 8/20/03) ! (3 ) Now references "carbon_mod.f" and "dust_mod.f" (rjp, tdf, bmy, 4/2/04) ! (4 ) Now references "seasalt_mod.f" (rjp, bmy, bec, 4/20/04) ! (5 ) Now references "logical_mod" & "tracer_mod.f" (bmy, 7/20/04) ! (6 ) Now references "epa_nei_mod.f" and "time_mod.f" (bmy, 11/5/04) ! (7 ) Now references "emissions_mod.f" (bmy, 12/7/04) ! (8 ) Now calls EMISSSULFATE if LCRYST=T. Also read EPA/NEI emissions for ! the offline aerosol simulation. (bmy, 1/11/05) ! (9 ) Remove code for the obsolete CO-OH param simulation (bmy, 6/24/05) ! (10) Now references "co2_mod.f" (pns, bmy, 7/25/05) ! (11) Now references "emep_mod.f" (bdf, bmy, 10/1/05) ! (12) Now references "gfed2_biomass_mod.f" (bmy, 3/30/06) ! (13) Now references "bravo_mod.f" (rjp, kfb, bmy, 6/26/06) ! (14) Now references "edgar_mod.f" (avd, bmy, 7/6/06) ! (15) Now references "streets_anthro_mod.f" (yxw, bmy, 8/18/06) ! (16) Now references "h2_hd_mod.f" (lyj, phs, 9/18/07) ! (17) Now calls EMISSDR for tagged CO simulation (jaf, mak, bmy, 2/14/08) ! (18) Now references "cac_anthro_mod.f" (amv, phs, 03/11/08) ! (19) Now references "vistas_anthro_mod.f" (amv, 12/02/08) ! (20) Bug fixe : add specific calls for Streets for the grid 0.5x0.666. ! (dan, ccc, 3/11/09) !EOP !------------------------------------------------------------------------------ !FP_ISOP. For scaling Isoprene and NOx emissions. REAL*8 :: ISOP_SCALING,NOx_SCALING = 1d0 CONTAINS !------------------------------------------------------------------------------ ! Harvard University Atmospheric Chemistry Modeling Group ! !------------------------------------------------------------------------------ !BOP ! ! !IROUTINE: DO_EMISSIONS ! ! !DESCRIPTION: Subroutine DO\_EMISSIONS is the driver routine which calls ! the appropriate emissions subroutine for the various GEOS-CHEM simulations. ! (bmy, 2/11/03, 2/14/08) !\\ !\\ ! !INTERFACE: ! SUBROUTINE DO_EMISSIONS ! ! !USES: ! USE BIOMASS_MOD, ONLY : NBIOMAX USE BIOMASS_MOD, ONLY : COMPUTE_BIOMASS_EMISSIONS USE ARCTAS_SHIP_EMISS_MOD, ONLY : EMISS_ARCTAS_SHIP USE BRAVO_MOD, ONLY : EMISS_BRAVO USE C2H6_MOD, ONLY : EMISSC2H6 USE CAC_ANTHRO_MOD, ONLY : EMISS_CAC_ANTHRO USE CAC_ANTHRO_MOD, ONLY : EMISS_CAC_ANTHRO_05x0666 USE CARBON_MOD, ONLY : EMISSCARBON USE CH3I_MOD, ONLY : EMISSCH3I USE CO2_MOD, ONLY : EMISSCO2 USE DUST_MOD, ONLY : EMISSDUST USE EDGAR_MOD, ONLY : EMISS_EDGAR USE EMEP_MOD, ONLY : EMISS_EMEP USE EMEP_MOD, ONLY : EMISS_EMEP_05x0666 USE EPA_NEI_MOD, ONLY : EMISS_EPA_NEI USE ERROR_MOD, ONLY : DEBUG_MSG USE GLOBAL_CH4_MOD, ONLY : EMISSCH4 USE H2_HD_MOD, ONLY : EMISS_H2_HD USE HCN_CH3CN_MOD, ONLY : EMISS_HCN_CH3CN USE Kr85_MOD, ONLY : EMISSKr85 USE LOGICAL_MOD USE MERCURY_MOD, ONLY : EMISSMERCURY USE NEI2005_ANTHRO_MOD, ONLY : EMISS_NEI2005_ANTHRO USE NEI2005_ANTHRO_MOD, ONLY : EMISS_NEI2005_ANTHRO_05x0666 USE RETRO_MOD, ONLY : EMISS_RETRO USE NEI2008_ANTHRO_MOD, ONLY : EMISS_NEI2008_ANTHRO !(krt, 5/13/13) USE NEI2008_ANTHRO_MOD, ONLY : EMISS_NEI2008_ANTHRO_NATIVE !krt USE RnPbBe_MOD, ONLY : EMISSRnPbBe USE SEASALT_MOD, ONLY : EMISSSEASALT USE STREETS_ANTHRO_MOD, ONLY : EMISS_STREETS_ANTHRO USE STREETS_ANTHRO_MOD, ONLY : EMISS_STREETS_ANTHRO_05x0666 USE STREETS_ANTHRO_MOD, ONLY : EMISS_STREETS_ANTHRO_025x03125 !(lzh,02/01/2015) USE SULFATE_MOD, ONLY : EMISSSULFATE USE TIME_MOD, ONLY : GET_MONTH, GET_YEAR USE TIME_MOD, ONLY : ITS_A_NEW_MONTH, ITS_A_NEW_YEAR USE TIME_MOD, ONLY : ITS_A_NEW_DAY, ITS_A_NEW_HOUR USE TRACER_MOD USE TAGGED_CO_MOD, ONLY : EMISS_TAGGED_CO USE VISTAS_ANTHRO_MOD, ONLY : EMISS_VISTAS_ANTHRO USE ICOADS_SHIP_MOD, ONLY : EMISS_ICOADS_SHIP !(cklee,7/09/09) USE RCP_MOD, ONLY : LOAD_RCP_EMISSIONS !cdh USE PARANOX_MOD, ONLY : READ_PARANOX_LUT USE HTAP_MOD, ONLY : EMISS_HTAP # include "CMN_SIZE" ! Size parameters # include "CMN_O3" ! FSCLYR ! ! !REVISION HISTORY: ! (1 ) Now references DEBUG_MSG from "error_mod.f" (bmy, 8/7/03) ! (2 ) Now calls Kr85 emissions if NSRCX == 12 (jsw, bmy, 8/20/03) ! (3 ) Now calls EMISSCARBON and EMISSDUST for carbon aerosol and dust ! aerosol chemistry (rjp, tdf, bmy, 4/2/04) ! (4 ) Now calls EMISSSEASALT for seasalt emissions (rjp, bec, bmy, 4/20/04) ! (5 ) Now use inquiry functions from "tracer_mod.f". Now references ! "logical_mod.f" (bmy, 7/20/04) ! (6 ) Now references ITS_A_NEW_MONTH from "time_mod.f". Now references ! EMISS_EPA_NEI from "epa_nei_mod.f" (bmy, 11/5/04) ! (7 ) Now calls EMISSMERCURY from "mercury_mod.f" (eck, bmy, 12/7/04) ! (8 ) Now calls EMISSSULFATE if LCRYST=T. Also read EPA/NEI emissions for ! the offline sulfate simulation. Also call EMISS_EPA_NEI for the ! tagged CO simulation. (cas, bmy, stu, 1/10/05). ! (9 ) Now call EMISSSEASALT before EMISSSULFATE (bec, bmy, 4/13/05) ! (10) Now call EMISS_HCN_CH3CN from "hcn_ch3cn_mod.f". Also remove all ! references to the obsolete CO-OH param simulation. (xyp, bmy, 6/23/05) ! (11) Now call EMISSCO2 from "co2_mod.f" (pns, bmy, 7/25/05) ! (12) Now references EMISS_EMEP from "emep_mod.f" (bdf, bmy, 11/1/05) ! (13) Now call GFED2_COMPUTE_BIOMASS to read 1x1 biomass emissions and ! regrid to the model resolution once per month. (bmy, 3/30/06) ! (14) Now references EMISS_BRAVO from "bravo_mod.f" (rjp, kfb, bmy, 6/26/06) ! (15) Now references EMISS_EDGAR from "edgar_mod.f" (avd, bmy, 7/6/06) ! (16) Now references EMISS_STREETS_ANTHRO from "streets_anthro_mod.f" ! (yxw, bmy, 8/17/06) ! (17) Now calls EMISSDR for tagged CO simulation (jaf, mak, bmy, 2/18/08) ! (18) Now references EMISS_CAC_ANTHRO from "cac_anthro_mod.f" ! (amv, phs, 3/11/08) ! (19) Now references EMISS_ARCTAS_SHIP from "arctas_ship_emiss_mod.f" ! (phs, 5/12/08) ! (20) Now references EMISS_VISTAS_ANTHR from "vistas_anthro_mod.f". Call ! EMEP, and Streets every month (amv, 12/2/08) ! (21) Now references EMISS_NEI2005_ANTHRO from "nei2005_anthro_mod.f" ! (amv, 10/19/09) ! 07 Feb 2011 - R. Yantosca - Use NEI99 biofuels when useing NEI05 anthro !EOP !------------------------------------------------------------------------------ !BOC ! ! !LOCAL VARIABLES: ! INTEGER :: MONTH, YEAR REAL*8 :: BIOMASS(IIPAR,JJPAR,NBIOMAX) !================================================================= ! DO_EMISSIONS begins here! !================================================================= ! Get year and month MONTH = GET_MONTH() ! check if emissions year differs from met field year IF ( FSCALYR < 0 ) THEN YEAR = GET_YEAR() ELSE YEAR = FSCALYR ENDIF ! Get biomass burning emissions for use below IF ( LBIOMASS ) THEN CALL COMPUTE_BIOMASS_EMISSIONS( GET_YEAR(), MONTH ) ENDIF ! Test by simulation type IF ( ITS_A_FULLCHEM_SIM() ) THEN !-------------------- ! NOx-Ox-HC-aerosol !-------------------- ! Read David Streets' emisisons over China / SE ASia IF ( LSTREETS .and. ITS_A_NEW_MONTH() ) THEN #if defined(GRID05x0666) CALL EMISS_STREETS_ANTHRO_05x0666 !(dan) #elif defined( GRID025x03125 ) CALL EMISS_STREETS_ANTHRO_025x03125 ! (lzh, 02/01/2015) #else CALL EMISS_STREETS_ANTHRO #endif ENDIF ! Read EDGAR emissions once per month to get, at least ! the NOx diurnal scale factors, and the EDGAR emissions ! if necessary (amv, phs, 3/11/08) !---------------- ! prior to 3/11/08 ! IF ( LEDGAR .and. ITS_A_NEW_MONTH() ) THEN !---------------- IF ( ITS_A_NEW_MONTH() ) THEN CALL EMISS_EDGAR( YEAR, MONTH ) ENDIF ! Read RETRO emissions once per month (wfr, 3/8/11) IF ( LRETRO .and. ITS_A_NEW_MONTH() ) CALL EMISS_RETRO ! Read RCP emissions once per month (cdh, 10/14/11) ! We read all emissions (for land, ship, air) even if only ! one is needed IF ( (LRCP .OR. LRCPSHIP .OR. LRCPAIR) .and. & ITS_A_NEW_MONTH() ) CALL LOAD_RCP_EMISSIONS ! Read EPA/NEI99 (USA) emissions once per month IF ( LNEI99 .and. ITS_A_NEW_MONTH() ) CALL EMISS_EPA_NEI ! Read VISTAS (USA) emissions once per month IF ( LVISTAS .and. ITS_A_NEW_MONTH() ) & CALL EMISS_VISTAS_ANTHRO ! Read BRAVO (Mexico) emissions once per year IF ( LBRAVO .and. ITS_A_NEW_YEAR() ) CALL EMISS_BRAVO ! Read EMEP (Europe) emissions once per year (adj32_015) IF ( LEMEP .and. ITS_A_NEW_MONTH() ) THEN #if defined(GRID05x0666) CALL EMISS_EMEP_05x0666 #else CALL EMISS_EMEP #endif ENDIF ! Read CAC emissions (adj32_015) IF ( LCAC .and. ITS_A_NEW_MONTH() ) THEN #if defined( GRID05x0666 ) CALL EMISS_CAC_ANTHRO_05x0666 #else CALL EMISS_CAC_ANTHRO #endif ENDIF ! Read NEI2005 (USA) emissions (adj32_015) IF ( LNEI05 .and. ITS_A_NEW_MONTH() ) THEN #if defined( GRID05x0666 ) CALL EMISS_EPA_NEI ! Use NEI99 biofuel, nested CALL EMISS_NEI2005_ANTHRO_05x0666 ! Use NEI05 anthro, global #else CALL EMISS_EPA_NEI ! Use NEI99 biofuel, nested CALL EMISS_NEI2005_ANTHRO ! Use NEI05 anthro, global #endif ENDIF ! Calculate NEI2008 (USA) emissions every day IF ( LNEI08 .AND. ITS_A_NEW_MONTH() ) THEN #if defined( GRID05x0666 ) CALL EMISS_EPA_NEI CALL EMISS_NEI2008_ANTHRO_NATIVE ! Use NEI08 anthro, nested #else CALL EMISS_EPA_NEI CALL EMISS_NEI2008_ANTHRO ! Use NEI08 anthro, global #endif ENDIF IF (LHTAP .and. ITS_A_NEW_MONTH() ) CALL EMISS_HTAP ! Read SO2 ARCTAS emissions IF ( LARCSHIP .AND. ITS_A_NEW_YEAR() ) $ CALL EMISS_ARCTAS_SHIP( YEAR ) ! Read NEI2008 (USA) emissions every month IF ( LNEI08 .AND. ITS_A_NEW_MONTH() ) THEN #if defined( GRID05x0666 ) CALL EMISS_NEI2008_ANTHRO_NATIVE #else CALL EMISS_NEI2008_ANTHRO #endif ENDIF ! Read ICOADS ship emissions once per month (cklee, 7/09/09) IF ( LICOADSSHIP .and. ITS_A_NEW_MONTH() ) & CALL EMISS_ICOADS_SHIP ! Read look up tables for PARANOX ship plume model (mpayer, 2/7/12) IF ( ( LICOADSSHIP .or. LEDGARSHIP .or. LEMEPSHIP ) & .and. ITS_A_NEW_MONTH() ) THEN CALL READ_PARANOX_LUT ENDIF ! C2H6 emissions using RETRO are too low, use Yaping Xiao's ! offline C2H6 emissions instead (mpayer, 3/22/12) CALL EMISSC2H6 ! NOx-Ox-HC (w/ or w/o aerosols) CALL EMISSDR ! Emissions for various aerosol types IF ( LSSALT ) CALL EMISSSEASALT IF ( LSULF .or. LCRYST ) CALL EMISSSULFATE IF ( LCARB ) CALL EMISSCARBON IF ( LDUST ) CALL EMISSDUST ELSE IF ( ITS_AN_AEROSOL_SIM() ) THEN !-------------------- ! Offline aerosol !-------------------- ! Read David Streets' emisisons over China / SE ASia !---------------- ! prior to 12/9/08 ! IF ( LSTREETS .and. ITS_A_NEW_YEAR() ) THEN IF ( LSTREETS .and. ITS_A_NEW_MONTH() ) THEN #if defined(GRID05x0666) CALL EMISS_STREETS_ANTHRO_05x0666 !(dan) #elif defined( GRID025x03125 ) CALL EMISS_STREETS_ANTHRO_025x03125 ! (lzh,02/01/2015) #else CALL EMISS_STREETS_ANTHRO #endif ENDIF ! Read CAC emissions (adj32_015) IF ( LCAC .and. ITS_A_NEW_MONTH() ) THEN #if defined( GRID05x0666 ) CALL EMISS_CAC_ANTHRO_05x0666 #else CALL EMISS_CAC_ANTHRO #endif ENDIF ! Read EDGAR emissions once per month !---------------- ! prior to 3/11/08 ! IF ( LEDGAR .and. ITS_A_NEW_MONTH() ) THEN !---------------- IF ( ITS_A_NEW_MONTH() ) THEN CALL EMISS_EDGAR( YEAR, MONTH ) ENDIF ! Read EPA/NEI99 emissions once per month IF ( LNEI99 .and. ITS_A_NEW_MONTH() ) CALL EMISS_EPA_NEI ! Read NEI2005 emissions once per month (adj32_015) IF ( LNEI05 .and. ITS_A_NEW_MONTH() ) THEN #if defined( GRID05x0666 ) CALL EMISS_EPA_NEI ! Use NEI99 biofuel, nested CALL EMISS_NEI2005_ANTHRO_05x0666 ! Use NEI05 anthro, global #else CALL EMISS_EPA_NEI ! Use NEI99 biofuel, nested CALL EMISS_NEI2005_ANTHRO ! Use NEI05 anthro, global #endif ENDIF ! Calculate NEI2008 emissions once per day IF ( LNEI08 .AND. ITS_A_NEW_MONTH() ) THEN #if defined( GRID05x0666 ) .or. defined( GRID025x03125 ) CALL EMISS_NEI2008_ANTHRO_NATIVE #else CALL EMISS_NEI2008_ANTHRO #endif ENDIF IF (LHTAP .and. ITS_A_NEW_MONTH() ) CALL EMISS_HTAP ! Read BRAVO (Mexico) emissions once per year IF ( LBRAVO .and. ITS_A_NEW_YEAR() ) CALL EMISS_BRAVO ! Read EMEP (Europe) emissions once per year (adj32_015) IF ( LEMEP .and. ITS_A_NEW_YEAR() ) THEN #if defined( GRID05x0666 ) CALL EMISS_EMEP_05x0666 #else CALL EMISS_EMEP #endif ENDIF ! Read SO2 ARCTAS emissions IF ( LARCSHIP .AND. ITS_A_NEW_YEAR() ) $ CALL EMISS_ARCTAS_SHIP( YEAR ) ! Read ICOADS ship emissions once per month !(cklee, 7/09/09) IF ( LICOADSSHIP .and. ITS_A_NEW_MONTH() ) THEN CALL EMISS_ICOADS_SHIP ENDIF ! Emissions for various aerosol types IF ( LSSALT ) CALL EMISSSEASALT IF ( LSULF .or. LCRYST ) CALL EMISSSULFATE IF ( LCARB ) CALL EMISSCARBON IF ( LDUST ) CALL EMISSDUST ELSE IF ( ITS_A_RnPbBe_SIM() ) THEN !-------------------- ! Rn-Pb-Be !-------------------- CALL EMISSRnPbBe ELSE IF ( ITS_A_CH3I_SIM() ) THEN !-------------------- ! CH3I !-------------------- ! Emit CH3I CALL EMISSCH3I ELSE IF ( ITS_A_HCN_SIM() ) THEN !-------------------- ! HCN - CH3CN !-------------------- CALL EMISS_HCN_CH3CN( N_TRACERS, STT ) ELSE IF ( ITS_A_TAGCO_SIM() ) THEN !-------------------- ! Tagged CO !-------------------- ! Read David Streets' emisisons over China / SE ASia ! Bug fix: call every month now (pdk, phs, 3/17/09) IF ( LSTREETS .and. ITS_A_NEW_MONTH() ) THEN #if defined(GRID05x0666) CALL EMISS_STREETS_ANTHRO_05x0666 !(dan) #elif defined( GRID025x03125 ) CALL EMISS_STREETS_ANTHRO_025x03125 ! (lzh,02/01/2015) #else CALL EMISS_STREETS_ANTHRO #endif ENDIF ! Read CAC emissions (adj32_015) IF ( LCAC .and. ITS_A_NEW_MONTH() ) THEN #if defined( GRID05x0666 ) CALL EMISS_CAC_ANTHRO_05x0666 #else CALL EMISS_CAC_ANTHRO #endif ENDIF ! Read EDGAR emissions once per month !---------------- ! prior to 3/11/08 ! IF ( LEDGAR .and. ITS_A_NEW_MONTH() ) THEN !---------------- IF ( ITS_A_NEW_MONTH() ) THEN CALL EMISS_EDGAR( YEAR, MONTH ) ENDIF ! Read EPA (USA) emissions once per month IF ( LNEI99 .and. ITS_A_NEW_MONTH() ) CALL EMISS_EPA_NEI ! Read NEI2005 (USA) emissions once per year (adj32_015) IF ( LNEI05 .and. ITS_A_NEW_MONTH() ) THEN #if defined( GRID05x0666 ) CALL EMISS_EPA_NEI ! Use NEI99 biofuel, nested CALL EMISS_NEI2005_ANTHRO_05x0666 ! Use NEI05 anthro, global #else CALL EMISS_EPA_NEI ! Use NEI99 biofuel, nested CALL EMISS_NEI2005_ANTHRO ! Use NEI05 anthro, global #endif ENDIF ! Read NEI2008 (USA) emissions once per month IF ( LNEI08 .AND. ITS_A_NEW_MONTH() ) THEN #if defined( GRID05x0666 ) .or. defined ( GRID025x03125 ) CALL EMISS_NEI2008_ANTHRO_NATIVE ! Use NEI08 anthro, nested #else CALL EMISS_NEI2008_ANTHRO ! Use NEI08 anthro, global #endif ENDIF IF (LHTAP .and. ITS_A_NEW_MONTH() ) CALL EMISS_HTAP ! Read BRAVO (Mexico) emissions once per year IF ( LBRAVO .and. ITS_A_NEW_YEAR() ) CALL EMISS_BRAVO ! Read EPA (Europe) emissions once per year (adj32_015) IF ( LEMEP .and. ITS_A_NEW_YEAR() ) THEN #if defined(GRID05x0666) CALL EMISS_EMEP_05x0666 #else CALL EMISS_EMEP #endif ENDIF ! Read ICOADS ship emissions once per month (cklee, 7/09/09) IF ( LICOADSSHIP .and. ITS_A_NEW_MONTH() ) THEN CALL EMISS_ICOADS_SHIP ENDIF ! Now call EMISSDR for Tagged CO fossil fuel emissions, ! so that we get the same emissions for Tagged CO as ! we do for the full-chemistry (jaf, mak, bmy, 2/14/08) CALL EMISSDR ! Emit tagged CO CALL EMISS_TAGGED_CO ELSE IF ( ITS_A_C2H6_SIM() ) THEN !-------------------- ! C2H6 !-------------------- ! Emit C2H6 CALL EMISSC2H6 ELSE IF ( ITS_A_CH4_SIM() ) THEN !-------------------- ! CH4 !-------------------- ! Read David Streets' emisisons over China / SE ASia ! Bug fix: call every month now (phs, 3/17/09) IF ( LSTREETS .and. ITS_A_NEW_MONTH() ) THEN #if defined(GRID05x0666) CALL EMISS_STREETS_ANTHRO_05x0666 !(dan) #else CALL EMISS_STREETS_ANTHRO #endif ENDIF ! Emit CH4 CALL EMISSCH4 ELSE IF ( ITS_A_MERCURY_SIM() ) THEN !-------------------- ! Mercury !-------------------- CALL EMISSMERCURY ELSE IF ( ITS_A_CO2_SIM() ) THEN !-------------------- ! CO2 !-------------------- ! Read David Streets' emisisons over China / SE ASia ! Bug fix: call every month now (phs, 3/17/09) IF ( LSTREETS .and. ITS_A_NEW_MONTH() ) THEN #if defined(GRID05x0666) CALL EMISS_STREETS_ANTHRO_05x0666 !(dan) #else CALL EMISS_STREETS_ANTHRO #endif ENDIF ! Read CO2 ARCTAS SHIP emissions IF ( LARCSHIP .and. ITS_A_NEW_YEAR() ) $ CALL EMISS_ARCTAS_SHIP( YEAR ) ! Emit CO2 CALL EMISSCO2 ELSE IF ( ITS_A_H2HD_SIM() ) THEN !-------------------- ! Offline H2/HD !-------------------- ! Read David Streets' emisisons over China / SE ASia ! Bug fix: call every month now (phs, 3/17/09) IF ( LSTREETS .and. ITS_A_NEW_MONTH() ) THEN #if defined(GRID05x0666) CALL EMISS_STREETS_ANTHRO_05x0666 !(dan) #else CALL EMISS_STREETS_ANTHRO #endif ENDIF ! Read EDGAR emissions once per month !---------------- ! prior to 3/11/08 ! IF ( LEDGAR .and. ITS_A_NEW_MONTH() ) THEN !---------------- IF ( ITS_A_NEW_MONTH() ) THEN CALL EMISS_EDGAR( YEAR, MONTH ) ENDIF ! Read CAC emissions (adj32_015) IF ( LCAC .and. ITS_A_NEW_MONTH() ) THEN #if defined( GRID05x0666 ) CALL EMISS_CAC_ANTHRO_05x0666 #else CALL EMISS_CAC_ANTHRO #endif ENDIF ! Read EPA (USA) emissions once per month IF ( LNEI99 .and. ITS_A_NEW_MONTH() ) CALL EMISS_EPA_NEI ! Read NEI2005 (USA) emissions (adj32_015) IF ( LNEI05 .and. ITS_A_NEW_MONTH() ) THEN #if defined( GRID05x0666 ) CALL EMISS_EPA_NEI ! Use NEI99 biofuel, nested CALL EMISS_NEI2005_ANTHRO_05x0666 ! Use NEI05 anthro, global #else CALL EMISS_EPA_NEI ! Use NEI99 biofuel, nested CALL EMISS_NEI2005_ANTHRO ! Use NEI05 anthro, global #endif ENDIF ! Read BRAVO (Mexico) emissions once per year IF ( LBRAVO .and. ITS_A_NEW_YEAR() ) CALL EMISS_BRAVO ! Read EPA (Europe) emissions once per year (adj32_015) IF ( LEMEP .and. ITS_A_NEW_YEAR() ) THEN #if defined(GRID05x0666) CALL EMISS_EMEP_05x0666 #else CALL EMISS_EMEP #endif ENDIF ! Read ICOADS ship emissions once per month !(cklee, 7/09/09) IF ( LICOADSSHIP .and. ITS_A_NEW_MONTH() ) THEN CALL EMISS_ICOADS_SHIP ENDIF ! Emit H2/HD CALL EMISS_H2_HD ENDIF !### Debug IF ( LPRT ) CALL DEBUG_MSG ( '### DO_EMISSIONS: a EMISSIONS' ) ! Return to calling program END SUBROUTINE DO_EMISSIONS !------------------------------------------------------------------------------ ! End of module END MODULE EMISSIONS_MOD !EOC