Changeset 5794 for LMDZ6/branches/contrails/libf/phylmd/lmdz_lscp_main.f90
- Timestamp:
- Jul 29, 2025, 5:41:19 PM (7 days ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/contrails/libf/phylmd/lmdz_lscp_main.f90
r5791 r5794 31 31 dqvc_sub, dqvc_con, dqvc_mix, qsatl, qsati, & 32 32 cfc_seri, qtc_seri, nic_seri, & 33 qice_cont, flight_dist, flight_fuel, qradice_cont, & 33 qice_cont, flight_dist, flight_fuel, & 34 contfrarad, qradice_cont, & 34 35 Tcritcont, qcritcont, potcontfraP, potcontfraNP, & 35 36 cloudth_sth, & … … 129 130 USE lmdz_lscp_ini, ONLY : ok_weibull_warm_clouds, ok_no_issr_strato, ok_ice_sedim 130 131 USE lmdz_lscp_ini, ONLY : ok_plane_contrail 131 USE lmdz_lscp_ini, ONLY : ok_nodeep_lscp, ok_nodeep_lscp_rad 132 USE lmdz_lscp_ini, ONLY : ok_nodeep_lscp, ok_nodeep_lscp_rad, ok_higher_cirrus_cover 132 133 USE lmdz_lscp_ini, ONLY : ok_lscp_mergecond, gamma_mixth 133 134 … … 281 282 282 283 REAL, DIMENSION(klon,klev), INTENT(OUT) :: qice_cont !--condensed water in contrails [kg/kg] 284 REAL, DIMENSION(klon,klev), INTENT(OUT) :: contfrarad !--contrail fraction for radiation [-] 283 285 REAL, DIMENSION(klon,klev), INTENT(OUT) :: qradice_cont !--condensed water in contrails used in the radiation scheme [kg/kg] 284 286 REAL, DIMENSION(klon,klev), INTENT(OUT) :: Tcritcont !--critical temperature for contrail formation [K] … … 356 358 REAL, DIMENSION(klon) :: zradocond, zradoice 357 359 REAL, DIMENSION(klon) :: zrho_up, zvelo_up 360 REAL :: dz, coef_cover 358 361 359 362 ! for condensation and ice supersaturation … … 742 745 743 746 747 DO i = 1, klon 748 !--Calculate the shear value (input for condensation and ice supersat) 749 !--Cell thickness [m] 750 delta_z = ( paprs(i,k) - paprs(i,k+1) ) / RG / pplay(i,k) * zt(i) * RD 751 IF ( iftop ) THEN 752 ! top 753 shear(i) = SQRT( ( (u_seri(i,k) - u_seri(i,k-1)) / delta_z )**2. & 754 + ( (v_seri(i,k) - v_seri(i,k-1)) / delta_z )**2. ) 755 ELSEIF ( k .EQ. 1 ) THEN 756 ! surface 757 shear(i) = SQRT( ( (u_seri(i,k+1) - u_seri(i,k)) / delta_z )**2. & 758 + ( (v_seri(i,k+1) - v_seri(i,k)) / delta_z )**2. ) 759 ELSE 760 ! other layers 761 shear(i) = SQRT( ( ( (u_seri(i,k+1) + u_seri(i,k)) / 2. & 762 - (u_seri(i,k) + u_seri(i,k-1)) / 2. ) / delta_z )**2. & 763 + ( ( (v_seri(i,k+1) + v_seri(i,k)) / 2. & 764 - (v_seri(i,k) + v_seri(i,k-1)) / 2. ) / delta_z )**2. ) 765 ENDIF 766 ENDDO 767 744 768 IF ( ok_ice_supersat ) THEN 745 769 … … 832 856 nic_seri(i,k) = nic_seri(i,k) * deepconv_coef 833 857 ENDIF 834 ENDIF835 836 !--Calculate the shear value (input for condensation and ice supersat)837 !--Cell thickness [m]838 delta_z = ( paprs(i,k) - paprs(i,k+1) ) / RG / pplay(i,k) * zt(i) * RD839 IF ( iftop ) THEN840 ! top841 shear(i) = SQRT( ( (u_seri(i,k) - u_seri(i,k-1)) / delta_z )**2. &842 + ( (v_seri(i,k) - v_seri(i,k-1)) / delta_z )**2. )843 ELSEIF ( k .EQ. 1 ) THEN844 ! surface845 shear(i) = SQRT( ( (u_seri(i,k+1) - u_seri(i,k)) / delta_z )**2. &846 + ( (v_seri(i,k+1) - v_seri(i,k)) / delta_z )**2. )847 ELSE848 ! other layers849 shear(i) = SQRT( ( ( (u_seri(i,k+1) + u_seri(i,k)) / 2. &850 - (u_seri(i,k) + u_seri(i,k-1)) / 2. ) / delta_z )**2. &851 + ( ( (v_seri(i,k+1) + v_seri(i,k)) / 2. &852 - (v_seri(i,k) + v_seri(i,k-1)) / 2. ) / delta_z )**2. )853 858 ENDIF 854 859 ENDIF … … 1415 1420 qtc_seri(:,k) = qcont(:) 1416 1421 nic_seri(:,k) = Ncont(:) 1422 contfrarad(:,k) = contfra(:) 1417 1423 ENDIF 1418 1424 1419 1425 IF ( ok_ice_supersat ) THEN 1420 1421 1426 DO i = 1, klon 1422 1427 … … 1470 1475 qsub(i,k) = zq(i) - qvc(i) - qissr(i,k) 1471 1476 qcld(i,k) = qvc(i) + zoliq(i) 1477 1478 IF ( ok_higher_cirrus_cover .AND. pt_pron_clds(i) .AND. .NOT. ptconv(i,k) ) THEN 1479 !--Following Brooks et al. (2005) 1480 !--This is only valid for cirrus clouds 1481 !--We do not apply it do convective clouds 1482 IF ( ( rneb(i,k) .GT. eps ) .AND. ( rneb(i,k) .LT. (1. - eps) ) ) THEN 1483 dz = ( paprs(i,k) - paprs(i,k+1) ) / RG / pplay(i,k) * zt(i) * RD 1484 coef_cover = (0.0706 + 0.1274 * shear(i)**0.3015) & 1485 * dz**0.7679 / SQRT(cell_area(i))**0.2254 1486 rneb(i,k) = 1. / (1. + EXP(-coef_cover) * (1. / rneb(i,k) - 1.)) 1487 IF ( contfrarad(i,k) .GT. eps ) THEN 1488 contfrarad(i,k) = cfc_seri(i,k) / cf_seri(i,k) * rneb(i,k) 1489 ENDIF 1490 ENDIF 1491 ENDIF 1472 1492 1473 1493 !--Calculation of the ice supersaturated fraction following Lamquin et al (2012)
Note: See TracChangeset
for help on using the changeset viewer.