Changeset 4888
- Timestamp:
- Apr 2, 2024, 9:29:46 PM (8 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/lmdz_lscp_poprecip.F90
r4884 r4888 361 361 !--Initialisation of variables 362 362 363 363 364 qzero(:) = 0. 364 365 … … 382 383 dqlauto = 0. 383 384 dqlrim = 0. 384 dqifreez= 0.385 385 386 386 !--dhum_to_dflux: coef to convert a delta in specific quantity to a flux … … 710 710 air_thermal_conduct=(5.69+0.017*(temp(i)-RTT))*1.e-3*4.184 ! thermal conductivity of the air, SI 711 711 712 712 713 !--In clear air 713 IF ( snowclr(i) .GT. 0.) THEN714 IF ( ( snowclr(i) .GT. 0. ) .AND. ( precipfracclr(i) .GT. 0. ) ) THEN 714 715 !--Calculated according to 715 716 !-- flux = velocity_snowflakes * nb_snowflakes * volume_snowflakes * rho_snow … … 719 720 * capa_snowflake / RLMLT * coef_ventil & 720 721 * MAX(0., temp_wetbulb - RTT) * dtime 721 722 722 723 !--Barrier to limit the melting flux to the clr snow flux in the mesh 723 724 dqsclrmelt = MAX( dqsclrmelt , -snowclr(i) / dhum_to_dflux(i)) 724 725 ENDIF 725 726 727 726 728 !--In cloudy air 727 IF ( snowcld(i) .GT. 0.) THEN729 IF ( ( snowcld(i) .GT. 0. ) .AND. ( precipfraccld(i) .GT. 0. ) ) THEN 728 730 !--Calculated according to 729 731 !-- flux = velocity_snowflakes * nb_snowflakes * volume_snowflakes * rho_snow … … 736 738 !--Barrier to limit the melting flux to the cld snow flux in the mesh 737 739 dqscldmelt = MAX(dqscldmelt , - snowcld(i) / dhum_to_dflux(i)) 738 740 ENDIF 739 741 742 740 743 !--Barrier on temperature. If the total melting flux leads to a 741 744 !--positive temperature, it is limited to keep temperature above 0 degC. … … 758 761 snowclr(i) = MAX(0., snowclr(i) + dqsclrmelt * dhum_to_dflux(i)) 759 762 snowcld(i) = MAX(0., snowcld(i) + dqscldmelt * dhum_to_dflux(i)) 760 761 763 762 764 !--Temperature adjustment with the release of latent … … 807 809 dqrtotfreez_step1 = 0. 808 810 809 IF ( ( qice(i) .GT. 0. ) .AND. ( raincld(i) .GT. 0. ) ) THEN811 IF ( ( qice(i) .GT. 0. ) .AND. ( raincld(i) .GT. 0. ) .AND. ( precipfraccld(i) .GT. 0. ) ) THEN 810 812 dqrclrfreez = 0. 811 813 dqrcldfreez = 0. … … 913 915 914 916 ENDIF 917 918 915 919 916 920 !--If the local flux of rain+snow in clear/cloudy air is lower than rain_int_min, … … 943 947 + snowcld(i) / ( pplay(i) / RD / temp(i) ) / snow_fallspeed_cld ) 944 948 949 945 950 ENDDO ! loop on klon 946 951 952 947 953 END SUBROUTINE poprecip_postcld 948 954
Note: See TracChangeset
for help on using the changeset viewer.