MODULE YOERAD

USE PARKIND1  ,ONLY : JPIM     ,JPRB

IMPLICIT NONE

SAVE

!     ------------------------------------------------------------------
!*    ** *YOERAD* - CONTROL OPTIONS FOR RADIATION CONFIGURATION
!     ------------------------------------------------------------------

INTEGER(KIND=JPIM) :: NAER
INTEGER(KIND=JPIM) :: NMODE
INTEGER(KIND=JPIM) :: NOZOCL
INTEGER(KIND=JPIM) :: NRADFR
INTEGER(KIND=JPIM) :: NRADPFR
INTEGER(KIND=JPIM) :: NRADPLA
INTEGER(KIND=JPIM) :: NRADINT
INTEGER(KIND=JPIM) :: NRADRES
INTEGER(KIND=JPIM) :: NRADNFR
INTEGER(KIND=JPIM) :: NRADSFR
INTEGER(KIND=JPIM) :: NOVLP
INTEGER(KIND=JPIM) :: NRPROMA
INTEGER(KIND=JPIM) :: NSW
INTEGER(KIND=JPIM) :: NSWNL
INTEGER(KIND=JPIM) :: NSWTL
INTEGER(KIND=JPIM) :: NTSW
INTEGER(KIND=JPIM) :: NUV
INTEGER(KIND=JPIM) :: NCSRADF
INTEGER(KIND=JPIM) :: NICEOPT
INTEGER(KIND=JPIM) :: NLIQOPT
INTEGER(KIND=JPIM) :: NRADIP
INTEGER(KIND=JPIM) :: NRADLP
INTEGER(KIND=JPIM) :: NINHOM
INTEGER(KIND=JPIM) :: NLAYINH
INTEGER(KIND=JPIM) :: NLNGR1H
INTEGER(KIND=JPIM) :: NPERTAER
INTEGER(KIND=JPIM) :: NPERTOZ
INTEGER(KIND=JPIM) :: NSCEN
INTEGER(KIND=JPIM) :: NHINCSOL
INTEGER(KIND=JPIM) :: NRCP
INTEGER(KIND=JPIM) :: NMCICA
INTEGER(KIND=JPIM) :: NGHGRAD
INTEGER(KIND=JPIM) :: NDECOLAT
INTEGER(KIND=JPIM) :: NMINICE
INTEGER(KIND=JPIM) :: NVOLCVERT
INTEGER(KIND=JPIM) :: NVOLCSTOP

LOGICAL :: LERAD1H
LOGICAL :: LEPO3RA
LOGICAL :: LONEWSW
LOGICAL :: LECSRAD
LOGICAL :: LRRTM
LOGICAL :: LSRTM
LOGICAL :: LDIFFC
LOGICAL :: LHVOLCA
LOGICAL :: LNEWAER
LOGICAL :: LNOTROAER
LOGICAL :: LRAYL
LOGICAL :: LOPTRPROMA
LOGICAL :: LECO2VAR
LOGICAL :: LHGHG
LOGICAL :: LEMODAL
LOGICAL :: LESO4HIS
LOGICAL :: LETRACGMS
LOGICAL :: LVOLCSPEC

! Double radiation
LOGICAL :: L2RAD
LOGICAL :: L2RADTEND
LOGICAL :: L2RADACCU

CHARACTER (LEN = 256) ::  CRTABLEDIR
CHARACTER (LEN = 32) ::   CRTABLEFIL
LOGICAL :: LCCNL
LOGICAL :: LCCNO
LOGICAL :: LPERPET

