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/SBC/sbcmod.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/SBC/sbcmod.F90

    r8924 r8987  
    5656   USE lib_mpp        ! MPP library 
    5757   USE timing         ! Timing 
    58  
    5958   USE diurnal_bulk, ONLY:   ln_diurnal_only   ! diurnal SST diagnostic 
    6059 
     
    356355      IF( ln_wave     )   CALL sbc_wave_init              ! surface wave initialisation 
    357356      ! 
     357      IF( lwxios ) THEN 
     358         CALL iom_set_rstw_var_active('utau_b') 
     359         CALL iom_set_rstw_var_active('vtau_b') 
     360         CALL iom_set_rstw_var_active('qns_b') 
     361         ! The 3D heat content due to qsr forcing is treated in traqsr 
     362         ! CALL iom_set_rstw_var_active('qsr_b') 
     363         CALL iom_set_rstw_var_active('emp_b') 
     364         CALL iom_set_rstw_var_active('sfx_b') 
     365      ENDIF 
     366 
    358367   END SUBROUTINE sbc_init 
    359368 
     
    462471            & iom_varid( numror, 'utau_b', ldstop = .FALSE. ) > 0 ) THEN 
    463472            IF(lwp) WRITE(numout,*) '          nit000-1 surface forcing fields red in the restart file' 
    464             CALL iom_get( numror, jpdom_autoglo, 'utau_b', utau_b )   ! before i-stress  (U-point) 
    465             CALL iom_get( numror, jpdom_autoglo, 'vtau_b', vtau_b )   ! before j-stress  (V-point) 
    466             CALL iom_get( numror, jpdom_autoglo, 'qns_b' , qns_b  )   ! before non solar heat flux (T-point) 
     473            CALL iom_get( numror, jpdom_autoglo, 'utau_b', utau_b, ldxios = lrxios )   ! before i-stress  (U-point) 
     474            CALL iom_get( numror, jpdom_autoglo, 'vtau_b', vtau_b, ldxios = lrxios )   ! before j-stress  (V-point) 
     475            CALL iom_get( numror, jpdom_autoglo, 'qns_b' , qns_b, ldxios = lrxios  )   ! before non solar heat flux (T-point) 
    467476            ! The 3D heat content due to qsr forcing is treated in traqsr 
    468             ! CALL iom_get( numror, jpdom_autoglo, 'qsr_b' , qsr_b  ) ! before     solar heat flux (T-point) 
    469             CALL iom_get( numror, jpdom_autoglo, 'emp_b', emp_b  )    ! before     freshwater flux (T-point) 
     477            ! CALL iom_get( numror, jpdom_autoglo, 'qsr_b' , qsr_b, ldxios = lrxios  ) ! before     solar heat flux (T-point) 
     478            CALL iom_get( numror, jpdom_autoglo, 'emp_b', emp_b, ldxios = lrxios  )    ! before     freshwater flux (T-point) 
    470479            ! To ensure restart capability with 3.3x/3.4 restart files    !! to be removed in v3.6 
    471480            IF( iom_varid( numror, 'sfx_b', ldstop = .FALSE. ) > 0 ) THEN 
    472                CALL iom_get( numror, jpdom_autoglo, 'sfx_b', sfx_b )  ! before salt flux (T-point) 
     481               CALL iom_get( numror, jpdom_autoglo, 'sfx_b', sfx_b, ldxios = lrxios )  ! before salt flux (T-point) 
    473482            ELSE 
    474483               sfx_b (:,:) = sfx(:,:) 
     
    490499            &                    'at it= ', kt,' date= ', ndastp 
    491500         IF(lwp) WRITE(numout,*) '~~~~' 
    492          CALL iom_rstput( kt, nitrst, numrow, 'utau_b' , utau ) 
    493          CALL iom_rstput( kt, nitrst, numrow, 'vtau_b' , vtau ) 
    494          CALL iom_rstput( kt, nitrst, numrow, 'qns_b'  , qns  ) 
     501         IF( lwxios ) CALL iom_swap(      cwxios_context          ) 
     502         CALL iom_rstput( kt, nitrst, numrow, 'utau_b' , utau, ldxios = lwxios ) 
     503         CALL iom_rstput( kt, nitrst, numrow, 'vtau_b' , vtau, ldxios = lwxios ) 
     504         CALL iom_rstput( kt, nitrst, numrow, 'qns_b'  , qns, ldxios = lwxios  ) 
    495505         ! The 3D heat content due to qsr forcing is treated in traqsr 
    496506         ! CALL iom_rstput( kt, nitrst, numrow, 'qsr_b'  , qsr  ) 
    497          CALL iom_rstput( kt, nitrst, numrow, 'emp_b'  , emp  ) 
    498          CALL iom_rstput( kt, nitrst, numrow, 'sfx_b'  , sfx  ) 
     507         CALL iom_rstput( kt, nitrst, numrow, 'emp_b'  , emp, ldxios = lwxios  ) 
     508         CALL iom_rstput( kt, nitrst, numrow, 'sfx_b'  , sfx, ldxios = lwxios  ) 
     509         IF( lwxios ) CALL iom_swap(      cxios_context          ) 
    499510      ENDIF 
    500511      !                                                ! ---------------------------------------- ! 
Note: See TracChangeset for help on using the changeset viewer.