Ignore:
Timestamp:
Oct 22, 2024, 12:31:08 PM (16 months ago)
Author:
abarral
Message:

Wrap uses of cpp key INCA
Add INCA wrapper

Location:
LMDZ6/trunk/libf/phylmd
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/infotrac_phy.F90

    r5237 r5251  
    138138   USE CHEM_REP, ONLY: Init_chem_rep_trac
    139139#endif
     140   USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA
    140141   IMPLICIT NONE
    141142!==============================================================================================================================
     
    164165! Local variables
    165166   INTEGER, ALLOCATABLE :: hadv(:), vadv(:)                          !--- Horizontal/vertical transport scheme number
    166 #ifdef INCA
    167167   INTEGER, ALLOCATABLE :: had (:), hadv_inca(:), conv_flg_inca(:), &!--- Variables specific to INCA
    168168                           vad (:), vadv_inca(:),  pbl_flg_inca(:)
    169169   CHARACTER(LEN=8), ALLOCATABLE :: solsym_inca(:)                   !--- Tracers names for INCA
    170170   INTEGER :: nqINCA
    171 #endif
    172171#ifdef CPP_StratAer
    173172   CHARACTER(LEN=maxlen), ALLOCATABLE :: tnames(:)
     
    224223   SELECT CASE(type_trac)
    225224      CASE('inca', 'inco')
    226 #ifndef INCA
     225IF (.NOT. CPPKEY_INCA) THEN
    227226         CALL abort_physic(modname, 'You must add cpp key INCA and compile with INCA code', 1)
    228 #endif
     227END IF
    229228      CASE('repr')
    230229#ifndef REPROBUS
     
    267266   IF(fType == 1 .AND. ANY(['inca', 'inco'] == type_trac) .AND. lInit) THEN  !=== FOUND OLD STYLE INCA "traceur.def"
    268267   !---------------------------------------------------------------------------------------------------------------------------
    269 #ifdef INCA
     268IF (CPPKEY_INCA) THEN
    270269      nqo = SIZE(tracers) - nqCO2
    271270      CALL Init_chem_inca_trac(nqINCA)                               !--- Get nqINCA from INCA
     
    298297      IF(setGeneration(tracers)) CALL abort_physic(modname,'See below',1) !- SET FIELDS %iGeneration, %gen0Name
    299298      DEALLOCATE(had, hadv_inca, vad, vadv_inca, conv_flg_inca, pbl_flg_inca, solsym_inca)
    300 #endif
     299END IF
    301300   !---------------------------------------------------------------------------------------------------------------------------
    302301   ELSE                                                              !=== OTHER CASES (OLD OR NEW FORMAT, NO INCA MODULE)
     
    306305   nbtr = nqtrue-COUNT(tracers(:)%component == 'lmdz' .AND. delPhase(tracers(:)%gen0Name) == 'H2O')     !--- Passed to phytrac
    307306   nqCO2  =      COUNT( [type_trac == 'inco', type_trac == 'co2i'] )
    308 #ifdef INCA
     307IF (CPPKEY_INCA) THEN
    309308   nqINCA =      COUNT(tracers(:)%component == 'inca')
    310 #endif
     309END IF
    311310   IF(getKey('hadv', hadv, ky=tracers(:)%keys)) CALL abort_physic(modname, 'missing key "hadv"', 1)
    312311   IF(getKey('vadv', vadv, ky=tracers(:)%keys)) CALL abort_physic(modname, 'missing key "vadv"', 1)
     
    418417   CALL msg('niso   = '//TRIM(int2str(niso)),   modname)
    419418   CALL msg('ntiso  = '//TRIM(int2str(ntiso)),  modname)
    420 #ifdef INCA
     419IF (CPPKEY_INCA) THEN
    421420   CALL msg('nqCO2  = '//TRIM(int2str(nqCO2)),  modname)
    422421   CALL msg('nqINCA = '//TRIM(int2str(nqINCA)), modname)
    423 #endif
     422END IF
    424423   t => tracers
    425424   CALL msg('Information stored in '//TRIM(modname)//': ', modname)
  • LMDZ6/trunk/libf/phylmd/oasis.F90

    r4754 r5251  
    122122    USE mod_phys_lmdz_mpi_data, ONLY: klon_mpi_para_nb
    123123    use config_ocean_skin_m, only: activate_ocean_skin
     124    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA
    124125
    125126! Local variables
     
    356357
    357358
    358 #ifdef INCA
     359IF (CPPKEY_INCA) THEN
    359360    IF (dms_cycle_cpl .OR. n2o_cycle_cpl) THEN
    360361       CALL init_inca_oasis(inforecv(idr_ocedms:idr_ocen2o))
    361362    ENDIF
    362 #endif
     363END IF
    363364 
    364365!************************************************************************************
  • LMDZ6/trunk/libf/phylmd/physiq_mod.F90

    r5208 r5251  
    109109
    110110
    111 #ifdef INCA
    112111    USE geometry_mod,      ONLY: longitude, latitude, boundslon, boundslat, ind_cell_glo
    113112    USE time_phylmdz_mod,  ONLY: ndays
    114113    USE infotrac_phy,      ONLY: nqCO2
    115 #endif
    116114#ifdef REPROBUS
    117115    USE chem_rep, ONLY: Init_chem_rep_xjour, d_q_rep, d_ql_rep, d_qi_rep, &
     
    120118    USE strataer_emiss_mod, ONLY: strataer_emiss_init
    121119#endif
    122 #if defined INCA || defined REPROBUS
    123120    USE time_phylmdz_mod,    ONLY: annee_ref, day_ini, day_ref, start_time
    124121    USE vertical_layers_mod, ONLY: aps, bps, ap, bp
    125 #endif
    126 
     122    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA
    127123
    128124#ifdef CPP_RRTM
     
    12431239    REAL, dimension(klon, klev) :: cldfrarad   ! fraction nuageuse
    12441240
    1245 #ifdef INCA
    12461241    REAL :: calday, zxsnow_dummy(klon)
    12471242    ! set de variables utilisees pour l'initialisation des valeurs provenant de INCA
     
    12501245    REAL, DIMENSION(klon,klev,naero_grp,nbands) :: init_cginca
    12511246    REAL, DIMENSION(klon,klev,nbands) :: init_ccminca
    1252 #endif
    12531247    REAL, DIMENSION(klon,nbtr) :: init_source
    12541248
     
    21782172       !
    21792173       IF (ANY(type_trac == ['inca','inco'])) THEN ! ModThL
    2180 #ifdef INCA
     2174IF (CPPKEY_INCA) THEN
    21812175          CALL VTe(VTphysiq)
    21822176          CALL VTb(VTinca)
     
    21882182          config_inca)
    21892183
    2190           CALL init_inca_geometry( & 
     2184          CALL init_inca_geometry( &
    21912185               longitude, latitude, &
    21922186               boundslon, boundslat, &
    2193                cell_area, ind_cell_glo) 
    2194 
    2195           if (grid_type==unstructured) THEN 
     2187               cell_area, ind_cell_glo)
     2188
     2189          if (grid_type==unstructured) THEN
    21962190             CALL chemini(  pplay, &
    21972191                  nbp_lon, nbp_lat, &
     
    22512245          piz_aero(:,:,:,:) = init_pizinca
    22522246          cg_aero(:,:,:,:) = init_cginca
    2253 !         
     2247!
    22542248
    22552249
    22562250          CALL VTe(VTinca)
    22572251          CALL VTb(VTphysiq)
    2258 #endif
     2252END IF
    22592253       ENDIF
    22602254       !
     
    41814175
    41824176    IF (ANY(type_trac == ['inca','inco'])) THEN ! ModThL
    4183 #ifdef INCA
     4177IF (CPPKEY_INCA) THEN
    41844178       CALL VTe(VTphysiq)
    41854179       CALL VTb(VTinca)
     
    42344228       CALL VTe(VTinca)
    42354229       CALL VTb(VTphysiq)
    4236 #endif
     4230END IF
    42374231    ENDIF !type_trac = inca or inco
    42384232    IF (type_trac == 'repr') THEN
     
    45254519
    45264520       IF (aerosol_couple.AND.config_inca=='aero') THEN
    4527 #ifdef INCA
     4521IF (CPPKEY_INCA) THEN
    45284522          CALL radlwsw_inca  &
    45294523               (chemistry_couple, kdlon,kflev,dist, rmu0, fract, solaire, &
     
    45454539               cldtaupirad, &
    45464540               topswai_aero, solswai_aero)
    4547 #endif
     4541END IF
    45484542       ELSE
    45494543          !
     
    55305524    !
    55315525    IF (ANY(type_trac == ['inca','inco'])) THEN
    5532 #ifdef INCA
     5526IF (CPPKEY_INCA) THEN
    55335527       CALL VTe(VTphysiq)
    55345528       CALL VTb(VTinca)
     
    55505544       CALL VTe(VTinca)
    55515545       CALL VTb(VTphysiq)
    5552 #endif
     5546END IF
    55535547    ENDIF
    55545548
     
    58085802       IF (using_xios) THEN
    58095803
    5810 #ifdef INCA
    5811           IF (type_trac == 'inca') THEN 
    5812              IF (is_omp_master .AND. grid_type==unstructured) THEN 
     5804IF (CPPKEY_INCA) THEN
     5805          IF (type_trac == 'inca') THEN
     5806             IF (is_omp_master .AND. grid_type==unstructured) THEN
    58135807                CALL finalize_inca
    58145808             ENDIF
    58155809          ENDIF
    5816 #endif
     5810END IF
    58175811
    58185812! close xios physiq context (call LMDZ)
  • LMDZ6/trunk/libf/phylmd/tracinca_mod.F90

    r4500 r5251  
    6262    USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat
    6363    USE aero_mod, ONLY : naero_grp
     64    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA
    6465    IMPLICIT NONE
    6566   
     
    145146    END DO
    146147 
    147 #ifdef INCA
    148     IF (config_inca == 'aero' .OR. config_inca == 'chem') THEN 
    149        zpmfu(:,:)=pmfu(:,:)       
     148IF (CPPKEY_INCA) THEN
     149    IF (config_inca == 'aero' .OR. config_inca == 'chem') THEN
     150       zpmfu(:,:)=pmfu(:,:)
    150151    ELSE IF (config_inca == 'aeNP') THEN
    151152       zpmfu(:,:)=upwd(:,:)
     
    156157         pplay,pdel,prfl,pmflxr,psfl,    &
    157158         pmflxs,zpmfu,itop_con,ibas_con,  &
    158          pphi,cell_area,nstep,rneb,t_seri, &     
     159         pphi,cell_area,nstep,rneb,t_seri, &
    159160         rh,tau_aero,piz_aero,cg_aero,   &
    160161         rfname,ccm,lafin)
    161 #endif
    162 
    163 
    164 #ifdef INCA
     162END IF
     163
     164
     165IF (CPPKEY_INCA) THEN
    165166    CALL chemmain (tr_seri, &   !mmr
    166167         nstep,      & !nstep
     
    198199         nbp_lat,    & !ny
    199200         source )
    200 #endif
     201END IF
    201202   
    202203    CALL VTe(VTinca)
Note: See TracChangeset for help on using the changeset viewer.