LOGICAL :: LCMIP5, LCMIP6
LOGICAL :: L1PCTCO2, LA4xCO2
INTEGER :: NCMIPFIXYR, NCMIPFIXYR_CH4
CHARACTER(LEN=30) :: SSPNAME
LOGICAL :: LCOVID19
CHARACTER(LEN=128) :: COVID19SCEN
LOGICAL :: LSSP370_LOWCH4
CHARACTER(LEN=128) :: CMIP5DATADIR, CMIP6DATADIR
INTEGER(KIND=JPIM), PARAMETER :: IPCC_NLON = 144
INTEGER(KIND=JPIM), PARAMETER :: IPCC_NLAT =  96
INTEGER(KIND=JPIM), PARAMETER :: IPCC_NLEV =  26
INTEGER(KIND=JPIM), PARAMETER :: IPCC_NMON =  1
REAL(KIND=JPRB) :: IPCC_LON(IPCC_NLON),IPCC_LAT(IPCC_NLAT)
REAL(KIND=JPRB), DIMENSION(IPCC_NLEV,IPCC_NLON,IPCC_NLAT) :: &
    & IPCC_LEV,IPCC_SO4,IPCC_SOA,IPCC_OC1,IPCC_OC2,IPCC_BC1,IPCC_BC2, &
    & IPCC_DST1,IPCC_DST2,IPCC_DST3,IPCC_DST4, &
    & IPCC_SSLT1,IPCC_SSLT2,IPCC_SSLT3,IPCC_SSLT4
LOGICAL :: LTM5AER, LTM5O3, LTM5CH4, LTM5CO2FB

REAL(KIND=JPRB) :: RAOVLP , RBOVLP
REAL(KIND=JPRB) :: RCCNLND, RCCNSEA
LOGICAL :: LEDBUG
REAL(KIND=JPRB) :: RPERTOZ, RRe2De
REAL(KIND=JPRB) :: RLWINHF, RSWINHF
REAL(KIND=JPRB) :: RMINICE
REAL(KIND=JPRB) :: RVOLCSPEC(3)

! LPJ-GUESS switches, set from ec-conf
LOGICAL :: LLPJGON,LLPJGFBON

!     ------------ Adding for MAC2SP simple plume anthropogenic Aerosol 
LOGICAL :: LMAC2SP
LOGICAL :: LMAC2SPACI
INTEGER(KIND=JPIM), PARAMETER :: MAC2SP_NLAMDA = 14
REAL(KIND=JPRB)   , PARAMETER :: MAC2SP_LAMDA(MAC2SP_NLAMDA) = (/3407., 2752., 2308., 2040., 1767., 1447., 1269., 973., 697., 530., 398., 313., 257., 5254./)
!REAL(KIND=JPRB)   , PARAMETER :: MAC2SP_LAMDA(MAC2SP_NLAMDA) = (/550., 550., 550., 550., 550., 550., 550., 550., 550., 550., 550., 550., 550., 550./)
!the average wavelength (in microns) for the 14 bands, in correct order and weighted by the solar irradiance
!3.407, 2.752, 2.308, 2.040, 1.767, 1.447, 1.269, 0.973, 0.697, 0.530, 0.398, 0.313, 0.257, 5.254
INTEGER(KIND=JPIM), PARAMETER :: MAC2SP_NMON =  12
 CHARACTER (LEN = 300) ::   MAC2SPDIR
