Changeset 4074 for LMDZ6/trunk/libf
- Timestamp:
- Feb 3, 2022, 10:03:11 AM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/ice_sursat_mod.F90
r4062 r4074 693 693 !--critical T_LM below which no liquid contrail can form in exhaust 694 694 !Tcontr(i,k) = 226.69+9.43*log(Gcontr-0.053)+0.72*(log(Gcontr-0.053))**2 !--K 695 Tcontr = 226.69+9.43*log(Gcontr-0.053)+0.72*(log(Gcontr-0.053))**2 !--K 696 !print *,'Tcontr=',iter,i,k,eps_w,pplay,Gcontr,Tcontr(i,k) 697 !--Psat with index 0 in FOEEW to get saturation wrt liquid water corresponding to Tcontr 698 !qsatliqcontr = RESTT*FOEEW(Tcontr(i,k),0.) !--Pa 699 qsatliqcontr = RESTT*FOEEW(Tcontr,0.) !--Pa 700 !--Critical water vapour above which there is contrail formation for ambiant temperature 701 !qcontr(i,k) = Gcontr*(t-Tcontr(i,k)) + qsatliqcontr !--Pa 702 qcontr = Gcontr*(t-Tcontr) + qsatliqcontr !--Pa 703 !--Conversion of qcontr in specific humidity - method 1 704 !qcontr(i,k) = RD/RV*qcontr(i,k)/pplay !--so as to return to something similar to R2ES*FOEEW/pplay 705 qcontr2 = RD/RV*qcontr/pplay !--so as to return to something similar to R2ES*FOEEW/pplay 706 !qcontr(i,k) = min(0.5,qcontr(i,k)) !--and then we apply the same correction term as for qsat 707 qcontr2 = min(0.5,qcontr2) !--and then we apply the same correction term as for qsat 708 !zcor = 1./(1.-RETV*qcontr(i,k)) !--for consistency with qsat but is it correct at all? 709 zcor = 1./(1.-RETV*qcontr2) !--for consistency with qsat but is it correct at all as p is dry? 710 !zcor = 1./(1.+qcontr2) !--for consistency with qsat 711 !qcontr(i,k) = qcontr(i,k)*zcor 712 qcontr2 = qcontr2*zcor 713 qcontr2=MAX(1.e-10,qcontr2) !--eliminate negative values due to extrapolation on dilution curve 714 !--Conversion of qcontr in specific humidity - method 2 715 !qcontr(i,k) = eps_w*qcontr(i,k) / (pplay+eps_w*qcontr(i,k)) 716 !qcontr=MAX(1.E-10,qcontr) 717 !qcontr2 = eps_w*qcontr / (pplay+eps_w*qcontr) 718 ! 719 IF (t .LT. Tcontr) THEN !--contrail formation is possible 720 ! 721 !--compute fractions of persistent (P) and non-persistent(N) contrail potential regions 722 !!IF (qcontr(i,k).GE.qsat) THEN 723 IF (qcontr2.GE.qsat) THEN 695 IF (Gcontr .GT. 0.1) THEN 696 ! 697 Tcontr = 226.69+9.43*log(Gcontr-0.053)+0.72*(log(Gcontr-0.053))**2 !--K 698 !print *,'Tcontr=',iter,i,k,eps_w,pplay,Gcontr,Tcontr(i,k) 699 !--Psat with index 0 in FOEEW to get saturation wrt liquid water corresponding to Tcontr 700 !qsatliqcontr = RESTT*FOEEW(Tcontr(i,k),0.) !--Pa 701 qsatliqcontr = RESTT*FOEEW(Tcontr,0.) !--Pa 702 !--Critical water vapour above which there is contrail formation for ambiant temperature 703 !qcontr(i,k) = Gcontr*(t-Tcontr(i,k)) + qsatliqcontr !--Pa 704 qcontr = Gcontr*(t-Tcontr) + qsatliqcontr !--Pa 705 !--Conversion of qcontr in specific humidity - method 1 706 !qcontr(i,k) = RD/RV*qcontr(i,k)/pplay !--so as to return to something similar to R2ES*FOEEW/pplay 707 qcontr2 = RD/RV*qcontr/pplay !--so as to return to something similar to R2ES*FOEEW/pplay 708 !qcontr(i,k) = min(0.5,qcontr(i,k)) !--and then we apply the same correction term as for qsat 709 qcontr2 = min(0.5,qcontr2) !--and then we apply the same correction term as for qsat 710 !zcor = 1./(1.-RETV*qcontr(i,k)) !--for consistency with qsat but is it correct at all? 711 zcor = 1./(1.-RETV*qcontr2) !--for consistency with qsat but is it correct at all as p is dry? 712 !zcor = 1./(1.+qcontr2) !--for consistency with qsat 713 !qcontr(i,k) = qcontr(i,k)*zcor 714 qcontr2 = qcontr2*zcor 715 qcontr2=MAX(1.e-10,qcontr2) !--eliminate negative values due to extrapolation on dilution curve 716 !--Conversion of qcontr in specific humidity - method 2 717 !qcontr(i,k) = eps_w*qcontr(i,k) / (pplay+eps_w*qcontr(i,k)) 718 !qcontr=MAX(1.E-10,qcontr) 719 !qcontr2 = eps_w*qcontr / (pplay+eps_w*qcontr) 720 ! 721 IF (t .LT. Tcontr) THEN !--contrail formation is possible 722 ! 723 !--compute fractions of persistent (P) and non-persistent(N) contrail potential regions 724 !!IF (qcontr(i,k).GE.qsat) THEN 725 IF (qcontr2.GE.qsat) THEN 724 726 !--none of the unsaturated clear sky is prone for contrail formation 725 727 !!fcontrN(i,k) = 0.0 … … 807 809 fcontrP = fcontrP + MAX(0., 0.5*(1-pdf_N2)*(pdf_e1-pdf_e2)) 808 810 ! 809 ELSE !--qcontr LT qsat811 ELSE !--qcontr LT qsat 810 812 ! 811 813 !--all of ISSR is prone for contrail formation … … 835 837 !!fcontrN=2.0 836 838 ! 837 ENDIF 838 ! 839 ENDIF !-- t < Tcontr 839 ENDIF 840 ! 841 ENDIF !-- t < Tcontr 842 ! 843 ENDIF !-- Gcontr > 0.1 840 844 841 845 RETURN
Note: See TracChangeset
for help on using the changeset viewer.