Ignore:
Timestamp:
Jul 10, 2023, 1:40:39 AM (3 years ago)
Author:
yann meurdesoif
Message:

Suppress usage of preprocessing key CPP_XIOS.
Wrapper file is used to suppress XIOS symbol when xios is not linked and not used (-io ioipsl)
The CPP_XIOS key is replaced in model by "using_xios" boolean variable to switch between IOIPSL or XIOS output.

YM

Location:
LMDZ6/trunk/libf/dyn3dmem
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/dyn3dmem/gcm.F90

    r4361 r4619  
    2828                       itau_dyn,itau_phy,day_ini,jD_ref,jH_ref,day_end, &
    2929                       dt,hour_ini,itaufin
    30 #ifdef CPP_XIOS
    3130  USE mod_xios_dyn3dmem, ONLY: xios_dyn3dmem_init
    32 #endif
    3331
    3432  IMPLICIT NONE
     
    457455
    458456! setting up DYN3D/XIOS inerface
    459 #ifdef CPP_XIOS
    460    if (ok_dyn_xios) then
    461      CALL xios_dyn3dmem_init(xios_cal_type, anref, moisref, jourref,heureref, an,   &
     457  if (ok_dyn_xios) then
     458      CALL xios_dyn3dmem_init(xios_cal_type, anref, moisref, jourref,heureref, an,   &
    462459          mois, jour, heure, zdtvr)
    463460  endif
    464 #endif
    465461
    466462  ! #endif of #ifdef CPP_IOIPSL
  • LMDZ6/trunk/libf/dyn3dmem/leapfrog_loc.F

    r4607 r4619  
    4242       USE temps_mod, ONLY: itaufin,jD_ref,jH_ref,day_ini,
    4343     &                        day_ref,start_time,dt
    44 #ifdef CPP_XIOS
    4544       USE mod_xios_dyn3dmem, ONLY : dyn3d_ctx_handle
    46        USE xios, ONLY: xios_update_calendar, xios_set_current_context
    47 #endif
     45       USE lmdz_xios, ONLY: xios_update_calendar,
     46     &                      xios_set_current_context,
     47     &                      using_xios
    4848       
    4949      IMPLICIT NONE
     
    15231523            CALL finalize_inca
    15241524!     switching back to LMDZDYN context
    1525 #ifdef CPP_XIOS
    15261525!$OMP MASTER
    15271526            IF (ok_dyn_xios) THEN
     
    15291528            ENDIF
    15301529!$OMP END MASTER
    1531 #endif
    15321530         ENDIF
    15331531#endif
     
    15821580                 CALL finalize_inca
    15831581!     switching back to LMDZDYN context
    1584 #ifdef CPP_XIOS
    15851582!$OMP MASTER
    15861583                 IF (ok_dyn_xios) THEN
     
    15881585                 ENDIF
    15891586!$OMP END MASTER
    1590 #endif
    15911587              ENDIF
    15921588#endif
     
    16611657#endif
    16621658             
    1663 #ifdef CPP_XIOS
    16641659              IF (ok_dyn_xios) THEN
    16651660c$OMP MASTER
     
    16701665     &                 ucov,teta,pk,phi,q,masse,ps,phis)
    16711666              ENDIF
    1672 #endif
    16731667             
    16741668          endif                 ! of if (leapf.or.(.not.leapf.and.(.not.forward)))
     
    17591753                    CALL finalize_inca
    17601754!     switching back to LMDZDYN context
    1761 #ifdef CPP_XIOS
    17621755!$OMP MASTER
    17631756                    IF (ok_dyn_xios) THEN
     
    17651758                    ENDIF
    17661759!$OMP END MASTER
    1767 #endif
    17681760                 ENDIF
    17691761
     
    18331825#endif
    18341826
    1835 #ifdef CPP_XIOS
    18361827              IF (ok_dyn_xios) THEN
    18371828c$OMP MASTER
     
    18421833     &                 ucov,teta,pk,phi,q,masse,ps,phis)
    18431834              ENDIF
    1844 #endif
    18451835             
    18461836           ENDIF                ! of IF(MOD(itau,iecri).EQ.0)
     
    18771867         CALL finalize_inca
    18781868!     switching back to LMDZDYN context
    1879 #ifdef CPP_XIOS
    18801869!$OMP MASTER
    18811870         IF (ok_dyn_xios) THEN
     
    18831872         ENDIF
    18841873!$OMP END MASTER
    1885 #endif
    18861874      ENDIF
    18871875
  • LMDZ6/trunk/libf/dyn3dmem/mod_const_mpi.F90

    r4604 r4619  
    2323    USE mod_prism
    2424#endif
    25 #ifdef CPP_XIOS
    2625    USE wxios, only: wxios_init
    27 #endif
    2826    IMPLICIT NONE
    2927
     
    4442#ifdef CPP_COUPLE
    4543!$OMP MASTER
    46 #ifdef CPP_XIOS
    47         CALL wxios_init("LMDZ", outcom=COMM_LMDZ, type_ocean=type_ocean)
    48 #else
    49         CALL prism_init_comp_proto (comp_id, 'LMDZ', ierr)
    50         CALL prism_get_localcomm_proto(COMM_LMDZ,ierr)
    51 #endif
     44        IF (using_xios) THEN
     45          CALL wxios_init("LMDZ", outcom=COMM_LMDZ, type_ocean=type_ocean)
     46        ELSE
     47          CALL prism_init_comp_proto (comp_id, 'LMDZ', ierr)
     48          CALL prism_get_localcomm_proto(COMM_LMDZ,ierr)
     49        ENDIF
    5250!$OMP END MASTER
    5351#endif
     
    6159  SUBROUTINE Init_mpi
    6260    USE lmdz_mpi
     61    USE wxios, only: wxios_init, using_xios
    6362
    64 #ifdef CPP_XIOS
    65     USE wxios, only: wxios_init
    66 #endif
    6763  IMPLICIT NONE
    6864    INTEGER             :: ierr
     
    8379! Initialisation de XIOS
    8480!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    85 #ifdef CPP_XIOS
    86       WRITE(*,*)'IN Init_mpi call wxios_init'
    87       CALL wxios_init("LMDZ", outcom=COMM_LMDZ)
    88 #endif
     81      IF (using_xios) THEN
     82        WRITE(*,*)'IN Init_mpi call wxios_init'
     83        CALL wxios_init("LMDZ", outcom=COMM_LMDZ)
     84      ENDIF
    8985!$OMP END MASTER
    9086
  • LMDZ6/trunk/libf/dyn3dmem/mod_xios_dyn3dmem.F90

    r4371 r4619  
    1212!
    1313!
    14 #ifdef CPP_XIOS
    1514
    1615MODULE mod_xios_dyn3dmem
    1716
    18      USE xios
     17     USE lmdz_xios
    1918     USE wxios, ONLY : g_comm
    2019     CHARACTER(len=100), SAVE :: dyn3d_ctx_name = "LMDZDYN"
     
    259258   
    260259END MODULE mod_xios_dyn3dmem
    261 #endif
    262 
     260
  • LMDZ6/trunk/libf/dyn3dmem/parallel_lmdz.F90

    r4600 r4619  
    384384    subroutine Finalize_parallel
    385385    USE lmdz_mpi
    386 #ifdef CPP_XIOS
    387386    ! ug Pour les sorties XIOS
    388         USE wxios
    389 #endif
     387        USE wxios
     388
    390389#ifdef CPP_COUPLE
    391390! Use of Oasis-MCT coupler
     
    416415
    417416      if (type_ocean == 'couple') then
    418 #ifdef CPP_XIOS
    419     !Fermeture propre de XIOS
    420       CALL wxios_close()
    421 #else
     417        IF (using_xios) THEN
     418          !Fermeture propre de XIOS
     419          CALL wxios_close()
     420        ELSE
    422421#ifdef CPP_COUPLE
    423          call prism_terminate_proto(ierr)
    424          IF (ierr .ne. PRISM_Ok) THEN
    425             call abort_gcm('Finalize_parallel',' Probleme dans prism_terminate_proto ',1)
    426          endif
     422           call prism_terminate_proto(ierr)
     423           IF (ierr .ne. PRISM_Ok) THEN
     424              call abort_gcm('Finalize_parallel',' Probleme dans prism_terminate_proto ',1)
     425           endif
    427426#endif
    428 #endif
     427        ENDIF
    429428      else
    430 #ifdef CPP_XIOS
    431     !Fermeture propre de XIOS
    432       CALL wxios_close()
    433 #endif
    434       IF (using_mpi) call MPI_FINALIZE(ierr)
     429        IF (using_xios) THEN
     430          !Fermeture propre de XIOS
     431          CALL wxios_close()
     432        ENDIF
     433        IF (using_mpi) call MPI_FINALIZE(ierr)
    435434      end if
    436435     
  • LMDZ6/trunk/libf/dyn3dmem/writedyn_xios.F90

    r4146 r4619  
    55     &                           masse,ps,phis)
    66
    7 #ifdef CPP_XIOS
    8       USE xios
     7      USE lmdz_xios
    98      USE parallel_lmdz
    109      USE misc_mod
     
    180179      CALL writefield_dyn_u('PS', ps(ijb:ije))
    181180
    182 #endif
    183 
    184181      END
Note: See TracChangeset for help on using the changeset viewer.