Changeset 9903 for NEMO/trunk
- Timestamp:
- 2018-07-09T15:04:55+02:00 (6 years ago)
- Location:
- NEMO/trunk/src/OCE/IOM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/OCE/IOM/iom.F90
r9802 r9903 83 83 MODULE PROCEDURE iom_p0d, iom_p1d, iom_p2d, iom_p3d 84 84 END INTERFACE iom_put 85 86 LOGICAL, PARAMETER :: ltmppatch = .TRUE. !: seb: patch before we remove periodicity87 INTEGER :: nldi_save, nlei_save !: and close boundaries in output files88 INTEGER :: nldj_save, nlej_save !:89 85 90 86 !!---------------------------------------------------------------------- … … 95 91 CONTAINS 96 92 97 SUBROUTINE iom_init( cdname, fname )93 SUBROUTINE iom_init( cdname, fname, ld_tmppatch ) 98 94 !!---------------------------------------------------------------------- 99 95 !! *** ROUTINE *** … … 102 98 !! 103 99 !!---------------------------------------------------------------------- 104 CHARACTER(len=*), INTENT(in) :: cdname100 CHARACTER(len=*), INTENT(in) :: cdname 105 101 CHARACTER(len=*), OPTIONAL, INTENT(in) :: fname 102 LOGICAL , OPTIONAL, INTENT(in) :: ld_tmppatch 106 103 #if defined key_iomput 107 104 ! … … 113 110 ! 114 111 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zt_bnds, zw_bnds 112 LOGICAL :: ll_tmppatch = .TRUE. !: seb: patch before we remove periodicity 113 INTEGER :: nldi_save, nlei_save !: and close boundaries in output files 114 INTEGER :: nldj_save, nlej_save !: 115 115 !!---------------------------------------------------------------------- 116 116 ! 117 117 ! seb: patch before we remove periodicity and close boundaries in output files 118 IF ( ltmppatch ) THEN 118 IF( PRESENT(ld_tmppatch) ) THEN ; ll_tmppatch = ld_tmppatch 119 ELSE ; ll_tmppatch = .TRUE. 120 ENDIF 121 IF ( ll_tmppatch ) THEN 119 122 nldi_save = nldi ; nlei_save = nlei 120 123 nldj_save = nldj ; nlej_save = nlej … … 246 249 DEALLOCATE( zt_bnds, zw_bnds ) 247 250 ! 248 IF ( l tmppatch ) THEN251 IF ( ll_tmppatch ) THEN 249 252 nldi = nldi_save ; nlei = nlei_save 250 253 nldj = nldj_save ; nlej = nlej_save … … 1924 1927 !!---------------------------------------------------------------------- 1925 1928 ! 1926 ! seb: patch before we remove periodicity and close boundaries in output files1927 IF ( ltmppatch ) THEN1928 nldi_save = nldi ; nlei_save = nlei1929 nldj_save = nldj ; nlej_save = nlej1930 IF( nimpp == 1 ) nldi = 11931 IF( nimpp + jpi - 1 == jpiglo ) nlei = jpi1932 IF( njmpp == 1 ) nldj = 11933 IF( njmpp + jpj - 1 == jpjglo ) nlej = jpj1934 ENDIF1935 !1936 1929 ni = nlei-nldi+1 1937 1930 nj = nlej-nldj+1 … … 1955 1948 ENDIF 1956 1949 ! 1957 IF ( ltmppatch ) THEN1958 nldi = nldi_save ; nlei = nlei_save1959 nldj = nldj_save ; nlej = nlej_save1960 ENDIF1961 !1962 1950 END SUBROUTINE set_grid 1963 1951 … … 1981 1969 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: z_rot ! Lat/lon working array for rotation of cells 1982 1970 !!---------------------------------------------------------------------- 1983 !1984 ! seb: patch before we remove periodicity and close boundaries in output files1985 IF ( ltmppatch ) THEN1986 nldi_save = nldi ; nlei_save = nlei1987 nldj_save = nldj ; nlej_save = nlej1988 IF( nimpp == 1 ) nldi = 11989 IF( nimpp + jpi - 1 == jpiglo ) nlei = jpi1990 IF( njmpp == 1 ) nldj = 11991 IF( njmpp + jpj - 1 == jpjglo ) nlej = jpj1992 ENDIF1993 1971 ! 1994 1972 ALLOCATE( z_bnds(4,jpi,jpj,2), z_fld(jpi,jpj), z_rot(4,2) ) … … 2075 2053 DEALLOCATE( z_bnds, z_fld, z_rot ) 2076 2054 ! 2077 IF ( ltmppatch ) THEN2078 nldi = nldi_save ; nlei = nlei_save2079 nldj = nldj_save ; nlej = nlej_save2080 ENDIF2081 !2082 2055 END SUBROUTINE set_grid_bounds 2083 2056 … … 2095 2068 REAL(wp), DIMENSION(:), ALLOCATABLE :: zlon 2096 2069 !!---------------------------------------------------------------------- 2097 !2098 ! seb: patch before we remove periodicity and close boundaries in output files2099 IF ( ltmppatch ) THEN2100 nldi_save = nldi ; nlei_save = nlei2101 nldj_save = nldj ; nlej_save = nlej2102 IF( nimpp == 1 ) nldi = 12103 IF( nimpp + jpi - 1 == jpiglo ) nlei = jpi2104 IF( njmpp == 1 ) nldj = 12105 IF( njmpp + jpj - 1 == jpjglo ) nlej = jpj2106 ENDIF2107 2070 ! 2108 2071 ni=nlei-nldi+1 ! define zonal mean domain (jpj*jpk) … … 2119 2082 ! 2120 2083 CALL iom_update_file_name('ptr') 2121 !2122 IF ( ltmppatch ) THEN2123 nldi = nldi_save ; nlei = nlei_save2124 nldj = nldj_save ; nlej = nlej_save2125 ENDIF2126 2084 ! 2127 2085 END SUBROUTINE set_grid_znl -
NEMO/trunk/src/OCE/IOM/restart.F90
r9654 r9903 118 118 clpname = TRIM(Agrif_CFixed())//"_"//clname 119 119 ENDIF 120 CALL iom_init( cwxios_context, TRIM(clpath)//TRIM(clpname) )120 CALL iom_init( cwxios_context, TRIM(clpath)//TRIM(clpname), .false. ) 121 121 CALL xios_update_calendar(nitrst) 122 122 CALL iom_swap( cxios_context ) … … 228 228 IF( .NOT.lxios_set ) THEN 229 229 IF(lwp) WRITE(numout,*) 'Enable restart reading by XIOS' 230 CALL iom_init( crxios_context )230 CALL iom_init( crxios_context, ld_tmppatch = .false. ) 231 231 lxios_set = .TRUE. 232 232 ENDIF 233 233 ENDIF 234 234 IF( TRIM(Agrif_CFixed()) /= '0' .AND. lrxios) THEN 235 CALL iom_init( crxios_context )235 CALL iom_init( crxios_context, ld_tmppatch = .false. ) 236 236 IF(lwp) WRITE(numout,*) 'Enable restart reading by XIOS for AGRIF' 237 237 lxios_set = .TRUE.
Note: See TracChangeset
for help on using the changeset viewer.