Changeset 3817 for LMDZ6/trunk


Ignore:
Timestamp:
Feb 3, 2021, 8:58:55 PM (4 years ago)
Author:
musat
Message:

Nouvelle formulation des calculs a 2m

Location:
LMDZ6/trunk/libf/phylmd
Files:
4 added
5 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/pbl_surface_mod.F90

    r3815 r3817  
    2323  USE climb_wind_mod,      ONLY : climb_wind_down, climb_wind_up
    2424  USE coef_diff_turb_mod,  ONLY : coef_diff_turb
     25  USE ioipsl_getin_p_mod,  ONLY : getin_p
     26  USE stdlevvar_mod
    2527  USE wx_pbl_mod,          ONLY : wx_pbl_init, wx_pbl_final, &
    2628!!                                  wx_pbl_fuse_no_dts, wx_pbl_split_no_dts, &
     
    4345  INTEGER, SAVE :: iflag_pbl_surface_t2m_bug
    4446  !$OMP THREADPRIVATE(iflag_pbl_surface_t2m_bug)
     47  integer, save :: iflag_new_t2mq2m
     48  !$OMP THREADPRIVATE(iflag_new_t2mq2m)
     49
    4550!FC
    4651!  integer, save :: iflag_frein
     
    178183       alb_dir_m,    alb_dif_m,  zxsens,   zxevap,    &
    179184       alb3_lic,  runoff,    snowhgt,   qsnow,     to_ice,    sissnow,  &
    180        zxtsol,    zxfluxlat, zt2m,     qsat2m,       &
     185       zxtsol,    zxfluxlat, zt2m,     qsat2m, zn2mout, &
    181186       d_t,       d_q,       d_u,      d_v, d_t_diss, &
    182187!!! nrlmd+jyg le 02/05/2011 et le 20/02/2012
     
    404409    REAL, DIMENSION(klon),        INTENT(OUT)       :: zxfluxlat  ! latent flux, mean for each grid point
    405410    REAL, DIMENSION(klon),        INTENT(OUT)       :: zt2m       ! temperature at 2m, mean for each grid point
     411    INTEGER, DIMENSION(klon, 6),  INTENT(OUT)       :: zn2mout    ! number of times the 2m temperature is out of the [tsol,temp]
    406412    REAL, DIMENSION(klon),        INTENT(OUT)       :: qsat2m
    407413    REAL, DIMENSION(klon, klev),  INTENT(OUT)       :: d_t        ! change in temperature
     
    547553    REAL, DIMENSION(klon)              :: y_flux_u1, y_flux_v1
    548554    REAL, DIMENSION(klon)              :: yt2m, yq2m, yu10m
     555    INTEGER, DIMENSION(klon, nbsrf, 6) :: yn2mout, yn2mout_x, yn2mout_w
     556    INTEGER, DIMENSION(klon, nbsrf, 6) :: n2mout, n2mout_x, n2mout_w
    549557    REAL, DIMENSION(klon)              :: yustar
    550558    REAL, DIMENSION(klon)              :: ywstar
     
    853861
    854862    IF (first_call) THEN
     863
     864       iflag_new_t2mq2m=1
     865       CALL getin_p('iflag_new_t2mq2m',iflag_new_t2mq2m)
     866       print*,'pbl_iflag_new_t2mq2m=',iflag_new_t2mq2m
     867
    855868       print*,'PBL SURFACE AVEC GUSTINESS'
    856869       first_call=.FALSE.
     
    919932 zxfluxlat(:)=0.
    920933 zt2m(:)=0. ; zq2m(:)=0. ; qsat2m(:)=0. ; rh2m(:)=0.
     934 zn2mout(:,:)=0 ;
    921935 d_t(:,:)=0. ; d_t_diss(:,:)=0. ; d_q(:,:)=0. ; d_u(:,:)=0. ; d_v(:,:)=0.
    922936 zcoefh(:,:,:)=0. ; zcoefm(:,:,:)=0.
     
    18571871
    18581872          ! Calculate the temperature et relative humidity at 2m and the wind at 10m
     1873          IF (iflag_new_t2mq2m==1) THEN
     1874           CALL stdlevvarn(klon, knon, is_ter, zxli, &
     1875               yu(:,1), yv(:,1), yt(:,1), yq(:,1), zgeo1, &
     1876               yts, yqsurf, yz0m, yz0h, ypaprs(:,1), ypplay(:,1), &
     1877               yt2m, yq2m, yt10m, yq10m, yu10m, yn2mout(:, nsrf, :))
     1878          ELSE
    18591879          CALL stdlevvar(klon, knon, is_ter, zxli, &
    18601880               yu(:,1), yv(:,1), yt(:,1), yq(:,1), zgeo1, &
    18611881               yts, yqsurf, yz0m, yz0h, ypaprs(:,1), ypplay(:,1), &
    18621882               yt2m, yq2m, yt10m, yq10m, yu10m, yustar)
     1883          ENDIF
    18631884         
    18641885       ENDIF
     
    26862707!!! jyg le 07/02/2012
    26872708       IF (iflag_split .eq.0) THEN
     2709        IF (iflag_new_t2mq2m==1) THEN
     2710         CALL stdlevvarn(klon, knon, nsrf, zxli, &
     2711            uzon, vmer, tair1, qair1, zgeo1, &
     2712            tairsol, qairsol, yz0m, yz0h_oupas, psfce, patm, &
     2713            yt2m, yq2m, yt10m, yq10m, yu10m, yn2mout(:, nsrf, :))
     2714        ELSE
    26882715        CALL stdlevvar(klon, knon, nsrf, zxli, &
    26892716            uzon, vmer, tair1, qair1, zgeo1, &
    26902717            tairsol, qairsol, yz0m, yz0h_oupas, psfce, patm, &
    26912718            yt2m, yq2m, yt10m, yq10m, yu10m, yustar)
     2719        ENDIF
    26922720       ELSE  !(iflag_split .eq.0)
     2721        IF (iflag_new_t2mq2m==1) THEN
     2722         CALL stdlevvarn(klon, knon, nsrf, zxli, &
     2723            uzon_x, vmer_x, tair1_x, qair1_x, zgeo1_x, &
     2724            tairsol_x, qairsol, yz0m, yz0h_oupas, psfce, patm, &
     2725            yt2m_x, yq2m_x, yt10m_x, yq10m_x, yu10m_x, yn2mout_x(:, nsrf, :))
     2726         CALL stdlevvarn(klon, knon, nsrf, zxli, &
     2727            uzon_w, vmer_w, tair1_w, qair1_w, zgeo1_w, &
     2728            tairsol_w, qairsol, yz0m, yz0h_oupas, psfce, patm, &
     2729            yt2m_w, yq2m_w, yt10m_w, yq10m_w, yu10m_w, yn2mout_w(:, nsrf, :))
     2730        ELSE
    26932731        CALL stdlevvar(klon, knon, nsrf, zxli, &
    26942732            uzon_x, vmer_x, tair1_x, qair1_x, zgeo1_x, &
     
    26992737            tairsol_w, qairsol, yz0m, yz0h_oupas, psfce, patm, &
    27002738            yt2m_w, yq2m_w, yt10m_w, yq10m_w, yu10m_w, yustar_w)
     2739        ENDIF
    27012740!!!
    27022741       ENDIF  ! (iflag_split .eq.0)
     
    27122751          u10m(i,nsrf)=(yu10m(j) * uzon(j))/SQRT(uzon(j)**2+vmer(j)**2)
    27132752          v10m(i,nsrf)=(yu10m(j) * vmer(j))/SQRT(uzon(j)**2+vmer(j)**2)
     2753!
     2754          DO k = 1, 6
     2755           n2mout(i,nsrf,k) = yn2mout(j,nsrf,k)
     2756          END DO 
     2757!
    27142758        ENDDO
    27152759       ELSE  !(iflag_split .eq.0)
     
    27222766          u10m_x(i,nsrf)=(yu10m_x(j) * uzon_x(j))/SQRT(uzon_x(j)**2+vmer_x(j)**2)
    27232767          v10m_x(i,nsrf)=(yu10m_x(j) * vmer_x(j))/SQRT(uzon_x(j)**2+vmer_x(j)**2)
     2768!
     2769          DO k = 1, 6
     2770           n2mout_x(i,nsrf,k) = yn2mout_x(j,nsrf,k)
     2771          END DO 
     2772!
    27242773        ENDDO
    27252774        DO j=1, knon
     
    27352784          u10m(i,nsrf) = u10m_x(i,nsrf) + wake_s(i)*(u10m_w(i,nsrf)-u10m_x(i,nsrf))
    27362785          v10m(i,nsrf) = v10m_x(i,nsrf) + wake_s(i)*(v10m_w(i,nsrf)-v10m_x(i,nsrf))
     2786!
     2787          DO k = 1, 6
     2788           n2mout_w(i,nsrf,k) = yn2mout_w(j,nsrf,k)
     2789          END DO 
     2790!
    27372791        ENDDO
    27382792!!!
     
    29913045!
    29923046    zxtsol(:) = 0.0  ; zxfluxlat(:) = 0.0
    2993     zt2m(:) = 0.0    ; zq2m(:) = 0.0
     3047    zt2m(:) = 0.0    ; zq2m(:) = 0.0 ; zn2mout(:,:) = 0
    29943048    zustar(:)=0.0 ; zu10m(:) = 0.0   ; zv10m(:) = 0.0
    29953049    s_pblh(:) = 0.0  ; s_plcl(:) = 0.0
     
    30443098          zt2m(i)  = zt2m(i)  + t2m(i,nsrf)  * pctsrf(i,nsrf)
    30453099          zq2m(i)  = zq2m(i)  + q2m(i,nsrf)  * pctsrf(i,nsrf)
     3100!
     3101          DO k = 1, 6
     3102           zn2mout(i,k)  = zn2mout(i,k)  + n2mout(i,nsrf,k)  * pctsrf(i,nsrf)
     3103          ENDDO 
     3104!
    30463105          zustar(i) = zustar(i) + ustar(i,nsrf) * pctsrf(i,nsrf)
    30473106          wstar(i,is_ave)=wstar(i,is_ave)+wstar(i,nsrf)*pctsrf(i,nsrf)
     
    30753134          zt2m(i)  = zt2m(i)  + (t2m_x(i,nsrf)+wake_s(i)*(t2m_w(i,nsrf)-t2m_x(i,nsrf))) * pctsrf(i,nsrf)
    30763135          zq2m(i)  = zq2m(i)  + q2m_x(i,nsrf)  * pctsrf(i,nsrf)
     3136!
     3137          DO k = 1, 6
     3138           zn2mout(i,k)  = zn2mout(i,k)  + n2mout_x(i,nsrf,k)  * pctsrf(i,nsrf)
     3139          ENDDO
     3140!
    30773141          zustar(i) = zustar(i) + ustar_x(i,nsrf) * pctsrf(i,nsrf)
    30783142          wstar(i,is_ave)=wstar(i,is_ave)+wstar_x(i,nsrf)*pctsrf(i,nsrf)
     
    31533217    DO nsrf = 1, nbsrf
    31543218       DO i = 1, klon
    3155           zxqsurf(i) = zxqsurf(i) + qsurf(i,nsrf) * pctsrf(i,nsrf)
     3219          zxqsurf(i) = zxqsurf(i) + MAX(qsurf(i,nsrf),0.0) * pctsrf(i,nsrf)
    31563220          zxsnow(i)  = zxsnow(i)  + snow(i,nsrf)  * pctsrf(i,nsrf)
    31573221       ENDDO
  • LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90

    r3780 r3817  
    378378      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: t2m_min_mon, t2m_max_mon
    379379!$OMP THREADPRIVATE(t2m_min_mon, t2m_max_mon)
    380       REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zq2m_cor, zt2m_cor
    381 !$OMP THREADPRIVATE(zq2m_cor, zt2m_cor)
    382       REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zu10m_cor, zv10m_cor
    383 !$OMP THREADPRIVATE(zu10m_cor, zv10m_cor)
    384       REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zrh2m_cor, zqsat2m_cor
    385 !$OMP THREADPRIVATE(zrh2m_cor, zqsat2m_cor)
    386380      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: weak_inversion
    387381!$OMP THREADPRIVATE(weak_inversion)
     
    473467      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: p_tropopause, z_tropopause, t_tropopause
    474468!$OMP THREADPRIVATE(p_tropopause, z_tropopause, t_tropopause)
     469
     470      INTEGER,ALLOCATABLE,SAVE,DIMENSION(:,:) :: zn2mout
     471!$OMP THREADPRIVATE(zn2mout)
    475472
    476473#ifdef CPP_StratAer
     
    757754      ALLOCATE(zt2m_min_mon(klon), zt2m_max_mon(klon))
    758755      ALLOCATE(t2m_min_mon(klon), t2m_max_mon(klon))
    759       ALLOCATE(zq2m_cor(klon), zt2m_cor(klon), zu10m_cor(klon), zv10m_cor(klon))
    760       ALLOCATE(zrh2m_cor(klon), zqsat2m_cor(klon))
    761756      ALLOCATE(sens(klon), flwp(klon), fiwp(klon))
    762757      ALLOCATE(alp_bl_conv(klon), alp_bl_det(klon))
     
    828823      ALLOCATE (z_tropopause(klon))
    829824      ALLOCATE (t_tropopause(klon))
     825
     826      ALLOCATE(zn2mout(klon,6))
    830827
    831828#ifdef CPP_StratAer
     
    10541051      DEALLOCATE(zt2m_min_mon, zt2m_max_mon)
    10551052      DEALLOCATE(t2m_min_mon, t2m_max_mon)
    1056       DEALLOCATE(zq2m_cor, zt2m_cor, zu10m_cor, zv10m_cor)
    1057       DEALLOCATE(zrh2m_cor, zqsat2m_cor)
    10581053      DEALLOCATE(sens, flwp, fiwp)
    10591054      DEALLOCATE(alp_bl_conv,alp_bl_det)
     
    11161111      DEALLOCATE (z_tropopause)
    11171112      DEALLOCATE (t_tropopause)
     1113      DEALLOCATE(zn2mout)
    11181114
    11191115#ifdef CPP_StratAer
  • LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90

    r3815 r3817  
    271271      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    272272    't2m_sic', "Temp 2m "//clnsurf(4), "K", (/ ('', i=1, 10) /)) /)
     273
     274  TYPE(ctrl_out), SAVE :: o_nt2mout = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
     275    'nt2mout', 'Nbt2m out of range complete computation', '-', (/ ('', i=1, 10) /))
     276  TYPE(ctrl_out), SAVE :: o_nq2mout = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
     277    'nq2mout', 'Nbq2m out of range complete computation', '-', (/ ('', i=1, 10) /))
     278  TYPE(ctrl_out), SAVE :: o_nu2mout = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
     279    'nu2mout', 'Nbu2m out of range complete computation', '-', (/ ('', i=1, 10) /))
     280
     281  TYPE(ctrl_out), SAVE :: o_nt2moutfg = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
     282    'nt2moutfg', 'Nbt2m out of range complete/fgRi1 computation', '-', (/ ('', i=1, 10) /))
     283  TYPE(ctrl_out), SAVE :: o_nq2moutfg = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
     284    'nq2moutfg', 'Nbq2m out of range complete/fgRi1 computation', '-', (/ ('', i=1, 10) /))
     285  TYPE(ctrl_out), SAVE :: o_nu2moutfg = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
     286    'nu2moutfg', 'Nbu2m out of range complete/fgRi1 computation', '-', (/ ('', i=1, 10) /))
    273287
    274288  TYPE(ctrl_out), SAVE :: o_gusts = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
  • LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90

    r3815 r3817  
    3838         o_t2m, o_t2m_min, o_t2m_max, &
    3939         o_t2m_min_mon, o_t2m_max_mon, &
     40         o_nt2mout, o_nt2moutfg, &
     41         o_nq2mout, o_nq2moutfg, &
     42         o_nu2mout, o_nu2moutfg, &
    4043         o_q2m, o_ustar, o_u10m, o_v10m, &
    4144         o_wind10m, o_wind10max, o_wind100m, o_gusts, o_sicf, &
     
    251254
    252255    USE phys_local_var_mod, ONLY: zxfluxlat, slp, ptstar, pt0, zxtsol, zt2m, &
    253          zt2m_cor,zq2m_cor,zu10m_cor,zv10m_cor, zrh2m_cor, zqsat2m_cor, &
    254          t2m_min_mon, t2m_max_mon, evap, &
     256         zn2mout, t2m_min_mon, t2m_max_mon, evap, &
    255257         l_mixmin,l_mix, tke_dissip, &
    256258         zu10m, zv10m, zq2m, zustar, zxqsurf, &
     
    683685       CALL histwrite_phy(o_slp, slp)
    684686       CALL histwrite_phy(o_tsol, zxtsol)
    685        CALL histwrite_phy(o_t2m, zt2m_cor)
    686        CALL histwrite_phy(o_t2m_min, zt2m_cor)
    687        CALL histwrite_phy(o_t2m_max, zt2m_cor)
     687       CALL histwrite_phy(o_t2m, zt2m)
     688       CALL histwrite_phy(o_t2m_min, zt2m)
     689       CALL histwrite_phy(o_t2m_max, zt2m)
    688690       CALL histwrite_phy(o_t2m_max_mon, t2m_max_mon)
    689691       CALL histwrite_phy(o_t2m_min_mon, t2m_min_mon)
     
    691693       IF (vars_defined) THEN
    692694          DO i=1, klon
    693              zx_tmp_fi2d(i)=SQRT(zu10m_cor(i)*zu10m_cor(i)+zv10m_cor(i)*zv10m_cor(i))
     695             zx_tmp_fi2d(i)=real(zn2mout(i,1))
     696          ENDDO
     697       ENDIF
     698       CALL histwrite_phy(o_nt2mout, zx_tmp_fi2d)
     699
     700       IF (vars_defined) THEN
     701          DO i=1, klon
     702             zx_tmp_fi2d(i)=real(zn2mout(i,2))
     703          ENDDO
     704       ENDIF
     705       CALL histwrite_phy(o_nt2moutfg, zx_tmp_fi2d)
     706
     707       IF (vars_defined) THEN
     708          DO i=1, klon
     709             zx_tmp_fi2d(i)=real(zn2mout(i,3))
     710          ENDDO
     711       ENDIF
     712       CALL histwrite_phy(o_nq2mout, zx_tmp_fi2d)
     713
     714       IF (vars_defined) THEN
     715          DO i=1, klon
     716             zx_tmp_fi2d(i)=real(zn2mout(i,4))
     717          ENDDO
     718       ENDIF
     719       CALL histwrite_phy(o_nq2moutfg, zx_tmp_fi2d)
     720
     721       IF (vars_defined) THEN
     722          DO i=1, klon
     723             zx_tmp_fi2d(i)=real(zn2mout(i,5))
     724          ENDDO
     725       ENDIF
     726       CALL histwrite_phy(o_nu2mout, zx_tmp_fi2d)
     727
     728       IF (vars_defined) THEN
     729          DO i=1, klon
     730             zx_tmp_fi2d(i)=real(zn2mout(i,6))
     731          ENDDO
     732       ENDIF
     733       CALL histwrite_phy(o_nu2moutfg, zx_tmp_fi2d)
     734
     735       IF (vars_defined) THEN
     736          DO i=1, klon
     737             zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
    694738          ENDDO
    695739       ENDIF
     
    698742       IF (vars_defined) THEN
    699743          DO i=1, klon
    700              zx_tmp_fi2d(i)=SQRT(zu10m_cor(i)*zu10m_cor(i)+zv10m_cor(i)*zv10m_cor(i))
     744             zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
    701745          ENDDO
    702746       ENDIF
     
    777821       ENDIF
    778822       CALL histwrite_phy(o_sicf, zx_tmp_fi2d)
    779        CALL histwrite_phy(o_q2m, zq2m_cor)
    780        CALL histwrite_phy(o_ustar, zustar)
    781        CALL histwrite_phy(o_u10m, zu10m_cor)
    782        CALL histwrite_phy(o_v10m, zv10m_cor)
     823       CALL histwrite_phy(o_q2m, zq2m)
     824       IF (vars_defined) zx_tmp_fi2d = zustar
     825       CALL histwrite_phy(o_ustar, zx_tmp_fi2d)
     826       CALL histwrite_phy(o_u10m, zu10m)
     827       CALL histwrite_phy(o_v10m, zv10m)
    783828
    784829       IF (vars_defined) THEN
     
    14351480!       CALL histwrite_phy(o_rh2m_max, zx_tmp_fi2d)
    14361481
    1437        CALL histwrite_phy(o_qsat2m, zqsat2m_cor)
     1482       CALL histwrite_phy(o_qsat2m, qsat2m)
    14381483       CALL histwrite_phy(o_tpot, tpot)
    14391484       CALL histwrite_phy(o_tpote, tpote)
  • LMDZ6/trunk/libf/phylmd/physiq_mod.F90

    r3792 r3817  
    197197       cdragm, cdragh,                   &
    198198       zustar, zu10m, zv10m, rh2m, qsat2m, &
    199        zq2m, zt2m, weak_inversion, &
    200        zq2m_cor,zt2m_cor,zu10m_cor,zv10m_cor, & ! pour corriger d'un bug
    201        zrh2m_cor,zqsat2m_cor, &
     199       zq2m, zt2m, zn2mout, weak_inversion, &
    202200       zt2m_min_mon, zt2m_max_mon,   &         ! pour calcul_divers.h
    203201       t2m_min_mon, t2m_max_mon,  &            ! pour calcul_divers.h
     
    617615    !$OMP THREADPRIVATE(iflag_alp_wk_cond)
    618616
    619     INTEGER,  SAVE               :: iflag_bug_t2m_ipslcm61=1 !
    620     !$OMP THREADPRIVATE(iflag_bug_t2m_ipslcm61)
    621     INTEGER,  SAVE               :: iflag_bug_t2m_stab_ipslcm61=-1 !
    622     !$OMP THREADPRIVATE(iflag_bug_t2m_stab_ipslcm61)
    623 
    624617    REAL t_w(klon,klev),q_w(klon,klev) ! temperature and moisture profiles in the wake region
    625618    REAL t_x(klon,klev),q_x(klon,klev) ! temperature and moisture profiles in the off-wake region
     
    13281321       tau_gl=86400.*tau_gl
    13291322       WRITE(lunout,*) 'debut physiq_mod tau_gl=',tau_gl
    1330 
    1331        iflag_bug_t2m_ipslcm61 = 1
    1332        CALL getin_p('iflag_bug_t2m_ipslcm61', iflag_bug_t2m_ipslcm61)
    1333        iflag_bug_t2m_stab_ipslcm61 = -1
    1334        CALL getin_p('iflag_bug_t2m_stab_ipslcm61', iflag_bug_t2m_stab_ipslcm61)
    13351323
    13361324       CALL getin_p('iflag_alp_wk_cond', iflag_alp_wk_cond)
     
    25632551                                !albedo SB <<<
    25642552            albsol3_lic,runoff,   snowhgt,   qsnow, to_ice, sissnow, &
    2565             zxtsol,    zxfluxlat, zt2m,    qsat2m,  &
     2553            zxtsol,    zxfluxlat, zt2m,    qsat2m,  zn2mout, &
    25662554            d_t_vdf,   d_q_vdf,   d_u_vdf, d_v_vdf, d_t_diss, &
    25672555                                !nrlmd<
     
    26102598!>jyg
    26112599       ENDIF
    2612 
    2613 !add limitation for t,q at and wind at 10m
    2614         if ( iflag_bug_t2m_ipslcm61 == 0 ) THEN
    2615           CALL borne_var_surf( klon,klev,nbsrf,                 &
    2616             iflag_bug_t2m_stab_ipslcm61,                        &
    2617             t_seri(:,1),q_seri(:,1),u_seri(:,1),v_seri(:,1),    &
    2618             ftsol,zxqsurf,pctsrf,paprs,                         &
    2619             t2m, q2m, u10m, v10m,                               &
    2620             zt2m_cor, zq2m_cor, zu10m_cor, zv10m_cor,           &
    2621             zrh2m_cor, zqsat2m_cor)
    2622         ELSE
    2623           zt2m_cor(:)=zt2m(:)
    2624           zq2m_cor(:)=zq2m(:)
    2625           zu10m_cor(:)=zu10m(:)
    2626           zv10m_cor(:)=zv10m(:)
    2627           zqsat2m_cor=999.999
    2628         ENDIF
    26292600
    26302601       !---------------------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.