Changeset 4692
- Timestamp:
- Sep 18, 2023, 6:43:31 PM (14 months ago)
- Location:
- LMDZ6/trunk/libf/phylmd
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/lmdz_cloud_optics_prop.F90
r4683 r4692 4 4 CONTAINS 5 5 6 SUBROUTINE cloud_optics_prop( flag_aerosol, ok_cdnc, bl95_b0, bl95_b1, paprs, pplay, t, pqlwp, picefra, pclc, &6 SUBROUTINE cloud_optics_prop(klon, klev, paprs, pplay, t, pqlwp, picefra, pclc, & 7 7 pcltau, pclemi, pch, pcl, pcm, pct, pctlwp, xflwp, xfiwp, xflwc, xfiwc, & 8 mass_solu_aero, mass_solu_aero_pi, pcldtaupi, latitude_deg, distcltop, temp_cltop, re, fl, reliq, reice, & 9 reliq_pi, reice_pi) 10 11 USE dimphy 12 USE phys_local_var_mod, ONLY: scdnc, cldncl, reffclwtop, lcc, reffclws, & 13 reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra, icc3dcon, icc3dstra, & 14 zfice, dNovrN, ptconv 15 USE phys_state_var_mod, ONLY: rnebcon, clwcon 8 mass_solu_aero, mass_solu_aero_pi, pcldtaupi, distcltop, temp_cltop, re, fl, reliq, reice, & 9 reliq_pi, reice_pi, scdnc, cldncl, reffclwtop, lcc, reffclws, & 10 reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra, icc3dcon, icc3dstra, & 11 zfice, dNovrN, ptconv,rnebcon, clwcon) 12 13 USE lmdz_cloud_optics_prop_ini , ONLY : flag_aerosol, ok_cdnc 14 USE lmdz_cloud_optics_prop_ini , ONLY : lunout 15 USE lmdz_cloud_optics_prop_ini , ONLY : bl95_b0, bl95_b1 16 USE lmdz_cloud_optics_prop_ini , ONLY : latitude_deg 17 USE lmdz_cloud_optics_prop_ini , ONLY : iflag_t_glace 18 USE lmdz_cloud_optics_prop_ini , ONLY : cdnc_max, cdnc_max_m3 19 USE lmdz_cloud_optics_prop_ini , ONLY : cdnc_min, cdnc_min_m3 20 16 21 USE icefrac_lsc_mod ! computes ice fraction (JBM 3/14) 17 USE lmdz_lscp_ini, only: iflag_t_glace18 USE ioipsl_getin_p_mod, ONLY : getin_p19 USE print_control_mod, ONLY: lunout20 22 USE lmdz_lscp_tools, only: icefrac_lscp 21 23 … … 63 65 ! ====================================================================== 64 66 67 65 68 include "YOMCST.h" 66 69 include "nuage.h" … … 69 72 include "clesphys.h" 70 73 74 71 75 ! choix de l'hypothese de recouvrement nuageuse via radopt.h (IM, 19.07.2016) 72 76 ! !novlp=1: max-random … … 80 84 INTEGER flag_max 81 85 86 ! List of arguments: 87 INTEGER, INTENT(IN) :: klon, klev 88 REAL, INTENT(IN) :: paprs(klon, klev+1) 89 REAL, INTENT(IN) :: pplay(klon, klev) 90 REAL, INTENT(IN) :: t(klon, klev) 91 REAL, INTENT(INOUT) :: pclc(klon, klev) 92 REAL, INTENT(IN) :: pqlwp(klon, klev), picefra(klon,klev) 93 REAL, INTENT(IN) :: rnebcon(klon,klev), clwcon(klon,klev) 94 REAL, INTENT(OUT) :: pcltau(klon, klev) 95 REAL, INTENT(OUT) :: pclemi(klon, klev) 96 REAL, INTENT(OUT) :: pcldtaupi(klon, klev) 97 98 REAL, INTENT(OUT) :: pct(klon) 99 REAL, INTENT(OUT) :: pcl(klon) 100 REAL, INTENT(OUT) :: pcm(klon) 101 REAL, INTENT(OUT) :: pch(klon) 102 REAL, INTENT(OUT) :: pctlwp(klon) 103 104 REAL, INTENT(OUT) :: distcltop(klon,klev) 105 REAL, INTENT(OUT) :: temp_cltop(klon,klev) 106 REAL, INTENT(OUT) :: xflwp(klon), xfiwp(klon) 107 REAL, INTENT(OUT) :: xflwc(klon, klev), xfiwc(klon, klev) 108 ! jq for the aerosol indirect effect 109 ! jq introduced by Johannes Quaas (quaas@lmd.jussieu.fr), 27/11/2003 110 REAL, INTENT(IN) :: mass_solu_aero(klon, klev) ! total mass concentration for all soluble aerosols [ug m-3] 111 REAL, INTENT(IN) :: mass_solu_aero_pi(klon, klev) ! - " - (pre-industrial value) 112 REAL, INTENT(OUT) :: re(klon, klev) ! cloud droplet effective radius [um] 113 REAL, INTENT(OUT) :: fl(klon, klev) ! xliq * rneb (denominator to re; fraction of liquid water clouds 114 ! within the grid cell) 115 ! Abderrahmane oct 2009 116 REAL, INTENT(OUT) :: reliq(klon, klev), reice(klon, klev) 117 REAL, INTENT(OUT) :: reliq_pi(klon, klev), reice_pi(klon, klev) 118 ! 119 REAL, INTENT(OUT) :: scdnc(klon, klev), cldncl(klon), reffclwtop(klon) 120 REAL, INTENT(OUT) :: lcc(klon), reffclws(klon, klev) 121 REAL, INTENT(OUT) :: reffclwc(klon, klev), cldnvi(klon), lcc3d(klon, klev) 122 REAL, INTENT(OUT) :: lcc3dcon(klon, klev), lcc3dstra(klon, klev), icc3dcon(klon, klev) 123 REAL, INTENT(OUT) :: icc3dstra(klon, klev), zfice(klon, klev) 124 REAL, INTENT(IN) :: dNovrN(klon) 125 LOGICAL, INTENT(IN) :: ptconv(klon, klev) 126 127 ! Local variables 82 128 ! threshold PARAMETERs 83 129 REAL thres_tau, thres_neb … … 87 133 REAL tcc(klon), ftmp(klon), lcc_integrat(klon), height(klon) 88 134 89 REAL paprs(klon, klev+1)90 REAL pplay(klon, klev)91 REAL t(klon, klev)92 REAL pclc(klon, klev)93 REAL pqlwp(klon, klev), picefra(klon,klev)94 REAL pcltau(klon, klev)95 REAL pclemi(klon, klev)96 REAL pcldtaupi(klon, klev)97 REAL latitude_deg(klon)98 99 REAL pct(klon)100 REAL pcl(klon)101 REAL pcm(klon)102 REAL pch(klon)103 REAL pctlwp(klon)104 105 REAL distcltop(klon,klev)106 REAL temp_cltop(klon,klev)107 135 LOGICAL lo 108 136 … … 118 146 119 147 INTEGER i, k 120 REAL xflwp(klon), xfiwp(klon)121 REAL xflwc(klon, klev), xfiwc(klon, klev)122 148 123 149 REAL radius … … 145 171 ! jq introduced by Johannes Quaas (quaas@lmd.jussieu.fr), 27/11/2003 146 172 ! jq 147 REAL mass_solu_aero(klon, klev) ! total mass concentration for all soluble aerosols [ug m-3]148 REAL mass_solu_aero_pi(klon, klev) ! - " - (pre-industrial value)149 173 REAL cdnc(klon, klev) ! cloud droplet number concentration [m-3] 150 REAL re(klon, klev) ! cloud droplet effective radius [um]151 174 REAL cdnc_pi(klon, klev) ! cloud droplet number concentration [m-3] (pi value) 152 175 REAL re_pi(klon, klev) ! cloud droplet effective radius [um] (pi value) 153 176 154 REAL fl(klon, klev) ! xliq * rneb (denominator to re; fraction of liquid water clouds155 ! within the grid cell)156 157 INTEGER flag_aerosol158 LOGICAL ok_cdnc159 REAL bl95_b0, bl95_b1 ! Parameter in B&L 95-Formula160 161 ! jq-end162 177 ! IM cf. CR:parametres supplementaires 163 178 REAL dzfice(klon,klev) … … 175 190 REAL d_rei_dt 176 191 177 ! Abderrahmane oct 2009178 REAL reliq(klon, klev), reice(klon, klev)179 REAL reliq_pi(klon, klev), reice_pi(klon, klev)180 181 REAL,SAVE :: cdnc_min=-1.182 REAL,SAVE :: cdnc_min_m3183 !$OMP THREADPRIVATE(cdnc_min,cdnc_min_m3)184 REAL,SAVE :: cdnc_max=-1.185 REAL,SAVE :: cdnc_max_m3186 !$OMP THREADPRIVATE(cdnc_max,cdnc_max_m3)187 192 188 193 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 198 203 ! on impose 0.71 quand on est proche de 0.71 199 204 200 if (first) THEN201 call getin_p('cdnc_min',cdnc_min)202 cdnc_min_m3=cdnc_min*1.E6203 IF (cdnc_min_m3<0.) cdnc_min_m3=20.E6 ! astuce pour retrocompatibilite204 write(lunout,*)'cdnc_min=', cdnc_min_m3/1.E6205 call getin_p('cdnc_max',cdnc_max)206 cdnc_max_m3=cdnc_max*1.E6207 IF (cdnc_max_m3<0.) cdnc_max_m3=1000.E6 ! astuce pour retrocompatibilite208 write(lunout,*)'cdnc_max=', cdnc_max_m3/1.E6209 ENDIF210 205 211 206 d_rei_dt = (rei_max-rei_min)/81.4 -
LMDZ6/trunk/libf/phylmd/lmdz_thermcell_main.F90
r4690 r4692 197 197 ENDIF 198 198 ! 199 print*,'thermcell_main debut'199 !print*,'thermcell_main debut' 200 200 ! write(lunout,*)'WARNING thermcell_main f0=max(f0,1.e-2)' 201 201 do ig=1,ngrid … … 821 821 if (prt_level.ge.1) print*,'thermcell_main FIN OK' 822 822 823 print*,'thermcell_main fin'823 !print*,'thermcell_main fin' 824 824 RETURN 825 825 end subroutine thermcell_main -
LMDZ6/trunk/libf/phylmd/physiq_mod.F90
r4690 r4692 90 90 USE lmdz_ratqs_main, ONLY : ratqs_main 91 91 USE lmdz_ratqs_ini, ONLY : ratqs_ini 92 USE lmdz_cloud_optics_prop_ini, ONLY : cloud_optics_prop_ini 92 93 USE phys_output_var_mod, ONLY : cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv 93 94 … … 357 358 zxfluxt,zxfluxq 358 359 ! 359 USE output_physiqex_mod, ONLY: output_physiqex 360 USE phys_local_var_mod, ONLY: scdnc, cldncl, reffclwtop, lcc, reffclws, & 361 reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra, icc3dcon, icc3dstra, & 362 zfice, dNovrN, ptconv 363 USE output_physiqex_mod, ONLY: output_physiqex 360 364 361 365 … … 1840 1844 RCPD, RLSTT, RLVTT, RLMLT, & 1841 1845 RVTMP2, RTT,RD,RG) 1842 1846 CALL cloud_optics_prop_ini(klon, prt_level, lunout, flag_aerosol, & 1847 & ok_cdnc, bl95_b0, & 1848 & bl95_b1, latitude_deg) 1843 1849 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1844 1850 … … 4395 4401 #endif 4396 4402 ENDIF 4397 CALL cloud_optics_prop( flag_aerosol, ok_cdnc, bl95_b0, bl95_b1, &4403 CALL cloud_optics_prop(klon, klev, & 4398 4404 paprs, pplay, t_seri, radocond, picefra, cldfra, & 4399 4405 cldtau, cldemi, cldh, cldl, cldm, cldt, cldq, & 4400 4406 flwp, fiwp, flwc, fiwc, & 4401 4407 mass_solu_aero, mass_solu_aero_pi, & 4402 cldtaupi, latitude_deg, distcltop, temp_cltop, re, fl, ref_liq, ref_ice, & 4403 ref_liq_pi, ref_ice_pi) 4408 cldtaupi, distcltop, temp_cltop, re, fl, ref_liq, ref_ice, & 4409 ref_liq_pi, ref_ice_pi, scdnc, cldncl, reffclwtop, lcc, reffclws, & 4410 reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra, icc3dcon, icc3dstra, & 4411 zfice, dNovrN, ptconv, rnebcon, clwcon) 4404 4412 ELSE 4405 4413 CALL nuage (paprs, pplay, &
Note: See TracChangeset
for help on using the changeset viewer.