Changeset 503 for LMDZ.3.3


Ignore:
Timestamp:
Mar 23, 2004, 5:58:18 PM (20 years ago)
Author:
lmdzadmin
Message:

IM: ajout/modification des flux LW/SW 3d en sortie

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/radlwsw.F

    r467 r503  
    66     .                  topsw,toplw,solsw,sollw,
    77     .                  sollwdown,
     8cIM  .                  sollwdown, sollwdownclr,
     9cIM  .                  toplwdown, toplwdownclr,
    810     .                  topsw0,toplw0,solsw0,sollw0,
     11cIM BEG
     12     .                  lwdn0, lwdn, lwup0, lwup,
     13cIM END
    914     .                  swdn0, swdn, swup0, swup    )
    1015      IMPLICIT none
     
    6368      REAL*8 ZFSUP0(KDLON,KFLEV+1)
    6469      REAL*8 ZFSDN0(KDLON,KFLEV+1)
     70cIM
     71cIM
     72cIM   real sollwdownclr(klon) !LWdnSFCclr
     73cIM   real toplwdown(klon) !LWdnTOA
     74cIM   real toplwdownclr(klon) !LWdnTOAclr
     75      REAL*8 ZFLUP(KDLON,KFLEV+1)
     76      REAL*8 ZFLDN(KDLON,KFLEV+1)
     77      REAL*8 ZFLUP0(KDLON,KFLEV+1)
     78      REAL*8 ZFLDN0(KDLON,KFLEV+1)
    6579c
    6680      REAL*8 zx_alpha1, zx_alpha2
     
    94108      REAL*8 ztopsw(kdlon), ztoplw(kdlon)
    95109      REAL*8 zsolsw(kdlon), zsollw(kdlon), zalbpla(kdlon)
     110cIM BEG
    96111      REAL*8 zsollwdown(kdlon)
     112cIM   REAL*8 zsollwdown(kdlon), zsollwdownclr(kdlon)
     113cIM   REAL*8 ztoplwdown(kdlon), ztoplwdownclr(kdlon)
     114cIM END
    97115      REAL*8 ztopsw0(kdlon), ztoplw0(kdlon)
    98116      REAL*8 zsolsw0(kdlon), zsollw0(kdlon)
    99117      REAL*8 zznormcp
    100       REAL swdn(klon,2),swdn0(klon,2),swup(klon,2),swup0(klon,2)
    101 c
    102 c-------------------------------------------
     118cIM 080304   REAL swdn(klon,2),swdn0(klon,2),swup(klon,2),swup0(klon,2)
     119      REAL swdn(klon,kflev+1),swdn0(klon,kflev+1)
     120      REAL swup(klon,kflev+1),swup0(klon,kflev+1)
     121cIM BEG
     122      REAL lwdn(klon,kflev+1),lwdn0(klon,kflev+1)
     123      REAL lwup(klon,kflev+1),lwup0(klon,kflev+1)
     124cIM END
     125c---------------------------------------------------------------
    103126      nb_gr = klon / kdlon
    104127      IF (nb_gr*kdlon .NE. klon) THEN
     
    212235     .        zcool, zcool0,
    213236     .        ztoplw,zsollw,ztoplw0,zsollw0,
    214      .        zsollwdown)
     237     .        zsollwdown,
     238cIM  .        zsollwdown,zsollwdownclr,
     239cIM  .        ztoplwdown,ztoplwdownclr)
     240     .        ZFLUP, ZFLDN, ZFLUP0,ZFLDN0)
    215241cIM ctes ds clesphys.h   CALL SW(PSCT, RCO2, zrmu0, zfract,
    216242      CALL SW(PSCT, zrmu0, zfract,
     
    230256         sollw(iof+i) = zsollw(i)
    231257         sollwdown(iof+i) = zsollwdown(i)
     258cIM
     259cIM      sollwdownclr(iof+i) = zsollwdownclr(i)
     260cIM BEG
     261cIM      toplwdown(iof+i) = ztoplwdown(i)
     262cIM      toplwdownclr(iof+i) = ztoplwdownclr(i)
     263cIM END
     264cIM 110304 BEG
     265         DO k = 1, kflev+1
     266         lwdn0 ( iof+i,k)   = ZFLDN0 ( i,k)
     267         lwdn  ( iof+i,k)   = ZFLDN  ( i,k)
     268         lwup0 ( iof+i,k)   = ZFLUP0 ( i,k)
     269         lwup  ( iof+i,k)   = ZFLUP  ( i,k)
     270         ENDDO
     271cIM 110304 END
    232272         topsw0(iof+i) = ztopsw0(i)
    233273         toplw0(iof+i) = ztoplw0(i)
     
    235275         sollw0(iof+i) = zsollw0(i)
    236276         albpla(iof+i) = zalbpla(i)
    237          swdn0 ( iof+i,1)   = ZFSDN0 ( i,1 )
    238          swdn0 ( iof+i,2)   = ZFSDN0 ( i,kflev + 1 )
    239          swdn  ( iof+i,1)   = ZFSDN  ( i,1 )
    240          swdn  ( iof+i,2)   = ZFSDN  ( i,kflev + 1 )
    241          swup0 ( iof+i,1)   = ZFSUP0 ( i,1 )
    242          swup0 ( iof+i,2)   = ZFSUP0 ( i,kflev + 1 )
    243          swup  ( iof+i,1)   = ZFSUP  ( i,1 )
    244          swup  ( iof+i,2)   = ZFSUP  ( i,kflev + 1 )
     277cIM 080304 BEG
     278         DO k = 1, kflev+1
     279         swdn0 ( iof+i,k)   = ZFSDN0 ( i,k)
     280         swdn  ( iof+i,k)   = ZFSDN  ( i,k)
     281         swup0 ( iof+i,k)   = ZFSUP0 ( i,k)
     282         swup  ( iof+i,k)   = ZFSUP  ( i,k)
     283         ENDDO !k=1, kflev+1
     284cIM 080304 END
     285c        swdn0 ( iof+i,1)   = ZFSDN0 ( i,1 )
     286c        swdn0 ( iof+i,2)   = ZFSDN0 ( i,kflev + 1 )
     287c        swdn  ( iof+i,1)   = ZFSDN  ( i,1 )
     288c        swdn  ( iof+i,2)   = ZFSDN  ( i,kflev + 1 )
     289c        swup0 ( iof+i,1)   = ZFSUP0 ( i,1 )
     290c        swup0 ( iof+i,2)   = ZFSUP0 ( i,kflev + 1 )
     291c        swup  ( iof+i,1)   = ZFSUP  ( i,1 )
     292c        swup  ( iof+i,2)   = ZFSUP  ( i,kflev + 1 )
    245293      ENDDO
    246294      DO k = 1, kflev
     
    25082556     .              PCOLR, PCOLR0,
    25092557     .              PTOPLW,PSOLLW,PTOPLW0,PSOLLW0,
    2510      .              psollwdown)
     2558     .              psollwdown,
     2559cIM  .              psollwdown,psollwdownclr,
     2560cIM  .              ptoplwdown,ptoplwdownclr)
     2561     .              plwup, plwdn, plwup0, plwdn0)
    25112562      IMPLICIT none
    25122563#include "dimensions.h"
     
    25742625c Rajout LF
    25752626      real*8 psollwdown(kdlon)    ! LONGWAVE downwards flux at surface
    2576 C
     2627c Rajout IM
     2628cIM   real*8 psollwdownclr(kdlon) ! LONGWAVE CS downwards flux at surface
     2629cIM   real*8 ptoplwdown(kdlon)    ! LONGWAVE downwards flux at T.O.A.
     2630cIM   real*8 ptoplwdownclr(kdlon) ! LONGWAVE CS downwards flux at T.O.A.
     2631cIM
     2632      REAL*8 plwup(KDLON,KFLEV+1)  ! LW up total sky
     2633      REAL*8 plwup0(KDLON,KFLEV+1) ! LW up clear sky
     2634      REAL*8 plwdn(KDLON,KFLEV+1)  ! LW down total sky
     2635      REAL*8 plwdn0(KDLON,KFLEV+1) ! LW down clear sky
    25772636C-------------------------------------------------------------------------
    25782637      REAL*8 ZABCU(KDLON,NUA,3*KFLEV+1)
     
    26482707         PTOPLW0(i) = ZFLUC(i,1,KFLEV+1) + ZFLUC(i,2,KFLEV+1)
    26492708         psollwdown(i) = -ZFLUX(i,2,1)
     2709cIM
     2710cIM      psollwdownclr(i) = -ZFLUC(i,2,1)
     2711cIM      ptoplwdown(i) = ZFLUX(i,2,KFLEV+1)
     2712cIM      ptoplwdownclr(i) = ZFLUC(i,2,KFLEV+1)
     2713cIM
     2714cIM attention aux signes !; LWtop >0, LWdn < 0
     2715         DO k = 1, KFLEV+1
     2716           plwup(i,k) = ZFLUX(i,1,k)
     2717           plwup0(i,k) = ZFLUC(i,1,k)
     2718           plwdn(i,k) = ZFLUX(i,2,k)
     2719           plwdn0(i,k) = ZFLUC(i,2,k)
     2720         ENDDO
    26502721      ENDDO
    26512722C     ------------------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.