- Timestamp:
- Jul 19, 2024, 5:41:58 PM (2 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/phylmd/StratAer/sulfate_aer_mod.F90
r4950 r5082 93 93 ! *** H2SO4-H2O curved surface - Kelvin effect factor *** 94 94 ! wet radius (m) (RRSI(IK) in [cm]) 95 if (f_r_wetB(ilon,ilev,IK) .gt. 1.0) then95 if (f_r_wetB(ilon,ilev,IK) > 1.0) then 96 96 radwet = 1.e-2*RRSI(IK)*f_r_wetB(ilon,ilev,IK) 97 97 else … … 197 197 H2O(:,:)=sh(:,:)*mAIRmol/mH2Omol 198 198 199 IF(INSTEP .EQ.0) THEN199 IF(INSTEP==0) THEN 200 200 201 201 INSTEP=1 … … 508 508 DO I=1,16 509 509 DO J=1,28 510 IF (F(I,J) .LT.9.0) F(I,J)=30.0511 IF (F(I,J) .GT.99.99) F(I,J)=99.99510 IF (F(I,J)<9.0) F(I,J)=30.0 511 IF (F(I,J)>99.99) F(I,J)=99.99 512 512 ENDDO 513 513 ENDDO … … 518 518 DO J=1,klev 519 519 TP=t_seri(I,J) 520 IF (TP .LT.175.1) TP=175.1520 IF (TP<175.1) TP=175.1 521 521 ! Partial pressure of H2O (mb) 522 522 PH2O =PMB(I,J)*H2O(I,J) 523 IF (PH2O .LT.XC1) THEN523 IF (PH2O<XC1) THEN 524 524 R2SO4(I,J)=99.99 525 525 ! PH2O=XC(1)+1.0E-10 526 526 ELSE 527 IF (PH2O .GT.XC16) PH2O=XC16527 IF (PH2O>XC16) PH2O=XC16 528 528 ! SIMPLE LINEAR INTERPOLATIONS 529 529 CALL FIND(PH2O,TP,XC,YC,F,VAL,N,M) 530 IF (PMB(I,J) .GE.10.0.AND.VAL.LT.60.0) VAL=60.0530 IF (PMB(I,J)>=10.0.AND.VAL<60.0) VAL=60.0 531 531 R2SO4(I,J)=VAL 532 532 ENDIF … … 601 601 CALL POSACT(XT,XC,NN,JX) 602 602 JX1=JX+1 603 IF(JX .EQ.0) THEN603 IF(JX==0) THEN 604 604 ACTSO4(I,J)=0.0 605 ELSE IF(JX .GE.NN) THEN605 ELSE IF(JX>=NN) THEN 606 606 ACTSO4(I,J)=15811.0 607 607 ELSE … … 684 684 CALL POSITION(YC,Y,M,JY,IERY) 685 685 686 IF(JX .EQ.0.OR.IERY.EQ.1) THEN686 IF(JX==0.OR.IERY==1) THEN 687 687 VAL=99.99 688 688 RETURN 689 689 ENDIF 690 690 691 IF(JY .EQ.0.OR.IERX.EQ.1) THEN691 IF(JY==0.OR.IERX==1) THEN 692 692 VAL=9.0 693 693 RETURN … … 714 714 VAL=(1.-T)*(1.-U)*SXY + T*(1.0-U)*SX1Y + T*U*SX1Y1 + (1.0-T)*U*SXY1 715 715 716 IF(VAL .LT.9.0) VAL=9.0717 IF(VAL .GT.99.99) VAL=99.99716 IF(VAL<9.0) VAL=9.0 717 IF(VAL>99.99) VAL=99.99 718 718 719 719 RETURN … … 728 728 729 729 IER=0 730 IF(X .LT.XC(1)) THEN730 IF(X<XC(1)) THEN 731 731 JX=0 732 732 ELSE 733 733 DO 10 I=1,N 734 IF (X .LT.XC(I)) GO TO 20734 IF (X<XC(I)) GO TO 20 735 735 10 CONTINUE 736 736 IER=1 … … 753 753 INTEGER JX,I 754 754 755 IF(XT .GT.X(1)) THEN755 IF(XT>X(1)) THEN 756 756 JX=0 757 757 ELSE 758 758 DO 10 I=1,N 759 IF (XT .GT.X(I)) GO TO 20759 IF (XT>X(I)) GO TO 20 760 760 10 CONTINUE 761 761 20 JX=I … … 814 814 real, intent(in) :: T 815 815 816 if(T .gt.229.) then816 if(T>229.) then 817 817 ! Preining et al., 1981 (from Kulmala et al., 1998) 818 818 ! saturation vapor pressure (N/m2 = 1 Pa = 1 kg/(m·s2)) … … 955 955 ! composition 956 956 ! calculation of h2so4 molality 957 if(aw .le. 0.05 .and. aw .gt.0.) then957 if(aw <= 0.05 .and. aw > 0.) then 958 958 y1=12.372089320*aw**(-0.16125516114) & 959 959 & -30.490657554*aw -2.1133114241 960 960 y2=13.455394705*aw**(-0.19213122550) & 961 961 & -34.285174607*aw -1.7620073078 962 else if(aw .le. 0.85 .and. aw .gt.0.05) then962 else if(aw <= 0.85 .and. aw > 0.05) then 963 963 y1=11.820654354*aw**(-0.20786404244) & 964 964 & -4.8073063730*aw -5.1727540348
Note: See TracChangeset
for help on using the changeset viewer.