/[lmdze]/trunk/phylmd/physiq.f
ViewVC logotype

Diff of /trunk/phylmd/physiq.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 304 by guez, Thu Sep 6 15:51:09 2018 UTC revision 307 by guez, Tue Sep 11 12:52:28 2018 UTC
# Line 261  contains Line 261  contains
261      real, save:: sollwdown(klon) ! downward LW flux at surface      real, save:: sollwdown(klon) ! downward LW flux at surface
262      REAL, save:: topsw0(klon), toplw0(klon), solsw0(klon), sollw0(klon)      REAL, save:: topsw0(klon), toplw0(klon), solsw0(klon), sollw0(klon)
263      REAL, save:: albpla(klon)      REAL, save:: albpla(klon)
     REAL fsollw(klon, nbsrf) ! bilan flux IR pour chaque sous-surface  
     REAL fsolsw(klon, nbsrf) ! flux solaire absorb\'e pour chaque sous-surface  
264    
265      REAL conv_q(klon, llm) ! convergence de l'humidite (kg / kg / s)      REAL conv_q(klon, llm) ! convergence de l'humidite (kg / kg / s)
266      REAL conv_t(klon, llm) ! convergence of temperature (K / s)      REAL conv_t(klon, llm) ! convergence of temperature (K / s)
# Line 326  contains Line 324  contains
324      INTEGER, save:: ibas_con(klon), itop_con(klon)      INTEGER, save:: ibas_con(klon), itop_con(klon)
325      real ema_pct(klon) ! Emanuel pressure at cloud top, in Pa      real ema_pct(klon) ! Emanuel pressure at cloud top, in Pa
326    
327      REAL, save:: rain_con(klon)      REAL rain_con(klon)
328      real rain_lsc(klon)      real rain_lsc(klon)
329      REAL, save:: snow_con(klon) ! neige (mm / s)      REAL snow_con(klon) ! neige (mm / s)
330      real snow_lsc(klon)      real snow_lsc(klon)
331      REAL d_ts(klon, nbsrf) ! variation of ftsol      REAL d_ts(klon, nbsrf) ! variation of ftsol
332    
# Line 417  contains Line 415  contains
415         t2m = 0.         t2m = 0.
416         q2m = 0.         q2m = 0.
417         ffonte = 0.         ffonte = 0.
        rain_con = 0.  
        snow_con = 0.  
418         d_u_con = 0.         d_u_con = 0.
419         d_v_con = 0.         d_v_con = 0.
420         rnebcon0 = 0.         rnebcon0 = 0.
# Line 539  contains Line 535  contains
535    
536      CALL orbite(REAL(julien), longi, dist)      CALL orbite(REAL(julien), longi, dist)
537      CALL zenang(longi, time, dtphys * radpas, mu0, fract)      CALL zenang(longi, time, dtphys * radpas, mu0, fract)
     albsol = sum(falbe * pctsrf, dim = 2)  
   
     ! R\'epartition sous maille des flux longwave et shortwave  
     ! R\'epartition du longwave par sous-surface lin\'earis\'ee  
   
     forall (nsrf = 1: nbsrf)  
        fsollw(:, nsrf) = sollw + 4. * RSIGMA * tsol**3 &  
             * (tsol - ftsol(:, nsrf))  
        fsolsw(:, nsrf) = solsw * (1. - falbe(:, nsrf)) / (1. - albsol)  
     END forall  
