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/DOM – 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

Location:
NEMO/branches/2020/dev_12905_xios_restart/src/OCE/DOM
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_12905_xios_restart/src/OCE/DOM/daymod.F90

    r12957 r12969  
    315315 
    316316      IF( TRIM(cdrw) == 'READ' ) THEN 
    317          IF( lrxios ) CALL iom_swap( TRIM(crxios_context) ) 
     317         IF( lroxios ) CALL iom_swap( TRIM(crxios_context) ) 
    318318         IF( iom_varid( numror, 'kt', ldstop = .FALSE. ) > 0 ) THEN 
    319319            ! Get Calendar informations 
    320             CALL iom_get( numror, 'kt', zkt, ldxios = lrxios )   ! last time-step of previous run 
     320            CALL iom_get( numror, 'kt', zkt, ldxios = lroxios )   ! last time-step of previous run 
    321321            IF(lwp) THEN 
    322322               WRITE(numout,*) ' *** Info read in restart : ' 
     
    337337            IF ( nrstdt == 2 ) THEN 
    338338               ! read the parameters corresponding to nit000 - 1 (last time step of previous run) 
    339                CALL iom_get( numror, 'ndastp', zndastp, ldxios = lrxios ) 
     339               CALL iom_get( numror, 'ndastp', zndastp, ldxios = lroxios ) 
    340340               ndastp = NINT( zndastp ) 
    341                CALL iom_get( numror, 'adatrj', adatrj , ldxios = lrxios ) 
    342           CALL iom_get( numror, 'ntime' , ktime  , ldxios = lrxios ) 
     341               CALL iom_get( numror, 'adatrj', adatrj , ldxios = lroxios ) 
     342          CALL iom_get( numror, 'ntime' , ktime  , ldxios = lroxios ) 
    343343               nn_time0 = NINT(ktime) 
    344344               ! calculate start time in hours and minutes 
     
    383383            adatrj = ( REAL( nit000-1, wp ) * rn_Dt ) / rday 
    384384         ENDIF 
    385          IF( lrxios ) CALL iom_swap( TRIM(cxios_context) ) 
     385         IF( lroxios ) CALL iom_swap( TRIM(cxios_context) ) 
    386386         IF( ABS(adatrj  - REAL(NINT(adatrj),wp)) < 0.1 / rday )   adatrj = REAL(NINT(adatrj),wp)   ! avoid truncation error 
    387387         ! 
  • NEMO/branches/2020/dev_12905_xios_restart/src/OCE/DOM/domvvl.F90

    r12950 r12969  
    775775         IF( ln_rstart ) THEN                   !* Read the restart file 
    776776            CALL rst_read_open                  !  open the restart file if necessary 
    777             IF( lrxios ) CALL iom_swap( TRIM(crxios_context) ) 
    778             CALL iom_get( numror, jpdom_autoglo, 'sshn'   , ssh(:,:,Kmm), ldxios = lrxios    ) 
     777            IF( lroxios ) CALL iom_swap( TRIM(crxios_context) ) 
     778            CALL iom_get( numror, jpdom_autoglo, 'sshn'   , ssh(:,:,Kmm), ldxios = lroxios    ) 
    779779            ! 
    780780            id1 = iom_varid( numror, 'e3t_b', ldstop = .FALSE. ) 
     
    789789            ! 
    790790            IF( MIN( id1, id2 ) > 0 ) THEN       ! all required arrays exist 
    791                CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 
    792                CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 
     791               CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lroxios ) 
     792               CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lroxios ) 
    793793               ! needed to restart if land processor not computed  
    794794               IF(lwp) write(numout,*) 'dom_vvl_rst : e3t(:,:,:,Kbb) and e3t(:,:,:,Kmm) found in restart files' 
     
    804804               IF(lwp) write(numout,*) 'e3t_n set equal to e3t_b.' 
    805805               IF(lwp) write(numout,*) 'l_1st_euler is forced to true' 
    806                CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 
     806               CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lroxios ) 
    807807               e3t(:,:,:,Kmm) = e3t(:,:,:,Kbb) 
    808808               l_1st_euler = .true. 
     
    811811               IF(lwp) write(numout,*) 'e3t_b set equal to e3t_n.' 
    812812               IF(lwp) write(numout,*) 'l_1st_euler is forced to true' 
    813                CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 
     813               CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lroxios ) 
    814814               e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 
    815815               l_1st_euler = .true. 
     
    836836               !                          ! ----------------------- ! 
    837837               IF( MIN( id3, id4 ) > 0 ) THEN  ! all required arrays exist 
    838                   CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_b', tilde_e3t_b(:,:,:), ldxios = lrxios ) 
    839                   CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_n', tilde_e3t_n(:,:,:), ldxios = lrxios ) 
     838                  CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_b', tilde_e3t_b(:,:,:), ldxios = lroxios ) 
     839                  CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_n', tilde_e3t_n(:,:,:), ldxios = lroxios ) 
    840840               ELSE                            ! one at least array is missing 
    841841                  tilde_e3t_b(:,:,:) = 0.0_wp 
     
    846846                  !                       ! ------------ ! 
    847847                  IF( id5 > 0 ) THEN  ! required array exists 
    848                      CALL iom_get( numror, jpdom_autoglo, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lrxios ) 
     848                     CALL iom_get( numror, jpdom_autoglo, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lroxios ) 
    849849                  ELSE                ! array is missing 
    850850                     hdiv_lf(:,:,:) = 0.0_wp 
     
    852852               ENDIF 
    853853            ENDIF 
    854             IF( lrxios ) CALL iom_swap( TRIM(cxios_context) ) 
     854            IF( lroxios ) CALL iom_swap( TRIM(cxios_context) ) 
    855855            ! 
    856856         ELSE                                   !* Initialize at "rest" 
Note: See TracChangeset for help on using the changeset viewer.