Ignore:
Timestamp:
2019-12-07T12:40:06+01:00 (3 months ago)
Author:
cetlod
Message:

check out & merge dev_r11643_ENHANCE-11_CEthe_Shaconemo_diags branch onto dev_r12072_TOP-01_ENHANCE-11_CEthe

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r12072_TOP-01_ENHANCE-11_CEthe/src/OCE/SBC/sbcblk.F90

    r11993 r12109  
    801801      REAL(wp), DIMENSION(jpi,jpj)     ::   zevap, zsnw   ! evaporation and snw distribution after wind blowing (SI3) 
    802802      REAL(wp), DIMENSION(jpi,jpj)     ::   zrhoa 
     803      REAL(wp), DIMENSION(jpi,jpj)     ::   ztmp, ztmp2 
    803804      !!--------------------------------------------------------------------- 
    804805      ! 
     
    913914         qtr_ice_top(:,:,:) = 0._wp  
    914915      END WHERE 
     916      ! 
     917 
     918      IF( iom_use('evap_ao_cea') .OR. iom_use('hflx_evap_cea') ) THEN 
     919         ztmp(:,:) = zevap(:,:) * ( 1._wp - at_i_b(:,:) )  
     920         IF( iom_use('evap_ao_cea'  ) )  CALL iom_put( 'evap_ao_cea'  , ztmp(:,:) * tmask(:,:,1) )   ! ice-free oce evap (cell average) 
     921         IF( iom_use('hflx_evap_cea') )  CALL iom_put( 'hflx_evap_cea', ztmp(:,:) * sst_m(:,:) * rcp * tmask(:,:,1) )   ! heat flux from evap (cell average) 
     922      ENDIF 
     923      IF( iom_use('hflx_rain_cea') ) THEN 
     924         ztmp(:,:) = rcp * ( SUM( (ptsu-rt0) * a_i_b, dim=3 ) + sst_m(:,:) * ( 1._wp - at_i_b(:,:) ) ) 
     925         IF( iom_use('hflx_rain_cea') )  CALL iom_put( 'hflx_rain_cea', ( tprecip(:,:) - sprecip(:,:) ) * ztmp(:,:) )   ! heat flux from rain (cell average) 
     926      ENDIF 
     927      IF( iom_use('hflx_snow_cea') .OR. iom_use('hflx_snow_ao_cea') .OR. iom_use('hflx_snow_ai_cea')  )  THEN 
     928          WHERE( SUM( a_i_b, dim=3 ) > 1.e-10 ) ;   ztmp(:,:) = rcpi * SUM( (ptsu-rt0) * a_i_b, dim=3 ) / SUM( a_i_b, dim=3 ) 
     929          ELSEWHERE                             ;   ztmp(:,:) = rcp * sst_m(:,:)     
     930          ENDWHERE 
     931          ztmp2(:,:) = sprecip(:,:) * ( ztmp(:,:) - rLfus )  
     932          IF( iom_use('hflx_snow_cea')    ) CALL iom_put('hflx_snow_cea'   , ztmp2(:,:) ) ! heat flux from snow (cell average) 
     933          IF( iom_use('hflx_snow_ao_cea') ) CALL iom_put('hflx_snow_ao_cea', ztmp2(:,:) * ( 1._wp - zsnw(:,:) ) ) ! heat flux from snow (over ocean) 
     934          IF( iom_use('hflx_snow_ai_cea') ) CALL iom_put('hflx_snow_ai_cea', ztmp2(:,:) *           zsnw(:,:)   ) ! heat flux from snow (over ice) 
     935      ENDIF 
    915936      ! 
    916937      IF(ln_ctl) THEN 
Note: See TracChangeset for help on using the changeset viewer.