| 1 |
jscott |
1.1 |
|
| 2 |
|
|
#include "ctrparam.h" |
| 3 |
|
|
|
| 4 |
|
|
! ========================================================== |
| 5 |
|
|
! |
| 6 |
|
|
! CONDSE.F: THIS SUBROUTINE ADDS THE CONTRIBUTIONS TO |
| 7 |
|
|
! TEMPERATURE AND HUMIDITY CAUSED BY CONDENSATION. |
| 8 |
|
|
! |
| 9 |
|
|
! ---------------------------------------------------------- |
| 10 |
|
|
! |
| 11 |
|
|
! Author of Chemistry Modules: Chien Wang |
| 12 |
|
|
! |
| 13 |
|
|
! ---------------------------------------------------------- |
| 14 |
|
|
! |
| 15 |
|
|
! Revision History: |
| 16 |
|
|
! |
| 17 |
|
|
! When Who What |
| 18 |
|
|
! ---- ---------- ------- |
| 19 |
|
|
! 073100 Chien Wang repack based on CliChem3 and add cpp |
| 20 |
|
|
! 091901 Chien Wang make argument of dlog be in r8 format |
| 21 |
|
|
! 092001 Chien Wang add bc and oc |
| 22 |
|
|
! 100201 Chien Wang Eice =0.35 |
| 23 |
|
|
! 062404 Chien Wang combine bc, oc code with Andrei's |
| 24 |
|
|
! ========================================================== |
| 25 |
|
|
|
| 26 |
|
|
SUBROUTINE CONDSE(mndriver) 3001. |
| 27 |
|
|
C**** 3002. |
| 28 |
|
|
C**** THIS SUBROUTINE ADDS THE CONTRIBUTIONS TO TEMPERATURE AND 3003. |
| 29 |
|
|
C**** HUMIDITY CAUSED BY CONDENSATION. 3004. |
| 30 |
|
|
C**** 3005. |
| 31 |
|
|
|
| 32 |
|
|
#include "BD2G04.COM" 3006. |
| 33 |
|
|
C |
| 34 |
|
|
#if ( defined OCEAN_3D || defined ML_2D) |
| 35 |
jscott |
1.2 |
#include "AGRID.h" |
| 36 |
jscott |
1.1 |
C#include "HRD4OCN.COM" |
| 37 |
|
|
#endif |
| 38 |
|
|
|
| 39 |
|
|
#if ( defined CLM ) |
| 40 |
|
|
#include "CLM.COM" |
| 41 |
|
|
#endif |
| 42 |
|
|
c |
| 43 |
|
|
#if ( defined CPL_CHEM ) |
| 44 |
|
|
! |
| 45 |
|
|
#include "chem_para" |
| 46 |
|
|
#include "chem_com" |
| 47 |
|
|
|
| 48 |
|
|
dimension xcfc11 (n3d) |
| 49 |
|
|
dimension xcfc12 (n3d) |
| 50 |
|
|
dimension xxn2o (n3d) |
| 51 |
|
|
dimension xo3 (n3d) |
| 52 |
|
|
dimension xco (n3d) |
| 53 |
|
|
dimension xzco2 (n3d) |
| 54 |
|
|
dimension xxno (n3d) |
| 55 |
|
|
dimension xxno2 (n3d) |
| 56 |
|
|
dimension xxn2o5 (n3d) |
| 57 |
|
|
dimension xhno3 (n3d) |
| 58 |
|
|
dimension xch4 (n3d) |
| 59 |
|
|
dimension xch2o (n3d) |
| 60 |
|
|
dimension xso2 (n3d) |
| 61 |
|
|
dimension xh2so4 (n3d) |
| 62 |
|
|
dimension xh2o2 (n3d) |
| 63 |
|
|
|
| 64 |
|
|
dimension xhfc134a (n3d) |
| 65 |
|
|
dimension xpfc (n3d) |
| 66 |
|
|
dimension xsf6 (n3d) |
| 67 |
|
|
|
| 68 |
|
|
dimension xbc (n3d) |
| 69 |
|
|
dimension xoc (n3d) |
| 70 |
|
|
|
| 71 |
|
|
dimension prec_cnv (nlev) |
| 72 |
|
|
dimension prec_str (nlev) |
| 73 |
|
|
! |
| 74 |
|
|
#endif |
| 75 |
|
|
|
| 76 |
|
|
COMMON/SPEC2/KM,KINC,COEK,C3LAND(IO0,JM0),C3OICE(IO0,JM0) 3006.1 |
| 77 |
|
|
* ,C3LICE(IO0,JM0),WMGE(IO0,JM0) 3006.2 |
| 78 |
|
|
COMMON U,V,T,P,Q 3007. |
| 79 |
|
|
COMMON/WORK1/CONV(IM0,JM0,LM0),PK(IM0,JM0,LM0),PREC(IM0,JM0) |
| 80 |
|
|
& ,TPREC(IM0,JM0), 3008. |
| 81 |
|
|
* UC(IM0,JM0,LM0),VC(IM0,JM0,LM0) 3009. |
| 82 |
|
|
COMMON/WORK2/CLDSS(IM0,JM0,LM0),CLDMC(IM0,JM0,LM0),UCLD(72,9) |
| 83 |
|
|
&,VCLD(72,9), 3010. |
| 84 |
|
|
* ID(8),PL(36),PLE(37),PLK(36),TH(36),TL(36),QL(180), 3011. |
| 85 |
|
|
* UL(8,36),UPL(72,36),VPL(72,36),UPUP(72),VPUP(72), 3012. |
| 86 |
|
|
* UUP(8),RA(8),FMXA(36),DSE(36),TCLA(36),TCUP(36), 3013. |
| 87 |
|
|
* X(72),SIGMA1(36),AJ8(36),AJ13(36),AJ50(36) ,CXCD(36) 3014. |
| 88 |
|
|
* ,DFMX(36),FCD(36),AETA(36),XCD(36),TO(36),QO(36) 3015. |
| 89 |
|
|
COMMON/EPARA/VTH(JM0,LM0),WTH(JM0,LM0),VU(JM0,LM0),VV(JM0,LM0), |
| 90 |
|
|
& DQSDT(JM0,LM0) 3015.5 |
| 91 |
|
|
* ,DWV(JM0),PHIT(JM0,LM0),TPRIM2(JM0,LM0),WU(JM0,LM0),CKS,CKN 3015.51 |
| 92 |
|
|
* ,WQ(JM0,LM0),VQ(JM0,LM0) 3015.52 |
| 93 |
|
|
common/fixcld/cldssm(JM0,LM0,0:13),cldmcm(JM0,LM0,0:13), |
| 94 |
|
|
& CLDSST(JM0,LM0), |
| 95 |
|
|
& CLDMCT(JM0,LM0) |
| 96 |
|
|
DIMENSION XA(1,JM0),XB(1,JM0),CSDATA(JM0,LM0),CMDATA(JM0,LM0) 3015.53 |
| 97 |
|
|
DIMENSION SHL(180),SHSAT(36),TSAV(36),SIGMA2(36),TX(1,JM0,LM0) 3015.54 |
| 98 |
|
|
*,QSAV(LM0) |
| 99 |
|
|
EQUIVALENCE (SHL(1),QL(1)) 3015.55 |
| 100 |
|
|
c DATA CSDATA/ 3015.56 |
| 101 |
|
|
c * 24.2,20.9,49.2,41.5,42.2,52.3,54.4,52.3,44.6,30.7,26.6,24.6, 3015.57 |
| 102 |
|
|
c * 24.4,26.4,26.0,29.4,35.2,46.3,45.7,36.3,25.4,32.6,38.3,22.3, 3015.58 |
| 103 |
|
|
c * 10.2,11.1,32.8,11.2,14.6,24.0,12.1,.1,4*0., 3015.59 |
| 104 |
|
|
c * 5*0.,11.9,37.0,34.2,23.3,19.7,21.2,16.5, 3015.6 |
| 105 |
|
|
c * 9.5,10.0,25.3,.1,8*0., 3015.61 |
| 106 |
|
|
c * 9*0.,.2,13.7,14.7, 3015.62 |
| 107 |
|
|
c * 9.2,9.5,31.5,.7,8*0., 3015.63 |
| 108 |
|
|
c * 7*0.,.2,.6,.1,19.6,12.3, 3015.64 |
| 109 |
|
|
c * 22.8,39.0,53.0,4.9,7.8,29.4,16.8,5*0., 3015.65 |
| 110 |
|
|
c * 5*0.,4.3,36.4,37.6,17.3,17.1,46.7,29.4, 3015.66 |
| 111 |
|
|
c * 13.4,18.7,20.7,15.8,25.4,27.9,25.9,3.1,2.1,2.5,1.7,.4, 3015.67 |
| 112 |
|
|
c * .8,3.1,3.2,3.6,3.6,11.8,29.5,29.7,25.0,18.3,15.7,16.2, 3015.68 |
| 113 |
|
|
c * 9.9,15.3,20.2,20.3,20.8,19.8,12.7,8.3,12.4,22.8,23.8,19.1, 3015.69 |
| 114 |
|
|
c * 22.2,26.9,26.5,20.7,15.3,17.2,18.9,19.7,21.4,19.7,12.5,10.2, 3015.7 |
| 115 |
|
|
c * 3.5,5.4,9.7,10.8,9.9,7.2,3.5,2.1,1.1,1.1,3.2,6.8, 3015.71 |
| 116 |
|
|
c * 8.3,7.2,5.2,5.7,7.4,8.6,8.2,9.9,11.5,9.2,4.6,4.4,24*0. 3015.72 |
| 117 |
|
|
c & / |
| 118 |
|
|
c & ,242*0. |
| 119 |
|
|
c * ,48*0./ |
| 120 |
|
|
c DATA CMDATA/ 3015.73 |
| 121 |
|
|
c * 12*0., 3015.74 |
| 122 |
|
|
c * 12*0., 3015.75 |
| 123 |
|
|
c * 3.0,2.6,2.5,4.2,13.7,11.2,6.7,4.3,6.5,8.8,6.4,5.1, 3015.76 |
| 124 |
|
|
c * 4.5,4.8,7.2,6.3,6.4,6.0,12.1,12.7,13.5,5.6,3.0,3.3, 3015.77 |
| 125 |
|
|
c * 2.8,1.9,2.5,2.4,5.5,3.9,7.0,4.1,5.3,8.0,6.1,5.0, 3015.78 |
| 126 |
|
|
c * 4.5,4.8,7.1,5.5,4.9,4.7,3.6,5.0,15.3,3.9,1.4,2.1, 3015.79 |
| 127 |
|
|
c * 4.5,3.2,5.1,14.0,20.8,12.6,9.8,3.6,4.0,7.1,5.9,4.7, 3015.8 |
| 128 |
|
|
c * 4.3,4.8,7.0,4.4,3.6,6.7,13.0,14.6,27.1,10.2,2.0,3.4, 3015.81 |
| 129 |
|
|
c * 4.7,4.3,8.7,20.1,23.2,24.4,16.4,3.6,4.0,7.1,5.9,4.7, 3015.82 |
| 130 |
|
|
c * 4.3,4.8,7.0,4.4,3.6,9.3,29.5,19.7,39.4,17.6,3.4,4.8, 3015.83 |
| 131 |
|
|
c * 0.,0.,0.,6.9,18.5,23.8,15.7,3.9,4.0,7.2,5.9,4.7, 3015.84 |
| 132 |
|
|
c * 4.3,4.8,7.0,4.4,3.5,11.2,24.7,19.0,18.5,0.,0.,0., 3015.85 |
| 133 |
|
|
c * 7*0.,.1,1.1,6.3,5.5,4.3, 3015.86 |
| 134 |
|
|
c * 4.0,4.9,7.1,2.2,.5,7*0.,48*0. 3015.87 |
| 135 |
|
|
c & / |
| 136 |
|
|
c & ,242*0.,48*0./ |
| 137 |
|
|
c * ,48*0./ |
| 138 |
|
|
common/COMCLD/READGHG,PCLOUD |
| 139 |
|
|
integer PCLOUD |
| 140 |
|
|
DIMENSION DSG0(36) 3016. |
| 141 |
|
|
LOGICAL POLE,SKIPDI,SKIPIF,HPRNT,CONDL 3017. |
| 142 |
|
|
& ,INIRINST,BARINST,PRNT |
| 143 |
|
|
common/conprn/HPRNT,JPR,LPR |
| 144 |
|
|
DATA QUP,DSIGUP,CLH/3*0./ 3018. |
| 145 |
|
|
DATA RVAP/461.5/ 3019. |
| 146 |
|
|
DATA TF/273.16/,TI/233.16/,IFIRST/1/ 3020. |
| 147 |
|
|
dimension RHKP(LM0,jm0),RHNEW(JM0) |
| 148 |
|
|
QSAT(TM,PR)=.622*EXP(AXCONS+ELHX*BXCONS*(BYTF-1./TM))/PR 3021. |
| 149 |
|
|
QSA1(TM,PR)=.622*EXP(AXQSAT-BXQSAT/TM)/PR 3021.5 |
| 150 |
|
|
ERFCPI(XX)=.5-XX*(.548-XX*XX*(.139-.0171*XX*XX)) 3022. |
| 151 |
|
|
|
| 152 |
|
|
#if ( defined CPL_CHEM ) |
| 153 |
|
|
! |
| 154 |
|
|
! --- Formula for calculating the Henry's Law Constant |
| 155 |
|
|
! |
| 156 |
|
|
ehenry (AAA,BBB,TM) = AAA*exp(BBB*(1./TM - 0.0033557)) |
| 157 |
|
|
|
| 158 |
|
|
! |
| 159 |
|
|
! --- Formula for calculating ratio of aqueous to gaseous |
| 160 |
|
|
! R = Ha*R*T*L |
| 161 |
|
|
|
| 162 |
|
|
! 020196 |
| 163 |
|
|
|
| 164 |
|
|
raq2gas(ehenryx, TM, qqq) = max(0.0, |
| 165 |
|
|
& 8.2e-5*ehenryx*TM*qqq) |
| 166 |
|
|
! |
| 167 |
|
|
#endif |
| 168 |
|
|
|
| 169 |
|
|
C**** 3023. |
| 170 |
|
|
C**** FDATA 2 LAND COVERAGE (1) 3024. |
| 171 |
|
|
C**** 3025. |
| 172 |
|
|
C**** ODATA 2 RATIO OF LAND ICE COVERAGE TO LAND COVERAGE (1) 3026. |
| 173 |
|
|
C**** 3027. |
| 174 |
|
|
C**** GDATA 11 AGE OF SNOW (DAYS) 3028. |
| 175 |
|
|
C**** 3029. |
| 176 |
|
|
C**** COMPUTE GLOBAL PARAMETERS 3030. |
| 177 |
|
|
IDACC(1)=IDACC(1)+1 3031. |
| 178 |
|
|
IF (IFIRST.NE.1) GO TO 50 3032. |
| 179 |
|
|
SKIPDI=.TRUE. 3031.1 |
| 180 |
|
|
c SKIPDI=.FALSE. |
| 181 |
|
|
SKIPIF=.TRUE. 3031.2 |
| 182 |
|
|
c SKIPIF=.FALSE. |
| 183 |
|
|
INIRINST=.false. |
| 184 |
|
|
INIRINST=.true. |
| 185 |
|
|
BARINST=.false. |
| 186 |
|
|
BARINST=.true. |
| 187 |
|
|
JDIFTS=1 |
| 188 |
|
|
JDIFTN=JM |
| 189 |
|
|
LMDIFT=3 |
| 190 |
|
|
c LMDIFT=LM |
| 191 |
|
|
EDLET=1. |
| 192 |
|
|
EDLEQ=1. |
| 193 |
|
|
TWOPI=6.283185 |
| 194 |
|
|
c HPRNT=.FALSE. |
| 195 |
|
|
print *,' convection before condensation' |
| 196 |
|
|
print *,' PCLOUD=',PCLOUD |
| 197 |
|
|
print *,' RHNEW is a function of latitude' |
| 198 |
|
|
if(SKIPDI)then |
| 199 |
|
|
print *,' without vert. diff. for T and Q ' |
| 200 |
|
|
else |
| 201 |
|
|
print *,' vert. diff. for T and Q in',LMDIFT,' layers ' |
| 202 |
|
|
print *,' from ',LAT(JDIFTS)*360./TWOPI,' to ', |
| 203 |
|
|
* LAT(JDIFTN)*360./TWOPI |
| 204 |
|
|
print *,' EDLET=',EDLET,' EDLEQ=',EDLEQ |
| 205 |
|
|
endif |
| 206 |
|
|
if(SKIPIF)then |
| 207 |
|
|
print *,' without vert. diff. for U and V' |
| 208 |
|
|
else |
| 209 |
|
|
print *,' vert. diff. for U and V in 3 layers ' |
| 210 |
|
|
endif |
| 211 |
|
|
if(INIRINST)then |
| 212 |
|
|
print *,' with correction for SYMMETRIC INSTABILITY' |
| 213 |
|
|
else |
| 214 |
|
|
print *,' without correction for SYMMETRIC INSTABILITY' |
| 215 |
|
|
end if |
| 216 |
|
|
if(BARINST)then |
| 217 |
|
|
print *,' with correction for BAROTROPIC INSTABILITY' |
| 218 |
|
|
else |
| 219 |
|
|
print *,' without correction for BAROTROPIC INSTABILITY' |
| 220 |
|
|
end if |
| 221 |
|
|
IFIRST=0 3033. |
| 222 |
|
|
NTRACE=0 3033.1 |
| 223 |
|
|
JDAY00=JDAY-1 |
| 224 |
|
|
DTCNDS=NCNDS*DT 3034. |
| 225 |
|
|
RH0OLD=.80 3034.1 |
| 226 |
|
|
c RH0OLD=.65 |
| 227 |
|
|
RH0=0.9 |
| 228 |
|
|
RH45=0.8 |
| 229 |
|
|
RH0=0.925 ! 2359 |
| 230 |
|
|
RH45=0.875 ! 2359 |
| 231 |
|
|
print *,' RH0=',RH0,' RH45=',RH45 |
| 232 |
|
|
RHAV=0.5*(RH0+RH45) |
| 233 |
|
|
DRH=0.5*(RH0-RH45) |
| 234 |
|
|
do j = 1,jm0 |
| 235 |
|
|
|
| 236 |
|
|
rhrad = 3.14159*(-90.+4.*(j-1))/180. |
| 237 |
|
|
RHNEW(j) = RHAV+DRH*cos(4.*rhrad) |
| 238 |
|
|
|
| 239 |
|
|
do l=1,3 ! Low clouds |
| 240 |
|
|
RHKP(l,j)=0.8*RHNEW(j) ! 2352 |
| 241 |
|
|
RHKP(l,j)=0.825*RHNEW(j) ! 2353 |
| 242 |
|
|
RHKP(l,j)=0.85*RHNEW(j) ! 2354 |
| 243 |
|
|
RHKP(l,j)=0.875*RHNEW(j) ! 2357 |
| 244 |
|
|
RHKP(l,j)=0.9*RHNEW(j) ! 2358 |
| 245 |
|
|
RHKP(l,j)=0.925*RHNEW(j) ! 2367 |
| 246 |
|
|
#if ( !defined CLM ) |
| 247 |
|
|
RHKP(l,j)=0.95*RHNEW(j) ! 2905.06 |
| 248 |
|
|
RHKP(l,j)=0.9375*RHNEW(j) ! 2906.06 |
| 249 |
|
|
#endif |
| 250 |
|
|
enddo |
| 251 |
|
|
do l=4,6 ! Middle clouds |
| 252 |
|
|
! do l=4,5 ! Middle clouds 2355 |
| 253 |
|
|
RHKP(l,j)=0.9*RHNEW(j) ! 2352 |
| 254 |
|
|
RHKP(l,j)=0.875*RHNEW(j) ! 2358 |
| 255 |
|
|
RHKP(l,j)=0.925*RHNEW(j) ! 2366 |
| 256 |
|
|
RHKP(l,j)=0.95*RHNEW(j) ! 2367 |
| 257 |
|
|
enddo |
| 258 |
|
|
do l=7,9 ! High clouds |
| 259 |
|
|
! do l=6,9 ! High clouds 2355 |
| 260 |
|
|
RHKP(l,j)=0.9*RHNEW(j) ! 2352 |
| 261 |
|
|
RHKP(l,j)=0.925*RHNEW(j) ! 2353 |
| 262 |
|
|
RHKP(l,j)=0.95*RHNEW(j) ! 2354 |
| 263 |
|
|
RHKP(l,j)=0.975*RHNEW(j) ! 2357 |
| 264 |
|
|
RHKP(l,j)=0.985*RHNEW(j) ! 2358 |
| 265 |
|
|
#if ( !defined CLM ) |
| 266 |
|
|
RHKP(l,j)=0.99*RHNEW(j) ! 2905.06 |
| 267 |
|
|
RHKP(l,j)=0.995*RHNEW(j) ! 2906.06 |
| 268 |
|
|
#endif |
| 269 |
|
|
enddo |
| 270 |
|
|
do l=10,LM |
| 271 |
|
|
RHKP(l,j)=1.1 |
| 272 |
|
|
enddo |
| 273 |
|
|
enddo |
| 274 |
|
|
print *, ' RHNEW=',RHNEW |
| 275 |
|
|
print *, ' RHNEW for j=23,34,46' |
| 276 |
|
|
print '3x,3f10.4',RHNEW(23),RHNEW(34),RHNEW(46) |
| 277 |
|
|
print *, ' RHKP/RHNEW ' |
| 278 |
|
|
do l=lm,1,-1 |
| 279 |
|
|
print 'i3,2f10.4',l,SIG(L)*P(1,23)+PTOP,RHKP(l,23)/RHNEW(23) |
| 280 |
|
|
enddo |
| 281 |
|
|
CSCALE=.6 3034.3 |
| 282 |
|
|
IQ1=IM/4+1 3035. |
| 283 |
|
|
IQ2=IM/2+1 3036. |
| 284 |
|
|
SHA=RGAS/KAPA 3037. |
| 285 |
|
|
BXCONS=.622/RGAS 3038. |
| 286 |
|
|
AXCONS=DLOG(6.1071) 3039. |
| 287 |
|
|
CLHE=LHE/SHA 3040. |
| 288 |
|
|
BYTF=1./TF 3041. |
| 289 |
|
|
DTPERD=DTCNDS/SDAY 3042. |
| 290 |
|
|
AGESNX=1.-DTPERD/50. 3043. |
| 291 |
|
|
C**** PARAMETERS USED FOR CONVECTION 3044. |
| 292 |
|
|
print *,' RHMAX=',RHMAX |
| 293 |
|
|
RVX=0. 3045. |
| 294 |
|
|
BX=RHMAX/DTCNDS 3046. |
| 295 |
|
|
IMBY2=1 3047. |
| 296 |
|
|
NMAX=MIN(IMBY2,17) 3048. |
| 297 |
|
|
NMIN=MIN(IQ1,7) 3049. |
| 298 |
|
|
BYDELN=1./(NMAX+1-NMIN) 3050. |
| 299 |
|
|
SL1=0. 3051. |
| 300 |
|
|
SL4=0. 3052. |
| 301 |
|
|
DO 10 N=NMIN,NMAX 3053. |
| 302 |
|
|
! ALOGN=DLOG(FLOAT(N)) 3054. |
| 303 |
|
|
ALOGN=LOG(dble(N)) |
| 304 |
|
|
SL1=SL1+ALOGN 3055. |
| 305 |
|
|
10 SL4=SL4+ALOGN*ALOGN 3056. |
| 306 |
|
|
SL4=SL4-SL1*SL1*BYDELN 3057. |
| 307 |
|
|
SL1=SL1*BYDELN 3058. |
| 308 |
|
|
LMCMM1=LMCM-1 3059. |
| 309 |
|
|
DSG0(1)=DSIG(1) 3060. |
| 310 |
|
|
DO 40 L=1,LMM1 3061. |
| 311 |
|
|
WT=1./(L+1) 3062. |
| 312 |
|
|
40 DSG0(L+1)=(1.-WT)*DSG0(L)+WT*DSIG(L+1) 3063. |
| 313 |
|
|
50 IF(DOPK.NE.1.) GO TO 58 3064. |
| 314 |
|
|
C**** CALCULATE PK = P**KAPA 3065. |
| 315 |
|
|
DO 55 J=1,JM 3066. |
| 316 |
|
|
DO 55 I=1,IM 3067. |
| 317 |
|
|
SP=P(I,J) 3068. |
| 318 |
|
|
DO 55 L=1,LM 3069. |
| 319 |
|
|
PK(I,J,L)=EXPBYK(SIG(L)*SP+PTOP) 3070. |
| 320 |
|
|
55 TX(I,J,L)=T(I,J,L)*PK(I,J,L) 3070.1 |
| 321 |
|
|
DOPK=0. 3071. |
| 322 |
|
|
58 CONTINUE 3072. |
| 323 |
|
|
if(HPRNT)then |
| 324 |
|
|
print *,' condse 1' |
| 325 |
|
|
print *,' T(J,L)=',T(1,JPR,LPR),' Q(J,L)=',Q(1,JPR,LPR) |
| 326 |
|
|
print *,' V(J,L)=',V(1,JPR,LPR),' V(J+1,L)=',V(1,JPR+1,LPR) |
| 327 |
|
|
print *,' U(J,L)=',U(1,JPR,LPR),' U(J+1,L)=',U(1,JPR+1,LPR) |
| 328 |
|
|
endif |
| 329 |
|
|
C 3072.1 |
| 330 |
|
|
C DO INTERNAL FRICTION FIRST 3072.11 |
| 331 |
|
|
C 3072.12 |
| 332 |
|
|
IF (SKIPIF) GO TO 66 3072.13 |
| 333 |
|
|
FMU=2. 3072.14 |
| 334 |
|
|
FCOEF=GRAV*GRAV*FMU*DTCNDS/RGAS 3072.15 |
| 335 |
|
|
c DO 65 J=JDIF,JM-JDIF+2 3072.16 |
| 336 |
|
|
do 65 J=2,JM |
| 337 |
|
|
I=IM 3072.17 |
| 338 |
|
|
DO 65 IPINC=1,IM 3072.18 |
| 339 |
|
|
SP=.25*(P(I,J)+P(IPINC,J)+P(I,J-1)+P(IPINC,J-1)) 3072.19 |
| 340 |
|
|
FCOEF1=FCOEF/(SP*SP) 3072.2 |
| 341 |
|
|
UDN=U(I,J,1) 3072.21 |
| 342 |
|
|
VDN=V(I,J,1) 3072.22 |
| 343 |
|
|
TDN=.25*(TX(I,J,1)+TX(IPINC,J,1)+TX(I,J-1,1)+TX(IPINC,J-1,1)) 3072.23 |
| 344 |
|
|
c DO 60 L=2,LM 3072.24 |
| 345 |
|
|
DO 60 L=2,3 |
| 346 |
|
|
LM1=L-1 3072.25 |
| 347 |
|
|
UTP=U(I,J,L) 3072.26 |
| 348 |
|
|
VUP=V(I,J,L) 3072.27 |
| 349 |
|
|
TUP=.25*(TX(I,J,L)+TX(IPINC,J,L)+TX(I,J-1,L)+TX(IPINC,J-1,L)) 3072.28 |
| 350 |
|
|
PEUV=SIGE(L)*SP+PTOP 3072.29 |
| 351 |
|
|
RHO=PEUV/(RGAS*.5*(TUP+TDN)) 3072.3 |
| 352 |
|
|
TEMP=FCOEF1*(UTP-UDN)*RHO*RHO*RGAS/DSIGO(LM1) 3072.31 |
| 353 |
|
|
U(I,J,L)=U(I,J,L)-TEMP/DSIG(L) 3072.32 |
| 354 |
|
|
U(I,J,LM1)=U(I,J,LM1)+TEMP/DSIG(LM1) 3072.33 |
| 355 |
|
|
TEMP=FCOEF1*(VUP-VDN)*RHO*RHO*RGAS/DSIGO(LM1) 3072.34 |
| 356 |
|
|
V(I,J,L)=V(I,J,L)-TEMP/DSIG(L) 3072.35 |
| 357 |
|
|
V(I,J,LM1)=V(I,J,LM1)+TEMP/DSIG(LM1) 3072.36 |
| 358 |
|
|
UDN=UTP 3072.37 |
| 359 |
|
|
VDN=VUP 3072.38 |
| 360 |
|
|
60 TDN=TUP 3072.39 |
| 361 |
|
|
65 I=IPINC 3072.4 |
| 362 |
|
|
66 CONTINUE 3072.41 |
| 363 |
|
|
if(HPRNT)then |
| 364 |
|
|
print *,' condse 2' |
| 365 |
|
|
print *,' J=',JPR,' L=',LPR |
| 366 |
|
|
print *,' T(J,L)=',T(1,JPR,LPR),' Q(J,L)=',Q(1,JPR,LPR) |
| 367 |
|
|
print *,' V(J,L)=',V(1,JPR,LPR),' V(J+1,L)=',V(1,JPR+1,LPR) |
| 368 |
|
|
print *,' U(J,L)=',U(1,JPR,LPR),' U(J+1,L)=',U(1,JPR+1,LPR) |
| 369 |
|
|
endif |
| 370 |
|
|
C 3072.5 |
| 371 |
|
|
C PARA. SYMMETRIC INSTABILITY AND BAROTROPIC INSTABILITY 3072.51 |
| 372 |
|
|
C 3072.52 |
| 373 |
|
|
c JHALF=JM/2 3072.53 |
| 374 |
|
|
c JHAM1=JHALF-1 3072.54 |
| 375 |
|
|
c JHAP3=JHALF+3 3072.55 |
| 376 |
|
|
c JHAP2=JHALF+2 3072.56 |
| 377 |
|
|
JVHALF=JM/2+1 |
| 378 |
|
|
JBAND=4 |
| 379 |
|
|
if(JM.eq.46)JBAND=8 |
| 380 |
|
|
JIB=JVHALF-JBAND |
| 381 |
|
|
JIE=JVHALF+JBAND-1 |
| 382 |
|
|
JBB=JIB |
| 383 |
|
|
JBE=JIE+1 |
| 384 |
|
|
DO 168 NITER=1,3 3072.57 |
| 385 |
|
|
if(HPRNT)then |
| 386 |
|
|
print *,' condse 2.1 NITER=',NITER |
| 387 |
|
|
print *,' U(J,L)=',U(1,JPR,LPR),' U(J+1,L)=',U(1,JPR+1,LPR) |
| 388 |
|
|
endif |
| 389 |
|
|
if(INIRINST) then |
| 390 |
|
|
c DO 69 J=JHAM1,JHAP2 3072.58 |
| 391 |
|
|
DO 69 J=JIB,JIE |
| 392 |
|
|
FTEM=F(J)/DXYP(J) 3072.59 |
| 393 |
|
|
DO 69 L=1,LM 3072.6 |
| 394 |
|
|
DUDY=(U(1,J+1,L)*COSV(J+1)-U(1,J,L)*COSV(J))/DYP(J)/COSP(J) 3072.61 |
| 395 |
|
|
CRI=FTEM*(FTEM-DUDY) 3072.62 |
| 396 |
|
|
IF(CRI.GE.0.) GO TO 69 3072.63 |
| 397 |
|
|
if(HPRNT.and.(J.eq.JPR.or.J.eq.JPR-1))then |
| 398 |
|
|
print *,' TAU=',TAU,' J=',J,' L=',L,' NITER=',NITER,' f=',FTEM |
| 399 |
|
|
print *,' COSV(J)=',COSV(J),' COSV(J+1)=',COSV(J+1) |
| 400 |
|
|
print *,' DYP(J)=',DYP(J),' COSP(J)=',COSP(J) |
| 401 |
|
|
print *,' f-dudy=',FTEM-DUDY,' (f-dudy)/f',(FTEM-DUDY)/FTEM |
| 402 |
|
|
print *,' U(J,L)=',U(1,J,L),' U(J+1,L)=',U(1,J+1,L) |
| 403 |
|
|
endif |
| 404 |
|
|
USUM=U(1,J+1,L)*COSV(J+1)+U(1,J,L)*COSV(J) 3072.64 |
| 405 |
|
|
U(1,J+1,L)=.5*(FTEM*COSP(J)*DYP(J)+USUM)/COSV(J+1) 3072.65 |
| 406 |
|
|
U(1,J,L)=(USUM-U(1,J+1,L)*COSV(J+1))/COSV(J) 3072.66 |
| 407 |
|
|
if(HPRNT.and.(J.eq.JPR.or.J.eq.JPR-1))then |
| 408 |
|
|
print *,' USUM=',USUM |
| 409 |
|
|
print *,' U(J,L)=',U(1,J,L),' U(J+1,L)=',U(1,J+1,L) |
| 410 |
|
|
print *,' USUMN=',U(1,J+1,L)*COSV(J+1)+U(1,J,L)*COSV(J) |
| 411 |
|
|
endif |
| 412 |
|
|
69 CONTINUE 3072.67 |
| 413 |
|
|
end if ! INIRINST |
| 414 |
|
|
if(BARINST) then |
| 415 |
|
|
C BAROTROPIC INSTABILITY 3072.68 |
| 416 |
|
|
c DO 68 J=JHAM1,JHAP3 3072.69 |
| 417 |
|
|
DO 68 J=JBB,JBE |
| 418 |
|
|
BETA=(F(J)/DXYP(J)-F(J-1)/DXYP(J-1))/DYV(J) 3072.7 |
| 419 |
|
|
DO 68 L=1,LM 3072.73 |
| 420 |
|
|
PSI=BETA-(U(1,J+1,L)*COSV(J+1)-U(1,J,L)*COSV(J))/ 3072.74 |
| 421 |
|
|
* (DYP(J)*DYP(J)*COSP(J))+(U(1,J,L)*COSV(J)- 3072.75 |
| 422 |
|
|
* U(1,J-1,L)*COSV(J-1))/(DYP(J-1)*DYP(J-1)*COSP(J-1)) 3072.76 |
| 423 |
|
|
IF(PSI.GE.0.) GO TO 68 3072.77 |
| 424 |
|
|
if(HPRNT.and.(J.eq.JPR.or.J.eq.JPR-1.or.J.eq.JPR+1))then |
| 425 |
|
|
print *,' TAU=',TAU,' J=',J,' L=',L,'NITER=',NITER |
| 426 |
|
|
print *,' BETA=',BETA,' PSI=',PSI,' PSI/BETA=',PSI/BETA |
| 427 |
|
|
print *,' BETAP1=',BETAP1,' BETAM1=',BETAM1 |
| 428 |
|
|
print *,' U(J-1,L)=',U(1,J-1,L) |
| 429 |
|
|
print *,' U(J,L)=',U(1,J,L),' U(J+1,L)=',U(1,J+1,L) |
| 430 |
|
|
endif |
| 431 |
|
|
USUM=U(1,J,L)*COSV(J)+U(1,J+1,L)*COSV(J+1)+U(1,J-1,L)*COSV(J-1) 3072.86 |
| 432 |
|
|
IF ( J.NE.JM/2+1)THEN |
| 433 |
|
|
BJJ=1./COSP(J)/DYV(J) |
| 434 |
|
|
BJM1=1./COSP(J-1)/DYV(J) |
| 435 |
|
|
DJP1=COSV(J)*(BJJ+2.*BJM1)/(COSV(J+1)*(BJJ-BJM1)) |
| 436 |
|
|
CJP1=(BETA*DYV(J)-USUM*BJM1)/(COSV(J+1)*(BJJ-BJM1)) |
| 437 |
|
|
DJM1=COSV(J)*(BJM1+2.*BJJ)/(COSV(J-1)*(BJM1-BJJ)) |
| 438 |
|
|
CJM1=(BETA*DYV(J)-USUM*BJJ)/(COSV(J-1)*(BJM1-BJJ)) |
| 439 |
|
|
U(1,J,L)=(COSV(J+1)*DJP1*(U(1,J+1,L)-CJP1)+COSV(J)*U(1,J,L)+ |
| 440 |
|
|
* COSV(J-1)*DJM1*(U(1,J-1,L)-CJM1))/ |
| 441 |
|
|
* (COSV(J+1)*DJP1**2+COSV(J)+COSV(J-1)*DJM1**2) |
| 442 |
|
|
U(1,J+1,L)=DJP1*U(1,J,L)+CJP1 |
| 443 |
|
|
U(1,J-1,L)=DJM1*U(1,J,L)+CJM1 |
| 444 |
|
|
ELSE |
| 445 |
|
|
U(1,J,L)=(USUM-BETA*COSP(J)*DYV(J)**2)/(3.*COSV(J)) |
| 446 |
|
|
U(1,J+1,L)=1./COSV(J-1)*(USUM-COSV(J)*U(1,J,L)- |
| 447 |
|
|
* COSV(J-1)*(U(1,J-1,L)-U(1,J+1,L)))/ |
| 448 |
|
|
* (1.+COSV(J+1)/COSV(J-1)) |
| 449 |
|
|
U(1,J-1,L)=(USUM-COSV(J)*U(1,J,L)-COSV(J+1)*U(1,J+1,L))/ |
| 450 |
|
|
* COSV(J-1) |
| 451 |
|
|
ENDIF |
| 452 |
|
|
if(HPRNT.and.(J.eq.JPR.or.J.eq.JPR-1.or.J.eq.JPR+1))then |
| 453 |
|
|
print *,' TAU=',TAU,' J=',J,' L=',L,'NITER=',NITER |
| 454 |
|
|
print *,' USUM=',USUM |
| 455 |
|
|
print *,' COSV(J-1)=',COSV(J-1),' FUNM=',FUNM |
| 456 |
|
|
print *,' COSP(J)=',COSP(J),' COSP(J-1)=',COSP(J-1) |
| 457 |
|
|
print *,' DYV(J)=',DYV(J) |
| 458 |
|
|
print *,' U(J-1,L)=',U(1,J-1,L) |
| 459 |
|
|
print *,' U(J,L)=',U(1,J,L),' U(J+1,L)=',U(1,J+1,L) |
| 460 |
|
|
print *,' USUMN=',U(1,J,L)*COSV(J)+U(1,J+1,L)*COSV(J+1)+ |
| 461 |
|
|
* U(1,J-1,L)*COSV(J-1) |
| 462 |
|
|
endif |
| 463 |
|
|
68 CONTINUE 3072.96 |
| 464 |
|
|
if(HPRNT)then |
| 465 |
|
|
print *,' condse 2.2 NITER=',NITER |
| 466 |
|
|
print *,' U(J,L)=',U(1,JPR,LPR),' U(J+1,L)=',U(1,JPR+1,LPR) |
| 467 |
|
|
endif |
| 468 |
|
|
end if ! BARINST |
| 469 |
|
|
168 continue |
| 470 |
|
|
if(HPRNT)then |
| 471 |
|
|
print *,' condse 3' |
| 472 |
|
|
print *,' T(J,L)=',T(1,JPR,LPR),' Q(J,L)=',Q(1,JPR,LPR) |
| 473 |
|
|
print *,' V(J,L)=',V(1,JPR,LPR),' V(J+1,L)=',V(1,JPR+1,LPR) |
| 474 |
|
|
print *,' U(J,L)=',U(1,JPR,LPR),' U(J+1,L)=',U(1,JPR+1,LPR) |
| 475 |
|
|
endif |
| 476 |
|
|
C**** SAVE UC AND VC, AND ZERO OUT CLDSS AND CLDMC 3073. |
| 477 |
|
|
70 DO 75 L=1,LM 3074. |
| 478 |
|
|
DO 75 J=1,JM 3075. |
| 479 |
|
|
DO 75 I=1,IM 3076. |
| 480 |
|
|
UC(I,J,L)=U(I,J,L) 3077. |
| 481 |
|
|
VC(I,J,L)=V(I,J,L) 3078. |
| 482 |
|
|
CLDSS(I,J,L)=0. 3079. |
| 483 |
|
|
75 CLDMC(I,J,L)=0. 3080. |
| 484 |
|
|
IHOUR=1.5+TOFDAY 3081. |
| 485 |
|
|
C**** 3082. |
| 486 |
|
|
C**** MAIN J LOOP 3083. |
| 487 |
|
|
C**** 3084. |
| 488 |
|
|
DO 810 J=1,JM 3085. |
| 489 |
|
|
JHALF=JM/2 3085.5 |
| 490 |
|
|
COEKD=CKS 3085.6 |
| 491 |
|
|
IF(J.GT.JHALF) COEKD=CKN 3085.7 |
| 492 |
|
|
IF ((J-1)*(JM-J).NE.0) GO TO 90 3086. |
| 493 |
|
|
C**** CONDITIONS AT THE POLES 3087. |
| 494 |
|
|
POLE=.TRUE. 3088. |
| 495 |
|
|
IMAX=1 3089. |
| 496 |
|
|
IF(J.EQ.JM) GO TO 80 3090. |
| 497 |
|
|
JP=2 3091. |
| 498 |
|
|
JVPO=2 3092. |
| 499 |
|
|
RAPO=2.*RAPVN(1) 3093. |
| 500 |
|
|
RA(1)=RAPO |
| 501 |
|
|
GO TO 160 3094. |
| 502 |
|
|
80 JP=JMM1 3095. |
| 503 |
|
|
JVPO=JM 3096. |
| 504 |
|
|
RAPO=2.*RAPVS(JM) 3097. |
| 505 |
|
|
RA(1)=RAPO |
| 506 |
|
|
GO TO 160 3098. |
| 507 |
|
|
C**** CONDITIONS AT NON-POLAR POINTS 3099. |
| 508 |
|
|
90 POLE=.FALSE. 3100. |
| 509 |
|
|
JP=J 3101. |
| 510 |
|
|
IMAX=IM 3102. |
| 511 |
|
|
DO 100 K=1,2 3103. |
| 512 |
|
|
RA(K)=RAPVS(J) 3104. |
| 513 |
|
|
100 RA(K+2)=RAPVN(J) 3105. |
| 514 |
|
|
C**** STANDARD DEVIATION FOR TEMPERATURE 3106. |
| 515 |
|
|
160 DO 150 L=1,LM 3107. |
| 516 |
|
|
TVAR=0. 3108. |
| 517 |
|
|
SUMT=0. 3109. |
| 518 |
|
|
PKJ=0. 3110. |
| 519 |
|
|
DO 110 I=1,IM 3111. |
| 520 |
|
|
PKJ=PKJ+PK(I,JP,L) 3112. |
| 521 |
|
|
110 SUMT=SUMT+T(I,JP,L) 3113. |
| 522 |
|
|
IF(KM.EQ.1) GO TO 149 3113.5 |
| 523 |
|
|
DO 120 I=1,IM 3114. |
| 524 |
|
|
TDEV=T(I,JP,L)-SUMT/FIM 3115. |
| 525 |
|
|
X(I)=TDEV 3116. |
| 526 |
|
|
120 TVAR=TVAR+TDEV*TDEV 3117. |
| 527 |
|
|
TVAR=TVAR/FIM 3118. |
| 528 |
|
|
c CALL FRTR(X) 3119. |
| 529 |
|
|
SL2=0. 3120. |
| 530 |
|
|
SL3=0. 3121. |
| 531 |
|
|
DO 130 N=NMIN,NMAX 3122. |
| 532 |
|
|
c ALOGA=DLOG(X(N)+1.E-20) 3123. |
| 533 |
|
|
ALOGA=LOG(X(N)+1.E-20) |
| 534 |
|
|
SL2=SL2+ALOGA 3124. |
| 535 |
|
|
FN=N |
| 536 |
|
|
130 SL3=SL3+ALOGA*LOG(FN) |
| 537 |
|
|
c 130 SL3=SL3+ALOGA*DLOG(FLOAT(N)) 3125. |
| 538 |
|
|
SLOPE=(SL1*SL2-SL3)/SL4 3126. |
| 539 |
|
|
IF (SLOPE.LT.1.67) SLOPE=1.67 3127. |
| 540 |
|
|
IF (SLOPE.GT.3.) SLOPE=3. 3128. |
| 541 |
|
|
SUMXN=0. 3129. |
| 542 |
|
|
DO 140 N=1,IMBY2 3130. |
| 543 |
|
|
140 SUMXN=SUMXN+X(N) 3131. |
| 544 |
|
|
SUMAMK=0. 3132. |
| 545 |
|
|
DO 145 N=NMIN,NMAX 3133. |
| 546 |
|
|
145 SUMAMK=SUMAMK+X(N)*(N**SLOPE) 3134. |
| 547 |
|
|
SLOPM1=SLOPE-1. 3135. |
| 548 |
|
|
XEPE=2.*SUMAMK*BYDELN/((SUMXN+1.E-20)*SLOPM1*(IQ2**SLOPM1)) 3136. |
| 549 |
|
|
149 SIGMA1(L)=1.4142*SQRT(TPRIM2(JP,L))*PKJ/FIM 3137. |
| 550 |
|
|
SIGMA2(L)=SIGMA1(L) 3137.1 |
| 551 |
|
|
! SIGMA2(L)=2.*PKJ/FIM |
| 552 |
|
|
150 CONTINUE 3138. |
| 553 |
|
|
C**** 3139. |
| 554 |
|
|
C**** MAIN I LOOP 3140. |
| 555 |
|
|
C**** 3141. |
| 556 |
|
|
IM1=IM 3142. |
| 557 |
|
|
DO 700 I=1,IMAX 3143. |
| 558 |
|
|
JR=J |
| 559 |
|
|
C**** 3145. |
| 560 |
|
|
C**** SET UP VERTICAL ARRAYS, OMITTING THE J AND I SUBSCRIPTS 3146. |
| 561 |
|
|
C**** 3147. |
| 562 |
|
|
PLAND=FDATA(I,J,2) 3148. |
| 563 |
|
|
PWATER=1.-PLAND |
| 564 |
|
|
POICE=ODATA(I,J,2)*(1.-PLAND) 3149. |
| 565 |
|
|
POCEAN=(1.-PLAND)-POICE 3150. |
| 566 |
|
|
if(POCEAN.LE.1.E-5)then |
| 567 |
|
|
POCEAN=0. |
| 568 |
|
|
POICE=PWATER |
| 569 |
|
|
endif |
| 570 |
|
|
! 07/22/2005 |
| 571 |
|
|
if (pland.lt.1.0)then |
| 572 |
|
|
PRLAND=prlnd2total(j,mndriver) |
| 573 |
|
|
PROCEAN=(1.-pland*prlnd2total(j,mndriver)) |
| 574 |
|
|
& /(1.-pland) |
| 575 |
|
|
else |
| 576 |
|
|
PRLAND=1.0 |
| 577 |
|
|
PROCEAN=0.0 |
| 578 |
|
|
endif |
| 579 |
|
|
! |
| 580 |
|
|
C**** PRESSURES, AND PRESSURE TO THE KAPA 3151. |
| 581 |
|
|
SP=P(I,J) 3152. |
| 582 |
|
|
DO 170 L=1,LM 3153. |
| 583 |
|
|
PL(L)=SIG(L)*SP+PTOP 3154. |
| 584 |
|
|
PLK(L)=PK(I,J,L) 3155. |
| 585 |
|
|
C**** TEMPERATURES 3156. |
| 586 |
|
|
TH(L)=T(I,J,L) 3157. |
| 587 |
|
|
TL(L)=TH(L)*PLK(L) 3158. |
| 588 |
|
|
QL(L)=Q(I,J,L) 3158.1 |
| 589 |
|
|
TSAV(L)=TL(L) |
| 590 |
|
|
QSAV(L)=QL(L) |
| 591 |
|
|
|
| 592 |
|
|
#if ( defined CPL_CHEM ) |
| 593 |
|
|
! |
| 594 |
|
|
xcfc11(l)=cfc11(i,j,l) |
| 595 |
|
|
xcfc12(l)=cfc12(i,j,l) |
| 596 |
|
|
xxn2o (l)=xn2o (i,j,l) |
| 597 |
|
|
xo3 (l)=o3 (i,j,l) |
| 598 |
|
|
xco (l)=co (i,j,l) |
| 599 |
|
|
xzco2 (l)=zco2 (i,j,l) |
| 600 |
|
|
xxno (l)=xno (i,j,l) |
| 601 |
|
|
xxno2 (l)=xno2 (i,j,l) |
| 602 |
|
|
xxn2o5(l)=xn2o5(i,j,l) |
| 603 |
|
|
xhno3 (l)=hno3 (i,j,l) |
| 604 |
|
|
xch4 (l)=ch4 (i,j,l) |
| 605 |
|
|
xch2o (l)=ch2o (i,j,l) |
| 606 |
|
|
xso2 (l)=so2 (i,j,l) |
| 607 |
|
|
xh2so4(l)=h2so4(i,j,l) |
| 608 |
|
|
c 062295 |
| 609 |
|
|
xh2o2 (l)=h2o2 (i,j,l) |
| 610 |
|
|
|
| 611 |
|
|
! === if hfc, pfc, and sf6 are included: |
| 612 |
|
|
#ifdef INC_3GASES |
| 613 |
|
|
! === 032698 |
| 614 |
|
|
xhfc134a(l) = hfc134a(i,j,l) |
| 615 |
|
|
xpfc (l) = pfc(i,j,l) |
| 616 |
|
|
xsf6 (l) = sf6(i,j,l) |
| 617 |
|
|
! === |
| 618 |
|
|
#endif |
| 619 |
|
|
|
| 620 |
|
|
xbc (l) = bcarbon(i,j,l) |
| 621 |
|
|
xoc (l) = ocarbon(i,j,l) |
| 622 |
|
|
! |
| 623 |
|
|
#endif |
| 624 |
|
|
|
| 625 |
|
|
170 CONTINUE |
| 626 |
|
|
if(HPRNT)then |
| 627 |
|
|
print *,' condse after 170 J=',J |
| 628 |
|
|
print *,' SP=',SP |
| 629 |
|
|
print *,(TH(L),L=1,LM) |
| 630 |
|
|
print *,(QL(L),L=1,LM) |
| 631 |
|
|
endif |
| 632 |
|
|
C 3158.11 |
| 633 |
|
|
C DO VERTICAL HEAT AND MOISTURE DIFFUSION FIRST 3158.12 |
| 634 |
|
|
C 3158.13 |
| 635 |
|
|
IF (SKIPDI) GO TO 195 3158.14 |
| 636 |
|
|
IF(J.LT.JDIFTS.OR.J.GT.JDIFTN) GO TO 195 |
| 637 |
|
|
DO 190 LM1=2,LMDIFT 3158.15 |
| 638 |
|
|
L=LM1-1 3158.16 |
| 639 |
|
|
DTETA=(TH(LM1)-TH(L))*(PLK(LM1)+PLK(L))*.5 3158.17 |
| 640 |
|
|
DZUP=SP*DSIG(LM1)*RGAS*TL(LM1)/(PL(LM1)*GRAV) 3158.18 |
| 641 |
|
|
DZDN=SP*DSIG(L)*RGAS*TL(L)/(PL(L)*GRAV) 3158.19 |
| 642 |
|
|
c EDLE=2. 3158.2 |
| 643 |
|
|
TEMP=DTCNDS*(DSIG(LM1)+DSIG(L))/(DZUP+DZDN)**2. 3158.21 |
| 644 |
|
|
FLE=-2.*EDLET*DTETA*TEMP 3158.22 |
| 645 |
|
|
TL(LM1)=TL(LM1)+FLE/DSIG(LM1) 3158.23 |
| 646 |
|
|
TL(L)=TL(L)-FLE/DSIG(L) 3158.24 |
| 647 |
|
|
TH(LM1)=TL(LM1)/PLK(LM1) 3158.25 |
| 648 |
|
|
TH(L)=TL(L)/PLK(L) 3158.26 |
| 649 |
|
|
DSH=QL(LM1)-QL(L) 3158.27 |
| 650 |
|
|
ELE=-2.*EDLEQ*DSH*TEMP 3158.28 |
| 651 |
|
|
QL(LM1)=QL(LM1)+ELE/DSIG(LM1) 3158.29 |
| 652 |
|
|
QL(L)=QL(L)-ELE/DSIG(L) 3158.3 |
| 653 |
|
|
|
| 654 |
|
|
#if ( defined CPL_CHEM ) |
| 655 |
|
|
! |
| 656 |
|
|
xxx = -2.0*temp |
| 657 |
|
|
xxm1= xxx/dsig(LM1) |
| 658 |
|
|
xxL = xxx/dsig(L) |
| 659 |
|
|
|
| 660 |
|
|
ele = (xcfc11(lm1)-xcfc11(l)) |
| 661 |
|
|
xcfc11(lm1)=xcfc11(lm1)+ele*xxm1 |
| 662 |
|
|
xcfc11(l) =xcfc11(l) -ele*xxL |
| 663 |
|
|
|
| 664 |
|
|
ele = (xcfc12(lm1)-xcfc12(l)) |
| 665 |
|
|
xcfc12(lm1)=xcfc12(lm1)+ele*xxm1 |
| 666 |
|
|
xcfc12(l) =xcfc12(l) -ele*xxL |
| 667 |
|
|
|
| 668 |
|
|
ele = (xxn2o (lm1)-xxn2o (l)) |
| 669 |
|
|
xxn2o (lm1)=xxn2o (lm1)+ele*xxm1 |
| 670 |
|
|
xxn2o (l) =xxn2o (l) -ele*xxL |
| 671 |
|
|
|
| 672 |
|
|
ele = (xo3 (lm1)-xo3 (l)) |
| 673 |
|
|
xo3 (lm1)=xo3 (lm1)+ele*xxm1 |
| 674 |
|
|
xo3 (l) =xo3 (l) -ele*xxL |
| 675 |
|
|
|
| 676 |
|
|
ele = (xco (lm1)-xco (l)) |
| 677 |
|
|
xco (lm1)=xco (lm1)+ele*xxm1 |
| 678 |
|
|
xco (l) =xco (l) -ele*xxL |
| 679 |
|
|
|
| 680 |
|
|
ele = (xzco2 (lm1)-xzco2 (l)) |
| 681 |
|
|
xzco2 (lm1)=xzco2 (lm1)+ele*xxm1 |
| 682 |
|
|
xzco2 (l) =xzco2 (l) -ele*xxL |
| 683 |
|
|
|
| 684 |
|
|
ele = (xxno (lm1)-xxno (l)) |
| 685 |
|
|
xxno (lm1)=xxno (lm1)+ele*xxm1 |
| 686 |
|
|
xxno (l) =xxno (l) -ele*xxL |
| 687 |
|
|
|
| 688 |
|
|
ele = (xxno2 (lm1)-xxno2 (l)) |
| 689 |
|
|
xxno2 (lm1)=xxno2 (lm1)+ele*xxm1 |
| 690 |
|
|
xxno2 (l) =xxno2 (l) -ele*xxL |
| 691 |
|
|
|
| 692 |
|
|
ele = (xxn2o5(lm1)-xxn2o5(l)) |
| 693 |
|
|
xxn2o5(lm1)=xxn2o5(lm1)+ele*xxm1 |
| 694 |
|
|
xxn2o5(l) =xxn2o5(l) -ele*xxL |
| 695 |
|
|
|
| 696 |
|
|
ele = (xhno3 (lm1)-xhno3 (l)) |
| 697 |
|
|
xhno3 (lm1)=xhno3 (lm1)+ele*xxm1 |
| 698 |
|
|
xhno3 (l) =xhno3 (l) -ele*xxL |
| 699 |
|
|
|
| 700 |
|
|
ele = (xch4 (lm1)-xch4 (l)) |
| 701 |
|
|
xch4 (lm1)=xch4 (lm1)+ele*xxm1 |
| 702 |
|
|
xch4 (l) =xch4 (l) -ele*xxL |
| 703 |
|
|
|
| 704 |
|
|
ele = (xch2o (lm1)-xch2o (l)) |
| 705 |
|
|
xch2o (lm1)=xch2o (lm1)+ele*xxm1 |
| 706 |
|
|
xch2o (l) =xch2o (l) -ele*xxL |
| 707 |
|
|
|
| 708 |
|
|
ele = (xso2 (lm1)-xso2 (l)) |
| 709 |
|
|
xso2 (lm1)=xso2 (lm1)+ele*xxm1 |
| 710 |
|
|
xso2 (l) =xso2 (l) -ele*xxL |
| 711 |
|
|
|
| 712 |
|
|
ele = (xh2so4(lm1)-xh2so4(l)) |
| 713 |
|
|
xh2so4(lm1)=xh2so4(lm1)+ele*xxm1 |
| 714 |
|
|
xh2so4(l) =xh2so4(l) -ele*xxL |
| 715 |
|
|
|
| 716 |
|
|
! === if hfc, pfc, and sf6 are included: |
| 717 |
|
|
#ifdef INC_3GASES |
| 718 |
|
|
! === 032698 |
| 719 |
|
|
ele = (xhfc134a(lm1)-xhfc134a(l)) |
| 720 |
|
|
xhfc134a(lm1)=xhfc134a(lm1)+ele*xxm1 |
| 721 |
|
|
xhfc134a(l) =xhfc134a(l) -ele*xxL |
| 722 |
|
|
|
| 723 |
|
|
ele = (xpfc(lm1)-xpfc(l)) |
| 724 |
|
|
xpfc(lm1)=xpfc(lm1)+ele*xxm1 |
| 725 |
|
|
xpfc(l) =xpfc(l) -ele*xxL |
| 726 |
|
|
|
| 727 |
|
|
ele = (xsf6(lm1)-xsf6(l)) |
| 728 |
|
|
xsf6(lm1)=xsf6(lm1)+ele*xxm1 |
| 729 |
|
|
xsf6(l) =xsf6(l) -ele*xxL |
| 730 |
|
|
! === |
| 731 |
|
|
#endif |
| 732 |
|
|
|
| 733 |
|
|
ele = (xbc(lm1)-xbc(l)) |
| 734 |
|
|
xbc(lm1)=xbc(lm1)+ele*xxm1 |
| 735 |
|
|
xbc(l) =xbc(l) -ele*xxL |
| 736 |
|
|
|
| 737 |
|
|
ele = (xoc(lm1)-xoc(l)) |
| 738 |
|
|
xoc(lm1)=xoc(lm1)+ele*xxm1 |
| 739 |
|
|
xoc(l) =xoc(l) -ele*xxL |
| 740 |
|
|
|
| 741 |
|
|
c 062295 |
| 742 |
|
|
c ele = (xh2o2(lm1)-xh2o2(l)) |
| 743 |
|
|
c xh2o2(lm1)=xh2o2(lm1)+ele*xxm1 |
| 744 |
|
|
c xh2o2(l) =xh2o2(l) -ele*xxL |
| 745 |
|
|
|
| 746 |
|
|
! |
| 747 |
|
|
#endif |
| 748 |
|
|
|
| 749 |
|
|
190 CONTINUE |
| 750 |
|
|
c DO 181 L=1,LM |
| 751 |
|
|
c AJL(J,L,55)=AJL(J,L,55)+(TL(L)-TSAV(L))*SP |
| 752 |
|
|
c AJL(J,L,56)=AJL(J,L,56)+(QL(L)-QSAV(L))*SP |
| 753 |
|
|
c 181 CONTINUE |
| 754 |
|
|
195 CONTINUE 3158.31 |
| 755 |
|
|
c CONDL=.true. |
| 756 |
|
|
c 824 if(CONDL) go to 871 |
| 757 |
|
|
DO 180 L=1,LM 3158.32 |
| 758 |
|
|
TSAV(L) =TL(L) 3158.5 |
| 759 |
|
|
QSAV(L)=QL(L) |
| 760 |
|
|
AJ13(L)=0. 3159. |
| 761 |
|
|
AJ50(L)=0. 3160. |
| 762 |
|
|
C**** MOISTURE (SPECIFIC HUMIDITY) 3161. |
| 763 |
|
|
QL(L)=QL(L) 3162. |
| 764 |
|
|
XCD(L)=0. 3163. |
| 765 |
|
|
DFMX(L)=0. 3164. |
| 766 |
|
|
TO(L)=TL(L) 3165. |
| 767 |
|
|
QO(L)=QL(L) 3166. |
| 768 |
|
|
CXCD(L)=0. 3167. |
| 769 |
|
|
180 CONTINUE 3168. |
| 770 |
|
|
C**** INDICES FOR WINDS 3169. |
| 771 |
|
|
ID(1)=I+(J-1)*IM 3172. |
| 772 |
|
|
ID(2)=ID(1)+IM*JM*LM 3173. |
| 773 |
|
|
ID(3)=I+J*IM 3176. |
| 774 |
|
|
ID(4)=ID(3)+IM*JM*LM 3177. |
| 775 |
|
|
C**** DETERMINE LATENT HEAT OF EVAPORATION OR SUBLIMATION 3178. |
| 776 |
|
|
TPREC(I,J)=TL(1)-TF 3179. |
| 777 |
|
|
ELHX=LHE 3179.5 |
| 778 |
|
|
IF (TPREC(I,J ).LT.0.) ELHX=LHS 3179.51 |
| 779 |
|
|
CLH=ELHX/SHA 3179.52 |
| 780 |
|
|
BXQSAT=ELHX*BXCONS 3179.53 |
| 781 |
|
|
AXQSAT=AXCONS+BXQSAT/TF 3179.54 |
| 782 |
|
|
GAMFAC=CLH*BXQSAT 3179.55 |
| 783 |
|
|
C**** 3180. |
| 784 |
|
|
C**** CONVECTION AND CLOUDS 3181. |
| 785 |
|
|
C**** 3182. |
| 786 |
|
|
HCNDNS=0. 3183. |
| 787 |
|
|
CMC=0. 3184. |
| 788 |
|
|
DEPTH=0. 3185. |
| 789 |
|
|
C**** INITIALIZE CONVECTION PARAMETERS 3186. |
| 790 |
|
|
QSURF=BLDATA(I,J,3) 3187. |
| 791 |
|
|
DO 225 L=1,LSSM 3188. |
| 792 |
|
|
AJ8(L)=0. 3189. |
| 793 |
|
|
SHSAT(L)=QSA1(TL(L),PL(L)) 3189.5 |
| 794 |
|
|
FMXA(L)=0. 3190. |
| 795 |
|
|
IF(POLE) GO TO 222 3191. |
| 796 |
|
|
DO 220 K=1,4 3192. |
| 797 |
|
|
220 UL(K,L)=UC(ID(K),1,L) 3193. |
| 798 |
|
|
GO TO 225 3194. |
| 799 |
|
|
222 DO 223 IPO=1,IM 3195. |
| 800 |
|
|
UPL(IPO,L)=UC(IPO,JVPO,L) 3196. |
| 801 |
|
|
223 VPL(IPO,L)=VC(IPO,JVPO,L) 3197. |
| 802 |
|
|
225 CONTINUE 3198. |
| 803 |
|
|
232 PRCPMC=0. 3199. |
| 804 |
|
|
DO 235 L=1,LMCMM1 3201. |
| 805 |
|
|
LCOND=L 3202. |
| 806 |
|
|
IF (SHSAT(LCOND).LT.QSURF) GO TO 238 3203. |
| 807 |
|
|
235 CONTINUE 3204. |
| 808 |
|
|
238 CONTINUE |
| 809 |
|
|
prnt=j.eq.35 |
| 810 |
|
|
prnt=.false. |
| 811 |
|
|
DO 370 LB=LCOND,LMCMM1 3205. |
| 812 |
|
|
DTCRIT=1.8 |
| 813 |
|
|
SUMTT=0. 3207. |
| 814 |
|
|
SUMQT=0. 3208. |
| 815 |
|
|
SUMFMX=0. 3209. |
| 816 |
|
|
EXPTUP=0. 3210. |
| 817 |
|
|
QTCOND=0. 3211. |
| 818 |
|
|
FCL=0. 3212. |
| 819 |
|
|
|
| 820 |
|
|
#if ( defined CPL_CHEM ) |
| 821 |
|
|
! |
| 822 |
|
|
sumcfc11=0.0 |
| 823 |
|
|
sumcfc12=0.0 |
| 824 |
|
|
sumxn2o =0.0 |
| 825 |
|
|
sumo3 =0.0 |
| 826 |
|
|
sumco =0.0 |
| 827 |
|
|
sumzco2 =0.0 |
| 828 |
|
|
sumxno =0.0 |
| 829 |
|
|
sumxno2 =0.0 |
| 830 |
|
|
sumxn2o5=0.0 |
| 831 |
|
|
sumhno3 =0.0 |
| 832 |
|
|
sumch4 =0.0 |
| 833 |
|
|
sumch2o =0.0 |
| 834 |
|
|
sumso2 =0.0 |
| 835 |
|
|
sumh2so4=0.0 |
| 836 |
|
|
|
| 837 |
|
|
#ifdef INC_3GASES |
| 838 |
|
|
! === 032698 |
| 839 |
|
|
sumhfc134a = 0.0 |
| 840 |
|
|
sumpfc = 0.0 |
| 841 |
|
|
sumsf6 = 0.0 |
| 842 |
|
|
#endif |
| 843 |
|
|
|
| 844 |
|
|
sumbc = 0.0 |
| 845 |
|
|
sumoc = 0.0 |
| 846 |
|
|
|
| 847 |
|
|
! 062295 |
| 848 |
|
|
! sumh2o2 =0.0 |
| 849 |
|
|
! |
| 850 |
|
|
#endif |
| 851 |
|
|
|
| 852 |
|
|
C**** DIFFERENCES IN STATIC ENERGY AND PRELIMINARY CLOUD TEMPERATURES 3213. |
| 853 |
|
|
DSE(LB)=0. 3214. |
| 854 |
|
|
DRYSTE=0. 3215. |
| 855 |
|
|
PDNK=PLK(LB) 3216. |
| 856 |
|
|
SIGT=SIGMA2(LB) 3217. |
| 857 |
|
|
TCLA(LB)=0. 3218. |
| 858 |
|
|
BYSIGT=1./(SIGT+1.E-10) 3219. |
| 859 |
|
|
if(prnt)then |
| 860 |
|
|
print *,' TAU=',TAU |
| 861 |
|
|
print *,' LB=',LB,SIGT,BYSIGT |
| 862 |
|
|
endif |
| 863 |
|
|
DO 240 L=LB,LMCMM1 3220. |
| 864 |
|
|
DPHI=(PHIT(J,L)-PHIT(J,LB))/GRAV 3221. |
| 865 |
|
|
BYTEM=BYSIGT 3222. |
| 866 |
|
|
C IF(DPHI.LT..5*(DWV(J)+DWV(J+1))*COEKD) BYTEM=1.E10 3223. |
| 867 |
|
|
PUPK=PLK(L+1) 3224. |
| 868 |
|
|
THEDGE=THBAR(TH(L+1),TH(L)) 3225. |
| 869 |
|
|
DRYSTE=DRYSTE+(TH(L+1)-THEDGE)*PUPK+(THEDGE-TH(L))*PDNK 3226. |
| 870 |
|
|
DSE(L+1)=(DRYSTE+CLH*(SHSAT(L+1)-SHL(LB)))*BYTEM 3227. |
| 871 |
|
|
IF (DSE(L+1).LT.DSE(L)) DSE(L+1)=DSE(L) 3228. |
| 872 |
|
|
! if(prnt)then |
| 873 |
|
|
! print 'i4,3f10.4',l,TH(L+1),THEDGE,TH(L) |
| 874 |
|
|
! print 'i4,2f10.4',l,DSE(L+1),DRYSTE*BYTEM |
| 875 |
|
|
! endif |
| 876 |
|
|
TCLA(L+1)=TCLA(L)-TH(L+1)*(PDNK-PUPK) 3229. |
| 877 |
|
|
240 PDNK=PUPK 3230. |
| 878 |
|
|
if(prnt)then |
| 879 |
|
|
do l=LB,LMCM |
| 880 |
|
|
print 'i4,3f10.4',l,SIG(l),TH(l)*PLK(L),DSE(L) |
| 881 |
|
|
enddo |
| 882 |
|
|
endif |
| 883 |
|
|
L=LMCMM1+2 3231. |
| 884 |
|
|
245 L=L-1 3232. |
| 885 |
|
|
C**** COMPARE STATIC ENERGIES TO FIND CRITICAL TEMPERATURE DEVIATION 3233. |
| 886 |
|
|
C**** AND RISING MASS (FMX) 3234. |
| 887 |
|
|
TLOLD=TL(L) 3235. |
| 888 |
|
|
SHLOLD=SHL(L) 3236. |
| 889 |
|
|
|
| 890 |
|
|
#if ( defined CPL_CHEM ) |
| 891 |
|
|
! |
| 892 |
|
|
cfc11old=xcfc11(l) |
| 893 |
|
|
cfc11cld=xcfc11(lb) |
| 894 |
|
|
|
| 895 |
|
|
cfc12old=xcfc12(l) |
| 896 |
|
|
cfc12cld=xcfc12(lb) |
| 897 |
|
|
|
| 898 |
|
|
xn2oold =xxn2o (l) |
| 899 |
|
|
xn2ocld =xxn2o (lb) |
| 900 |
|
|
|
| 901 |
|
|
o3old =xo3 (l) |
| 902 |
|
|
o3cld =xo3 (lb) |
| 903 |
|
|
|
| 904 |
|
|
coold =xco (l) |
| 905 |
|
|
cocld =xco (lb) |
| 906 |
|
|
|
| 907 |
|
|
zco2old =xzco2 (l) |
| 908 |
|
|
zco2cld =xzco2 (lb) |
| 909 |
|
|
|
| 910 |
|
|
xnoold =xxno (l) |
| 911 |
|
|
xnocld =xxno (lb) |
| 912 |
|
|
|
| 913 |
|
|
xno2old =xxno2 (l) |
| 914 |
|
|
xno2cld =xxno2 (lb) |
| 915 |
|
|
|
| 916 |
|
|
xn2o5old=xxn2o5(l) |
| 917 |
|
|
xn2o5cld=xxn2o5(lb) |
| 918 |
|
|
|
| 919 |
|
|
hno3old =xhno3 (l) |
| 920 |
|
|
hno3cld =xhno3 (lb) |
| 921 |
|
|
|
| 922 |
|
|
ch4old =xch4 (l) |
| 923 |
|
|
ch4cld =xch4 (lb) |
| 924 |
|
|
|
| 925 |
|
|
ch2oold =xch2o (l) |
| 926 |
|
|
ch2ocld =xch2o (lb) |
| 927 |
|
|
|
| 928 |
|
|
so2old =xso2 (l) |
| 929 |
|
|
so2cld =xso2 (lb) |
| 930 |
|
|
|
| 931 |
|
|
h2so4old=xh2so4(l) |
| 932 |
|
|
h2so4cld=xh2so4(lb) |
| 933 |
|
|
|
| 934 |
|
|
! === if hfc, pfc, and sf6 are included: |
| 935 |
|
|
#ifdef INC_3GASES |
| 936 |
|
|
! === 032698 |
| 937 |
|
|
hfc134aold=xhfc134a(l) |
| 938 |
|
|
hfc134acld=xhfc134a(lb) |
| 939 |
|
|
|
| 940 |
|
|
pfcold=xpfc(l) |
| 941 |
|
|
pfccld=xpfc(lb) |
| 942 |
|
|
|
| 943 |
|
|
sf6old=xsf6(l) |
| 944 |
|
|
sf6cld=xsf6(lb) |
| 945 |
|
|
! === |
| 946 |
|
|
#endif |
| 947 |
|
|
|
| 948 |
|
|
bcold =xbc(l) |
| 949 |
|
|
bccld =xbc(lb) |
| 950 |
|
|
|
| 951 |
|
|
ocold =xoc(l) |
| 952 |
|
|
occld =xoc(lb) |
| 953 |
|
|
|
| 954 |
|
|
c 062295 |
| 955 |
|
|
c h2o2old =xh2o2(l) |
| 956 |
|
|
c h2o2cld =xh2o2(lb) |
| 957 |
|
|
|
| 958 |
|
|
! |
| 959 |
|
|
#endif |
| 960 |
|
|
|
| 961 |
|
|
DIFFSE=DSE(L) 3237. |
| 962 |
|
|
FMX=0. 3238. |
| 963 |
|
|
QCOND=0. 3239. |
| 964 |
|
|
DSIGDN=DSIG(L) 3240. |
| 965 |
|
|
RM=DSIG(LB)/DSIGDN 3241. |
| 966 |
|
|
BYRM=1./RM 3242. |
| 967 |
|
|
CUTOFF=0. 3243. |
| 968 |
|
|
IF (RM.GT.1.01) CUTOFF=1.5+BYRM*(1.096*BYRM-2.596) 3244. |
| 969 |
|
|
C**** CUTOFF RESTRICTS MASS EXCHANGE TO 50% OF THE THINNER LAYER 3245. |
| 970 |
|
|
IF (DIFFSE.LT.CUTOFF) DIFFSE=CUTOFF 3246. |
| 971 |
|
|
if(prnt)then |
| 972 |
|
|
print *,'L=',L,DSE(l),DTCRIT |
| 973 |
|
|
endif |
| 974 |
|
|
IF (DTCRIT.LE.DIFFSE+.005) GO TO 269 3247. |
| 975 |
|
|
C FMX =.5-.5*ERF(DIFFSE)-SUMFMX 3248. |
| 976 |
|
|
FMX=ERFCPI(DIFFSE)-SUMFMX 3249. |
| 977 |
|
|
DTCRIT=DIFFSE 3250. |
| 978 |
|
|
if(prnt)then |
| 979 |
|
|
print *,'L=',l,' FMX=',FMX |
| 980 |
|
|
endif |
| 981 |
|
|
C**** DETERMINE CLOUD TEMPERATURE BEFORE CONDENSATION 3251. |
| 982 |
|
|
EXPTDN=EXP(-DTCRIT*DTCRIT) 3252. |
| 983 |
|
|
DSTEN=.2881*SIGT/FMX*(EXPTDN-EXPTUP) 3253. |
| 984 |
|
|
QWT=0. 3254. |
| 985 |
|
|
TWT=1.-QWT 3255. |
| 986 |
|
|
DTCL=(TL(LB)-TLOLD)+ TCLA(L) + DSTEN*TWT 3256. |
| 987 |
|
|
SUMTT=SUMTT+FMX*(TL(LB)+DSTEN*TWT) 3257. |
| 988 |
|
|
EXPTUP=EXPTDN 3258. |
| 989 |
|
|
|
| 990 |
|
|
#if ( defined CPL_CHEM ) |
| 991 |
|
|
! |
| 992 |
|
|
! --- Accumulated total amount of Tracers: |
| 993 |
|
|
! |
| 994 |
|
|
sumcfc11=sumcfc11+fmx*cfc11cld |
| 995 |
|
|
sumcfc12=sumcfc12+fmx*cfc12cld |
| 996 |
|
|
sumxn2o =sumxn2o +fmx*xn2ocld |
| 997 |
|
|
sumo3 =sumo3 +fmx*o3cld |
| 998 |
|
|
sumco =sumco +fmx*cocld |
| 999 |
|
|
sumzco2 =sumzco2 +fmx*zco2cld |
| 1000 |
|
|
sumxno =sumxno +fmx*xnocld |
| 1001 |
|
|
sumxno2 =sumxno2 +fmx*xno2cld |
| 1002 |
|
|
sumxn2o5=sumxn2o5+fmx*xn2o5cld |
| 1003 |
|
|
sumhno3 =sumhno3 +fmx*hno3cld |
| 1004 |
|
|
sumch4 =sumch4 +fmx*ch4cld |
| 1005 |
|
|
sumch2o =sumch2o +fmx*ch2ocld |
| 1006 |
|
|
sumso2 =sumso2 +fmx*so2cld |
| 1007 |
|
|
sumh2so4=sumh2so4+fmx*h2so4cld |
| 1008 |
|
|
|
| 1009 |
|
|
! === if hfc, pfc, and sf6 are included: |
| 1010 |
|
|
#ifdef INC_3GASES |
| 1011 |
|
|
! === 032698 |
| 1012 |
|
|
sumhfc134a = sumhfc134a + fmx*hfc134acld |
| 1013 |
|
|
sumpfc = sumpfc + fmx*pfccld |
| 1014 |
|
|
sumsf6 = sumsf6 + fmx*sf6cld |
| 1015 |
|
|
! === |
| 1016 |
|
|
#endif |
| 1017 |
|
|
|
| 1018 |
|
|
sumbc =sumbc + fmx*bccld |
| 1019 |
|
|
sumoc =sumoc + fmx*occld |
| 1020 |
|
|
|
| 1021 |
|
|
c 062295 |
| 1022 |
|
|
c sumh2o2 =sumh2o2+fmx*h2o2cld |
| 1023 |
|
|
c |
| 1024 |
|
|
! |
| 1025 |
|
|
#endif |
| 1026 |
|
|
|
| 1027 |
|
|
C**** FIND CONDENSATION AND CLOUD TEMPERATURE 3259. |
| 1028 |
|
|
QCLOUD=SHL(LB)+QWT*DSTEN/CLH 3260. |
| 1029 |
|
|
SUMQT=SUMQT+FMX*QCLOUD 3261. |
| 1030 |
|
|
TCL=TLOLD+DTCL 3262. |
| 1031 |
|
|
IF (QCLOUD.LE.QSA1(TCL,PL(L))) GO TO 266 3263. |
| 1032 |
|
|
|
| 1033 |
|
|
#if ( defined CPL_CHEM ) |
| 1034 |
|
|
! |
| 1035 |
|
|
dqtotal = 0.0 |
| 1036 |
|
|
! |
| 1037 |
|
|
#endif |
| 1038 |
|
|
|
| 1039 |
|
|
DO 265 N=1,3 3264. |
| 1040 |
|
|
QSATCL=QSA1(TCL,PL(L)) 3265. |
| 1041 |
|
|
GAMA=GAMFAC*QSATCL/(TCL*TCL) 3266. |
| 1042 |
|
|
DQCOND=(QCLOUD-QSATCL)/(1.+GAMA) 3267. |
| 1043 |
|
|
TCL=TCL+CLH*DQCOND 3268. |
| 1044 |
|
|
|
| 1045 |
|
|
#if ( defined CPL_CHEM ) |
| 1046 |
|
|
! |
| 1047 |
|
|
! --- 062195 |
| 1048 |
|
|
! |
| 1049 |
|
|
dqtotal = dqtotal + dqcond |
| 1050 |
|
|
! |
| 1051 |
|
|
#endif |
| 1052 |
|
|
|
| 1053 |
|
|
QCOND =QCOND +DQCOND 3269. |
| 1054 |
|
|
265 QCLOUD=QCLOUD-DQCOND 3270. |
| 1055 |
|
|
|
| 1056 |
|
|
#if ( defined CPL_CHEM ) |
| 1057 |
|
|
|
| 1058 |
|
|
! === convective precipitation |
| 1059 |
|
|
prec_cnv(l) = dqtotal |
| 1060 |
|
|
|
| 1061 |
|
|
! |
| 1062 |
|
|
! --- 062195: |
| 1063 |
|
|
! Calculate scavenging of gases by convection |
| 1064 |
|
|
! -- assume pH is around 5.0 |
| 1065 |
|
|
! |
| 1066 |
|
|
! let n(v) & s(VI) disolved almost completely |
| 1067 |
|
|
! by using a large Henry's Law constant: |
| 1068 |
|
|
! |
| 1069 |
|
|
! 020196: |
| 1070 |
|
|
|
| 1071 |
|
|
h2so4cld= h2so4cld |
| 1072 |
|
|
& /(1.0 + raq2gas(1.e10, tl(l), dqtotal) ) |
| 1073 |
|
|
|
| 1074 |
|
|
hno3cld = hno3cld |
| 1075 |
|
|
& /(1.0 + raq2gas(1.e10, tl(l), dqtotal) ) |
| 1076 |
|
|
|
| 1077 |
|
|
|
| 1078 |
|
|
ehenryx = ehenry (6.3e3,6412.34,tl(l)) |
| 1079 |
|
|
ch2ocld = ch2ocld |
| 1080 |
|
|
& /(1.0 + raq2gas(ehenryx, tl(l), dqtotal) ) |
| 1081 |
|
|
|
| 1082 |
|
|
ehenryx = ehenry (1.23e3,3120.00,tl(l)) |
| 1083 |
|
|
so2cld = so2cld |
| 1084 |
|
|
& /(1.0 + raq2gas(ehenryx, tl(l), dqtotal) ) |
| 1085 |
|
|
|
| 1086 |
|
|
! |
| 1087 |
|
|
! === Note: This calculation is not counted! |
| 1088 |
|
|
! Calculate H2O2 also: |
| 1089 |
|
|
|
| 1090 |
|
|
ehenryx = ehenry (7.45,6620.00,tl(l)) |
| 1091 |
|
|
xh2o2(l)= xh2o2(l) |
| 1092 |
|
|
& /(1.0 + raq2gas(ehenryx, tl(l), dqtotal) ) |
| 1093 |
|
|
|
| 1094 |
|
|
! |
| 1095 |
|
|
! === For radicals apply direct reduction to gaseous phase |
| 1096 |
|
|
! since convective transport is not involved |
| 1097 |
|
|
! Calculate HO, 062895: |
| 1098 |
|
|
|
| 1099 |
|
|
ehenryx = ehenry (25.0,5280.00,tl(l)) |
| 1100 |
|
|
ho(i,j,l)= ho(i,j,l) |
| 1101 |
|
|
& /(1.0 + raq2gas(ehenryx, tl(l), dqtotal) ) |
| 1102 |
|
|
|
| 1103 |
|
|
! Calculate HO2, 062895: |
| 1104 |
|
|
|
| 1105 |
|
|
ehenryx = ehenry (1.0e4,6640.00,tl(l)) !2nd reaction = 4.0 |
| 1106 |
|
|
ho2(i,j,l)= ho2(i,j,l) |
| 1107 |
|
|
& /(1.0 + raq2gas(ehenryx, tl(l), dqtotal) ) |
| 1108 |
|
|
|
| 1109 |
|
|
! |
| 1110 |
|
|
#endif |
| 1111 |
|
|
|
| 1112 |
|
|
DTCL=DTCL+CLH*QCOND 3271. |
| 1113 |
|
|
FCL=FCL+FMX 3272. |
| 1114 |
|
|
266 CONTINUE 3273. |
| 1115 |
|
|
269 SNWFMX=SUMFMX+FMX 3274. |
| 1116 |
|
|
AJ8(L-1)=AJ8(L-1)+SNWFMX*DSIG(LB) 3275. |
| 1117 |
|
|
C**** REEVAPORATE WATER CONDENSED IN HIGHER LAYERS 3276. |
| 1118 |
|
|
270 IF (SNWFMX.EQ.0.) GO TO 303 3277. |
| 1119 |
|
|
QCONDR=0. 3278. |
| 1120 |
|
|
IF (SUMFMX.EQ.0.) GO TO 280 3279. |
| 1121 |
|
|
QREEV=QTCOND/SUMFMX 3280. |
| 1122 |
|
|
TFALL=THUP*PLK(L) 3281. |
| 1123 |
|
|
TDN=TLOLD-CLH*QREEV 3282. |
| 1124 |
|
|
SHDN=SHLOLD+QREEV 3283. |
| 1125 |
|
|
IF (SHDN.LE.QSA1(TDN,PL(L)))GO TO 280 3284. |
| 1126 |
|
|
QCX=SHLOLD 3285. |
| 1127 |
|
|
TCX=TLOLD 3286. |
| 1128 |
|
|
QCONDR=QREEV 3287. |
| 1129 |
|
|
QREEV=0. 3288. |
| 1130 |
|
|
DO 275 N=1,3 3289. |
| 1131 |
|
|
QSATCL=QSA1(TCX,PL(L)) 3290. |
| 1132 |
|
|
GAMA=GAMFAC*QSATCL/(TCX*TCX) 3291. |
| 1133 |
|
|
DQREEV=(QSATCL-QCX)/(GAMA+1.) 3292. |
| 1134 |
|
|
TCX=TCX-CLH*DQREEV 3293. |
| 1135 |
|
|
QREEV=QREEV+DQREEV 3294. |
| 1136 |
|
|
QCX=QCX+DQREEV 3295. |
| 1137 |
|
|
275 CONTINUE 3296. |
| 1138 |
|
|
QCONDR=QCONDR-QREEV 3297. |
| 1139 |
|
|
280 QTCOND=QCOND*FMX+QCONDR*SUMFMX 3298. |
| 1140 |
|
|
C**** MIX T,Q,U,TC IN LAYER L 3299. |
| 1141 |
|
|
SHDN=SHLOLD 3300. |
| 1142 |
|
|
DSH=RM*(FMX*(QCLOUD-SHDN)+SUMFMX*(SHUP+QREEV -SHDN)) 3301. |
| 1143 |
|
|
SHL(L)=SHDN+DSH 3302. |
| 1144 |
|
|
|
| 1145 |
|
|
#if ( defined CPL_CHEM ) |
| 1146 |
|
|
! |
| 1147 |
|
|
xrm1 = rm*fmx |
| 1148 |
|
|
xrm2 = rm*sumfmx |
| 1149 |
|
|
|
| 1150 |
|
|
xcfc11(l)= |
| 1151 |
|
|
& xrm1*(cfc11cld-cfc11old) |
| 1152 |
|
|
& +xrm2*(cfc11up -cfc11old) |
| 1153 |
|
|
& +cfc11old |
| 1154 |
|
|
|
| 1155 |
|
|
xcfc12(l)= |
| 1156 |
|
|
& xrm1*(cfc12cld-cfc12old) |
| 1157 |
|
|
& +xrm2*(cfc12up -cfc12old) |
| 1158 |
|
|
& +cfc12old |
| 1159 |
|
|
|
| 1160 |
|
|
xxn2o(l)= |
| 1161 |
|
|
& xrm1*(xn2ocld-xn2oold) |
| 1162 |
|
|
& +xrm2*(xn2oup -xn2oold) |
| 1163 |
|
|
& +xn2oold |
| 1164 |
|
|
|
| 1165 |
|
|
xo3(l)= |
| 1166 |
|
|
& xrm1*(o3cld-o3old) |
| 1167 |
|
|
& +xrm2*(o3up -o3old) |
| 1168 |
|
|
& +o3old |
| 1169 |
|
|
|
| 1170 |
|
|
xco(l)= |
| 1171 |
|
|
& xrm1*(cocld-coold) |
| 1172 |
|
|
& +xrm2*(coup -coold) |
| 1173 |
|
|
& +coold |
| 1174 |
|
|
|
| 1175 |
|
|
xzco2(l)= |
| 1176 |
|
|
& xrm1*(zco2cld-zco2old) |
| 1177 |
|
|
& +xrm2*(zco2up -zco2old) |
| 1178 |
|
|
& +zco2old |
| 1179 |
|
|
|
| 1180 |
|
|
xxno(l)= |
| 1181 |
|
|
& xrm1*(xnocld-xnoold) |
| 1182 |
|
|
& +xrm2*(xnoup -xnoold) |
| 1183 |
|
|
& +xnoold |
| 1184 |
|
|
|
| 1185 |
|
|
xxno2(l)= |
| 1186 |
|
|
& xrm1*(xno2cld-xno2old) |
| 1187 |
|
|
& +xrm2*(xno2up -xno2old) |
| 1188 |
|
|
& +xno2old |
| 1189 |
|
|
|
| 1190 |
|
|
xxn2o5(l)= |
| 1191 |
|
|
& xrm1*(xn2o5cld-xn2o5old) |
| 1192 |
|
|
& +xrm2*(xn2o5up -xn2o5old) |
| 1193 |
|
|
& +xn2o5old |
| 1194 |
|
|
|
| 1195 |
|
|
xhno3(l)= |
| 1196 |
|
|
& xrm1*(hno3cld-hno3old) |
| 1197 |
|
|
& +xrm2*(hno3up -hno3old) |
| 1198 |
|
|
& +hno3old |
| 1199 |
|
|
|
| 1200 |
|
|
xch4(l)= |
| 1201 |
|
|
& xrm1*(ch4cld-ch4old) |
| 1202 |
|
|
& +xrm2*(ch4up -ch4old) |
| 1203 |
|
|
& +ch4old |
| 1204 |
|
|
|
| 1205 |
|
|
xch2o(l)= |
| 1206 |
|
|
& xrm1*(ch2ocld-ch2oold) |
| 1207 |
|
|
& +xrm2*(ch2oup -ch2oold) |
| 1208 |
|
|
& +ch2oold |
| 1209 |
|
|
|
| 1210 |
|
|
xso2(l)= |
| 1211 |
|
|
& xrm1*(so2cld-so2old) |
| 1212 |
|
|
& +xrm2*(so2up -so2old) |
| 1213 |
|
|
& +so2old |
| 1214 |
|
|
|
| 1215 |
|
|
xh2so4(l)= |
| 1216 |
|
|
& xrm1*(h2so4cld-h2so4old) |
| 1217 |
|
|
& +xrm2*(h2so4up -h2so4old) |
| 1218 |
|
|
& +h2so4old |
| 1219 |
|
|
|
| 1220 |
|
|
! === if hfc, pfc, and sf6 are included: |
| 1221 |
|
|
#ifdef INC_3GASES |
| 1222 |
|
|
! === 032698: |
| 1223 |
|
|
xhfc134a(l)= |
| 1224 |
|
|
& xrm1*(hfc134acld-hfc134aold) |
| 1225 |
|
|
& +xrm2*(hfc134aup -hfc134aold) |
| 1226 |
|
|
& +hfc134aold |
| 1227 |
|
|
|
| 1228 |
|
|
xpfc(l)= |
| 1229 |
|
|
& xrm1*(pfccld-pfcold) |
| 1230 |
|
|
& +xrm2*(pfcup -pfcold) |
| 1231 |
|
|
& +pfcold |
| 1232 |
|
|
|
| 1233 |
|
|
xsf6(l)= |
| 1234 |
|
|
& xrm1*(sf6cld-sf6old) |
| 1235 |
|
|
& +xrm2*(sf6up -sf6old) |
| 1236 |
|
|
& +sf6old |
| 1237 |
|
|
! === |
| 1238 |
|
|
#endif |
| 1239 |
|
|
|
| 1240 |
|
|
xbc(l)= |
| 1241 |
|
|
& xrm1*(bccld-bcold) |
| 1242 |
|
|
& +xrm2*(bcup -bcold) |
| 1243 |
|
|
& +bcold |
| 1244 |
|
|
|
| 1245 |
|
|
xoc(l)= |
| 1246 |
|
|
& xrm1*(occld-ocold) |
| 1247 |
|
|
& +xrm2*(ocup -ocold) |
| 1248 |
|
|
& +ocold |
| 1249 |
|
|
|
| 1250 |
|
|
c 062295 |
| 1251 |
|
|
c xh2o2(l)= |
| 1252 |
|
|
c & xrm1*(h2o2cld-h2o2old) |
| 1253 |
|
|
c & +xrm2*(h2o2up -h2o2old) |
| 1254 |
|
|
c & +h2o2old |
| 1255 |
|
|
|
| 1256 |
|
|
! |
| 1257 |
|
|
#endif |
| 1258 |
|
|
|
| 1259 |
|
|
THDN=TH(L) 3303. |
| 1260 |
|
|
DTL=RM*(FMX*DTCL+SUMFMX*(TFALL-TLOLD-CLH*QREEV)) 3304. |
| 1261 |
|
|
TL(L)=TLOLD+DTL 3305. |
| 1262 |
|
|
TH(L)=TL(L)/PLK(L) 3306. |
| 1263 |
|
|
SHSAT(L)=QSA1(TL(L),PL(L)) 3307. |
| 1264 |
|
|
IF(POLE) GO TO 287 3308. |
| 1265 |
|
|
DO 285 K=1,4 3309. |
| 1266 |
|
|
UDN =UL(K,L) 3310. |
| 1267 |
|
|
UL(K,L)=UL(K,L)+RM*RA(K)*(FMX*(UL(K,LB)-UDN)+SUMFMX*(UUP(K)-UDN)) 3311. |
| 1268 |
|
|
285 UUP(K)=UDN 3312. |
| 1269 |
|
|
GO TO 290 3313. |
| 1270 |
|
|
287 CONTINUE |
| 1271 |
|
|
DO 288 IPOLE=1,IM 3314. |
| 1272 |
|
|
UPDN=UPL(IPOLE,L) 3315. |
| 1273 |
|
|
VPDN=VPL(IPOLE,L) 3316. |
| 1274 |
|
|
UPL(IPOLE,L)=UPL(IPOLE,L)+RM*RA(1)*(FMX*(UPL(IPOLE,LB)-UPDN)+ 3317. |
| 1275 |
|
|
* SUMFMX*(UPUP(IPOLE)-UPDN)) 3318. |
| 1276 |
|
|
VPL(IPOLE,L)=VPL(IPOLE,L)+RM*RA(1)*(FMX*(VPL(IPOLE,LB)-VPDN)+ 3319. |
| 1277 |
|
|
* SUMFMX*(VPUP(IPOLE)-VPDN)) 3320. |
| 1278 |
|
|
UPUP(IPOLE)=UPDN 3321. |
| 1279 |
|
|
288 VPUP(IPOLE)=VPDN 3322. |
| 1280 |
|
|
290 IF(NTRACE.EQ.0) GO TO 295 3323. |
| 1281 |
|
|
DO 293 K=1,NTRACE 3324. |
| 1282 |
|
|
TCDN=SHL(L+K*39) 3325. |
| 1283 |
|
|
SHL(L+K*39)=TCDN+RM*(FMX*(SHL(LB+K*39)-TCDN)+SUMFMX* 3326. |
| 1284 |
|
|
* (TCUP(K)-TCDN)) 3327. |
| 1285 |
|
|
293 TCUP(K)=TCDN 3328. |
| 1286 |
|
|
295 CONTINUE 3329. |
| 1287 |
|
|
SUMFMX=SNWFMX 3330. |
| 1288 |
|
|
FMXA(L)=FMXA(L)+FCL*DSIG(LB) 3331. |
| 1289 |
|
|
CLDMC(I,J,L)=FMXA(L)*BX 3332. |
| 1290 |
|
|
IF (CLDMC(I,J,L).LT.0.) CLDMC(I,J,L)=0. |
| 1291 |
|
|
c IF (CLDMC(I,J,L).LT.0.005) CLDMC(I,J,L)=0.005 |
| 1292 |
|
|
IF (CLDMC(I,J,L).GT.1.) CLDMC(I,J,L)=1. 3333. |
| 1293 |
|
|
#if ( defined HR_DATA ) |
| 1294 |
|
|
if(L.le.4)then |
| 1295 |
|
|
cmcyzhr(L,J)=CLDMC(I,J,L) |
| 1296 |
|
|
endif |
| 1297 |
|
|
#endif |
| 1298 |
|
|
THUP=THDN 3334. |
| 1299 |
|
|
SHUP=SHDN 3335. |
| 1300 |
|
|
DSIGUP=DSIGDN 3336. |
| 1301 |
|
|
|
| 1302 |
|
|
#if ( defined CPL_CHEM ) |
| 1303 |
|
|
! |
| 1304 |
|
|
cfc11up = cfc11old |
| 1305 |
|
|
cfc12up = cfc12old |
| 1306 |
|
|
xn2oup = xn2oold |
| 1307 |
|
|
o3up = o3old |
| 1308 |
|
|
coup = coold |
| 1309 |
|
|
zco2up = zco2old |
| 1310 |
|
|
xnoup = xnoold |
| 1311 |
|
|
xno2up = xno2old |
| 1312 |
|
|
xn2o5up = xn2o5old |
| 1313 |
|
|
hno3up = hno3old |
| 1314 |
|
|
ch4up = ch4old |
| 1315 |
|
|
ch2oup = ch2oold |
| 1316 |
|
|
so2up = so2old |
| 1317 |
|
|
h2so4up = h2so4old |
| 1318 |
|
|
|
| 1319 |
|
|
! === if hfc, pfc, and sf6 are included: |
| 1320 |
|
|
#ifdef INC_3GASES |
| 1321 |
|
|
! === 032698 |
| 1322 |
|
|
hfc134aup = hfc134aold |
| 1323 |
|
|
pfcup = pfcold |
| 1324 |
|
|
sf6up = sf6old |
| 1325 |
|
|
! === |
| 1326 |
|
|
#endif |
| 1327 |
|
|
|
| 1328 |
|
|
bcup =bcold |
| 1329 |
|
|
ocup =ocold |
| 1330 |
|
|
|
| 1331 |
|
|
! 062295 |
| 1332 |
|
|
! h2o2up =h2o2old |
| 1333 |
|
|
! |
| 1334 |
|
|
#endif |
| 1335 |
|
|
|
| 1336 |
|
|
303 IF (L.GT.LB+1) GO TO 245 3337. |
| 1337 |
|
|
IF (L.EQ.LB) GO TO 355 3338. |
| 1338 |
|
|
L=LB 3339. |
| 1339 |
|
|
RM=1. 3340. |
| 1340 |
|
|
FMX=0. 3341. |
| 1341 |
|
|
FCL=0. 3342. |
| 1342 |
|
|
DSIGDN=DSIG(LB) 3343. |
| 1343 |
|
|
TLOLD = (TL(LB)-SUMTT)/(1.-SUMFMX) 3344. |
| 1344 |
|
|
SHLOLD=(SHL(LB)-SUMQT)/(1.-SUMFMX) 3345. |
| 1345 |
|
|
|
| 1346 |
|
|
#if ( defined CPL_CHEM ) |
| 1347 |
|
|
! |
| 1348 |
|
|
xhaha = 1./(1.-sumfmx) |
| 1349 |
|
|
cfc11old=(xcfc11(lb)-sumcfc11)*xhaha |
| 1350 |
|
|
cfc12old=(xcfc12(lb)-sumcfc12)*xhaha |
| 1351 |
|
|
xn2oold =(xxn2o(lb)-sumxn2o) *xhaha |
| 1352 |
|
|
o3old =(xo3(lb)-sumo3) *xhaha |
| 1353 |
|
|
coold =(xco(lb)-sumco) *xhaha |
| 1354 |
|
|
zco2old =(xzco2(lb)-sumzco2) *xhaha |
| 1355 |
|
|
xnoold =(xxno(lb)-sumxno) *xhaha |
| 1356 |
|
|
xno2old =(xxno2(lb)-sumxno2) *xhaha |
| 1357 |
|
|
xn2o5old=(xxn2o5(lb)-sumxn2o5)*xhaha |
| 1358 |
|
|
hno3old =(xhno3(lb)-sumhno3) *xhaha |
| 1359 |
|
|
ch4old =(xch4(lb)-sumch4) *xhaha |
| 1360 |
|
|
ch2oold =(xch2o(lb)-sumch2o) *xhaha |
| 1361 |
|
|
so2old =(xso2(lb)-sumso2) *xhaha |
| 1362 |
|
|
h2so4old=(xh2so4(lb)-sumh2so4)*xhaha |
| 1363 |
|
|
|
| 1364 |
|
|
! === if hfc, pfc, and sf6 are included: |
| 1365 |
|
|
#ifdef INC_3GASES |
| 1366 |
|
|
! === 032698 |
| 1367 |
|
|
hfc134aold = (xhfc134a(lb)-sumhfc134a) |
| 1368 |
|
|
& *xhaha |
| 1369 |
|
|
pfcold = (xpfc(lb)-sumpfc) |
| 1370 |
|
|
& *xhaha |
| 1371 |
|
|
sf6old = (xsf6(lb)-sumsf6) |
| 1372 |
|
|
& *xhaha |
| 1373 |
|
|
! === |
| 1374 |
|
|
#endif |
| 1375 |
|
|
|
| 1376 |
|
|
bcold =(xbc(lb)-sumbc) *xhaha |
| 1377 |
|
|
ocold =(xoc(lb)-sumoc) *xhaha |
| 1378 |
|
|
|
| 1379 |
|
|
c 062295 |
| 1380 |
|
|
c h2o2old =(xh2o2(lb)-sumh2o2) *xhaha |
| 1381 |
|
|
c |
| 1382 |
|
|
! |
| 1383 |
|
|
#endif |
| 1384 |
|
|
|
| 1385 |
|
|
GO TO 270 3346. |
| 1386 |
|
|
355 CONTINUE 3347. |
| 1387 |
|
|
PRCPMC=PRCPMC+QTCOND*DSIGDN*SP 3348. |
| 1388 |
|
|
370 CONTINUE 3349. |
| 1389 |
|
|
216 DO 215 L=1,LTM 3409. |
| 1390 |
|
|
DTL=TL(L)-TSAV(L) 3410. |
| 1391 |
|
|
HCNDNS=HCNDNS+DTL*DSIG(L) 3411. |
| 1392 |
|
|
AJL(J,L,13)=AJL(J,L,13)+DTL*SP 3412. |
| 1393 |
|
|
AJL(J,L,57)=AJL(J,L,57)+(QL(L)-QSAV(L))*SP |
| 1394 |
|
|
IF(J.GE.11.AND.J.LE.13) AIL(I,L,6)=AIL(I,L,6)+DTL*SP*DXYP(J) 3414. |
| 1395 |
|
|
AJL(J,L,8)=AJL(J,L,8)+AJ8(L)*SP 3415. |
| 1396 |
|
|
IF (POLE) GO TO 205 3416. |
| 1397 |
|
|
DO 200 K=1,4 3417. |
| 1398 |
|
|
200 U(ID(K),1,L)=U(ID(K),1,L)+(UL(K,L)-UC(ID(K),1,L)) 3418. |
| 1399 |
|
|
GO TO 215 3419. |
| 1400 |
|
|
205 DO 210 IPO=1,IM 3420. |
| 1401 |
|
|
U(IPO,JVPO,L)=U(IPO,JVPO,L)+(UPL(IPO,L)-UC(IPO,JVPO,L)) 3421. |
| 1402 |
|
|
210 V(IPO,JVPO,L)=V(IPO,JVPO,L)+(VPL(IPO,L)-VC(IPO,JVPO,L)) 3422. |
| 1403 |
|
|
215 CONTINUE 3423. |
| 1404 |
|
|
if(HPRNT)then |
| 1405 |
|
|
print *,' condse 4' |
| 1406 |
|
|
print *,' T(J,L)=',T(1,JPR,LPR),' Q(J,L)=',Q(1,JPR,LPR) |
| 1407 |
|
|
print *,' V(J,L)=',V(1,JPR,LPR),' V(J+1,L)=',V(1,JPR+1,LPR) |
| 1408 |
|
|
print *,' U(J,L)=',U(1,JPR,LPR),' U(J+1,L)=',U(1,JPR+1,LPR) |
| 1409 |
|
|
endif |
| 1410 |
|
|
do 873 L=1,LM |
| 1411 |
|
|
if(PCLOUD.eq.1)then |
| 1412 |
|
|
CLDMC(I,J,L)=CMDATA(J,L)*.01 3471.2 |
| 1413 |
|
|
elseif(PCLOUD.eq.6)then |
| 1414 |
|
|
CLDMC(I,J,L)=CLDMCT(J,L) |
| 1415 |
|
|
endif |
| 1416 |
|
|
873 continue |
| 1417 |
|
|
c go to 872 |
| 1418 |
|
|
871 CONTINUE |
| 1419 |
|
|
C**** 3424. |
| 1420 |
|
|
C**** LARGE SCALE PRECIPITATION 3425. |
| 1421 |
|
|
C**** 3426. |
| 1422 |
|
|
PRCPSS=0. 3427. |
| 1423 |
|
|
CSS=0. 3429. |
| 1424 |
|
|
DQUP=0. 3430. |
| 1425 |
|
|
ELHXUP=LHE 3431. |
| 1426 |
|
|
DO 304 LX=1,LM 3432. |
| 1427 |
|
|
L=LM+1-LX 3433. |
| 1428 |
|
|
TOLD=TL(L) 3434. |
| 1429 |
|
|
QOLD=QL(L) 3435. |
| 1430 |
|
|
ELHX= LHE 3436. |
| 1431 |
|
|
IF(TOLD.LT.TI) ELHX= LHS 3437. |
| 1432 |
|
|
IF (ELHXUP.EQ.LHS.AND.TOLD.LT.TF) ELHX=LHS 3438. |
| 1433 |
|
|
EX=DQUP*DSIGUP/DSIG(L) 3439. |
| 1434 |
|
|
TNEW=TOLD-CLH*EX 3440. |
| 1435 |
|
|
QNEW=QOLD+EX 3441. |
| 1436 |
|
|
DQUP=0. 3442. |
| 1437 |
|
|
QSATL=QSAT(TNEW,PL(L)) 3443. |
| 1438 |
|
|
ELHXUP=LHE 3444. |
| 1439 |
|
|
C**** DETERMINE THE CLOUD COVER 3445. |
| 1440 |
|
|
CC** IF (QNEW.LE.1.E-10) GO TO 300 3446. |
| 1441 |
|
|
RHLL=QNEW/QSATL 3446.1 |
| 1442 |
|
|
AJL(J,L,58)=AJL(J,L,58)+RHLL*SP |
| 1443 |
|
|
c AJL(J,L,59)=AJL(J,L,59)+(RHLL*SP)**2 |
| 1444 |
|
|
IF (QNEW.LE.1.E-10) GO TO 300 |
| 1445 |
|
|
RH0=RHKP(L,j) |
| 1446 |
|
|
if(HPRNT)then |
| 1447 |
|
|
if(L.eq.2)then |
| 1448 |
|
|
print *,' condse CLDSS TAU=',TAU |
| 1449 |
|
|
print *,TNEW,PL(L),QSATL |
| 1450 |
|
|
print *,' RHLL=',RHLL,' RH0=',RH0 |
| 1451 |
|
|
endif |
| 1452 |
|
|
endif |
| 1453 |
|
|
if(RHLL.gt.RH0)then |
| 1454 |
|
|
CLDSS(I,J,L)=(RHLL-RH0)/(1.-RH0) ! 2353.05 |
| 1455 |
|
|
! CLDSS(I,J,L)=((RHLL-RH0)/(1.-RH0) )**2 |
| 1456 |
|
|
else |
| 1457 |
|
|
CLDSS(I,J,L)=0. |
| 1458 |
|
|
endif |
| 1459 |
|
|
if(PCLOUD.eq.5)then |
| 1460 |
|
|
RH0=RH0OLD |
| 1461 |
|
|
CLDSS(I,J,L)=CSCALE*(RHLL-RH0)/(1.-RH0) 3446.2 |
| 1462 |
|
|
IF(PL(L).LT.400.) CLDSS(I,J,L)=.4166667*CLDSS(I,J,L) 3446.21 |
| 1463 |
|
|
endif |
| 1464 |
|
|
if(PCLOUD.eq.1)then |
| 1465 |
|
|
CLDSS(I,J,L)=CSDATA(J,L)*.01 3471.1 |
| 1466 |
|
|
elseif(PCLOUD.eq.6)then |
| 1467 |
|
|
CLDSS(I,J,L)=CLDSST(J,L) |
| 1468 |
|
|
endif |
| 1469 |
|
|
#if ( defined HR_DATA ) |
| 1470 |
|
|
if(L.le.4)then |
| 1471 |
|
|
pyzhr(L,J)=PL(L) |
| 1472 |
|
|
tyzhr(L,J)=TL(L) |
| 1473 |
|
|
rhyzhr(L,J)=RHLL |
| 1474 |
|
|
cssyzhr(L,J)=CLDSS(I,J,L) |
| 1475 |
|
|
endif |
| 1476 |
|
|
#endif |
| 1477 |
|
|
IF(CLDSS(I,J,L).GT.1.) CLDSS(I,J,L)=1. 3446.3 |
| 1478 |
|
|
IF(CLDSS(I,J,L).LT.0.0) CLDSS(I,J,L)=0.0 3446.4 |
| 1479 |
|
|
c IF(CLDSS(I,J,L).LT.0.005) CLDSS(I,J,L)=0.005 |
| 1480 |
|
|
300 IF (QNEW.LT.RHNEW(j)*QSATL) GO TO 302 3455. |
| 1481 |
|
|
ELHX=LHE 3456. |
| 1482 |
|
|
IF (TOLD.LT.TF) ELHX=LHS 3457. |
| 1483 |
|
|
C RHNEW=1. 3458. |
| 1484 |
|
|
CLH=ELHX/SHA 3459. |
| 1485 |
|
|
GAMFAC=CLH*BXCONS*ELHX 3460. |
| 1486 |
|
|
|
| 1487 |
|
|
#if ( defined CPL_CHEM ) |
| 1488 |
|
|
! |
| 1489 |
|
|
dqtotal = 0.0 |
| 1490 |
|
|
! |
| 1491 |
|
|
#endif |
| 1492 |
|
|
|
| 1493 |
|
|
DO 301 N=1,3 3461. |
| 1494 |
|
|
GAMA=GAMFAC*QSATL/(TNEW*TNEW) 3462. |
| 1495 |
|
|
DQ1=(QNEW-QSATL*RHNEW(j))/(1.+GAMA*RHNEW(j)) 3463. |
| 1496 |
|
|
|
| 1497 |
|
|
#if ( defined CPL_CHEM ) |
| 1498 |
|
|
! |
| 1499 |
|
|
dqtotal = dqtotal + dq1 |
| 1500 |
|
|
! |
| 1501 |
|
|
#endif |
| 1502 |
|
|
|
| 1503 |
|
|
DQUP=DQUP+DQ1 3464. |
| 1504 |
|
|
TNEW=TNEW+CLH*DQ1 3465. |
| 1505 |
|
|
QNEW=QNEW-DQ1 3466. |
| 1506 |
|
|
QSATL=QSAT(TNEW,PL(L)) 3467. |
| 1507 |
|
|
301 CONTINUE |
| 1508 |
|
|
|
| 1509 |
|
|
#if ( defined CPL_CHEM ) |
| 1510 |
|
|
|
| 1511 |
|
|
! === stratform precipitation: |
| 1512 |
|
|
prec_str(l) = dqtotal |
| 1513 |
|
|
|
| 1514 |
|
|
! |
| 1515 |
|
|
! --- 062195: |
| 1516 |
|
|
! Calculate scavenging of gases by large-scale |
| 1517 |
|
|
! precipitation |
| 1518 |
|
|
! -- assume pH is around 5.0 |
| 1519 |
|
|
! |
| 1520 |
|
|
! let n(v) & s(VI) disolved almost completely |
| 1521 |
|
|
! by using a large Henry's Law constant: |
| 1522 |
|
|
! |
| 1523 |
|
|
! 020196: |
| 1524 |
|
|
|
| 1525 |
|
|
xh2so4(l)= xh2so4(l) |
| 1526 |
|
|
& /(1.0 + raq2gas(1.e10, tl(l), dqtotal) ) |
| 1527 |
|
|
|
| 1528 |
|
|
xhno3(l) = xhno3(l) |
| 1529 |
|
|
& /(1.0 + raq2gas(1.e10, tl(l), dqtotal) ) |
| 1530 |
|
|
|
| 1531 |
|
|
ehenryx = ehenry (6.3e3,6412.34,tl(l)) |
| 1532 |
|
|
xch2o(l) = xch2o(l) |
| 1533 |
|
|
& /(1.0 + raq2gas(ehenryx, tl(l), dqtotal) ) |
| 1534 |
|
|
|
| 1535 |
|
|
ehenryx = ehenry (1.23e3,3120.00,tl(l)) |
| 1536 |
|
|
xso2(l) = xso2(l) |
| 1537 |
|
|
& /(1.0 + raq2gas(ehenryx, tl(l), dqtotal) ) |
| 1538 |
|
|
|
| 1539 |
|
|
! Calculate H2O2 also: |
| 1540 |
|
|
|
| 1541 |
|
|
ehenryx = ehenry (7.45,6620.00,tl(l)) |
| 1542 |
|
|
xh2o2(l) = xh2o2(l) |
| 1543 |
|
|
& /(1.0 + raq2gas(ehenryx, tl(l), dqtotal) ) |
| 1544 |
|
|
|
| 1545 |
|
|
! Calculate HO, 062895: |
| 1546 |
|
|
|
| 1547 |
|
|
ehenryx = ehenry (25.0,5280.00,tl(l)) |
| 1548 |
|
|
ho(i,j,l)= ho(i,j,l) |
| 1549 |
|
|
& /(1.0 + raq2gas(ehenryx, tl(l), dqtotal) ) |
| 1550 |
|
|
|
| 1551 |
|
|
! Calculate HO2, 062895: |
| 1552 |
|
|
|
| 1553 |
|
|
ehenryx = ehenry (1.0e4,6640.00,tl(l)) !2nd reaction = 4.0 |
| 1554 |
|
|
ho2(i,j,l)= ho2(i,j,l) |
| 1555 |
|
|
& /(1.0 + raq2gas(ehenryx, tl(l), dqtotal) ) |
| 1556 |
|
|
|
| 1557 |
|
|
! |
| 1558 |
|
|
#endif |
| 1559 |
|
|
|
| 1560 |
|
|
DSIGUP=DSIG(L) 3468. |
| 1561 |
|
|
ELHXUP=ELHX 3469. |
| 1562 |
|
|
302 TL(L)=TNEW 3470. |
| 1563 |
|
|
QL(L)=QNEW 3471. |
| 1564 |
|
|
C**** ACCUMULATE SOME DIAGNOSTICS 3472. |
| 1565 |
|
|
HCNDNS=HCNDNS+(TNEW-TOLD)*DSIG(L) 3473. |
| 1566 |
|
|
304 AJL(J,L,11)=AJL(J,L,11)+(TNEW-TOLD)*SP 3474. |
| 1567 |
|
|
PRCPSS=DQUP*DSIG(1)*SP 3475. |
| 1568 |
|
|
c CONDL=.FALSE. |
| 1569 |
|
|
c GO TO 824 |
| 1570 |
|
|
c 872 CONTINUE |
| 1571 |
|
|
! 07/22/2005 different precipitation over land and ocean |
| 1572 |
|
|
! PRLAND and PROCEAN are ratios of precip |
| 1573 |
|
|
! over land and ocean to total precipitation |
| 1574 |
|
|
! |
| 1575 |
|
|
AJ(J,61)=AJ(J,61)+PRCPSS*POCEAN*PROCEAN 3476. |
| 1576 |
|
|
BJ(J,61)=BJ(J,61)+PRCPSS*PLAND*PRLAND 3477. |
| 1577 |
|
|
CJ(J,61)=CJ(J,61)+PRCPSS*POICE*PROCEAN 3478. |
| 1578 |
|
|
DJ(JR,61)=DJ(JR,61)+PRCPSS*DXYP(J) 3479. |
| 1579 |
|
|
305 AJ(J,62)=AJ(J,62)+PRCPMC*POCEAN*PROCEAN 3480. |
| 1580 |
|
|
BJ(J,62)=BJ(J,62)+PRCPMC*PLAND*PRLAND 3481. |
| 1581 |
|
|
CJ(J,62)=CJ(J,62)+PRCPMC*POICE*PROCEAN 3482. |
| 1582 |
|
|
DJ(JR,62)=DJ(JR,62)+PRCPMC*DXYP(J) 3483. |
| 1583 |
|
|
DO 390 KR=1,4 3484. |
| 1584 |
|
|
IF(I.EQ.IJD6(1,KR).AND.J.EQ.IJD6(2,KR)) GO TO 392 3485. |
| 1585 |
|
|
390 CONTINUE 3486. |
| 1586 |
|
|
GO TO 400 3487. |
| 1587 |
|
|
392 ADAILY(IHOUR,5,KR)=ADAILY(IHOUR,5,KR)+HCNDNS*SP 3488. |
| 1588 |
|
|
ADAILY(IHOUR,49,KR)=ADAILY(IHOUR,49,KR)+PRCPMC+PRCPSS 3489. |
| 1589 |
|
|
400 PRCP=(PRCPMC+PRCPSS)*100./GRAV 3490. |
| 1590 |
|
|
PREC(I,J)=PRCP 3491. |
| 1591 |
|
|
IF(TPREC(I,J).GE.0.) PRCP=0. 3492. |
| 1592 |
|
|
GDATA(I,J,11)=(DTPERD+GDATA(I,J,11)*AGESNX)*EXP(-PRCP) 3493. |
| 1593 |
|
|
C**** TOTAL HEATING AND MOISTURE ADJUSTMENT 3494. |
| 1594 |
|
|
500 DO 530 L=1,LM 3495. |
| 1595 |
|
|
T(I,J,L)=TL(L)/PLK(L) 3496. |
| 1596 |
|
|
|
| 1597 |
|
|
#if ( defined CPL_CHEM ) |
| 1598 |
|
|
! |
| 1599 |
|
|
cfc11(i,j,l)= xcfc11(l) |
| 1600 |
|
|
cfc12(i,j,l)= xcfc12(l) |
| 1601 |
|
|
xn2o (i,j,l)= xxn2o (l) |
| 1602 |
|
|
o3 (i,j,l)= xo3 (l) |
| 1603 |
|
|
co (i,j,l)= xco (l) |
| 1604 |
|
|
zco2 (i,j,l)= xzco2 (l) |
| 1605 |
|
|
xno (i,j,l)= xxno (l) |
| 1606 |
|
|
xno2 (i,j,l)= xxno2 (l) |
| 1607 |
|
|
xn2o5(i,j,l)= xxn2o5(l) |
| 1608 |
|
|
hno3 (i,j,l)= xhno3 (l) |
| 1609 |
|
|
ch4 (i,j,l)= xch4 (l) |
| 1610 |
|
|
ch2o (i,j,l)= xch2o (l) |
| 1611 |
|
|
so2 (i,j,l)= xso2 (l) |
| 1612 |
|
|
h2so4(i,j,l)= xh2so4(l) |
| 1613 |
|
|
|
| 1614 |
|
|
! === if hfc, pfc, and sf6 are included: |
| 1615 |
|
|
#ifdef INC_3GASES |
| 1616 |
|
|
! === 032698 |
| 1617 |
|
|
hfc134a(i,j,l) = xhfc134a(l) |
| 1618 |
|
|
pfc(i,j,l) = xpfc(l) |
| 1619 |
|
|
sf6(i,j,l) = xsf6(l) |
| 1620 |
|
|
! === |
| 1621 |
|
|
#endif |
| 1622 |
|
|
|
| 1623 |
|
|
bcarbon (i,j,l)= xbc (l) |
| 1624 |
|
|
ocarbon (i,j,l)= xoc (l) |
| 1625 |
|
|
|
| 1626 |
|
|
! 062295 |
| 1627 |
|
|
h2o2 (i,j,l)= xh2o2 (l) |
| 1628 |
|
|
! |
| 1629 |
|
|
#endif |
| 1630 |
|
|
|
| 1631 |
|
|
530 Q(I,J,L)=QL(L) 3497. |
| 1632 |
|
|
|
| 1633 |
|
|
!070804 |
| 1634 |
|
|
#if ( defined CPL_CHEM ) |
| 1635 |
|
|
! |
| 1636 |
|
|
beta = 3600.0*0.15 ! dt*correction |
| 1637 |
|
|
!beta = 1.0 |
| 1638 |
|
|
t_cnv = max(0.0, prec_cnv(nlev)) |
| 1639 |
|
|
t_str = max(0.0, prec_str(nlev)) |
| 1640 |
|
|
do k=nlev-1,1,-1 |
| 1641 |
|
|
|
| 1642 |
|
|
! === accumulate precipitation |
| 1643 |
|
|
!t_cnv = t_cnv + prec_cnv(k) |
| 1644 |
|
|
!t_str = t_str + prec_str(k) |
| 1645 |
|
|
|
| 1646 |
|
|
if ( TX(i,j,k) .le. 273.15 ) then ! Eice =0.35 |
| 1647 |
|
|
t_cnv = prec_cnv(k)*0.5 |
| 1648 |
|
|
t_str = prec_str(k)*0.5 |
| 1649 |
|
|
else |
| 1650 |
|
|
t_cnv = prec_cnv(k) |
| 1651 |
|
|
t_str = prec_str(k) |
| 1652 |
|
|
end if |
| 1653 |
|
|
|
| 1654 |
|
|
! === Wet scavenging by convective precipiation: |
| 1655 |
|
|
bcarbon(i,j,k) = bcarbon(i,j,k) |
| 1656 |
|
|
& *(1.0 - 4.4913e-2*t_cnv*beta) |
| 1657 |
|
|
if ( bcarbon(i,j,k) .lt. 0.0 ) bcarbon(i,j,k) = 0.0 |
| 1658 |
|
|
ocarbon(i,j,k) = ocarbon(i,j,k) |
| 1659 |
|
|
& *(1.0 - 4.4913e-2*t_cnv*beta) |
| 1660 |
|
|
if ( ocarbon(i,j,k) .lt. 0.0 ) ocarbon(i,j,k) = 0.0 |
| 1661 |
|
|
|
| 1662 |
|
|
! === Wet scavenging by large scale precipitation: |
| 1663 |
|
|
bcarbon(i,j,k) = bcarbon(i,j,k) |
| 1664 |
|
|
& *(1.0 - 5.3946e-2*t_str*beta) |
| 1665 |
|
|
if ( bcarbon(i,j,k) .lt. 0.0 ) bcarbon(i,j,k) = 0.0 |
| 1666 |
|
|
ocarbon(i,j,k) = ocarbon(i,j,k) |
| 1667 |
|
|
& *(1.0 - 5.3946e-2*t_str*beta) |
| 1668 |
|
|
if ( ocarbon(i,j,k) .lt. 0.0 ) ocarbon(i,j,k) = 0.0 |
| 1669 |
|
|
end do |
| 1670 |
|
|
|
| 1671 |
|
|
!070804 |
| 1672 |
|
|
#endif |
| 1673 |
|
|
|
| 1674 |
|
|
700 IM1=I 3498. |
| 1675 |
|
|
#if ( defined CLM ) |
| 1676 |
|
|
|
| 1677 |
|
|
pred4tem(j)=pred4tem(j)+PREC(1,J) |
| 1678 |
|
|
ewvd4tem(j)=ewvd4tem(j)+QL(1)*P(1,j)*SIG(1)*RVAP/RGAS |
| 1679 |
|
|
npred4tem(j)=npred4tem(j)+1 |
| 1680 |
|
|
|
| 1681 |
|
|
c prhr(j)=PREC(1,J) |
| 1682 |
|
|
c PRCP=(PRCPMC+PRCPSS)*100./GRAV 3490. |
| 1683 |
|
|
pcpl4clm(j)=PRCPSS*100./GRAV |
| 1684 |
|
|
pcpc4clm(j)=PRCPMC*100./GRAV |
| 1685 |
|
|
tpr4clm(j)=TPREC(1,J) |
| 1686 |
|
|
#endif |
| 1687 |
|
|
C |
| 1688 |
|
|
#if ( defined OCEAN_3D || defined ML_2D ) |
| 1689 |
|
|
tempr(j)=tempr(j)+TPREC(1,J) |
| 1690 |
|
|
precip(j)=precip(j)+PREC(1,J) |
| 1691 |
|
|
if(j.eq.-42)then |
| 1692 |
|
|
print *,'FROM CONDSE' |
| 1693 |
|
|
print *,'TPREC=',TPREC(1,J),' PREC=',PREC(1,J) |
| 1694 |
|
|
endif |
| 1695 |
|
|
ps4ocean(j)=ps4ocean(j)+(SP+PTOP) |
| 1696 |
|
|
do l=1,lm |
| 1697 |
|
|
qyz4ocean(j,l)=qyz4ocean(j,l)+QL(l) |
| 1698 |
|
|
tyz4ocean(j,l)=tyz4ocean(j,l)+TL(l) |
| 1699 |
|
|
enddo |
| 1700 |
|
|
#endif |
| 1701 |
|
|
c |
| 1702 |
|
|
|
| 1703 |
|
|
C**** END OF MAIN LOOP FOR I INDEX 3499. |
| 1704 |
|
|
810 CONTINUE 3500. |
| 1705 |
|
|
C**** 3501. |
| 1706 |
|
|
C**** END OF MAIN LOOP FOR J INDEX 3502. |
| 1707 |
|
|
C**** 3503. |
| 1708 |
|
|
C**** ADD IN CHANGE OF ANG. MOMENTUM BY MOIST CONVECTION FOR DIAGNOSTIC 3504. |
| 1709 |
|
|
DO 880 L=1,LTM 3505. |
| 1710 |
|
|
DO 880 J=2,JM 3506. |
| 1711 |
|
|
DO 880 I=1,IM 3507. |
| 1712 |
|
|
880 AJL(J,L,39)=AJL(J,L,39)+(U(I,J,L)-UC(I,J,L))*P(I,J) 3508. |
| 1713 |
|
|
JDAY00=JDAY |
| 1714 |
|
|
if(HPRNT)then |
| 1715 |
|
|
print *,' condse 6' |
| 1716 |
|
|
print *,' T(J,L)=',T(1,JPR,LPR),' Q(J,L)=',Q(1,JPR,LPR) |
| 1717 |
|
|
print *,' V(J,L)=',V(1,JPR,LPR),' V(J+1,L)=',V(1,JPR+1,LPR) |
| 1718 |
|
|
print *,' U(J,L)=',U(1,JPR,LPR),' U(J+1,L)=',U(1,JPR+1,LPR) |
| 1719 |
|
|
endif |
| 1720 |
|
|
C |
| 1721 |
|
|
|
| 1722 |
|
|
#if ( defined CPL_CHEM ) |
| 1723 |
|
|
! |
| 1724 |
|
|
! --- Chemistry model patch 081795 |
| 1725 |
|
|
! check negative values: |
| 1726 |
|
|
! |
| 1727 |
|
|
call chemcheck(cfc11) |
| 1728 |
|
|
call chemcheck(cfc12) |
| 1729 |
|
|
call chemcheck(xn2o ) |
| 1730 |
|
|
call chemcheck(o3 ) |
| 1731 |
|
|
call chemcheck(co ) |
| 1732 |
|
|
call chemcheck(zco2 ) |
| 1733 |
|
|
call chemcheck(xno ) |
| 1734 |
|
|
call chemcheck(xno2 ) |
| 1735 |
|
|
call chemcheck(xn2o5) |
| 1736 |
|
|
call chemcheck(hno3 ) |
| 1737 |
|
|
call chemcheck(ch4 ) |
| 1738 |
|
|
call chemcheck(ch2o ) |
| 1739 |
|
|
call chemcheck(so2 ) |
| 1740 |
|
|
call chemcheck(h2so4) |
| 1741 |
|
|
call chemcheck(h2o2 ) |
| 1742 |
|
|
call chemcheck(bcarbon) |
| 1743 |
|
|
call chemcheck(ocarbon) |
| 1744 |
|
|
|
| 1745 |
|
|
! === if hfc, pfc, and sf6 are included: |
| 1746 |
|
|
#ifdef INC_3GASES |
| 1747 |
|
|
! === 032698 |
| 1748 |
|
|
call chemcheck(hfc134a) |
| 1749 |
|
|
call chemcheck(pfc) |
| 1750 |
|
|
call chemcheck(sf6) |
| 1751 |
|
|
! === |
| 1752 |
|
|
#endif |
| 1753 |
|
|
! |
| 1754 |
|
|
#endif |
| 1755 |
|
|
|
| 1756 |
|
|
RETURN 3509. |
| 1757 |
|
|
END 3510. |