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

Ignore:
Timestamp:
2017-11-21T17:21:22+01:00 (6 years ago)
Author:
andmirek
Message:

#1953 and #1962 merged (and some modifications) with write branch

File:
1 edited

Legend:

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

    r8668 r8770  
    5656   USE asminc          ! Assimilation increment 
    5757#endif 
    58    USE iom_def, ONLY : lxios_read 
     58   USE iom_def, ONLY : lxios_read, lwxios 
    5959 
    6060 
     
    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.