Changeset 90 in lmdz_wrf


Ignore:
Timestamp:
Jul 25, 2014, 12:33:59 PM (10 years ago)
Author:
lfita
Message:

Fixing coordinate names! NO klon and klev in thermal_main

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/LMDZ_WRFmeas/WRFV3/lmdz/thermcell_main.F90

    r89 r90  
    105105
    106106      INTEGER ig,k,l,ll,ierr
    107       real zsortie1d(klon)
    108       INTEGER lmax(klon),lmin(klon),lalim(klon)
    109       INTEGER lmix(klon)
    110       INTEGER lmix_bis(klon)
    111       real linter(klon)
    112       real zmix(klon)
    113       real zmax(klon),zw2(klon,klev+1),ztva(klon,klev),zw_est(klon,klev+1),ztva_est(klon,klev)
    114 !      real fraca(klon,klev)
    115 
    116       real zmax_sec(klon)
     107      real zsortie1d(ngrid)
     108      INTEGER lmax(ngrid),lmin(ngrid),lalim(ngrid)
     109      INTEGER lmix(ngrid)
     110      INTEGER lmix_bis(ngrid)
     111      real linter(ngrid)
     112      real zmix(ngrid)
     113      real zmax(ngrid),zw2(ngrid,nlay+1),ztva(ngrid,nlay),zw_est(ngrid,nlay+1),ztva_est(ngrid,nlay)
     114!      real fraca(ngrid,nlay)
     115
     116      real zmax_sec(ngrid)
    117117!on garde le zmax du pas de temps precedent
    118       real zmax0(klon)
     118      real zmax0(ngrid)
    119119!FH/IM     save zmax0
    120120
    121121      real lambda
    122122
    123       real zlev(klon,klev+1),zlay(klon,klev)
    124       real deltaz(klon,klev)
    125       REAL zh(klon,klev)
    126       real zthl(klon,klev),zdthladj(klon,klev)
    127       REAL ztv(klon,klev)
    128       real zu(klon,klev),zv(klon,klev),zo(klon,klev)
    129       real zl(klon,klev)
    130       real zsortie(klon,klev)
    131       real zva(klon,klev)
    132       real zua(klon,klev)
    133       real zoa(klon,klev)
    134 
    135       real zta(klon,klev)
    136       real zha(klon,klev)
    137       real fraca(klon,klev+1)
     123      real zlev(ngrid,nlay+1),zlay(ngrid,nlay)
     124      real deltaz(ngrid,nlay)
     125      REAL zh(ngrid,nlay)
     126      real zthl(ngrid,nlay),zdthladj(ngrid,nlay)
     127      REAL ztv(ngrid,nlay)
     128      real zu(ngrid,nlay),zv(ngrid,nlay),zo(ngrid,nlay)
     129      real zl(ngrid,nlay)
     130      real zsortie(ngrid,nlay)
     131      real zva(ngrid,nlay)
     132      real zua(ngrid,nlay)
     133      real zoa(ngrid,nlay)
     134
     135      real zta(ngrid,nlay)
     136      real zha(ngrid,nlay)
     137      real fraca(ngrid,nlay+1)
    138138      real zf,zf2
    139       real thetath2(klon,klev),wth2(klon,klev),wth3(klon,klev)
    140       real q2(klon,klev)
     139      real thetath2(ngrid,nlay),wth2(ngrid,nlay),wth3(ngrid,nlay)
     140      real q2(ngrid,nlay)
    141141! FH probleme de dimensionnement avec l'allocation dynamique
    142142!     common/comtherm/thetath2,wth2
    143       real wq(klon,klev)
    144       real wthl(klon,klev)
    145       real wthv(klon,klev)
     143      real wq(ngrid,nlay)
     144      real wthl(ngrid,nlay)
     145      real wthv(ngrid,nlay)
    146146   
    147       real ratqscth(klon,klev)
     147      real ratqscth(ngrid,nlay)
    148148      real var
    149149      real vardiff
    150       real ratqsdiff(klon,klev)
     150      real ratqsdiff(ngrid,nlay)
    151151
    152152      logical sorties
    153       real rho(klon,klev),rhobarz(klon,klev),masse(klon,klev)
    154       real zpspsk(klon,klev)
    155 
    156       real wmax(klon)
    157       real wmax_tmp(klon)
    158       real wmax_sec(klon)
    159       real fm0(klon,klev+1),entr0(klon,klev),detr0(klon,klev)
    160       real fm(klon,klev+1),entr(klon,klev),detr(klon,klev)
    161 
    162       real ztla(klon,klev),zqla(klon,klev),zqta(klon,klev)
     153      real rho(ngrid,nlay),rhobarz(ngrid,nlay),masse(ngrid,nlay)
     154      real zpspsk(ngrid,nlay)
     155
     156      real wmax(ngrid)
     157      real wmax_tmp(ngrid)
     158      real wmax_sec(ngrid)
     159      real fm0(ngrid,nlay+1),entr0(ngrid,nlay),detr0(ngrid,nlay)
     160      real fm(ngrid,nlay+1),entr(ngrid,nlay),detr(ngrid,nlay)
     161
     162      real ztla(ngrid,nlay),zqla(ngrid,nlay),zqta(ngrid,nlay)
    163163!niveau de condensation
    164       integer nivcon(klon)
    165       real zcon(klon)
     164      integer nivcon(ngrid)
     165      real zcon(ngrid)
    166166      REAL CHI
    167       real zcon2(klon)
    168       real pcon(klon)
    169       real zqsat(klon,klev)
    170       real zqsatth(klon,klev)
    171 
    172       real f_star(klon,klev+1),entr_star(klon,klev)
    173       real detr_star(klon,klev)
    174       real alim_star_tot(klon)
    175       real alim_star(klon,klev)
    176       real alim_star_clos(klon,klev)
    177       real f(klon), f0(klon)
     167      real zcon2(ngrid)
     168      real pcon(ngrid)
     169      real zqsat(ngrid,nlay)
     170      real zqsatth(ngrid,nlay)
     171
     172      real f_star(ngrid,nlay+1),entr_star(ngrid,nlay)
     173      real detr_star(ngrid,nlay)
     174      real alim_star_tot(ngrid)
     175      real alim_star(ngrid,nlay)
     176      real alim_star_clos(ngrid,nlay)
     177      real f(ngrid), f0(ngrid)
    178178!FH/IM     save f0
    179       real zlevinter(klon)
     179      real zlevinter(ngrid)
    180180      logical debut
    181181       real seuil
    182       real csc(klon,klev)
     182      real csc(ngrid,nlay)
    183183
    184184!!! nrlmd le 10/04/2012
    185185
    186186!------Entrées
    187       real pbl_tke(klon,klev+1,nbsrf)
    188       real pctsrf(klon,nbsrf)
    189       real omega(klon,klev)
    190       real airephy(klon)
     187      real pbl_tke(ngrid,nlay+1,nbsrf)
     188      real pctsrf(ngrid,nbsrf)
     189      real omega(ngrid,nlay)
     190      real airephy(ngrid)
    191191!------Sorties
    192       real zlcl(klon),fraca0(klon),w0(klon),w_conv(klon)
    193       real therm_tke_max0(klon),env_tke_max0(klon)
    194       real n2(klon),s2(klon)
    195       real ale_bl_stat(klon)
    196       real therm_tke_max(klon,klev),env_tke_max(klon,klev)
    197       real alp_bl_det(klon),alp_bl_fluct_m(klon),alp_bl_fluct_tke(klon),alp_bl_conv(klon),alp_bl_stat(klon)
     192      real zlcl(ngrid),fraca0(ngrid),w0(ngrid),w_conv(ngrid)
     193      real therm_tke_max0(ngrid),env_tke_max0(ngrid)
     194      real n2(ngrid),s2(ngrid)
     195      real ale_bl_stat(ngrid)
     196      real therm_tke_max(ngrid,nlay),env_tke_max(ngrid,nlay)
     197      real alp_bl_det(ngrid),alp_bl_fluct_m(ngrid),alp_bl_fluct_tke(ngrid),alp_bl_conv(ngrid),alp_bl_stat(ngrid)
    198198!------Local
    199199      integer nsrf
    200       real rhobarz0(klon)                    ! Densité au LCL
    201       logical ok_lcl(klon)                   ! Existence du LCL des thermiques
    202       integer klcl(klon)                     ! Niveau du LCL
    203       real interp(klon)                      ! Coef d'interpolation pour le LCL
     200      real rhobarz0(ngrid)                    ! Densité au LCL
     201      logical ok_lcl(ngrid)                   ! Existence du LCL des thermiques
     202      integer klcl(ngrid)                     ! Niveau du LCL
     203      real interp(ngrid)                      ! Coef d'interpolation pour le LCL
    204204!--Triggering
    205205      real Su                                ! Surface unité: celle d'un updraft élémentaire
     
    215215      real zmax_moy_coef
    216216      parameter(zmax_moy_coef=0.33)
    217       real depth(klon)                       ! Epaisseur moyenne du cumulus
    218       real w_max(klon)                       ! Vitesse max statistique
    219       real s_max(klon)
     217      real depth(ngrid)                       ! Epaisseur moyenne du cumulus
     218      real w_max(ngrid)                       ! Vitesse max statistique
     219      real s_max(ngrid)
    220220!--Closure
    221       real pbl_tke_max(klon,klev)            ! Profil de TKE moyenne
    222       real pbl_tke_max0(klon)                ! TKE moyenne au LCL
    223       real w_ls(klon,klev)                   ! Vitesse verticale grande échelle (m/s)
     221      real pbl_tke_max(ngrid,nlay)            ! Profil de TKE moyenne
     222      real pbl_tke_max0(ngrid)                ! TKE moyenne au LCL
     223      real w_ls(ngrid,nlay)                   ! Vitesse verticale grande échelle (m/s)
    224224      real coef_m                            ! On considère un rendement pour alp_bl_fluct_m
    225225      parameter(coef_m=1.)
     
    231231!
    232232      !nouvelles variables pour la convection
    233       real Ale_bl(klon)
    234       real Alp_bl(klon)
    235       real alp_int(klon),dp_int(klon),zdp
    236       real ale_int(klon)
    237       integer n_int(klon)
    238       real fm_tot(klon)
    239       real wght_th(klon,klev)
    240       integer lalim_conv(klon)
     233      real Ale_bl(ngrid)
     234      real Alp_bl(ngrid)
     235      real alp_int(ngrid),dp_int(ngrid),zdp
     236      real ale_int(ngrid)
     237      integer n_int(ngrid)
     238      real fm_tot(ngrid)
     239      real wght_th(ngrid,nlay)
     240      integer lalim_conv(ngrid)
    241241!v1d     logical therm
    242242!v1d     save therm
     
    319319
    320320       sorties=.true.
    321       IF(ngrid.NE.klon) THEN
     321      IF(ngrid.NE.ngrid) THEN
    322322         PRINT*
    323323         PRINT*,'STOP dans convadj'
    324324         PRINT*,'ngrid    =',ngrid
    325          PRINT*,'klon  =',klon
     325         PRINT*,'ngrid  =',ngrid
    326326      ENDIF
    327327!
    328328!     write(lunout,*)'WARNING thermcell_main f0=max(f0,1.e-2)'
    329      do ig=1,klon
     329     do ig=1,ngrid
    330330         f0(ig)=max(f0(ig),1.e-2)
    331331         zmax0(ig)=max(zmax0(ig),40.)
     
    344344      lfname='before thermcell_env'
    345345      lvarname = 'pt'
    346       CALL check_var3D(lfname, lvarname, pt, klon, klev, largest, .FALSE.)
     346      CALL check_var3D(lfname, lvarname, pt, ngrid, nlay, largest, .FALSE.)
    347347      lvarname = 'pdtadj'
    348       CALL check_var3D(lfname, lvarname, pdtadj, klon, klev, largest, .FALSE.)
     348      CALL check_var3D(lfname, lvarname, pdtadj, ngrid, nlay, largest, .FALSE.)
    349349
    350350      CALL thermcell_env(ngrid,nlay,po,pt,pu,pv,pplay,  &
     
    353353      lfname='after thermcell_env'
    354354      lvarname = 'pt'
    355       CALL check_var3D(lfname, lvarname, pt, klon, klev, largest, .FALSE.)
     355      CALL check_var3D(lfname, lvarname, pt, ngrid, nlay, largest, .FALSE.)
    356356      lvarname = 'pdtadj'
    357       CALL check_var3D(lfname, lvarname, pdtadj, klon, klev, largest, .FALSE.)
     357      CALL check_var3D(lfname, lvarname, pdtadj, ngrid, nlay, largest, .FALSE.)
    358358       
    359359      if (prt_level.ge.1) print*,'thermcell_main apres thermcell_env'
     
    385385      enddo
    386386         zlev(:,1)=0.
    387          zlev(:,nlay+1)=(2.*pphi(:,klev)-pphi(:,klev-1))/RG
     387         zlev(:,nlay+1)=(2.*pphi(:,nlay)-pphi(:,nlay-1))/RG
    388388      do l=1,nlay
    389389         zlay(:,l)=pphi(:,l)/RG
     
    513513      lfname='after thermcell_plume'
    514514      lvarname = 'pt'
    515       CALL check_var3D(lfname, lvarname, pt, klon, klev, largest, .FALSE.)
     515      CALL check_var3D(lfname, lvarname, pt, ngrid, nlay, largest, .FALSE.)
    516516      lvarname = 'pdtadj'
    517       CALL check_var3D(lfname, lvarname, pdtadj, klon, klev, largest, .FALSE.)
     517      CALL check_var3D(lfname, lvarname, pdtadj, ngrid, nlay, largest, .FALSE.)
    518518
    519519      if (prt_level.ge.1) print*,'apres thermcell_plume ',lev_out
     
    633633      lfname='after flux'
    634634      lvarname = 'fm'
    635       CALL check_var3D(lfname, lvarname, fm, klon, klev, largest, .FALSE.)
     635      CALL check_var3D(lfname, lvarname, fm, ngrid, nlay, largest, .FALSE.)
    636636
    637637      if (prt_level.ge.1) print*,'thermcell_main apres thermcell_flux'
     
    662662      lfname='before transport_vertical'
    663663      lvarname = 'zdthladj'
    664       CALL check_var3D(lfname, lvarname, zdthladj, klon, klev, largest, .FALSE.)
     664      CALL check_var3D(lfname, lvarname, zdthladj, ngrid, nlay, largest, .FALSE.)
    665665
    666666      call thermcell_dq(ngrid,nlay,dqimpl,ptimestep,fm0,entr0,masse,  &
     
    670670      lfname='after transport_vertical'
    671671      lvarname = 'zdthladj'
    672       CALL check_var3D(lfname, lvarname, zdthladj, klon, klev, largest, .FALSE.)
     672      CALL check_var3D(lfname, lvarname, zdthladj, ngrid, nlay, largest, .FALSE.)
    673673
    674674!------------------------------------------------------------------
    675675! Calcul de la fraction de l'ascendance
    676676!------------------------------------------------------------------
    677       do ig=1,klon
     677      do ig=1,ngrid
    678678         fraca(ig,1)=0.
    679679         fraca(ig,nlay+1)=0.
    680680      enddo
    681681      do l=2,nlay
    682          do ig=1,klon
     682         do ig=1,ngrid
    683683            if (zw2(ig,l).gt.1.e-10) then
    684684            fraca(ig,l)=fm(ig,l)/(rhobarz(ig,l)*zw2(ig,l))
     
    694694      lfname='before thermcell_dv2'
    695695      lvarname = 'pt'
    696       CALL check_var3D(lfname, lvarname, pt, klon, klev, largest, .FALSE.)
     696      CALL check_var3D(lfname, lvarname, pt, ngrid, nlay, largest, .FALSE.)
    697697      lvarname = 'pdtadj'
    698       CALL check_var3D(lfname, lvarname, pdtadj, klon, klev, largest, .FALSE.)
     698      CALL check_var3D(lfname, lvarname, pdtadj, ngrid, nlay, largest, .FALSE.)
    699699
    700700!IM 090508 
     
    727727      lfname='after thermcell_dv2'
    728728      lvarname = 'pt'
    729       CALL check_var3D(lfname, lvarname, pt, klon, klev, largest, .FALSE.)
     729      CALL check_var3D(lfname, lvarname, pt, ngrid, nlay, largest, .FALSE.)
    730730      lvarname = 'pdtadj'
    731       CALL check_var3D(lfname, lvarname, pdtadj, klon, klev, largest, .FALSE.)
     731      CALL check_var3D(lfname, lvarname, pdtadj, ngrid, nlay, largest, .FALSE.)
    732732      lvarname = 'zdthladj'
    733733      CALL check_var3D(lfname, lvarname, zdthladj, ngrid, nlay, largest, .FALSE.)
     
    833833    do ig=1,ngrid
    834834      ok_lcl(ig)=.false.
    835       if ( (pcon(ig) .gt. pplay(ig,klev-1)) .and. (pcon(ig) .lt. pplay(ig,1)) ) ok_lcl(ig)=.true.
     835      if ( (pcon(ig) .gt. pplay(ig,nlay-1)) .and. (pcon(ig) .lt. pplay(ig,1)) ) ok_lcl(ig)=.true.
    836836    enddo
    837837
     
    10001000      lfname='thermcell_main before closure'
    10011001      lvarname = 'pt'
    1002       CALL check_var3D(lfname, lvarname, pt, klon, klev, largest, .FALSE.)
     1002      CALL check_var3D(lfname, lvarname, pt, ngrid, nlay, largest, .FALSE.)
    10031003      lvarname = 'pdtadj'
    1004       CALL check_var3D(lfname, lvarname, pdtadj, klon, klev, largest, .FALSE.)
     1004      CALL check_var3D(lfname, lvarname, pdtadj, ngrid, nlay, largest, .FALSE.)
    10051005      lvarname = 'alp_bl_det'
    1006       CALL check_var(lfname, lvarname, alp_bl_det,klon, largest, .FALSE.)
     1006      CALL check_var(lfname, lvarname, alp_bl_det,ngrid, largest, .FALSE.)
    10071007      lvarname = 'rhobarz0'
    1008       CALL check_var(lfname, lvarname, rhobarz0,klon, largest, .FALSE.)
     1008      CALL check_var(lfname, lvarname, rhobarz0,ngrid, largest, .FALSE.)
    10091009      lvarname = 'fraca0'
    1010       CALL check_var(lfname, lvarname, fraca0,klon, largest, .FALSE.)
     1010      CALL check_var(lfname, lvarname, fraca0,ngrid, largest, .FALSE.)
    10111011      lvarname = 'w_conv'
    1012       CALL check_var(lfname, lvarname, w_conv,klon, largest, .FALSE.)
     1012      CALL check_var(lfname, lvarname, w_conv,ngrid, largest, .FALSE.)
    10131013      lvarname = 'w0'
    1014       CALL check_var(lfname, lvarname, w0,klon, largest, .FALSE.)
     1014      CALL check_var(lfname, lvarname, w0,ngrid, largest, .FALSE.)
    10151015      lvarname = 'alp_bl_fluct_m'
    1016       CALL check_var(lfname, lvarname, alp_bl_fluct_m,klon, largest, .FALSE.)
     1016      CALL check_var(lfname, lvarname, alp_bl_fluct_m,ngrid, largest, .FALSE.)
    10171017      lvarname = 'alp_bl_fluct_tke'
    1018       CALL check_var(lfname, lvarname, alp_bl_fluct_tke,klon, largest, .FALSE.)
     1018      CALL check_var(lfname, lvarname, alp_bl_fluct_tke,ngrid, largest, .FALSE.)
    10191019      lvarname = 'therm_tke_max0'
    1020       CALL check_var(lfname, lvarname, therm_tke_max0,klon, largest, .FALSE.)
     1020      CALL check_var(lfname, lvarname, therm_tke_max0,ngrid, largest, .FALSE.)
    10211021      lvarname = 'env_tke_max0'
    1022       CALL check_var(lfname, lvarname, env_tke_max0,klon, largest, .FALSE.)
     1022      CALL check_var(lfname, lvarname, env_tke_max0,ngrid, largest, .FALSE.)
    10231023      lvarname = 'pbl_tke_max0'
    1024       CALL check_var(lfname, lvarname, pbl_tke_max0,klon, largest, .FALSE.)
     1024      CALL check_var(lfname, lvarname, pbl_tke_max0,ngrid, largest, .FALSE.)
    10251025      lvarname = 'alp_bl_conv'
    1026       CALL check_var(lfname, lvarname, alp_bl_conv,klon, largest, .FALSE.)
     1026      CALL check_var(lfname, lvarname, alp_bl_conv,ngrid, largest, .FALSE.)
    10271027      lvarname = 'alp_bl_stat'
    1028       CALL check_var(lfname, lvarname, alp_bl_stat,klon, largest, .FALSE.)
     1028      CALL check_var(lfname, lvarname, alp_bl_stat,ngrid, largest, .FALSE.)
    10291029!------------Closure------------------
    10301030
     
    10551055      lfname='after closure'
    10561056      lvarname = 'pt'
    1057       CALL check_var3D(lfname, lvarname, pt, klon, klev, largest, .FALSE.)
     1057      CALL check_var3D(lfname, lvarname, pt, ngrid, nlay, largest, .FALSE.)
    10581058      lvarname = 'pdtadj'
    1059       CALL check_var3D(lfname, lvarname, pdtadj, klon, klev, largest, .FALSE.)
     1059      CALL check_var3D(lfname, lvarname, pdtadj, ngrid, nlay, largest, .FALSE.)
    10601060      lvarname = 'alp_bl_det'
    1061       CALL check_var(lfname, lvarname, alp_bl_det,klon, largest, .FALSE.)
     1061      CALL check_var(lfname, lvarname, alp_bl_det,ngrid, largest, .FALSE.)
    10621062      lvarname = 'rhobarz0'
    1063       CALL check_var(lfname, lvarname, rhobarz0,klon, largest, .FALSE.)
     1063      CALL check_var(lfname, lvarname, rhobarz0,ngrid, largest, .FALSE.)
    10641064      lvarname = 'fraca0'
    1065       CALL check_var(lfname, lvarname, fraca0,klon, largest, .FALSE.)
     1065      CALL check_var(lfname, lvarname, fraca0,ngrid, largest, .FALSE.)
    10661066      lvarname = 'w_conv'
    1067       CALL check_var(lfname, lvarname, w_conv,klon, largest, .FALSE.)
     1067      CALL check_var(lfname, lvarname, w_conv,ngrid, largest, .FALSE.)
    10681068      lvarname = 'w0'
    1069       CALL check_var(lfname, lvarname, w0,klon, largest, .FALSE.)
     1069      CALL check_var(lfname, lvarname, w0,ngrid, largest, .FALSE.)
    10701070      lvarname = 'alp_bl_fluct_m'
    1071       CALL check_var(lfname, lvarname, alp_bl_fluct_m,klon, largest, .FALSE.)
     1071      CALL check_var(lfname, lvarname, alp_bl_fluct_m,ngrid, largest, .FALSE.)
    10721072      lvarname = 'alp_bl_fluct_tke'
    1073       CALL check_var(lfname, lvarname, alp_bl_fluct_tke,klon, largest, .FALSE.)
     1073      CALL check_var(lfname, lvarname, alp_bl_fluct_tke,ngrid, largest, .FALSE.)
    10741074      lvarname = 'therm_tke_max0'
    1075       CALL check_var(lfname, lvarname, therm_tke_max0,klon, largest, .FALSE.)
     1075      CALL check_var(lfname, lvarname, therm_tke_max0,ngrid, largest, .FALSE.)
    10761076      lvarname = 'env_tke_max0'
    1077       CALL check_var(lfname, lvarname, env_tke_max0,klon, largest, .FALSE.)
     1077      CALL check_var(lfname, lvarname, env_tke_max0,ngrid, largest, .FALSE.)
    10781078      lvarname = 'pbl_tke_max0'
    1079       CALL check_var(lfname, lvarname, pbl_tke_max0,klon, largest, .FALSE.)
     1079      CALL check_var(lfname, lvarname, pbl_tke_max0,ngrid, largest, .FALSE.)
    10801080      lvarname = 'alp_bl_conv'
    1081       CALL check_var(lfname, lvarname, alp_bl_conv,klon, largest, .FALSE.)
     1081      CALL check_var(lfname, lvarname, alp_bl_conv,ngrid, largest, .FALSE.)
    10821082      lvarname = 'alp_bl_stat'
    1083       CALL check_var(lfname, lvarname, alp_bl_stat,klon, largest, .FALSE.)
     1083      CALL check_var(lfname, lvarname, alp_bl_stat,ngrid, largest, .FALSE.)
    10841084
    10851085!!! fin nrlmd le 10/04/2012
     
    11131113      lalim_conv(:)=lalim(:)
    11141114
    1115       do k=1,klev
     1115      do k=1,nlay
    11161116         do ig=1,ngrid
    11171117            if (k<=lalim_conv(ig)) fm_tot(ig)=fm_tot(ig)+fm(ig,k)
     
    11201120      lfname='after calculation of Al[p/e]_bl'
    11211121      lvarname = 'fm'
    1122       CALL check_var3D(lfname, lvarname, fm, klon, klev, largest, .FALSE.)
     1122      CALL check_var3D(lfname, lvarname, fm, ngrid, nlay, largest, .FALSE.)
    11231123      lvarname = 'rhobarz'
    1124       CALL check_var3D(lfname, lvarname, rhobarz, klon, klev, largest, .FALSE.)
     1124      CALL check_var3D(lfname, lvarname, rhobarz, ngrid, nlay, largest, .FALSE.)
    11251125      lvarname = 'Alp_bl'
    1126       CALL check_var(lfname, lvarname, Alp_bl,klon, largest, .FALSE.)
     1126      CALL check_var(lfname, lvarname, Alp_bl, ngrid, largest, .FALSE.)
    11271127      lvarname = 'Ale_bl'
    1128       CALL check_var(lfname, lvarname, Ale_bl,klon, largest, .FALSE.)
     1128      CALL check_var(lfname, lvarname, Ale_bl, ngrid, largest, .FALSE.)
    11291129
    11301130! assez bizarre car, si on est dans la couche d'alim et que alim_star et
    11311131! plus petit que 1.e-10, on prend wght_th=1.
    1132       do k=1,klev
     1132      do k=1,nlay
    11331133         do ig=1,ngrid
    11341134            if (k<=lalim_conv(ig).and.alim_star(ig,k)>1.e-10) then
     
    11831183      lfname='thermcell_main last computations on Alp_bl'
    11841184      lvarname = 'alp_int'
    1185       CALL check_var(lfname, lvarname, alp_int, klon, largest*10.e4, .FALSE.)
     1185      CALL check_var(lfname, lvarname, alp_int, ngrid, largest*10.e4, .FALSE.)
    11861186      lvarname = 'dp_int'
    1187       CALL check_var3D(lfname, lvarname, dp_int, klon, largest, .FALSE.)
     1187      CALL check_var3D(lfname, lvarname, dp_int, ngrid, largest, .FALSE.)
    11881188      lvarname = 'Alp_bl'
    1189       CALL check_var(lfname, lvarname, Alp_bl, klon, klev, largest, .FALSE.)
     1189      CALL check_var(lfname, lvarname, Alp_bl, ngrid, largest, .FALSE.)
    11901190
    11911191!------------------------------------------------------------------------
     
    11981198      ratqsdiff(:,:)=0.
    11991199
    1200       do l=1,klev
     1200      do l=1,nlay
    12011201         do ig=1,ngrid
    12021202            if (l<=lalim(ig)) then
     
    12081208      if (prt_level.ge.1) print*,'14f OK convect8'
    12091209
    1210       do l=1,klev
     1210      do l=1,nlay
    12111211         do ig=1,ngrid
    12121212            if (l<=lalim(ig)) then
     
    12411241      lfname='before leaving thermcell_main'
    12421242      lvarname = 'pt'
    1243       CALL check_var3D(lfname, lvarname, pt, klon, klev, largest, .FALSE.)
     1243      CALL check_var3D(lfname, lvarname, pt, ngrid, nlay, largest, .FALSE.)
    12441244      lvarname = 'pdtadj'
    1245       CALL check_var3D(lfname, lvarname, pdtadj, klon, klev, largest, .FALSE.)
     1245      CALL check_var3D(lfname, lvarname, pdtadj, ngrid, nlay, largest, .FALSE.)
    12461246      lvarname = 'Alp_bl'
    1247       CALL check_var(lfname, lvarname, Alp_bl, klon, klev, largest, .FALSE.)
     1247      CALL check_var(lfname, lvarname, Alp_bl, ngrid, largest, .FALSE.)
    12481248      lvarname = 'Ale_bl'
    1249       CALL check_var(lfname, lvarname, Ale_bl, klon, klev, largest, .FALSE.)
     1249      CALL check_var(lfname, lvarname, Ale_bl, ngrid, largest, .FALSE.)
    12501250
    12511251
     
    12551255!-----------------------------------------------------------------------------
    12561256
    1257       subroutine test_ltherm(klon,klev,pplev,pplay,long,seuil,ztv,po,ztva,zqla,f_star,zw2,comment)
     1257      subroutine test_ltherm(ngrid,nlay,pplev,pplay,long,seuil,ztv,po,ztva,zqla,f_star,zw2,comment)
    12581258      IMPLICIT NONE
    12591259#include "iniprint.h"
    12601260
    1261       integer i, k, klon,klev
    1262       real pplev(klon,klev+1),pplay(klon,klev)
    1263       real ztv(klon,klev)
    1264       real po(klon,klev)
    1265       real ztva(klon,klev)
    1266       real zqla(klon,klev)
    1267       real f_star(klon,klev)
    1268       real zw2(klon,klev)
    1269       integer long(klon)
     1261      integer i, k, ngrid,nlay
     1262      real pplev(ngrid,nlay+1),pplay(ngrid,nlay)
     1263      real ztv(ngrid,nlay)
     1264      real po(ngrid,nlay)
     1265      real ztva(ngrid,nlay)
     1266      real zqla(ngrid,nlay)
     1267      real f_star(ngrid,nlay)
     1268      real zw2(ngrid,nlay)
     1269      integer long(ngrid)
    12701270      real seuil
    12711271      character*21 comment
     
    12771277
    12781278!  test sur la hauteur des thermiques ...
    1279          do i=1,klon
     1279         do i=1,ngrid
    12801280!IMtemp           if (pplay(i,long(i)).lt.seuil*pplev(i,1)) then
    12811281           if (prt_level.ge.10) then
    12821282               print*,'WARNING ',comment,' au point ',i,' K= ',long(i)
    12831283               print*,'  K  P(MB)  THV(K)     Qenv(g/kg)THVA        QLA(g/kg)   F*        W2'
    1284                do k=1,klev
     1284               do k=1,nlay
    12851285                  write(6,'(i3,7f10.3)') k,pplay(i,k),ztv(i,k),1000*po(i,k),ztva(i,k),1000*zqla(i,k),f_star(i,k),zw2(i,k)
    12861286               enddo
Note: See TracChangeset for help on using the changeset viewer.