Changeset 12969 for NEMO/branches/2020/dev_12905_xios_restart/src/OCE/IOM
- Timestamp:
- 2020-05-26T12:05:09+02:00 (4 years ago)
- Location:
- NEMO/branches/2020/dev_12905_xios_restart/src/OCE/IOM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_12905_xios_restart/src/OCE/IOM/iom_def.F90
r12961 r12969 43 43 INTEGER, PUBLIC :: nxioso !: type of restart file when writing using XIOS 1 - single, 2 - multiple 44 44 !XIOS read restart 45 LOGICAL, PUBLIC :: lrxios !: read single file restart using XIOS 45 LOGICAL, PUBLIC :: lrxios !: read single file restart using XIOS main switch 46 LOGICAL, PUBLIC :: lroxios !: read single file restart using XIOS for oce 46 47 LOGICAL, PUBLIC :: lxios_sini = .FALSE. ! is restart in a single file 47 48 -
NEMO/branches/2020/dev_12905_xios_restart/src/OCE/IOM/restart.F90
r12961 r12969 210 210 ! can handle checking if variable is in the restart file (there will be no need to open 211 211 ! restart) 212 lr xios = lrxios.AND.lxios_sini213 214 IF( lr xios) THEN212 lroxios = lrxios.AND.lxios_sini 213 214 IF( lroxios) THEN 215 215 crxios_context = 'oce_rst' 216 216 IF(lwp) WRITE(numout,*) 'Enable restart reading by XIOS' … … 246 246 247 247 ! Check dynamics and tracer time-step consistency and force Euler restart if changed 248 IF( lr xios ) CALL iom_swap( TRIM(crxios_context) )248 IF( lroxios ) CALL iom_swap( TRIM(crxios_context) ) 249 249 IF( iom_varid( numror, 'rdt', ldstop = .FALSE. ) > 0 ) THEN 250 CALL iom_get( numror, 'rdt', zrdt, ldxios = lr xios )250 CALL iom_get( numror, 'rdt', zrdt, ldxios = lroxios ) 251 251 IF( zrdt /= rn_Dt ) THEN 252 252 IF(lwp) WRITE( numout,*) … … 261 261 262 262 ! Diurnal DSST 263 IF( ln_diurnal ) CALL iom_get( numror, jpdom_autoglo, 'Dsst' , x_dsst, ldxios = lr xios )263 IF( ln_diurnal ) CALL iom_get( numror, jpdom_autoglo, 'Dsst' , x_dsst, ldxios = lroxios ) 264 264 IF ( ln_diurnal_only ) THEN 265 265 IF(lwp) WRITE( numout, * ) & 266 266 & "rst_read:- ln_diurnal_only set, setting rhop=rho0" 267 267 rhop = rho0 268 CALL iom_get( numror, jpdom_autoglo, 'tn' , w3d, ldxios = lr xios )268 CALL iom_get( numror, jpdom_autoglo, 'tn' , w3d, ldxios = lroxios ) 269 269 ts(:,:,1,jp_tem,Kmm) = w3d(:,:,1) 270 270 RETURN … … 272 272 273 273 IF( iom_varid( numror, 'ub', ldstop = .FALSE. ) > 0 ) THEN 274 CALL iom_get( numror, jpdom_autoglo, 'ub' , uu(:,:,: ,Kbb), ldxios = lr xios ) ! before fields275 CALL iom_get( numror, jpdom_autoglo, 'vb' , vv(:,:,: ,Kbb), ldxios = lr xios )276 CALL iom_get( numror, jpdom_autoglo, 'tb' , ts(:,:,:,jp_tem,Kbb), ldxios = lr xios )277 CALL iom_get( numror, jpdom_autoglo, 'sb' , ts(:,:,:,jp_sal,Kbb), ldxios = lr xios )278 CALL iom_get( numror, jpdom_autoglo, 'sshb' ,ssh(:,: ,Kbb), ldxios = lr xios )274 CALL iom_get( numror, jpdom_autoglo, 'ub' , uu(:,:,: ,Kbb), ldxios = lroxios ) ! before fields 275 CALL iom_get( numror, jpdom_autoglo, 'vb' , vv(:,:,: ,Kbb), ldxios = lroxios ) 276 CALL iom_get( numror, jpdom_autoglo, 'tb' , ts(:,:,:,jp_tem,Kbb), ldxios = lroxios ) 277 CALL iom_get( numror, jpdom_autoglo, 'sb' , ts(:,:,:,jp_sal,Kbb), ldxios = lroxios ) 278 CALL iom_get( numror, jpdom_autoglo, 'sshb' ,ssh(:,: ,Kbb), ldxios = lroxios ) 279 279 ELSE 280 280 l_1st_euler = .TRUE. ! before field not found, forced euler 1st time-step 281 281 ENDIF 282 282 ! 283 CALL iom_get( numror, jpdom_autoglo, 'un' , uu(:,:,: ,Kmm), ldxios = lr xios ) ! now fields284 CALL iom_get( numror, jpdom_autoglo, 'vn' , vv(:,:,: ,Kmm), ldxios = lr xios )285 CALL iom_get( numror, jpdom_autoglo, 'tn' , ts(:,:,:,jp_tem,Kmm), ldxios = lr xios )286 CALL iom_get( numror, jpdom_autoglo, 'sn' , ts(:,:,:,jp_sal,Kmm), ldxios = lr xios )287 CALL iom_get( numror, jpdom_autoglo, 'sshn' ,ssh(:,: ,Kmm), ldxios = lr xios )283 CALL iom_get( numror, jpdom_autoglo, 'un' , uu(:,:,: ,Kmm), ldxios = lroxios ) ! now fields 284 CALL iom_get( numror, jpdom_autoglo, 'vn' , vv(:,:,: ,Kmm), ldxios = lroxios ) 285 CALL iom_get( numror, jpdom_autoglo, 'tn' , ts(:,:,:,jp_tem,Kmm), ldxios = lroxios ) 286 CALL iom_get( numror, jpdom_autoglo, 'sn' , ts(:,:,:,jp_sal,Kmm), ldxios = lroxios ) 287 CALL iom_get( numror, jpdom_autoglo, 'sshn' ,ssh(:,: ,Kmm), ldxios = lroxios ) 288 288 IF( iom_varid( numror, 'rhop', ldstop = .FALSE. ) > 0 ) THEN 289 CALL iom_get( numror, jpdom_autoglo, 'rhop' , rhop, ldxios = lr xios ) ! now potential density289 CALL iom_get( numror, jpdom_autoglo, 'rhop' , rhop, ldxios = lroxios ) ! now potential density 290 290 ELSE 291 291 CALL eos( ts(:,:,:,:,Kmm), rhd, rhop, gdept(:,:,:,Kmm) ) 292 292 ENDIF 293 IF( lr xios ) CALL iom_swap( TRIM(cxios_context) )293 IF( lroxios ) CALL iom_swap( TRIM(cxios_context) ) 294 294 ! 295 295 IF( l_1st_euler ) THEN ! Euler restart
Note: See TracChangeset
for help on using the changeset viewer.