Ignore:
Timestamp:
Apr 30, 2008, 3:30:22 PM (16 years ago)
Author:
lsce
Message:

ACo+JG

Ajout du flag aerosol_couple :
false=lecture des sulfates dans un fichier(par defaut) - configuration existante
true=calcul des aerosol par INCA

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/trunk/libf/phylmd/physiq.F

    r953 r955  
    10741074
    10751075      ! Aerosol optical properties
    1076 #ifdef INCA_AER
    1077 #ifdef CPP_COUPLE
     1076#ifdef INCA
    10781077! Aerosol optical properties by INCA model
    10791078      CHARACTER*4              ::    rfname(9)
    1080 
    1081 #endif
    10821079#endif
    10831080      REAL aerindex(klon)       ! POLDER aerosol index
     
    10891086      SAVE ok_ade, ok_aie, bl95_b0, bl95_b1
    10901087c$OMP THREADPRIVATE(ok_ade, ok_aie, bl95_b0, bl95_b1)
     1088      LOGICAL, SAVE :: aerosol_couple ! true  : calcul des aerosols dans INCA
     1089                                      ! false : lecture des aerosol dans un fichier
     1090c$OMP THREADPRIVATE(aerosol_couple)   
    10911091
    10921092c
     
    12091209         solswai(:)=0.
    12101210         solswad(:)=0.
    1211 #ifdef INCA_AER
    1212 #ifdef CPP_COUPLE
     1211#ifdef INCA
    12131212         tau_inca(:,:,:,:) = 0.
    12141213         piz_inca(:,:,:,:) = 0.
     
    12261225         solsw0_inca(:,:)  = 0.
    12271226#endif
    1228 #endif
    12291227!rv
    12301228!ACo
     
    12451243     .                  fact_cldcon, facttemps,ok_newmicro,iflag_radia,
    12461244     .                  iflag_cldcon,iflag_ratqs,ratqsbas,ratqshaut,
    1247      .                  ok_ade, ok_aie,
     1245     .                  ok_ade, ok_aie, aerosol_couple,
    12481246     .                  bl95_b0, bl95_b1,
    12491247     .                  iflag_thermals,nsplit_thermals,
     
    25802578cjq - Johannes Quaas, 27/11/2003 (quaas@lmd.jussieu.fr)
    25812579      IF (ok_ade.OR.ok_aie) THEN
    2582 #if defined(CPP_COUPLE) && !defined(INCA_AER)
    2583          ! Get sulfate aerosol distribution
    2584          CALL readsulfate(rjourvrai, debut, sulfate)
    2585          CALL readsulfate_preind(rjourvrai, debut, sulfate_pi)
    2586 
    2587          ! Calculate aerosol optical properties (Olivier Boucher)
    2588          CALL aeropt(pplay, paprs, t_seri, sulfate, rhcl,
    2589      .        tau_ae, piz_ae, cg_ae, aerindex)
    2590 #endif
    2591 #if !defined(CPP_COUPLE)
    2592          ! Get sulfate aerosol distribution
    2593          CALL readsulfate(rjourvrai, debut, sulfate)
    2594          CALL readsulfate_preind(rjourvrai, debut, sulfate_pi)
    2595 
    2596          ! Calculate aerosol optical properties (Olivier Boucher)
    2597          CALL aeropt(pplay, paprs, t_seri, sulfate, rhcl,
    2598      .        tau_ae, piz_ae, cg_ae, aerindex)
    2599 #endif
    2600 cym
     2580         IF ( .NOT. aerosol_couple ) THEN
     2581            ! Get sulfate aerosol distribution
     2582            CALL readsulfate(rjourvrai, debut, sulfate)
     2583            CALL readsulfate_preind(rjourvrai, debut, sulfate_pi)
     2584
     2585            ! Calculate aerosol optical properties (Olivier Boucher)
     2586            CALL aeropt(pplay, paprs, t_seri, sulfate, rhcl,
     2587     .           tau_ae, piz_ae, cg_ae, aerindex)
     2588         ENDIF
    26012589      ELSE
    26022590        tau_ae(:,:,:)=0.0
    26032591        piz_ae(:,:,:)=0.0
    26042592        cg_ae(:,:,:)=0.0
    2605 cym     
    26062593      ENDIF
    26072594
     
    27682755c parametres pour diagnostiques:
    27692756c
     2757      IF (aerosol_couple ) THEN
     2758#ifdef INCA
     2759         sulfate(:,:) = ccm(:,:,1)
     2760         sulfate_pi(:,:) = ccm(:,:,2)
     2761#endif
     2762      ENDIF
     2763
    27702764      if (ok_newmicro) then
    27712765      CALL newmicro (paprs, pplay,ok_newmicro,
     
    27742768     .            flwp, fiwp, flwc, fiwc,
    27752769     e            ok_aie,
    2776 #if defined(CPP_COUPLE) && defined(INCA_AER) 
    2777      e            ccm(:,:,1), ccm(:,:,2),
    2778 #else
    27792770     e            sulfate, sulfate_pi,
    2780 #endif
    27812771     e            bl95_b0, bl95_b1,
    27822772     s            cldtaupi, re, fl)
     
    28142804      endif
    28152805     
    2816 
    2817 #if defined(CPP_COUPLE) && defined(INCA_AER)
    2818       CALL radlwsw_inca ! nouveau rayonnement (compatible Arpege-IFS)
    2819      e            (kdlon,kflev,dist, rmu0, fract,
     2806      IF (aerosol_couple) THEN
     2807#ifdef INCA_AER
     2808         CALL radlwsw_inca   
     2809     e            (kdlon,kflev,dist, rmu0, fract, solaire,
    28202810     e             paprs, pplay,zxtsol,albsol, albsollw, t_seri,q_seri,
    28212811     e             wo,
     
    28272817     s             lwdn0, lwdn, lwup0, lwup,
    28282818     s             swdn0, swdn, swup0, swup,
    2829      e             ok_ade, ok_aie, ! new for aerosol radiative effects
    2830      e             tau_inca, piz_inca, cg_inca, ! ="=
    2831      s             topswad_inca, solswad_inca, ! ="=
    2832      s             topswad0_inca, solswad0_inca, ! ="=
     2819     e             ok_ade, ok_aie,
     2820     e             tau_inca, piz_inca, cg_inca,
     2821     s             topswad_inca, solswad_inca,
     2822     s             topswad0_inca, solswad0_inca,
    28332823     s             topsw_inca, topsw0_inca,
    28342824     s             solsw_inca, solsw0_inca,
    2835      e             cldtaupi, ! ="=
    2836      s             topswai_inca, solswai_inca) ! ="=
    2837 #else
    2838       CALL radlwsw ! nouveau rayonnement (compatible Arpege-IFS)
     2825     e             cldtaupi,
     2826     s             topswai_inca, solswai_inca)
     2827#endif
     2828      ELSE
     2829         CALL radlwsw ! nouveau rayonnement (compatible Arpege-IFS)
    28392830     e            (dist, rmu0, fract,
    28402831     e             paprs, pplay,zxtsol,albsol1, albsol2, t_seri,q_seri,
     
    28522843     e             cldtaupi, ! ="=
    28532844     s             topswai, solswai) ! ="=
    2854 #endif
     2845      ENDIF
     2846
    28552847      itaprad = 0
    28562848      ENDIF
     
    30883080     I                   upwd,
    30893081     I                   dnwd,
     3082     I                   aerosol_couple,
    30903083#ifdef INCA
    30913084     I                   flxmass_w,
    3092 #if defined(INCA_AER) && defined(CPP_COUPLE)
    30933085     I                   tau_inca,
    30943086     I                   piz_inca,
     
    30963088     I                   ccm,
    30973089     I                   rfname,
    3098 #endif
    30993090#endif
    31003091     O                   tr_seri)
Note: See TracChangeset for help on using the changeset viewer.