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 8801 for branches/2017/dev_r8600_xios_read_write_v2/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90 – NEMO

Ignore:
Timestamp:
2017-11-23T16:52:17+01:00 (6 years ago)
Author:
andmirek
Message:

#1953 and #1962 merge dev_r8600_xios_read_write r8793

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r8600_xios_read_write_v2/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90

    r8800 r8801  
    5656   USE asminc          ! Assimilation increment 
    5757#endif 
    58    USE iom_def, ONLY : lxios_read 
     58   USE iom_def, ONLY : lrxios, lwxios 
    5959 
    6060 
     
    11991199      ! 
    12001200      IF( TRIM(cdrw) == 'READ' ) THEN 
    1201          CALL iom_get( numror, jpdom_autoglo, 'ub2_b'  , ub2_b  (:,:), ldxios = lxios_read )    
    1202          CALL iom_get( numror, jpdom_autoglo, 'vb2_b'  , vb2_b  (:,:), ldxios = lxios_read )  
     1201         CALL iom_get( numror, jpdom_autoglo, 'ub2_b'  , ub2_b  (:,:), ldxios = lrxios )    
     1202         CALL iom_get( numror, jpdom_autoglo, 'vb2_b'  , vb2_b  (:,:), ldxios = lrxios )  
    12031203         IF( .NOT.ln_bt_av ) THEN 
    1204             CALL iom_get( numror, jpdom_autoglo, 'sshbb_e'  , sshbb_e(:,:), ldxios = lxios_read )    
    1205             CALL iom_get( numror, jpdom_autoglo, 'ubb_e'    ,   ubb_e(:,:), ldxios = lxios_read )    
    1206             CALL iom_get( numror, jpdom_autoglo, 'vbb_e'    ,   vbb_e(:,:), ldxios = lxios_read ) 
    1207             CALL iom_get( numror, jpdom_autoglo, 'sshb_e'   ,  sshb_e(:,:), ldxios = lxios_read )  
    1208             CALL iom_get( numror, jpdom_autoglo, 'ub_e'     ,    ub_e(:,:), ldxios = lxios_read )    
    1209             CALL iom_get( numror, jpdom_autoglo, 'vb_e'     ,    vb_e(:,:), ldxios = lxios_read ) 
     1204            CALL iom_get( numror, jpdom_autoglo, 'sshbb_e'  , sshbb_e(:,:), ldxios = lrxios )    
     1205            CALL iom_get( numror, jpdom_autoglo, 'ubb_e'    ,   ubb_e(:,:), ldxios = lrxios )    
     1206            CALL iom_get( numror, jpdom_autoglo, 'vbb_e'    ,   vbb_e(:,:), ldxios = lrxios ) 
     1207            CALL iom_get( numror, jpdom_autoglo, 'sshb_e'   ,  sshb_e(:,:), ldxios = lrxios )  
     1208            CALL iom_get( numror, jpdom_autoglo, 'ub_e'     ,    ub_e(:,:), ldxios = lrxios )    
     1209            CALL iom_get( numror, jpdom_autoglo, 'vb_e'     ,    vb_e(:,:), ldxios = lrxios ) 
    12101210         ENDIF 
    12111211#if defined key_agrif 
    12121212         ! Read time integrated fluxes 
    12131213         IF ( .NOT.Agrif_Root() ) THEN 
    1214             CALL iom_get( numror, jpdom_autoglo, 'ub2_i_b'  , ub2_i_b(:,:), ldxios = lxios_read )    
    1215             CALL iom_get( numror, jpdom_autoglo, 'vb2_i_b'  , vb2_i_b(:,:), ldxios = lxios_read ) 
     1214            CALL iom_get( numror, jpdom_autoglo, 'ub2_i_b'  , ub2_i_b(:,:), ldxios = lrxios )    
     1215            CALL iom_get( numror, jpdom_autoglo, 'vb2_i_b'  , vb2_i_b(:,:), ldxios = lrxios ) 
    12161216         ENDIF 
    12171217#endif 
    12181218      ! 
    12191219      ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN 
    1220          CALL iom_rstput( kt, nitrst, numrow, 'ub2_b'   , ub2_b  (:,:) ) 
    1221          CALL iom_rstput( kt, nitrst, numrow, 'vb2_b'   , vb2_b  (:,:) ) 
     1220         IF( lwxios ) CALL iom_swap(      cwxios_context          ) 
     1221         CALL iom_rstput( kt, nitrst, numrow, 'ub2_b'   , ub2_b  (:,:), ldxios = lwxios ) 
     1222         CALL iom_rstput( kt, nitrst, numrow, 'vb2_b'   , vb2_b  (:,:), ldxios = lwxios ) 
    12221223         ! 
    12231224         IF (.NOT.ln_bt_av) THEN 
    1224             CALL iom_rstput( kt, nitrst, numrow, 'sshbb_e'  , sshbb_e(:,:) )  
    1225             CALL iom_rstput( kt, nitrst, numrow, 'ubb_e'    ,   ubb_e(:,:) ) 
    1226             CALL iom_rstput( kt, nitrst, numrow, 'vbb_e'    ,   vbb_e(:,:) ) 
    1227             CALL iom_rstput( kt, nitrst, numrow, 'sshb_e'   ,  sshb_e(:,:) ) 
    1228             CALL iom_rstput( kt, nitrst, numrow, 'ub_e'     ,    ub_e(:,:) ) 
    1229             CALL iom_rstput( kt, nitrst, numrow, 'vb_e'     ,    vb_e(:,:) ) 
     1225            CALL iom_rstput( kt, nitrst, numrow, 'sshbb_e'  , sshbb_e(:,:), ldxios = lwxios )  
     1226            CALL iom_rstput( kt, nitrst, numrow, 'ubb_e'    ,   ubb_e(:,:), ldxios = lwxios ) 
     1227            CALL iom_rstput( kt, nitrst, numrow, 'vbb_e'    ,   vbb_e(:,:), ldxios = lwxios ) 
     1228            CALL iom_rstput( kt, nitrst, numrow, 'sshb_e'   ,  sshb_e(:,:), ldxios = lwxios ) 
     1229            CALL iom_rstput( kt, nitrst, numrow, 'ub_e'     ,    ub_e(:,:), ldxios = lwxios ) 
     1230            CALL iom_rstput( kt, nitrst, numrow, 'vb_e'     ,    vb_e(:,:), ldxios = lwxios ) 
    12301231         ENDIF 
    12311232#if defined key_agrif 
    12321233         ! Save time integrated fluxes 
    12331234         IF ( .NOT.Agrif_Root() ) THEN 
    1234             CALL iom_rstput( kt, nitrst, numrow, 'ub2_i_b'  , ub2_i_b(:,:) ) 
    1235             CALL iom_rstput( kt, nitrst, numrow, 'vb2_i_b'  , vb2_i_b(:,:) ) 
     1235            CALL iom_rstput( kt, nitrst, numrow, 'ub2_i_b'  , ub2_i_b(:,:), ldxios = lwxios ) 
     1236            CALL iom_rstput( kt, nitrst, numrow, 'vb2_i_b'  , vb2_i_b(:,:), ldxios = lwxios ) 
    12361237         ENDIF 
    12371238#endif 
     1239         IF( lwxios ) CALL iom_swap(      cxios_context          ) 
    12381240      ENDIF 
    12391241      ! 
     
    13231325      CALL wrk_dealloc( jpi,jpj,   zcu ) 
    13241326      ! 
     1327      IF( lwxios ) THEN 
     1328! define variables in restart file when writing with XIOS 
     1329         CALL iom_set_rstw_var_active('ub2_b') 
     1330         CALL iom_set_rstw_var_active('vb2_b') 
     1331         ! 
     1332         IF (.NOT.ln_bt_av) THEN 
     1333            CALL iom_set_rstw_var_active('sshbb_e') 
     1334            CALL iom_set_rstw_var_active('ubb_e') 
     1335            CALL iom_set_rstw_var_active('vbb_e') 
     1336            CALL iom_set_rstw_var_active('sshb_e') 
     1337            CALL iom_set_rstw_var_active('ub_e') 
     1338            CALL iom_set_rstw_var_active('vb_e') 
     1339         ENDIF 
     1340#if defined key_agrif 
     1341         ! Save time integrated fluxes 
     1342         IF ( .NOT.Agrif_Root() ) THEN 
     1343            CALL iom_set_rstw_var_active('ub2_i_b') 
     1344            CALL iom_set_rstw_var_active('vb2_i_b') 
     1345         ENDIF 
     1346#endif 
     1347      ENDIF 
     1348 
    13251349   END SUBROUTINE dyn_spg_ts_init 
    13261350 
Note: See TracChangeset for help on using the changeset viewer.