Changeset 722 for trunk/LMDZ.MARS/libf
- Timestamp:
- Jul 12, 2012, 11:43:18 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/libf/phymars/physiq.F
r719 r722 2157 2157 call WRITEDIAGFI(ngrid,'co2col','integrated co2 mass' & 2158 2158 & ,'kg/m-2',0,co2col) 2159 endif 2159 endif ! of if (calltherm) 2160 2160 2161 call WRITEDIAGFI(ngrid,'w','vertical velocity' & 2161 2162 & ,'m/s',1,pw) … … 2175 2176 ! call WRITEDIAGFI(ngridmx,'lw_htrt','lw heat. rate', 2176 2177 ! & 'w.m-2',1,zdtlw/zpopsk) 2178 call WRITEDIAGFI(ngrid,"co2ice","co2 ice thickness","kg.m-2",0, 2179 & co2ice) 2177 2180 2178 2181 ! or output in diagfi.nc (for testphys1d) … … 2197 2200 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 2198 2201 IF (water) THEN 2199 CALL WRITEDIAGFI(ngridmx,'tauTESap', 2202 2203 if (.not.activice) then 2204 2205 tauTES=0 2206 do l=1,nlayermx 2207 Qabsice = min( 2208 & max(0.4e6*rice(1,l)*(1.+nuice_ref)-0.05 ,0.),1.2 2209 & ) 2210 opTES(1,l)= 0.75 * Qabsice * 2211 & zq(1,l,igcm_h2o_ice) * 2212 & (pplev(1,l) - pplev(1,l+1)) / g 2213 & / (rho_ice * rice(1,l) * (1.+nuice_ref)) 2214 tauTES=tauTES+ opTES(1,l) 2215 enddo 2216 CALL WRITEDIAGFI(ngridmx,'tauTESap', 2200 2217 & 'tau abs 825 cm-1', 2201 2218 & '',0,tauTES) 2202 2203 CALL WRITEDIAGFI(ngridmx,'tauTES', 2219 else 2220 2221 CALL WRITEDIAGFI(ngridmx,'tauTES', 2204 2222 & 'tau abs 825 cm-1', 2205 2223 & '',0,taucloudtes) 2224 endif 2206 2225 2207 2226 mtot = 0 2208 2227 icetot = 0 2209 2228 h2otot = qsurf(1,igcm_h2o_ice) 2210 rave = 0 2229 2211 2230 do l=1,nlayer 2212 2231 mtot = mtot + zq(1,l,igcm_h2o_vap) … … 2214 2233 icetot = icetot + zq(1,l,igcm_h2o_ice) 2215 2234 & * (pplev(1,l) - pplev(1,l+1)) / g 2235 end do 2236 h2otot = h2otot+mtot+icetot 2237 2238 CALL WRITEDIAGFI(ngridmx,'h2otot', 2239 & 'h2otot', 2240 & 'kg/m2',0,h2otot) 2241 CALL WRITEDIAGFI(ngridmx,'mtot', 2242 & 'mtot', 2243 & 'kg/m2',0,mtot) 2244 CALL WRITEDIAGFI(ngridmx,'icetot', 2245 & 'icetot', 2246 & 'kg/m2',0,icetot) 2247 2248 if (scavenging) then 2249 2250 rave = 0 2251 do l=1,nlayer 2216 2252 cccc Column integrated effective ice radius 2217 2253 cccc is weighted by total ice surface area (BETTER) 2218 rave = rave + tauscaling(ig) * 2219 & zq(1,l,igcm_ccn_number) * 2220 & (pplev(1,l) - pplev(1,l+1)) / g * 2221 & rice(1,l) * rice(1,l)* (1.+nuice_ref) 2222 cccc Column integrated effective ice radius 2223 cccc is weighted by total ice mass (LESS GOOD) 2224 c rave = rave + zq(1,l,igcm_h2o_ice) 2225 c & * (pplev(1,l) - pplev(1,l+1)) / g 2226 c & * rice(1,l) * (1.+nuice_ref) 2227 end do 2228 rave=icetot*0.75/max(rave*pi*rho_ice,1.e-30) ! surface weight 2229 c rave=rave/max(icetot,1.e-30) ! mass weight 2230 h2otot = h2otot+mtot+icetot 2231 2232 2233 if (scavenging) then 2234 Nccntot= 0 2254 rave = rave + tauscaling(1) * 2255 & zq(1,l,igcm_ccn_number) * 2256 & (pplev(1,l) - pplev(1,l+1)) / g * 2257 & rice(1,l) * rice(1,l)* (1.+nuice_ref) 2258 enddo 2259 rave=icetot*0.75/max(rave*pi*rho_ice,1.e-30) ! surface weight 2260 2261 Nccntot= 0 2235 2262 call watersat(ngridmx*nlayermx,zt,pplay,zqsat) 2236 2263 do l=1,nlayermx … … 2243 2270 ! & (pplev(1,l) - pplev(1,l+1)) / g 2244 2271 enddo 2245 2272 call WRITEDIAGFI(ngrid,"satu","vap in satu","kg/kg",1, 2273 & satu) 2246 2274 CALL WRITEDIAGFI(ngridmx,'Nccntot', 2247 2275 & 'Nccntot', 2248 2276 & 'nbr/m2',0,Nccntot) 2249 endif 2250 2251 2252 CALL WRITEDIAGFI(ngridmx,'h2otot', 2253 & 'h2otot', 2254 & 'kg/m2',0,h2otot) 2255 CALL WRITEDIAGFI(ngridmx,'mtot', 2256 & 'mtot', 2257 & 'kg/m2',0,mtot) 2258 CALL WRITEDIAGFI(ngridmx,'icetot', 2259 & 'icetot', 2260 & 'kg/m2',0,icetot) 2261 CALL WRITEDIAGFI(ngridmx,'reffice', 2262 & 'reffice', 2263 & 'm',0,rave) 2264 2265 2266 do iq=1,nq 2267 call WRITEDIAGFI(ngridmx,trim(noms(iq))//'_s', 2268 & trim(noms(iq))//'_s','kg/kg',0,qsurf(1,iq)) 2269 end do 2270 2271 2272 call WRITEDIAGFI(ngridmx,'zdqsed_dustq','sedimentation q', 2277 2278 call WRITEDIAGFI(ngridmx,'zdqsed_dustq','sedimentation q', 2273 2279 & 'kg.m-2.s-1',1,zdqsed(1,:,igcm_dust_mass)) 2274 call WRITEDIAGFI(ngridmx,'zdqsed_dustN','sedimentation N',2280 call WRITEDIAGFI(ngridmx,'zdqsed_dustN','sedimentation N', 2275 2281 & 'Nbr.m-2.s-1',1,zdqsed(1,:,igcm_dust_number)) 2282 2283 else ! of if (scavenging) 2284 2285 cccc Column integrated effective ice radius 2286 cccc is weighted by total ice mass (LESS GOOD) 2287 rave = 0 2288 do l=1,nlayer 2289 rave = rave + zq(1,l,igcm_h2o_ice) 2290 & * (pplev(1,l) - pplev(1,l+1)) / g 2291 & * rice(1,l) * (1.+nuice_ref) 2292 enddo 2293 rave=max(rave/max(icetot,1.e-30),1.e-30) ! mass weight 2294 endif ! of if (scavenging) 2295 2296 CALL WRITEDIAGFI(ngridmx,'reffice', 2297 & 'reffice', 2298 & 'm',0,rave) 2299 2300 do iq=1,nq 2301 call WRITEDIAGFI(ngridmx,trim(noms(iq))//'_s', 2302 & trim(noms(iq))//'_s','kg/kg',0,qsurf(1,iq)) 2303 end do 2276 2304 2277 2305 call WRITEDIAGFI(ngridmx,'zdqcloud_ice','cloud ice', … … 2283 2311 & +zdqcloud(1,:,igcm_h2o_vap)) 2284 2312 2285 2286 2313 call WRITEDIAGFI(ngrid,"rice","ice radius","m",1, 2287 2314 & rice) 2288 call WRITEDIAGFI(ngrid,"satu","vap in satu","kg/kg",1,2289 & satu)2290 2315 ENDIF ! of IF (water) 2291 2316
Note: See TracChangeset
for help on using the changeset viewer.