#include "dims.h" SUBROUTINE CO2FIX use cons_module,only: len2 implicit none C **** C **** ADVANCES PSI(CO2) BY ONE TIME STEP C **** #include "params.h" #include "fcom.h" #include "vscr.h" #include "index.h" #include "buff.h" #include "lowbnd.h" #include "phys.h" #include "compcom.h" ! ! Local: integer :: npco2k,npnmk,nmsk,i ! C NPCO2K = NJ+NPCO2 C NPNMK = NJ+NPCO2NM C NMSK = NJ+NMS C DO 1 I=1,LEN2 C F(I,NPCO2K) = 350.E-6*44./F(I,NMSK) C F(I,NPNMK) = 350.E-6*44./F(I,NMSK) C F(I,NPCO2K) = 350.E-6*44./F(I,NMSK)*2. C F(I,NPNMK) = 350.E-6*44./F(I,NMSK)*2. C 1 CONTINUE RETURN END !----------------------------------------------------------------------- SUBROUTINE CMPCO2 use cons_module,only: len1,len2,kmax implicit none C **** C **** ADVANCES PSI(CO2) 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 :: PHICO2(3)=(/1.199,3.91,1.201/) integer :: nmsk,nopk,npcok,npo1k,njco2tk,nphoxk,i,k,ibnd,ibndb real :: alfa,xyco2 C **** C **** NUMBER DENSITY MIXING RATIO OF CO2 AT LOWER BOUNDARY C **** NMSK = NJ+NMS NOPK = NJ+NOP NPCOK = NJ+NPCO NPO1K = NJ+NPO1 NJCO2TK = NJCO2T-1 NPHOXK = NJ+NPHOX DO 1 I=1,LEN1 C **** C **** VALUE AT BOTTOM GIVEN BY SPECIFIED NUMBER DENSITY C **** MIXING RATIO XCO2LB C **** T1(I) = 0. T2(I) = 1. T3(I) = -CO2MIX*RMCO2/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 CO2 C **** S2(I,1) = S3(I,1)**2*(RKM42(I,1)*F(I,NPCOK)/RMCO*F(I,NPHOXK)/ 1 RMTRU(I,1)*RATIO1(I,1)*RATIO3(I,1) 2 +GAM14(I,1)*F(I,NPCOK)/RMCO*F(I,NPO1K)/RMO1 3 *S3(I,1)/(.5*(F(I,NMSK)+F(I,NMSK+1)))) C **** C **** S1 = NUMBER DENSITY LOSS OF CO2 C **** S1(I,1) = -(RK13*F(I,NOPK)+S4(I,1) 2 +GAM15*XNO1D(I,1)/RMO1*S3(I,1)) 3 CONTINUE IBND=0 IBNDB=0 ALFA=0. XYCO2=1.E-4 CALL MINOR(NPCO2,NPCO2NM,RMCO2,PHICO2,ALFA,IBND,IBNDB,WCO2, 1XYCO2,NPDHCO2,difkk) RETURN END