- Timestamp:
- 2020-05-15T18:15:25+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0.1_fix_cpl_v2/src/ICE/icealb.F90
r11715 r12937 45 45 CONTAINS 46 46 47 SUBROUTINE ice_alb( pt_su, ph_ice, ph_snw, ld_pnd_alb, pafrac_pnd, ph_pnd, p alb_cs, palb_os)47 SUBROUTINE ice_alb( pt_su, ph_ice, ph_snw, ld_pnd_alb, pafrac_pnd, ph_pnd, pcloud_fra, palb_ice ) 48 48 !!---------------------------------------------------------------------- 49 49 !! *** ROUTINE ice_alb *** … … 97 97 REAL(wp), INTENT(in ), DIMENSION(:,:,:) :: pafrac_pnd ! melt pond relative fraction (per unit ice area) 98 98 REAL(wp), INTENT(in ), DIMENSION(:,:,:) :: ph_pnd ! melt pond depth 99 REAL(wp), INTENT( out), DIMENSION(:,:,:) :: palb_cs ! albedo of ice under clear sky100 REAL(wp), INTENT( out), DIMENSION(:,:,:) :: palb_ os ! albedo of ice under overcast sky99 REAL(wp), INTENT(in ), DIMENSION(:,:) :: pcloud_fra ! cloud fraction 100 REAL(wp), INTENT( out), DIMENSION(:,:,:) :: palb_ice ! albedo of ice 101 101 ! 102 102 INTEGER :: ji, jj, jl ! dummy loop indices … … 106 106 REAL(wp) :: zalb_ice, zafrac_ice ! bare sea ice albedo & relative ice fraction 107 107 REAL(wp) :: zalb_snw, zafrac_snw ! snow-covered sea ice albedo & relative snow fraction 108 REAL(wp) :: zalb_cs, zalb_os ! albedo of ice under clear/overcast sky 108 109 !!--------------------------------------------------------------------- 109 110 ! … … 119 120 DO jj = 1, jpj 120 121 DO ji = 1, jpi 121 ! !--- Specific snow, ice and pond fractions (for now, we prevent melt ponds and snow at the same time) 122 IF( ph_snw(ji,jj,jl) == 0._wp ) THEN 122 !---------------------------------------------! 123 !--- Specific snow, ice and pond fractions ---! 124 !---------------------------------------------! 125 IF( ph_snw(ji,jj,jl) == 0._wp ) THEN !--- no snow : we prevent melt ponds and snow at the same time (for now) 123 126 zafrac_snw = 0._wp 124 127 IF( ld_pnd_alb ) THEN … … 129 132 zafrac_ice = 1._wp - zafrac_pnd 130 133 ELSE 131 zafrac_snw = 1._wp ! Snowfully "shades" melt ponds and ice134 zafrac_snw = 1._wp !--- snow : fully "shades" melt ponds and ice 132 135 zafrac_pnd = 0._wp 133 136 zafrac_ice = 0._wp 134 137 ENDIF 135 138 ! 139 !---------------! 140 !--- Albedos ---! 141 !---------------! 136 142 ! !--- Bare ice albedo (for hi > 150cm) 137 143 IF( ld_pnd_alb ) THEN … … 161 167 ENDIF 162 168 ! !--- Surface albedo is weighted mean of snow, ponds and bare ice contributions 163 palb_os(ji,jj,jl) = ( zafrac_snw * zalb_snw + zafrac_pnd * zalb_pnd + zafrac_ice * zalb_ice ) * tmask(ji,jj,1) 164 ! 165 palb_cs(ji,jj,jl) = palb_os(ji,jj,jl) & 166 & - ( - 0.1010 * palb_os(ji,jj,jl) * palb_os(ji,jj,jl) & 167 & + 0.1933 * palb_os(ji,jj,jl) - 0.0148 ) * tmask(ji,jj,1) 168 ! 169 zalb_os = ( zafrac_snw * zalb_snw + zafrac_pnd * zalb_pnd + zafrac_ice * zalb_ice ) * tmask(ji,jj,1) 170 ! 171 zalb_cs = zalb_os - ( - 0.1010 * zalb_os * zalb_os & 172 & + 0.1933 * zalb_os - 0.0148 ) * tmask(ji,jj,1) 173 ! 174 ! albedo depends on cloud fraction because of non-linear spectral effects 175 palb_ice(ji,jj,jl) = ( 1._wp - pcloud_fra(ji,jj) ) * zalb_cs + pcloud_fra(ji,jj) * zalb_os 176 169 177 END DO 170 178 END DO
Note: See TracChangeset
for help on using the changeset viewer.