Changeset 4420
- Timestamp:
- Feb 6, 2023, 8:50:16 PM (22 months ago)
- Location:
- LMDZ6/trunk/libf/phylmd
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/lscp_ini_mod.F90
r4412 r4420 38 38 !$OMP THREADPRIVATE(ok_radocond_snow) 39 39 40 LOGICAL, SAVE :: ok_debug_autoconversion=.true. ! removes a bug in the autoconversion process 41 !$OMP THREADPRIVATE(ok_debug_autoconversion) 42 40 43 41 44 CONTAINS … … 56 59 CALL getin_p('rain_int_min',rain_int_min) 57 60 CALL getin_p('iflag_mpc_bl',iflag_mpc_bl) 58 CALL getin_p('ok_radocond_snow',ok_radocond_snow) 61 CALL getin_p('ok_radocond_snow',ok_radocond_snow) 62 CALL getin_p('ok_debug_autoconversion',ok_debug_autoconversion) 59 63 WRITE(lunout,*) 'lscp, ninter:', ninter 60 64 WRITE(lunout,*) 'lscp, iflag_evap_prec:', iflag_evap_prec … … 63 67 WRITE(lunout,*) 'lscp, iflag_mpc_bl:', iflag_mpc_bl 64 68 WRITE(lunout,*) 'lscp, ok_radocond_snow:', ok_radocond_snow 65 69 WRITE(lunout,*) 'lscp, ok_debug_autoconversion:', ok_debug_autoconversion 70 66 71 ! check for precipitation sub-time steps 67 72 IF (ABS(dtime/REAL(ninter)-360.0).GT.0.001) THEN -
LMDZ6/trunk/libf/phylmd/lscp_mod.F90
r4412 r4420 93 93 94 94 USE lscp_ini_mod, ONLY : seuil_neb, ninter, iflag_evap_prec, t_coup, DDT0, ztfondue, rain_int_min 95 USE lscp_ini_mod, ONLY : iflag_mpc_bl, ok_radocond_snow, a_tr_sca 95 USE lscp_ini_mod, ONLY : iflag_mpc_bl, ok_radocond_snow, a_tr_sca, ok_debug_autoconversion 96 96 97 97 … … 962 962 zrain= 0.0 963 963 ELSE 964 965 IF (ok_debug_autoconversion) THEN ! if condition to be removed after test phase 966 964 967 ! water quantity to remove: zchau (Sundqvist, 1978) 965 968 ! same thing for the ice: zfroi (Zender & Kiehl, 1997) … … 980 983 ! reduces the in-cloud water). 981 984 982 983 985 IF ((iflag_cloudth_vert.GE.3).AND.(iflag_rain_incloud_vol.EQ.1)) THEN 984 986 zchau = zct *dtime/REAL(ninter) * zoliql(i) & … … 988 990 *(1.0-EXP(-(zoliql(i)/zneb(i)/zcl)**2)) ! dqliq/dt=-qliq/tau*(1-exp(-qcin/clw)**2) 989 991 ENDIF 992 993 ELSE ! with old bug in autoconversion 994 995 ! water quantity to remove: zchau (Sundqvist, 1978) 996 ! same thing for the ice: zfroi (Zender & Kiehl, 1997) 997 IF (ptconv(i,k)) THEN ! if convective point 998 zcl=cld_lc_con 999 zct=1./cld_tau_con 1000 zfroi = dtime/REAL(ninter)/zdz(i)*zoliq(i)*velo(i,k)*zfice(i) 1001 ELSE 1002 zcl=cld_lc_lsc 1003 zct=1./cld_tau_lsc 1004 zfroi = dtime/REAL(ninter)/zdz(i)*zoliq(i) & ! dqice/dt=1/rho*d(rho*wice*qice)/dz 1005 *velo(i,k) * zfice(i) 1006 ENDIF 1007 1008 ! if vertical heterogeneity is taken into account, we use 1009 ! the "true" volume fraction instead of a modified 1010 ! surface fraction (which is larger and artificially 1011 ! reduces the in-cloud water). 1012 1013 1014 IF ((iflag_cloudth_vert.GE.3).AND.(iflag_rain_incloud_vol.EQ.1)) THEN 1015 zchau = zct *dtime/REAL(ninter) * zoliq(i) & 1016 *(1.0-EXP(-(zoliq(i)/ctot_vol(i,k)/zcl)**2)) *(1.-zfice(i)) 1017 ELSE 1018 zchau = zct *dtime/REAL(ninter) * zoliq(i) & 1019 *(1.0-EXP(-(zoliq(i)/zneb(i)/zcl)**2)) *(1.-zfice(i)) ! dqliq/dt=-qliq/tau*(1-exp(-qcin/clw)**2) 1020 ENDIF 1021 1022 ENDIF ! ok_debug_autoconversion 990 1023 991 1024 zrain = MIN(MAX(zchau,0.0),zoliql(i))
Note: See TracChangeset
for help on using the changeset viewer.