Changeset 11500


Ignore:
Timestamp:
2019-09-04T15:49:41+02:00 (20 months ago)
Author:
timgraham
Message:

In sbc_cpl_ice_flx add IF blocks so that code is only called on timesteps when coupling occurs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg_cons_checks/src/OCE/SBC/sbccpl.F90

    r11436 r11500  
    16661666      ! 
    16671667      INTEGER  ::   ji, jj, jl   ! dummy loop index 
     1668      INTEGER  ::   itx      ! index of flux over ice 
    16681669      REAL(wp) ::   ztri         ! local scalar 
    16691670      REAL(wp), DIMENSION(jpi,jpj)     ::   zcptn, zcptrain, zcptsnw, ziceld, zmsk, zsnw 
     
    16731674      !!---------------------------------------------------------------------- 
    16741675      ! 
     1676      IF( TRIM( sn_rcv_emp%cldes ) == 'conservative' ) THEN ; itx=jpr_snow ; 
     1677      ELSE ; itx=jpr_semp ; ENDIF 
     1678 
     1679      IF(  nrcvinfo(itx) == OASIS_Rcv ) THEN 
     1680 
    16751681      IF( ln_mixcpl )   zmsk(:,:) = 1. - xcplmask(:,:,0) 
    16761682      ziceld(:,:) = 1._wp - picefr(:,:) 
     
    17901796      ! 
    17911797#endif 
     1798      ENDIF 
    17921799 
    17931800      ! outputs 
     
    18061813      ! note: runoff output is done in sbcrnf (which includes icebergs too) and iceshelf output is done in sbcisf 
    18071814      ! 
     1815      !TG comment - the variable used here should depend on the type of coupling 
     1816      !used for qns 
     1817      IF( TRIM( sn_rcv_qns%cldes ) == 'oce only' ) THEN ; itx=jpr_qsnoce ; 
     1818      ELSE ; itx=jpr_qnsice ; ENDIF 
     1819 
     1820      IF(  nrcvinfo(itx) == OASIS_Rcv ) THEN  
    18081821      !                                                      ! ========================= ! 
    18091822      SELECT CASE( TRIM( sn_rcv_qns%cldes ) )                !   non solar heat fluxes   !   (qns) 
     
    19231936 
    19241937#endif 
    1925       ! outputs 
     1938      ENDIF !End of code only run when qns received 
     1939 
     1940      ! outputs - these must be called every time step even if coupling hasn't 
     1941      ! happened. 
    19261942      IF ( srcv(jpr_cal)%laction       ) CALL iom_put('hflx_cal_cea'    , - frcv(jpr_cal)%z3(:,:,1) * rLfus )                      ! latent heat from calving 
    19271943      IF ( srcv(jpr_icb)%laction       ) CALL iom_put('hflx_icb_cea'    , - frcv(jpr_icb)%z3(:,:,1) * rLfus )                      ! latent heat from icebergs melting 
     
    19361952      ! note: hflx for runoff and iceshelf are done in sbcrnf and sbcisf resp. 
    19371953      ! 
     1954 
     1955      IF( TRIM( sn_rcv_qsr%cldes ) == 'oce only') THEN ; itx=jpr_qsroce  
     1956      ELSE ; itx = jpr_qsrice ; ENDIF 
     1957      IF(  nrcvinfo(itx) == OASIS_Rcv ) THEN  
    19381958      !                                                      ! ========================= ! 
    19391959      SELECT CASE( TRIM( sn_rcv_qsr%cldes ) )                !      solar heat fluxes    !   (qsr) 
     
    20592079      ! 
    20602080#endif 
     2081      ENDIF !End of test for coupled solar flux 
    20612082      ! 
    20622083   END SUBROUTINE sbc_cpl_ice_flx 
Note: See TracChangeset for help on using the changeset viewer.