Changeset 862 for LMDZ4/branches


Ignore:
Timestamp:
Nov 13, 2007, 3:11:17 PM (17 years ago)
Author:
lsce
Message:

ACo : ajout clef CPP (COUPLE + AER) pour le modele couple avec les aerosol (IPSL_ESM_V1)

Location:
LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/ini_histmth.h

    r850 r862  
    832832         ENDIF
    833833C
     834#if defined(INCA_AER) && defined(CPP_COUPLE)
     835         CALL histdef(nid_mth, "tau", "cloud opt thickness", "-",
     836     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
     837     .                "ave(X)", zstophy,zout)
     838         CALL histdef(nid_mth, "CCM1", "CCM1", "",
     839     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
     840     .                "ave(X)", zstophy,zout)
     841         CALL histdef(nid_mth, "CCM2", "CCM2", "",
     842     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
     843     .                "ave(X)", zstophy,zout)
     844         CALL histdef(nid_mth, "taupi", "cloud opt thickn. (pi)", "-",
     845     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
     846     .                "ave(X)", zstophy,zout)
     847         CALL histdef(nid_mth, "cldemi", "emissivite IR", "-",
     848     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
     849     .                "ave(X)", zstophy,zout)
     850         CALL histdef(nid_mth, "SWTOAAS_ZERO", "?", "?",
     851     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
     852     .                "ave(X)", zstophy,zout)
     853         CALL histdef(nid_mth, "SWTOAAS_AER", "?", "?",
     854     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
     855     .                "ave(X)", zstophy,zout)
     856         CALL histdef(nid_mth, "SWTOAAS_NAT", "?", "?",
     857     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
     858     .                "ave(X)", zstophy,zout)
     859         CALL histdef(nid_mth, "SWTOAAS_AD", "?", "?",
     860     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
     861     .                "ave(X)", zstophy,zout)
     862         CALL histdef(nid_mth, "SWTOAAS_AI", "?", "?",
     863     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
     864     .                "ave(X)", zstophy,zout)
     865         CALL histdef(nid_mth, "SWTOACS_ZERO", "?", "?",
     866     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
     867     .                "ave(X)", zstophy,zout)
     868         CALL histdef(nid_mth, "SWTOACS_AER", "?", "?",
     869     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
     870     .                "ave(X)", zstophy,zout)
     871         CALL histdef(nid_mth, "SWTOACS_AD", "?", "?",
     872     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
     873     .                "ave(X)", zstophy,zout)
     874         CALL histdef(nid_mth, "SWTOACS_NAT", "?", "?",
     875     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
     876     .                "ave(X)", zstophy,zout)
     877#endif
     878#ifndef INCA
    834879         if (nqmax.GE.3) THEN
    835880           DO iq=3,nqmax
     
    840885           ENDDO
    841886         ENDIF
     887#endif
    842888c
    843889      ENDIF !lev_histmth.GE.4
     
    17391785         ENDIF
    17401786C
     1787#if defined(INCA_AER) && defined(CPP_COUPLE)
     1788         CALL histdef(nid_mth, "tau", "cloud opt thickness", "-",
     1789     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
     1790     .                "ave(X)", zstophy,zout)
     1791         CALL histdef(nid_mth, "CCM1", "CCM1", "",
     1792     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
     1793     .                "ave(X)", zstophy,zout)
     1794         CALL histdef(nid_mth, "CCM2", "CCM2", "",
     1795     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
     1796     .                "ave(X)", zstophy,zout)
     1797         CALL histdef(nid_mth, "taupi", "cloud opt thickn. (pi)", "-",
     1798     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
     1799     .                "ave(X)", zstophy,zout)
     1800         CALL histdef(nid_mth, "cldemi", "emissivite IR", "-",
     1801     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
     1802     .                "ave(X)", zstophy,zout)
     1803         CALL histdef(nid_mth, "SWTOAAS_ZERO", "?", "?",
     1804     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
     1805     .                "ave(X)", zstophy,zout)
     1806         CALL histdef(nid_mth, "SWTOAAS_AER", "?", "?",
     1807     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
     1808     .                "ave(X)", zstophy,zout)
     1809         CALL histdef(nid_mth, "SWTOAAS_NAT", "?", "?",
     1810     .        iim,jj_nb,nhori, 1,1,1, -99, 32,
     1811     .        "ave(X)", zstophy,zout)
     1812         CALL histdef(nid_mth, "SWTOAAS_AD", "?", "?",
     1813     .        iim,jj_nb,nhori, 1,1,1, -99, 32,
     1814     .        "ave(X)", zstophy,zout)
     1815         CALL histdef(nid_mth, "SWTOAAS_AI", "?", "?",
     1816     .        iim,jj_nb,nhori, 1,1,1, -99, 32,
     1817     .        "ave(X)", zstophy,zout)
     1818         CALL histdef(nid_mth, "SWTOACS_ZERO", "?", "?",
     1819     .        iim,jj_nb,nhori, 1,1,1, -99, 32,
     1820     .        "ave(X)", zstophy,zout)
     1821         CALL histdef(nid_mth, "SWTOACS_AER", "?", "?",
     1822     .        iim,jj_nb,nhori, 1,1,1, -99, 32,
     1823     .        "ave(X)", zstophy,zout)
     1824         CALL histdef(nid_mth, "SWTOACS_AD", "?", "?",
     1825     .        iim,jj_nb,nhori, 1,1,1, -99, 32,
     1826     .        "ave(X)", zstophy,zout)
     1827         CALL histdef(nid_mth, "SWTOACS_NAT", "?", "?",
     1828     .        iim,jj_nb,nhori, 1,1,1, -99, 32,
     1829     .        "ave(X)", zstophy,zout)
     1830#endif
     1831#ifndef INCA
    17411832         if (nqmax.GE.3) THEN
    17421833           DO iq=3,nqmax
     
    17471838             ENDDO
    17481839           ENDIF
    1749 
     1840#endif
    17501841      ENDIF !lev_histmth.GE.4
    17511842c
  • LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/physiq.F

    r845 r862  
    13051305c$OMP THREADPRIVATE(cg_ae)
    13061306
     1307#ifdef INCA_AER
     1308#ifdef CPP_COUPLE
     1309! Aerosol optical properties by INCA model
     1310      REAL, SAVE, ALLOCATABLE  ::    tau_inca(:,:,:,:)
     1311      REAL, SAVE, ALLOCATABLE  ::    piz_inca(:,:,:,:)
     1312      REAL, SAVE, ALLOCATABLE  ::    cg_inca(:,:,:,:)
     1313      REAL, SAVE, ALLOCATABLE  ::    ccm(:,:,:)
     1314      CHARACTER*4              ::    rfname(9)
     1315
     1316      REAL,SAVE,ALLOCATABLE :: topswad_inca(:), solswad_inca(:) ! Aerosol direct effect.
     1317      REAL,SAVE,ALLOCATABLE :: topswad0_inca(:), solswad0_inca(:) ! Aerosol direct effect.
     1318      REAL,SAVE,ALLOCATABLE :: topswai_inca(:), solswai_inca(:) ! Aerosol indirect effect.
     1319      REAL,SAVE,ALLOCATABLE :: topsw_inca(:,:), solsw_inca(:,:)
     1320      REAL,SAVE,ALLOCATABLE :: topsw0_inca(:,:), solsw0_inca(:,:)
     1321#endif
     1322#endif
    13071323      REAL,SAVE,ALLOCATABLE :: topswad(:), solswad(:) ! Aerosol direct effect.
    13081324c$OMP THREADPRIVATE(topswad,solswad)
     
    14411457      allocate( topswad(klon), solswad(klon))
    14421458      allocate( topswai(klon), solswai(klon) )
     1459#ifdef INCA_AER
     1460#ifdef CPP_COUPLE
     1461      allocate( topswad_inca(klon), solswad_inca(klon))
     1462      allocate( topswad0_inca(klon), solswad0_inca(klon))
     1463      allocate( topswai_inca(klon), solswai_inca(klon))
     1464      allocate( topsw_inca(klon,9), solsw_inca(klon,9))
     1465      allocate( topsw0_inca(klon,9), solsw0_inca(klon,9))
     1466      allocate( tau_inca(klon,klev,9,2))
     1467      allocate( piz_inca(klon,klev,9,2))
     1468      allocate( cg_inca(klon,klev,9,2))
     1469      allocate( ccm(klon,klev,2) )
     1470#endif
     1471#endif
    14431472      allocate( clwcon0(klon,klev),rnebcon0(klon,klev))
    14441473      allocate( tau_ae(klon,klev,2), piz_ae(klon,klev,2))
     
    15021531         solswai(:)=0.
    15031532         solswad(:)=0.
     1533#ifdef INCA_AER
     1534#ifdef CPP_COUPLE
     1535         tau_inca(:,:,:,:) = 0.
     1536         piz_inca(:,:,:,:) = 0.
     1537         cg_inca(:,:,:,:)  = 0.
     1538         ccm(:,:,:)        = 0.
     1539         topswai_inca(:)   = 0.
     1540         topswad_inca(:)   = 0.
     1541         topswad0_inca(:)  = 0.
     1542         topsw_inca(:,:)   = 0.
     1543         topsw0_inca(:,:)  = 0.
     1544         solswai_inca(:)   = 0.
     1545         solswad_inca(:)   = 0.
     1546         solswad0_inca(:)  = 0.
     1547         solsw_inca(:,:)   = 0.
     1548         solsw0_inca(:,:)  = 0.
     1549#endif
     1550#endif
    15041551!rv
    1505 ! anne
     1552!ACo
    15061553         d_u_con(:,:) = 0.0
    15071554         d_v_con(:,:) = 0.0
     
    15131560c        nhistoW(:,:,:,:) = 0.0
    15141561c        histoW(:,:,:,:) = 0.0
    1515 ! fin anne
    15161562
    15171563cIM     
     
    25172563cjq - Johannes Quaas, 27/11/2003 (quaas@lmd.jussieu.fr)
    25182564      IF (ok_ade.OR.ok_aie) THEN
     2565#if defined(CPP_COUPLE) && !defined(INCA_AER)
    25192566         ! Get sulfate aerosol distribution
    25202567         CALL readsulfate(rjourvrai, debut, sulfate)
     
    25242571         CALL aeropt(pplay, paprs, t_seri, sulfate, rhcl,
    25252572     .        tau_ae, piz_ae, cg_ae, aerindex)
     2573#endif
     2574#if !defined(CPP_COUPLE)
     2575         ! Get sulfate aerosol distribution
     2576         CALL readsulfate(rjourvrai, debut, sulfate)
     2577         CALL readsulfate_preind(rjourvrai, debut, sulfate_pi)
     2578
     2579         ! Calculate aerosol optical properties (Olivier Boucher)
     2580         CALL aeropt(pplay, paprs, t_seri, sulfate, rhcl,
     2581     .        tau_ae, piz_ae, cg_ae, aerindex)
     2582#endif
    25262583cym
    25272584      ELSE
     
    27002757     .            flwp, fiwp, flwc, fiwc,
    27012758     e            ok_aie,
     2759#if defined(CPP_COUPLE) && defined(INCA_AER) 
     2760     e            ccm(:,:,1), ccm(:,:,2),
     2761#else
    27022762     e            sulfate, sulfate_pi,
     2763#endif
    27032764     e            bl95_b0, bl95_b1,
    27042765     s            cldtaupi, re, fl)
     
    27362797      endif
    27372798     
     2799
     2800#if defined(CPP_COUPLE) && defined(INCA_AER)
     2801      CALL radlwsw_inca ! nouveau rayonnement (compatible Arpege-IFS)
     2802     e            (kdlon,kflev,dist, rmu0, fract,
     2803     e             paprs, pplay,zxtsol,albsol, albsollw, t_seri,q_seri,
     2804     e             wo,
     2805     e             cldfra, cldemi, cldtau,
     2806     s             heat,heat0,cool,cool0,radsol,albpla,
     2807     s             topsw,toplw,solsw,sollw,
     2808     s             sollwdown,
     2809     s             topsw0,toplw0,solsw0,sollw0,
     2810     s             lwdn0, lwdn, lwup0, lwup,
     2811     s             swdn0, swdn, swup0, swup,
     2812     e             ok_ade, ok_aie, ! new for aerosol radiative effects
     2813     e             tau_inca, piz_inca, cg_inca, ! ="=
     2814     s             topswad_inca, solswad_inca, ! ="=
     2815     s             topswad0_inca, solswad0_inca, ! ="=
     2816     s             topsw_inca, topsw0_inca,
     2817     s             solsw_inca, solsw0_inca,
     2818     e             cldtaupi, ! ="=
     2819     s             topswai_inca, solswai_inca) ! ="=
     2820#else
    27382821      CALL radlwsw ! nouveau rayonnement (compatible Arpege-IFS)
    27392822     e            (dist, rmu0, fract,
     
    27522835     e             cldtaupi, ! ="=
    27532836     s             topswai, solswai) ! ="=
     2837#endif
    27542838      itaprad = 0
    27552839      ENDIF
     
    29853069#ifdef INCA
    29863070     I                   flxmass_w,
     3071#if defined(INCA_AER) && defined(CPP_COUPLE)
     3072     I                   tau_inca,
     3073     I                   piz_inca,
     3074     I                   cg_inca,
     3075     I                   ccm,
     3076     I                   rfname,
     3077#endif
    29873078#endif
    29883079     O                   tr_seri)
  • LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/phytrac.F

    r793 r862  
    5959#ifdef INCA
    6060     I                    flxmass_w,
     61#if defined(INCA_AER) && defined(CPP_COUPLE)
     62     I                   tau_inca,
     63     I                   piz_inca,
     64     I                   cg_inca,
     65     I                   ccm,
     66     I                   rfname,
     67#endif
    6168#endif
    6269     O                    tr_seri)
     
    140147      REAL flxmass_w(klon,klev)
    141148      CHARACTER(len=8) :: solsym(nqmax)
     149#if defined(INCA_AER) && defined(CPP_COUPLE)
     150      integer la
     151      REAL              ::    tau_inca(klon,klev,9,2)
     152      REAL              ::    piz_inca(klon,klev,9,2)
     153      REAL              ::    cg_inca(klon,klev,9,2)
     154      character*4       ::    rfname(9)
     155      REAL              ::    ccm(klon,klev,2)
     156#endif
    142157#endif
    143158c      integer iflag_con
     
    348363      REAL              :: dummy(klon,klev)
    349364#endif
    350 #ifdef INCA_AER
    351       integer la
    352 #endif
    353365c
    354366c======================================================================
     
    509521
    510522#ifdef INCA_AER
    511 
    512 ! Changement Anne 01/04/2005
    513523        CALL aerosolmain (tr_seri,
    514524     $                 pdtphys,
     
    528538     $                 t_seri,       ! for chimiaq
    529539     $                 rh,
     540#ifdef CPP_COUPLE
     541     $                 tau_inca,
     542     $                 piz_inca,
     543     $                 cg_inca,
     544     $                 rfname,
     545     $                 ccm,
     546#endif
    530547     $                 lafin)
    531 ! fin changement anne
    532 
    533548#endif
    534549
  • LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/write_histmth.h

    r776 r862  
    819819      ENDIF
    820820C
     821
     822#if defined(INCA_AER) && defined(CPP_COUPLE)
     823      CALL histwrite_phy(nid_mth,"tau",itau_w,cldtau)
     824      CALL histwrite_phy(nid_mth,"CCM1",itau_w,ccm(:,:,1))
     825      CALL histwrite_phy(nid_mth,"CCM2",itau_w,ccm(:,:,2))
     826      CALL histwrite_phy(nid_mth,"taupi",itau_w,cldtaupi)
     827      CALL histwrite_phy(nid_mth,"cldemi",itau_w,cldemi)
     828      CALL histwrite_phy(nid_mth,"SWTOAAS_ZERO",itau_w,topsw_inca(:,1))
     829      CALL histwrite_phy(nid_mth,"SWTOAAS_AER",itau_w,topsw_inca(:,2))
     830      CALL histwrite_phy(nid_mth,"SWTOAAS_NAT",itau_w,topsw_inca(:,3))
     831      CALL histwrite_phy(nid_mth,"SWTOAAS_AD",itau_w,topswad_inca(:))
     832      CALL histwrite_phy(nid_mth,"SWTOAAS_AI",itau_w,topswai_inca(:))
     833      CALL histwrite_phy(nid_mth,"SWTOACS_ZERO",itau_w,topsw0_inca(:,1))
     834      CALL histwrite_phy(nid_mth,"SWTOACS_AER",itau_w,topsw0_inca(:,2))
     835      CALL histwrite_phy(nid_mth,"SWTOACS_AD",itau_w,topswad0_inca(:))
     836      CALL histwrite_phy(nid_mth,"SWTOACS_NAT",itau_w,topsw0_inca(:,3))
     837#endif
     838#ifndef INCA
    821839      IF (nqmax.GE.3) THEN
    822840      DO iq=3,nqmax
     
    825843      ENDDO
    826844      ENDIF
    827 c
     845#endif
    828846      ENDIF !lev_histmth.GE.4
    829847c
     
    17971815      ENDIF
    17981816C
     1817#if defined(INCA_AER) && defined(CPP_COUPLE)
     1818      CALL histwrite_phy(nid_mth,"tau",itau_w,cldtau)
     1819      CALL histwrite_phy(nid_mth,"CCM1",itau_w,ccm(:,:,1))
     1820      CALL histwrite_phy(nid_mth,"CCM2",itau_w,ccm(:,:,2))
     1821      CALL histwrite_phy(nid_mth,"taupi",itau_w,cldtaupi)
     1822      CALL histwrite_phy(nid_mth,"cldemi",itau_w,cldemi)
     1823      CALL histwrite_phy(nid_mth,"SWTOAAS_ZERO",itau_w,topsw_inca(:,1))
     1824      CALL histwrite_phy(nid_mth,"SWTOAAS_AER",itau_w,topsw_inca(:,2))
     1825      CALL histwrite_phy(nid_mth,"SWTOAAS_NAT",itau_w,topsw_inca(:,3))
     1826      CALL histwrite_phy(nid_mth,"SWTOAAS_AD",itau_w,topswad_inca(:))
     1827      CALL histwrite_phy(nid_mth,"SWTOAAS_AI",itau_w,topswai_inca(:))
     1828      CALL histwrite_phy(nid_mth,"SWTOACS_ZERO",itau_w,topsw0_inca(:,1))
     1829      CALL histwrite_phy(nid_mth,"SWTOACS_AER",itau_w,topsw0_inca(:,2))
     1830      CALL histwrite_phy(nid_mth,"SWTOACS_AD",itau_w,topswad0_inca(:))
     1831      CALL histwrite_phy(nid_mth,"SWTOACS_NAT",itau_w,topsw0_inca(:,3))
     1832#endif
     1833#ifndef INCA
    17991834      IF (nqmax.GE.3) THEN
    18001835      DO iq=3,nqmax
     
    18041839      ENDIF
    18051840c
     1841#endif
    18061842      ENDIF !lev_histmth.GE.4
    18071843c
Note: See TracChangeset for help on using the changeset viewer.