Changeset 5544
- Timestamp:
- Feb 17, 2025, 1:29:29 PM (3 days ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/cv3_routines.f90
r5502 r5544 2907 2907 DO il = 1, ncum 2908 2908 IF (i<=inb(il) .AND. lwork(il)) THEN 2909 wdtrain(il) = grav*ep(il, i)*m(il, i)*clw(il, i) 2910 wdtrainS(il, i) = wdtrain(il)/grav ! Ps jyg 2911 !! wdtrainA(il, i) = wdtrain(il)/grav ! Ps RomP 2909 wdtrainS(il, i) = ep(il, i)*m(il, i)*clw(il, i) ! jyg 2910 !!jyg wdtrain(il) = grav*ep(il, i)*m(il, i)*clw(il, i) 2911 !!jyg wdtrainS(il, i) = wdtrain(il)/grav ! Ps jyg 2912 !!jyg wdtrainA(il, i) = wdtrain(il)/grav ! Ps RomP 2912 2913 END IF 2913 2914 END DO … … 2919 2920 awat = elij(il, j, i) - (1.-ep(il,i))*clw(il, i) 2920 2921 awat = max(awat, 0.0) 2921 wdtrain(il) = wdtrain(il) + grav*awat*ment(il, j, i) 2922 wdtrainM(il, i) = wdtrain(il)/grav - wdtrainS(il, i) ! Pm jyg 2923 !! wdtrainM(il, i) = wdtrain(il)/grav - wdtrainA(il, i) ! Pm RomP 2922 wdtrainM(il, i) = wdtrainM(il, i) + awat*ment(il, j, i) ! jyg 2923 !!jyg wdtrain(il) = wdtrain(il) + grav*awat*ment(il, j, i) 2924 !!jyg wdtrainM(il, i) = wdtrain(il)/grav - wdtrainS(il, i) ! Pm jyg 2925 !!jyg wdtrainM(il, i) = wdtrain(il)/grav - wdtrainA(il, i) ! Pm RomP 2924 2926 END IF 2925 2927 END DO … … 2938 2940 IF (i<=inb(il) .AND. lwork(il)) THEN 2939 2941 wdtrainA(il,i) = ma(il, i+1)*(qta(il, i-1)-qta(il,i))/(1. - qta(il, i-1)) ! Pa jygprl 2940 wdtrain(il) = wdtrain(il) + grav*wdtrainA(il,i)2942 !!jyg wdtrain(il) = wdtrain(il) + grav*wdtrainA(il,i) 2941 2943 END IF 2942 2944 END DO … … 2949 2951 IF (i<=inb(il) .AND. lwork(il)) THEN 2950 2952 wdtrainA(il,i) = ma(il, i+1)*(qta(il, i-1)-qta(il,i)) ! Pa jygprl 2951 wdtrain(il) = wdtrain(il) + grav*wdtrainA(il,i)2953 !!jyg wdtrain(il) = wdtrain(il) + grav*wdtrainA(il,i) 2952 2954 END IF 2953 2955 END DO … … 2958 2960 ENDIF ! (cvflag_prec_eject) 2959 2961 2962 IF ( i > 1) THEN 2963 DO il = 1, ncum 2964 IF (i<=inb(il) .AND. lwork(il)) THEN 2965 wdtrain(il) = grav*(wdtrainS(il,i) + wdtrainM(il,i) + wdtrainA(il,i)) 2966 END IF 2967 END DO 2968 ENDIF ! ( i > 1) 2960 2969 2961 2970 ! *** find rain water and evaporation using provisional *** … … 3139 3148 ice(il, i) = ice(il, i) - fondue(il, i) 3140 3149 3141 IF (water(il,i)+ice(il,i)<1.E-30) THEN 3142 faci(il, i) = 0. 3143 ELSE 3144 faci(il, i) = ice(il, i)/(water(il,i)+ice(il,i)) 3145 END IF 3150 !! IF (water(il,i)+ice(il,i)<1.E-30) THEN 3151 !! faci(il, i) = 0. 3152 !! ELSE 3153 !! faci(il, i) = ice(il, i)/(water(il,i)+ice(il,i)) 3154 !! END IF 3155 3156 faci(il,i) = ice(il, i)/max((water(il,i)+ice(il,i)), smallestreal) 3146 3157 3147 3158 ! water(il,i)=water(il,i+1)+(1.-fraci(il,i))*e6+(1.-faci(il,i))*f6 … … 3423 3434 ! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3424 3435 3425 3426 3436 RETURN 3427 3437 … … 3531 3541 REAL, DIMENSION (nloc, nd) :: sigment, qtment ! cld 3532 3542 REAL, DIMENSION (nloc, nd, nd) :: qdet 3533 REAL sumdq !jyg3543 !! REAL sumdq !jyg 3534 3544 ! 3535 3545 ! ------------------------------------------------------------- … … 4007 4017 ! *** through each level *** 4008 4018 4009 4010 4019 !jyg< 4011 4020 !! DO i = 2, nl + 1 ! newvecto: mettre nl au lieu nl+1? … … 4026 4035 DO il = 1, ncum 4027 4036 amp1(il) = upwd(il,i+1) 4028 ad(il) = dnwd(il,i) 4037 !!jyg20250215 ad(il) = dnwd(il,i) 4038 ad(il) = -dnwd(il,i) 4029 4039 ENDDO 4030 4040 !----------------------------------------------------------- … … 4360 4370 500 END DO 4361 4371 4362 ! JYG<4363 ! Conservation de l'eau4364 ! sumdq = 0.4365 ! DO k = 1, nl4366 ! sumdq = sumdq + fr(1, k)*100.*(ph(1,k)-ph(1,k+1))/grav4367 ! END DO4368 ! PRINT *, 'cv3_yield, apres 500, sum(dq), precip, somme ', sumdq, Vprecip(1, 1), sumdq + vprecip(1, 1)4369 ! JYG>4372 !!!JYG< 4373 !!!Conservation de l'eau 4374 !! sumdq = 0. 4375 !! DO k = 1, nl 4376 !! sumdq = sumdq + fr(1, k)*100.*(ph(1,k)-ph(1,k+1))/grav 4377 !! END DO 4378 !! PRINT *, 'cv3_yield, apres 500, sum(dq), precip, somme ', sumdq, Vprecip(1, 1), sumdq + vprecip(1, 1) 4379 !!!JYG> 4370 4380 ! *** move the detrainment at level inb down to level inb-1 *** 4371 4381 ! *** in such a way as to preserve the vertically *** … … 4402 4412 END DO 4403 4413 4404 ! JYG<4405 ! Conservation de l'eau4406 ! sumdq = 0.4407 ! DO k = 1, nl4408 ! sumdq = sumdq + fr(1, k)*100.*(ph(1,k)-ph(1,k+1))/grav4409 ! END DO4410 ! PRINT *, 'cv3_yield, apres 503, sum(dq), precip, somme ', sumdq, Vprecip(1, 1), sumdq + vprecip(1, 1)4411 ! JYG>4414 !!!JYG< 4415 !!!Conservation de l'eau 4416 !! sumdq = 0. 4417 !! DO k = 1, nl 4418 !! sumdq = sumdq + fr(1, k)*100.*(ph(1,k)-ph(1,k+1))/grav 4419 !! END DO 4420 !! PRINT *, 'cv3_yield, apres 503, sum(dq), precip, somme ', sumdq, Vprecip(1, 1), sumdq + vprecip(1, 1) 4421 !!!JYG> 4412 4422 4413 4423 !AC! do j=1,ntra
Note: See TracChangeset
for help on using the changeset viewer.