Changeset 1515 for LMDZ5/trunk/libf/phylmd/cv3_routines.F
- Timestamp:
- May 6, 2011, 12:40:30 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/cv3_routines.F
r1510 r1515 38 38 CHARACTER (LEN=20) :: modname='cv3_param' 39 39 CHARACTER (LEN=80) :: abort_message 40 LOGICAL, SAVE :: FIRST=.TRUE. 41 !$OMP THREADPRIVATE(FIRST) 42 40 41 LOGICAL,SAVE :: first=.true. 42 c$OMP THREADPRIVATE(first) 43 43 44 44 c noff: integer limit for convection (nd-noff) … … 53 53 nlm=nl-1 54 54 55 IF (first) THEN 56 55 57 c -- "microphysical" parameters: 56 58 sigdz=0.01 57 c sigd=0.00358 c sigd = 0.0159 cCR:test sur la fraction des descentes precipitantes60 59 spfac = 0.15 61 60 pbcrit = 150.0 62 61 ptcrit = 500.0 62 cIM beg: ajout fis. reglage ep 63 flag_epKEorig=0 64 elcrit=0.0011 65 tlcrit=-55.0 63 66 cIM lu dans physiq.def via conf_phys.F90 epmax = 0.993 64 67 … … 71 74 ccc dttrig = 5. ! (loose) condition for triggering 72 75 dttrig = 10. ! (loose) condition for triggering 76 wb = 1. ! (m/s) adiab updraught speed at LFC (used in cv3p1_closure) 73 77 74 78 c -- rate of approach to quasi-equilibrium: … … 85 89 betad=10.0 ! original value (from convect 4.3) 86 90 87 OPEN(99,file='conv_param.data',status='old',91 OPEN(99,file='conv_param.data',status='old', 88 92 $ form='formatted',err=9999) 89 93 READ(99,*,end=9998) dpbase … … 93 97 READ(99,*,end=9998) spfac 94 98 READ(99,*,end=9998) tau 99 READ(99,*,end=9998) wb 95 100 9998 Continue 96 101 CLOSE(99) 97 102 9999 Continue 98 if (first) then99 103 WRITE(*,*)'dpbase=',dpbase 100 104 WRITE(*,*)'pbcrit=',pbcrit … … 103 107 WRITE(*,*)'spfac=',spfac 104 108 WRITE(*,*)'tau=',tau 105 first = .false. 106 endif 109 WRITE(*,*)'wb =',wb 110 111 cIM Lecture du fichier ep_param.data 112 OPEN(79,file='ep_param.data',status='old', 113 $ form='formatted',err=7999) 114 READ(79,*,end=7998) flag_epKEorig 115 READ(79,*,end=7998) elcrit 116 READ(79,*,end=7998) tlcrit 117 7998 Continue 118 CLOSE(79) 119 7999 Continue 120 WRITE(*,*)'flag_epKEorig',flag_epKEorig 121 WRITE(*,*)'elcrit=',elcrit 122 WRITE(*,*)'tlcrit=',tlcrit 123 cIM end: ajout fis. reglage ep 124 125 first = .false. 126 ENDIF 107 127 108 128 beta = 1.0 - delt/tau 109 129 alpha1 = 1.5e-3 130 cjyg Correction bug alpha 131 alpha1 = alpha1*1.5 110 132 alpha = alpha1 * delt/tau 111 c increase alpha to compensate W decrease: 112 alpha = alpha*1.5 133 cjyg Bug 134 ccc increase alpha to compensate W decrease: 135 cc alpha = alpha*1.5 113 136 114 137 return … … 942 965 logical lcape(nloc) 943 966 integer iposit(nloc) 944 real elcrit, tlcrit, sigs945 parameter(sigs=0.15)946 integer flag_epKEorig947 LOGICAL, SAVE :: FIRST=.TRUE.948 !$OMP THREADPRIVATE(FIRST)949 967 950 968 !===================================================================== … … 1055 1073 ! --- THESE MAY BE FUNCTIONS OF TP(I), P(I) AND CLW(I) 1056 1074 !===================================================================== 1057 cIM beg: ajout fis. reglage ep1058 flag_epKEorig=01059 elcrit=0.00111060 tlcrit=-55.01061 cIM Lecture du fichier ep_param.data1062 OPEN(99,file='ep_param.data',status='old',1063 $ form='formatted',err=9999)1064 READ(99,*,end=9998) flag_epKEorig1065 READ(99,*,end=9998) elcrit1066 READ(99,*,end=9998) tlcrit1067 9998 Continue1068 CLOSE(99)1069 9999 Continue1070 if (first) then1071 WRITE(*,*)'flag_epKEorig',flag_epKEorig1072 WRITE(*,*)'elcrit=',elcrit1073 WRITE(*,*)'tlcrit=',tlcrit1074 first=.false.1075 endif1076 cIM end: ajout fis. reglage ep1077 1075 1078 1076 if(flag_epKEorig.ne.1) THEN … … 1081 1079 pden=ptcrit-pbcrit 1082 1080 ep(i,k)=(plcl(i)-p(i,k)-pbcrit)/pden*epmax 1083 ep(i,k)= amax1(ep(i,k),0.0)1084 ep(i,k)= amin1(ep(i,k),epmax)1081 ep(i,k)=max(ep(i,k),0.0) 1082 ep(i,k)=min(ep(i,k),epmax) 1085 1083 sigp(i,k)=spfac 1086 1084 310 continue … … 1100 1098 ep(i,k)=max(ep(i,k),0.0 ) 1101 1099 ep(i,k)=min(ep(i,k),epmax ) 1102 sigp(i,k)=s igs1100 sigp(i,k)=spfac 1103 1101 endif 1104 1102 315 continue
Note: See TracChangeset
for help on using the changeset viewer.