Ignore:
Timestamp:
2020-04-24T17:20:27+02:00 (11 months ago)
Author:
clem
Message:

debug a restartability issue. All sette tests passed now

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl/tests/ICE_AGRIF/MY_SRC/usrdef_sbc.F90

    r10516 r12811  
    108108      REAL(wp), DIMENSION(:,:,:), INTENT(in)  ::   phi    ! ice thickness 
    109109      !! 
     110      INTEGER  ::   jl 
    110111      REAL(wp) ::   zfr1, zfr2                 ! local variables 
    111112      REAL(wp), DIMENSION(jpi,jpj) ::   zsnw   ! snw distribution after wind blowing 
     113      REAL(wp), DIMENSION(jpi,jpj) ::   ztri 
    112114      !!--------------------------------------------------------------------- 
    113115      ! 
     
    142144 
    143145      ! --- shortwave radiation transmitted below the surface (W/m2, see Grenfell Maykut 77) --- ! 
    144       zfr1 = ( 0.18 * ( 1.0 - cldf_ice ) + 0.35 * cldf_ice )            ! transmission when hi>10cm 
    145       zfr2 = ( 0.82 * ( 1.0 - cldf_ice ) + 0.65 * cldf_ice )            ! zfr2 such that zfr1 + zfr2 to equal 1 
     146      cloud_fra(:,:) = pp_cldf 
     147      ztri(:,:) = 0.18 * ( 1.0 - cloud_fra(:,:) ) + 0.35 * cloud_fra(:,:)  ! surface transmission when hi>10cm 
    146148      ! 
    147       WHERE    ( phs(:,:,:) <= 0._wp .AND. phi(:,:,:) <  0.1_wp )       ! linear decrease from hi=0 to 10cm   
    148          qtr_ice_top(:,:,:) = qsr_ice(:,:,:) * ( zfr1 + zfr2 * ( 1._wp - phi(:,:,:) * 10._wp ) ) 
    149       ELSEWHERE( phs(:,:,:) <= 0._wp .AND. phi(:,:,:) >= 0.1_wp )       ! constant (zfr1) when hi>10cm 
    150          qtr_ice_top(:,:,:) = qsr_ice(:,:,:) * zfr1 
    151       ELSEWHERE                                                         ! zero when hs>0 
    152          qtr_ice_top(:,:,:) = 0._wp  
    153       END WHERE 
     149      DO jl = 1, jpl 
     150         WHERE    ( phs(:,:,jl) <= 0._wp .AND. phi(:,:,jl) <  0.1_wp )     ! linear decrease from hi=0 to 10cm   
     151            qtr_ice_top(:,:,jl) = qsr_ice(:,:,jl) * ( ztri(:,:) + ( 1._wp - ztri(:,:) ) * ( 1._wp - phi(:,:,jl) * 10._wp ) ) 
     152         ELSEWHERE( phs(:,:,jl) <= 0._wp .AND. phi(:,:,jl) >= 0.1_wp )     ! constant (ztri) when hi>10cm 
     153            qtr_ice_top(:,:,jl) = qsr_ice(:,:,jl) * ztri(:,:) 
     154         ELSEWHERE                                                         ! zero when hs>0 
     155            qtr_ice_top(:,:,jl) = 0._wp 
     156         END WHERE 
     157      ENDDO 
    154158           
    155159   END SUBROUTINE usrdef_sbc_ice_flx 
Note: See TracChangeset for help on using the changeset viewer.