- Timestamp:
- 2021-12-03T20:32:50+01:00 (3 years ago)
- Location:
- NEMO/branches/2021/dev_r14318_RK3_stage1
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14318_RK3_stage1
- Property svn:externals
-
old new 9 9 10 10 # SETTE 11 ^/utils/CI/sette@14244 sette 11 ^/utils/CI/sette@HEAD sette 12
-
- Property svn:externals
-
NEMO/branches/2021/dev_r14318_RK3_stage1/src/ICE/icealb.F90
r13472 r15574 30 30 PUBLIC ice_alb ! called in icesbc.F90 and iceupdate.F90 31 31 32 REAL(wp), PUBLIC, PARAMETER :: rn_alb_oce = 0.066 !: ocean or lead albedo (Pegau and Paulson, Ann. Glac. 2001)32 REAL(wp), PUBLIC, PARAMETER :: rn_alb_oce = 0.066_wp !: ocean or lead albedo (Pegau and Paulson, Ann. Glac. 2001) 33 33 ! 34 34 ! !!* albedo namelist (namalb) … … 38 38 REAL(wp) :: rn_alb_imlt ! bare puddled ice albedo 39 39 REAL(wp) :: rn_alb_dpnd ! ponded ice albedo 40 REAL(wp) :: rn_alb_hpiv ! pivotal ice thickness in meters (above which albedo is constant) 40 41 41 42 !! * Substitutions … … 59 60 !! which are an update of Allison et al. (JGR 1993) ; Brandt et al. 1999 60 61 !! 0-5cm : linear function of ice thickness 61 !! 5-1 50cm: log function of ice thickness62 !! > 1 50cm: constant62 !! 5-100cm: log function of ice thickness 63 !! > 100cm: constant 63 64 !! 2) Albedo dependency on snow thickness follows the findings from Grenfell & Perovich (2004) 64 65 !! i.e. it increases as -EXP(-snw_thick/0.02) during freezing and -EXP(-snw_thick/0.03) during melting … … 115 116 IF( ln_timing ) CALL timing_start('icealb') 116 117 ! 117 z1_href_pnd = 1. / 0.05118 z1_c1 = 1. / ( LOG(1.5) - LOG(0.05) )119 z1_c2 = 1. / 0.05120 z1_c3 = 1. / 0.02121 z1_c4 = 1. / 0.03118 z1_href_pnd = 1._wp / 0.05_wp 119 z1_c1 = 1._wp / ( LOG(rn_alb_hpiv) - LOG(0.05_wp) ) 120 z1_c2 = 1._wp / 0.05_wp 121 z1_c3 = 1._wp / 0.02_wp 122 z1_c4 = 1._wp / 0.03_wp 122 123 ! 123 124 CALL ice_var_snwfra( ph_snw, za_s_fra ) ! calculate ice fraction covered by snow 124 125 ! 125 126 DO jl = 1, jpl 126 DO_2D( 1, 1, 1, 1 )127 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! palb_ice used over the full domain in icesbc 127 128 ! 128 129 !---------------------------------------------! … … 140 141 !--- Albedos ---! 141 142 !---------------! 142 ! !--- Bare ice albedo (for hi > 1 50cm)143 ! !--- Bare ice albedo (for hi > 100cm) 143 144 IF( ld_pnd_alb ) THEN 144 145 zalb_ice = rn_alb_idry … … 147 148 ELSE ; zalb_ice = rn_alb_idry ; ENDIF 148 149 ENDIF 149 ! !--- Bare ice albedo (for hi < 1 50cm)150 IF( 0.05 < ph_ice(ji,jj,jl) .AND. ph_ice(ji,jj,jl) <= 1.5 ) THEN ! 5cm < hi < 150cm151 zalb_ice = zalb_ice + ( 0.18 - zalb_ice ) * z1_c1 * ( LOG(1.5) - LOG(ph_ice(ji,jj,jl)) )152 ELSEIF( ph_ice(ji,jj,jl) <= 0.05 ) THEN! 0cm < hi < 5cm153 zalb_ice = rn_alb_oce + ( 0.18 - rn_alb_oce ) * z1_c2 * ph_ice(ji,jj,jl)150 ! !--- Bare ice albedo (for hi < 100cm) 151 IF( 0.05 < ph_ice(ji,jj,jl) .AND. ph_ice(ji,jj,jl) <= rn_alb_hpiv ) THEN ! 5cm < hi < 100cm 152 zalb_ice = zalb_ice + ( 0.18_wp - zalb_ice ) * z1_c1 * ( LOG(rn_alb_hpiv) - LOG(ph_ice(ji,jj,jl)) ) 153 ELSEIF( ph_ice(ji,jj,jl) <= 0.05_wp ) THEN ! 0cm < hi < 5cm 154 zalb_ice = rn_alb_oce + ( 0.18_wp - rn_alb_oce ) * z1_c2 * ph_ice(ji,jj,jl) 154 155 ENDIF 155 156 ! … … 166 167 zalb_os = ( zafrac_snw * zalb_snw + zafrac_pnd * zalb_pnd + zafrac_ice * zalb_ice ) * tmask(ji,jj,1) 167 168 ! 168 zalb_cs = zalb_os - ( - 0.1010 * zalb_os * zalb_os &169 & + 0.1933 * zalb_os - 0.0148) * tmask(ji,jj,1)169 zalb_cs = zalb_os - ( - 0.1010_wp * zalb_os * zalb_os & 170 & + 0.1933_wp * zalb_os - 0.0148_wp ) * tmask(ji,jj,1) 170 171 ! 171 172 ! albedo depends on cloud fraction because of non-linear spectral effects … … 191 192 INTEGER :: ios ! Local integer output status for namelist read 192 193 !! 193 NAMELIST/namalb/ rn_alb_sdry, rn_alb_smlt, rn_alb_idry, rn_alb_imlt, rn_alb_dpnd 194 NAMELIST/namalb/ rn_alb_sdry, rn_alb_smlt, rn_alb_idry, rn_alb_imlt, rn_alb_dpnd, rn_alb_hpiv 194 195 !!---------------------------------------------------------------------- 195 196 ! … … 210 211 WRITE(numout,*) ' albedo of bare puddled ice rn_alb_imlt = ', rn_alb_imlt 211 212 WRITE(numout,*) ' albedo of ponded ice rn_alb_dpnd = ', rn_alb_dpnd 213 WRITE(numout,*) ' pivotal ice thickness (m) rn_alb_hpiv = ', rn_alb_hpiv 212 214 ENDIF 213 215 !
Note: See TracChangeset
for help on using the changeset viewer.