Changeset 1515
- Timestamp:
- May 6, 2011, 12:40:30 PM (14 years ago)
- Location:
- LMDZ5/trunk/libf/phylmd
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/cv3_buoy.F
r981 r1515 33 33 real bll(nloc), bmx(nloc) 34 34 real gamma(nloc) 35 logical ok(nloc) 36 35 37 real dgamma 36 38 real buoymin 37 logical ok(nloc) 38 39 data dgamma /2.e-03/ !dgamma gamma 40 data buoymin /2./ 39 parameter (dgamma = 2.e-03) !dgamma gamma 40 parameter (buoymin = 2.) 41 41 42 42 logical fixed_bll -
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 -
LMDZ5/trunk/libf/phylmd/cv3p1_closure.F
r1403 r1515 75 75 real term1,term2,term3 76 76 real alp2(nloc) ! Alp with offset 77 real wb,sigmax 78 data wb /2./, sigmax /0.1/ 77 c 78 real sigmax 79 parameter (sigmax = 0.1) 79 80 80 81 CHARACTER (LEN=20) :: modname='cv3p1_closure' … … 515 516 c 516 517 DO il = 1,ncum 517 cbmf1(il) = alp2(il)/(0.5*wb*wb-Cin(il)) 518 cjyg Modification du coef de wb*wb pour conformite avec papier Wake 519 cc cbmf1(il) = alp2(il)/(0.5*wb*wb-Cin(il)) 520 cbmf1(il) = alp2(il)/(2.*wb*wb-Cin(il)) 518 521 if(cbmf1(il).EQ.0.AND.alp2(il).NE.0.) THEN 519 522 write(lunout,*) -
LMDZ5/trunk/libf/phylmd/cv3p_mixing.F
r1494 r1515 83 83 INTEGER ifrst 84 84 DATA ifrst/0/ 85 c$OMP THREADPRIVATE(ifirst) 85 86 C 86 87 -
LMDZ5/trunk/libf/phylmd/cv3param.h
r987 r1515 9 9 integer noff, minorig, nl, nlp, nlm 10 10 real sigdz, spfac 11 integer flag_epKEorig 11 12 real pbcrit, ptcrit 13 real elcrit, tlcrit 12 14 real omtrain 13 15 real dtovsh, dpbase, dttrig 14 16 real dtcrit, tau, beta, alpha, alpha1 17 real wb 15 18 real delta 16 19 real betad … … 18 21 COMMON /cv3param/ noff, minorig, nl, nlp, nlm 19 22 : , sigdz, spfac 23 : ,flag_epKEorig 20 24 : ,pbcrit, ptcrit 25 : ,elcrit, tlcrit 21 26 : ,omtrain 22 27 : ,dtovsh, dpbase, dttrig 23 : ,dtcrit, tau, beta, alpha, alpha1, delta, betad 28 : ,dtcrit, tau, beta, alpha, alpha1 29 : ,wb 30 : ,delta, betad 24 31 !$OMP THREADPRIVATE(/cv3param/) 25 32
Note: See TracChangeset
for help on using the changeset viewer.