Ignore:
Timestamp:
Sep 11, 2013, 11:45:01 AM (11 years ago)
Author:
Laurent Fairhead
Message:

Création d'une nouvelle testing:

merge des modifications du trunk entre r1796 et r1860


New testing version

merged modifications between r1796 and r1860 from the trunk

i.e.
svn merge -r1796:1860 http://svn.lmd.jussieu.fr/LMDZ/LMDZ5/trunk

Location:
LMDZ5/branches/testing
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/branches/testing

  • LMDZ5/branches/testing/libf/phylmd/physiq.F

    r1795 r1864  
    2929      USE phys_state_var_mod ! Variables sauvegardees de la physique
    3030      USE phys_output_var_mod ! Variables pour les ecritures des sorties
     31      USE phys_output_write_mod
    3132      USE fonte_neige_mod, ONLY  : fonte_neige_get_vars
    3233      USE phys_output_mod
     
    4445      use conf_phys_m, only: conf_phys
    4546      use radlwsw_m, only: radlwsw
     47      use phyaqua_mod, only: zenang_an
    4648      USE control_mod
    4749#ifdef REPROBUS
     
    4951#endif
    5052      USE indice_sol_mod
     53      USE phytrac_mod, ONLY : phytrac
    5154
    5255!IM stations CFMIP
     
    173176      PARAMETER (ok_region=.FALSE.)
    174177c======================================================================
    175       real weak_inversion(klon),dthmin(klon)
    176178      real seuil_inversion
    177179      save seuil_inversion
     
    184186      REAL zz,znum,zden
    185187      REAL wmax_th(klon)
    186       REAL zmax_th(klon)
    187188      REAL tau_overturning_th(klon)
    188189
     
    220221      REAL u(klon,klev)
    221222      REAL v(klon,klev)
    222       REAL t(klon,klev),theta(klon,klev),thetal(klon,klev)
     223      REAL t(klon,klev),thetal(klon,klev)
    223224c thetal: ligne suivante a decommenter si vous avez les fichiers     MPL 20130625
    224225c fth_fonctions.F90 et parkind1.F90
     
    227228      REAL qx(klon,klev,nqtot)
    228229      REAL flxmass_w(klon,klev)
    229       REAL omega(klon,klev) ! vitesse verticale en Pa/s
    230230      REAL d_u(klon,klev)
    231231      REAL d_v(klon,klev)
     
    242242      real clw(klon,klev),elij(klon,klev,klev)
    243243      real epmlmMm(klon,klev,klev),eplaMm(klon,klev)
    244       real wdtrainA(klon,klev),wdtrainM(klon,klev)
    245244! RomP <<<
    246245!IM definition dynamique o_trac dans phys_output_open
     
    281280c
    282281c
    283 c prw: precipitable water
    284       real prw(klon)
    285282
    286283      REAL convliq(klon,klev)  ! eau liquide nuageuse convective
     
    295292c flwp, fiwp = Liquid Water Path & Ice Water Path (kg/m2)
    296293c flwc, fiwc = Liquid Water Content & Ice Water Content (kg/kg)
    297       REAL flwp(klon), fiwp(klon)
    298       REAL flwc(klon,klev), fiwc(klon,klev)
    299294      REAL flwp_c(klon), fiwp_c(klon)
    300295      REAL flwc_c(klon,klev), fiwc_c(klon,klev)
     
    302297      REAL flwc_s(klon,klev), fiwc_s(klon,klev)
    303298
    304       REAL evap_pot(klon,nbsrf)
    305299
    306300cIM ISCCP simulator v3.4
     
    528522c$OMP THREADPRIVATE(itap)
    529523c
    530       real slp(klon) ! sea level pressure
    531 c
    532       REAL fevap(klon,nbsrf)
    533       REAL fluxlat(klon,nbsrf)
    534 c
    535       REAL qsol(klon)
    536524      REAL,save ::  solarlong0
    537525c$OMP THREADPRIVATE(solarlong0)
     
    544532c
    545533      INTEGER igwd,idx(klon),itest(klon)
    546 c
    547       REAL agesno(klon,nbsrf)
    548534c
    549535c      REAL,allocatable,save :: run_off_lic_0(:)
     
    565551
    566552      REAL mip(klon,klev)  ! mass flux shed by the adiab ascent at each level
    567       REAL Vprecip(klon,klev+1)   ! precipitation vertical profile
    568553c
    569554      REAL wape_prescr, fip_prescr
     
    589574c$OMP THREADPRIVATE(wake_s_min_lsp)
    590575
    591       real ale_wake(klon)
    592       real alp_wake(klon)
    593576
    594577      real ok_wk_lsp(klon)
     
    609592      REAL wake_dtPBL(klon,klev)      ! Wake : differential heating (wake - unpertubed) PBL
    610593      REAL wake_dqPBL(klon,klev)      ! Wake : differential moistening (wake - unpertubed) PBL
    611       REAL wake_omg(klon,klev)        ! Wake : velocity difference (wake - unpertubed)
    612594      REAL wake_ddeltat(klon,klev),wake_ddeltaq(klon,klev)
    613595      REAL wake_dp_deltomg(klon,klev) ! Wake : gradient vertical de wake_omg
     
    615597c
    616598cpourquoi y'a pas de save??
    617       REAL wake_h(klon)               ! Wake : hauteur de la poche froide
    618599c
    619600      INTEGER wake_k(klon)            ! Wake sommet
     
    645626cRR:fin declarations poches froides
    646627c=======================================================================================================
    647 
    648       REAL zw2(klon,klev+1)
    649       REAL fraca(klon,klev+1)       
     628       
    650629      REAL ztv(klon,klev),ztva(klon,klev)
    651630      REAL zpspsk(klon,klev)
     
    665644      real env_tke_max0(klon)                                ! TKE dans l'environnement au LCL
    666645
    667 c---Spectre de thermiques de type 2 au LCL
    668       real n2(klon),s2(klon)
    669       real ale_bl_stat(klon)
    670 
    671646c---D\'eclenchement stochastique
    672647      integer :: tau_trig(klon)
    673       real proba_notrig(klon)
    674       real random_notrig(klon)
    675648
    676649c--------Statistical Boundary Layer Closure: ALP_BL--------
     
    680653      real env_tke_max(klon,klev)                            ! Profil de TKE dans l'environnement
    681654
    682 c---Fermeture statistique
    683       real alp_bl_det(klon)                                     ! ALP d\'terministe du thermique unique
    684       real alp_bl_fluct_m(klon)                                 ! ALP li\'ee aux fluctuations de flux de masse sous-nuageux
    685       real alp_bl_fluct_tke(klon)                               ! ALP li\'ee aux fluctuations d'\'energie cin\'etique sous-nuageuse
    686       real alp_bl_conv(klon)                                    ! ALP li\'ee \`a grande \'echelle
    687       real alp_bl_stat(klon)                                    ! ALP totale
    688655
    689656ccc fin nrlmd le 10/04/2012
     
    697664c Variables locales:
    698665c
    699       REAL cdragh(klon) ! drag coefficient pour T and Q
    700       REAL cdragm(klon) ! drag coefficient pour vent
    701666cAA
    702667cAA  Pour phytrac
    703668      REAL u1(klon)             ! vents dans la premiere couche U
    704669      REAL v1(klon)             ! vents dans la premiere couche V
    705 
    706       REAL zxffonte(klon), zxfqcalving(klon),zxfqfonte(klon)
    707670
    708671c@$$      LOGICAL offline           ! Controle du stockage ds "physique"
     
    713676! RomP >>>
    714677      REAL beta_prec_fisrt(klon,klev) ! taux de conv de l'eau cond (fisrt)
    715       REAL beta_prec(klon,klev)       ! taux de conv de l'eau cond (utilise)
    716678! RomP <<<
    717679      INTEGER       :: iii
     
    722684c
    723685cIM 050204 END
    724       REAL evap(klon), devap(klon) ! evaporation et sa derivee
    725       REAL sens(klon), dsens(klon) ! chaleur sensible et sa derivee
    726 
    727       REAL bils(klon) ! bilan de chaleur au sol
    728 
    729       REAL wfbilo(klon,nbsrf) ! bilan d'eau, pour chaque
    730 C                             ! type de sous-surface et pondere par la fraction
    731       REAL wfbils(klon,nbsrf) ! bilan de chaleur au sol, pour chaque
    732 C                             ! type de sous-surface et pondere par la fraction
    733       REAL slab_wfbils(klon)  ! bilan de chaleur au sol pour le cas de slab, sur les points d'ocean
    734 
    735       REAL fder(klon)         
    736       REAL ve(klon) ! integr. verticale du transport meri. de l'energie
    737       REAL vq(klon) ! integr. verticale du transport meri. de l'eau
    738       REAL ue(klon) ! integr. verticale du transport zonal de l'energie
    739       REAL uq(klon) ! integr. verticale du transport zonal de l'eau
    740 c
    741       REAL frugs(klon,nbsrf)
    742       REAL zxrugs(klon) ! longueur de rugosite
     686      REAL devap(klon) ! evaporation et sa derivee
     687      REAL dsens(klon) ! chaleur sensible et sa derivee
     688
    743689c
    744690c Conditions aux limites
     
    804750      REAL diafra(klon,klev)  ! fraction nuageuse
    805751      REAL cldliq(klon,klev)  ! eau liquide nuageuse
    806       REAL cldfra(klon,klev)  ! fraction nuageuse
    807       REAL cldtau(klon,klev)  ! epaisseur optique
    808       REAL cldemi(klon,klev)  ! emissivite infrarouge
    809752c
    810753CXXX PB
    811754      REAL fluxq(klon,klev, nbsrf)   ! flux turbulent d'humidite
    812       REAL fluxt(klon,klev, nbsrf)   ! flux turbulent de chaleur
    813       REAL fluxu(klon,klev, nbsrf)   ! flux turbulent de vitesse u
    814       REAL fluxv(klon,klev, nbsrf)   ! flux turbulent de vitesse v
    815755c
    816756      REAL zxfluxt(klon, klev)
     
    818758      REAL zxfluxu(klon, klev)
    819759      REAL zxfluxv(klon, klev)
    820 CXXX
    821 c
    822       REAL fsollw(klon, nbsrf)   ! bilan flux IR pour chaque sous surface
    823       REAL fsolsw(klon, nbsrf)   ! flux solaire absorb. pour chaque sous surface
     760
    824761c Le rayonnement n'est pas calcule tous les pas, il faut donc
    825762c                      sauvegarder les sorties du rayonnement
     
    834771      REAL conv_q(klon,klev) ! convergence de l'humidite (kg/kg/s)
    835772      REAL conv_t(klon,klev) ! convergence de la temperature(K/s)
    836 c
    837       REAL cldl(klon),cldm(klon),cldh(klon) !nuages bas, moyen et haut
    838       REAL cldt(klon),cldq(klon) !nuage total, eau liquide integree
    839 c
    840       REAL zxtsol(klon), zxqsurf(klon), zxsnow(klon), zxfluxlat(klon)
     773
     774c
     775      REAL zxsnow(klon)
    841776      REAL zxsnow_dummy(klon)
    842777c
     
    857792      REAL t_coup
    858793      PARAMETER (t_coup=234.0)
    859 c
    860       REAL zphi(klon,klev)
     794
    861795cym A voir plus tard !!
    862796cym      REAL zx_relief(iim,jjmp1)
     
    864798c
    865799c Grandeurs de sorties
    866       REAL s_pblh(klon), s_lcl(klon), s_capCL(klon)
    867       REAL s_oliqCL(klon), s_cteiCL(klon), s_pblt(klon)
    868       REAL s_therm(klon), s_trmb1(klon), s_trmb2(klon)
     800      REAL s_capCL(klon)
     801      REAL s_oliqCL(klon), s_cteiCL(klon)
     802      REAL s_trmb1(klon), s_trmb2(klon)
    869803      REAL s_trmb3(klon)
    870804cKE43
    871805c Variables locales pour la convection de K. Emanuel (sb):
    872 c
    873       REAL upwd(klon,klev)      ! saturated updraft mass flux
    874       REAL dnwd(klon,klev)      ! saturated downdraft mass flux
    875       REAL dnwd0(klon,klev)     ! unsaturated downdraft mass flux
     806
    876807      REAL tvp(klon,klev)       ! virtual temp of lifted parcel
    877       REAL plcl(klon)           ! Lifting Condensation Level
    878       REAL plfc(klon)           ! Level of Free Convection
    879       REAL wbeff(klon)          ! saturated updraft velocity at LFC
    880808      CHARACTER*40 capemaxcels  !max(CAPE)
    881809
     
    902830c eva: evaporation de l'eau liquide nuageuse
    903831c vdf: couche limite (Vertical DiFfusion)
    904       REAL rneb(klon,klev)
    905832
    906833! tendance nulles
     
    914841cIM 081204 END
    915842c
    916       REAL pmfu(klon,klev), pmfd(klon,klev)
    917843      REAL pen_u(klon,klev), pen_d(klon,klev)
    918844      REAL pde_u(klon,klev), pde_d(klon,klev)
    919845      INTEGER kcbot(klon), kctop(klon), kdtop(klon)
    920       REAL pmflxr(klon,klev+1), pmflxs(klon,klev+1)
    921       REAL prfl(klon,klev+1), psfl(klon,klev+1)
    922 c
    923       REAL rain_lsc(klon)
    924       REAL snow_lsc(klon)
    925846c
    926847      REAL ratqsc(klon,klev)
     
    935856      logical ok_newmicro
    936857      save ok_newmicro
    937       real ref_liq(klon,klev), ref_ice(klon,klev)
    938858c$OMP THREADPRIVATE(ok_newmicro)
    939859      save fact_cldcon,facttemps
     
    973893c Variables locales pour effectuer les appels en serie
    974894c
    975       REAL zx_rh(klon,klev)
    976895cIM RH a 2m (la surface)
    977       REAL rh2m(klon), qsat2m(klon)
    978       REAL tpot(klon), tpote(klon)
    979896      REAL Lheat
    980897
     
    10911008      REAL ZRCPD
    10921009c-jld ec_conser
    1093       REAL t2m(klon,nbsrf)  ! temperature a 2m
    10941010      REAL q2m(klon,nbsrf)  ! humidite a 2m
    10951011
    10961012cIM: t2m, q2m, ustar, u10m, v10m et t2mincels, t2maxcels
    1097       REAL zt2m(klon), zq2m(klon)             !temp., hum. 2m moyenne s/ 1 maille
    1098       REAL zustar(klon),zu10m(klon), zv10m(klon)  ! u* et vents a 10m moyennes s/1 maille
    10991013      CHARACTER*40 t2mincels, t2maxcels       !t2m min., t2m max
    11001014      CHARACTER*40 tinst, tave, typeval
    11011015      REAL cldtaupi(klon,klev)  ! Cloud optical thickness for pre-industrial (pi) aerosols
    11021016
    1103       REAL re(klon, klev)       ! Cloud droplet effective radius
    1104       REAL fl(klon, klev)  ! denominator of re
    11051017
    11061018      REAL re_top(klon), fl_top(klon) ! CDR at top of liquid water clouds
     
    12281140! Utilise notamment en 1D mais peut etre active egalement en 3D
    12291141! en imposant la valeur de igout.
    1230 c======================================================================
    1231 
     1142c======================================================================d
    12321143      if (prt_level.ge.1) then
    12331144          igout=klon/2+1/klon
     
    12501161
    12511162c======================================================================
    1252 
    1253 cym => necessaire pour iflag_con != 2   
    1254       pmfd(:,:) = 0.
    1255       pen_u(:,:) = 0.
    1256       pen_d(:,:) = 0.
    1257       pde_d(:,:) = 0.
    1258       pde_u(:,:) = 0.
    1259       aam=0.
    1260 
    1261       torsfc=0.
    1262       forall (k=1: llm) zmasse(:, k) = (paprs(:, k)-paprs(:, k+1)) / rg
    12631163
    12641164      if (first) then
     
    13011201
    13021202      endif  ! first
     1203
     1204cym => necessaire pour iflag_con != 2   
     1205      pmfd(:,:) = 0.
     1206      pen_u(:,:) = 0.
     1207      pen_d(:,:) = 0.
     1208      pde_d(:,:) = 0.
     1209      pde_u(:,:) = 0.
     1210      aam=0.
     1211
     1212      torsfc=0.
     1213      forall (k=1: llm) zmasse(:, k) = (paprs(:, k)-paprs(:, k+1)) / rg
     1214
     1215
    13031216
    13041217       modname = 'physiq'
     
    16001513       call phys_output_open(rlon,rlat,nCFMIP,tabijGCM,
    16011514     &                       iGCM,jGCM,lonGCM,latGCM,
    1602      &                       jjmp1,nlevSTD,clevSTD,
     1515     &                       jjmp1,nlevSTD,clevSTD,rlevSTD,
    16031516     &                       nbteta, ctetaSTD, dtime,ok_veget,
    16041517     &                       type_ocean,iflag_pbl,ok_mensuel,ok_journe,
     
    16061519     &                       read_climoz, phys_out_filestations,
    16071520     &                       new_aod, aerosol_couple,
    1608      &                       flag_aerosol_strat )
     1521     &                       flag_aerosol_strat, pdtphys, paprs, pphis,
     1522     &                       pplay, lmax_th, ptconv, ptconvth, ivap,
     1523     &                       d_t, qx, d_qx, zmasse, ok_sync)
    16091524c$OMP END MASTER
    16101525c$OMP BARRIER
    16111526
     1527#undef histISCCP
    16121528#ifdef histISCCP
    16131529#include "ini_histISCCP.h"
    1614 #endif
    1615 
    1616 #ifdef histNMC
    1617 #include "ini_histhfNMC.h"
    1618 #include "ini_histdayNMC.h"
    1619 #include "ini_histmthNMC.h"
    16201530#endif
    16211531
     
    19691879      DO i = 1, klon
    19701880         zlvdcp=RLVTT/RCPD/(1.0+RVTMP2*q_seri(i,k))
    1971 c        zlsdcp=RLSTT/RCPD/(1.0+RVTMP2*q_seri(i,k))
    1972          zlsdcp=RLVTT/RCPD/(1.0+RVTMP2*q_seri(i,k))
     1881cjyg<
     1882c      Attention : Arnaud a propose des formules completement differentes
     1883c                  A verifier !!!
     1884         zlsdcp=RLSTT/RCPD/(1.0+RVTMP2*q_seri(i,k))
     1885         IF (iflag_ice_thermo .EQ. 0) THEN
     1886           zlsdcp=zlvdcp
     1887         ENDIF
     1888c>jyg
     1889
    19731890         zdelta = MAX(0.,SIGN(1.,RTT-t_seri(i,k)))
    19741891         zb = MAX(0.0,ql_seri(i,k))
     
    20832000     e     t_seri,    q_seri,    u_seri,  v_seri,   
    20842001     e     pplay,     paprs,     pctsrf,           
    2085      +     ftsol,     falb1,     falb2,   ustar, u10m,   v10m,
     2002     +     ftsol,falb1,falb2,ustar,u10m,v10m,wstar,
    20862003     s     sollwdown, cdragh,    cdragm,  u1,    v1,
    20872004     s     albsol1,   albsol2,   sens,    evap, 
     
    23542271                nbtr_tmp=nbtr
    23552272             END IF
    2356           CALL concvl (iflag_con,iflag_clos,
     2273cjyg   iflag_con est dans clesphys
     2274cc          CALL concvl (iflag_con,iflag_clos,
     2275          CALL concvl (iflag_clos,
    23572276     .        dtime,paprs,pplay,t_undi,q_undi,
    23582277     .        t_wake,q_wake,wake_s,
    23592278     .        u_seri,v_seri,tr_seri,nbtr_tmp,
    23602279     .        ALE,ALP,
    2361      .        ema_work1,ema_work2,
     2280     .        sig1,w01,
    23622281     .        d_t_con,d_q_con,d_u_con,d_v_con,d_tr,
    23632282     .        rain_con, snow_con, ibas_con, itop_con, sigd,
     
    23922311     .        paprs,pplay,t_seri,q_seri,
    23932312     .        u_seri,v_seri,tr_seri,ntra,
    2394      .        ema_work1,ema_work2,
     2313     .        sig1,w01,
    23952314     .        d_t_con,d_q_con,d_u_con,d_v_con,d_tr,
    23962315     .        rain_con, snow_con, ibas_con, itop_con,
     
    28562775     .           frac_impa, frac_nucl, beta_prec_fisrt,
    28572776     .           prfl, psfl, rhcl,
    2858      .           zqasc, fraca,ztv,zpspsk,ztla,zthl,iflag_cldcon )
     2777     .           zqasc, fraca,ztv,zpspsk,ztla,zthl,iflag_cldcon,
     2778     .           iflag_ice_thermo)
    28592779
    28602780      WHERE (rain_lsc < 0) rain_lsc = 0.
     
    37293649     I     paprs,    pplay,     pmfu,     pmfd,
    37303650     I     pen_u,    pde_u,     pen_d,    pde_d,
    3731      I     cdragh,   coefh(:,:,is_ave),     fm_therm, entr_therm,
     3651     I     cdragh,   coefh(:,:,is_ave),   fm_therm, entr_therm,
    37323652     I     u1,       v1,        ftsol,    pctsrf,
    3733      I     ustar,     u10m,      v10m,
     3653     I     zustar,   zu10m,     zv10m,
     3654     I     wstar(:,is_ave),    ale_bl,         ale_wake,
    37343655     I     rlat,     rlon,
    37353656     I     frac_impa,frac_nucl, beta_prec_fisrt,beta_prec,
     
    40313952      endif
    40323953
    4033 #include "phys_output_write_new.h"
     3954
     3955!On effectue les sorties:
     3956
     3957      CALL phys_output_write(itap, pdtphys, paprs, pphis,               &
     3958     &                  pplay, lmax_th, aerosol_couple,                 &
     3959     &                  ok_ade, ok_aie, ivap, new_aod, ok_sync,         &
     3960     &                  ptconv, read_climoz, clevSTD, freq_moyNMC,      &
     3961     &                  ptconvth, d_t, qx, d_qx, zmasse,                &
     3962     &                  flag_aerosol_strat)
    40343963
    40353964
     
    40383967#ifdef histISCCP
    40393968#include "write_histISCCP.h"
    4040 #endif
    4041 
    4042 #ifdef histNMC
    4043 #include "write_histhfNMC.h"
    4044 #include "write_histdayNMC.h"
    4045 #include "write_histmthNMC.h"
    40463969#endif
    40473970
Note: See TracChangeset for help on using the changeset viewer.