Changeset 5910
- Timestamp:
- Dec 4, 2025, 3:14:38 PM (2 hours ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/lmdz_cloud_optics_prop.f90
r5828 r5910 18 18 IF (ANY(first)) THEN 19 19 IF (novlp==1) THEN 20 WRITE (*, *) 'Hypothes e de recouvrement: MAXIMUM_ &20 WRITE (*, *) 'Hypothesis on cloud overlap: MAXIMUM_ & 21 21 & & 22 22 & RANDOM' 23 23 first_first = .FALSE. 24 24 ELSEIF (novlp==2) THEN 25 WRITE (*, *) 'Hypothes e de recouvrement: MAXIMUM'25 WRITE (*, *) 'Hypothesis on cloud overlap: MAXIMUM' 26 26 first_first = .FALSE. 27 27 ELSEIF (novlp==3) THEN 28 WRITE (*, *) 'Hypothes e de recouvrement: RANDOM'28 WRITE (*, *) 'Hypothesis on cloud overlap: RANDOM' 29 29 first_first = .FALSE. 30 30 ENDIF … … 75 75 ! M. Coulon-Decorzens: replayisation of the routine + cleaning 76 76 ! and commentaries 77 ! "atelier optics of clouds": careful reading and comments 78 ! things to address -> see ?aoc 77 79 ! 78 ! Aim: compute condensate optical properties,79 ! cloud optical depth and emissivity80 ! Aim: compute condensates' optical properties 81 ! (cloud optical depth,) and emissivity ?aoc 80 82 ! ====================================================================== 81 83 82 84 ! List of arguments 83 85 !------------------ 86 87 ! ?aoc all the pi arguments should be optional 84 88 85 89 ! input: … … 92 96 REAL, INTENT(IN) :: rnebcon(klon,klev) ! convection cloud fraction [-] 93 97 REAL, INTENT(IN) :: ccwcon(klon,klev) ! condensed water from deep convection [kg/kg] 94 ! jq for the aerosol indirect effect95 ! jq introduced by Johannes Quaas (quaas@lmd.jussieu.fr), 27/11/200396 98 REAL, INTENT(IN) :: mass_solu_aero(klon, klev) ! total mass concentration for all soluble aerosols [ug m-3] 97 99 REAL, INTENT(IN) :: mass_solu_aero_pi(klon, klev) ! - (pre-industrial value) 98 100 REAL, INTENT(IN) :: dNovrN(klon) ! enhancement factor for cdnc 99 REAL, INTENT(OUT) :: distcltop(klon,klev) ! distance from large scale cloud top [m] 100 REAL, INTENT(OUT) :: temp_cltop(klon,klev)! temperature at large scale cloud top [K]101 REAL, INTENT(OUT) :: distcltop(klon,klev) ! distance from large scale cloud top [m] ?aoc 102 REAL, INTENT(OUT) :: temp_cltop(klon,klev)! temperature at large scale cloud top [K] ?aoc 101 103 102 104 LOGICAL, INTENT(IN) :: ptconv(klon, klev) ! flag for grid points affected by deep convection 103 105 104 106 ! inout: 105 REAL, INTENT(INOUT) :: pclc(klon, klev) ! cloud fraction for radiation [-] 107 REAL, INTENT(INOUT) :: pclc(klon, klev) ! cloud fraction for radiation [-] ?aoc 108 REAL, INTENT(INOUT) :: icefrac_optics(klon, klev)! ice fraction in clouds seen by radiation [-] 109 106 110 107 111 ! out: 112 ! only diagnostics: 108 113 REAL, INTENT(OUT) :: pct(klon) ! 2D total cloud cover [-] 109 114 REAL, INTENT(OUT) :: pcl(klon) ! 2D low cloud cover [-] … … 119 124 ! introduced to avoid problems in the averaging of the output 120 125 ! water clouds within a grid cell 121 126 127 ! diagnostics or properties if one uses oldrad 122 128 REAL, INTENT(OUT) :: pcltau(klon, klev) ! cloud optical depth [m] 123 129 REAL, INTENT(OUT) :: pclemi(klon, klev) ! cloud emissivity [-] … … 125 131 ! values of optical thickness that does not account 126 132 ! for aerosol effects on cloud droplet radius [m] 127 128 REAL, INTENT(OUT) :: reliq(klon, klev) ! liquid droplet effective radius [m]129 REAL, INTENT(OUT) :: reice(klon, klev) ! ice effective radius [m]130 REAL, INTENT(OUT) :: reliq_pi(klon, klev)! liquid droplet effective radius [m], pre-industrial131 REAL, INTENT(OUT) :: reice_pi(klon, klev)! ice effective radius [m], pre-industrial132 133 REAL, INTENT(OUT) :: scdnc(klon, klev) ! cloud droplet number concentration, mean over the whole mesh [m-3] 133 134 REAL, INTENT(OUT) :: cldncl(klon) ! cloud droplet number concentration at top of cloud [m-3] … … 142 143 REAL, INTENT(OUT) :: icc3dcon(klon, klev)! cloud fraction for liquid part only, convective clouds [-] 143 144 REAL, INTENT(OUT) :: icc3dstra(klon, klev)! cloud fraction for ice part only, stratiform clouds [-] 144 REAL, INTENT(INOUT) :: icefrac_optics(klon, klev)! ice fraction in clouds seen by radiation [-] 145 145 146 ! actual optical variables used as inputs for the radiative scheme 147 REAL, INTENT(OUT) :: reliq(klon, klev) ! liquid droplet effective radius [m] 148 REAL, INTENT(OUT) :: reice(klon, klev) ! ice effective radius [m] 149 REAL, INTENT(OUT) :: reliq_pi(klon, klev)! liquid droplet effective radius [m], pre-industrial 150 REAL, INTENT(OUT) :: reice_pi(klon, klev)! ice effective radius [m], pre-industrial 151 152 153 146 154 ! Local variables 147 155 !---------------- … … 158 166 REAL rel, tc, rei, iwc, dei, deimin, deimax 159 167 REAL k_ice 160 161 ! jq for the aerosol indirect effect162 ! jq introduced by Johannes Quaas (quaas@lmd.jussieu.fr), 27/11/2003163 168 REAL cdnc(klon, klev) ! cloud droplet number concentration [m-3] 164 169 REAL cdnc_pi(klon, klev) ! cloud droplet number concentration [m-3] (pi value) … … 222 227 DO k = 1, klev 223 228 224 225 !!$ IF (ok_new_lscp) THEN226 !!$ CALL icefrac_lscp(klon,temp(:,k),iflag_ice_thermo,distcltop(:,k),temp_cltop(:,k),icefrac_optics(:,k),dzfice(:,k))227 !!$ ELSE228 !!$ CALL icefrac_lsc(klon,temp(:,k),pplay(:,k)/paprs(:,1),icefrac_optics(:,k))229 !!$ ENDIF230 229 231 230 DO i = 1, klon
Note: See TracChangeset
for help on using the changeset viewer.
