SUBROUTINE SOLVER(IJ,IK) C ROUTINE TO SOLVE FOR ALL CONCENTRATIONS AT POINT(IJ,IK) C AFTER A TIME STEP. INCLUDES LOGIC TO SWITCH ON BOUNDARIES. -- New w/ computed H2O (base3) C #include "com2d.h" C ------------------------- SPE RUN ------------------------- COMMON/SPE/AIONPAIR,AIONHOX,AIONNOX,IYRSPE,FRCSPE(18), * ALTSPE(56),ALTHOX(56),PAIRION(40,365,60), * PAIRION360(40,360,60) COMMON/ALOX/ALO25(9),ALO35(9),RKALO25(Z$),RKALO35(Z$), * AERAL(L$,Z$) c section to actually do the chemistry CALL OX(IJ,IK) CALL HOX(IJ,IK) C Section to do methane oxidation C CN(20) IS CH3 C CN(21) IS CH3O2 C CN(22) IS CH3O C CN(23) IS H2CO C CN(24) IS HCO if(tfd(IJ) .gt. .10)then cn(20,IJ,Ik)= (c(21,ij,ik)*j(63,IJ,IK) 1 + c(18,IJ,IK)*(K(49,IJ,IK) 1 *c(2,IJ,IK)+k(14,IJ,IK)*c(13,IJ,IK) 1 +k(26,IJ,IK)*c(27,IJ,IK)))/(k(50,IJ,IK) 2 *M(IJ,IK)*c(3,IJ,IK)) denom= j(63,ij,IK) + k(15,IJ,IK)*c(5,IJ,IK)+k(22,IJ,IK) 3 *c(14,IJ,IK)+k(56,IJ,IK)*c(6,IJ,IK) if(denom .gt. 1.e-20) then cn(21,IJ,IK)=(c(20,IJ,IK)*k(50,IJ,IK) 1 *c(3,IJ,IK)*m(IJ,IK)+k(58,IJ,IK) 2 *c(13,IJ,IK)*c(26,IJ,IK))/denom else cn(21,IJ,IK)=c(21,IJ,IK) endif cn(22,IJ,IK)=(c(21,IJ,IK)*k(15,IJ,IK) 1 *c(5,IJ,IK)+j(13,IJ,IK)*c(26,IJ,IK)+ 1 k(110,IJ,IK)*c(18,IJ,IK)*c(2,IJ,IK) + 1 k(56,IJ,IK)*c(6,IJ,IK)*c(21,IJ,IK)) 2 /k(17,IJ,IK)/c(3,IJ,IK) cn(23,IJ,IK)=(k(17,IJ,IK)*c(22,IJ,IK)*c(3,IJ,IK)+ 1 k(57,IJ,IK)*c(18,IJ,IK)*c(2,IJ,IK))/ 2 (j(10,IJ,IK)+j(11,IJ,IK)+k(21,IJ,IK)* 3 c(1,IJ,IK)+k(51,IJ,IK)*c(13,IJ,IK)+ 4 k(63,IJ,IK)*c(27,IJ,IK)) c if(ij.eq.9 .and. ik.eq.1) c c write(1,9102)cn(23,ij,ik),k(17,ij,ik),c(22,ij,ik),c(3,ij,ik), c c k(57,ij,ik),c(18,ij,ik),c(2,ij,ik),j(10,ij,ik),j(11,ij,ik), c c k(21,ij,ik),c(1,ij,ik),k(51,ij,ik),c(13,ij,ik), c c k(63,ij,ik),c(27,ij,ik) 9102 format(1p6e13.6,/,1p6e13.6,/,1p6e13.6) cn(24,IJ,IK)=(k(21,IJ,IK)*c(23,IJ,IK)*c(1,IJ,IK) 1 +k(51,IJ,IK)*c(23,IJ,IK)*c(13,IJ,IK) 2 +k(63,IJ,IK)*c(27,IJ,IK)*c(23,IJ,IK) 3 +j(10,IJ,IK)*c(23,IJ,IK))/k(52,IJ,IK) 4 /c(3,IJ,IK) c if(ij.eq.9 .and. ik.eq.1) c 1 print *,'cn(24,ij,ik),k(21,ij,ik),c(23,ij,ik), c 1 c(1,ij,ik),k(51,ij,ik),c(23,ij,ik), c 1 c(13,ij,ik),k(63,ij,ik),c(27,ij,ik), c 1 c(23,ij,ik),j(10,ij,ik),c(23,ij,ik), c 1 k(52,ij,ik),c(3,ij,ik)', c 1 cn(24,ij,ik),k(21,ij,ik),c(23,ij,ik), c 1 c(1,ij,ik),k(51,ij,ik),c(23,ij,ik), c 1 c(13,ij,ik),k(63,ij,ik),c(27,ij,ik), c 1 c(23,ij,ik),j(10,ij,ik),c(23,ij,ik), c 1 k(52,ij,ik),c(3,ij,ik) c if(ij.eq.9 .and. ik.eq.1) c 1 write(1,9111)cn(24,ij,ik),k(21,ij,ik),c(23,ij,ik), c 1 c(1,ij,ik),k(51,ij,ik), c 1 c(13,ij,ik),k(63,ij,ik),c(27,ij,ik), c 1 j(10,ij,ik), c 1 k(52,ij,ik),c(3,ij,ik) 9111 format(' cn(24,ij,ik)=',1pe11.3,' k(21,ij,ik)=', * 1pe11.3,' c(23,ij,ik)=',1pe11.3,/,' c(1,ij,ik)=', * 1pe11.3,' k(51,ij,ik)=',1pe11.3, * /,' c(13,ij,ik)=',1pe11.3,' k(63,ij,ik)=', * 1pe11.3,' c(27,ij,ik)=',1pe11.3,/, * ' j(10,ij,ik)=',1pe11.3, * ' k(52,ij,ik)=',1pe11.3,' c(3,ij,ik)=',1pe11.3) else cn(20,IJ,IK)=0.0 cn(21,IJ,IK)=c(21,IJ,IK)* c exp(-k(56,IJ,IK)*c(5,IJ,IK)*dt) cn(22,IJ,IK)=0.0 cn(23,IJ,IK)=c(23,IJ,IK) cn(24,IJ,IK)=0.0 endif C TRANSPORTED CO CN(19) COLOSS = (K(111,IJ,IK)*C(1,IJ,IK)*M(IJ,IK) + c K(36,IJ,IK)*C(13,IJ,IK))*TFD(IJ) RLOSS(8,IJ,IK) = COLOSS CTLOSS(11,IJ,IK) = COLOSS COPROD = (K(52,IJ,IK)*C(24,IJ,IK)*C(3,IJ,IK) + C J(11,IJ,IK)*C(23,IJ,IK) + (J(41,IJ,IK)+J(12,IJ,IK))*C(43,IJ,IK) C + (J(59,IJ,IK) + J(60,IJ,IK) + J(61,IJ,IK))*C(18,IJ,IK))*TFD(IJ) CN(19,IJ,IK)=(CN(19,IJ,IK)+(COPROD-DIFN(11,IJ,IK))*DT) C /(1.+COLOSS*DT) IF(IK.EQ.1)THEN C PUT IN MIXING RATIO BOUNDARY CONDITIONS IF(LBCMRSS(19))CN(19,IJ,IK)=BVAL(19,IJ)*M(IJ,IK) ENDIF C NEW -- TRANSPORTED CO2 CN(43) CO2LOSS = (j(12,ij,ik) + j(41,ij,ik))*tfd(ij) RLOSS(17,IJ,IK) = CO2LOSS CTLOSS(31,IJ,IK) = CO2LOSS CO2PROD = (K(36,IJ,IK)*C(13,IJ,IK)*C(19,IJ,IK) + c K(111,IJ,IK)*C(19,IJ,IK)*C(1,IJ,IK)*M(IJ,IK))*TFD(IJ) CN(43,IJ,IK) = (CN(43,IJ,IK)+(CO2PROD-DIFN(31,IJ,IK))*DT) C /(1.+CO2LOSS*DT) C PUT IN MIXING RATIO BOUNDARY CONDITIONS, set to 350 ppmv for 1990 conditions IF(IK.EQ.1) CN(43,IJ,IK) = 350.*1.E-6*M(IJ,IK) C TRANSPORTED CH3OOH CN(26) CH3OOHL=(J(13,IJ,IK)+K(58,IJ,IK)*C(13,IJ,IK))*TFD(IJ) C +2.4E-7*C(38,IJ,IK) CTLOSS(12,IJ,IK) = CH3OOHL CH3OOHP=K(22,IJ,IK)*C(21,IJ,IK)*C(14,IJ,IK)*TFD(IJ) CN(26,IJ,IK)=(CN(26,IJ,IK)+(CH3OOHP-DIFN(12,IJ,IK)) C *DT)/(1.+CH3OOHL*DT) c if(ij.eq.9 .and. ik.eq.1)print *,' ch3oohl,ch3oohp,tfd(ij), c c j(13,ij,ik),k(58,ij,ik),c(13,ij,ik), c c c(38,ij,ik),k(22,ij,ik),c(21,ij,ik), c c c(14,ij,ik),cn(26,ij,ik),dt,difn(12,ij,ik)', c c ch3oohl,ch3oohp,tfd(ij), c c j(13,ij,ik),k(58,ij,ik),c(13,ij,ik), c c c(38,ij,ik),k(22,ij,ik),c(21,ij,ik), c c c(14,ij,ik),cn(26,ij,ik),dt,difn(12,ij,ik) c if(ij.eq.9 .and. ik.eq.1) c c write(1,9112)ch3oohl,ch3oohp,tfd(ij), c c j(13,ij,ik),k(58,ij,ik),c(13,ij,ik), c c c(38,ij,ik),k(22,ij,ik),c(21,ij,ik), c c c(14,ij,ik),cn(26,ij,ik),dt,difn(12,ij,ik) 9112 format(' ch3oohl=',1pe11.3,' ch3oohp=',1pe11.3, c ' tfd(ij)=',1pe11.3,/, c ' j(13,ij,ik)=',1pe11.3,' k(58,ij,ik)=',1pe11.3, c ' c(13,ij,ik)=',1pe11.3,/, c ' c(38,ij,ik)=',1pe11.3,' k(22,ij,ik)=',1pe11.3, c ' c(21,ij,ik)=',1pe11.3,/, c ' c(14,ij,ik)=',1pe11.3,' cn(26,ij,ik)=',1pe11.3, c ' dt=',1pe11.3,' difn(12,ij,ik)=',1pe11.3) c Call Odd nitrogen and odd chlorine subroutine if(tfd(IJ) .ge. 0.10 .and. tfd(IJ) .le. .999) then c print *,' call ncdn ij ik',ij,ik call ncdn(IJ,IK) else if(tfd(IJ) .lt. 0.10) call ncnight(IJ,IK) if(tfd(IJ) .gt. .999) call ncday(IJ,IK) endif c Comment out HNO3 transport from this version. Version set c up to be used with dbcncb.f, where HNO3 is transported. c D. B. Considine 3/14/94. c HNO3 c if(tfd(IJ) .gt. 0.10)then c hno3p=(k(18,IJ,IK)*m(IJ,IK))*c(13,IJ,IK) c c *c(6,IJ,IK)*tfd(IJ)+2.*kh(3,IJ,IK) c c *cn(8,IJ,IK)*c(15,IJ,IK) cc hno3l=(k(37,IJ,IK)*c(13,IJ,IK)+k(54,IJ,IK)* c c c(1,IJ,IK)+j(6,IJ,IK))*tfd(IJ) c c +2.4E-7*c(38,IJ,IK) c hno3l=(k(37,IJ,IK)*c(13,IJ,IK)+j(6,IJ,IK))*tfd(IJ) c c +2.4E-7*c(38,IJ,IK) c c else c hno3p=2.*kh(3,IJ,IK)*c(8,IJ,IK)*c(15,IJ,IK) c hno3l=2.4e-7*c(38,IJ,IK) c endif c if(ij .eq. 15)type *,ik,cn(10,ij,ik),hno3p,difn(14,ij,ik),hno3l c cn(10,IJ,IK)=(cn(10,IJ,IK)+(hno3p-difn(14,IJ,IK))*dt) c c /(1.+hno3l*dt) c c IF(IK.EQ.1)THEN C PUT IN MIXING RATIO BOUNDARY CONDITIONS c IF(LBCMRSS(10))CN(10,IJ,IK)=BVAL(10,IJ)*M(IJ,IK) c ENDIF C CN(11) IS N2O N2OLOSS=(J(14,IJ,Ik)+c(2,IJ,Ik)*k(45,IJ,Ik))*TFD(IJ) RLOSS(1,IJ,IK)=N2OLOSS CTLOSS(4,IJ,IK) = N2OLOSS pn2o=0.0 cn(11,IJ,IK)=(cn(11,IJ,IK)+(pn2o-difn(4,IJ,IK))*dt)/ c (1.+N2OLOSS*dt) IF(IK.EQ.1)THEN C PUT IN MIXING RATIO BOUNDARY CONDITIONS IF(LBCMRSS(11).OR.LBCMRTD(11)) * CN(11,IJ,IK)=BVAL(11,IJ)*M(IJ,IK) ENDIF C CN(34) IS CFCL3 F11L=(J(21,IJ,IK)+C(2,IJ,IK)*K(83,IJ,IK))*TFD(IJ) RLOSS(2,IJ,IK)=F11L CTLOSS(5,IJ,IK) = F11L f11p=0. IF(IK .EQ. 1)THEN C PUT IN FLUX BOUNDARY CONDITIONS IF(.NOT.LBCMRSS(34) .OR. .NOT.LBCMRTD(34)) * F11P=BVAL(34,IJ)/DELTAZ(IJ,IK)/1.E5 ENDIF cn(34,IJ,IK)=(cn(34,IJ,IK)+(f11p-difn(5,IJ,IK))*dt)/ c (1.+f11l*dt) IF(IK.EQ.1)THEN C PUT IN MIXING RATIO BOUNDARY CONDITIONS IF(LBCMRSS(34).OR.LBCMRTD(34)) * CN(34,IJ,IK)=BVAL(34,IJ)*M(IJ,IK) ENDIF C CN(35) IS CF2CL2 F12L=(J(22,IJ,IK)+C(2,IJ,IK)*K(80,IJ,IK))*TFD(IJ) RLOSS(3,IJ,IK)=F12L CTLOSS(6,IJ,IK) = F12L f12p=0. IF(IK .EQ. 1)THEN C PUT IN FLUX BOUNDARY CONDITIONS IF(.NOT.LBCMRSS(35) .OR. .NOT.LBCMRTD(35)) * F12P=BVAL(35,IJ)/DELTAZ(IJ,IK)/1.E5 ENDIF cn(35,IJ,IK)=(cn(35,IJ,IK)+(f12p-difn(6,IJ,IK))*dt)/ c (1.+f12l*dt) IF(IK.EQ.1)THEN C PUT IN MIXING RATIO BOUNDARY CONDITIONS IF(LBCMRSS(35).OR.LBCMRTD(35)) * CN(35,IJ,IK)=BVAL(35,IJ)*M(IJ,IK) ENDIF C CN(36) IS CCL4 CCL4L=(J(19,IJ,IK)+C(2,IJ,IK)*K(54,IJ,IK))*TFD(IJ) RLOSS(4,IJ,IK)=CCL4L CTLOSS(7,IJ,IK) = CCL4L ccl4p=0. IF(IK .EQ. 1)THEN C PUT IN FLUX BOUNDARY CONDITIONS IF(.NOT.LBCMRSS(36) .OR. .NOT.LBCMRTD(36)) * CCL4P=BVAL(36,IJ)/DELTAZ(IJ,IK)/1.E5 ENDIF cn(36,IJ,IK)=(cn(36,IJ,IK)+(ccl4p-difn(7,IJ,IK))*dt) c /(1.+ccl4l*dt) IF(IK.EQ.1)THEN C PUT IN MIXING RATIO BOUNDARY CONDITIONS IF(LBCMRSS(36).OR.LBCMRTD(36)) * CN(36,IJ,IK)=BVAL(36,IJ)*M(IJ,IK) ENDIF C CN(37) IS CH3CL CH3CLl=(J(20,IJ,IK)+K(16,IJ,IK)*C(13,IJ,IK))*TFD(IJ) RLOSS(5,IJ,IK)=CH3CLL CTLOSS(8,IJ,IK) = CH3CLL ch3clp=0. cn(37,IJ,IK)=(cn(37,IJ,IK)+(ch3clP-difn(8,IJ,IK))*dt) c /(1.+ch3cll*dt) IF(IK.EQ.1)THEN C PUT IN MIXING RATIO BOUNDARY CONDITIONS IF(LBCMRSS(37)) * CN(37,IJ,IK)=BVAL(37,IJ)*M(IJ,IK) ENDIF C CN(18) IS CH4 ch4loss = ((k(49,IJ,IK)+k(57,IJ,IK)+k(110,IJ,IK))*c(2,IJ,IK) c +k(14,IJ,IK)*c(13,IJ,IK)+k(26,IJ,IK)*c(27,IJ,IK) c + J(59,IJ,IK) + J(60,ij,ik) + J(61,ij,ik))*tfd(IJ) RLOSS(6,IJ,IK)=CH4LOSS CTLOSS(9,IJ,IK) = CH4LOSS ch4prod=0.0 cn(18,IJ,IK)=(cn(18,IJ,IK)+(ch4prod-difn(9,IJ,IK))*dt) c /(1.+ch4loss*dt) IF(IK.EQ.1)THEN C PUT IN MIXING RATIO BOUNDARY CONDITIONS IF(LBCMRSS(18).OR.LBCMRTD(18)) * CN(18,IJ,IK)=BVAL(18,IJ)*M(IJ,IK) ENDIF C CN(17) IS H2 h2loss=(c(2,IJ,IK)*k(48,IJ,IK)+c(13,IJ,IK)* c k(30,IJ,IK)+c(27,IJ,IK)*k(23,IJ,IK))*tfd(IJ) RLOSS(9,IJ,IK)=H2LOSS CTLOSS(10,IJ,IK) = H2LOSS c H2 production corrected, 9/95 h2prod = (c(2,IJ,IK)*c(18,IJ,IK)*k(57,IJ,IK) + c j(11,IJ,IK)*c(23,IJ,IK) + j(25,IJ,IK)*c(15,IJ,IK) + c c(12,IJ,IK)*c(14,IJ,IK)*k(71,IJ,IK) + C (J(60,IJ,IK) + J(61,IJ,IK))*C(18,IJ,IK))*tfd(IJ) cn(17,IJ,IK)=(cn(17,IJ,IK)+(h2prod-difn(10,IJ,IK))*dt) c /(1.+h2loss*dt) IF(IK.EQ.1)THEN C PUT IN MIXING RATIO BOUNDARY CONDITIONS IF(LBCMRSS(17))CN(17,IJ,IK)=BVAL(17,IJ)*M(IJ,IK) ENDIF C CN(40) IS CH3CCL3 CH3CCL3L=(J(26,IJ,IK)+K(75,IJ,IK)*C(13,IJ,IK)) c *TFD(IJ) RLOSS(7,IJ,IK)=CH3CCL3L CTLOSS(13,IJ,IK) = CH3CCL3L CH3CCL3P=0.0E0 IF(IK .EQ. 1)THEN C PUT IN FLUX BOUNDARY CONDITIONS IF(.NOT.LBCMRSS(40) .OR. .NOT.LBCMRTD(40)) * CH3CCL3P=BVAL(40,IJ)/DELTAZ(IJ,IK)/1.E5 ENDIF CN(40,IJ,IK)=(CN(40,IJ,IK)+(CH3CCL3P- C DIFN(13,IJ,IK))*DT)/(1.+CH3CCL3L*DT) IF(IK.EQ.1)THEN C PUT IN MIXING RATIO BOUNDARY CONDITIONS IF(LBCMRSS(40).OR.LBCMRTD(40)) * CN(40,IJ,IK)=BVAL(40,IJ)*M(IJ,IK) ENDIF c ch3br ch3brl=(j(29,IJ,IK)+k(97,IJ,IK)*c(13,IJ,IK))*tfd(IJ) RLOSS(10,IJ,IK)=CH3BRL CTLOSS(16,IJ,IK) = CH3BRL ch3brp=0. cn(49,IJ,IK)=(cn(49,IJ,IK)+(ch3brp-difn(16,IJ,IK))*dt) C /(1.+ch3brl*dt) IF(IK.EQ.1)THEN C PUT IN MIXING RATIO BOUNDARY CONDITIONS IF(LBCMRSS(49))CN(49,IJ,IK)=BVAL(49,IJ)*M(IJ,IK) ENDIF c CHClF2 chclf2l=(j(32,IJ,IK)+k(98,IJ,IK)*c(13,IJ,IK))*tfd(IJ) RLOSS(11,IJ,IK)=CHCLF2L CTLOSS(17,IJ,IK) = CHCLF2L chclf2p=0. IF(IK .EQ. 1)THEN C PUT IN FLUX BOUNDARY CONDITIONS IF(.NOT.LBCMRSS(52) .OR. .NOT.LBCMRTD(52)) * CHCLF2P=BVAL(52,IJ)/DELTAZ(IJ,IK)/1.E5 ENDIF cn(52,IJ,IK)=(cn(52,IJ,IK)+(chclf2p-difn(17,IJ,IK))*dt) C /(1.+chclf2l*dt) IF(IK.EQ.1)THEN C PUT IN MIXING RATIO BOUNDARY CONDITIONS IF(LBCMRSS(52).OR.LBCMRTD(52)) * CN(52,IJ,IK)=BVAL(52,IJ)*M(IJ,IK) ENDIF c C2Cl3F3 c2cl3F3l=(j(33,IJ,IK)+C(2,IJ,IK)*K(99,IJ,IK))*tfd(IJ) RLOSS(12,IJ,IK)=C2CL3F3L CTLOSS(18,IJ,IK) = C2CL3F3L c2cl3f3p=0. IF(IK .EQ. 1)THEN C PUT IN FLUX BOUNDARY CONDITIONS IF(.NOT.LBCMRSS(53) .OR. .NOT.LBCMRTD(53)) * C2CL3F3P=BVAL(53,IJ)/DELTAZ(IJ,IK)/1.E5 ENDIF cn(53,IJ,IK)=(cn(53,IJ,IK)+(c2cl3f3p-difn(18,IJ,IK))*dt) C /(1.+c2cl3f3l*dt) IF(IK.EQ.1)THEN C PUT IN MIXING RATIO BOUNDARY CONDITIONS IF(LBCMRSS(53).OR.LBCMRTD(53)) * CN(53,IJ,IK)=BVAL(53,IJ)*M(IJ,IK) ENDIF c C2Cl2F4 c2cl2f4l=(j(34,IJ,IK)+C(2,IJ,IK)*K(100,IJ,IK))*tfd(IJ) RLOSS(13,IJ,IK)=C2CL2F4L CTLOSS(19,IJ,IK) = C2CL2F4L c2cl2f4p=0. IF(IK .EQ. 1)THEN C PUT IN FLUX BOUNDARY CONDITIONS IF(.NOT.LBCMRSS(54) .OR. .NOT.LBCMRTD(54)) * C2CL2F4P=BVAL(54,IJ)/DELTAZ(IJ,IK)/1.E5 ENDIF cn(54,IJ,IK)=(cn(54,IJ,IK)+(c2cl2f4p-difn(19,IJ,IK))*dt) C /(1.+c2cl2f4l*dt) IF(IK.EQ.1)THEN C PUT IN MIXING RATIO BOUNDARY CONDITIONS IF(LBCMRSS(54).OR.LBCMRTD(54)) * CN(54,IJ,IK)=BVAL(54,IJ)*M(IJ,IK) ENDIF c C2ClF5 c2clf5l=(j(35,IJ,IK)+C(2,IJ,IK)*K(101,IJ,IK))*tfd(IJ) RLOSS(14,IJ,IK)=C2CLF5L CTLOSS(20,IJ,IK) = C2CLF5L c2clf5p=0. IF(IK .EQ. 1)THEN C PUT IN FLUX BOUNDARY CONDITIONS IF(.NOT.LBCMRSS(55) .OR. .NOT.LBCMRTD(55)) * C2CLF5P=BVAL(55,IJ)/DELTAZ(IJ,IK)/1.E5 ENDIF cn(55,IJ,IK)=(cn(55,IJ,IK)+(c2clf5p-difn(20,IJ,IK))*dt) C /(1.+c2clf5l*dt) IF(IK.EQ.1)THEN C PUT IN MIXING RATIO BOUNDARY CONDITIONS IF(LBCMRSS(55).OR.LBCMRTD(55)) * CN(55,IJ,IK)=BVAL(55,IJ)*M(IJ,IK) ENDIF c CBrClF2 cbrclf2l=j(31,IJ,IK)*tfd(IJ) RLOSS(15,IJ,IK)=CBRCLF2L CTLOSS(21,IJ,IK) = CBRCLF2L cbrclf2p=0. IF(IK .EQ. 1)THEN C PUT IN FLUX BOUNDARY CONDITIONS IF(.NOT.LBCMRSS(51) .OR. .NOT.LBCMRTD(51)) * CBRCLF2P=BVAL(51,IJ)/DELTAZ(IJ,IK)/1.E5 ENDIF cn(51,IJ,IK)=(cn(51,IJ,IK)+(cbrclf2p-difn(21,IJ,IK))*dt) C /(1.+cbrclf2l*dt) IF(IK.EQ.1)THEN C PUT IN MIXING RATIO BOUNDARY CONDITIONS IF(LBCMRSS(51).OR.LBCMRTD(51)) * CN(51,IJ,IK)=BVAL(51,IJ)*M(IJ,IK) ENDIF c CBrF3 cbrf3l=j(30,IJ,IK)*tfd(IJ) RLOSS(16,IJ,IK)=CBRF3L CTLOSS(22,IJ,IK) = CBRF3L cbrf3p=0. IF(IK .EQ. 1)THEN C PUT IN FLUX BOUNDARY CONDITIONS IF(.NOT.LBCMRSS(50) .OR. .NOT.LBCMRTD(50)) * CBRF3P=BVAL(50,IJ)/DELTAZ(IJ,IK)/1.E5 ENDIF cn(50,IJ,IK)=(cn(50,IJ,IK)+(cbrf3p-difn(22,IJ,IK))*dt) C /(1.+cbrf3l*dt) IF(IK.EQ.1)THEN C PUT IN MIXING RATIO BOUNDARY CONDITIONS IF(LBCMRSS(50).OR.LBCMRTD(50)) * CN(50,IJ,IK)=BVAL(50,IJ)*M(IJ,IK) ENDIF c HF c photolysis sources and reactions with O(1D) HFP=tfd(IJ)*(j(33,IJ,IK)*c(53,IJ,IK)+j(35,IJ,IK)* c c(55,IJ,IK)+ c j(30,IJ,IK)*c(50,IJ,IK)+ j(43,IJ,IK)*c(57,IJ,IK)+ c j(44,IJ,IK)*c(58,IJ,IK)*2.+k(99,IJ,IK)*c(2,IJ,IK)* c c(53,IJ,IK)+k(101,IJ,IK)*c(2,IJ,IK)*c(55,IJ,IK)+ c k(65,IJ,IK)*c(2,IJ,IK)*c(57,IJ,IK)+ c k(66,IJ,IK)*c(2,IJ,IK)*c(58,IJ,IK)*2. ) hfl=2.4e-7*c(38,IJ,IK) CTLOSS(23,IJ,IK) = hfl cn(56,IJ,IK)=(cn(56,IJ,IK)+(hfp-difn(23,IJ,IK))*dt) c /(1.+hfl*dt) c if(ij.eq.9 .and. ik.eq.30)print *,'HFP,tfd(IJ), c * j(33,IJ,IK),c(53,IJ,IK),j(35,IJ,IK), c c c(55,IJ,IK), c c j(30,IJ,IK),c(50,IJ,IK),j(43,IJ,IK),c(57,IJ,IK), c c j(44,IJ,IK),c(58,IJ,IK),k(99,IJ,IK),c(2,IJ,IK), c c c(53,IJ,IK),k(101,IJ,IK),c(2,IJ,IK),c(55,IJ,IK), c c k(65,IJ,IK),c(2,IJ,IK),c(57,IJ,IK), c c k(66,IJ,IK),c(2,IJ,IK),c(58,IJ,IK)', c * HFP,tfd(IJ), c * j(33,IJ,IK),c(53,IJ,IK),j(35,IJ,IK), c c c(55,IJ,IK), c c j(30,IJ,IK),c(50,IJ,IK),j(43,IJ,IK),c(57,IJ,IK), c c j(44,IJ,IK),c(58,IJ,IK),k(99,IJ,IK),c(2,IJ,IK), c c c(53,IJ,IK),k(101,IJ,IK),c(2,IJ,IK),c(55,IJ,IK), c c k(65,IJ,IK),c(2,IJ,IK),c(57,IJ,IK), c c k(66,IJ,IK),c(2,IJ,IK),c(58,IJ,IK) c CClFO CClFOp=j(21,IJ,IK)*c(34,IJ,IK)*tfd(IJ) CClFOl=j(43,IJ,IK)*tfd(IJ)+2.4e-7*c(38,IJ,IK) c +k(65,IJ,IK)*tfd(IJ)*c(2,IJ,IK) CTLOSS(24,IJ,IK) = CClFOl cn(57,IJ,IK)=(cn(57,IJ,IK)+(cclfop-difn(24,IJ,IK))*dt) c /(1.+CClFOl*dt) c COF2 COF2p=tfd(IJ)*(j(22,IJ,IK)*c(35,IJ,IK) + c j(32,IJ,IK)*c(52,IJ,IK) + c j(33,IJ,IK)*c(53,IJ,IK) + c j(34,IJ,IK)*c(54,IJ,IK)*2.+ c j(35,IJ,IK)*c(55,IJ,IK)*2.+ c j(31,IJ,IK)*c(51,IJ,IK) + c j(30,IJ,IK)*c(50,IJ,IK) + c k(98,IJ,IK)*c(13,IJ,IK)*c(52,IJ,IK)+ c k(100,IJ,IK)*c(2,IJ,IK)*c(54,IJ,IK)*2.+ c k(99,IJ,IK)*c(2,IJ,IK)*c(53,IJ,IK)+ c k(101,IJ,IK)*c(2,IJ,IK)*c(55,IJ,IK)*2.) COF2l=j(44,IJ,IK)*tfd(IJ)+2.4e-7*c(38,IJ,IK) c +k(66,IJ,IK)*tfd(IJ)*c(2,IJ,IK) CTLOSS(25,IJ,IK) = COF2l cn(58,IJ,IK)=(cn(58,IJ,IK)+(cof2p-difn(25,IJ,IK))*dt) c /(1.+COF2l*dt) C H2O h2olspe=aionhox/c(15,ij,ik)/2. c h2olspe is the loss to h2o in s-1 for SPEs producing HOx h2ol = (j(4,ij,ik) + j(25,ij,ik) + c(2,ij,ik)*k(39,ij,ik) c + c(30,ij,ik)*kh(2,ij,ik) + c(8,ij,ik)*kh(3,ij,ik))*tfd(ij) c +h2olspe c c H2O loss now includes het reactions w/ ClONO2 and N2O5 - 4/20/94 CTLOSS(28,IJ,IK) = h2ol h2op = (c(13,ij,ik)*c(18,ij,ik)*k(14,ij,ik) c c + 2.*c(13,ij,ik)*c(37,ij,ik)*k(16,ij,ik) c We multiply this reaction by 2 because CH2Cl, a product, is not c calculated c c + c(13,ij,ik)*c(29,ij,ik)*k(27,ij,ik) c + c(13,ij,ik)*c(16,ij,ik)*k(29,ij,ik) c + c(13,ij,ik)*c(17,ij,ik)*k(30,ij,ik) c + c(13,ij,ik)*c(10,ij,ik)*k(37,ij,ik) c + c(13,ij,ik)*c(14,ij,ik)*k(40,ij,ik) c + c(13,ij,ik)*c(23,ij,ik)*k(51,ij,ik) c + c(13,ij,ik)*c(32,ij,ik)*k(55,ij,ik) c + c(13,ij,ik)*c(26,ij,ik)*k(58,ij,ik) c + c(13,ij,ik)*c(13,ij,ik)*k(59,ij,ik) c + c(13,ij,ik)*c(25,ij,ik)*k(62,ij,ik) c + c(12,ij,ik)*c(14,ij,ik)*k(72,ij,ik) c + c(13,ij,ik)*c(46,ij,ik)*k(95,ij,ik) c + (j(60,ij,ik) + j(61,ij,ik))*c(18,ij,ik) c + j(59,ij,ik)*c(18,ij,ik)*2.)*tfd(ij) C C C IF ((DAY360 .GE. 88.5) .AND. (IJC .EQ. 1)) THEN C WRITE(52,701) C701 FORMAT(/,3X,'H2O VALUES IN SOLVER : ') C WRITE(52,700) ij,ik,day360,h2ol,h2op C700 FORMAT(1X,'IJ,IK =',I2,',',I2,3X,'DAY360 =',F5.1, C c 3X,'H2OL =',1PE9.1,3X,'H2OP =',1PE9.1,/) C C WRITE(52,702) PHOTJ(4,ij,ik),PHOTJ(25,ij,ik),DENC(2,ij,ik), C c reack(39,ij,ik), dencn(15,ij,ik) C702 FORMAT(1X,'PHOTJ4=',1PE10.2,2X,'PHOTJ25=',1PE10.2,2X,'DENC2=', C c 1PE10.2,2X,'REACK39=',1PE10.2,2X,'DENCN15=',1PE10.2,/) C ENDIF C cn(15,ij,ik)=(cn(15,ij,ik)+(h2op-difn(28,ij,ik))*dt)/(1.+h2ol*dt) c c Set limit to 1.E-12 number density -- problem with small NO (E-16), large CH3O2 (E+22) C at 85S, 212 mb, starting sometime before Nov 20 on 8th year of run C (m at 115 km ~1.e12, and ~3.e19 at the ground, so the minimum mixing ratio will be ~3.E-31) C Do Al2O3 in model - 2/14/95 al2o3p=0.0e0 al2o3l=2.4e-7*c(38,IJ,IK) spshu=0.0e0 if(ij.eq.12)spshu=rkalo25(ik) if(ij.eq.13)spshu=rkalo35(ik) cn(69,IJ,IK)=(cn(69,IJ,IK)+(al2o3p+spshu-difn(32,IJ,IK))*dt) c /(1.+al2o3l*dt) DO 7382 III=1,S$ IF (CN(III,IJ,IK) .LT. 1.E-12) CN(III,IJ,IK) = 1.E-12 7382 CONTINUE SAVE RETURN END