538    
539      CALL pbl_surface(pctsrf, t_seri, q_seri, u_seri, v_seri, julien, mu0, &      CALL pbl_surface(pctsrf, t_seri, q_seri, u_seri, v_seri, julien, mu0, &
540           ftsol, cdmmax, cdhmax, ftsoil, qsol, paprs, play, fsnow, fqsurf, &           ftsol, cdmmax, cdhmax, ftsoil, qsol, paprs, play, fsnow, fqsurf, &
541           falbe, fluxlat, rain_fall, snow_fall, fsolsw, fsollw, frugs, agesno, &           falbe, fluxlat, rain_fall, snow_fall, frugs, agesno, rugoro, d_t_vdf, &
542           rugoro, d_t_vdf, d_q_vdf, d_u_vdf, d_v_vdf, d_ts, flux_t, flux_q, &           d_q_vdf, d_u_vdf, d_v_vdf, d_ts, flux_t, flux_q, flux_u, flux_v, &
543           flux_u, flux_v, cdragh, cdragm, q2, dflux_t, dflux_q, coefh, t2m, &           cdragh, cdragm, q2, dflux_t, dflux_q, coefh, t2m, q2m, u10m_srf, &
544           q2m, u10m_srf, v10m_srf, pblh, capCL, oliqCL, cteiCL, pblT, therm, &           v10m_srf, pblh, capCL, oliqCL, cteiCL, pblT, therm, plcl, fqcalving, &
545           plcl, fqcalving, ffonte, run_off_lic_0)           ffonte, run_off_lic_0, albsol, sollw, solsw, tsol)
546    
547      ! Incr\'ementation des flux      ! Incr\'ementation des flux
548    
# Line 1006  contains Line 992  contains
992      CALL histwrite_phy("dtsvdfg", d_ts(:, is_lic))      CALL histwrite_phy("dtsvdfg", d_ts(:, is_lic))
993      CALL histwrite_phy("dtsvdfi", d_ts(:, is_sic))      CALL histwrite_phy("dtsvdfi", d_ts(:, is_sic))
994      CALL histwrite_phy("zxfqcalving", sum(fqcalving * pctsrf, dim = 2))      CALL histwrite_phy("zxfqcalving", sum(fqcalving * pctsrf, dim = 2))
   
     DO nsrf = 1, nbsrf  
        CALL histwrite_phy("pourc_"//clnsurf(nsrf), pctsrf(:, nsrf) * 100.)  
        CALL histwrite_phy("fract_"//clnsurf(nsrf), pctsrf(:, nsrf))  
        CALL histwrite_phy("sens_"//clnsurf(nsrf), flux_t(:, nsrf))  
        CALL histwrite_phy("lat_"//clnsurf(nsrf), fluxlat(:, nsrf))  
        CALL histwrite_phy("tsol_"//clnsurf(nsrf), ftsol(:, nsrf))  
        CALL histwrite_phy("taux_"//clnsurf(nsrf), flux_u(:, nsrf))  
        CALL histwrite_phy("tauy_"//clnsurf(nsrf), flux_v(:, nsrf))  
        CALL histwrite_phy("rugs_"//clnsurf(nsrf), frugs(:, nsrf))  
        CALL histwrite_phy("albe_"//clnsurf(nsrf), falbe(:, nsrf))  
        CALL histwrite_phy("u10m_"//clnsurf(nsrf), u10m_srf(:, nsrf))  
        CALL histwrite_phy("v10m_"//clnsurf(nsrf), v10m_srf(:, nsrf))  
     END DO  
   
995      CALL histwrite_phy("albs", albsol)      CALL histwrite_phy("albs", albsol)
996      CALL histwrite_phy("tro3", wo * dobson_u * 1e3 / zmasse / rmo3 * md)      CALL histwrite_phy("tro3", wo * dobson_u * 1e3 / zmasse / rmo3 * md)
997      CALL histwrite_phy("rugs", zxrugs)      CALL histwrite_phy("rugs", zxrugs)
# Line 1031  contains Line 1002  contains
1002      CALL histwrite_phy("s_oliqCL", s_oliqCL)      CALL histwrite_phy("s_oliqCL", s_oliqCL)
1003      CALL histwrite_phy("s_cteiCL", s_cteiCL)      CALL histwrite_phy("s_cteiCL", s_cteiCL)
1004      CALL histwrite_phy("s_therm", s_therm)      CALL histwrite_phy("s_therm", s_therm)
   
     if (conv_emanuel) then  
        CALL histwrite_phy("ptop", ema_pct)  
        CALL histwrite_phy("dnwd0", - mp)  
     end if  
   
1005      CALL histwrite_phy("temp", t_seri)      CALL histwrite_phy("temp", t_seri)
1006      CALL histwrite_phy("vitu", u_seri)      CALL histwrite_phy("vitu", u_seri)
1007      CALL histwrite_phy("vitv", v_seri)      CALL histwrite_phy("vitv", v_seri)
# Line 1050  contains Line 1015  contains
1015      CALL histwrite_phy("dtlw0", - cool0 / 86400.)      CALL histwrite_phy("dtlw0", - cool0 / 86400.)
1016      CALL histwrite_phy("msnow", sum(fsnow * pctsrf, dim = 2))      CALL histwrite_phy("msnow", sum(fsnow * pctsrf, dim = 2))
1017      call histwrite_phy("qsurf", sum(fqsurf * pctsrf, dim = 2))      call histwrite_phy("qsurf", sum(fqsurf * pctsrf, dim = 2))
1018        call histwrite_phy("flat", zxfluxlat)
1019    
1020        DO nsrf = 1, nbsrf
1021           CALL histwrite_phy("pourc_"//clnsurf(nsrf), pctsrf(:, nsrf) * 100.)
1022           CALL histwrite_phy("fract_"//clnsurf(nsrf), pctsrf(:, nsrf))
1023           CALL histwrite_phy("sens_"//clnsurf(nsrf), flux_t(:, nsrf))
1024           CALL histwrite_phy("lat_"//clnsurf(nsrf), fluxlat(:, nsrf))
1025           CALL histwrite_phy("tsol_"//clnsurf(nsrf), ftsol(:, nsrf))
1026           CALL histwrite_phy("taux_"//clnsurf(nsrf), flux_u(:, nsrf))
1027           CALL histwrite_phy("tauy_"//clnsurf(nsrf), flux_v(:, nsrf))
1028           CALL histwrite_phy("rugs_"//clnsurf(nsrf), frugs(:, nsrf))
1029           CALL histwrite_phy("albe_"//clnsurf(nsrf), falbe(:, nsrf))
1030           CALL histwrite_phy("u10m_"//clnsurf(nsrf), u10m_srf(:, nsrf))
1031           CALL histwrite_phy("v10m_"//clnsurf(nsrf), v10m_srf(:, nsrf))
1032        END DO
1033    
1034        if (conv_emanuel) then
1035           CALL histwrite_phy("ptop", ema_pct)
1036           CALL histwrite_phy("dnwd0", - mp)
1037        end if
1038    
1039      if (ok_instan) call histsync(nid_ins)      if (ok_instan) call histsync(nid_ins)
1040    

Legend:
Removed from v.304  
changed lines
  Added in v.307

  ViewVC Help
Powered by ViewVC 1.1.21