Changeset 1220 for LMDZ4/branches/LMDZ4-dev/libf/phylmd/sw_aeroAR4.F90
- Timestamp:
- Aug 5, 2009, 4:38:34 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4-dev/libf/phylmd/sw_aeroAR4.F90
r1215 r1220 56 56 !* ARGUMENTS: 57 57 ! 58 REAL *8PSCT ! constante solaire (valeur conseillee: 1370)59 60 REAL *8PPSOL(KDLON) ! SURFACE PRESSURE (PA)61 REAL *8PDP(KDLON,KFLEV) ! LAYER THICKNESS (PA)62 REAL *8PPMB(KDLON,KFLEV+1) ! HALF-LEVEL PRESSURE (MB)63 64 REAL *8PRMU0(KDLON) ! COSINE OF ZENITHAL ANGLE65 REAL *8PFRAC(KDLON) ! fraction de la journee66 67 REAL *8PTAVE(KDLON,KFLEV) ! LAYER TEMPERATURE (K)68 REAL *8PWV(KDLON,KFLEV) ! SPECIFI! HUMIDITY (KG/KG)69 REAL *8PQS(KDLON,KFLEV) ! SATURATED WATER VAPOUR (KG/KG)70 REAL *8POZON(KDLON,KFLEV) ! OZONE CONCENTRATION (KG/KG)71 REAL *8PAER(KDLON,KFLEV,5) ! AEROSOLS' OPTICAL THICKNESS72 73 REAL *8PALBD(KDLON,2) ! albedo du sol (lumiere diffuse)74 REAL *8PALBP(KDLON,2) ! albedo du sol (lumiere parallele)75 76 REAL *8PCLDSW(KDLON,KFLEV) ! CLOUD FRACTION77 REAL *8PTAU(KDLON,2,KFLEV) ! CLOUD OPTICAL THICKNESS78 REAL *8PCG(KDLON,2,KFLEV) ! ASYMETRY FACTOR79 REAL *8POMEGA(KDLON,2,KFLEV) ! SINGLE SCATTERING ALBEDO80 81 REAL *8PHEAT(KDLON,KFLEV) ! SHORTWAVE HEATING (K/DAY)82 REAL *8PHEAT0(KDLON,KFLEV)! SHORTWAVE HEATING (K/DAY) clear-sky83 REAL *8PALBPLA(KDLON) ! PLANETARY ALBEDO84 REAL *8PTOPSW(KDLON) ! SHORTWAVE FLUX AT T.O.A.85 REAL *8PSOLSW(KDLON) ! SHORTWAVE FLUX AT SURFACE86 REAL *8PTOPSW0(KDLON) ! SHORTWAVE FLUX AT T.O.A. (CLEAR-SKY)87 REAL *8PSOLSW0(KDLON) ! SHORTWAVE FLUX AT SURFACE (CLEAR-SKY)58 REAL(KIND=8) PSCT ! constante solaire (valeur conseillee: 1370) 59 60 REAL(KIND=8) PPSOL(KDLON) ! SURFACE PRESSURE (PA) 61 REAL(KIND=8) PDP(KDLON,KFLEV) ! LAYER THICKNESS (PA) 62 REAL(KIND=8) PPMB(KDLON,KFLEV+1) ! HALF-LEVEL PRESSURE (MB) 63 64 REAL(KIND=8) PRMU0(KDLON) ! COSINE OF ZENITHAL ANGLE 65 REAL(KIND=8) PFRAC(KDLON) ! fraction de la journee 66 67 REAL(KIND=8) PTAVE(KDLON,KFLEV) ! LAYER TEMPERATURE (K) 68 REAL(KIND=8) PWV(KDLON,KFLEV) ! SPECIFI! HUMIDITY (KG/KG) 69 REAL(KIND=8) PQS(KDLON,KFLEV) ! SATURATED WATER VAPOUR (KG/KG) 70 REAL(KIND=8) POZON(KDLON,KFLEV) ! OZONE CONCENTRATION (KG/KG) 71 REAL(KIND=8) PAER(KDLON,KFLEV,5) ! AEROSOLS' OPTICAL THICKNESS 72 73 REAL(KIND=8) PALBD(KDLON,2) ! albedo du sol (lumiere diffuse) 74 REAL(KIND=8) PALBP(KDLON,2) ! albedo du sol (lumiere parallele) 75 76 REAL(KIND=8) PCLDSW(KDLON,KFLEV) ! CLOUD FRACTION 77 REAL(KIND=8) PTAU(KDLON,2,KFLEV) ! CLOUD OPTICAL THICKNESS 78 REAL(KIND=8) PCG(KDLON,2,KFLEV) ! ASYMETRY FACTOR 79 REAL(KIND=8) POMEGA(KDLON,2,KFLEV) ! SINGLE SCATTERING ALBEDO 80 81 REAL(KIND=8) PHEAT(KDLON,KFLEV) ! SHORTWAVE HEATING (K/DAY) 82 REAL(KIND=8) PHEAT0(KDLON,KFLEV)! SHORTWAVE HEATING (K/DAY) clear-sky 83 REAL(KIND=8) PALBPLA(KDLON) ! PLANETARY ALBEDO 84 REAL(KIND=8) PTOPSW(KDLON) ! SHORTWAVE FLUX AT T.O.A. 85 REAL(KIND=8) PSOLSW(KDLON) ! SHORTWAVE FLUX AT SURFACE 86 REAL(KIND=8) PTOPSW0(KDLON) ! SHORTWAVE FLUX AT T.O.A. (CLEAR-SKY) 87 REAL(KIND=8) PSOLSW0(KDLON) ! SHORTWAVE FLUX AT SURFACE (CLEAR-SKY) 88 88 ! 89 89 !* LOCAL VARIABLES: … … 91 91 real, parameter:: dobson_u = 2.1415e-05 ! Dobson unit, in kg m-2 92 92 93 REAL( kind=8) ZOZ(KDLON,KFLEV)93 REAL(KIND=8) ZOZ(KDLON,KFLEV) 94 94 ! column-density of ozone in layer, in kilo-Dobsons 95 95 96 REAL *8ZAKI(KDLON,2)97 REAL *8ZCLD(KDLON,KFLEV)98 REAL *8ZCLEAR(KDLON)99 REAL *8ZDSIG(KDLON,KFLEV)100 REAL *8ZFACT(KDLON)101 REAL *8ZFD(KDLON,KFLEV+1)102 REAL *8ZFDOWN(KDLON,KFLEV+1)103 REAL *8ZFU(KDLON,KFLEV+1)104 REAL *8ZFUP(KDLON,KFLEV+1)105 REAL *8ZRMU(KDLON)106 REAL *8ZSEC(KDLON)107 REAL *8ZUD(KDLON,5,KFLEV+1)108 REAL *8ZCLDSW0(KDLON,KFLEV)109 110 REAL *8ZFSUP(KDLON,KFLEV+1)111 REAL *8ZFSDN(KDLON,KFLEV+1)112 REAL *8ZFSUP0(KDLON,KFLEV+1)113 REAL *8ZFSDN0(KDLON,KFLEV+1)96 REAL(KIND=8) ZAKI(KDLON,2) 97 REAL(KIND=8) ZCLD(KDLON,KFLEV) 98 REAL(KIND=8) ZCLEAR(KDLON) 99 REAL(KIND=8) ZDSIG(KDLON,KFLEV) 100 REAL(KIND=8) ZFACT(KDLON) 101 REAL(KIND=8) ZFD(KDLON,KFLEV+1) 102 REAL(KIND=8) ZFDOWN(KDLON,KFLEV+1) 103 REAL(KIND=8) ZFU(KDLON,KFLEV+1) 104 REAL(KIND=8) ZFUP(KDLON,KFLEV+1) 105 REAL(KIND=8) ZRMU(KDLON) 106 REAL(KIND=8) ZSEC(KDLON) 107 REAL(KIND=8) ZUD(KDLON,5,KFLEV+1) 108 REAL(KIND=8) ZCLDSW0(KDLON,KFLEV) 109 110 REAL(KIND=8) ZFSUP(KDLON,KFLEV+1) 111 REAL(KIND=8) ZFSDN(KDLON,KFLEV+1) 112 REAL(KIND=8) ZFSUP0(KDLON,KFLEV+1) 113 REAL(KIND=8) ZFSDN0(KDLON,KFLEV+1) 114 114 115 115 INTEGER inu, jl, jk, i, k, kpl1 … … 126 126 127 127 !jq-Introduced for aerosol forcings 128 REAL *8, SAVE :: flag_aer128 REAL(KIND=8), SAVE :: flag_aer 129 129 !$OMP THREADPRIVATE(flag_aer) 130 130 131 131 LOGICAL ok_ade, ok_aie ! use aerosol forcings or not? 132 REAL *8tauaero(kdlon,kflev,9,2) ! aerosol optical properties133 REAL *8pizaero(kdlon,kflev,9,2) ! (see aeropt.F)134 REAL *8cgaero(kdlon,kflev,9,2) ! -"-135 REAL *8PTAUA(KDLON,2,KFLEV) ! CLOUD OPTICAL THICKNESS (pre-industrial value)136 REAL *8POMEGAA(KDLON,2,KFLEV) ! SINGLE SCATTERING ALBEDO137 REAL *8PTOPSWADAERO(KDLON) ! SHORTWAVE FLUX AT T.O.A.(+AEROSOL DIR)138 REAL *8PSOLSWADAERO(KDLON) ! SHORTWAVE FLUX AT SURFACE(+AEROSOL DIR)139 REAL *8PTOPSWAD0AERO(KDLON) ! SHORTWAVE FLUX AT T.O.A.(+AEROSOL DIR)140 REAL *8PSOLSWAD0AERO(KDLON) ! SHORTWAVE FLUX AT SURFACE(+AEROSOL DIR)141 REAL *8PTOPSWAIAERO(KDLON) ! SHORTWAVE FLUX AT T.O.A.(+AEROSOL IND)142 REAL *8PSOLSWAIAERO(KDLON) ! SHORTWAVE FLUX AT SURFACE(+AEROSOL IND)143 REAL *8PTOPSWAERO(KDLON,9)144 REAL *8PTOPSW0AERO(KDLON,9)145 REAL *8PSOLSWAERO(KDLON,9)146 REAL *8PSOLSW0AERO(KDLON,9)132 REAL(KIND=8) tauaero(kdlon,kflev,9,2) ! aerosol optical properties 133 REAL(KIND=8) pizaero(kdlon,kflev,9,2) ! (see aeropt.F) 134 REAL(KIND=8) cgaero(kdlon,kflev,9,2) ! -"- 135 REAL(KIND=8) PTAUA(KDLON,2,KFLEV) ! CLOUD OPTICAL THICKNESS (pre-industrial value) 136 REAL(KIND=8) POMEGAA(KDLON,2,KFLEV) ! SINGLE SCATTERING ALBEDO 137 REAL(KIND=8) PTOPSWADAERO(KDLON) ! SHORTWAVE FLUX AT T.O.A.(+AEROSOL DIR) 138 REAL(KIND=8) PSOLSWADAERO(KDLON) ! SHORTWAVE FLUX AT SURFACE(+AEROSOL DIR) 139 REAL(KIND=8) PTOPSWAD0AERO(KDLON) ! SHORTWAVE FLUX AT T.O.A.(+AEROSOL DIR) 140 REAL(KIND=8) PSOLSWAD0AERO(KDLON) ! SHORTWAVE FLUX AT SURFACE(+AEROSOL DIR) 141 REAL(KIND=8) PTOPSWAIAERO(KDLON) ! SHORTWAVE FLUX AT T.O.A.(+AEROSOL IND) 142 REAL(KIND=8) PSOLSWAIAERO(KDLON) ! SHORTWAVE FLUX AT SURFACE(+AEROSOL IND) 143 REAL(KIND=8) PTOPSWAERO(KDLON,9) 144 REAL(KIND=8) PTOPSW0AERO(KDLON,9) 145 REAL(KIND=8) PSOLSWAERO(KDLON,9) 146 REAL(KIND=8) PSOLSW0AERO(KDLON,9) 147 147 148 148 !jq - Fluxes including aerosol effects 149 REAL *8,ALLOCATABLE,SAVE :: ZFSUPAD_AERO(:,:)149 REAL(KIND=8),ALLOCATABLE,SAVE :: ZFSUPAD_AERO(:,:) 150 150 !$OMP THREADPRIVATE(ZFSUPAD_AERO) 151 REAL *8,ALLOCATABLE,SAVE :: ZFSDNAD_AERO(:,:)151 REAL(KIND=8),ALLOCATABLE,SAVE :: ZFSDNAD_AERO(:,:) 152 152 !$OMP THREADPRIVATE(ZFSDNAD_AERO) 153 153 !jq - Fluxes including aerosol effects 154 REAL *8,ALLOCATABLE,SAVE :: ZFSUPAD0_AERO(:,:)154 REAL(KIND=8),ALLOCATABLE,SAVE :: ZFSUPAD0_AERO(:,:) 155 155 !$OMP THREADPRIVATE(ZFSUPAD0_AERO) 156 REAL *8,ALLOCATABLE,SAVE :: ZFSDNAD0_AERO(:,:)156 REAL(KIND=8),ALLOCATABLE,SAVE :: ZFSDNAD0_AERO(:,:) 157 157 !$OMP THREADPRIVATE(ZFSDNAD0_AERO) 158 REAL *8,ALLOCATABLE,SAVE :: ZFSUPAI_AERO(:,:)158 REAL(KIND=8),ALLOCATABLE,SAVE :: ZFSUPAI_AERO(:,:) 159 159 !$OMP THREADPRIVATE(ZFSUPAI_AERO) 160 REAL *8,ALLOCATABLE,SAVE :: ZFSDNAI_AERO(:,:)160 REAL(KIND=8),ALLOCATABLE,SAVE :: ZFSDNAI_AERO(:,:) 161 161 !$OMP THREADPRIVATE(ZFSDNAI_AERO) 162 REAL *8,ALLOCATABLE,SAVE :: ZFSUP_AERO(:,:,:)162 REAL(KIND=8),ALLOCATABLE,SAVE :: ZFSUP_AERO(:,:,:) 163 163 !$OMP THREADPRIVATE(ZFSUP_AERO) 164 REAL *8,ALLOCATABLE,SAVE :: ZFSDN_AERO(:,:,:)164 REAL(KIND=8),ALLOCATABLE,SAVE :: ZFSDN_AERO(:,:,:) 165 165 !$OMP THREADPRIVATE(ZFSDN_AERO) 166 REAL *8,ALLOCATABLE,SAVE :: ZFSUP0_AERO(:,:,:)166 REAL(KIND=8),ALLOCATABLE,SAVE :: ZFSUP0_AERO(:,:,:) 167 167 !$OMP THREADPRIVATE(ZFSUP0_AERO) 168 REAL *8,ALLOCATABLE,SAVE :: ZFSDN0_AERO(:,:,:)168 REAL(KIND=8),ALLOCATABLE,SAVE :: ZFSDN0_AERO(:,:,:) 169 169 !$OMP THREADPRIVATE(ZFSDN0_AERO) 170 170
Note: See TracChangeset
for help on using the changeset viewer.