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 13871 for NEMO/branches/2020/dev_12905_xios_restart/src/TOP – NEMO

Ignore:
Timestamp:
2020-11-25T12:51:29+01:00 (4 years ago)
Author:
andmirek
Message:

Ticket #2462: Addressing reviewr comments stage 1

Location:
NEMO/branches/2020/dev_12905_xios_restart/src/TOP
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_12905_xios_restart/src/TOP/C14/trcini_c14.F90

    r13727 r13871  
    6868        IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' 
    6969        !  
    70         IF(lrtxios) CALL iom_swap(crtxios_context) 
    71         CALL iom_get( numrtr, 'co2sbc', co2sbc, ldxios = lrtxios )  
    72         CALL iom_get( numrtr, jpdom_auto, 'c14sbc', c14sbc, ldxios = lrtxios )  
    73         CALL iom_get( numrtr, jpdom_auto, 'exch_co2', exch_co2, ldxios = lrtxios )  
    74         CALL iom_get( numrtr, jpdom_auto, 'exch_c14', exch_c14, ldxios = lrtxios )  
    75         CALL iom_get( numrtr, jpdom_auto, 'qtr_c14', qtr_c14, ldxios = lrtxios ) 
    76         IF(lrtxios) CALL iom_swap(cxios_context) 
     70        IF(lrxios) CALL iom_swap(cr_toprst_cxt) 
     71        CALL iom_get( numrtr, 'co2sbc', co2sbc, ldxios = lrxios )  
     72        CALL iom_get( numrtr, jpdom_auto, 'c14sbc', c14sbc, ldxios = lrxios )  
     73        CALL iom_get( numrtr, jpdom_auto, 'exch_co2', exch_co2, ldxios = lrxios )  
     74        CALL iom_get( numrtr, jpdom_auto, 'exch_c14', exch_c14, ldxios = lrxios )  
     75        CALL iom_get( numrtr, jpdom_auto, 'qtr_c14', qtr_c14, ldxios = lrxios ) 
     76        IF(lrxios) CALL iom_swap(cxios_context) 
    7777        ! 
    7878      END IF 
     
    8787      ELSE 
    8888        ! 
    89         IF(lrtxios) CALL iom_swap(crtxios_context) 
    90         CALL iom_get( numrtr, jpdom_auto, 'qint_c14', qint_c14, ldxios = lrtxios )  
    91         IF(lrtxios) CALL iom_swap(cxios_context) 
     89        IF(lrxios) CALL iom_swap(cr_toprst_cxt) 
     90        CALL iom_get( numrtr, jpdom_auto, 'qint_c14', qint_c14, ldxios = lrxios )  
     91        IF(lrxios) CALL iom_swap(cxios_context) 
    9292        ! 
    9393      ENDIF 
  • NEMO/branches/2020/dev_12905_xios_restart/src/TOP/C14/trcsms_c14.F90

    r13727 r13871  
    144144         IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' 
    145145         ! 
    146          IF( lwxios ) CALL iom_swap(      cwtxios_context         ) 
     146         IF( lwxios ) CALL iom_swap(      cw_toprst_cxt         ) 
    147147         CALL iom_rstput( kt, nitrst, numrtw, 'co2sbc', co2sbc,     ldxios = lwxios ) ! These five need      & 
    148148         CALL iom_rstput( kt, nitrst, numrtw, 'c14sbc', c14sbc,     ldxios = lwxios ) ! &    to be written   & 
  • NEMO/branches/2020/dev_12905_xios_restart/src/TOP/CFC/trcsms_cfc.F90

    r13727 r13871  
    179179         IF(lwp) WRITE(numout,*) '~~~~' 
    180180         jl = 0 
    181          IF( lwxios ) CALL iom_swap(      cwtxios_context         ) 
     181         IF( lwxios ) CALL iom_swap(      cw_toprst_cxt         ) 
    182182         DO jn = jp_cfc0, jp_cfc1 
    183183             jl = jl + 1 
     
    298298         ! 
    299299         jl = 0 
    300          IF(lrtxios) CALL iom_swap(crtxios_context) 
     300         IF(lrxios) CALL iom_swap(cr_toprst_cxt) 
    301301         DO jn = jp_cfc0, jp_cfc1 
    302302            jl = jl + 1 
    303             CALL iom_get( numrtr, jpdom_auto, 'qint_'//ctrcnm(jn), qint_cfc(:,:,jl), ldxios = lrtxios )  
     303            CALL iom_get( numrtr, jpdom_auto, 'qint_'//ctrcnm(jn), qint_cfc(:,:,jl), ldxios = lrxios )  
    304304         END DO 
    305          IF(lrtxios) CALL iom_swap(cxios_context) 
     305         IF(lrxios) CALL iom_swap(cxios_context) 
    306306      ENDIF 
    307307      IF(lwp) WRITE(numout,*) 
  • NEMO/branches/2020/dev_12905_xios_restart/src/TOP/PISCES/P2Z/p2zexp.F90

    r13727 r13871  
    134134            &                    'at it= ', kt,' date= ', ndastp 
    135135         IF(lwp) WRITE(numout,*) '~~~~' 
    136          IF( lwxios ) CALL iom_swap(      cwtxios_context         ) 
     136         IF( lwxios ) CALL iom_swap(      cw_toprst_cxt         ) 
    137137         CALL iom_rstput( kt, nitrst, numrtw, 'SEDB'//ctrcnm(jpdet), sedpocb(:,:), ldxios = lwxios ) 
    138138         CALL iom_rstput( kt, nitrst, numrtw, 'SEDN'//ctrcnm(jpdet), sedpocn(:,:), ldxios = lwxios ) 
     
    216216      ! 
    217217      IF( ln_rsttr ) THEN 
    218          IF(lrtxios) CALL iom_swap(crtxios_context) 
    219          CALL iom_get( numrtr, jpdom_auto, 'SEDB'//ctrcnm(jpdet), sedpocb(:,:), ldxios = lrtxios ) 
    220          CALL iom_get( numrtr, jpdom_auto, 'SEDN'//ctrcnm(jpdet), sedpocn(:,:), ldxios = lrtxios ) 
    221          IF(lrtxios) CALL iom_swap(cxios_context) 
     218         IF(lrxios) CALL iom_swap(cr_toprst_cxt) 
     219         CALL iom_get( numrtr, jpdom_auto, 'SEDB'//ctrcnm(jpdet), sedpocb(:,:), ldxios = lrxios ) 
     220         CALL iom_get( numrtr, jpdom_auto, 'SEDN'//ctrcnm(jpdet), sedpocn(:,:), ldxios = lrxios ) 
     221         IF(lrxios) CALL iom_swap(cxios_context) 
    222222      ELSE 
    223223         sedpocb(:,:) = 0._wp 
  • NEMO/branches/2020/dev_12905_xios_restart/src/TOP/PISCES/P4Z/p4zsms.F90

    r13727 r13871  
    332332         IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' 
    333333         !  
    334          IF(lrtxios) CALL iom_swap(crtxios_context) 
     334         IF(lrxios) CALL iom_swap(cr_toprst_cxt) 
    335335         IF( iom_varid( numrtr, 'PH', ldstop = .FALSE. ) > 0 ) THEN 
    336             CALL iom_get( numrtr, jpdom_auto, 'PH' , hi(:,:,:), ldxios = lrtxios  ) 
     336            CALL iom_get( numrtr, jpdom_auto, 'PH' , hi(:,:,:), ldxios = lrxios  ) 
    337337         ELSE 
    338338            CALL p4z_che( Kbb, Kmm )                  ! initialize the chemical constants 
    339339            CALL ahini_for_at( hi, Kbb ) 
    340340         ENDIF 
    341          CALL iom_get( numrtr, jpdom_auto, 'Silicalim', xksi(:,:), ldxios = lrtxios ) 
     341         CALL iom_get( numrtr, jpdom_auto, 'Silicalim', xksi(:,:), ldxios = lrxios ) 
    342342         IF( iom_varid( numrtr, 'Silicamax', ldstop = .FALSE. ) > 0 ) THEN 
    343             CALL iom_get( numrtr, jpdom_auto, 'Silicamax' , xksimax(:,:), ldxios = lrtxios  ) 
     343            CALL iom_get( numrtr, jpdom_auto, 'Silicamax' , xksimax(:,:), ldxios = lrxios  ) 
    344344         ELSE 
    345345            xksimax(:,:) = xksi(:,:) 
     
    347347         ! 
    348348         IF( iom_varid( numrtr, 'tcflxcum', ldstop = .FALSE. ) > 0 ) THEN  ! cumulative total flux of carbon 
    349             CALL iom_get( numrtr, 'tcflxcum' , t_oce_co2_flx_cum, ldxios = lrtxios  ) 
     349            CALL iom_get( numrtr, 'tcflxcum' , t_oce_co2_flx_cum, ldxios = lrxios  ) 
    350350         ELSE 
    351351            t_oce_co2_flx_cum = 0._wp 
     
    354354         IF( ln_p5z ) THEN 
    355355            IF( iom_varid( numrtr, 'sized', ldstop = .FALSE. ) > 0 ) THEN 
    356                CALL iom_get( numrtr, jpdom_auto, 'sizep' , sizep(:,:,:), ldxios = lrtxios  ) 
    357                CALL iom_get( numrtr, jpdom_auto, 'sizen' , sizen(:,:,:), ldxios = lrtxios  ) 
    358                CALL iom_get( numrtr, jpdom_auto, 'sized' , sized(:,:,:), ldxios = lrtxios  ) 
     356               CALL iom_get( numrtr, jpdom_auto, 'sizep' , sizep(:,:,:), ldxios = lrxios  ) 
     357               CALL iom_get( numrtr, jpdom_auto, 'sizen' , sizen(:,:,:), ldxios = lrxios  ) 
     358               CALL iom_get( numrtr, jpdom_auto, 'sized' , sized(:,:,:), ldxios = lrxios  ) 
    359359            ELSE 
    360360               sizep(:,:,:) = 1. 
     
    363363            ENDIF 
    364364        ENDIF 
    365         IF(lrtxios) CALL iom_swap(cxios_context) 
     365        IF(lrxios) CALL iom_swap(cxios_context) 
    366366        ! 
    367367      ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN 
     
    371371            IF(lwp) WRITE(numout,*) '~~~~~~~' 
    372372         ENDIF 
    373          IF( lwxios ) CALL iom_swap(      cwtxios_context         ) 
     373         IF( lwxios ) CALL iom_swap(      cw_toprst_cxt         ) 
    374374         CALL iom_rstput( kt, nitrst, numrtw, 'PH', hi(:,:,:),               ldxios = lwxios ) 
    375375         CALL iom_rstput( kt, nitrst, numrtw, 'Silicalim', xksi(:,:),        ldxios = lwxios ) 
  • NEMO/branches/2020/dev_12905_xios_restart/src/TOP/PISCES/SED/sed.F90

    r12969 r13871  
    5353   INTEGER             , PUBLIC   ::  nn_rstsed      !: control of the time step ( 0 or 1 ) for pass. tr. 
    5454   INTEGER , PUBLIC               ::  nn_dtsed = 1   !: frequency of step on passive tracers 
    55    LOGICAL,  PUBLIC               ::  lrsxios        !: use xios to read restart 
    5655   CHARACTER(len = 80) , PUBLIC   ::  cn_sedrst_in   !: suffix of pass. tracer restart name (input) 
    5756   CHARACTER(len = 256), PUBLIC   ::  cn_sedrst_indir  !: restart input directory 
  • NEMO/branches/2020/dev_12905_xios_restart/src/TOP/PISCES/SED/sedrst.F90

    r13750 r13871  
    8585         ELSE 
    8686#if defined key_iomput 
    87             cwsxios_context = "rstws_"//TRIM(ADJUSTL(clkt)) 
     87            cw_sedrst_cxt = "rstws_"//TRIM(ADJUSTL(clkt)) 
    8888            IF( TRIM(Agrif_CFixed()) == '0' ) THEN 
    8989               clpname = clname 
     
    9191               clpname = TRIM(Agrif_CFixed())//"_"//clname 
    9292            ENDIF 
    93             CALL iom_init( cwsxios_context, fname = TRIM(clpath)//TRIM(clpname), ld_closedef = .FALSE. ) 
     93            CALL iom_init( cw_sedrst_cxt, fname = TRIM(clpath)//TRIM(clpname), ld_closedef = .FALSE. ) 
    9494            CALL iom_swap(      cxios_context          ) 
    9595#else 
     
    138138      zdta2 = 0. 
    139139 
    140       IF(lrsxios) CALL iom_swap(crsxios_context) 
     140      IF(lrxios) CALL iom_swap(cr_sedrst_cxt) 
    141141      DO jn = 1, jptrased 
    142142         cltra = TRIM(sedtrcd(jn)) 
    143143         IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 
    144             CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta(:,:,:,jn), ldxios = lrsxios ) 
     144            CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta(:,:,:,jn), ldxios = lrxios ) 
    145145         ELSE 
    146146            zdta(:,:,:,jn) = 0.0 
     
    161161         cltra = TRIM(seddia3d(jn)) 
    162162         IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 
    163             CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta1(:,:,:,jn), ldxios = lrsxios ) 
     163            CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta1(:,:,:,jn), ldxios = lrxios ) 
    164164         ELSE 
    165165            zdta1(:,:,:,jn) = 0.0 
     
    188188      cltra = "dbioturb" 
    189189      IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 
    190          CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta2(:,:,:), ldxios = lrsxios ) 
     190         CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta2(:,:,:), ldxios = lrxios ) 
    191191      ELSE 
    192192         zdta2(:,:,:) = 0.0 
     
    198198      cltra = "irrig" 
    199199      IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 
    200          CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta2(:,:,:), ldxios = lrsxios ) 
     200         CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta2(:,:,:), ldxios = lrxios ) 
    201201      ELSE 
    202202         zdta2(:,:,:) = 0.0 
     
    208208      cltra = "sedligand" 
    209209      IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 
    210          CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta2(:,:,:), ldxios = lrsxios ) 
     210         CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta2(:,:,:), ldxios = lrxios ) 
    211211      ELSE 
    212212         zdta2(:,:,:) = 0.0 
     
    215215      CALL pack_arr( jpoce, sedligand(1:jpoce,1:jpksed), & 
    216216         &             zdta2(1:jpi,1:jpj,1:jpksed), iarroce(1:jpoce) ) 
    217       IF(lrsxios) CALL iom_swap(cxios_context) 
     217      IF(lrxios) CALL iom_swap(cxios_context) 
    218218      IF( ln_timing )  CALL timing_stop('sed_rst_read') 
    219219      
     
    259259      !! 1. WRITE in nutwrs 
    260260      !! ------------------ 
    261       IF( lwxios ) CALL iom_swap(      cwsxios_context         ) 
     261      IF( lwxios ) CALL iom_swap(      cw_sedrst_cxt         ) 
    262262!     zinfo(1) = REAL( kt) 
    263263      CALL iom_rstput( kt, nitrst, numrsw, 'kt', REAL( kt    , wp), ldxios = lwxios ) 
     
    322322             CALL iom_close( numrsw )     ! close the restart file (only at last time step) 
    323323          ELSE 
    324              CALL iom_context_finalize( cwsxios_context )  
     324             CALL iom_context_finalize( cw_sedrst_cxt )  
    325325          ENDIF 
    326326          IF( l_offline .AND. ln_rst_list ) THEN 
     
    381381            CALL iom_open( TRIM(cn_sedrst_indir)//'/'//cn_sedrst_in, numrsr ) 
    382382 
    383             lrsxios = lrxios.AND.lxios_sini 
    384             IF( lrsxios) THEN 
    385                 crsxios_context = 'sed_rst' 
     383            IF( lrxios) THEN 
     384                cr_sedrst_cxt = 'sed_rst' 
    386385                IF(lwp) WRITE(numout,*) 'Enable restart reading by XIOS for SED' 
    387386                IF( TRIM(Agrif_CFixed()) == '0' ) THEN 
     
    390389                   clpname = TRIM(Agrif_CFixed())//"_"//cn_sedrst_in    
    391390                ENDIF 
    392                 CALL iom_init( crsxios_context, fname = TRIM(cn_sedrst_indir)//'/'//TRIM(clpname), & 
     391                CALL iom_init( cr_sedrst_cxt, fname = TRIM(cn_sedrst_indir)//'/'//TRIM(clpname), & 
    393392                                                idfp = iom_file(numrsr)%nfid, ld_closedef = .TRUE. ) 
    394393            ENDIF 
    395             IF(lrsxios) CALL iom_swap(crsxios_context) 
    396             CALL iom_get ( numrsr, 'kt', zkt, ldxios = lrsxios )   ! last time-step of previous run 
    397             IF(lrsxios) CALL iom_swap(cxios_context) 
     394            IF(lrxios) CALL iom_swap(cr_sedrst_cxt) 
     395            CALL iom_get ( numrsr, 'kt', zkt, ldxios = lrxios )   ! last time-step of previous run 
     396            IF(lrxios) CALL iom_swap(cxios_context) 
    398397            IF(lwp) THEN 
    399398               WRITE(numsed,*) ' *** Info read in restart : ' 
     
    416415            !                                          ! set the date in offline mode 
    417416            IF( ln_rst_sed .AND. nn_rstsed == 2 ) THEN 
    418                IF(lrsxios) CALL iom_swap(crsxios_context) 
    419                CALL iom_get( numrsr, 'ndastp', zndastp, ldxios = lrsxios ) 
     417               IF(lrxios) CALL iom_swap(cr_sedrst_cxt) 
     418               CALL iom_get( numrsr, 'ndastp', zndastp, ldxios = lrxios ) 
    420419               ndastp = NINT( zndastp ) 
    421                CALL iom_get( numrsr, 'adatrj', adatrj, ldxios = lrsxios  ) 
    422                IF(lrsxios) CALL iom_swap(crxios_context) 
     420               CALL iom_get( numrsr, 'adatrj', adatrj, ldxios = lrxios  ) 
     421               IF(lrxios) CALL iom_swap(cr_ocerst_cxt) 
    423422             ELSE 
    424423               ndastp = ndate0 - 1     ! ndate0 read in the namelist in dom_nam 
     
    444443            IF(lwp) WRITE(numsed,*) 'trc_wri : write the TOP restart file (NetCDF) at it= ', kt, ' date= ', ndastp 
    445444            IF(lwp) WRITE(numsed,*) '~~~~~~~' 
    446             IF( lwxios ) CALL iom_init_closedef(cwsxios_context) 
    447          ENDIF 
    448          IF( lwxios ) CALL iom_swap(      cwsxios_context         ) 
     445            IF( lwxios ) CALL iom_init_closedef(cw_sedrst_cxt) 
     446         ENDIF 
     447         IF( lwxios ) CALL iom_swap(      cw_sedrst_cxt         ) 
    449448         CALL iom_rstput( kt, nitrst, numrsw, 'kt'     , REAL( kt    , wp), ldxios = lwxios )   ! time-step 
    450449         CALL iom_rstput( kt, nitrst, numrsw, 'ndastp' , REAL( ndastp, wp), ldxios = lwxios )   ! date 
  • NEMO/branches/2020/dev_12905_xios_restart/src/TOP/PISCES/SED/sedstp.F90

    r12969 r13871  
    8686      IF( kt == nitsed000 ) THEN 
    8787          CALL iom_close( numrsr )       ! close input tracer restart file 
    88           IF(lrsxios) CALL iom_context_finalize(      crsxios_context  ) 
     88          IF(lrxios) CALL iom_context_finalize(      cr_sedrst_cxt  ) 
    8989!          IF(lwm) CALL FLUSH( numont )   ! flush namelist output 
    9090      ENDIF 
  • NEMO/branches/2020/dev_12905_xios_restart/src/TOP/TRP/trcsbc.F90

    r13727 r13871  
    8787            IF(lwp) WRITE(numout,*) '          nittrc000-1 surface tracer content forcing fields read in the restart file' 
    8888            zfact = 0.5_wp 
    89             IF(lrtxios) CALL iom_swap(crtxios_context) 
     89            IF(lrxios) CALL iom_swap(cr_toprst_cxt) 
    9090            DO jn = 1, jptra 
    91                CALL iom_get( numrtr, jpdom_auto, 'sbc_'//TRIM(ctrcnm(jn))//'_b', sbc_trc_b(:,:,jn), ldxios = lrtxios )   ! before tracer content sbc 
     91               CALL iom_get( numrtr, jpdom_auto, 'sbc_'//TRIM(ctrcnm(jn))//'_b', sbc_trc_b(:,:,jn), ldxios = lrxios )   ! before tracer content sbc 
    9292            END DO 
    93             IF(lrtxios) CALL iom_swap(cxios_context) 
     93            IF(lrxios) CALL iom_swap(cxios_context) 
    9494         ELSE                                         ! No restart or restart not found: Euler forward time stepping 
    9595           zfact = 1._wp 
     
    183183            &                    'at it= ', kt,' date= ', ndastp 
    184184         IF(lwp) WRITE(numout,*) '~~~~' 
    185          IF( lwxios ) CALL iom_swap(      cwtxios_context         ) 
     185         IF( lwxios ) CALL iom_swap(      cw_toprst_cxt         ) 
    186186         DO jn = 1, jptra 
    187187            CALL iom_rstput( kt, nitrst, numrtw, 'sbc_'//TRIM(ctrcnm(jn))//'_b', sbc_trc(:,:,jn), ldxios = lwxios ) 
  • NEMO/branches/2020/dev_12905_xios_restart/src/TOP/trc.F90

    r13727 r13871  
    6969   INTEGER             , PUBLIC ::   nittrc000          !: first time step of passive tracers model 
    7070   LOGICAL             , PUBLIC ::   l_trcdm2dc         !: Diurnal cycle for TOP 
    71    LOGICAL             , PUBLIC ::   lrtxios            !: read TOP restart with XIOS 
    7271 
    7372   !! Information for the ice module for tracers 
  • NEMO/branches/2020/dev_12905_xios_restart/src/TOP/trcrst.F90

    r13750 r13871  
    9696         ELSE 
    9797#if defined key_iomput 
    98             cwtxios_context = "rstwt_"//TRIM(ADJUSTL(clkt)) 
     98            cw_toprst_cxt = "rstwt_"//TRIM(ADJUSTL(clkt)) 
    9999            IF( TRIM(Agrif_CFixed()) == '0' ) THEN 
    100100               clpname = clname 
     
    102102               clpname = TRIM(Agrif_CFixed())//"_"//clname 
    103103            ENDIF 
    104             CALL iom_init( cwtxios_context, fname = TRIM(clpath)//TRIM(clpname), ld_closedef = .FALSE. ) 
     104            CALL iom_init( cw_toprst_cxt, fname = TRIM(clpath)//TRIM(clpname), ld_closedef = .FALSE. ) 
    105105            CALL iom_swap(      cxios_context          ) 
    106106#else 
     
    130130 
    131131      ! READ prognostic variables and computes diagnostic variable 
    132       IF(lrtxios) CALL iom_swap(crtxios_context) 
     132      IF(lrxios) CALL iom_swap(cr_toprst_cxt) 
    133133      DO jn = 1, jptra 
    134          CALL iom_get( numrtr, jpdom_auto, 'TRN'//ctrcnm(jn), tr(:,:,:,jn,Kmm), ldxios = lrtxios ) 
     134         CALL iom_get( numrtr, jpdom_auto, 'TRN'//ctrcnm(jn), tr(:,:,:,jn,Kmm), ldxios = lrxios ) 
    135135      END DO 
    136136 
    137137      DO jn = 1, jptra 
    138          CALL iom_get( numrtr, jpdom_auto, 'TRB'//ctrcnm(jn), tr(:,:,:,jn,Kbb), ldxios = lrtxios ) 
     138         CALL iom_get( numrtr, jpdom_auto, 'TRB'//ctrcnm(jn), tr(:,:,:,jn,Kbb), ldxios = lrxios ) 
    139139      END DO 
    140140      ! 
    141141      CALL iom_delay_rst( 'READ', 'TOP', numrtr )   ! read only TOP delayed global communication variables 
    142       IF(lrtxios) CALL iom_swap(cxios_context)  
     142      IF(lrxios) CALL iom_swap(cxios_context)  
    143143   END SUBROUTINE trc_rst_read 
    144144 
     
    155155      !!---------------------------------------------------------------------- 
    156156      ! 
    157       IF( lwxios ) CALL iom_swap(      cwtxios_context         ) 
     157      IF( lwxios ) CALL iom_swap(      cw_toprst_cxt         ) 
    158158      CALL iom_rstput( kt, nitrst, numrtw, 'rdttrc1', rn_Dt, ldxios = lwxios )   ! passive tracer time step (= ocean time step) 
    159159      ! prognostic variables  
     
    173173          CALL trc_rst_stat( Kmm, Krhs )             ! statistics 
    174174          IF(lwxios) THEN 
    175              CALL iom_context_finalize(      cwtxios_context          ) 
     175             CALL iom_context_finalize(      cw_toprst_cxt          ) 
    176176          ELSE 
    177177             CALL iom_close( numrtw )     ! close the restart file (only at last time step) 
     
    234234            lxios_sini = .FALSE. 
    235235            CALL iom_open( TRIM(cn_trcrst_indir)//'/'//cn_trcrst_in, numrtr ) 
    236             lrtxios = lrxios.AND.lxios_sini 
    237             IF( lrtxios) THEN 
    238                 crtxios_context = 'top_rst' 
     236            IF( lrxios) THEN 
     237                cr_toprst_cxt = 'top_rst' 
    239238                IF(lwp) WRITE(numout,*) 'Enable restart reading by XIOS for TOP' 
    240239                IF( TRIM(Agrif_CFixed()) == '0' ) THEN 
     
    243242                   clpname = TRIM(Agrif_CFixed())//"_"//cn_trcrst_in    
    244243                ENDIF 
    245                 CALL iom_init( crtxios_context, fname = TRIM(cn_trcrst_indir)//'/'//TRIM(clpname), & 
     244                CALL iom_init( cr_toprst_cxt, fname = TRIM(cn_trcrst_indir)//'/'//TRIM(clpname), & 
    246245                                          idfp = iom_file(numrtr)%nfid, ld_closedef = .TRUE. ) 
    247246            ENDIF 
    248247 
    249             IF(lrtxios) CALL iom_swap(crtxios_context) 
    250             CALL iom_get ( numrtr, 'kt', zkt, ldxios = lrtxios )   ! last time-step of previous run 
    251             IF(lrtxios) CALL iom_swap(cxios_context) 
     248            IF(lrxios) CALL iom_swap(cr_toprst_cxt) 
     249            CALL iom_get ( numrtr, 'kt', zkt, ldxios = lrxios )   ! last time-step of previous run 
     250            IF(lrxios) CALL iom_swap(cxios_context) 
    252251 
    253252            IF(lwp) THEN 
     
    271270            !                                          ! set the date in offline mode 
    272271            IF( ln_rsttr .AND. nn_rsttr == 2 ) THEN 
    273                IF(lrtxios) CALL iom_swap(crtxios_context) 
    274                CALL iom_get( numrtr, 'ndastp', zndastp, ldxios = lrtxios ) 
     272               IF(lrxios) CALL iom_swap(cr_toprst_cxt) 
     273               CALL iom_get( numrtr, 'ndastp', zndastp, ldxios = lrxios ) 
    275274               ndastp = NINT( zndastp ) 
    276                CALL iom_get( numrtr, 'adatrj', adatrj, ldxios = lrtxios  ) 
    277                CALL iom_get( numrtr, 'ntime' , ktime, ldxios = lrtxios   ) 
    278                IF(lrtxios) CALL iom_swap(cxios_context) 
     275               CALL iom_get( numrtr, 'adatrj', adatrj, ldxios = lrxios  ) 
     276               CALL iom_get( numrtr, 'ntime' , ktime, ldxios = lrxios   ) 
     277               IF(lrxios) CALL iom_swap(cxios_context) 
    279278               nn_time0=INT(ktime) 
    280279               ! calculate start time in hours and minutes 
     
    336335            IF(lwp) WRITE(numout,*) '~~~~~~~' 
    337336         ENDIF 
    338          IF( lwxios ) CALL iom_swap(      cwtxios_context         ) 
     337         IF( lwxios ) CALL iom_swap(      cw_toprst_cxt         ) 
    339338         CALL iom_rstput( kt, nitrst, numrtw, 'kt'     , REAL( kt    , wp)  , ldxios = lwxios )   ! time-step 
    340339         CALL iom_rstput( kt, nitrst, numrtw, 'ndastp' , REAL( ndastp, wp)  , ldxios = lwxios )   ! date 
  • NEMO/branches/2020/dev_12905_xios_restart/src/TOP/trcstp.F90

    r13727 r13871  
    110110      IF( kt == nittrc000 ) THEN 
    111111         CALL iom_close( numrtr )                         ! close input tracer restart file 
    112          IF(lrtxios) CALL iom_context_finalize(      crtxios_context          ) 
     112         IF(lrxios) CALL iom_context_finalize(      cr_toprst_cxt          ) 
    113113         IF(lwm) CALL FLUSH( numont )                     ! flush namelist output 
    114114      ENDIF 
     
    197197           &                              .AND. iom_varid( numrtr, 'ktdcy'    , ldstop = .FALSE. ) > 0  & 
    198198           &                              .AND. iom_varid( numrtr, 'nrdcy'    , ldstop = .FALSE. ) > 0  ) THEN 
    199             IF(lrtxios) CALL iom_swap(crtxios_context) 
    200             CALL iom_get( numrtr, 'ktdcy', zkt, ldxios = lrtxios )   
     199            IF(lrxios) CALL iom_swap(cr_toprst_cxt) 
     200            CALL iom_get( numrtr, 'ktdcy', zkt, ldxios = lrxios )   
    201201            rsecfst = INT( zkt ) * rn_Dt 
    202202            IF(lwp) WRITE(numout,*) 'trc_qsr_mean:   qsr_mean read in the restart file at time-step rsecfst =', rsecfst, ' s ' 
    203             CALL iom_get( numrtr, jpdom_auto, 'qsr_mean', qsr_mean, ldxios = lrtxios )   !  A mean of qsr 
    204             CALL iom_get( numrtr, 'nrdcy', zrec, ldxios = lrtxios )   !  Number of record per days 
     203            CALL iom_get( numrtr, jpdom_auto, 'qsr_mean', qsr_mean, ldxios = lrxios )   !  A mean of qsr 
     204            CALL iom_get( numrtr, 'nrdcy', zrec, ldxios = lrxios )   !  Number of record per days 
    205205            IF( INT( zrec ) == nb_rec_per_day ) THEN 
    206206               DO jn = 1, nb_rec_per_day  
    207207                  IF( jn <= 9 )  THEN 
    208208                    WRITE(cl1,'(i1)') jn 
    209                     CALL iom_get( numrtr, jpdom_auto, 'qsr_arr_'//cl1, qsr_arr(:,:,jn), ldxios = lrtxios )   !  A mean of qsr 
     209                    CALL iom_get( numrtr, jpdom_auto, 'qsr_arr_'//cl1, qsr_arr(:,:,jn), ldxios = lrxios )   !  A mean of qsr 
    210210                  ELSE 
    211211                    WRITE(cl2,'(i2.2)') jn 
    212                     CALL iom_get( numrtr, jpdom_auto, 'qsr_arr_'//cl2, qsr_arr(:,:,jn), ldxios = lrtxios )   !  A mean of qsr 
     212                    CALL iom_get( numrtr, jpdom_auto, 'qsr_arr_'//cl2, qsr_arr(:,:,jn), ldxios = lrxios )   !  A mean of qsr 
    213213                  ENDIF 
    214214              END DO 
     
    218218               ENDDO 
    219219            ENDIF 
    220             IF(lrtxios) CALL iom_swap(cxios_context) 
     220            IF(lrxios) CALL iom_swap(cxios_context) 
    221221         ELSE                                         !* no restart: set from nit000 values 
    222222            IF(lwp) WRITE(numout,*) 'trc_qsr_mean:   qsr_mean set to nit000 values' 
     
    252252         zkt  = REAL( ktdcy, wp ) 
    253253         zrec = REAL( nb_rec_per_day, wp ) 
    254          IF( lwxios ) CALL iom_swap(      cwtxios_context         ) 
     254         IF( lwxios ) CALL iom_swap(      cw_toprst_cxt         ) 
    255255         CALL iom_rstput( kt, nitrst, numrtw, 'ktdcy', zkt, ldxios = lwxios  ) 
    256256         CALL iom_rstput( kt, nitrst, numrtw, 'nrdcy', zrec, ldxios = lwxios ) 
Note: See TracChangeset for help on using the changeset viewer.