- Timestamp:
- 2017-09-26T15:24:17+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/BDY/bdyice.F90
r8514 r8563 111 111 zwgt = idx%nbw(jb,jgrd) 112 112 zwgt1 = 1.e0 - idx%nbw(jb,jgrd) 113 a_i (ji,jj,jl) = ( a_i (ji,jj,jl) * zwgt1 + dta%a_i(jb,jl) * zwgt ) * tmask(ji,jj,1) ! Leads fraction114 h t_i(ji,jj,jl) = ( ht_i(ji,jj,jl) * zwgt1 + dta%ht_i(jb,jl) * zwgt ) * tmask(ji,jj,1) ! Ice depth115 h t_s(ji,jj,jl) = ( ht_s(ji,jj,jl) * zwgt1 + dta%ht_s(jb,jl) * zwgt ) * tmask(ji,jj,1) ! Snow depth113 a_i(ji,jj,jl) = ( a_i(ji,jj,jl) * zwgt1 + dta%a_i(jb,jl) * zwgt ) * tmask(ji,jj,1) ! Leads fraction 114 h_i(ji,jj,jl) = ( h_i(ji,jj,jl) * zwgt1 + dta%h_i(jb,jl) * zwgt ) * tmask(ji,jj,1) ! Ice depth 115 h_s(ji,jj,jl) = ( h_s(ji,jj,jl) * zwgt1 + dta%h_s(jb,jl) * zwgt ) * tmask(ji,jj,1) ! Snow depth 116 116 117 117 ! ----------------- … … 122 122 123 123 ! Then, a) transfer the snow excess into the ice (different from icethd_dh) 124 zdh = MAX( 0._wp, ( rhosn * h t_s(ji,jj,jl) + ( rhoic - rau0 ) * ht_i(ji,jj,jl) ) * r1_rau0 )124 zdh = MAX( 0._wp, ( rhosn * h_s(ji,jj,jl) + ( rhoic - rau0 ) * h_i(ji,jj,jl) ) * r1_rau0 ) 125 125 ! Or, b) transfer all the snow into ice (if incoming ice is likely to melt as it comes into a warmer environment) 126 !zdh = MAX( 0._wp, h t_s(ji,jj,jl) * rhosn / rhoic )127 128 ! recompute h t_i, ht_s129 h t_i(ji,jj,jl) = MIN( hi_max(jl), ht_i(ji,jj,jl) + zdh )130 h t_s(ji,jj,jl) = MAX( 0._wp, ht_s(ji,jj,jl) - zdh * rhoic / rhosn )126 !zdh = MAX( 0._wp, h_s(ji,jj,jl) * rhosn / rhoic ) 127 128 ! recompute h_i, h_s 129 h_i(ji,jj,jl) = MIN( hi_max(jl), h_i(ji,jj,jl) + zdh ) 130 h_s(ji,jj,jl) = MAX( 0._wp, h_s(ji,jj,jl) - zdh * rhoic / rhosn ) 131 131 132 132 ENDDO 133 CALL lbc_bdy_lnk( 134 CALL lbc_bdy_lnk( h t_i(:,:,jl), 'T', 1., ib_bdy )135 CALL lbc_bdy_lnk( h t_s(:,:,jl), 'T', 1., ib_bdy )133 CALL lbc_bdy_lnk( a_i(:,:,jl), 'T', 1., ib_bdy ) 134 CALL lbc_bdy_lnk( h_i(:,:,jl), 'T', 1., ib_bdy ) 135 CALL lbc_bdy_lnk( h_s(:,:,jl), 'T', 1., ib_bdy ) 136 136 ENDDO 137 137 ! retrieve at_i … … 161 161 ! 162 162 ! concentration and thickness 163 a_i (ji,jj,jl) = a_i(ii,ij,jl) * rswitch164 h t_i(ji,jj,jl) = ht_i(ii,ij,jl) * rswitch165 h t_s(ji,jj,jl) = ht_s(ii,ij,jl) * rswitch163 a_i(ji,jj,jl) = a_i(ii,ij,jl) * rswitch 164 h_i(ji,jj,jl) = h_i(ii,ij,jl) * rswitch 165 h_s(ji,jj,jl) = h_s(ii,ij,jl) * rswitch 166 166 ! 167 167 ! Ice and snow volumes 168 v_i(ji,jj,jl) = h t_i(ji,jj,jl) * a_i(ji,jj,jl)169 v_s(ji,jj,jl) = h t_s(ji,jj,jl) * a_i(ji,jj,jl)168 v_i(ji,jj,jl) = h_i(ji,jj,jl) * a_i(ji,jj,jl) 169 v_s(ji,jj,jl) = h_s(ji,jj,jl) * a_i(ji,jj,jl) 170 170 ! 171 171 SELECT CASE( jpbound ) … … 222 222 - rcp * ( ztmelts - rt0 ) ) 223 223 ! Mutliply by ice volume, and divide by number of layers to get heat content in J/m2 224 e_i(ji,jj,jk,jl) = e_i(ji,jj,jk,jl) * a_i(ji,jj,jl) * h t_i(ji,jj,jl) * r1_nlay_i224 e_i(ji,jj,jk,jl) = e_i(ji,jj,jk,jl) * a_i(ji,jj,jl) * h_i(ji,jj,jl) * r1_nlay_i 225 225 END DO 226 226 ! … … 228 228 ! 229 229 CALL lbc_bdy_lnk( a_i(:,:,jl), 'T', 1., ib_bdy ) 230 CALL lbc_bdy_lnk( ht_i(:,:,jl), 'T', 1., ib_bdy )231 CALL lbc_bdy_lnk( ht_s(:,:,jl), 'T', 1., ib_bdy )230 CALL lbc_bdy_lnk( h_i(:,:,jl), 'T', 1., ib_bdy ) 231 CALL lbc_bdy_lnk( h_s(:,:,jl), 'T', 1., ib_bdy ) 232 232 CALL lbc_bdy_lnk( v_i(:,:,jl), 'T', 1., ib_bdy ) 233 233 CALL lbc_bdy_lnk( v_s(:,:,jl), 'T', 1., ib_bdy )
Note: See TracChangeset
for help on using the changeset viewer.