Ignore:
Timestamp:
May 27, 2008, 6:42:49 PM (16 years ago)
Author:
lsce
Message:
  • Ajoute du parametre config_inca dans conf_gcm.F config_inca='none'(sans INCA, par defaut) config_inca='chem'(avec INCA config chemie) config_inca='aero'(avec INCA config aerosol)
  • Menage parmis les cles CPP INCA
  • Enleve le calcul d'omega dans calfis.F et active le calcul correspondant dans advtrac.F(avant uniquement pour INCA).
File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/trunk/libf/phylmd/phys_state_var_mod.F90

    r955 r959  
    170170!topswai, solswai : Aerosol indirect effect
    171171      REAL,SAVE,ALLOCATABLE :: topswai(:), solswai(:)
    172 #ifdef INCA
     172      REAL,SAVE,ALLOCATABLE :: tau_ae(:,:,:), piz_ae(:,:,:)
     173      REAL,SAVE,ALLOCATABLE :: cg_ae(:,:,:)
     174
     175! Les variables suivants uniquement pour un configuration avec INCA
    173176! topswad_inca, solswad_inca : Aerosol direct effect
    174177      REAL,SAVE,ALLOCATABLE :: topswad_inca(:), solswad_inca(:)
    175178! topswad0_inca, solswad0_inca : Aerosol direct effect
    176179      REAL,SAVE,ALLOCATABLE :: topswad0_inca(:), solswad0_inca(:)
    177 !topswai_inca, solswai_inca : Aerosol indirect effect
     180! topswai_inca, solswai_inca : Aerosol indirect effect
    178181      REAL,SAVE,ALLOCATABLE :: topswai_inca(:), solswai_inca(:)
    179182      REAL,SAVE,ALLOCATABLE :: topsw_inca(:,:), solsw_inca(:,:)
     
    183186      REAL,SAVE,ALLOCATABLE :: cg_inca(:,:,:,:)
    184187      REAL,SAVE,ALLOCATABLE :: ccm(:,:,:)
    185 #endif
    186       REAL,SAVE,ALLOCATABLE :: tau_ae(:,:,:), piz_ae(:,:,:)
    187       REAL,SAVE,ALLOCATABLE :: cg_ae(:,:,:)
    188188
    189189CONTAINS
     
    194194IMPLICIT NONE
    195195#include "indicesol.h"
    196 
     196#include "control.h"
    197197      ALLOCATE(rlat(klon), rlon(klon))
    198198      ALLOCATE(pctsrf(klon,nbsrf))
     
    290290      ALLOCATE(topswad(klon), solswad(klon))
    291291      ALLOCATE(topswai(klon), solswai(klon))
    292 #ifdef INCA
    293       ALLOCATE(topswad_inca(klon), solswad_inca(klon))
    294       ALLOCATE(topswad0_inca(klon), solswad0_inca(klon))
    295       ALLOCATE(topswai_inca(klon), solswai_inca(klon))
    296       ALLOCATE(topsw_inca(klon,9), solsw_inca(klon,9))
    297       ALLOCATE(topsw0_inca(klon,9), solsw0_inca(klon,9))
     292      ALLOCATE(tau_ae(klon,klev,2), piz_ae(klon,klev,2))
     293      ALLOCATE(cg_ae(klon,klev,2))
     294
     295      IF (config_inca /= 'none') THEN
     296         ALLOCATE(topswad_inca(klon), solswad_inca(klon))
     297         ALLOCATE(topswad0_inca(klon), solswad0_inca(klon))
     298         ALLOCATE(topswai_inca(klon), solswai_inca(klon))
     299         ALLOCATE(topsw_inca(klon,9), solsw_inca(klon,9))
     300         ALLOCATE(topsw0_inca(klon,9), solsw0_inca(klon,9))
     301      END IF
     302      ! Following 4 variables are needed only by INCA but must be
     303      ! allocated as they exist in the phytrac argument list
    298304      ALLOCATE(tau_inca(klon,klev,9,2))
    299305      ALLOCATE(piz_inca(klon,klev,9,2))
    300306      ALLOCATE(cg_inca(klon,klev,9,2))
    301307      ALLOCATE(ccm(klon,klev,2))
    302 #endif
    303       ALLOCATE(tau_ae(klon,klev,2), piz_ae(klon,klev,2))
    304       ALLOCATE(cg_ae(klon,klev,2))
    305308
    306309END SUBROUTINE phys_state_var_init
     
    311314IMPLICIT NONE
    312315#include "indicesol.h"
     316#include "control.h"
    313317
    314318      deallocate(rlat, rlon, pctsrf, ftsol, falb1, falb2)
     
    387391      deallocate(topswad, solswad)
    388392      deallocate(topswai, solswai)
    389 #ifdef INCA
    390       deallocate(topswad_inca, solswad_inca)
    391       deallocate(topswad0_inca, solswad0_inca)
    392       deallocate(topswai_inca, solswai_inca)
    393       deallocate(topsw_inca, solsw_inca)
    394       deallocate(topsw0_inca, solsw0_inca)
     393
     394      deallocate(tau_ae, piz_ae)
     395      deallocate(cg_ae)
     396
     397      IF (config_inca /= 'none') THEN
     398         deallocate(topswad_inca, solswad_inca)
     399         deallocate(topswad0_inca, solswad0_inca)
     400         deallocate(topswai_inca, solswai_inca)
     401         deallocate(topsw_inca, solsw_inca)
     402         deallocate(topsw0_inca, solsw0_inca)
     403      END IF
    395404      deallocate(tau_inca)
    396405      deallocate(piz_inca)
    397406      deallocate(cg_inca)
    398407      deallocate(ccm)
    399 #endif
    400       deallocate(tau_ae, piz_ae)
    401       deallocate(cg_ae)
    402  
     408       
    403409END SUBROUTINE phys_state_var_end
    404410
Note: See TracChangeset for help on using the changeset viewer.