Ignore:
Timestamp:
Oct 8, 2014, 9:26:28 AM (10 years ago)
Author:
slebonnois
Message:

SL: update to newstart/start2archive tools in Venus+Titan / additional diagnostics in radiative fluxes for Titan

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.TITAN/libf/phytitan/radlwsw.F

    r1056 r1356  
    3737      USE comgeomphy
    3838      USE phys_state_var_mod, only: falbe,heat,cool,radsol,
    39      .      topsw,toplw,solsw,sollw,sollwdown,lwnet,swnet
     39     .      topsw,toplw,solsw,sollw,sollwdown,lwnet,swnet,
     40     .      lwup,lwdn,swup,swdn
    4041      USE write_field_phy
    4142       IMPLICIT none
     
    6061      real zheatc(klon,klev), zcoolc(klon,klev)
    6162      real zheatp(klon,klev), zcoolp(klon,klev)
    62       REAL zswnetc(klon,klev+1),zlwnetp(klon,klev+1)
    63       REAL zswnetp(klon,klev+1),zlwnetc(klon,klev+1)
     63      REAL zswupc(klon,klev+1),zlwupc(klon,klev+1)
     64      REAL zswupp(klon,klev+1),zlwupp(klon,klev+1)
     65      REAL zswdnc(klon,klev+1),zlwdnc(klon,klev+1)
     66      REAL zswdnp(klon,klev+1),zlwdnp(klon,klev+1)
    6467      REAL zsollwdownc(klon),zsollwdownp(klon)
    6568      INTEGER icld
     
    124127       IF (clouds.eq.1) THEN
    125128         ICLD = 1   ! colonne avec nuages
    126          CALL heating(dist,rmu0,fract,falbe,zheatc,zswnetc,icld)
     129         CALL heating(dist,rmu0,fract,falbe,zheatc,zswupc,zswdnc,icld)
    127130       ELSE
    128131         zheatc  = 0.
    129          zswnetc = 0.
     132         zswupc = 0.
     133         zswdnc = 0.
    130134       ENDIF
    131135       ICLD = 0   ! colonne sans nuages
    132        CALL heating(dist,rmu0,fract,falbe,zheatp,zswnetp,icld)
     136       CALL heating(dist,rmu0,fract,falbe,zheatp,zswupp,zswdnp,icld)
    133137
    134138c inversion de l'axe vertical
     
    141145       do l=1,klev+1
    142146         do i=1,klon
    143            swnet(i,l)=zswnetc(i,klev+2-l)*xnuf +
    144      &                zswnetp(i,klev+2-l)*(1.-xnuf)
     147           swup(i,l) =zswupc(i,klev+2-l)*xnuf +
     148     &                zswupp(i,klev+2-l)*(1.-xnuf)
     149           swdn(i,l) =zswdnc(i,klev+2-l)*xnuf +
     150     &                zswdnp(i,klev+2-l)*(1.-xnuf)
     151           swnet(i,l)=swdn(i,l)-swup(i,l)
    145152         enddo
    146153       enddo
     
    157164       IF (clouds.eq.1) THEN
    158165         ICLD = 1
    159          CALL cooling(klon,klev+1,zp,zt,zz,zcoolc,zlwnetc,zsollwdownc,
    160      &   icld)
     166         CALL cooling(klon,klev+1,zp,zt,zz,zcoolc,zlwupc,zlwdnc,
     167     &   zsollwdownc,icld)
    161168       ELSE
    162169         zcoolc      = 0.
    163          zlwnetc     = 0.
     170         zlwupc      = 0.
     171         zlwdnc      = 0.
    164172         zsollwdownc = 0.
    165173       ENDIF
    166174       ICLD = 0
    167        CALL cooling(klon,klev+1,zp,zt,zz,zcoolp,zlwnetp,zsollwdownp,
    168      & icld)
     175       CALL cooling(klon,klev+1,zp,zt,zz,zcoolp,zlwupp,zlwdnp,
     176     & zsollwdownp,icld)
    169177
    170178c inversion de l'axe vertical
     
    177185       do l=1,klev+1
    178186         do i=1,klon
    179            lwnet(i,l)=zlwnetc(i,klev+2-l)*xnuf +
    180      &                zlwnetp(i,klev+2-l)*(1.-xnuf)
     187           lwup(i,l) =zlwupc(i,klev+2-l)*xnuf +
     188     &                zlwupp(i,klev+2-l)*(1.-xnuf)
     189           lwdn(i,l) =zlwdnc(i,klev+2-l)*xnuf +
     190     &                zlwdnp(i,klev+2-l)*(1.-xnuf)
     191           lwnet(i,l)=lwup(i,l)-lwdn(i,l)
    181192         enddo
    182193       enddo
Note: See TracChangeset for help on using the changeset viewer.