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

    r8800 r8801  
    5858 
    5959   USE diurnal_bulk, ONLY:   ln_diurnal_only   ! diurnal SST diagnostic 
    60    USE iom_def, ONLY : lxios_read 
     60   USE iom_def, ONLY : lrxios, lwxios 
    6161 
    6262   IMPLICIT NONE 
     
    342342      IF( ln_wave     )   CALL sbc_wave_init              ! surface wave initialisation 
    343343      ! 
     344      IF( lwxios ) THEN 
     345         CALL iom_set_rstw_var_active('utau_b') 
     346         CALL iom_set_rstw_var_active('vtau_b') 
     347         CALL iom_set_rstw_var_active('qns_b') 
     348         ! The 3D heat content due to qsr forcing is treated in traqsr 
     349         ! CALL iom_set_rstw_var_active('qsr_b') 
     350         CALL iom_set_rstw_var_active('emp_b') 
     351         CALL iom_set_rstw_var_active('sfx_b') 
     352      ENDIF 
     353 
    344354   END SUBROUTINE sbc_init 
    345355 
     
    458468            & iom_varid( numror, 'utau_b', ldstop = .FALSE. ) > 0 ) THEN 
    459469            IF(lwp) WRITE(numout,*) '          nit000-1 surface forcing fields red in the restart file' 
    460             CALL iom_get( numror, jpdom_autoglo, 'utau_b', utau_b, ldxios = lxios_read )   ! before i-stress  (U-point) 
    461             CALL iom_get( numror, jpdom_autoglo, 'vtau_b', vtau_b, ldxios = lxios_read )   ! before j-stress  (V-point) 
    462             CALL iom_get( numror, jpdom_autoglo, 'qns_b' , qns_b, ldxios = lxios_read  )   ! before non solar heat flux (T-point) 
     470            CALL iom_get( numror, jpdom_autoglo, 'utau_b', utau_b, ldxios = lrxios )   ! before i-stress  (U-point) 
     471            CALL iom_get( numror, jpdom_autoglo, 'vtau_b', vtau_b, ldxios = lrxios )   ! before j-stress  (V-point) 
     472            CALL iom_get( numror, jpdom_autoglo, 'qns_b' , qns_b, ldxios = lrxios  )   ! before non solar heat flux (T-point) 
    463473            ! The 3D heat content due to qsr forcing is treated in traqsr 
    464             ! CALL iom_get( numror, jpdom_autoglo, 'qsr_b' , qsr_b, ldxios = lxios_read  ) ! before     solar heat flux (T-point) 
    465             CALL iom_get( numror, jpdom_autoglo, 'emp_b', emp_b, ldxios = lxios_read  )    ! before     freshwater flux (T-point) 
     474            ! CALL iom_get( numror, jpdom_autoglo, 'qsr_b' , qsr_b, ldxios = lrxios  ) ! before     solar heat flux (T-point) 
     475            CALL iom_get( numror, jpdom_autoglo, 'emp_b', emp_b, ldxios = lrxios  )    ! before     freshwater flux (T-point) 
    466476            ! To ensure restart capability with 3.3x/3.4 restart files    !! to be removed in v3.6 
    467477            IF( iom_varid( numror, 'sfx_b', ldstop = .FALSE. ) > 0 ) THEN 
    468                CALL iom_get( numror, jpdom_autoglo, 'sfx_b', sfx_b, ldxios = lxios_read )  ! before salt flux (T-point) 
     478               CALL iom_get( numror, jpdom_autoglo, 'sfx_b', sfx_b, ldxios = lrxios )  ! before salt flux (T-point) 
    469479            ELSE 
    470480               sfx_b (:,:) = sfx(:,:) 
     
    486496            &                    'at it= ', kt,' date= ', ndastp 
    487497         IF(lwp) WRITE(numout,*) '~~~~' 
    488          CALL iom_rstput( kt, nitrst, numrow, 'utau_b' , utau ) 
    489          CALL iom_rstput( kt, nitrst, numrow, 'vtau_b' , vtau ) 
    490          CALL iom_rstput( kt, nitrst, numrow, 'qns_b'  , qns  ) 
     498         IF( lwxios ) CALL iom_swap(      cwxios_context          ) 
     499         CALL iom_rstput( kt, nitrst, numrow, 'utau_b' , utau, ldxios = lwxios ) 
     500         CALL iom_rstput( kt, nitrst, numrow, 'vtau_b' , vtau, ldxios = lwxios ) 
     501         CALL iom_rstput( kt, nitrst, numrow, 'qns_b'  , qns, ldxios = lwxios  ) 
    491502         ! The 3D heat content due to qsr forcing is treated in traqsr 
    492503         ! CALL iom_rstput( kt, nitrst, numrow, 'qsr_b'  , qsr  ) 
    493          CALL iom_rstput( kt, nitrst, numrow, 'emp_b'  , emp  ) 
    494          CALL iom_rstput( kt, nitrst, numrow, 'sfx_b'  , sfx  ) 
     504         CALL iom_rstput( kt, nitrst, numrow, 'emp_b'  , emp, ldxios = lwxios  ) 
     505         CALL iom_rstput( kt, nitrst, numrow, 'sfx_b'  , sfx, ldxios = lwxios  ) 
     506         IF( lwxios ) CALL iom_swap(      cxios_context          ) 
    495507      ENDIF 
    496508      !                                                ! ---------------------------------------- ! 
Note: See TracChangeset for help on using the changeset viewer.