Changeset 5622 for LMDZ6/trunk/libf/phylmd/cv3_routines.f90
- Timestamp:
- Apr 16, 2025, 9:25:21 PM (8 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/cv3_routines.f90
r5560 r5622 12 12 USE conema3_mod_h 13 13 USE lmdz_cv_ini, ONLY : alpha,alpha1,beta,betad,coef_peel,cv_flag_feed,delta,dpbase,dtcrit,dtovsh,dttrig,ejectice,ejectliq,elcrit,flag_epkeorig,flag_wb,minorig,nl,nlm,nlp,noconv_stop,noff,omtrain,pbcrit,ptcrit,sigdz,spfac,t_top_max,tau,tau_stop,tlcrit,wbmax 14 USE lmdz_cv_ini, ONLY : keep_bug_indices_cv3_tracer , keep_bug_q_nocons_cv14 USE lmdz_cv_ini, ONLY : keep_bug_indices_cv3_tracer 15 15 16 16 … … 142 142 keep_bug_indices_cv3_tracer = .FALSE. 143 143 CALL getin_p('keep_bug_indices_cv3_tracer', keep_bug_indices_cv3_tracer) 144 keep_bug_q_nocons_cv = .TRUE.145 CALL getin_p('keep_bug_q_nocons_cv', keep_bug_q_nocons_cv)146 144 147 145 … … 171 169 WRITE (*, *) 'keepbug_ice_frac =', keepbug_ice_frac 172 170 WRITE (*, *) 'keep_bug_indices_cv3_tracer =', keep_bug_indices_cv3_tracer 173 WRITE (*, *) 'keep_bug_q_nocons_cv =', keep_bug_q_nocons_cv174 171 175 172 first = .FALSE. … … 2707 2704 wdtrainA, wdtrainS, wdtrainM) ! RomP 2708 2705 USE lmdz_cv_ini, ONLY : cpd,ginv,grav,nl,nlp,sigdz 2709 USE lmdz_cv_ini, ONLY : keep_bug_q_nocons_cv2710 2706 USE cvflag_mod_h 2711 2707 USE print_control_mod, ONLY: prt_level, lunout … … 2912 2908 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2913 2909 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2914 IF (keep_bug_q_nocons_cv) THEN2915 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2916 DO il = 1, ncum2917 IF (i<=inb(il) .AND. lwork(il)) THEN2918 wdtrain(il) = grav*ep(il, i)*m(il, i)*clw(il, i)2919 wdtrainS(il, i) = wdtrain(il)/grav ! Ps jyg2920 END IF2921 END DO2922 2923 IF (i>1) THEN2924 DO j = 1, i - 12925 DO il = 1, ncum2926 IF (i<=inb(il) .AND. lwork(il)) THEN2927 awat = elij(il, j, i) - (1.-ep(il,i))*clw(il, i)2928 awat = max(awat, 0.0)2929 wdtrain(il) = wdtrain(il) + grav*awat*ment(il, j, i)2930 wdtrainM(il, i) = wdtrain(il)/grav - wdtrainS(il, i) ! Pm jyg2931 END IF2932 END DO2933 END DO2934 END IF2935 2936 IF (cvflag_prec_eject) THEN2937 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2938 IF (adiab_ascent_mass_flux_depends_on_ejectliq) THEN2939 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2940 !!! Warning : this option leads to water conservation violation2941 !!! Expert only2942 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2943 IF ( i > 1) THEN2944 DO il = 1, ncum2945 IF (i<=inb(il) .AND. lwork(il)) THEN2946 wdtrainA(il,i) = ma(il, i+1)*(qta(il, i-1)-qta(il,i))/(1. - qta(il, i-1)) ! Pa jygprl2947 wdtrain(il) = wdtrain(il) + grav*wdtrainA(il,i)2948 END IF2949 END DO2950 ENDIF ! ( i > 1)2951 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2952 ELSE ! (adiab_ascent_mass_flux_depends_on_ejectliq)2953 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2954 IF ( i > 1) THEN2955 DO il = 1, ncum2956 IF (i<=inb(il) .AND. lwork(il)) THEN2957 wdtrainA(il,i) = ma(il, i+1)*(qta(il, i-1)-qta(il,i)) ! Pa jygprl2958 wdtrain(il) = wdtrain(il) + grav*wdtrainA(il,i)2959 END IF2960 END DO2961 ENDIF ! ( i > 1)2962 2963 ENDIF ! (adiab_ascent_mass_flux_depends_on_ejectliq) ELSE2964 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2965 ENDIF ! (cvflag_prec_eject)2966 2967 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2968 ELSE ! (keep_bug_q_nocons_cv)2969 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2970 2910 DO il = 1, ncum 2971 2911 IF (i<=inb(il) .AND. lwork(il)) THEN … … 3023 2963 ENDIF ! ( i > 1) 3024 2964 3025 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3026 ENDIF ! (keep_bug_q_nocons_cv)3027 2965 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 3028 2966 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 3519 3457 USE cvflag_mod_h 3520 3458 USE lmdz_cv_ini, ONLY : grav,minorig,nl,nlp,rowl,rrd,nl,ci,cl,cpd,cpv 3521 USE lmdz_cv_ini, ONLY : keep_bug_q_nocons_cv3522 3459 IMPLICIT NONE 3523 3460 … … 4095 4032 IF (ok_optim_yield) THEN !| 4096 4033 !----------------------------------------------------------- 4097 IF (keep_bug_q_nocons_cv) THEN !!jyg202502154098 DO il = 1, ncum4099 amp1(il) = upwd(il,i+1)4100 ad(il) = dnwd(il,i)4101 ENDDO4102 ELSE ! (keep_bug_q_nocons_cv)4103 4034 DO il = 1, ncum 4104 4035 amp1(il) = upwd(il,i+1) 4105 4036 ad(il) = - dnwd(il,i) 4106 4037 ENDDO 4107 ENDIF ! (keep_bug_q_nocons_cv)4108 4038 !----------------------------------------------------------- 4109 4039 ELSE !(ok_optim_yield) !|
Note: See TracChangeset
for help on using the changeset viewer.