Ignore:
Timestamp:
Oct 20, 2015, 3:48:18 PM (9 years ago)
Author:
musat
Message:

Correct zfull and zhalf CMIP6' diagnostics :
zhalf correspond to the interface levels (and paprs) and include

both the top of the model atmosphere and surface levels

zfull is the actual height above mean sea level and corresponds to the

geopotential height (and pplay levels)

ASima/AI/IM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/phys_output_write_mod.F90

    r2366 r2377  
    979979       CALL histwrite_phy(o_pres, pplay)
    980980       CALL histwrite_phy(o_paprs, paprs(:,1:klev))
    981        IF (vars_defined) THEN
    982           DO i=1, klon
    983              zx_tmp_fi3d1(i,1)= pphis(i)/RG
    984              !020611   zx_tmp_fi3d(i,1)= pphis(i)/RG
    985           ENDDO
    986           DO k=1, klev
    987              !020611        DO k=1, klev-1
    988              DO i=1, klon
    989                 !020611         zx_tmp_fi3d(i,k+1)= zx_tmp_fi3d(i,k) - (t_seri(i,k) *RD *
    990                 zx_tmp_fi3d1(i,k+1)= zx_tmp_fi3d1(i,k) - (t_seri(i,k) *RD *  &
    991                      (paprs(i,k+1) - paprs(i,k))) / ( pplay(i,k) * RG )
    992              ENDDO
    993           ENDDO
    994        ENDIF
    995        CALL histwrite_phy(o_zfull,zx_tmp_fi3d1(:,2:klevp1))
    996        !020611    $o_zfull%name,itau_w,zx_tmp_fi3d)
     981       CALL histwrite_phy(o_zfull,zphi/RG)
    997982
    998983       IF (vars_defined)  THEN
    999           DO i=1, klon
    1000              zx_tmp_fi3d(i,1)= pphis(i)/RG - ( &
    1001                   (t_seri(i,1)+zxtsol(i))/2. *RD * &
    1002                   (pplay(i,1) - paprs(i,1)))/( (paprs(i,1)+pplay(i,1))/2.* RG)
    1003           ENDDO
    1004           DO k=1, klev-1
    1005              DO i=1, klon
    1006                 zx_tmp_fi3d(i,k+1)= zx_tmp_fi3d(i,k) - ( &
    1007                      (t_seri(i,k)+t_seri(i,k+1))/2. *RD *  &
    1008                      (pplay(i,k+1) - pplay(i,k))) / ( paprs(i,k) * RG )
    1009              ENDDO
    1010           ENDDO
     984        zx_tmp_fi3d(:,1)= pphis(:)/RG
     985        DO k = 2, klev
     986         DO i = 1, klon
     987            zx_tmp_fi3d(i,k) = zphi(i,k)/RG + &
     988                          (zphi(i,k)-zphi(i,k-1))/RG * &
     989                          (paprs(i,k)-pplay(i,k))/(pplay(i,k)-pplay(i,k-1))
     990         ENDDO
     991        ENDDO
    1011992       ENDIF
    1012993       CALL histwrite_phy(o_zhalf, zx_tmp_fi3d)
Note: See TracChangeset for help on using the changeset viewer.