!     ------------ Adding CMIP6 TM5 prescribed Aerosol climatology --------------------------
LOGICAL :: LCMIP6_PI_AEROSOLS

 CHARACTER (LEN = 300) ::   AEROPIFIL_OPT, AEROPIFIL_CONC
  !---array dimensions for TM5 data
  ! set at runtime in cmip6_pi_aer.F90
  INTEGER(KIND=JPIM) :: TM5_NLON
  INTEGER(KIND=JPIM) :: TM5_NLAT
  INTEGER(KIND=JPIM) :: TM5_NLEV 
  INTEGER(KIND=JPIM) :: TM5_NMON
  INTEGER(KIND=JPIM) :: NWVL

    ! TM5 dimensions and coordinates
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_LON(:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_LAT(:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_LEV(:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_HYA(:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_HYB(:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_HYAI(:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_HYBI(:,:)

    REAL(KIND=JPRB) :: TM5_P0
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_PS(:,:)
    ! TM5 pressure field in 3 dimensions at full levels and interface levels
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_PPS(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_PPSF(:,:,:)

    ! aerosol number concentrations from TM5 (soluble modes only)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_NUM_KS(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_NUM_AS(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_NUM_CS(:,:,:)

    ! aerosol mass concentrations from TM5
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_MSO4_KS(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_MSO4_AS(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_MSO4_CS(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_MBC_KS(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_MBC_AS(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_MBC_CS(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_MBC_KI(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_MOC_KS(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_MOC_AS(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_MOC_CS(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_MOC_KI(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_MSS_AS(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_MSS_CS(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_MDU_AS(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_MDU_CS(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_MDU_AI(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_MDU_CI(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_MNO3(:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_MMSA(:,:,:)
    
    ! aerosol optical properties
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_AOD(:,:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_ABS(:,:,:,:)
    REAL(KIND=JPRB) , ALLOCATABLE :: TM5_ASY(:,:,:,:)

! coupling indices for fields received from TM5
INTEGER(KIND=JPIM) :: ICPLO3
INTEGER(KIND=JPIM) :: ICPLCH4
INTEGER(KIND=JPIM) :: ICPLCO2

! aerosol optical properties:
INTEGER(KIND=JPIM) :: ICPLAOD(14)
INTEGER(KIND=JPIM) :: ICPLSSA(14)
INTEGER(KIND=JPIM) :: ICPLASF(14)

! Variable dealing with CMIP6 stratospheric aerosols
! --------------------------------------------------
LOGICAL :: LCMIP6_STRATAER_SIMP
CHARACTER(LEN=500) :: CCMIP6_STRAT_SIMP,CCMIP6_STRAT_FULL

LOGICAL :: LCMIP6_STRATAER_FULL,LSTRATAERO_UPDATED,LCMIP6_STRATAER_BCKGD
INTEGER(KIND=JPIM), PARAMETER :: FIRSTYEAR = 1850 ! First year of the forcing file
INTEGER(KIND=JPIM), PARAMETER :: STRATO_CMIP6_NLAT = 36
INTEGER(KIND=JPIM) :: STRATO_CMIP6_NALT 
INTEGER(KIND=JPIM), PARAMETER :: STRATO_CMIP6_NTIME = 1980
INTEGER(KIND=JPIM), PARAMETER :: STRATO_CMIP6_NSB = 14
INTEGER(KIND=JPIM), PARAMETER :: STRATO_CMIP6_NTB = 16
INTEGER(KIND=JPIM), PARAMETER :: STRATO_CMIP6_NMONTH = 3
REAL(KIND=JPRB), DIMENSION(STRATO_CMIP6_NLAT):: STRATO_CMIP6_LAT
REAL(KIND=JPRB), DIMENSION(STRATO_CMIP6_NSB) :: STRATO_CMIP6_SB
REAL(KIND=JPRB), DIMENSION(STRATO_CMIP6_NTB) :: STRATO_CMIP6_TB

REAL(KIND=JPRB), PUBLIC, ALLOCATABLE, DIMENSION(:) :: STRATO_CMIP6_ALT
REAL(KIND=JPRB), PUBLIC, ALLOCATABLE, DIMENSION(:,:,:,:) :: AOD_SUN, AAOD_SUN, REFAOD_SUN
REAL(KIND=JPRB), PUBLIC, ALLOCATABLE, DIMENSION(:,:,:,:) :: AAOD_EARTH
REAL(KIND=JPRB), PUBLIC, ALLOCATABLE, DIMENSION(:,:,:) :: AOD_SUN_MEAN, AAOD_SUN_MEAN, REFAOD_SUN_MEAN
REAL(KIND=JPRB), PUBLIC, ALLOCATABLE, DIMENSION(:,:,:) :: AAOD_EARTH_MEAN

REAL(KIND=JPRB) :: CHECK_SUN_MEAN = -9999._JPRB, CHECK_EARTH_MEAN = -9999._JPRB

! Stratospheric aerosol optical properties, for the computation in radlsw.F90
REAL(KIND=JPRB), ALLOCATABLE, PUBLIC :: STRAT_AOD(:,:,:,:,:)
REAL(KIND=JPRB), ALLOCATABLE, PUBLIC :: STRAT_AAOD(:,:,:,:,:)
REAL(KIND=JPRB), ALLOCATABLE, PUBLIC :: STRAT_REFAOD(:,:,:,:,:)
REAL(KIND=JPRB), ALLOCATABLE, PUBLIC :: STRAT_AAOD_LW(:,:,:,:,:)

!        * E.C.M.W.F. PHYSICS PACKAGE *

!     J.-J. MORCRETTE       E.C.M.W.F.      89/07/14

!  NAME     TYPE     PURPOSE
!  ----  :  ----   : ---------------------------------------------------
! LERAD1H: LOGICAL : .T. TO ALLOW MORE FREQUENT RADIATION CALCULATIONS
!                  : DURING FIRST N HOURS OF FORECAST
! NLNGR1H: INTEGER : NUMBER FORECAST HOURS DURING WHICH MORE FREQUENT
!                    RADIATION CALCULATIONS ARE REQUIRED
! LEPO3RA: LOGICAL : .T. IF PROGNOSTIC OZONE (EC) IS PASSED TO RADIATION
! NAER   : INTEGER : CONFIGURATION INDEX FOR AEROSOLS
! NMODE  : INTEGER : CONFIGURATION FOR RADIATION CODE: FLUX VS. RADIANCE
! NOZOCL : INTEGER : CHOICE OF OZONE CLIMATOLOGY (0 old, 1 new)
! NRADFR : INTEGER : FREQUENCY OF FULL RADIATION COMPUTATIONS
!                    IF(NRADFR.GT.0): RAD EVERY 'NRADFR' TIME-STEPS
!                    IF(NRADFR.LT.0): RAD EVERY '-NRADFR' HOURS
! NRADPFR: INTEGER : PRINT FREQUENCY FOR RAD.STATISTICS (in RAD.T.STEPS)
! NRADPLA: INTEGER : PRINT RAD.STATISTICS EVERY 'NRADPLA' ROWS
! NRADINT: INTEGER : RADIATION INTERPOLATION METHOD
!                  : 1 = SPECTRAL TRANSFORM INTERPOLATION
!                  : 2 =  4 POINT HORIZONTAL INTERPOLATION
!                  : 3 = 12 POINT HORIZONTAL INTERPOLATION
! NRADRES: INTEGER : RADIATION GRID SPECTRAL RESOLUTION
! NRADNFR: INTEGER : NORMAL   FREQUENCY OF RADIATION STEPS
! NRADSFR: INTEGER : START-UP FREQUENCY OF RADIATION STEPS
! NOVLP  : INTEGER : CLOUD OVERLAP CONFIGURATION
! NRPROMA: INTEGER : VECTOR LENGTH FOR RADIATION CALCULATIONS
! NSW    : INTEGER : NUMBER OF SHORTWAVE SPECTRAL INTERVALS
! NSWNL  : INTEGER : NUMBER OF SHORTWAVE SPECTRAL INTERVALS IN NL MODEL
! NSWTL  : INTEGER : NUMBER OF SHORTWAVE SPECTRAL INTERVALS IN TL MODEL
! NTSW   : INTEGER : MAXIMUM POSSIBLE NUMBER OF SW SPECTRAL INTERVALS 
! NUV    : INTEGER : NUMBER OF UV SPECTRAL INTERVALS FOR THE UV PROCESSOR   
! LOPTRPROMA:LOGICAL: .T. NRPROMA will be optimised
!                   : .F. NRPROMA will not be optimised (forced
!                   :         by negative NRPROMA in namelist)

! NRADIP : INTEGER : INDEX FOR DIAGNOSIS OF ICE CLOUD EFFECTIVE RADIUS
!          0=EbCu/SmSh  1=EbCu/EbCu  2=FuLi/FuLi  3=Fu/Fu&al
! NRADLP : INTEGER : INDEX FOR DIAGNOSIS OF LIQ. CLOUD EFFECTIVE RADIUS
!          0=YF/SmSh    1=ASl/HSa    2=ASl/LiLi
! NICEOPT: INTEGER : INDEX FOR ICE CLOUD OPTICAL PROPERTIES
!          0=40u        1=40-130     2=30-60      3=Sun'01
! NLIQOPT: INTEGER : INDEX FOR LIQUID WATER CLOUD OPTICAL PROPERTIES
!          0=f(P)       1=10/13      2=Martin_et_al

! LONEWSW: LOGICAL : .T. IF NEW SW CODE IS ACTIVE
! LECSRAD: LOGICAL : .T. IF CLEAR-SKY RADIATION IS ARCHIVED AS PEXTR2
! NCSRADF: INTEGER : 1 IF ACCUMULATED, 2 IF INSTANTANEOUS
! LRRTM  : LOGICAL : .T. IF RRTM140MR IS USED FOR LW RADIATION TRANSFER

! LHVOLCA: LOGICAL : .T. IF GISS HISTORY OF VOLCANIC AEROSOLS IS ON
! LNEWAER: LOGICAL : .T. IF AEROSOL MONTHLY DISTRIBUTIONS ARE USED
! LNOTROAER:LOGICAL: .T. IF NO TROPOSPHERIC AEROSOLS
! CRTABLEDIR: CHAR : IF NRADINT > 0 SPECIFIES DIRECTORY PATH FOR RADIATION
!                  : GRID RTABLE NAMELIST
! CRTABLEFIL: CHAR : IF NRADINT > 0 SPECIFIES FILE NAME OF RADIATION 
!                  : GRID RTABLE NAMELIST
! LRAYL  : LOGICAL : .T. NEW RAYLEIGH FOR SW-6 VERSION

! RAOVLP : REAL    : COEFFICIENTS FOR ALPHA1 FACTOR IN HOGAN & 
! RBOVLP : REAL    : ILLINGWORTH's PARAMETRIZATION

! LCCNL  : LOGICAL : .T. IF CCN CONCENTRATION OVER LAND IS DIAGNOSED
! LCCNO  : LOGICAL : .T. IF CCN CONCENTRATION OVER OCEAN IS DIAGNOSED
! RCCNLND: REAL    : NUMBER CONCENTRATION (CM-3) OF CCNs OVER LAND
! RCCNSEA: REAL    : NUMBER CONCENTRATION (CM-3) OF CCNs OVER SEA

! LDIFFC : LOGICAL : .T. IF SAVIJARVI'S DIFFUSIVITY CORRECTION IS ON

! NINHOM : INTEGER : 0 IF NO INHOMOGENEITY SCALING EFFECT 
!                    1 IF SIMPLE 0.7 SCALING
!                    2 IF BARKER, 3 IF CAIRNS ET AL.
! RLWINHF: REAL    : INHOMOG. SCALING FACTOR FOR CLOUD LW OPTICAL THICKNESS
! RSWINHF: REAL    : INHOMOG. SCALING FACTOR FOR CLOUD SW OPTICAL THICKNESS

! NPERTAER : INTERGER : PERCENTAGE OF PERTURBATION FOR AEROSOL   
! NPERTOZONE : INTEGER : PERCENTAGE OF PERTURBATION FOR OZONE 
! NHINCSOL:INTEGER :
!        = 0 NO VARIABILITY OF SOLAR CONSTANT IS ACCOUNTED FOR 
!        = 1 IF YEAR-TO-YEAR VARIABILITY OF SOLAR CONSTANT IS ACCOUNTED FOR 
!        = 2 IF MONTH-TO-MONTH VARIABILITY OF SOLAR CONSTANT IS ACCOUNTED FOR 
!        = 3 AFTER 2008, USE A 13 YEAR REPEAT CYCLE AS SPECIFIED IN CMIP5
!        = 4 READ SOLAR FORCING FROM FILE (LCMIP5 OR LCMIP6 IS SET)
! LECO2VAR: LOGICAL: .T. IF ERA-40/AMIP2 VARIABILITY OF GHG IS ON
! LHGHG  : LOGICAL : .T. IF VARIABILITY OF GREENHOUSE GASES (INCLUDING CO2) IS ON
! N.B.: LHGHG supercedes LECO2VAR and allows using better specification of trace gases
! NSCEN  : INTEGER : 21st CENTURY SCENARIO FOR GHG (1=A1B, 2=A2, 3=B1)
! LCMIP5 : LOGICAL : USE FORCING FROM CMIP5 (SOLAR, GHG, AEROSOL, O3)
! LCMIP6 : LOGICAL : USE FORCING FROM CMIP6 (HAS PRIORITY OVER LCMIP5)
! L1PCTCO2: LOGICAL : TRUE for an 1% per year increase of CO2 until reaching 4x the starting year
! LA4XCO2: LOGICAL : TRUE for an abrupt increase of CO2  to 4x the starting year
!                    L1PCTCO2 and LA4XCO2 should operate together with NCMIPFIXYR years, ie., 
!                    the baseline GHGs level will use that for year NCMIPFIXYR
! SSPNAME: CHARACTER: Name of the SSP scenario
! LCOVID19 : LOGICAL : set TRUE for making special COVID-19 experiments
! COVID19SCEN : CHAR : name of the COVID-19 scenario (only used if LCOVID19=T)
! LSSP370_LOWCH4: TRUE for using CH4 from SSP370-lowNTCF instead of SSP370 scenario
! NRCP   : INTEGER : SWITCH FOR RCP AND HISTORICAL RUNS FOR CMIP5
!                    (0=HISTO 1=RCP 3-PD, 2=RCP 4.5, 3=RCP 6.0, 4=RCP 8.5)
! RRe2De : REAL    : CONVERSION FACTOR BETWWEN EFFECTIVE RADIUS AND PARTICLE SIZE
! RMINICE: REAL    : MINIMUM SIZE FOR ICE PARTICLES (um)
!                    FOR ICE
! NMINICE: INTEGER : 1-6 MINIMUM ICE PARTICLE SIZE DEPENDS ON LATITUDE, 0=INDEPENDENT OF LATITUDE
! NDECOLAT:INTEGER : DECORRELATION LENGTH FOR CF AND CW 
!                     0: SPECIFIED INDEPENDENT OF LATITUDE, 1: SHONK-HOGAN, 2: IMPROVED
! NMCICA : INTEGER :  0: NO McICA
!                     1: McICA w maximum-random in cloud generator
!                     2: McICA w generalized overlap in cloud generator
! LESO4HIS: LOGICAL: .T. O.Boucher sulphate: obs.1920-1990, A1B scenario 2000-2100 
! NGHGRAD: INTEGER : configuration of 3D GHG climatologies accounted for in radiation
!                     0: global values
!                     1: CO2       2: CH4    3: N2O    4: NO2    5:CFC11   6:CFC12
!                    12: CO2+CH4  13: CO2+CH4+N2O     
!                    16: CO2+CH4+N2O+CFC11+CFC12
! LETRACGMS: LOGICAL : F=Cariolle climatol. T=GEMS-derived clim for CO2, CH4, O3
! NVOLCVERT: INTEGER : Vertical distribution of volcanic aerosol
!                       0: original profile, diagnosed from T
!                       1: original profile, but upper boundary at 10hPa
!                       2: lower boundary diagnosed from ozone, upper boundary at 10hPa
! LVOLCSPEC: LOGICAL : T for specified volcanic aerosol
! RVOLCSPEC: REAL    : Specified volcanic aerosol (total optical depth) in NH/Tropics/SH
! NVOLCSTOP: INTEGER : YYYYMM the end date beyond which no volcanic aerosol
!                      information will be used (but exponential decay)
! LMAC2SP    : LOGICAL : True when using the MACv2-SP simple plume model for anthropogenic aerosol
! MAC2SPDIR : CHAR   : Name of directory containing the MACv2-SP input files
! L2RAD      : LOGICAL : Switch for double radiation call
! L2RADTEND  : LOGICAL : Switch for enabling the double radiation tendency output 
! L2RADACCU  : LOGICAL : Switch for accumulating radiation fluxes and tendencies
!     ------------------------------------------------------------------
END MODULE YOERAD
