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 12969 for NEMO/branches/2020/dev_12905_xios_restart/src/OCE/IOM/restart.F90 – NEMO

Ignore:
Timestamp:
2020-05-26T12:05:09+02:00 (4 years ago)
Author:
andmirek
Message:

ticket #2462: read restart with XIOS independently for each component

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_12905_xios_restart/src/OCE/IOM/restart.F90

    r12961 r12969  
    210210! can handle checking if variable is in the restart file (there will be no need to open 
    211211! restart) 
    212          lrxios = lrxios.AND.lxios_sini 
    213  
    214          IF( lrxios) THEN 
     212         lroxios = lrxios.AND.lxios_sini 
     213 
     214         IF( lroxios) THEN 
    215215             crxios_context = 'oce_rst' 
    216216             IF(lwp) WRITE(numout,*) 'Enable restart reading by XIOS' 
     
    246246 
    247247      ! Check dynamics and tracer time-step consistency and force Euler restart if changed 
    248       IF( lrxios ) CALL iom_swap( TRIM(crxios_context) ) 
     248      IF( lroxios ) CALL iom_swap( TRIM(crxios_context) ) 
    249249      IF( iom_varid( numror, 'rdt', ldstop = .FALSE. ) > 0 )   THEN 
    250          CALL iom_get( numror, 'rdt', zrdt, ldxios = lrxios ) 
     250         CALL iom_get( numror, 'rdt', zrdt, ldxios = lroxios ) 
    251251         IF( zrdt /= rn_Dt ) THEN 
    252252            IF(lwp) WRITE( numout,*) 
     
    261261       
    262262      ! Diurnal DSST  
    263       IF( ln_diurnal ) CALL iom_get( numror, jpdom_autoglo, 'Dsst' , x_dsst, ldxios = lrxios )  
     263      IF( ln_diurnal ) CALL iom_get( numror, jpdom_autoglo, 'Dsst' , x_dsst, ldxios = lroxios )  
    264264      IF ( ln_diurnal_only ) THEN  
    265265         IF(lwp) WRITE( numout, * ) & 
    266266         &   "rst_read:- ln_diurnal_only set, setting rhop=rho0"  
    267267         rhop = rho0 
    268          CALL iom_get( numror, jpdom_autoglo, 'tn'     , w3d, ldxios = lrxios )  
     268         CALL iom_get( numror, jpdom_autoglo, 'tn'     , w3d, ldxios = lroxios )  
    269269         ts(:,:,1,jp_tem,Kmm) = w3d(:,:,1) 
    270270         RETURN  
     
    272272 
    273273      IF( iom_varid( numror, 'ub', ldstop = .FALSE. ) > 0 ) THEN 
    274          CALL iom_get( numror, jpdom_autoglo, 'ub'     , uu(:,:,:       ,Kbb), ldxios = lrxios )   ! before fields 
    275          CALL iom_get( numror, jpdom_autoglo, 'vb'     , vv(:,:,:       ,Kbb), ldxios = lrxios ) 
    276          CALL iom_get( numror, jpdom_autoglo, 'tb'     , ts(:,:,:,jp_tem,Kbb), ldxios = lrxios ) 
    277          CALL iom_get( numror, jpdom_autoglo, 'sb'     , ts(:,:,:,jp_sal,Kbb), ldxios = lrxios ) 
    278          CALL iom_get( numror, jpdom_autoglo, 'sshb'   ,ssh(:,:         ,Kbb), ldxios = lrxios ) 
     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 ) 
    279279      ELSE 
    280280         l_1st_euler =  .TRUE.      ! before field not found, forced euler 1st time-step 
    281281      ENDIF 
    282282      ! 
    283       CALL iom_get( numror, jpdom_autoglo, 'un'     , uu(:,:,:       ,Kmm), ldxios = lrxios )       ! now    fields 
    284       CALL iom_get( numror, jpdom_autoglo, 'vn'     , vv(:,:,:       ,Kmm), ldxios = lrxios ) 
    285       CALL iom_get( numror, jpdom_autoglo, 'tn'     , ts(:,:,:,jp_tem,Kmm), ldxios = lrxios ) 
    286       CALL iom_get( numror, jpdom_autoglo, 'sn'     , ts(:,:,:,jp_sal,Kmm), ldxios = lrxios ) 
    287       CALL iom_get( numror, jpdom_autoglo, 'sshn'   ,ssh(:,:         ,Kmm), ldxios = lrxios ) 
     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 ) 
    288288      IF( iom_varid( numror, 'rhop', ldstop = .FALSE. ) > 0 ) THEN 
    289          CALL iom_get( numror, jpdom_autoglo, 'rhop'   , rhop, ldxios = lrxios )   ! now    potential density 
     289         CALL iom_get( numror, jpdom_autoglo, 'rhop'   , rhop, ldxios = lroxios )   ! now    potential density 
    290290      ELSE 
    291291         CALL eos( ts(:,:,:,:,Kmm), rhd, rhop, gdept(:,:,:,Kmm) )    
    292292      ENDIF 
    293       IF( lrxios ) CALL iom_swap( TRIM(cxios_context) ) 
     293      IF( lroxios ) CALL iom_swap( TRIM(cxios_context) ) 
    294294      ! 
    295295      IF( l_1st_euler ) THEN                                  ! Euler restart  
Note: See TracChangeset for help on using the changeset viewer.