/[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 174 by guez, Wed Nov 25 20:14:19 2015 UTC revision 188 by guez, Tue Mar 22 16:31:39 2016 UTC
# Line 19  contains Line 19  contains
19      use aeropt_m, only: aeropt      use aeropt_m, only: aeropt
20      use ajsec_m, only: ajsec      use ajsec_m, only: ajsec
21      use calltherm_m, only: calltherm      use calltherm_m, only: calltherm
22      USE clesphys, ONLY: cdhmax, cdmmax, co2_ppm, ecrit_hf, ecrit_ins, &      USE clesphys, ONLY: cdhmax, cdmmax, ecrit_hf, ecrit_ins, ecrit_mth, &
23           ecrit_mth, ecrit_reg, ecrit_tra, ksta, ksta_ter, ok_kzmin           ecrit_reg, ecrit_tra, ksta, ksta_ter, ok_kzmin
24      USE clesphys2, ONLY: cycle_diurne, iflag_con, nbapp_rad, new_oliq, &      USE clesphys2, ONLY: cycle_diurne, conv_emanuel, nbapp_rad, new_oliq, &
25           ok_orodr, ok_orolf           ok_orodr, ok_orolf
26      USE clmain_m, ONLY: clmain      USE clmain_m, ONLY: clmain
27      use clouds_gno_m, only: clouds_gno      use clouds_gno_m, only: clouds_gno
# Line 48  contains Line 48  contains
48      USE ini_histins_m, ONLY: ini_histins      USE ini_histins_m, ONLY: ini_histins
49      use netcdf95, only: NF95_CLOSE      use netcdf95, only: NF95_CLOSE
50      use newmicro_m, only: newmicro      use newmicro_m, only: newmicro
51        use nuage_m, only: nuage
52      USE orbite_m, ONLY: orbite      USE orbite_m, ONLY: orbite
53      USE ozonecm_m, ONLY: ozonecm      USE ozonecm_m, ONLY: ozonecm
54      USE phyetat0_m, ONLY: phyetat0, rlat, rlon      USE phyetat0_m, ONLY: phyetat0, rlat, rlon
# Line 61  contains Line 62  contains
62      use readsulfate_preind_m, only: readsulfate_preind      use readsulfate_preind_m, only: readsulfate_preind
63      use yoegwd, only: sugwd      use yoegwd, only: sugwd
64      USE suphec_m, ONLY: rcpd, retv, rg, rlvtt, romega, rsigma, rtt      USE suphec_m, ONLY: rcpd, retv, rg, rlvtt, romega, rsigma, rtt
     USE temps, ONLY: itau_phy  
65      use transp_m, only: transp      use transp_m, only: transp
66        use transp_lay_m, only: transp_lay
67      use unit_nml_m, only: unit_nml      use unit_nml_m, only: unit_nml
68      USE ymds2ju_m, ONLY: ymds2ju      USE ymds2ju_m, ONLY: ymds2ju
69      USE yoethf_m, ONLY: r2es, rvtmp2      USE yoethf_m, ONLY: r2es, rvtmp2
# Line 116  contains Line 117  contains
117      LOGICAL, PARAMETER:: ok_stratus = .FALSE.      LOGICAL, PARAMETER:: ok_stratus = .FALSE.
118      ! Ajouter artificiellement les stratus      ! Ajouter artificiellement les stratus
119    
     ! "slab" ocean  
     REAL, save:: tslab(klon) ! temperature of ocean slab  
     REAL, save:: seaice(klon) ! glace de mer (kg/m2)  
     REAL fluxo(klon) ! flux turbulents ocean-glace de mer  
     REAL fluxg(klon) ! flux turbulents ocean-atmosphere  
   
120      logical:: ok_journe = .false., ok_mensuel = .true., ok_instan = .false.      logical:: ok_journe = .false., ok_mensuel = .true., ok_instan = .false.
121      ! sorties journalieres, mensuelles et instantanees dans les      ! sorties journalieres, mensuelles et instantanees dans les
122      ! fichiers histday, histmth et histins      ! fichiers histday, histmth et histins
# Line 153  contains Line 148  contains
148      REAL lwup0(klon, llm + 1), lwup(klon, llm + 1)      REAL lwup0(klon, llm + 1), lwup(klon, llm + 1)
149      SAVE lwdn0, lwdn, lwup0, lwup      SAVE lwdn0, lwdn, lwup0, lwup
150    
     ! Amip2  
     ! variables a une pression donnee  
   
     integer nlevSTD  
     PARAMETER(nlevSTD = 17)  
   
151      ! prw: precipitable water      ! prw: precipitable water
152      real prw(klon)      real prw(klon)
153    
# Line 167  contains Line 156  contains
156      REAL flwp(klon), fiwp(klon)      REAL flwp(klon), fiwp(klon)
157      REAL flwc(klon, llm), fiwc(klon, llm)      REAL flwc(klon, llm), fiwc(klon, llm)
158    
     INTEGER kmax, lmax  
     PARAMETER(kmax = 8, lmax = 8)  
     INTEGER kmaxm1, lmaxm1  
     PARAMETER(kmaxm1 = kmax - 1, lmaxm1 = lmax - 1)  
   
159      ! Variables propres a la physique      ! Variables propres a la physique
160    
161      INTEGER, save:: radpas      INTEGER, save:: radpas
# Line 210  contains Line 194  contains
194      REAL, save:: zpic(klon) ! Maximum de l'OESM      REAL, save:: zpic(klon) ! Maximum de l'OESM
195      REAL, save:: zval(klon) ! Minimum de l'OESM      REAL, save:: zval(klon) ! Minimum de l'OESM
196      REAL, save:: rugoro(klon) ! longueur de rugosite de l'OESM      REAL, save:: rugoro(klon) ! longueur de rugosite de l'OESM
   
197      REAL zulow(klon), zvlow(klon)      REAL zulow(klon), zvlow(klon)
198        INTEGER igwd, itest(klon)
     INTEGER igwd, idx(klon), itest(klon)  
199    
200      REAL agesno(klon, nbsrf)      REAL agesno(klon, nbsrf)
201      SAVE agesno ! age de la neige      SAVE agesno ! age de la neige
# Line 230  contains Line 212  contains
212      REAL, save:: sig1(klon, llm), w01(klon, llm)      REAL, save:: sig1(klon, llm), w01(klon, llm)
213      REAL, save:: wd(klon)      REAL, save:: wd(klon)
214    
215      ! Variables locales pour la couche limite (al1):      ! Variables pour la couche limite (al1):
   
     ! Variables locales:  
216    
217      REAL cdragh(klon) ! drag coefficient pour T and Q      REAL cdragh(klon) ! drag coefficient pour T and Q
218      REAL cdragm(klon) ! drag coefficient pour vent      REAL cdragm(klon) ! drag coefficient pour vent
# Line 287  contains Line 267  contains
267      REAL, save:: albsol(klon) ! albedo du sol total visible      REAL, save:: albsol(klon) ! albedo du sol total visible
268      REAL, SAVE:: wo(klon, llm) ! column density of ozone in a cell, in kDU      REAL, SAVE:: wo(klon, llm) ! column density of ozone in a cell, in kDU
269    
     ! Declaration des procedures appelees  
   
     EXTERNAL nuage ! calculer les proprietes radiatives  
   
     ! Variables locales  
   
270      real, save:: clwcon(klon, llm), rnebcon(klon, llm)      real, save:: clwcon(klon, llm), rnebcon(klon, llm)
271      real, save:: clwcon0(klon, llm), rnebcon0(klon, llm)      real, save:: clwcon0(klon, llm), rnebcon0(klon, llm)
272    
# Line 346  contains Line 320  contains
320      REAL, PARAMETER:: t_coup = 234.      REAL, PARAMETER:: t_coup = 234.
321      REAL zphi(klon, llm)      REAL zphi(klon, llm)
322    
323      ! cf. AM Variables locales pour la CLA (hbtm2)      ! cf. Anne Mathieu variables pour la couche limite atmosphérique (hbtm)
324    
325      REAL, SAVE:: pblh(klon, nbsrf) ! Hauteur de couche limite      REAL, SAVE:: pblh(klon, nbsrf) ! Hauteur de couche limite
326      REAL, SAVE:: plcl(klon, nbsrf) ! Niveau de condensation de la CLA      REAL, SAVE:: plcl(klon, nbsrf) ! Niveau de condensation de la CLA
# Line 358  contains Line 332  contains
332      REAL, SAVE:: trmb1(klon, nbsrf) ! deep_cape      REAL, SAVE:: trmb1(klon, nbsrf) ! deep_cape
333      REAL, SAVE:: trmb2(klon, nbsrf) ! inhibition      REAL, SAVE:: trmb2(klon, nbsrf) ! inhibition
334      REAL, SAVE:: trmb3(klon, nbsrf) ! Point Omega      REAL, SAVE:: trmb3(klon, nbsrf) ! Point Omega
335      ! Grdeurs de sorties      ! Grandeurs de sorties
336      REAL s_pblh(klon), s_lcl(klon), s_capCL(klon)      REAL s_pblh(klon), s_lcl(klon), s_capCL(klon)
337      REAL s_oliqCL(klon), s_cteiCL(klon), s_pblt(klon)      REAL s_oliqCL(klon), s_cteiCL(klon), s_pblt(klon)
338      REAL s_therm(klon), s_trmb1(klon), s_trmb2(klon)      REAL s_therm(klon), s_trmb1(klon), s_trmb2(klon)
339      REAL s_trmb3(klon)      REAL s_trmb3(klon)
340    
341      ! Variables locales pour la convection de K. Emanuel :      ! Variables pour la convection de K. Emanuel :
342    
343      REAL upwd(klon, llm) ! saturated updraft mass flux      REAL upwd(klon, llm) ! saturated updraft mass flux
344      REAL dnwd(klon, llm) ! saturated downdraft mass flux      REAL dnwd(klon, llm) ! saturated downdraft mass flux
# Line 396  contains Line 370  contains
370      REAL prfl(klon, llm + 1), psfl(klon, llm + 1)      REAL prfl(klon, llm + 1), psfl(klon, llm + 1)
371    
372      INTEGER, save:: ibas_con(klon), itop_con(klon)      INTEGER, save:: ibas_con(klon), itop_con(klon)
373        real ema_pct(klon) ! Emanuel pressure at cloud top, in Pa
374    
375      REAL rain_con(klon), rain_lsc(klon)      REAL rain_con(klon), rain_lsc(klon)
376      REAL snow_con(klon), snow_lsc(klon)      REAL, save:: snow_con(klon) ! neige (mm / s)
377        real snow_lsc(klon)
378      REAL d_ts(klon, nbsrf)      REAL d_ts(klon, nbsrf)
379    
380      REAL d_u_vdf(klon, llm), d_v_vdf(klon, llm)      REAL d_u_vdf(klon, llm), d_v_vdf(klon, llm)
# Line 422  contains Line 398  contains
398      integer:: iflag_cldcon = 1      integer:: iflag_cldcon = 1
399      logical ptconv(klon, llm)      logical ptconv(klon, llm)
400    
401      ! Variables locales pour effectuer les appels en s\'erie :      ! Variables pour effectuer les appels en s\'erie :
402    
403      REAL t_seri(klon, llm), q_seri(klon, llm)      REAL t_seri(klon, llm), q_seri(klon, llm)
404      REAL ql_seri(klon, llm)      REAL ql_seri(klon, llm)
# Line 469  contains Line 445  contains
445      REAL sulfate(klon, llm) ! SO4 aerosol concentration (micro g/m3)      REAL sulfate(klon, llm) ! SO4 aerosol concentration (micro g/m3)
446    
447      REAL, save:: sulfate_pi(klon, llm)      REAL, save:: sulfate_pi(klon, llm)
448      ! SO4 aerosol concentration, in micro g/m3, pre-industrial value      ! SO4 aerosol concentration, in \mu g/m3, pre-industrial value
449    
450      REAL cldtaupi(klon, llm)      REAL cldtaupi(klon, llm)
451      ! cloud optical thickness for pre-industrial (pi) aerosols      ! cloud optical thickness for pre-industrial (pi) aerosols
# Line 501  contains Line 477  contains
477      SAVE ffonte      SAVE ffonte
478      SAVE fqcalving      SAVE fqcalving
479      SAVE rain_con      SAVE rain_con
     SAVE snow_con  
480      SAVE topswai      SAVE topswai
481      SAVE topswad      SAVE topswad
482      SAVE solswai      SAVE solswai
# Line 512  contains Line 487  contains
487      real zmasse(klon, llm)      real zmasse(klon, llm)
488      ! (column-density of mass of air in a cell, in kg m-2)      ! (column-density of mass of air in a cell, in kg m-2)
489    
490      real, parameter:: dobson_u = 2.1415e-05 ! Dobson unit, in kg m-2      integer, save:: ncid_startphy, itau_phy
     integer, save:: ncid_startphy  
491    
492      namelist /physiq_nml/ ok_journe, ok_mensuel, ok_instan, fact_cldcon, &      namelist /physiq_nml/ ok_journe, ok_mensuel, ok_instan, fact_cldcon, &
493           facttemps, ok_newmicro, iflag_cldcon, ratqsbas, ratqshaut, if_ebil, &           facttemps, ok_newmicro, iflag_cldcon, ratqsbas, ratqshaut, if_ebil, &
# Line 574  contains Line 548  contains
548         ! Initialiser les compteurs:         ! Initialiser les compteurs:
549    
550         frugs = 0.         frugs = 0.
551         CALL phyetat0(pctsrf, ftsol, ftsoil, tslab, seaice, fqsurf, qsol, &         CALL phyetat0(pctsrf, ftsol, ftsoil, fqsurf, qsol, &
552              fsnow, falbe, fevap, rain_fall, snow_fall, solsw, sollw, dlw, &              fsnow, falbe, fevap, rain_fall, snow_fall, solsw, sollw, dlw, &
553              radsol, frugs, agesno, zmea, zstd, zsig, zgam, zthe, zpic, zval, &              radsol, frugs, agesno, zmea, zstd, zsig, zgam, zthe, zpic, zval, &
554              t_ancien, q_ancien, ancien_ok, rnebcon, ratqs, clwcon, &              t_ancien, q_ancien, ancien_ok, rnebcon, ratqs, clwcon, &
555              run_off_lic_0, sig1, w01, ncid_startphy)              run_off_lic_0, sig1, w01, ncid_startphy, itau_phy)
556    
557         ! ATTENTION : il faudra a terme relire q2 dans l'etat initial         ! ATTENTION : il faudra a terme relire q2 dans l'etat initial
558         q2 = 1e-8         q2 = 1e-8
# Line 594  contains Line 568  contains
568         CALL printflag(radpas, ok_journe, ok_instan, ok_region)         CALL printflag(radpas, ok_journe, ok_instan, ok_region)
569    
570         ! Initialisation pour le sch\'ema de convection d'Emanuel :         ! Initialisation pour le sch\'ema de convection d'Emanuel :
571         IF (iflag_con >= 3) THEN         IF (conv_emanuel) THEN
572            ibas_con = 1            ibas_con = 1
573            itop_con = 1            itop_con = 1
574         ENDIF         ENDIF
# Line 614  contains Line 588  contains
588    
589         ! Initialisation des sorties         ! Initialisation des sorties
590    
591         call ini_histins(dtphys, ok_instan, nid_ins)         call ini_histins(dtphys, ok_instan, nid_ins, itau_phy)
592         CALL ymds2ju(annee_ref, 1, day_ref, 0., date0)         CALL ymds2ju(annee_ref, 1, day_ref, 0., date0)
593         ! Positionner date0 pour initialisation de ORCHIDEE         ! Positionner date0 pour initialisation de ORCHIDEE
594         print *, 'physiq date0: ', date0         print *, 'physiq date0: ', date0
595         CALL phyredem0(lmt_pas)         CALL phyredem0(lmt_pas, itau_phy)
596      ENDIF test_firstcal      ENDIF test_firstcal
597    
598      ! We will modify variables *_seri and we will not touch variables      ! We will modify variables *_seri and we will not touch variables
# Line 733  contains Line 707  contains
707      ! Couche limite:      ! Couche limite:
708    
709      CALL clmain(dtphys, itap, pctsrf, pctsrf_new, t_seri, q_seri, u_seri, &      CALL clmain(dtphys, itap, pctsrf, pctsrf_new, t_seri, q_seri, u_seri, &
710           v_seri, julien, mu0, co2_ppm, ftsol, cdmmax, cdhmax, ksta, ksta_ter, &           v_seri, julien, mu0, ftsol, cdmmax, cdhmax, ksta, ksta_ter, &
711           ok_kzmin, ftsoil, qsol, paprs, play, fsnow, fqsurf, fevap, falbe, &           ok_kzmin, ftsoil, qsol, paprs, play, fsnow, fqsurf, fevap, falbe, &
712           fluxlat, rain_fall, snow_fall, fsolsw, fsollw, fder, rlat, frugs, &           fluxlat, rain_fall, snow_fall, fsolsw, fsollw, fder, rlat, frugs, &
713           firstcal, agesno, rugoro, d_t_vdf, d_q_vdf, d_u_vdf, d_v_vdf, d_ts, &           firstcal, agesno, rugoro, d_t_vdf, d_q_vdf, d_u_vdf, d_v_vdf, d_ts, &
714           fluxt, fluxq, fluxu, fluxv, cdragh, cdragm, q2, dsens, devap, &           fluxt, fluxq, fluxu, fluxv, cdragh, cdragm, q2, dsens, devap, &
715           ycoefh, yu1, yv1, t2m, q2m, u10m, v10m, pblh, capCL, oliqCL, cteiCL, &           ycoefh, yu1, yv1, t2m, q2m, u10m, v10m, pblh, capCL, oliqCL, cteiCL, &
716           pblT, therm, trmb1, trmb2, trmb3, plcl, fqcalving, ffonte, &           pblT, therm, trmb1, trmb2, trmb3, plcl, fqcalving, ffonte, &
717           run_off_lic_0, fluxo, fluxg, tslab)           run_off_lic_0)
718    
719      ! Incr\'ementation des flux      ! Incr\'ementation des flux
720    
# Line 871  contains Line 845  contains
845    
846      ! Appeler la convection (au choix)      ! Appeler la convection (au choix)
847    
848      if (iflag_con == 2) then      if (conv_emanuel) then
        conv_q = d_q_dyn + d_q_vdf / dtphys  
        conv_t = d_t_dyn + d_t_vdf / dtphys  
        z_avant = sum((q_seri + ql_seri) * zmasse, dim=2)  
        CALL conflx(dtphys, paprs, play, t_seri(:, llm:1:- 1), &  
             q_seri(:, llm:1:- 1), conv_t, conv_q, zxfluxq(:, 1), omega, &  
             d_t_con, d_q_con, rain_con, snow_con, mfu(:, llm:1:- 1), &  
             mfd(:, llm:1:- 1), pen_u, pde_u, pen_d, pde_d, kcbot, kctop, &  
             kdtop, pmflxr, pmflxs)  
        WHERE (rain_con < 0.) rain_con = 0.  
        WHERE (snow_con < 0.) snow_con = 0.  
        ibas_con = llm + 1 - kcbot  
        itop_con = llm + 1 - kctop  
     else  
        ! iflag_con >= 3  
   
849         da = 0.         da = 0.
850         mp = 0.         mp = 0.
851         phi = 0.         phi = 0.
852         CALL concvl(dtphys, paprs, play, t_seri, q_seri, u_seri, v_seri, sig1, &         CALL concvl(dtphys, paprs, play, t_seri, q_seri, u_seri, v_seri, sig1, &
853              w01, d_t_con, d_q_con, d_u_con, d_v_con, rain_con, snow_con, &              w01, d_t_con, d_q_con, d_u_con, d_v_con, rain_con, ibas_con, &
854              ibas_con, itop_con, upwd, dnwd, dnwd0, Ma, cape, iflagctrl, &              itop_con, upwd, dnwd, dnwd0, Ma, cape, iflagctrl, qcondc, wd, &
855              qcondc, wd, pmflxr, pmflxs, da, phi, mp)              pmflxr, da, phi, mp)
856           snow_con = 0.
857         clwcon0 = qcondc         clwcon0 = qcondc
858         mfu = upwd + dnwd         mfu = upwd + dnwd
859         IF (.NOT. ok_gust) wd = 0.         IF (.NOT. ok_gust) wd = 0.
# Line 910  contains Line 870  contains
870         call clouds_gno(klon, llm, q_seri, zqsat, clwcon0, ptconv, ratqsc, &         call clouds_gno(klon, llm, q_seri, zqsat, clwcon0, ptconv, ratqsc, &
871              rnebcon0)              rnebcon0)
872    
873           forall (i = 1:klon) ema_pct(i) = paprs(i,itop_con(i) + 1)
874         mfd = 0.         mfd = 0.
875         pen_u = 0.         pen_u = 0.
876         pen_d = 0.         pen_d = 0.
877         pde_d = 0.         pde_d = 0.
878         pde_u = 0.         pde_u = 0.
879        else
880           conv_q = d_q_dyn + d_q_vdf / dtphys
881           conv_t = d_t_dyn + d_t_vdf / dtphys
882           z_avant = sum((q_seri + ql_seri) * zmasse, dim=2)
883           CALL conflx(dtphys, paprs, play, t_seri(:, llm:1:- 1), &
884                q_seri(:, llm:1:- 1), conv_t, conv_q, zxfluxq(:, 1), omega, &
885                d_t_con, d_q_con, rain_con, snow_con, mfu(:, llm:1:- 1), &
886                mfd(:, llm:1:- 1), pen_u, pde_u, pen_d, pde_d, kcbot, kctop, &
887                kdtop, pmflxr, pmflxs)
888           WHERE (rain_con < 0.) rain_con = 0.
889           WHERE (snow_con < 0.) snow_con = 0.
890           ibas_con = llm + 1 - kcbot
891           itop_con = llm + 1 - kctop
892      END if      END if
893    
894      DO k = 1, llm      DO k = 1, llm
# Line 948  contains Line 922  contains
922         print *, "Precip = ", zx_t         print *, "Precip = ", zx_t
923      ENDIF      ENDIF
924    
925      IF (iflag_con == 2) THEN      IF (.not. conv_emanuel) THEN
926         z_apres = sum((q_seri + ql_seri) * zmasse, dim=2)         z_apres = sum((q_seri + ql_seri) * zmasse, dim=2)
927         z_factor = (z_avant - (rain_con + snow_con) * dtphys) / z_apres         z_factor = (z_avant - (rain_con + snow_con) * dtphys) / z_apres
928         DO k = 1, llm         DO k = 1, llm
# Line 1244  contains Line 1218  contains
1218            IF (zpic(i) - zmea(i) > 100. .AND. zstd(i) > 10.) THEN            IF (zpic(i) - zmea(i) > 100. .AND. zstd(i) > 10.) THEN
1219               itest(i) = 1               itest(i) = 1
1220               igwd = igwd + 1               igwd = igwd + 1
              idx(igwd) = i  
1221            ENDIF            ENDIF
1222         ENDDO         ENDDO
1223    
# Line 1270  contains Line 1243  contains
1243            IF (zpic(i) - zmea(i) > 100.) THEN            IF (zpic(i) - zmea(i) > 100.) THEN
1244               itest(i) = 1               itest(i) = 1
1245               igwd = igwd + 1               igwd = igwd + 1
              idx(igwd) = i  
1246            ENDIF            ENDIF
1247         ENDDO         ENDDO
1248    
# Line 1314  contains Line 1286  contains
1286      call phytrac(itap, lmt_pas, julien, time, firstcal, lafin, dtphys, t, &      call phytrac(itap, lmt_pas, julien, time, firstcal, lafin, dtphys, t, &
1287           paprs, play, mfu, mfd, pde_u, pen_d, ycoefh, fm_therm, entr_therm, &           paprs, play, mfu, mfd, pde_u, pen_d, ycoefh, fm_therm, entr_therm, &
1288           yu1, yv1, ftsol, pctsrf, frac_impa, frac_nucl, da, phi, mp, upwd, &           yu1, yv1, ftsol, pctsrf, frac_impa, frac_nucl, da, phi, mp, upwd, &
1289           dnwd, tr_seri, zmasse, ncid_startphy, nid_ins)           dnwd, tr_seri, zmasse, ncid_startphy, nid_ins, itau_phy)
1290    
1291      IF (offline) call phystokenc(dtphys, rlon, rlat, t, mfu, mfd, pen_u, &      IF (offline) call phystokenc(dtphys, rlon, rlat, t, mfu, mfd, pen_u, &
1292           pde_u, pen_d, pde_d, fm_therm, entr_therm, ycoefh, yu1, yv1, ftsol, &           pde_u, pen_d, pde_d, fm_therm, entr_therm, ycoefh, yu1, yv1, ftsol, &
# Line 1325  contains Line 1297  contains
1297    
1298      ! diag. bilKP      ! diag. bilKP
1299    
1300      CALL transp_lay(paprs, zxtsol, t_seri, q_seri, u_seri, v_seri, zphi, &      CALL transp_lay(paprs, t_seri, q_seri, u_seri, v_seri, zphi, &
1301           ve_lay, vq_lay, ue_lay, uq_lay)           ve_lay, vq_lay, ue_lay, uq_lay)
1302    
1303      ! Accumuler les variables a stocker dans les fichiers histoire:      ! Accumuler les variables a stocker dans les fichiers histoire:
# Line 1396  contains Line 1368  contains
1368    
1369      IF (lafin) then      IF (lafin) then
1370         call NF95_CLOSE(ncid_startphy)         call NF95_CLOSE(ncid_startphy)
1371         CALL phyredem(pctsrf, ftsol, ftsoil, tslab, seaice, fqsurf, qsol, &         CALL phyredem(pctsrf, ftsol, ftsoil, fqsurf, qsol, &
1372              fsnow, falbe, fevap, rain_fall, snow_fall, solsw, sollw, dlw, &              fsnow, falbe, fevap, rain_fall, snow_fall, solsw, sollw, dlw, &
1373              radsol, frugs, agesno, zmea, zstd, zsig, zgam, zthe, zpic, zval, &              radsol, frugs, agesno, zmea, zstd, zsig, zgam, zthe, zpic, zval, &
1374              t_ancien, q_ancien, rnebcon, ratqs, clwcon, run_off_lic_0, sig1, &              t_ancien, q_ancien, rnebcon, ratqs, clwcon, run_off_lic_0, sig1, &
# Line 1414  contains Line 1386  contains
1386        ! Ecriture des sorties        ! Ecriture des sorties
1387    
1388        use dimens_m, only: iim, jjm        use dimens_m, only: iim, jjm
1389          use gr_fi_ecrit_m, only: gr_fi_ecrit
1390        USE histsync_m, ONLY: histsync        USE histsync_m, ONLY: histsync
1391        USE histwrite_m, ONLY: histwrite        USE histwrite_m, ONLY: histwrite
1392    
# Line 1605  contains Line 1578  contains
1578           CALL gr_fi_ecrit(1, klon, iim, jjm + 1, s_trmb3, zx_tmp_2d)           CALL gr_fi_ecrit(1, klon, iim, jjm + 1, s_trmb3, zx_tmp_2d)
1579           CALL histwrite(nid_ins, "s_trmb3", itau_w, zx_tmp_2d)           CALL histwrite(nid_ins, "s_trmb3", itau_w, zx_tmp_2d)
1580    
1581             if (conv_emanuel) then
1582                CALL gr_fi_ecrit(1, klon, iim, jjm + 1, ema_pct, zx_tmp_2d)
1583                CALL histwrite(nid_ins, "ptop", itau_w, zx_tmp_2d)
1584             end if
1585    
1586           ! Champs 3D:           ! Champs 3D:
1587    
1588           CALL gr_fi_ecrit(llm, klon, iim, jjm + 1, t_seri, zx_tmp_3d)           CALL gr_fi_ecrit(llm, klon, iim, jjm + 1, t_seri, zx_tmp_3d)
# Line 1628  contains Line 1606  contains
1606           CALL gr_fi_ecrit(llm, klon, iim, jjm + 1, d_q_vdf, zx_tmp_3d)           CALL gr_fi_ecrit(llm, klon, iim, jjm + 1, d_q_vdf, zx_tmp_3d)
1607           CALL histwrite(nid_ins, "dqvdf", itau_w, zx_tmp_3d)           CALL histwrite(nid_ins, "dqvdf", itau_w, zx_tmp_3d)
1608    
1609             CALL gr_fi_ecrit(llm, klon, iim, jjm + 1, zx_rh, zx_tmp_3d)
1610             CALL histwrite(nid_ins, "rhum", itau_w, zx_tmp_3d)
1611    
1612           call histsync(nid_ins)           call histsync(nid_ins)
1613        ENDIF        ENDIF
1614    

Legend:
Removed from v.174  
changed lines
  Added in v.188

  ViewVC Help
Powered by ViewVC 1.1.21