New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 14239 for NEMO/trunk/src/OCE/IOM/iom.F90 – NEMO

Ignore:
Timestamp:
2020-12-23T09:57:16+01:00 (3 years ago)
Author:
smasson
Message:

trunk: replace key_iomput by key_xios

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/IOM/iom.F90

    r14072 r14239  
    3636   USE phycst          ! physical constants 
    3737   USE dianam          ! build name of file 
    38 #if defined key_iomput 
     38#if defined key_xios 
    3939   USE xios 
    4040# endif 
     
    5252   PUBLIC   !   must be public to be able to access iom_def through iom 
    5353 
    54 #if defined key_iomput 
     54#if defined key_xios 
    5555   LOGICAL, PUBLIC, PARAMETER ::   lk_iomput = .TRUE.        !: iom_put flag 
    5656#else 
     
    6969   PRIVATE iom_p1d_sp, iom_p2d_sp, iom_p3d_sp, iom_p4d_sp 
    7070   PRIVATE iom_p1d_dp, iom_p2d_dp, iom_p3d_dp, iom_p4d_dp 
    71 #if defined key_iomput 
     71#if defined key_xios 
    7272   PRIVATE iom_set_domain_attr, iom_set_axis_attr, iom_set_field_attr, iom_set_file_attr, iom_get_file_attr, iom_set_grid_attr 
    7373   PRIVATE set_grid, set_grid_bounds, set_scalar, set_xmlatt, set_mooring, iom_sdate 
     
    115115      INTEGER         , OPTIONAL, INTENT(in)  :: kdid 
    116116      LOGICAL         , OPTIONAL, INTENT(in)  :: ld_closedef 
    117 #if defined key_iomput 
     117#if defined key_xios 
    118118      ! 
    119119      TYPE(xios_duration) :: dtime    = xios_duration(0, 0, 0, 0, 0, 0) 
     
    308308      !!---------------------------------------------------------------------- 
    309309      CHARACTER(len=*), OPTIONAL, INTENT(IN) :: cdname 
    310 #if defined key_iomput 
     310#if defined key_xios 
    311311      LOGICAL :: llrstw 
    312312 
     
    343343      INTEGER, INTENT(IN) :: idnum 
    344344 
    345 #if defined key_iomput 
     345#if defined key_xios 
    346346      INTEGER                                    :: ndims, nvars, natts, unlimitedDimId, dimlen, xtype,mdims 
    347347      TYPE(xios_field)                           :: field_hdl 
     
    449449      !!--------------------------------------------------------------------- 
    450450      CHARACTER(len=*) :: cdrst_file 
    451 #if defined key_iomput 
     451#if defined key_xios 
    452452      TYPE(xios_file) :: file_hdl 
    453453      TYPE(xios_filegroup) :: filegroup_hdl 
     
    488488      REAL(dp), OPTIONAL, INTENT(IN), DIMENSION(:, :, :) :: rd3 
    489489      REAL(sp), OPTIONAL, INTENT(IN), DIMENSION(:, :, :) :: rs3 
    490 #if defined key_iomput 
     490#if defined key_xios 
    491491      TYPE(xios_field) :: field_hdl 
    492492      TYPE(xios_file) :: file_hdl 
     
    593593      LOGICAL, INTENT(IN)               :: ld_rstr 
    594594      INTEGER :: ji 
    595 #if defined key_iomput 
     595#if defined key_xios 
    596596      TYPE(xios_domaingroup)            :: domaingroup_hdl 
    597597      TYPE(xios_domain)                 :: domain_hdl 
     
    666666      !!--------------------------------------------------------------------- 
    667667      CHARACTER(len=*), INTENT(in) :: cdname 
    668 #if defined key_iomput 
     668#if defined key_xios 
    669669      TYPE(xios_context) :: nemo_hdl 
    670670      IF( TRIM(Agrif_CFixed()) == '0' ) THEN 
     
    955955         ENDIF 
    956956      ELSE 
    957 #if defined key_iomput 
     957#if defined key_xios 
    958958         IF(lwp) WRITE(numout,*) 'XIOS RST READ (0D): ', trim(cdvar) 
    959959         CALL iom_swap(context) 
     
    10031003         ENDIF 
    10041004      ELSE 
    1005 #if defined key_iomput 
     1005#if defined key_xios 
    10061006         IF(lwp) WRITE(numout,*) 'XIOS RST READ (0D): ', trim(cdvar) 
    10071007         CALL iom_swap(context) 
     
    13671367         ! 
    13681368      ELSE        ! read using XIOS. Only if KEY_IOMPUT is defined 
    1369 #if defined key_iomput 
     1369#if defined key_xios 
    13701370!would be good to be able to check which context is active and swap only if current is not restart 
    13711371         idvar = iom_varid( kiomid, cdvar ) 
     
    14221422      CHARACTER(LEN=*), INTENT(in ) ::   cdname 
    14231423      REAL(wp), DIMENSION(jpi,jpj) ::   z2d 
    1424 #if defined key_iomput 
     1424#if defined key_xios 
    14251425      IF( xios_field_is_active( cdname, at_current_timestep_arg = .TRUE. ) ) THEN 
    14261426         z2d(:,:) = 0._wp 
     
    16051605 
    16061606      IF( llx ) THEN 
    1607 #ifdef key_iomput 
     1607#ifdef key_xios 
    16081608         IF( kt == kwrite ) THEN 
    16091609            IF(lwp) write(numout,*) 'RESTART: write (XIOS 0D) ',trim(cdvar) 
     
    16451645 
    16461646      IF( llx ) THEN 
    1647 #ifdef key_iomput 
     1647#ifdef key_xios 
    16481648         IF( kt == kwrite ) THEN 
    16491649            IF(lwp) write(numout,*) 'RESTART: write (XIOS 0D) ',trim(cdvar) 
     
    16861686 
    16871687      IF( llx ) THEN 
    1688 #ifdef key_iomput 
     1688#ifdef key_xios 
    16891689         IF( kt == kwrite ) THEN 
    16901690            IF(lwp) write(numout,*) 'RESTART: write (XIOS 1D) ',trim(cdvar) 
     
    17261726 
    17271727      IF( llx ) THEN 
    1728 #ifdef key_iomput 
     1728#ifdef key_xios 
    17291729         IF( kt == kwrite ) THEN 
    17301730            IF(lwp) write(numout,*) 'RESTART: write (XIOS 1D) ',trim(cdvar) 
     
    17671767 
    17681768      IF( llx ) THEN 
    1769 #ifdef key_iomput 
     1769#ifdef key_xios 
    17701770         IF( kt == kwrite ) THEN 
    17711771            IF(lwp) write(numout,*) 'RESTART: write (XIOS 2D) ',trim(cdvar) 
     
    18071807 
    18081808      IF( llx ) THEN 
    1809 #ifdef key_iomput 
     1809#ifdef key_xios 
    18101810         IF( kt == kwrite ) THEN 
    18111811            IF(lwp) write(numout,*) 'RESTART: write (XIOS 2D) ',trim(cdvar) 
     
    18481848 
    18491849      IF( llx ) THEN 
    1850 #ifdef key_iomput 
     1850#ifdef key_xios 
    18511851         IF( kt == kwrite ) THEN 
    18521852            IF(lwp) write(numout,*) 'RESTART: write (XIOS 3D) ',trim(cdvar) 
     
    18881888 
    18891889      IF( llx ) THEN 
    1890 #ifdef key_iomput 
     1890#ifdef key_xios 
    18911891         IF( kt == kwrite ) THEN 
    18921892            IF(lwp) write(numout,*) 'RESTART: write (XIOS 3D) ',trim(cdvar) 
     
    19661966      REAL(sp)        , INTENT(in) ::   pfield0d 
    19671967      !!      REAL(wp)        , DIMENSION(jpi,jpj) ::   zz     ! masson 
    1968 #if defined key_iomput 
     1968#if defined key_xios 
    19691969!!clem      zz(:,:)=pfield0d 
    19701970!!clem      CALL xios_send_field(cdname, zz) 
     
    19791979      REAL(dp)        , INTENT(in) ::   pfield0d 
    19801980!!      REAL(wp)        , DIMENSION(jpi,jpj) ::   zz     ! masson 
    1981 #if defined key_iomput 
     1981#if defined key_xios 
    19821982!!clem      zz(:,:)=pfield0d 
    19831983!!clem      CALL xios_send_field(cdname, zz) 
     
    19921992      CHARACTER(LEN=*)          , INTENT(in) ::   cdname 
    19931993      REAL(sp),     DIMENSION(:), INTENT(in) ::   pfield1d 
    1994 #if defined key_iomput 
     1994#if defined key_xios 
    19951995      CALL xios_send_field( cdname, RESHAPE( (/pfield1d/), (/1,1,SIZE(pfield1d)/) ) ) 
    19961996#else 
     
    20022002      CHARACTER(LEN=*)          , INTENT(in) ::   cdname 
    20032003      REAL(dp),     DIMENSION(:), INTENT(in) ::   pfield1d 
    2004 #if defined key_iomput 
     2004#if defined key_xios 
    20052005      CALL xios_send_field( cdname, RESHAPE( (/pfield1d/), (/1,1,SIZE(pfield1d)/) ) ) 
    20062006#else 
     
    20132013      REAL(sp),     DIMENSION(:,:), INTENT(in) ::   pfield2d 
    20142014      IF( iom_use(cdname) ) THEN 
    2015 #if defined key_iomput 
     2015#if defined key_xios 
    20162016         CALL xios_send_field( cdname, pfield2d ) 
    20172017#else 
     
    20252025      REAL(dp),     DIMENSION(:,:), INTENT(in) ::   pfield2d 
    20262026      IF( iom_use(cdname) ) THEN 
    2027 #if defined key_iomput 
     2027#if defined key_xios 
    20282028         CALL xios_send_field( cdname, pfield2d ) 
    20292029#else 
     
    20372037      REAL(sp),       DIMENSION(:,:,:), INTENT(in) ::   pfield3d 
    20382038      IF( iom_use(cdname) ) THEN 
    2039 #if defined key_iomput 
     2039#if defined key_xios 
    20402040         CALL xios_send_field( cdname, pfield3d ) 
    20412041#else 
     
    20492049      REAL(dp),       DIMENSION(:,:,:), INTENT(in) ::   pfield3d 
    20502050      IF( iom_use(cdname) ) THEN 
    2051 #if defined key_iomput 
     2051#if defined key_xios 
    20522052         CALL xios_send_field( cdname, pfield3d ) 
    20532053#else 
     
    20612061      REAL(sp),       DIMENSION(:,:,:,:), INTENT(in) ::   pfield4d 
    20622062      IF( iom_use(cdname) ) THEN 
    2063 #if defined key_iomput 
     2063#if defined key_xios 
    20642064         CALL xios_send_field (cdname, pfield4d ) 
    20652065#else 
     
    20732073      REAL(dp),       DIMENSION(:,:,:,:), INTENT(in) ::   pfield4d 
    20742074      IF( iom_use(cdname) ) THEN 
    2075 #if defined key_iomput 
     2075#if defined key_xios 
    20762076         CALL xios_send_field (cdname, pfield4d ) 
    20772077#else 
     
    20812081   END SUBROUTINE iom_p4d_dp 
    20822082 
    2083 #if defined key_iomput 
     2083#if defined key_xios 
    20842084   !!---------------------------------------------------------------------- 
    2085    !!   'key_iomput'                                         XIOS interface 
     2085   !!   'key_xios'                                         XIOS interface 
    20862086   !!---------------------------------------------------------------------- 
    20872087 
     
    27132713#else 
    27142714   !!---------------------------------------------------------------------- 
    2715    !!   NOT 'key_iomput'                               a few dummy routines 
     2715   !!   NOT 'key_xios'                               a few dummy routines 
    27162716   !!---------------------------------------------------------------------- 
    27172717   SUBROUTINE iom_setkt( kt, cdname ) 
     
    27352735   LOGICAL FUNCTION iom_use( cdname ) 
    27362736      CHARACTER(LEN=*), INTENT(in) ::   cdname 
    2737 #if defined key_iomput 
     2737#if defined key_xios 
    27382738      iom_use = xios_field_is_active( cdname ) 
    27392739#else 
     
    27462746      REAL(wp)        , INTENT(out) ::   pmiss_val 
    27472747      REAL(dp)                      ::   ztmp_pmiss_val 
    2748 #if defined key_iomput 
     2748#if defined key_xios 
    27492749      ! get missing value 
    27502750      CALL xios_get_field_attr( cdname, default_value = ztmp_pmiss_val ) 
Note: See TracChangeset for help on using the changeset viewer.