Changeset 14239 for NEMO/trunk/src/OCE/IOM/iom.F90
- Timestamp:
- 2020-12-23T09:57:16+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/OCE/IOM/iom.F90
r14072 r14239 36 36 USE phycst ! physical constants 37 37 USE dianam ! build name of file 38 #if defined key_ iomput38 #if defined key_xios 39 39 USE xios 40 40 # endif … … 52 52 PUBLIC ! must be public to be able to access iom_def through iom 53 53 54 #if defined key_ iomput54 #if defined key_xios 55 55 LOGICAL, PUBLIC, PARAMETER :: lk_iomput = .TRUE. !: iom_put flag 56 56 #else … … 69 69 PRIVATE iom_p1d_sp, iom_p2d_sp, iom_p3d_sp, iom_p4d_sp 70 70 PRIVATE iom_p1d_dp, iom_p2d_dp, iom_p3d_dp, iom_p4d_dp 71 #if defined key_ iomput71 #if defined key_xios 72 72 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 73 73 PRIVATE set_grid, set_grid_bounds, set_scalar, set_xmlatt, set_mooring, iom_sdate … … 115 115 INTEGER , OPTIONAL, INTENT(in) :: kdid 116 116 LOGICAL , OPTIONAL, INTENT(in) :: ld_closedef 117 #if defined key_ iomput117 #if defined key_xios 118 118 ! 119 119 TYPE(xios_duration) :: dtime = xios_duration(0, 0, 0, 0, 0, 0) … … 308 308 !!---------------------------------------------------------------------- 309 309 CHARACTER(len=*), OPTIONAL, INTENT(IN) :: cdname 310 #if defined key_ iomput310 #if defined key_xios 311 311 LOGICAL :: llrstw 312 312 … … 343 343 INTEGER, INTENT(IN) :: idnum 344 344 345 #if defined key_ iomput345 #if defined key_xios 346 346 INTEGER :: ndims, nvars, natts, unlimitedDimId, dimlen, xtype,mdims 347 347 TYPE(xios_field) :: field_hdl … … 449 449 !!--------------------------------------------------------------------- 450 450 CHARACTER(len=*) :: cdrst_file 451 #if defined key_ iomput451 #if defined key_xios 452 452 TYPE(xios_file) :: file_hdl 453 453 TYPE(xios_filegroup) :: filegroup_hdl … … 488 488 REAL(dp), OPTIONAL, INTENT(IN), DIMENSION(:, :, :) :: rd3 489 489 REAL(sp), OPTIONAL, INTENT(IN), DIMENSION(:, :, :) :: rs3 490 #if defined key_ iomput490 #if defined key_xios 491 491 TYPE(xios_field) :: field_hdl 492 492 TYPE(xios_file) :: file_hdl … … 593 593 LOGICAL, INTENT(IN) :: ld_rstr 594 594 INTEGER :: ji 595 #if defined key_ iomput595 #if defined key_xios 596 596 TYPE(xios_domaingroup) :: domaingroup_hdl 597 597 TYPE(xios_domain) :: domain_hdl … … 666 666 !!--------------------------------------------------------------------- 667 667 CHARACTER(len=*), INTENT(in) :: cdname 668 #if defined key_ iomput668 #if defined key_xios 669 669 TYPE(xios_context) :: nemo_hdl 670 670 IF( TRIM(Agrif_CFixed()) == '0' ) THEN … … 955 955 ENDIF 956 956 ELSE 957 #if defined key_ iomput957 #if defined key_xios 958 958 IF(lwp) WRITE(numout,*) 'XIOS RST READ (0D): ', trim(cdvar) 959 959 CALL iom_swap(context) … … 1003 1003 ENDIF 1004 1004 ELSE 1005 #if defined key_ iomput1005 #if defined key_xios 1006 1006 IF(lwp) WRITE(numout,*) 'XIOS RST READ (0D): ', trim(cdvar) 1007 1007 CALL iom_swap(context) … … 1367 1367 ! 1368 1368 ELSE ! read using XIOS. Only if KEY_IOMPUT is defined 1369 #if defined key_ iomput1369 #if defined key_xios 1370 1370 !would be good to be able to check which context is active and swap only if current is not restart 1371 1371 idvar = iom_varid( kiomid, cdvar ) … … 1422 1422 CHARACTER(LEN=*), INTENT(in ) :: cdname 1423 1423 REAL(wp), DIMENSION(jpi,jpj) :: z2d 1424 #if defined key_ iomput1424 #if defined key_xios 1425 1425 IF( xios_field_is_active( cdname, at_current_timestep_arg = .TRUE. ) ) THEN 1426 1426 z2d(:,:) = 0._wp … … 1605 1605 1606 1606 IF( llx ) THEN 1607 #ifdef key_ iomput1607 #ifdef key_xios 1608 1608 IF( kt == kwrite ) THEN 1609 1609 IF(lwp) write(numout,*) 'RESTART: write (XIOS 0D) ',trim(cdvar) … … 1645 1645 1646 1646 IF( llx ) THEN 1647 #ifdef key_ iomput1647 #ifdef key_xios 1648 1648 IF( kt == kwrite ) THEN 1649 1649 IF(lwp) write(numout,*) 'RESTART: write (XIOS 0D) ',trim(cdvar) … … 1686 1686 1687 1687 IF( llx ) THEN 1688 #ifdef key_ iomput1688 #ifdef key_xios 1689 1689 IF( kt == kwrite ) THEN 1690 1690 IF(lwp) write(numout,*) 'RESTART: write (XIOS 1D) ',trim(cdvar) … … 1726 1726 1727 1727 IF( llx ) THEN 1728 #ifdef key_ iomput1728 #ifdef key_xios 1729 1729 IF( kt == kwrite ) THEN 1730 1730 IF(lwp) write(numout,*) 'RESTART: write (XIOS 1D) ',trim(cdvar) … … 1767 1767 1768 1768 IF( llx ) THEN 1769 #ifdef key_ iomput1769 #ifdef key_xios 1770 1770 IF( kt == kwrite ) THEN 1771 1771 IF(lwp) write(numout,*) 'RESTART: write (XIOS 2D) ',trim(cdvar) … … 1807 1807 1808 1808 IF( llx ) THEN 1809 #ifdef key_ iomput1809 #ifdef key_xios 1810 1810 IF( kt == kwrite ) THEN 1811 1811 IF(lwp) write(numout,*) 'RESTART: write (XIOS 2D) ',trim(cdvar) … … 1848 1848 1849 1849 IF( llx ) THEN 1850 #ifdef key_ iomput1850 #ifdef key_xios 1851 1851 IF( kt == kwrite ) THEN 1852 1852 IF(lwp) write(numout,*) 'RESTART: write (XIOS 3D) ',trim(cdvar) … … 1888 1888 1889 1889 IF( llx ) THEN 1890 #ifdef key_ iomput1890 #ifdef key_xios 1891 1891 IF( kt == kwrite ) THEN 1892 1892 IF(lwp) write(numout,*) 'RESTART: write (XIOS 3D) ',trim(cdvar) … … 1966 1966 REAL(sp) , INTENT(in) :: pfield0d 1967 1967 !! REAL(wp) , DIMENSION(jpi,jpj) :: zz ! masson 1968 #if defined key_ iomput1968 #if defined key_xios 1969 1969 !!clem zz(:,:)=pfield0d 1970 1970 !!clem CALL xios_send_field(cdname, zz) … … 1979 1979 REAL(dp) , INTENT(in) :: pfield0d 1980 1980 !! REAL(wp) , DIMENSION(jpi,jpj) :: zz ! masson 1981 #if defined key_ iomput1981 #if defined key_xios 1982 1982 !!clem zz(:,:)=pfield0d 1983 1983 !!clem CALL xios_send_field(cdname, zz) … … 1992 1992 CHARACTER(LEN=*) , INTENT(in) :: cdname 1993 1993 REAL(sp), DIMENSION(:), INTENT(in) :: pfield1d 1994 #if defined key_ iomput1994 #if defined key_xios 1995 1995 CALL xios_send_field( cdname, RESHAPE( (/pfield1d/), (/1,1,SIZE(pfield1d)/) ) ) 1996 1996 #else … … 2002 2002 CHARACTER(LEN=*) , INTENT(in) :: cdname 2003 2003 REAL(dp), DIMENSION(:), INTENT(in) :: pfield1d 2004 #if defined key_ iomput2004 #if defined key_xios 2005 2005 CALL xios_send_field( cdname, RESHAPE( (/pfield1d/), (/1,1,SIZE(pfield1d)/) ) ) 2006 2006 #else … … 2013 2013 REAL(sp), DIMENSION(:,:), INTENT(in) :: pfield2d 2014 2014 IF( iom_use(cdname) ) THEN 2015 #if defined key_ iomput2015 #if defined key_xios 2016 2016 CALL xios_send_field( cdname, pfield2d ) 2017 2017 #else … … 2025 2025 REAL(dp), DIMENSION(:,:), INTENT(in) :: pfield2d 2026 2026 IF( iom_use(cdname) ) THEN 2027 #if defined key_ iomput2027 #if defined key_xios 2028 2028 CALL xios_send_field( cdname, pfield2d ) 2029 2029 #else … … 2037 2037 REAL(sp), DIMENSION(:,:,:), INTENT(in) :: pfield3d 2038 2038 IF( iom_use(cdname) ) THEN 2039 #if defined key_ iomput2039 #if defined key_xios 2040 2040 CALL xios_send_field( cdname, pfield3d ) 2041 2041 #else … … 2049 2049 REAL(dp), DIMENSION(:,:,:), INTENT(in) :: pfield3d 2050 2050 IF( iom_use(cdname) ) THEN 2051 #if defined key_ iomput2051 #if defined key_xios 2052 2052 CALL xios_send_field( cdname, pfield3d ) 2053 2053 #else … … 2061 2061 REAL(sp), DIMENSION(:,:,:,:), INTENT(in) :: pfield4d 2062 2062 IF( iom_use(cdname) ) THEN 2063 #if defined key_ iomput2063 #if defined key_xios 2064 2064 CALL xios_send_field (cdname, pfield4d ) 2065 2065 #else … … 2073 2073 REAL(dp), DIMENSION(:,:,:,:), INTENT(in) :: pfield4d 2074 2074 IF( iom_use(cdname) ) THEN 2075 #if defined key_ iomput2075 #if defined key_xios 2076 2076 CALL xios_send_field (cdname, pfield4d ) 2077 2077 #else … … 2081 2081 END SUBROUTINE iom_p4d_dp 2082 2082 2083 #if defined key_ iomput2083 #if defined key_xios 2084 2084 !!---------------------------------------------------------------------- 2085 !! 'key_ iomput' XIOS interface2085 !! 'key_xios' XIOS interface 2086 2086 !!---------------------------------------------------------------------- 2087 2087 … … 2713 2713 #else 2714 2714 !!---------------------------------------------------------------------- 2715 !! NOT 'key_ iomput' a few dummy routines2715 !! NOT 'key_xios' a few dummy routines 2716 2716 !!---------------------------------------------------------------------- 2717 2717 SUBROUTINE iom_setkt( kt, cdname ) … … 2735 2735 LOGICAL FUNCTION iom_use( cdname ) 2736 2736 CHARACTER(LEN=*), INTENT(in) :: cdname 2737 #if defined key_ iomput2737 #if defined key_xios 2738 2738 iom_use = xios_field_is_active( cdname ) 2739 2739 #else … … 2746 2746 REAL(wp) , INTENT(out) :: pmiss_val 2747 2747 REAL(dp) :: ztmp_pmiss_val 2748 #if defined key_ iomput2748 #if defined key_xios 2749 2749 ! get missing value 2750 2750 CALL xios_get_field_attr( cdname, default_value = ztmp_pmiss_val )
Note: See TracChangeset
for help on using the changeset viewer.