- Timestamp:
- Mar 31, 2010, 2:54:07 PM (15 years ago)
- Location:
- LMDZ4/trunk/libf/phylmd
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phylmd/concvl.F
r1146 r1334 1 2 !3 ! $Header$4 !5 1 SUBROUTINE concvl (iflag_con,iflag_clos, 6 2 . dtime,paprs,pplay, … … 89 85 REAL em_ph(klon,klev+1),em_p(klon,klev) 90 86 REAL upwd(klon,klev),dnwd(klon,klev),dnwdbis(klon,klev) 91 REAL Ma(klon,klev), mip(klon,klev),Vprecip(klon,klev) 87 88 !! REAL Ma(klon,klev), mip(klon,klev),Vprecip(klon,klev) !jyg 89 REAL Ma(klon,klev), mip(klon,klev),Vprecip(klon,klev+1) !jyg 90 92 91 real da(klon,klev),phi(klon,klev,klev),mp(klon,klev) 93 92 REAL cape(klon),cin(klon),tvp(klon,klev) … … 254 253 DO i=1,klon 255 254 em_ph(i,k) = paprs(i,k) / 100.0 255 pmflxr(i,k)=0. 256 256 pmflxs(i,k)=0. 257 257 ENDDO … … 336 336 $ em_p,em_ph,iflag, 337 337 $ d_t,d_q,d_u,d_v,d_tra,rain, 338 $ pmflxr,cbmf,work1,work2, 338 !! $ pmflxr,cbmf,work1,work2, !jyg 339 $ Vprecip,cbmf,work1,work2, !jyg 339 340 $ kbas,ktop, 340 341 $ dtime,Ma,upwd,dnwd,dnwdbis,qcondc,wd,cape, … … 390 391 ENDDO 391 392 ENDDO 393 c !jyg 394 c--Separation neige/pluie (pour diagnostics) !jyg 395 DO k = 1, klev !jyg 396 DO i = 1, klon !jyg 397 IF (t1(i,k).LT.RTT) THEN !jyg 398 pmflxs(i,k)=Vprecip(i,k) !jyg 399 ELSE !jyg 400 pmflxr(i,k)=Vprecip(i,k) !jyg 401 ENDIF !jyg 402 ENDDO !jyg 403 ENDDO !jyg 392 404 c 393 405 cc IF (if_ebil.ge.2) THEN -
LMDZ4/trunk/libf/phylmd/cv3_routines.F
r1277 r1334 2319 2319 real upwd(nloc,nd), dnwd(nloc,nd), ma(nloc,nd) 2320 2320 real dnwd0(nloc,nd), mip(nloc,nd) 2321 real Vprecip(nloc,nd )2321 real Vprecip(nloc,nd+1) 2322 2322 real tls(nloc,nd), tps(nloc,nd) 2323 2323 real qcondc(nloc,nd) ! cld … … 2355 2355 do il=1,ncum 2356 2356 precip(il)=0.0 2357 cVprecip(il,nd+1)=0.02357 Vprecip(il,nd+1)=0.0 2358 2358 wd(il)=0.0 ! gust 2359 2359 enddo -
LMDZ4/trunk/libf/phylmd/cv3a_uncompress.F
r879 r1334 39 39 real ft(nloc,nd), fq(nloc,nd), fu(nloc,nd), fv(nloc,nd) 40 40 real ftra(nloc,nd,ntra) 41 real Ma(nloc,nd),mip(nloc,nd),Vprecip(nloc,nd )41 real Ma(nloc,nd),mip(nloc,nd),Vprecip(nloc,nd+1) 42 42 real upwd(nloc,nd),dnwd(nloc,nd),dnwd0(nloc,nd) 43 43 real qcondc(nloc,nd) … … 55 55 real ft1(len,nd), fq1(len,nd), fu1(len,nd), fv1(len,nd) 56 56 real ftra1(len,nd,ntra) 57 real Ma1(len,nd),mip1(len,nd),Vprecip1(len,nd )57 real Ma1(len,nd),mip1(len,nd),Vprecip1(len,nd+1) 58 58 real upwd1(len,nd),dnwd1(len,nd),dnwd01(len,nd) 59 59 real qcondc1(len,nd) -
LMDZ4/trunk/libf/phylmd/cva_driver.F
r1279 r1334 151 151 real Ma1(len,nd) 152 152 real mip1(len,nd) 153 real Vprecip1(len,nd) 153 ! real Vprecip1(len,nd) Correction abderr le 23 03 10 154 real Vprecip1(len,nd+1) 154 155 real upwd1(len,nd) 155 156 real dnwd1(len,nd) … … 404 405 real tps(nloc,klev), qprime(nloc), tprime(nloc) 405 406 real precip(nloc) 406 real Vprecip(nloc,klev) 407 ! real Vprecip(nloc,klev) 408 real Vprecip(nloc,klev+1) 407 409 real tra(nloc,klev,ntra), trap(nloc,klev,ntra) 408 410 real ftra(nloc,klev,ntra), traent(nloc,klev,klev,ntra) … … 488 490 call zilch(Ma1 ,nword2) 489 491 call zilch(mip1 ,nword2) 490 call zilch(Vprecip1,nword2) 492 ! call zilch(Vprecip1,nword2) 493 Vprecip1=0. 491 494 call zilch(upwd1 ,nword2) 492 495 call zilch(dnwd1 ,nword2) -
LMDZ4/trunk/libf/phylmd/newmicro.F
r1305 r1334 131 131 xflwc = 0.d0 132 132 xfiwc = 0.d0 133 134 ! Initialisation 135 reliq=0. 136 reice=0. 133 137 134 138 DO k = 1, klev -
LMDZ4/trunk/libf/phylmd/phys_output_mod.F90
r1307 r1334 1 !2 1 ! $Id$ 3 2 ! … … 54 53 55 54 !!! 1D 56 type(ctrl_out),save :: o_phis = ctrl_out((/ 1, 1, 10, 1, 1 /), 'phis')57 type(ctrl_out),save :: o_aire = ctrl_out((/ 1, 1, 10, 1 , 1 /),'aire')55 type(ctrl_out),save :: o_phis = ctrl_out((/ 1, 1, 10, 5, 1 /), 'phis') 56 type(ctrl_out),save :: o_aire = ctrl_out((/ 1, 1, 10, 10, 1 /),'aire') 58 57 type(ctrl_out),save :: o_contfracATM = ctrl_out((/ 10, 1, 1, 10, 10 /),'contfracATM') 59 58 type(ctrl_out),save :: o_contfracOR = ctrl_out((/ 10, 1, 1, 10, 10 /),'contfracOR') … … 61 60 62 61 !!! 2D 63 type(ctrl_out),save :: o_flat = ctrl_out((/ 10, 1, 10, 10, 1 /),'flat')62 type(ctrl_out),save :: o_flat = ctrl_out((/ 5, 1, 10, 5, 1 /),'flat') 64 63 type(ctrl_out),save :: o_slp = ctrl_out((/ 1, 1, 1, 10, 1 /),'slp') 65 type(ctrl_out),save :: o_tsol = ctrl_out((/ 1, 1, 1, 1, 1 /),'tsol')66 type(ctrl_out),save :: o_t2m = ctrl_out((/ 1, 1, 1, 1, 1 /),'t2m')64 type(ctrl_out),save :: o_tsol = ctrl_out((/ 1, 1, 1, 5, 1 /),'tsol') 65 type(ctrl_out),save :: o_t2m = ctrl_out((/ 1, 1, 1, 5, 1 /),'t2m') 67 66 type(ctrl_out),save :: o_t2m_min = ctrl_out((/ 1, 1, 10, 10, 10 /),'t2m_min') 68 67 type(ctrl_out),save :: o_t2m_max = ctrl_out((/ 1, 1, 10, 10, 10 /),'t2m_max') … … 75 74 type(ctrl_out),save :: o_wind10max = ctrl_out((/ 10, 1, 10, 10, 10 /),'wind10max') 76 75 type(ctrl_out),save :: o_sicf = ctrl_out((/ 1, 1, 10, 10, 10 /),'sicf') 77 type(ctrl_out),save :: o_q2m = ctrl_out((/ 1, 1, 1, 1, 1 /),'q2m')78 type(ctrl_out),save :: o_u10m = ctrl_out((/ 1, 1, 1, 1, 1 /),'u10m')79 type(ctrl_out),save :: o_v10m = ctrl_out((/ 1, 1, 1, 1, 1 /),'v10m')80 type(ctrl_out),save :: o_psol = ctrl_out((/ 1, 1, 1, 1, 1 /),'psol')76 type(ctrl_out),save :: o_q2m = ctrl_out((/ 1, 1, 1, 5, 1 /),'q2m') 77 type(ctrl_out),save :: o_u10m = ctrl_out((/ 1, 1, 1, 5, 1 /),'u10m') 78 type(ctrl_out),save :: o_v10m = ctrl_out((/ 1, 1, 1, 5, 1 /),'v10m') 79 type(ctrl_out),save :: o_psol = ctrl_out((/ 1, 1, 1, 5, 1 /),'psol') 81 80 type(ctrl_out),save :: o_qsurf = ctrl_out((/ 1, 10, 10, 10, 10 /),'qsurf') 82 81 … … 91 90 ctrl_out((/ 10, 4, 10, 10, 10 /),'v10m_sic') /) 92 91 93 type(ctrl_out),save :: o_qsol = ctrl_out((/ 1, 10, 10, 1 , 1/),'qsol')92 type(ctrl_out),save :: o_qsol = ctrl_out((/ 1, 10, 10, 10, 10 /),'qsol') 94 93 95 94 type(ctrl_out),save :: o_ndayrain = ctrl_out((/ 1, 10, 10, 10, 10 /),'ndayrain') 96 type(ctrl_out),save :: o_precip = ctrl_out((/ 1, 1, 1, 1, 1 /),'precip') 97 type(ctrl_out),save :: o_plul = ctrl_out((/ 1, 1, 1, 1, 10 /),'plul') 98 99 type(ctrl_out),save :: o_pluc = ctrl_out((/ 1, 1, 1, 1, 10 /),'pluc') 100 type(ctrl_out),save :: o_snow = ctrl_out((/ 1, 1, 10, 1, 10 /),'snow') 101 type(ctrl_out),save :: o_evap = ctrl_out((/ 1, 1, 10, 1, 10 /),'evap') 95 type(ctrl_out),save :: o_precip = ctrl_out((/ 1, 1, 1, 5, 10 /),'precip') 96 type(ctrl_out),save :: o_plul = ctrl_out((/ 1, 1, 1, 10, 10 /),'plul') 97 98 type(ctrl_out),save :: o_pluc = ctrl_out((/ 1, 1, 1, 5, 10 /),'pluc') 99 type(ctrl_out),save :: o_snow = ctrl_out((/ 1, 1, 10, 5, 10 /),'snow') 100 type(ctrl_out),save :: o_evap = ctrl_out((/ 1, 1, 10, 10, 10 /),'evap') 101 type(ctrl_out),save,dimension(4) :: o_evap_srf = (/ ctrl_out((/ 1, 1, 10, 10, 10 /),'evap_ter'), & 102 ctrl_out((/ 1, 1, 10, 10, 10 /),'evap_lic'), & 103 ctrl_out((/ 1, 1, 10, 10, 10 /),'evap_oce'), & 104 ctrl_out((/ 1, 1, 10, 10, 10 /),'evap_sic') /) 105 type(ctrl_out),save :: o_msnow = ctrl_out((/ 1, 10, 10, 10, 10 /),'msnow') 106 type(ctrl_out),save :: o_fsnow = ctrl_out((/ 1, 10, 10, 10, 10 /),'fsnow') 107 102 108 type(ctrl_out),save :: o_tops = ctrl_out((/ 1, 1, 10, 10, 10 /),'tops') 103 109 type(ctrl_out),save :: o_tops0 = ctrl_out((/ 1, 5, 10, 10, 10 /),'tops0') 104 type(ctrl_out),save :: o_topl = ctrl_out((/ 1, 1, 10, 1, 10 /),'topl')110 type(ctrl_out),save :: o_topl = ctrl_out((/ 1, 1, 10, 5, 10 /),'topl') 105 111 type(ctrl_out),save :: o_topl0 = ctrl_out((/ 1, 5, 10, 10, 10 /),'topl0') 106 112 type(ctrl_out),save :: o_SWupTOA = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWupTOA') … … 108 114 type(ctrl_out),save :: o_SWdnTOA = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWdnTOA') 109 115 type(ctrl_out),save :: o_SWdnTOAclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWdnTOAclr') 116 type(ctrl_out),save :: o_nettop = ctrl_out((/ 1, 4, 10, 10, 10 /),'nettop') 117 110 118 type(ctrl_out),save :: o_SWup200 = ctrl_out((/ 1, 10, 10, 10, 10 /),'SWup200') 111 119 type(ctrl_out),save :: o_SWup200clr = ctrl_out((/ 10, 1, 10, 10, 10 /),'SWup200clr') … … 123 131 type(ctrl_out),save :: o_LWdn200 = ctrl_out((/ 1, 10, 10, 10, 10 /),'LWdn200') 124 132 type(ctrl_out),save :: o_LWdn200clr = ctrl_out((/ 1, 10, 10, 10, 10 /),'LWdn200clr') 125 type(ctrl_out),save :: o_sols = ctrl_out((/ 1, 1, 10, 1 , 10 /),'sols')133 type(ctrl_out),save :: o_sols = ctrl_out((/ 1, 1, 10, 10, 10 /),'sols') 126 134 type(ctrl_out),save :: o_sols0 = ctrl_out((/ 1, 5, 10, 10, 10 /),'sols0') 127 type(ctrl_out),save :: o_soll = ctrl_out((/ 1, 1, 10, 1 , 10 /),'soll')135 type(ctrl_out),save :: o_soll = ctrl_out((/ 1, 1, 10, 10, 10 /),'soll') 128 136 type(ctrl_out),save :: o_soll0 = ctrl_out((/ 1, 5, 10, 10, 10 /),'soll0') 129 137 type(ctrl_out),save :: o_radsol = ctrl_out((/ 1, 1, 10, 10, 10 /),'radsol') 130 type(ctrl_out),save :: o_SWupSFC = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWupSFC')138 type(ctrl_out),save :: o_SWupSFC = ctrl_out((/ 1, 4, 10, 5, 10 /),'SWupSFC') 131 139 type(ctrl_out),save :: o_SWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWupSFCclr') 132 type(ctrl_out),save :: o_SWdnSFC = ctrl_out((/ 1, 1, 10, 10, 10 /),'SWdnSFC')133 type(ctrl_out),save :: o_SWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWdnSFCclr')140 type(ctrl_out),save :: o_SWdnSFC = ctrl_out((/ 1, 1, 10, 5, 10 /),'SWdnSFC') 141 type(ctrl_out),save :: o_SWdnSFCclr = ctrl_out((/ 1, 4, 10, 5, 10 /),'SWdnSFCclr') 134 142 type(ctrl_out),save :: o_LWupSFC = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWupSFC') 135 type(ctrl_out),save :: o_LWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWupSFCclr')136 type(ctrl_out),save :: o_LWdnSFC = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWdnSFC')137 type(ctrl_out),save :: o_LWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWdnSFCclr')138 type(ctrl_out),save :: o_bils = ctrl_out((/ 1, 2, 10, 1, 10 /),'bils')139 type(ctrl_out),save :: o_sens = ctrl_out((/ 1, 1, 10, 1, 1/),'sens')140 type(ctrl_out),save :: o_fder = ctrl_out((/ 1, 2, 10, 1 , 10 /),'fder')143 type(ctrl_out),save :: o_LWupSFCclr = ctrl_out((/ 1, 4, 10, 5, 10 /),'LWupSFCclr') 144 type(ctrl_out),save :: o_LWdnSFC = ctrl_out((/ 1, 4, 10, 5, 10 /),'LWdnSFC') 145 type(ctrl_out),save :: o_LWdnSFCclr = ctrl_out((/ 1, 4, 10, 5, 10 /),'LWdnSFCclr') 146 type(ctrl_out),save :: o_bils = ctrl_out((/ 1, 2, 10, 5, 10 /),'bils') 147 type(ctrl_out),save :: o_sens = ctrl_out((/ 1, 1, 10, 5, 10 /),'sens') 148 type(ctrl_out),save :: o_fder = ctrl_out((/ 1, 2, 10, 10, 10 /),'fder') 141 149 type(ctrl_out),save :: o_ffonte = ctrl_out((/ 1, 10, 10, 10, 10 /),'ffonte') 142 150 type(ctrl_out),save :: o_fqcalving = ctrl_out((/ 1, 10, 10, 10, 10 /),'fqcalving') 143 151 type(ctrl_out),save :: o_fqfonte = ctrl_out((/ 1, 10, 10, 10, 10 /),'fqfonte') 144 152 145 type(ctrl_out),save,dimension(4) :: o_taux_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'taux_ter'), & 146 ctrl_out((/ 1, 4, 10, 1, 10 /),'taux_lic'), & 147 ctrl_out((/ 1, 4, 10, 1, 10 /),'taux_oce'), & 148 ctrl_out((/ 1, 4, 10, 1, 10 /),'taux_sic') /) 149 150 type(ctrl_out),save,dimension(4) :: o_tauy_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'tauy_ter'), & 151 ctrl_out((/ 1, 4, 10, 1, 10 /),'tauy_lic'), & 152 ctrl_out((/ 1, 4, 10, 1, 10 /),'tauy_oce'), & 153 ctrl_out((/ 1, 4, 10, 1, 10 /),'tauy_sic') /) 154 155 156 type(ctrl_out),save,dimension(4) :: o_pourc_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'pourc_ter'), & 157 ctrl_out((/ 1, 4, 10, 1, 10 /),'pourc_lic'), & 158 ctrl_out((/ 1, 4, 10, 1, 10 /),'pourc_oce'), & 159 ctrl_out((/ 1, 4, 10, 1, 10 /),'pourc_sic') /) 160 161 type(ctrl_out),save,dimension(4) :: o_fract_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'fract_ter'), & 162 ctrl_out((/ 1, 4, 10, 1, 10 /),'fract_lic'), & 163 ctrl_out((/ 1, 4, 10, 1, 10 /),'fract_oce'), & 164 ctrl_out((/ 1, 4, 10, 1, 10 /),'fract_sic') /) 165 166 type(ctrl_out),save,dimension(4) :: o_tsol_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'tsol_ter'), & 167 ctrl_out((/ 1, 4, 10, 1, 10 /),'tsol_lic'), & 168 ctrl_out((/ 1, 4, 10, 1, 10 /),'tsol_oce'), & 169 ctrl_out((/ 1, 4, 10, 1, 10 /),'tsol_sic') /) 153 type(ctrl_out),save :: o_taux = ctrl_out((/ 1, 10, 10, 10, 10 /),'taux') 154 type(ctrl_out),save :: o_tauy = ctrl_out((/ 1, 10, 10, 10, 10 /),'tauy') 155 type(ctrl_out),save,dimension(4) :: o_taux_srf = (/ ctrl_out((/ 1, 4, 10, 10, 10 /),'taux_ter'), & 156 ctrl_out((/ 1, 4, 10, 10, 10 /),'taux_lic'), & 157 ctrl_out((/ 1, 4, 10, 10, 10 /),'taux_oce'), & 158 ctrl_out((/ 1, 4, 10, 10, 10 /),'taux_sic') /) 159 160 type(ctrl_out),save,dimension(4) :: o_tauy_srf = (/ ctrl_out((/ 1, 4, 10, 10, 10 /),'tauy_ter'), & 161 ctrl_out((/ 1, 4, 10, 10, 10 /),'tauy_lic'), & 162 ctrl_out((/ 1, 4, 10, 10, 10 /),'tauy_oce'), & 163 ctrl_out((/ 1, 4, 10, 10, 10 /),'tauy_sic') /) 164 165 166 type(ctrl_out),save,dimension(4) :: o_pourc_srf = (/ ctrl_out((/ 1, 4, 10, 10, 10 /),'pourc_ter'), & 167 ctrl_out((/ 1, 4, 10, 10, 10 /),'pourc_lic'), & 168 ctrl_out((/ 1, 4, 10, 10, 10 /),'pourc_oce'), & 169 ctrl_out((/ 1, 4, 10, 10, 10 /),'pourc_sic') /) 170 171 type(ctrl_out),save,dimension(4) :: o_fract_srf = (/ ctrl_out((/ 1, 4, 10, 10, 10 /),'fract_ter'), & 172 ctrl_out((/ 1, 4, 10, 10, 10 /),'fract_lic'), & 173 ctrl_out((/ 1, 4, 10, 10, 10 /),'fract_oce'), & 174 ctrl_out((/ 1, 4, 10, 10, 10 /),'fract_sic') /) 175 176 type(ctrl_out),save,dimension(4) :: o_tsol_srf = (/ ctrl_out((/ 1, 4, 10, 10, 10 /),'tsol_ter'), & 177 ctrl_out((/ 1, 4, 10, 10, 10 /),'tsol_lic'), & 178 ctrl_out((/ 1, 4, 10, 10, 10 /),'tsol_oce'), & 179 ctrl_out((/ 1, 4, 10, 10, 10 /),'tsol_sic') /) 170 180 171 181 type(ctrl_out),save,dimension(4) :: o_sens_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'sens_ter'), & … … 200 210 201 211 202 type(ctrl_out),save :: o_cdrm = ctrl_out((/ 1, 10, 10, 1 , 10 /),'cdrm')212 type(ctrl_out),save :: o_cdrm = ctrl_out((/ 1, 10, 10, 10, 10 /),'cdrm') 203 213 type(ctrl_out),save :: o_cdrh = ctrl_out((/ 1, 10, 10, 1, 10 /),'cdrh') 204 214 type(ctrl_out),save :: o_cldl = ctrl_out((/ 1, 1, 10, 10, 10 /),'cldl') 205 215 type(ctrl_out),save :: o_cldm = ctrl_out((/ 1, 1, 10, 10, 10 /),'cldm') 206 216 type(ctrl_out),save :: o_cldh = ctrl_out((/ 1, 1, 10, 10, 10 /),'cldh') 207 type(ctrl_out),save :: o_cldt = ctrl_out((/ 1, 1, 2, 10, 10 /),'cldt')217 type(ctrl_out),save :: o_cldt = ctrl_out((/ 1, 1, 2, 5, 10 /),'cldt') 208 218 type(ctrl_out),save :: o_cldq = ctrl_out((/ 1, 1, 10, 10, 10 /),'cldq') 209 219 type(ctrl_out),save :: o_lwp = ctrl_out((/ 1, 5, 10, 10, 10 /),'lwp') … … 215 225 216 226 type(ctrl_out),save :: o_cape = ctrl_out((/ 1, 10, 10, 10, 10 /),'cape') 217 type(ctrl_out),save :: o_pbase = ctrl_out((/ 1, 10, 10, 10, 10 /),'pbase')218 type(ctrl_out),save :: o_ptop = ctrl_out((/ 1, 4, 10, 10, 10 /),'ptop')227 type(ctrl_out),save :: o_pbase = ctrl_out((/ 1, 5, 10, 10, 10 /),'pbase') 228 type(ctrl_out),save :: o_ptop = ctrl_out((/ 1, 5, 10, 10, 10 /),'ptop') 219 229 type(ctrl_out),save :: o_fbase = ctrl_out((/ 1, 10, 10, 10, 10 /),'fbase') 220 230 type(ctrl_out),save :: o_prw = ctrl_out((/ 1, 1, 10, 10, 10 /),'prw') 221 231 222 type(ctrl_out),save :: o_s_pblh = ctrl_out((/ 1, 10, 10, 1 , 1 /),'s_pblh')223 type(ctrl_out),save :: o_s_pblt = ctrl_out((/ 1, 10, 10, 1 , 1 /),'s_pblt')224 type(ctrl_out),save :: o_s_lcl = ctrl_out((/ 1, 10, 10, 1 , 10 /),'s_lcl')225 type(ctrl_out),save :: o_s_capCL = ctrl_out((/ 1, 10, 10, 1 , 10 /),'s_capCL')226 type(ctrl_out),save :: o_s_oliqCL = ctrl_out((/ 1, 10, 10, 1 , 10 /),'s_oliqCL')227 type(ctrl_out),save :: o_s_cteiCL = ctrl_out((/ 1, 10, 10, 1 , 1 /),'s_cteiCL')228 type(ctrl_out),save :: o_s_therm = ctrl_out((/ 1, 10, 10, 1 , 1 /),'s_therm')229 type(ctrl_out),save :: o_s_trmb1 = ctrl_out((/ 1, 10, 10, 1 , 10 /),'s_trmb1')230 type(ctrl_out),save :: o_s_trmb2 = ctrl_out((/ 1, 10, 10, 1 , 10 /),'s_trmb2')231 type(ctrl_out),save :: o_s_trmb3 = ctrl_out((/ 1, 10, 10, 1 , 10 /),'s_trmb3')232 type(ctrl_out),save :: o_s_pblh = ctrl_out((/ 1, 10, 10, 10, 1 /),'s_pblh') 233 type(ctrl_out),save :: o_s_pblt = ctrl_out((/ 1, 10, 10, 10, 1 /),'s_pblt') 234 type(ctrl_out),save :: o_s_lcl = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_lcl') 235 type(ctrl_out),save :: o_s_capCL = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_capCL') 236 type(ctrl_out),save :: o_s_oliqCL = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_oliqCL') 237 type(ctrl_out),save :: o_s_cteiCL = ctrl_out((/ 1, 10, 10, 10, 1 /),'s_cteiCL') 238 type(ctrl_out),save :: o_s_therm = ctrl_out((/ 1, 10, 10, 10, 1 /),'s_therm') 239 type(ctrl_out),save :: o_s_trmb1 = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_trmb1') 240 type(ctrl_out),save :: o_s_trmb2 = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_trmb2') 241 type(ctrl_out),save :: o_s_trmb3 = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_trmb3') 232 242 233 243 type(ctrl_out),save :: o_slab_bils = ctrl_out((/ 1, 1, 10, 10, 10 /),'slab_bils_oce') 234 244 235 type(ctrl_out),save :: o_ale_bl = ctrl_out((/ 1, 1, 1, 1 , 10 /),'ale_bl')236 type(ctrl_out),save :: o_alp_bl = ctrl_out((/ 1, 1, 1, 1 , 10 /),'alp_bl')237 type(ctrl_out),save :: o_ale_wk = ctrl_out((/ 1, 1, 1, 1 , 10 /),'ale_wk')238 type(ctrl_out),save :: o_alp_wk = ctrl_out((/ 1, 1, 1, 1 , 10 /),'alp_wk')239 240 type(ctrl_out),save :: o_ale = ctrl_out((/ 1, 1, 1, 1 , 10 /),'ale')241 type(ctrl_out),save :: o_alp = ctrl_out((/ 1, 1, 1, 1 , 10 /),'alp')242 type(ctrl_out),save :: o_cin = ctrl_out((/ 1, 1, 1, 1 , 10 /),'cin')243 type(ctrl_out),save :: o_wape = ctrl_out((/ 1, 1, 1, 1 , 10 /),'wape')245 type(ctrl_out),save :: o_ale_bl = ctrl_out((/ 1, 1, 1, 10, 10 /),'ale_bl') 246 type(ctrl_out),save :: o_alp_bl = ctrl_out((/ 1, 1, 1, 10, 10 /),'alp_bl') 247 type(ctrl_out),save :: o_ale_wk = ctrl_out((/ 1, 1, 1, 10, 10 /),'ale_wk') 248 type(ctrl_out),save :: o_alp_wk = ctrl_out((/ 1, 1, 1, 10, 10 /),'alp_wk') 249 250 type(ctrl_out),save :: o_ale = ctrl_out((/ 1, 1, 1, 10, 10 /),'ale') 251 type(ctrl_out),save :: o_alp = ctrl_out((/ 1, 1, 1, 10, 10 /),'alp') 252 type(ctrl_out),save :: o_cin = ctrl_out((/ 1, 1, 1, 10, 10 /),'cin') 253 type(ctrl_out),save :: o_wape = ctrl_out((/ 1, 1, 1, 10, 10 /),'wape') 244 254 245 255 … … 306 316 type(ctrl_out),save :: o_cldtau = ctrl_out((/ 10, 5, 10, 10, 10 /),'cldtau') 307 317 type(ctrl_out),save :: o_cldemi = ctrl_out((/ 10, 5, 10, 10, 10 /),'cldemi') 308 type(ctrl_out),save :: o_rh2m = ctrl_out((/ 10, 5, 10, 10, 10 /),'rh2m') 318 type(ctrl_out),save :: o_rh2m = ctrl_out((/ 5, 5, 10, 10, 10 /),'rh2m') 319 type(ctrl_out),save :: o_rh2m_min = ctrl_out((/ 10, 5, 10, 10, 10 /),'rh2m_min') 320 type(ctrl_out),save :: o_rh2m_max = ctrl_out((/ 10, 5, 10, 10, 10 /),'rh2m_max') 309 321 type(ctrl_out),save :: o_qsat2m = ctrl_out((/ 10, 5, 10, 10, 10 /),'qsat2m') 310 322 type(ctrl_out),save :: o_tpot = ctrl_out((/ 10, 5, 10, 10, 10 /),'tpot') … … 331 343 type(ctrl_out),save :: o_snowl = ctrl_out((/ 10, 1, 10, 10, 10 /),'snowl') 332 344 type(ctrl_out),save :: o_cape_max = ctrl_out((/ 10, 1, 10, 10, 10 /),'cape_max') 333 type(ctrl_out),save :: o_solldown = ctrl_out((/ 10, 1, 10, 1 , 10 /),'solldown')334 335 type(ctrl_out),save :: o_dtsvdfo = ctrl_out((/ 10, 10, 10, 1 , 10 /),'dtsvdfo')336 type(ctrl_out),save :: o_dtsvdft = ctrl_out((/ 10, 10, 10, 1 , 10 /),'dtsvdft')337 type(ctrl_out),save :: o_dtsvdfg = ctrl_out((/ 10, 10, 10, 1 , 10 /),'dtsvdfg')338 type(ctrl_out),save :: o_dtsvdfi = ctrl_out((/ 10, 10, 10, 1 , 10 /),'dtsvdfi')339 type(ctrl_out),save :: o_rugs = ctrl_out((/ 10, 10, 10, 1 , 1/),'rugs')345 type(ctrl_out),save :: o_solldown = ctrl_out((/ 10, 1, 10, 10, 10 /),'solldown') 346 347 type(ctrl_out),save :: o_dtsvdfo = ctrl_out((/ 10, 10, 10, 10, 10 /),'dtsvdfo') 348 type(ctrl_out),save :: o_dtsvdft = ctrl_out((/ 10, 10, 10, 10, 10 /),'dtsvdft') 349 type(ctrl_out),save :: o_dtsvdfg = ctrl_out((/ 10, 10, 10, 10, 10 /),'dtsvdfg') 350 type(ctrl_out),save :: o_dtsvdfi = ctrl_out((/ 10, 10, 10, 10, 10 /),'dtsvdfi') 351 type(ctrl_out),save :: o_rugs = ctrl_out((/ 10, 10, 10, 10, 10 /),'rugs') 340 352 341 353 type(ctrl_out),save :: o_topswad = ctrl_out((/ 2, 10, 10, 10, 10 /),'topswad') … … 376 388 type(ctrl_out),save :: o_lwcon = ctrl_out((/ 2, 5, 10, 10, 1 /),'lwcon') 377 389 type(ctrl_out),save :: o_iwcon = ctrl_out((/ 2, 5, 10, 10, 10 /),'iwcon') 378 type(ctrl_out),save :: o_temp = ctrl_out((/ 2, 3, 4, 1 , 1 /),'temp')379 type(ctrl_out),save :: o_theta = ctrl_out((/ 2, 3, 4, 1 , 1 /),'theta')380 type(ctrl_out),save :: o_ovap = ctrl_out((/ 2, 3, 4, 1 , 1 /),'ovap')381 type(ctrl_out),save :: o_ovapinit = ctrl_out((/ 2, 3, 4, 1, 1 /),'ovapinit')390 type(ctrl_out),save :: o_temp = ctrl_out((/ 2, 3, 4, 10, 1 /),'temp') 391 type(ctrl_out),save :: o_theta = ctrl_out((/ 2, 3, 4, 10, 1 /),'theta') 392 type(ctrl_out),save :: o_ovap = ctrl_out((/ 2, 3, 4, 10, 1 /),'ovap') 393 type(ctrl_out),save :: o_ovapinit = ctrl_out((/ 2, 3, 10, 10, 1 /),'ovapinit') 382 394 type(ctrl_out),save :: o_wvapp = ctrl_out((/ 2, 10, 10, 10, 10 /),'wvapp') 383 type(ctrl_out),save :: o_geop = ctrl_out((/ 2, 3, 10, 1, 1 /),'geop') 384 type(ctrl_out),save :: o_vitu = ctrl_out((/ 2, 3, 4, 1, 1 /),'vitu') 385 type(ctrl_out),save :: o_vitv = ctrl_out((/ 2, 3, 4, 1, 1 /),'vitv') 386 type(ctrl_out),save :: o_vitw = ctrl_out((/ 2, 3, 10, 10, 1 /),'vitw') 387 type(ctrl_out),save :: o_pres = ctrl_out((/ 2, 3, 10, 1, 1 /),'pres') 395 type(ctrl_out),save :: o_geop = ctrl_out((/ 2, 3, 10, 10, 1 /),'geop') 396 type(ctrl_out),save :: o_vitu = ctrl_out((/ 2, 3, 4, 5, 1 /),'vitu') 397 type(ctrl_out),save :: o_vitv = ctrl_out((/ 2, 3, 4, 5, 1 /),'vitv') 398 type(ctrl_out),save :: o_vitw = ctrl_out((/ 2, 3, 10, 5, 1 /),'vitw') 399 type(ctrl_out),save :: o_pres = ctrl_out((/ 2, 3, 10, 10, 1 /),'pres') 400 type(ctrl_out),save :: o_paprs = ctrl_out((/ 2, 3, 10, 10, 1 /),'paprs') 388 401 type(ctrl_out),save :: o_rneb = ctrl_out((/ 2, 5, 10, 10, 1 /),'rneb') 389 402 type(ctrl_out),save :: o_rnebcon = ctrl_out((/ 2, 5, 10, 10, 1 /),'rnebcon') 390 type(ctrl_out),save :: o_rhum = ctrl_out((/ 2, 10, 10, 10, 10 /),'rhum')403 type(ctrl_out),save :: o_rhum = ctrl_out((/ 2, 5, 10, 10, 10 /),'rhum') 391 404 type(ctrl_out),save :: o_ozone = ctrl_out((/ 2, 10, 10, 10, 10 /),'ozone') 392 405 type(ctrl_out),save :: o_ozone_light = ctrl_out((/ 2, 10, 10, 10, 10 /),'ozone_daylight') … … 412 425 ctrl_out((/ 3, 10, 10, 10, 10 /),'ages_sic') /) 413 426 414 type(ctrl_out),save,dimension(4) :: o_rugs_srf = (/ ctrl_out((/ 3, 4, 10, 1 , 10 /),'rugs_ter'), &415 ctrl_out((/ 3, 4, 10, 1 , 10 /),'rugs_lic'), &416 ctrl_out((/ 3, 4, 10, 1 , 10 /),'rugs_oce'), &417 ctrl_out((/ 3, 4, 10, 1 , 10 /),'rugs_sic') /)418 419 type(ctrl_out),save :: o_albs = ctrl_out((/ 3, 10, 10, 1 , 10 /),'albs')420 type(ctrl_out),save :: o_albslw = ctrl_out((/ 3, 10, 10, 1 , 10 /),'albslw')427 type(ctrl_out),save,dimension(4) :: o_rugs_srf = (/ ctrl_out((/ 3, 4, 10, 10, 10 /),'rugs_ter'), & 428 ctrl_out((/ 3, 4, 10, 10, 10 /),'rugs_lic'), & 429 ctrl_out((/ 3, 4, 10, 10, 10 /),'rugs_oce'), & 430 ctrl_out((/ 3, 4, 10, 10, 10 /),'rugs_sic') /) 431 432 type(ctrl_out),save :: o_albs = ctrl_out((/ 3, 10, 10, 10, 10 /),'albs') 433 type(ctrl_out),save :: o_albslw = ctrl_out((/ 3, 10, 10, 10, 10 /),'albslw') 421 434 422 435 type(ctrl_out),save :: o_clwcon = ctrl_out((/ 4, 10, 10, 10, 10 /),'clwcon') … … 424 437 type(ctrl_out),save :: o_dnwd = ctrl_out((/ 4, 10, 10, 10, 10 /),'dnwd') 425 438 type(ctrl_out),save :: o_dnwd0 = ctrl_out((/ 4, 10, 10, 10, 10 /),'dnwd0') 439 type(ctrl_out),save :: o_mc = ctrl_out((/ 4, 10, 10, 10, 10 /),'mc') 440 type(ctrl_out),save :: o_ftime_con = ctrl_out((/ 4, 10, 10, 10, 10 /),'ftime_con') 426 441 type(ctrl_out),save :: o_dtdyn = ctrl_out((/ 4, 10, 10, 10, 1 /),'dtdyn') 427 442 type(ctrl_out),save :: o_dqdyn = ctrl_out((/ 4, 10, 10, 10, 1 /),'dqdyn') … … 444 459 type(ctrl_out),save :: o_dtlschr = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtlschr') 445 460 type(ctrl_out),save :: o_dqlsc = ctrl_out((/ 4, 10, 10, 10, 10 /),'dqlsc') 446 type(ctrl_out),save :: o_dtvdf = ctrl_out((/ 4, 10, 10, 1 , 10 /),'dtvdf')447 type(ctrl_out),save :: o_dqvdf = ctrl_out((/ 4, 10, 10, 1 , 10 /),'dqvdf')461 type(ctrl_out),save :: o_dtvdf = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtvdf') 462 type(ctrl_out),save :: o_dqvdf = ctrl_out((/ 4, 10, 10, 10, 10 /),'dqvdf') 448 463 type(ctrl_out),save :: o_dteva = ctrl_out((/ 4, 10, 10, 10, 10 /),'dteva') 449 464 type(ctrl_out),save :: o_dqeva = ctrl_out((/ 4, 10, 10, 10, 10 /),'dqeva') … … 455 470 type(ctrl_out),save :: o_w_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'w_th') 456 471 type(ctrl_out),save :: o_lambda_th = ctrl_out((/ 10, 10, 10, 10, 10 /),'lambda_th') 472 type(ctrl_out),save :: o_ftime_th = ctrl_out((/ 10, 10, 10, 10, 10 /),'ftime_th') 457 473 type(ctrl_out),save :: o_q_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'q_th') 458 474 type(ctrl_out),save :: o_a_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'a_th') … … 772 788 CALL histdef2d(iff,o_pluc%flag,o_pluc%name, "Convective Precip.", "kg/(s*m2)") 773 789 CALL histdef2d(iff,o_snow%flag,o_snow%name, "Snow fall", "kg/(s*m2)" ) 790 CALL histdef2d(iff,o_msnow%flag,o_msnow%name, "Surface snow amount", "kg/m2" ) 791 CALL histdef2d(iff,o_fsnow%flag,o_fsnow%name, "Surface snow area fraction", "-" ) 774 792 CALL histdef2d(iff,o_evap%flag,o_evap%name, "Evaporat", "kg/(s*m2)" ) 775 793 CALL histdef2d(iff,o_tops%flag,o_tops%name, "Solar rad. at TOA", "W/m2") … … 781 799 CALL histdef2d(iff,o_SWdnTOA%flag,o_SWdnTOA%name, "SWdn at TOA", "W/m2" ) 782 800 CALL histdef2d(iff,o_SWdnTOAclr%flag,o_SWdnTOAclr%name, "SWdn clear sky at TOA", "W/m2") 801 CALL histdef2d(iff,o_nettop%flag,o_nettop%name, "Net dn radiatif flux at TOA", "W/m2") 783 802 CALL histdef2d(iff,o_SWup200%flag,o_SWup200%name, "SWup at 200mb", "W/m2" ) 784 803 CALL histdef2d(iff,o_SWup200clr%flag,o_SWup200clr%name, "SWup clear sky at 200mb", "W/m2") … … 809 828 CALL histdef2d(iff,o_fqfonte%flag,o_fqfonte%name, "Land ice melt", "kg/m2/s") 810 829 830 CALL histdef2d(iff,o_taux%flag,o_taux%name, "Zonal wind stress","Pa") 831 CALL histdef2d(iff,o_tauy%flag,o_tauy%name, "Meridional wind stress","Pa") 832 811 833 DO nsrf = 1, nbsrf 812 834 CALL histdef2d(iff,o_pourc_srf(nsrf)%flag,o_pourc_srf(nsrf)%name,"% "//clnsurf(nsrf),"%") … … 816 838 CALL histdef2d(iff,o_tsol_srf(nsrf)%flag,o_tsol_srf(nsrf)%name,"Temperature "//clnsurf(nsrf),"K") 817 839 CALL histdef2d(iff,o_u10m_srf(nsrf)%flag,o_u10m_srf(nsrf)%name,"Vent Zonal 10m "//clnsurf(nsrf),"m/s") 840 CALL histdef2d(iff,o_evap_srf(nsrf)%flag,o_evap_srf(nsrf)%name,"evaporation at surface "//clnsurf(nsrf),"kg/(s*m2)") 818 841 CALL histdef2d(iff,o_v10m_srf(nsrf)%flag,o_v10m_srf(nsrf)%name,"Vent meredien 10m "//clnsurf(nsrf),"m/s") 819 842 CALL histdef2d(iff,o_t2m_srf(nsrf)%flag,o_t2m_srf(nsrf)%name,"Temp 2m "//clnsurf(nsrf),"K") … … 909 932 CALL histdef3d(iff,o_dnwd%flag,o_dnwd%name, "saturated downdraft", "kg/m2/s") 910 933 CALL histdef3d(iff,o_dnwd0%flag,o_dnwd0%name, "unsat. downdraft", "kg/m2/s") 934 CALL histdef3d(iff,o_mc%flag,o_mc%name, "Convective mass flux", "kg/m2/s") 935 type_ecri(1) = 'inst(X)' 936 type_ecri(2) = 'inst(X)' 937 type_ecri(3) = 'inst(X)' 938 type_ecri(4) = 'inst(X)' 939 type_ecri(5) = 'inst(X)' 940 CALL histdef2d(iff,o_ftime_con%flag,o_ftime_con%name, "Fraction of time convection Occurs", " ") 941 type_ecri(:) = type_ecri_files(:) 911 942 ENDIF !iflag_con .GE. 3 912 943 … … 965 996 CALL histdef2d(iff,o_dthmin%flag,o_dthmin%name, "dTheta mini", "K/m") 966 997 CALL histdef2d(iff,o_rh2m%flag,o_rh2m%name, "Relative humidity at 2m", "%" ) 998 type_ecri(1) = 't_min(X)' 999 type_ecri(2) = 't_min(X)' 1000 type_ecri(3) = 't_min(X)' 1001 type_ecri(4) = 't_min(X)' 1002 type_ecri(5) = 't_min(X)' 1003 CALL histdef2d(iff,o_rh2m_min%flag,o_rh2m_min%name, "Min Relative humidity at 2m", "%" ) 1004 type_ecri(1) = 't_max(X)' 1005 type_ecri(2) = 't_max(X)' 1006 type_ecri(3) = 't_max(X)' 1007 type_ecri(4) = 't_max(X)' 1008 type_ecri(5) = 't_max(X)' 1009 CALL histdef2d(iff,o_rh2m_max%flag,o_rh2m_max%name, "Max Relative humidity at 2m", "%" ) 1010 type_ecri(:) = type_ecri_files(:) 967 1011 CALL histdef2d(iff,o_qsat2m%flag,o_qsat2m%name, "Saturant humidity at 2m", "%") 968 1012 CALL histdef2d(iff,o_tpot%flag,o_tpot%name, "Surface air potential temperature", "K") … … 992 1036 CALL histdef3d(iff,o_vitw%flag,o_vitw%name, "Vertical wind", "Pa/s" ) 993 1037 CALL histdef3d(iff,o_pres%flag,o_pres%name, "Air pressure", "Pa" ) 1038 CALL histdef3d(iff,o_paprs%flag,o_paprs%name, "Air pressure Inter-Couches", "Pa" ) 994 1039 CALL histdef3d(iff,o_rneb%flag,o_rneb%name, "Cloud fraction", "-") 995 1040 CALL histdef3d(iff,o_rnebcon%flag,o_rnebcon%name, "Convective Cloud Fraction", "-") … … 1078 1123 CALL histdef3d(iff,o_w_th%flag,o_w_th%name,"Thermal plume vertical velocity","m/s") 1079 1124 CALL histdef3d(iff,o_lambda_th%flag,o_lambda_th%name,"Thermal plume vertical velocity","m/s") 1125 CALL histdef2d(iff,o_ftime_th%flag,o_ftime_th%name,"Fraction of time Shallow convection occurs"," ") 1080 1126 CALL histdef3d(iff,o_q_th%flag,o_q_th%name, "Thermal plume total humidity", "kg/kg") 1081 1127 CALL histdef3d(iff,o_a_th%flag,o_a_th%name, "Thermal plume fraction", "") -
LMDZ4/trunk/libf/phylmd/phys_output_write.h
r1285 r1334 146 146 ENDIF 147 147 148 IF (o_msnow%flag(iff)<=lev_files(iff)) THEN 149 CALL histwrite_phy(nid_files(iff),o_msnow%name,itau_w,snow_o) 150 ENDIF 151 152 IF (o_fsnow%flag(iff)<=lev_files(iff)) THEN 153 CALL histwrite_phy(nid_files(iff),o_fsnow%name,itau_w,zfra_o) 154 ENDIF 155 148 156 IF (o_evap%flag(iff)<=lev_files(iff)) THEN 149 157 CALL histwrite_phy(nid_files(iff),o_evap%name,itau_w,evap) … … 190 198 ENDIF 191 199 200 IF (o_nettop%flag(iff)<=lev_files(iff)) THEN 201 zx_tmp_fi2d(:) = topsw(:)-toplw(:) 202 CALL histwrite_phy(nid_files(iff), 203 $ o_nettop%name,itau_w,zx_tmp_fi2d) 204 ENDIF 205 192 206 IF (o_SWup200%flag(iff)<=lev_files(iff)) THEN 193 207 CALL histwrite_phy(nid_files(iff),o_SWup200%name,itau_w,SWup200) … … 319 333 CALL histwrite_phy(nid_files(iff), 320 334 $ o_fqfonte%name,itau_w,zxfqfonte) 335 ENDIF 336 337 IF (o_taux%flag(iff)<=lev_files(iff)) THEN 338 zx_tmp_fi2d=0. 339 do nsrf=1,nbsrf 340 zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+pctsrf(:,nsrf)*fluxu(:,1,nsrf) 341 enddo 342 CALL histwrite_phy(nid_files(iff), 343 $ o_taux%name,itau_w,zx_tmp_fi2d) 344 ENDIF 345 346 IF (o_tauy%flag(iff)<=lev_files(iff)) THEN 347 zx_tmp_fi2d=0. 348 do nsrf=1,nbsrf 349 zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+pctsrf(:,nsrf)*fluxv(:,1,nsrf) 350 enddo 351 CALL histwrite_phy(nid_files(iff), 352 $ o_tauy%name,itau_w,zx_tmp_fi2d) 321 353 ENDIF 322 354 … … 377 409 ENDIF 378 410 411 IF (o_evap_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN 412 zx_tmp_fi2d(1 : klon) = fevap(1 : klon, nsrf) 413 CALL histwrite_phy(nid_files(iff),o_evap_srf(nsrf)%name, 414 $ itau_w,zx_tmp_fi2d) 415 ENDIF 416 379 417 IF (o_sens_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN 380 418 zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf) … … 497 535 498 536 IF (o_pbase%flag(iff)<=lev_files(iff)) THEN 499 CALL histwrite_phy(nid_files(iff),o_pbase%name,itau_w, pbase)537 CALL histwrite_phy(nid_files(iff),o_pbase%name,itau_w,ema_pcb) 500 538 ENDIF 501 539 … … 532 570 ENDIF 533 571 572 IF (o_ftime_con%flag(iff)<=lev_files(iff)) THEN 573 zx_tmp_fi2d=float(itau_con)/float(itap) 574 CALL histwrite_phy(nid_files(iff),o_ftime_con%name, 575 s itau_w,zx_tmp_fi2d) 576 ENDIF 577 578 IF (o_mc%flag(iff)<=lev_files(iff)) THEN 579 if(iflag_thermals.gt.1)then 580 zx_tmp_fi3d=dnwd+dnwd0+upwd+fm_therm 581 else 582 zx_tmp_fi3d=dnwd+dnwd0+upwd 583 endif 584 CALL histwrite_phy(nid_files(iff),o_mc%name,itau_w,zx_tmp_fi3d) 585 ENDIF 586 534 587 ENDIF !iflag_con .GE. 3 535 588 … … 780 833 ENDIF 781 834 835 IF (o_rh2m_min%flag(iff)<=lev_files(iff)) THEN 836 DO i=1, klon 837 zx_tmp_fi2d(i)=MIN(100.,rh2m(i)*100.) 838 ENDDO 839 CALL histwrite_phy(nid_files(iff),o_rh2m_min%name, 840 s itau_w,zx_tmp_fi2d) 841 ENDIF 842 843 IF (o_rh2m_max%flag(iff)<=lev_files(iff)) THEN 844 DO i=1, klon 845 zx_tmp_fi2d(i)=MIN(100.,rh2m(i)*100.) 846 ENDDO 847 CALL histwrite_phy(nid_files(iff),o_rh2m_max%name, 848 s itau_w,zx_tmp_fi2d) 849 ENDIF 850 851 782 852 IF (o_qsat2m%flag(iff)<=lev_files(iff)) THEN 783 853 CALL histwrite_phy(nid_files(iff),o_qsat2m%name,itau_w,qsat2m) … … 1000 1070 IF (o_pres%flag(iff)<=lev_files(iff)) THEN 1001 1071 CALL histwrite_phy(nid_files(iff),o_pres%name,itau_w,pplay) 1072 ENDIF 1073 1074 IF (o_paprs%flag(iff)<=lev_files(iff)) THEN 1075 CALL histwrite_phy(nid_files(iff),o_paprs%name, 1076 s itau_w,paprs(:,1:klev)) 1002 1077 ENDIF 1003 1078 … … 1180 1255 1181 1256 IF (iflag_thermals.gt.1) THEN 1257 IF (o_ftime_th%flag(iff)<=lev_files(iff)) THEN 1258 ! Pour l instant 0 a y reflichir pour les thermiques 1259 zx_tmp_fi2d=0. 1260 CALL histwrite_phy(nid_files(iff),o_ftime_th%name, 1261 s itau_w,zx_tmp_fi2d) 1262 ENDIF 1263 1182 1264 IF (o_f_th%flag(iff)<=lev_files(iff)) THEN 1183 1265 CALL histwrite_phy(nid_files(iff),o_f_th%name,itau_w,fm_therm) … … 1209 1291 ENDIF 1210 1292 1211 1293 ENDIF !iflag_thermals 1212 1294 1213 1295 IF (o_f0_th%flag(iff)<=lev_files(iff)) THEN -
LMDZ4/trunk/libf/phylmd/physiq.F
r1319 r1334 1 1 ! $Id$ 2 !3 2 c#define IO_DEBUG 4 3 … … 29 28 USE phys_local_var_mod ! Variables internes non sauvegardees de la physique 30 29 USE phys_state_var_mod ! Variables sauvegardees de la physique 30 USE phys_output_var_mod ! Variables pour les ecritures des sorties 31 31 USE fonte_neige_mod, ONLY : fonte_neige_get_vars 32 32 USE phys_output_mod … … 837 837 REAL rflag(klon) ! flag fonctionnement de convect 838 838 INTEGER iflagctrl(klon) ! flag fonctionnement de convect 839 839 840 c -- convect43: 840 841 INTEGER ntra ! nb traceurs pour convect4.3 … … 1189 1190 . iflag_coupl,iflag_clos,iflag_wake, read_climoz) 1190 1191 call phys_state_var_init(read_climoz) 1192 call phys_output_var_init 1191 1193 print*, '=================================================' 1192 1194 … … 1202 1204 c pmflxr=0. 1203 1205 c pmflxs=0. 1206 itau_con=0 1204 1207 first=.false. 1205 1208 … … 2096 2099 pmfu(:,:)=upwd(:,:)+dnwd(:,:) 2097 2100 2101 do i = 1, klon 2102 if (iflagctrl(i).le.1) itau_con(i)=itau_con(i)+1 2103 enddo 2104 2098 2105 ELSE ! ok_cvl 2099 2106 c MAF conema3 ne contient pas les traceurs … … 2136 2143 2137 2144 DO i = 1, klon 2138 ema_pcb(i) = p base(i)2145 ema_pcb(i) = paprs(i,ibas_con(i)) 2139 2146 ENDDO 2140 2147 DO i = 1, klon 2141 2142 2148 ! L'idicage de itop_con peut cacher un pb potentiel 2143 2149 ! FH sous la dictee de JYG, CR … … 3210 3216 $ pmflxr(:,1:klev),pmflxs(:,1:klev), 3211 3217 $ mr_ozone,cldtau, cldemi) 3218 3212 3219 ! L calipso2D,calipso3D,cfadlidar,parasolrefl,atb,betamol, 3213 3220 ! L cfaddbze,clcalipso2,dbze,cltlidarradar, … … 3430 3437 cIM global posePB#include "write_bilKP_ave.h" 3431 3438 c 3439 3432 3440 c Sauvegarder les valeurs de t et q a la fin de la physique: 3433 3441 c -
LMDZ4/trunk/libf/phylmd/surf_landice_mod.F90
r1146 r1334 24 24 USE cpl_mod, ONLY : cpl_send_landice_fields 25 25 USE calcul_fluxs_mod 26 USE phys_output_var_mod 26 27 27 28 INCLUDE "indicesol.h" … … 74 75 REAL, DIMENSION(klon) :: radsol 75 76 REAL, DIMENSION(klon) :: u0, v0, u1_lay, v1_lay 77 INTEGER :: i,j 76 78 77 79 ! End definition … … 174 176 CALL cpl_send_landice_fields(itime, knon, knindex, run_off_lic) 175 177 ENDIF 176 178 179 !**************************************************************************************** 180 snow_o=0. 181 zfra_o = 0. 182 DO j = 1, knon 183 i = knindex(j) 184 snow_o(i) = snow(j) 185 zfra_o(i) = zfra(j) 186 ENDDO 177 187 178 188 END SUBROUTINE surf_landice
Note: See TracChangeset
for help on using the changeset viewer.