- Timestamp:
- 2020-02-13T16:36:44+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0_add_pond_lids_prints/src/ICE/icealb.F90
r10888 r12382 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, plh_pnd, palb_cs, palb_os ) 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(in ), DIMENSION(:,:,:) :: plh_pnd ! melt pond lid thickness 99 100 REAL(wp), INTENT( out), DIMENSION(:,:,:) :: palb_cs ! albedo of ice under clear sky 100 101 REAL(wp), INTENT( out), DIMENSION(:,:,:) :: palb_os ! albedo of ice under overcast sky 102 ! 103 REAL(wp), PARAMETER :: pnd_lid_max = 0.015 ! pond lid thickness above which the ponds disappear from the albedo calculation 104 REAL(wp), PARAMETER :: pnd_lid_min = 0.005 ! pond lid thickness below which the full pond area is used in the albedo calculation 105 ! Note: these two variables are mirrored in sbccpl.F90 (maybe put them in one place...) 101 106 ! 102 107 INTEGER :: ji, jj, jl ! dummy loop indices … … 106 111 REAL(wp) :: zalb_ice, zafrac_ice ! bare sea ice albedo & relative ice fraction 107 112 REAL(wp) :: zalb_snw, zafrac_snw ! snow-covered sea ice albedo & relative snow fraction 113 REAL(wp) :: lfrac_pnd ! The fraction of the meltpond exposed (not inder a frozen lid) 108 114 !!--------------------------------------------------------------------- 109 115 ! … … 123 129 zafrac_snw = 0._wp 124 130 IF( ld_pnd_alb ) THEN 125 zafrac_pnd = pafrac_pnd(ji,jj,jl) 131 IF ( plh_pnd(ji,jj,jl) > pnd_lid_max ) THEN 132 lfrac_pnd = 0._wp 133 ELSE 134 IF ( plh_pnd(ji,jj,jl) < pnd_lid_min ) THEN 135 lfrac_pnd = 1._wp 136 ELSE 137 lfrac_pnd = ( plh_pnd(ji,jj,jl) - pnd_lid_min ) / (pnd_lid_max - pnd_lid_min) 138 END IF 139 END IF 140 zafrac_pnd = pafrac_pnd(ji,jj,jl) * lfrac_pnd 126 141 ELSE 127 142 zafrac_pnd = 0._wp
Note: See TracChangeset
for help on using the changeset viewer.