#include "dims.h" SUBROUTINE CMPCO use cons_module,only: len1,len2,kmax implicit none C **** C **** ADVANCES PSI(CO) BY ONE TIME STEP C **** #include "params.h" #include "fcom.h" #include "vscr.h" #include "index.h" #include "buff.h" #include "crates_const.h" #include "crates_tdep.h" #include "lowbnd.h" #include "phys.h" #include "compcom.h" #include "mwt.h" #include "diffk.h" #include "cmpdat.h" ! ! Local: real :: PHICO(3)=(/0.833,1.427,0.852/) integer :: nmsk,nopk,npcok,npco2k,npo1k,npch4k,njco2tk,nphoxk,i,k, | ibnd,ibndb real :: alfa,xyco C **** C **** NUMBER DENSITY MIXING RATIO OF CO AT LOWER BOUNDARY C **** NMSK = NJ+NMS NOPK = NJ+NOP NPCOK = NJ+NPCO NPCO2K = NJ+NPCO2 NPO1K = NJ+NPO1 NPCH4K = NJ+NPCH4 NJCO2TK = NJCO2T-1 NPHOXK = NJ+NPHOX DO 1 I=1,LEN1 C **** C **** VALUE AT BOTTOM GIVEN BY SPECIFIED NUMBER DENSITY C **** MIXING RATIO XCOLB C **** T1(I) = 0. T2(I) = 1. T3(I) = -XCOLB(J)*RMCO/F(I,NMSK) C **** C **** ZERO DIFFUSIVE FLUX AT TOP C **** T4(I) = 0. 1 CONTINUE DO 2 K=1,KMAX NJCO2TK = NJCO2TK+1 DO 2 I=1,LEN1 S4(I,K) = 0.5*(F(I,NJCO2TK)+F(I,NJCO2TK+1)) 2 CONTINUE C **** C **** SOURCES C **** DO 3 I=1,LEN2 C **** C **** S3 = N*MBAR (K+1/2) C **** S3(I,1) = XNMBAR(I,1) C **** C **** S2 = NUMBER DENSITY PRODUCTION OF CO C **** CC S2(I,1) = S3(I,1)*(S4(I,1)+RK13*F(I,NOPK)+GAM15* CC 1 XNO1D(I,1)/RMO1*S3(I,1))*F(I,NPCO2K)/RMCO2 CC 2 +(GAM1(I,1)*F(I,NPHOXK)/RMTRU(I,1)*RATIO1(I,1)* CC 3 RATIO3(I,1)+(RKM5A+RKM5B)*XNO1D(I,1)/ CC 4 RMO1+GAM13(I,1)*F(I,NPO1K)/RMO1+DEL3(I,1)*RMCL(I,1) CC 5 /(.5*(F(I,NMSK)+F(I,NMSK+1))))*F(I,NPCH4K) CC 6 /RMCH4*S3(I,1)*S3(I,1) S2(I,1) = S3(I,1)*(S4(I,1)+RK13*F(I,NOPK)+GAM15* 1 XNO1D(I,1)/RMO1*S3(I,1))*F(I,NPCO2K)/RMCO2 2 +(RKM43(I,1)*F(I,NPHOXK)/RMTRU(I,1)*RATIO1(I,1)* 3 RATIO3(I,1)+RKM45*XNO1D(I,1)/ 4 RMO1+RKM44(I,1)*F(I,NPO1K)/RMO1+DEL3(I,1)*RMCL(I,1) 5 /(.5*(F(I,NMSK)+F(I,NMSK+1))))*F(I,NPCH4K) 6 /RMCH4*S3(I,1)*S3(I,1) C **** C **** S1 = NUMBER DENSITY LOSS OF CO C **** S1(I,1) = -S3(I,1)*(RKM42(I,1)*F(I,NPHOXK)/RMTRU(I,1)* 1 RATIO1(I,1)*RATIO3(I,1)+GAM14(I,1)* 2 F(I,NPO1K)/RMO1*S3(I,1)/(.5*(F(I,NMSK)+F(I,NMSK+1)))) 3 CONTINUE IBND=0 IBNDB=0 ALFA=0. XYCO=1.E-3 CALL MINOR(NPCO,NPCONM,RMCO,PHICO,ALFA,IBND,IBNDB,WCO,XYCO,NPDHCO, 1 difkk) RETURN END