Changeset 5994
- Timestamp:
- Jan 5, 2026, 5:08:57 PM (7 days ago)
- File:
-
- 1 edited
-
LMDZ6/trunk/libf/phylmd/lmdz_lscp_main.f90 (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/lmdz_lscp_main.f90
r5765 r5994 35 35 dqsmelt, dqsfreez) 36 36 37 !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 38 ! Authors: Z.X. Li (LMD), J-L Dufresne (LMD), C. Rio (LMD), J-Y Grandpeix (LMD) 39 ! A. JAM (LMD), J-B Madeleine (LMD), E. Vignon (LMD), L. Touzze-Peiffert (LMD) 37 !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 38 ! Contacts: JB Madeleine jbm@lmd.ipsl.fr ; E Vignon etienne.vignon@lmd.ipsl.fr 40 39 !-------------------------------------------------------------------------------- 41 ! Date: 01/202140 ! First version: 01/2021 42 41 !-------------------------------------------------------------------------------- 43 42 ! Aim: Large Scale Clouds and Precipitation (LSCP) … … 47 46 ! and 'ilp' (il pleut, L. Li) 48 47 ! 49 ! Compared to the original fisrtilp code, lscp50 ! -> assumes thermcep = .TRUE. all the time (fisrtilp inconsistent when .FALSE.)51 ! -> consider always precipitation thermalisation (fl_cor_ebil>0)52 ! -> option iflag_fisrtilp_qsat<0 no longer possible (qsat does not evolve with T)53 ! -> option "oldbug" by JYG has been removed54 ! -> iflag_t_glace >0 always55 ! -> the 'all or nothing' cloud approach is no longer available (cpartiel=T always)56 ! -> rectangular distribution from L. Li no longer available57 ! -> We always account for the Wegener-Findeisen-Bergeron process (iflag_bergeron = 2 in fisrt)58 48 !-------------------------------------------------------------------------------- 59 49 ! References: 60 50 ! 61 51 ! - Bony, S., & Emanuel, K. A. 2001, JAS, doi: 10.1175/1520-0469(2001)058<3158:APOTCA>2.0.CO;2 62 ! - Hourdin et al. 2013, Clim Dyn, doi:10.1007/s00382-012-1343-y63 52 ! - Jam et al. 2013, Boundary-Layer Meteorol, doi:10.1007/s10546-012-9789-3 64 ! - Jouhaud, et al. 2018. JAMES, doi:10.1029/2018MS00137965 53 ! - Madeleine et al. 2020, JAMES, doi:10.1029/2020MS002046 66 ! - Touzze-Peifert Ludo, PhD thesis, p117-124 54 ! - Borella et al. 2025, JAMES, doi:10.1029/2024MS004918 55 ! - Raillard et al. 2026, JAMES, doi:10.22541/essoar.175096287.71557703/v1 56 ! - Vignon et al. 2026, ACP, doi:0.5194/egusphere-2025-4641 67 57 ! ------------------------------------------------------------------------------- 68 58 ! Code structure: 69 59 ! 70 ! P0> Thermalization of the precipitation coming from the overlying layer 71 ! P1> Evaporation of the precipitation (falling from the k+1 level) 72 ! P2> Cloud formation (at the k level) 73 ! P2.A.1> With the PDFs, calculation of cloud properties using the inital 74 ! values of T and Q 75 ! P2.A.2> Coupling between condensed water and temperature 76 ! P2.A.3> Calculation of final quantities associated with cloud formation 77 ! P2.B> Release of Latent heat after cloud formation 78 ! P3> Autoconversion to precipitation (k-level) 79 ! P4> Wet scavenging 80 !------------------------------------------------------------------------------ 81 ! Some preliminary comments (JBM) : 60 ! the formation of cloud and precipitation is treated as a top-down process, 61 ! starting from the top of the atmosphere down to the ground 82 62 ! 83 ! The cloud water that the radiation scheme sees is not the same that the cloud 84 ! water used in the physics and the dynamics 85 ! 86 ! During the autoconversion to precipitation (P3 step), radocond (cloud water used 87 ! by the radiation scheme) is calculated as an average of the water that remains 88 ! in the cloud during the precipitation and not the water remaining at the end 89 ! of the time step. The latter is used in the rest of the physics and advected 90 ! by the dynamics. 91 ! 92 ! In summary: 93 ! 94 ! Radiation: 95 ! xflwc(newmicro)+xfiwc(newmicro) = 96 ! radocond=lwcon(nc)+iwcon(nc) 97 ! 98 ! Notetheless, be aware of: 99 ! 100 ! radocond .NE. ocond(nc) 101 ! i.e.: 102 ! lwcon(nc)+iwcon(nc) .NE. ocond(nc) 103 ! but oliq+(ocond-oliq) .EQ. ocond 104 ! (which is not trivial) 63 ! P1> Precipitation processes before cloud formation 64 ! P2> Cloud formation and cloud phase determination 65 ! P3> Precipitation formation and interaction with clouds 66 ! P4> Computation of cloud water seen by radiation 67 ! P5> Wet scavenging 68 ! P6> Diagnostics and outputs 105 69 !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 106 70 ! … … 290 254 REAL, DIMENSION(klon) :: zdqsdT_raw 291 255 REAL, DIMENSION(klon) :: gammasat,dgammasatdt ! coefficient to make cold condensation at the correct RH and derivative wrt T 292 REAL, DIMENSION(klon) :: Tbef,Tbefth,Tbefthm1,qlibef,DT ! temperature, humidity and temp. variation during condensation iteration256 REAL, DIMENSION(klon) :: Tbef,Tbefth,Tbefthm1,qlibef,DT ! temperature, humidity and temp. variation during condensation iteration 293 257 REAL :: num,denom 294 258 REAL :: cste … … 513 477 514 478 !================================================================ 515 ! Flag for the new and more microphysical treatment of precipitation from Atelier Nuage (R)479 ! Flag for the new and more microphysical treatment of precipitation (poprecip) from Atelier Nuage (R) 516 480 IF ( ok_poprecip ) THEN 517 481 … … 565 529 ! ------------------------------------------------------------------- 566 530 567 ! P2.1> With the PDFs (log-normal, bigaussian)568 ! cloud properties calculation with the initial values of t and q569 ! ----------------------------------------------------------------570 571 531 ! initialise gammasat and stratiform_or_all_distrib 572 532 stratiform_or_all_distrib(:)=.TRUE. 573 533 gammasat(:)=1. 574 534 575 ! part of the code that is supposed to become obsolete soon576 !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++535 !!!! part of the code that is obsolete and should be deleted soon !!! 536 !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 577 537 IF (.NOT. ok_lscp_mergecond) THEN 578 538 IF (iflag_cld_th.GE.5) THEN … … 684 644 ! we calculate a new iteration 685 645 keepgoing(i) = .TRUE. 686 687 ! P2.2.1> cloud fraction and condensed water mass calculation688 ! Calculated variables:689 ! rneb : cloud fraction690 ! zqn : total water within the cloud691 ! zcond: mean condensed water within the mesh692 ! rhcl: clear-sky relative humidity693 !---------------------------------------------------------------694 646 695 647 ! new temperature that only serves in the iteration process: … … 759 711 ENDDO 760 712 761 !--------------------------------------------- 762 !-- CONDENSATION AND ICE SUPERSATURATION -- 763 !--------------------------------------------- 713 ! P2.1> CONDENSATION AND ICE SUPERSATURATION 714 !------------------------------------------- 764 715 765 716 CALL condensation_ice_supersat( & … … 802 753 803 754 804 ! Cloud phase determination805 755 ! P2.2> Cloud phase determination 756 !-------------------------------- 806 757 807 758 IF (iflag_icefrac .LE. 1) THEN … … 891 842 IF (keepgoing(i)) THEN 892 843 893 ! P2.2.2> Approximative calculation of temperature variation DT 894 ! due to condensation. 895 ! Calculated variables: 896 ! dT : temperature change due to condensation 897 !--------------------------------------------------------------- 844 ! Approximative calculation of temperature variation DT due to condensation. 845 !---------------------------------------------------------------------------- 898 846 899 847 … … 932 880 ENDDO ! iter=1,iflag_fisrtilp_qsat+1 933 881 934 ! P2. 2> Final quantities calculation882 ! P2.3> Final quantities calculation 935 883 ! Calculated variables: 936 884 ! rneb : cloud fraction 937 885 ! zcond: mean condensed water in the mesh 938 886 ! zqn : mean water vapor in the mesh 939 ! zfice: ice fraction in clouds940 887 ! zt : temperature 941 888 ! rhcl : clear-sky relative humidity … … 1014 961 1015 962 !================================================================ 1016 ! Flag for the new and more microphysical treatment of precipitation from Atelier Nuage (R)963 ! Flag for the new and more microphysical treatment of precipitation (poprecip) from Atelier Nuage (R) 1017 964 IF (ok_poprecip) THEN 1018 965 … … 1064 1011 ENDIF 1065 1012 ELSE 1013 ! During the autoconversion to precipitation with the historical precipitation scheme (P3 step), 1014 ! radocond (cloud water used by the radiation scheme) is calculated as an average 1015 ! of the water that remains in the cloud during the precipitation 1016 ! and not the water remaining at the end of the time step 1066 1017 radocond(i,k) = zradocond(i) 1067 1018 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.
