[3908] | 1 | MODULE YOERAD |
---|
| 2 | |
---|
| 3 | USE PARKIND1 ,ONLY : JPIM ,JPRB |
---|
| 4 | |
---|
| 5 | IMPLICIT NONE |
---|
| 6 | |
---|
| 7 | SAVE |
---|
| 8 | |
---|
| 9 | ! ------------------------------------------------------------------ |
---|
| 10 | !* ** *YOERAD* - CONTROL OPTIONS FOR RADIATION CONFIGURATION |
---|
| 11 | ! ------------------------------------------------------------------ |
---|
| 12 | |
---|
| 13 | INTEGER(KIND=JPIM) :: NAER |
---|
| 14 | INTEGER(KIND=JPIM) :: NMODE |
---|
| 15 | INTEGER(KIND=JPIM) :: NOZOCL |
---|
| 16 | INTEGER(KIND=JPIM) :: NRADFR |
---|
| 17 | INTEGER(KIND=JPIM) :: NRADPFR |
---|
| 18 | INTEGER(KIND=JPIM) :: NRADPLA |
---|
| 19 | INTEGER(KIND=JPIM) :: NRADINT |
---|
| 20 | INTEGER(KIND=JPIM) :: NRADRES |
---|
| 21 | INTEGER(KIND=JPIM) :: NRADNFR |
---|
| 22 | INTEGER(KIND=JPIM) :: NRADSFR |
---|
| 23 | INTEGER(KIND=JPIM) :: NRADE1H, NRADE3H |
---|
| 24 | INTEGER(KIND=JPIM) :: NRADELG |
---|
| 25 | INTEGER(KIND=JPIM) :: NOVLP |
---|
| 26 | INTEGER(KIND=JPIM) :: NRPROMA |
---|
| 27 | INTEGER(KIND=JPIM) :: NSW |
---|
| 28 | INTEGER(KIND=JPIM) :: NSWNL |
---|
| 29 | INTEGER(KIND=JPIM) :: NSWTL |
---|
| 30 | INTEGER(KIND=JPIM) :: NTSW |
---|
| 31 | INTEGER(KIND=JPIM) :: NUV |
---|
| 32 | INTEGER(KIND=JPIM) :: NCSRADF |
---|
| 33 | INTEGER(KIND=JPIM) :: NICEOPT |
---|
| 34 | INTEGER(KIND=JPIM) :: NLIQOPT |
---|
| 35 | INTEGER(KIND=JPIM) :: NRADIP |
---|
| 36 | INTEGER(KIND=JPIM) :: NRADLP |
---|
| 37 | INTEGER(KIND=JPIM) :: NINHOM |
---|
| 38 | INTEGER(KIND=JPIM) :: NLAYINH |
---|
| 39 | INTEGER(KIND=JPIM) :: NLNGR1H |
---|
| 40 | INTEGER(KIND=JPIM) :: NPERTAER |
---|
| 41 | INTEGER(KIND=JPIM) :: NPERTOZ |
---|
| 42 | INTEGER(KIND=JPIM) :: NSCEN |
---|
| 43 | INTEGER(KIND=JPIM) :: NHINCSOL |
---|
| 44 | INTEGER(KIND=JPIM) :: NMCICA |
---|
| 45 | INTEGER(KIND=JPIM) :: NGHGRAD |
---|
| 46 | INTEGER(KIND=JPIM) :: NDECOLAT |
---|
| 47 | INTEGER(KIND=JPIM) :: NMINICE |
---|
| 48 | INTEGER(KIND=JPIM) :: NVOLCVERT |
---|
| 49 | INTEGER(KIND=JPIM) :: NREDGLW |
---|
| 50 | INTEGER(KIND=JPIM) :: NREDGSW |
---|
| 51 | INTEGER(KIND=JPIM) :: NSPMAPL(16), NSPMAPS(14) |
---|
| 52 | |
---|
| 53 | LOGICAL :: LERAD1H |
---|
| 54 | LOGICAL :: LEPO3RA |
---|
| 55 | LOGICAL :: LONEWSW |
---|
| 56 | LOGICAL :: LECSRAD |
---|
| 57 | LOGICAL :: LRRTM |
---|
| 58 | LOGICAL :: LSRTM |
---|
| 59 | LOGICAL :: LDIFFC |
---|
| 60 | LOGICAL :: LHVOLCA |
---|
| 61 | LOGICAL :: LNEWAER |
---|
| 62 | LOGICAL :: LNOTROAER |
---|
| 63 | LOGICAL :: LRAYL |
---|
| 64 | LOGICAL :: LOPTRPROMA |
---|
| 65 | LOGICAL :: LECO2VAR |
---|
| 66 | LOGICAL :: LHGHG |
---|
| 67 | LOGICAL :: LEMODAL |
---|
| 68 | LOGICAL :: LESO4HIS |
---|
| 69 | LOGICAL :: LETRACGMS |
---|
| 70 | LOGICAL :: LAERCLIM, LAERVISI |
---|
| 71 | LOGICAL :: LVOLCSPEC |
---|
| 72 | LOGICAL :: LVOLCDAMP |
---|
| 73 | LOGICAL :: LDIAGFORCING |
---|
| 74 | LOGICAL :: LApproxLwUpdate |
---|
| 75 | LOGICAL :: LApproxSwUpdate |
---|
| 76 | LOGICAL :: LCentredTimeSZA |
---|
| 77 | |
---|
| 78 | CHARACTER (LEN = 256) :: CRTABLEDIR |
---|
| 79 | CHARACTER (LEN = 32) :: CRTABLEFIL |
---|
| 80 | LOGICAL :: LCCNL |
---|
| 81 | LOGICAL :: LCCNO |
---|
| 82 | LOGICAL :: LPERPET |
---|
| 83 | |
---|
| 84 | REAL(KIND=JPRB) :: RAOVLP , RBOVLP |
---|
| 85 | REAL(KIND=JPRB) :: RCCNLND, RCCNSEA |
---|
| 86 | LOGICAL :: LEDBUG |
---|
| 87 | REAL(KIND=JPRB) :: RPERTOZ, RRe2De |
---|
| 88 | REAL(KIND=JPRB) :: RLWINHF, RSWINHF |
---|
| 89 | REAL(KIND=JPRB) :: RMINICE |
---|
| 90 | REAL(KIND=JPRB) :: RVOLCSPEC(3) |
---|
| 91 | REAL(KIND=JPRB) :: RNs, RSIGAIR |
---|
| 92 | |
---|
| 93 | ! * E.C.M.W.F. PHYSICS PACKAGE * |
---|
| 94 | |
---|
| 95 | ! J.-J. MORCRETTE E.C.M.W.F. 89/07/14 |
---|
| 96 | ! Modifications |
---|
| 97 | ! R J Hogan 20 May 2014: Added LApproxLwUpdate |
---|
| 98 | ! R J Hogan 19 June 2014: Added LApproxSwUpdate |
---|
| 99 | ! R J Hogan 19 Nov 2014: Added LCentredTimeSZA |
---|
| 100 | |
---|
| 101 | ! NAME TYPE PURPOSE |
---|
| 102 | ! ---- : ---- : --------------------------------------------------- |
---|
| 103 | ! LERAD1H: LOGICAL : .T. TO ALLOW MORE FREQUENT RADIATION CALCULATIONS |
---|
| 104 | ! : DURING FIRST N HOURS OF FORECAST |
---|
| 105 | ! NLNGR1H: INTEGER : NUMBER FORECAST HOURS DURING WHICH MORE FREQUENT |
---|
| 106 | ! RADIATION CALCULATIONS ARE REQUIRED |
---|
| 107 | ! LEPO3RA: LOGICAL : .T. IF PROGNOSTIC OZONE (EC) IS PASSED TO RADIATION |
---|
| 108 | ! NAER : INTEGER : CONFIGURATION INDEX FOR AEROSOLS |
---|
| 109 | ! NMODE : INTEGER : CONFIGURATION FOR RADIATION CODE: FLUX VS. RADIANCE |
---|
| 110 | ! NOZOCL : INTEGER : CHOICE OF OZONE CLIMATOLOGY (0 old, 1 new) |
---|
| 111 | ! NRADFR : INTEGER : FREQUENCY OF FULL RADIATION COMPUTATIONS |
---|
| 112 | ! IF(NRADFR.GT.0): RAD EVERY 'NRADFR' TIME-STEPS |
---|
| 113 | ! IF(NRADFR.LT.0): RAD EVERY '-NRADFR' HOURS |
---|
| 114 | ! NRADPFR: INTEGER : PRINT FREQUENCY FOR RAD.STATISTICS (in RAD.T.STEPS) |
---|
| 115 | ! NRADPLA: INTEGER : PRINT RAD.STATISTICS EVERY 'NRADPLA' ROWS |
---|
| 116 | ! NRADINT: INTEGER : RADIATION INTERPOLATION METHOD |
---|
| 117 | ! : 1 = SPECTRAL TRANSFORM INTERPOLATION |
---|
| 118 | ! : 2 = 4 POINT HORIZONTAL INTERPOLATION |
---|
| 119 | ! : 3 = 12 POINT HORIZONTAL INTERPOLATION |
---|
| 120 | ! NRADRES: INTEGER : RADIATION GRID SPECTRAL RESOLUTION |
---|
| 121 | ! NRADNFR: INTEGER : NORMAL FREQUENCY OF RADIATION STEPS |
---|
| 122 | ! NRADSFR: INTEGER : START-UP FREQUENCY OF RADIATION STEPS |
---|
| 123 | ! NRADE1H: INTEGER : START-UP FREQUENCY OF RADIATION STEPS FOR EPS |
---|
| 124 | ! NRADE3H: INTEGER : SUBSEQUENT FREQUENCY OF RADIATION STEPS FOR EPS |
---|
| 125 | ! NRADELG: INTEGER : LENGTH IN HOURS DURING WHICH THE FREQUENCY OF RADIATION IS INCREASED FOR EPS |
---|
| 126 | ! NOVLP : INTEGER : CLOUD OVERLAP CONFIGURATION |
---|
| 127 | ! NRPROMA: INTEGER : VECTOR LENGTH FOR RADIATION CALCULATIONS |
---|
| 128 | ! NSW : INTEGER : NUMBER OF SHORTWAVE SPECTRAL INTERVALS |
---|
| 129 | ! NSWNL : INTEGER : NUMBER OF SHORTWAVE SPECTRAL INTERVALS IN NL MODEL |
---|
| 130 | ! NSWTL : INTEGER : NUMBER OF SHORTWAVE SPECTRAL INTERVALS IN TL MODEL |
---|
| 131 | ! NTSW : INTEGER : MAXIMUM POSSIBLE NUMBER OF SW SPECTRAL INTERVALS |
---|
| 132 | ! NUV : INTEGER : NUMBER OF UV SPECTRAL INTERVALS FOR THE UV PROCESSOR |
---|
| 133 | ! LOPTRPROMA:LOGICAL: .T. NRPROMA will be optimised |
---|
| 134 | ! : .F. NRPROMA will not be optimised (forced |
---|
| 135 | ! : by negative NRPROMA in namelist) |
---|
| 136 | |
---|
| 137 | ! NRADIP : INTEGER : INDEX FOR DIAGNOSIS OF ICE CLOUD EFFECTIVE RADIUS |
---|
| 138 | ! 0=EbCu/SmSh 1=EbCu/EbCu 2=FuLi/FuLi 3=Fu/Fu&al |
---|
| 139 | ! NRADLP : INTEGER : INDEX FOR DIAGNOSIS OF LIQ. CLOUD EFFECTIVE RADIUS |
---|
| 140 | ! 0=YF/SmSh 1=ASl/HSa 2=ASl/LiLi |
---|
| 141 | ! NICEOPT: INTEGER : INDEX FOR ICE CLOUD OPTICAL PROPERTIES |
---|
| 142 | ! 0=40u 1=40-130 2=30-60 3=Sun'01 |
---|
| 143 | ! NLIQOPT: INTEGER : INDEX FOR LIQUID WATER CLOUD OPTICAL PROPERTIES |
---|
| 144 | ! 0=f(P) 1=10/13 2=Martin_et_al |
---|
| 145 | |
---|
| 146 | ! LONEWSW: LOGICAL : .T. IF NEW SW CODE IS ACTIVE |
---|
| 147 | ! LECSRAD: LOGICAL : .T. IF CLEAR-SKY RADIATION IS ARCHIVED AS PEXTR2 |
---|
| 148 | ! NCSRADF: INTEGER : 1 IF ACCUMULATED, 2 IF INSTANTANEOUS |
---|
| 149 | ! LRRTM : LOGICAL : .T. IF RRTM140MR IS USED FOR LW RADIATION TRANSFER |
---|
| 150 | |
---|
| 151 | ! LHVOLCA: LOGICAL : .T. IF GISS HISTORY OF VOLCANIC AEROSOLS IS ON |
---|
| 152 | ! LNEWAER: LOGICAL : .T. IF AEROSOL MONTHLY DISTRIBUTIONS ARE USED |
---|
| 153 | ! LNOTROAER:LOGICAL: .T. IF NO TROPOSPHERIC AEROSOLS |
---|
| 154 | ! CRTABLEDIR: CHAR : IF NRADINT > 0 SPECIFIES DIRECTORY PATH FOR RADIATION |
---|
| 155 | ! : GRID RTABLE NAMELIST |
---|
| 156 | ! CRTABLEFIL: CHAR : IF NRADINT > 0 SPECIFIES FILE NAME OF RADIATION |
---|
| 157 | ! : GRID RTABLE NAMELIST |
---|
| 158 | ! LRAYL : LOGICAL : .T. NEW RAYLEIGH FOR SW-6 VERSION |
---|
| 159 | |
---|
| 160 | ! RAOVLP : REAL : COEFFICIENTS FOR ALPHA1 FACTOR IN HOGAN & |
---|
| 161 | ! RBOVLP : REAL : ILLINGWORTH's PARAMETRIZATION |
---|
| 162 | |
---|
| 163 | ! LCCNL : LOGICAL : .T. IF CCN CONCENTRATION OVER LAND IS DIAGNOSED |
---|
| 164 | ! LCCNO : LOGICAL : .T. IF CCN CONCENTRATION OVER OCEAN IS DIAGNOSED |
---|
| 165 | ! RCCNLND: REAL : NUMBER CONCENTRATION (CM-3) OF CCNs OVER LAND |
---|
| 166 | ! RCCNSEA: REAL : NUMBER CONCENTRATION (CM-3) OF CCNs OVER SEA |
---|
| 167 | |
---|
| 168 | ! LDIFFC : LOGICAL : .T. IF SAVIJARVI'S DIFFUSIVITY CORRECTION IS ON |
---|
| 169 | |
---|
| 170 | ! NINHOM : INTEGER : 0 IF NO INHOMOGENEITY SCALING EFFECT |
---|
| 171 | ! 1 IF SIMPLE 0.7 SCALING |
---|
| 172 | ! 2 IF BARKER, 3 IF CAIRNS ET AL. |
---|
| 173 | ! RLWINHF: REAL : INHOMOG. SCALING FACTOR FOR CLOUD LW OPTICAL THICKNESS |
---|
| 174 | ! RSWINHF: REAL : INHOMOG. SCALING FACTOR FOR CLOUD SW OPTICAL THICKNESS |
---|
| 175 | |
---|
| 176 | ! NPERTAER : INTERGER : PERCENTAGE OF PERTURBATION FOR AEROSOL |
---|
| 177 | ! NPERTOZONE : INTEGER : PERCENTAGE OF PERTURBATION FOR OZONE |
---|
| 178 | ! NHINCSOL:INTEGER : |
---|
| 179 | ! = 0 NO VARIABILITY OF SOLAR CONSTANT IS ACCOUNTED FOR |
---|
| 180 | ! = 1 IF YEAR-TO-YEAR VARIABILITY OF SOLAR CONSTANT IS ACCOUNTED FOR |
---|
| 181 | ! = 2 IF MONTH-TO-MONTH VARIABILITY OF SOLAR CONSTANT IS ACCOUNTED FOR |
---|
| 182 | ! = 3 IF YEAR-TO-YEAR VARIABILITY OF SOLAR CONSTANT IS ACCOUNTED FOR ACCORDING TO CMIP5 RECOMMENDATIONS |
---|
| 183 | ! LECO2VAR: LOGICAL: .T. IF ERA-40/AMIP2 VARIABILITY OF GHG IS ON |
---|
| 184 | ! LHGHG : LOGICAL : .T. IF VARIABILITY OF GREENHOUSE GASES (INCLUDING CO2) IS ON |
---|
| 185 | ! N.B.: LHGHG supercedes LECO2VAR and allows using better specification of trace gases |
---|
| 186 | ! NSCEN : INTEGER : 21st CENTURY SCENARIO FOR GHG (1=A1B, 2=A2, 3=B1) |
---|
| 187 | ! RRe2De : REAL : CONVERSION FACTOR BETWWEN EFFECTIVE RADIUS AND PARTICLE SIZE |
---|
| 188 | ! RMINICE: REAL : MINIMUM SIZE FOR ICE PARTICLES (um) |
---|
| 189 | ! FOR ICE |
---|
| 190 | ! NMINICE: INTEGER : 1-6 MINIMUM ICE PARTICLE SIZE DEPENDS ON LATITUDE, 0=INDEPENDENT OF LATITUDE |
---|
| 191 | ! NDECOLAT:INTEGER : DECORRELATION LENGTH FOR CF AND CW |
---|
| 192 | ! 0: SPECIFIED INDEPENDENT OF LATITUDE, 1: SHONK-HOGAN, 2: IMPROVED |
---|
| 193 | ! NMCICA : INTEGER : 0: NO McICA |
---|
| 194 | ! 1: McICA w maximum-random in cloud generator |
---|
| 195 | ! 2: McICA w generalized overlap in cloud generator |
---|
| 196 | ! LESO4HIS: LOGICAL:.T.: Use historical/projected SO4 data per decade and month |
---|
| 197 | ! NGHGRAD: INTEGER : configuration of 3D GHG climatologies accounted for in radiation |
---|
| 198 | ! 0: global values |
---|
| 199 | ! 1: CO2 2: CH4 3: N2O 4: NO2 5:CFC11 6:CFC12 |
---|
| 200 | ! 12: CO2+CH4 13: CO2+CH4+N2O |
---|
| 201 | ! 16: CO2+CH4+N2O+CFC11+CFC12 |
---|
| 202 | ! LETRACGMS: LOGICAL : F=Cariolle climatol. T=GEMS-derived clim for CO2, CH4, O3 |
---|
| 203 | ! LAERCLIM : LOGICAL : .T. for output of the climatological aerosol optical depth at 550 nm |
---|
| 204 | ! LAERVISI : LOGICAL : .T. for output of the visibility (from diagnsotic or prognostic aerosols) |
---|
| 205 | ! NVOLCVERT: INTEGER : Vertical distribution of volcanic aerosol |
---|
| 206 | ! 0: original profile, diagnosed from T |
---|
| 207 | ! 1: original profile, but upper boundary at 10hPa |
---|
| 208 | ! 2: lower boundary diagnosed from ozone, upper boundary at 10hPa |
---|
| 209 | ! LVOLCSPEC: LOGICAL : T for specified volcanic aerosol |
---|
| 210 | ! LVOLCDAMP: LOGICAL : T for damping of specified volcanic aerosol from initial value |
---|
| 211 | ! RVOLCSPEC: REAL : Specified volcanic aerosol (total optical depth) in NH/Tropics/SH |
---|
| 212 | ! RNs : derived from Avogadro |
---|
| 213 | ! RSIGAIR: invariant terms in expression of Rayleigh scattering cross-section |
---|
| 214 | ! NREDGSW : LOGICAL : 0 full resolution for RRTM_SW (224) |
---|
| 215 | ! 1 ECMWF High resolution model configuration (_SW: 112) |
---|
| 216 | ! 2 ECMWF EPS configuration (_SW: 56) |
---|
| 217 | ! NREDGLW : LOGICAL : 0 full resolution for RRTM_LW (256) |
---|
| 218 | ! 1 ECMWF High resolution model configuration (_LW: 140) |
---|
| 219 | ! 2 ECMWF EPS configuration (_LW: 70) |
---|
| 220 | ! LDIAGFORCING : LOGICAL : T Write input ozone, ghg and aerosol forcing to 3D fields |
---|
| 221 | ! To be used for diagnostics only; do not use in production runs |
---|
| 222 | ! LApproxLwUpdate : LOGICAL : Update the longwave upwelling flux every |
---|
| 223 | ! timestep/gridpoint using the stored rate |
---|
| 224 | ! of change of the fluxes with respect to |
---|
| 225 | ! the surface upwelling longwave flux |
---|
| 226 | ! LApproxSwUpdate : LOGICAL : Update the shortwave upwelling flux |
---|
| 227 | ! every gridpoint to account for the local |
---|
| 228 | ! value of surface albedo, and every |
---|
| 229 | ! timestep using Manners et al. (2009) |
---|
| 230 | ! correction for solar zenith angle change |
---|
| 231 | ! LCentredTimeSZA : LOGICAL : Compute solar zenith angle in radiation |
---|
| 232 | ! scheme half way between calls to |
---|
| 233 | ! radiation scheme (rather than previous |
---|
| 234 | ! behaviour, which is half way between |
---|
| 235 | ! calls plus half a model timestep) |
---|
| 236 | ! ------------------------------------------------------------------ |
---|
| 237 | END MODULE YOERAD |
---|