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

Ignore:
Timestamp:
2017-12-12T11:41:19+01:00 (6 years ago)
Author:
timgraham
Message:

Merge in XIOS read/write branch again

File:
1 edited

Legend:

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

    r8985 r8987  
    5959   USE asminc          ! Assimilation increment 
    6060#endif 
    61  
    6261 
    6362   IMPLICIT NONE 
     
    13101309      ! 
    13111310      IF( TRIM(cdrw) == 'READ' ) THEN 
    1312          CALL iom_get( numror, jpdom_autoglo, 'ub2_b'  , ub2_b  (:,:) )    
    1313          CALL iom_get( numror, jpdom_autoglo, 'vb2_b'  , vb2_b  (:,:) )  
     1311         CALL iom_get( numror, jpdom_autoglo, 'ub2_b'  , ub2_b  (:,:), ldxios = lrxios )    
     1312         CALL iom_get( numror, jpdom_autoglo, 'vb2_b'  , vb2_b  (:,:), ldxios = lrxios )  
    13141313         IF( .NOT.ln_bt_av ) THEN 
    1315             CALL iom_get( numror, jpdom_autoglo, 'sshbb_e'  , sshbb_e(:,:) )    
    1316             CALL iom_get( numror, jpdom_autoglo, 'ubb_e'    ,   ubb_e(:,:) )    
    1317             CALL iom_get( numror, jpdom_autoglo, 'vbb_e'    ,   vbb_e(:,:) ) 
    1318             CALL iom_get( numror, jpdom_autoglo, 'sshb_e'   ,  sshb_e(:,:) )  
    1319             CALL iom_get( numror, jpdom_autoglo, 'ub_e'     ,    ub_e(:,:) )    
    1320             CALL iom_get( numror, jpdom_autoglo, 'vb_e'     ,    vb_e(:,:) ) 
     1314            CALL iom_get( numror, jpdom_autoglo, 'sshbb_e'  , sshbb_e(:,:), ldxios = lrxios )    
     1315            CALL iom_get( numror, jpdom_autoglo, 'ubb_e'    ,   ubb_e(:,:), ldxios = lrxios )    
     1316            CALL iom_get( numror, jpdom_autoglo, 'vbb_e'    ,   vbb_e(:,:), ldxios = lrxios ) 
     1317            CALL iom_get( numror, jpdom_autoglo, 'sshb_e'   ,  sshb_e(:,:), ldxios = lrxios )  
     1318            CALL iom_get( numror, jpdom_autoglo, 'ub_e'     ,    ub_e(:,:), ldxios = lrxios )    
     1319            CALL iom_get( numror, jpdom_autoglo, 'vb_e'     ,    vb_e(:,:), ldxios = lrxios ) 
    13211320         ENDIF 
    13221321#if defined key_agrif 
    13231322         ! Read time integrated fluxes 
    13241323         IF ( .NOT.Agrif_Root() ) THEN 
    1325             CALL iom_get( numror, jpdom_autoglo, 'ub2_i_b'  , ub2_i_b(:,:) )    
    1326             CALL iom_get( numror, jpdom_autoglo, 'vb2_i_b'  , vb2_i_b(:,:) ) 
     1324            CALL iom_get( numror, jpdom_autoglo, 'ub2_i_b'  , ub2_i_b(:,:), ldxios = lrxios )    
     1325            CALL iom_get( numror, jpdom_autoglo, 'vb2_i_b'  , vb2_i_b(:,:), ldxios = lrxios ) 
    13271326         ENDIF 
    13281327#endif 
    13291328      ! 
    13301329      ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN 
    1331          CALL iom_rstput( kt, nitrst, numrow, 'ub2_b'   , ub2_b  (:,:) ) 
    1332          CALL iom_rstput( kt, nitrst, numrow, 'vb2_b'   , vb2_b  (:,:) ) 
     1330         IF( lwxios ) CALL iom_swap(      cwxios_context          ) 
     1331         CALL iom_rstput( kt, nitrst, numrow, 'ub2_b'   , ub2_b  (:,:), ldxios = lwxios ) 
     1332         CALL iom_rstput( kt, nitrst, numrow, 'vb2_b'   , vb2_b  (:,:), ldxios = lwxios ) 
    13331333         ! 
    13341334         IF (.NOT.ln_bt_av) THEN 
    1335             CALL iom_rstput( kt, nitrst, numrow, 'sshbb_e'  , sshbb_e(:,:) )  
    1336             CALL iom_rstput( kt, nitrst, numrow, 'ubb_e'    ,   ubb_e(:,:) ) 
    1337             CALL iom_rstput( kt, nitrst, numrow, 'vbb_e'    ,   vbb_e(:,:) ) 
    1338             CALL iom_rstput( kt, nitrst, numrow, 'sshb_e'   ,  sshb_e(:,:) ) 
    1339             CALL iom_rstput( kt, nitrst, numrow, 'ub_e'     ,    ub_e(:,:) ) 
    1340             CALL iom_rstput( kt, nitrst, numrow, 'vb_e'     ,    vb_e(:,:) ) 
     1335            CALL iom_rstput( kt, nitrst, numrow, 'sshbb_e'  , sshbb_e(:,:), ldxios = lwxios )  
     1336            CALL iom_rstput( kt, nitrst, numrow, 'ubb_e'    ,   ubb_e(:,:), ldxios = lwxios ) 
     1337            CALL iom_rstput( kt, nitrst, numrow, 'vbb_e'    ,   vbb_e(:,:), ldxios = lwxios ) 
     1338            CALL iom_rstput( kt, nitrst, numrow, 'sshb_e'   ,  sshb_e(:,:), ldxios = lwxios ) 
     1339            CALL iom_rstput( kt, nitrst, numrow, 'ub_e'     ,    ub_e(:,:), ldxios = lwxios ) 
     1340            CALL iom_rstput( kt, nitrst, numrow, 'vb_e'     ,    vb_e(:,:), ldxios = lwxios ) 
    13411341         ENDIF 
    13421342#if defined key_agrif 
    13431343         ! Save time integrated fluxes 
    13441344         IF ( .NOT.Agrif_Root() ) THEN 
    1345             CALL iom_rstput( kt, nitrst, numrow, 'ub2_i_b'  , ub2_i_b(:,:) ) 
    1346             CALL iom_rstput( kt, nitrst, numrow, 'vb2_i_b'  , vb2_i_b(:,:) ) 
     1345            CALL iom_rstput( kt, nitrst, numrow, 'ub2_i_b'  , ub2_i_b(:,:), ldxios = lwxios ) 
     1346            CALL iom_rstput( kt, nitrst, numrow, 'vb2_i_b'  , vb2_i_b(:,:), ldxios = lwxios ) 
    13471347         ENDIF 
    13481348#endif 
     1349         IF( lwxios ) CALL iom_swap(      cxios_context          ) 
    13491350      ENDIF 
    13501351      ! 
     
    14341435      CALL wrk_dealloc( jpi,jpj,   zcu ) 
    14351436      ! 
     1437      IF( lwxios ) THEN 
     1438! define variables in restart file when writing with XIOS 
     1439         CALL iom_set_rstw_var_active('ub2_b') 
     1440         CALL iom_set_rstw_var_active('vb2_b') 
     1441         ! 
     1442         IF (.NOT.ln_bt_av) THEN 
     1443            CALL iom_set_rstw_var_active('sshbb_e') 
     1444            CALL iom_set_rstw_var_active('ubb_e') 
     1445            CALL iom_set_rstw_var_active('vbb_e') 
     1446            CALL iom_set_rstw_var_active('sshb_e') 
     1447            CALL iom_set_rstw_var_active('ub_e') 
     1448            CALL iom_set_rstw_var_active('vb_e') 
     1449         ENDIF 
     1450#if defined key_agrif 
     1451         ! Save time integrated fluxes 
     1452         IF ( .NOT.Agrif_Root() ) THEN 
     1453            CALL iom_set_rstw_var_active('ub2_i_b') 
     1454            CALL iom_set_rstw_var_active('vb2_i_b') 
     1455         ENDIF 
     1456#endif 
     1457      ENDIF 
     1458 
    14361459   END SUBROUTINE dyn_spg_ts_init 
    14371460 
Note: See TracChangeset for help on using the changeset viewer.