Changeset 1501 for LMDZ5/trunk/libf/phylmd
- Timestamp:
- Mar 15, 2011, 5:12:29 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/cv3_routines.F
r1494 r1501 936 936 logical lcape(nloc) 937 937 integer iposit(nloc) 938 real elcrit, tlcrit, sigs 939 parameter(sigs=0.15) 940 integer flag_epKEorig 938 941 939 942 !===================================================================== … … 1044 1047 ! --- THESE MAY BE FUNCTIONS OF TP(I), P(I) AND CLW(I) 1045 1048 !===================================================================== 1046 c 1047 c ori do 320 k=minorig+1,nl 1048 do 320 k=1,nl ! convect3 1049 cIM beg: ajout fis. reglage ep 1050 flag_epKEorig=0 1051 elcrit=0.0011 1052 tlcrit=-55.0 1053 cIM Lecture du fichier ep_param.data 1054 OPEN(99,file='ep_param.data',status='old', 1055 $ form='formatted',err=9999) 1056 READ(99,*,end=9998) flag_epKEorig 1057 READ(99,*,end=9998) elcrit 1058 READ(99,*,end=9998) tlcrit 1059 9998 Continue 1060 CLOSE(99) 1061 9999 Continue 1062 WRITE(*,*)'flag_epKEorig',flag_epKEorig 1063 WRITE(*,*)'elcrit=',elcrit 1064 WRITE(*,*)'tlcrit=',tlcrit 1065 cIM end: ajout fis. reglage ep 1066 1067 if(flag_epKEorig.ne.1) THEN 1068 do 320 k=1,nl ! convect3 1049 1069 do 310 i=1,ncum 1050 1070 pden=ptcrit-pbcrit 1051 1071 ep(i,k)=(plcl(i)-p(i,k)-pbcrit)/pden*epmax 1052 ep(i,k)= max(ep(i,k),0.0)1072 ep(i,k)=amax1(ep(i,k),0.0) 1053 1073 ep(i,k)=amin1(ep(i,k),epmax) 1054 1074 sigp(i,k)=spfac 1055 c ori if(k.ge.(nk(i)+1))then1056 c ori tca=tp(i,k)-t01057 c ori if(tca.ge.0.0)then1058 c ori elacrit=elcrit1059 c ori else1060 c ori elacrit=elcrit*(1.0-tca/tlcrit)1061 c ori endif1062 c ori elacrit=max(elacrit,0.0)1063 c ori ep(i,k)=1.0-elacrit/max(clw(i,k),1.0e-8)1064 c ori ep(i,k)=max(ep(i,k),0.0 )1065 c ori ep(i,k)=min(ep(i,k),1.0 )1066 c ori sigp(i,k)=sigs1067 c ori endif1068 1075 310 continue 1069 320 continue 1070 c 1076 320 continue 1077 else 1078 do 325 k=1,nl 1079 do 315 i=1,ncum 1080 if(k.ge.(nk(i)+1))then 1081 tca=tp(i,k)-t0 1082 if(tca.ge.0.0)then 1083 elacrit=elcrit 1084 else 1085 elacrit=elcrit*(1.0-tca/tlcrit) 1086 endif 1087 elacrit=max(elacrit,0.0) 1088 ep(i,k)=1.0-elacrit/max(clw(i,k),1.0e-8) 1089 ep(i,k)=max(ep(i,k),0.0 ) 1090 ep(i,k)=min(ep(i,k),epmax ) 1091 sigp(i,k)=sigs 1092 endif 1093 315 continue 1094 325 continue 1095 endif 1071 1096 !===================================================================== 1072 1097 ! --- CALCULATE VIRTUAL TEMPERATURE AND LIFTED PARCEL
Note: See TracChangeset
for help on using the changeset viewer.