Changeset 13016 for NEMO/branches/2020/dev_12905_xios_ancil/src/OCE/DOM
- Timestamp:
- 2020-06-03T12:48:36+02:00 (4 years ago)
- Location:
- NEMO/branches/2020/dev_12905_xios_ancil/src/OCE/DOM
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_12905_xios_ancil/src/OCE/DOM/closea.F90
r12377 r13016 20 20 !!---------------------------------------------------------------------- 21 21 USE in_out_manager ! I/O manager 22 USE iom_def 22 23 ! 23 24 USE diu_bulk , ONLY: ln_diurnal_only ! used for sanity check 24 USE iom , ONLY: iom_open, iom_get, iom_close, jpdom_data ! I/O routines25 USE iom , ONLY: iom_open, iom_get, iom_close, jpdom_data, iom_swap ! I/O routines 25 26 USE lib_fortran , ONLY: glob_sum ! fortran library 26 27 USE lib_mpp , ONLY: mpp_max, ctl_nam, ctl_stop ! MPP library … … 235 236 !!---------------------------------------------------------------------- 236 237 ! 238 IF(lcfg_xios) CALL iom_swap("dom_context") 239 237 240 CALL iom_open ( cd_file, ics ) 238 CALL iom_get ( ics, jpdom_data, TRIM(cd_var), zdta ) 241 CALL iom_get ( ics, jpdom_data, TRIM(cd_var), zdta, ldxios = lcfg_xios ) 242 239 243 CALL iom_close( ics ) 240 244 k_mskout(:,:) = NINT(zdta(:,:)) -
NEMO/branches/2020/dev_12905_xios_ancil/src/OCE/DOM/daymod.F90
r12489 r13016 323 323 324 324 IF( TRIM(cdrw) == 'READ' ) THEN 325 325 IF(lrxios) CALL iom_swap( TRIM(crxios_context) ) 326 326 IF( iom_varid( numror, 'kt', ldstop = .FALSE. ) > 0 ) THEN 327 327 ! Get Calendar informations … … 401 401 ENDIF 402 402 ! 403 IF(lrxios) CALL iom_swap( TRIM(cxios_context) ) 403 404 ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN 404 405 ! -
NEMO/branches/2020/dev_12905_xios_ancil/src/OCE/DOM/domain.F90
r12489 r13016 122 122 CALL dom_glo ! global domain versus local domain 123 123 CALL dom_nam ! read namelist ( namrun, namdom ) 124 125 lcfg_xios = ln_xios_cfg .AND. (.NOT. ln_use_jattr) 124 126 ! 125 127 IF( lwxios ) THEN … … 301 303 ENDIF 302 304 ! 303 !304 305 READ ( numnam_ref, namrun, IOSTAT = ios, ERR = 901) 305 306 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namrun in reference namelist' ) … … 340 341 WRITE(numout,*) ' READ restart for a single file using XIOS ln_xios_read =', ln_xios_read 341 342 WRITE(numout,*) ' Write restart using XIOS nn_wxios = ', nn_wxios 343 WRITE(numout,*) ' READ config using XIOS ln_xios_cfg = ', ln_xios_cfg 342 344 ELSE 343 345 WRITE(numout,*) " AGRIF: nn_wxios will be ingored. See setting for parent" -
NEMO/branches/2020/dev_12905_xios_ancil/src/OCE/DOM/domhgr.F90
r10068 r13016 189 189 CALL iom_open( cn_domcfg, inum ) 190 190 ! 191 CALL iom_get( inum, jpdom_data, 'glamt', plamt, lrowattr=ln_use_jattr ) 192 CALL iom_get( inum, jpdom_data, 'glamu', plamu, lrowattr=ln_use_jattr ) 193 CALL iom_get( inum, jpdom_data, 'glamv', plamv, lrowattr=ln_use_jattr ) 194 CALL iom_get( inum, jpdom_data, 'glamf', plamf, lrowattr=ln_use_jattr ) 195 ! 196 CALL iom_get( inum, jpdom_data, 'gphit', pphit, lrowattr=ln_use_jattr ) 197 CALL iom_get( inum, jpdom_data, 'gphiu', pphiu, lrowattr=ln_use_jattr ) 198 CALL iom_get( inum, jpdom_data, 'gphiv', pphiv, lrowattr=ln_use_jattr ) 199 CALL iom_get( inum, jpdom_data, 'gphif', pphif, lrowattr=ln_use_jattr ) 200 ! 201 CALL iom_get( inum, jpdom_data, 'e1t' , pe1t , lrowattr=ln_use_jattr ) 202 CALL iom_get( inum, jpdom_data, 'e1u' , pe1u , lrowattr=ln_use_jattr ) 203 CALL iom_get( inum, jpdom_data, 'e1v' , pe1v , lrowattr=ln_use_jattr ) 204 CALL iom_get( inum, jpdom_data, 'e1f' , pe1f , lrowattr=ln_use_jattr ) 205 ! 206 CALL iom_get( inum, jpdom_data, 'e2t' , pe2t , lrowattr=ln_use_jattr ) 207 CALL iom_get( inum, jpdom_data, 'e2u' , pe2u , lrowattr=ln_use_jattr ) 208 CALL iom_get( inum, jpdom_data, 'e2v' , pe2v , lrowattr=ln_use_jattr ) 209 CALL iom_get( inum, jpdom_data, 'e2f' , pe2f , lrowattr=ln_use_jattr ) 191 IF(lcfg_xios) THEN 192 CALL iom_dom_context(cn_domcfg, inum) 193 CALL iom_swap("dom_context") 194 ENDIF 195 CALL iom_get( inum, jpdom_data, 'glamt', plamt, lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 196 CALL iom_get( inum, jpdom_data, 'glamu', plamu, lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 197 CALL iom_get( inum, jpdom_data, 'glamv', plamv, lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 198 CALL iom_get( inum, jpdom_data, 'glamf', plamf, lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 199 ! 200 CALL iom_get( inum, jpdom_data, 'gphit', pphit, lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 201 CALL iom_get( inum, jpdom_data, 'gphiu', pphiu, lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 202 CALL iom_get( inum, jpdom_data, 'gphiv', pphiv, lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 203 CALL iom_get( inum, jpdom_data, 'gphif', pphif, lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 204 ! 205 CALL iom_get( inum, jpdom_data, 'e1t' , pe1t , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 206 CALL iom_get( inum, jpdom_data, 'e1u' , pe1u , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 207 CALL iom_get( inum, jpdom_data, 'e1v' , pe1v , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 208 CALL iom_get( inum, jpdom_data, 'e1f' , pe1f , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 209 ! 210 CALL iom_get( inum, jpdom_data, 'e2t' , pe2t , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 211 CALL iom_get( inum, jpdom_data, 'e2u' , pe2u , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 212 CALL iom_get( inum, jpdom_data, 'e2v' , pe2v , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 213 CALL iom_get( inum, jpdom_data, 'e2f' , pe2f , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 210 214 ! 211 215 IF( iom_varid( inum, 'ff_f', ldstop = .FALSE. ) > 0 .AND. & 212 216 & iom_varid( inum, 'ff_t', ldstop = .FALSE. ) > 0 ) THEN 213 217 IF(lwp) WRITE(numout,*) ' Coriolis factor at f- and t-points read in ', TRIM( cn_domcfg ), ' file' 214 CALL iom_get( inum, jpdom_data, 'ff_f' , pff_f , lrowattr=ln_use_jattr )215 CALL iom_get( inum, jpdom_data, 'ff_t' , pff_t , lrowattr=ln_use_jattr )218 CALL iom_get( inum, jpdom_data, 'ff_f' , pff_f , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 219 CALL iom_get( inum, jpdom_data, 'ff_t' , pff_t , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 216 220 kff = 1 217 221 ELSE … … 221 225 IF( iom_varid( inum, 'e1e2u', ldstop = .FALSE. ) > 0 ) THEN 222 226 IF(lwp) WRITE(numout,*) ' e1e2u & e1e2v read in ', TRIM( cn_domcfg ), ' file' 223 CALL iom_get( inum, jpdom_data, 'e1e2u' , pe1e2u , lrowattr=ln_use_jattr )224 CALL iom_get( inum, jpdom_data, 'e1e2v' , pe1e2v , lrowattr=ln_use_jattr )227 CALL iom_get( inum, jpdom_data, 'e1e2u' , pe1e2u , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 228 CALL iom_get( inum, jpdom_data, 'e1e2v' , pe1e2v , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 225 229 ke1e2u_v = 1 226 230 ELSE -
NEMO/branches/2020/dev_12905_xios_ancil/src/OCE/DOM/domvvl.F90
r12740 r13016 793 793 IF( ln_rstart ) THEN !* Read the restart file 794 794 CALL rst_read_open ! open the restart file if necessary 795 IF(lrxios) CALL iom_swap( TRIM(crxios_context) ) 795 796 CALL iom_get( numror, jpdom_autoglo, 'sshn' , ssh(:,:,Kmm), ldxios = lrxios ) 796 797 ! … … 870 871 ENDIF 871 872 ! 873 IF(lrxios) CALL iom_swap( TRIM(cxios_context) ) 872 874 ELSE !* Initialize at "rest" 873 875 ! -
NEMO/branches/2020/dev_12905_xios_ancil/src/OCE/DOM/domzgr.F90
r12377 r13016 219 219 ! 220 220 CALL iom_open( cn_domcfg, inum ) 221 222 IF(lcfg_xios) CALL iom_swap("dom_context") 221 223 ! 222 224 ! !* type of vertical coordinate … … 229 231 ! 230 232 ! !* ocean cavities under iceshelves 231 CALL iom_get( inum, 'ln_isfcav', z_cav )233 CALL iom_get( inum, 'ln_isfcav', z_cav, ldxios = lcfg_xios ) 232 234 IF( z_cav == 0._wp ) THEN ; ld_isfcav = .false. ; ELSE ; ld_isfcav = .true. ; ENDIF 233 235 ! 234 236 ! !* vertical scale factors 235 CALL iom_get( inum, jpdom_unknown, 'e3t_1d' , pe3t_1d ) ! 1D reference coordinate236 CALL iom_get( inum, jpdom_unknown, 'e3w_1d' , pe3w_1d )237 ! 238 CALL iom_get( inum, jpdom_data, 'e3t_0' , pe3t , lrowattr=ln_use_jattr ) ! 3D coordinate239 CALL iom_get( inum, jpdom_data, 'e3u_0' , pe3u , lrowattr=ln_use_jattr )240 CALL iom_get( inum, jpdom_data, 'e3v_0' , pe3v , lrowattr=ln_use_jattr )241 CALL iom_get( inum, jpdom_data, 'e3f_0' , pe3f , lrowattr=ln_use_jattr )242 CALL iom_get( inum, jpdom_data, 'e3w_0' , pe3w , lrowattr=ln_use_jattr )243 CALL iom_get( inum, jpdom_data, 'e3uw_0' , pe3uw , lrowattr=ln_use_jattr )244 CALL iom_get( inum, jpdom_data, 'e3vw_0' , pe3vw , lrowattr=ln_use_jattr )237 CALL iom_get( inum, jpdom_unknown, 'e3t_1d' , pe3t_1d, ldxios = lcfg_xios ) ! 1D reference coordinate 238 CALL iom_get( inum, jpdom_unknown, 'e3w_1d' , pe3w_1d, ldxios = lcfg_xios ) 239 ! 240 CALL iom_get( inum, jpdom_data, 'e3t_0' , pe3t , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) ! 3D coordinate 241 CALL iom_get( inum, jpdom_data, 'e3u_0' , pe3u , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 242 CALL iom_get( inum, jpdom_data, 'e3v_0' , pe3v , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 243 CALL iom_get( inum, jpdom_data, 'e3f_0' , pe3f , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 244 CALL iom_get( inum, jpdom_data, 'e3w_0' , pe3w , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 245 CALL iom_get( inum, jpdom_data, 'e3uw_0' , pe3uw , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 246 CALL iom_get( inum, jpdom_data, 'e3vw_0' , pe3vw , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 245 247 ! 246 248 ! !* depths … … 252 254 CALL ctl_warn( 'zgr_read : old definition of depths and scale factors used ', & 253 255 & ' depths at t- and w-points read in the domain configuration file') 254 CALL iom_get( inum, jpdom_unknown, 'gdept_1d', pdept_1d )255 CALL iom_get( inum, jpdom_unknown, 'gdepw_1d', pdepw_1d )256 CALL iom_get( inum, jpdom_data , 'gdept_0' , pdept , lrowattr=ln_use_jattr )257 CALL iom_get( inum, jpdom_data , 'gdepw_0' , pdepw , lrowattr=ln_use_jattr )256 CALL iom_get( inum, jpdom_unknown, 'gdept_1d', pdept_1d, ldxios = lcfg_xios ) 257 CALL iom_get( inum, jpdom_unknown, 'gdepw_1d', pdepw_1d, ldxios = lcfg_xios ) 258 CALL iom_get( inum, jpdom_data , 'gdept_0' , pdept , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 259 CALL iom_get( inum, jpdom_data , 'gdepw_0' , pdepw , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) 258 260 ! 259 261 ELSE !- depths computed from e3. scale factors … … 269 271 ! 270 272 ! !* ocean top and bottom level 271 CALL iom_get( inum, jpdom_data, 'top_level' , z2d , lrowattr=ln_use_jattr ) ! 1st wet T-points (ISF)273 CALL iom_get( inum, jpdom_data, 'top_level' , z2d , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) ! 1st wet T-points (ISF) 272 274 k_top(:,:) = NINT( z2d(:,:) ) 273 CALL iom_get( inum, jpdom_data, 'bottom_level' , z2d , lrowattr=ln_use_jattr ) ! last wet T-points275 CALL iom_get( inum, jpdom_data, 'bottom_level' , z2d , lrowattr=ln_use_jattr, ldxios = lcfg_xios ) ! last wet T-points 274 276 k_bot(:,:) = NINT( z2d(:,:) ) 275 277 ! 276 278 ! reference depth for negative bathy (wetting and drying only) 277 IF( ll_wd ) CALL iom_get( inum, 'rn_wd_ref_depth' , ssh_ref ) 278 ! 279 IF( ll_wd ) CALL iom_get( inum, 'rn_wd_ref_depth' , ssh_ref, ldxios = lcfg_xios ) 280 ! 281 IF(lcfg_xios) THEN 282 CALL iom_context_finalize( "dom_context") 283 ENDIF 279 284 CALL iom_close( inum ) 280 285 !
Note: See TracChangeset
for help on using the changeset viewer.