Changeset 14022 for NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/src/OCE/SBC/sbcblk.F90
- Timestamp:
- 2020-12-03T08:57:22+01:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice/src/OCE/SBC/sbcblk.F90
r14021 r14022 56 56 USE sbcblk_algo_andreas ! => turb_andreas : Andreas et al. 2015 57 57 ! 58 59 !60 58 USE iom ! I/O manager library 61 59 USE in_out_manager ! I/O manager … … 413 411 WRITE(numout,*) ' use surface current feedback on wind stress ln_crt_fbk = ', ln_crt_fbk 414 412 IF(ln_crt_fbk) THEN 415 416 417 413 WRITE(numout,*) ' Renault et al. 2020, eq. 10: Stau = Alpha * Wnd + Beta' 414 WRITE(numout,*) ' Alpha rn_stau_a = ', rn_stau_a 415 WRITE(numout,*) ' Beta rn_stau_b = ', rn_stau_b 418 416 ENDIF 419 417 ! … … 1135 1133 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 1136 1134 1137 zst = ptsu(ji,jj,jl) ! surface temperature of sea-ice [K] 1138 zsq = q_sat( zst, pslp(ji,jj), l_ice=.TRUE. ) ! surface saturation specific humidity when ice present 1139 1140 ! ----------------------------! 1141 ! I Radiative FLUXES ! 1142 ! ----------------------------! 1143 ! Short Wave (sw) 1144 qsr_ice(ji,jj,jl) = zztmp * ( 1. - palb(ji,jj,jl) ) * qsr(ji,jj) 1145 1146 ! Long Wave (lw) 1147 zst3 = zst * zst * zst 1148 z_qlw(ji,jj,jl) = emiss_i * ( pdqlw(ji,jj) - stefan * zst * zst3 ) * tmask(ji,jj,1) 1149 ! lw sensitivity 1150 z_dqlw(ji,jj,jl) = zcoef_dqlw * zst3 1151 1152 ! ----------------------------! 1153 ! II Turbulent FLUXES ! 1154 ! ----------------------------! 1155 1156 ! ... turbulent heat fluxes with Ch_ice recalculated in blk_ice_1 1157 1158 ! Common term in bulk F. equations... 1159 zzblk = rhoa(ji,jj) * wndm_ice(ji,jj) 1160 1161 ! Sensible Heat 1162 zztmp1 = zzblk * rCp_air * Ch_ice(ji,jj) 1163 z_qsb (ji,jj,jl) = zztmp1 * (zst - theta_zu_i(ji,jj)) 1164 z_dqsb(ji,jj,jl) = zztmp1 ! ==> Qsens sensitivity (Dqsb_ice/Dtn_ice) 1165 1166 ! Latent Heat 1167 zztmp1 = zzblk * rLsub * Ce_ice(ji,jj) 1168 qla_ice(ji,jj,jl) = MAX( zztmp1 * (zsq - q_zu_i(ji,jj)) , 0._wp ) ! #LB: only sublimation (and not condensation) ??? 1169 IF(qla_ice(ji,jj,jl)>0._wp) dqla_ice(ji,jj,jl) = zztmp1*dq_sat_dt_ice(zst, pslp(ji,jj)) ! ==> Qlat sensitivity (dQlat/dT) 1170 ! !#LB: dq_sat_dt_ice() in "sbc_phy.F90" 1171 !#LB: without this unjustified "condensation sensure": 1172 !qla_ice( ji,jj,jl) = zztmp1 * (zsq - q_zu_i(ji,jj)) 1173 !dqla_ice(ji,jj,jl) = zztmp1 * dq_sat_dt_ice(zst, pslp(ji,jj)) ! ==> Qlat sensitivity (dQlat/dT) 1174 1175 1176 1177 ! ----------------------------! 1178 ! III Total FLUXES ! 1179 ! ----------------------------! 1180 1181 ! Downward Non Solar flux 1182 qns_ice (ji,jj,jl) = z_qlw (ji,jj,jl) - z_qsb (ji,jj,jl) - qla_ice (ji,jj,jl) 1183 1184 ! Total non solar heat flux sensitivity for ice 1185 dqns_ice(ji,jj,jl) = - ( z_dqlw(ji,jj,jl) + z_dqsb(ji,jj,jl) + dqla_ice(ji,jj,jl) ) !#LB: correct signs ???? 1135 zst = ptsu(ji,jj,jl) ! surface temperature of sea-ice [K] 1136 zsq = q_sat( zst, pslp(ji,jj), l_ice=.TRUE. ) ! surface saturation specific humidity when ice present 1137 1138 ! ----------------------------! 1139 ! I Radiative FLUXES ! 1140 ! ----------------------------! 1141 ! Short Wave (sw) 1142 qsr_ice(ji,jj,jl) = zztmp * ( 1. - palb(ji,jj,jl) ) * qsr(ji,jj) 1143 1144 ! Long Wave (lw) 1145 zst3 = zst * zst * zst 1146 z_qlw(ji,jj,jl) = emiss_i * ( pdqlw(ji,jj) - stefan * zst * zst3 ) * tmask(ji,jj,1) 1147 ! lw sensitivity 1148 z_dqlw(ji,jj,jl) = zcoef_dqlw * zst3 1149 1150 ! ----------------------------! 1151 ! II Turbulent FLUXES ! 1152 ! ----------------------------! 1153 1154 ! ... turbulent heat fluxes with Ch_ice recalculated in blk_ice_1 1155 1156 ! Common term in bulk F. equations... 1157 zzblk = rhoa(ji,jj) * wndm_ice(ji,jj) 1158 1159 ! Sensible Heat 1160 zztmp1 = zzblk * rCp_air * Ch_ice(ji,jj) 1161 z_qsb (ji,jj,jl) = zztmp1 * (zst - theta_zu_i(ji,jj)) 1162 z_dqsb(ji,jj,jl) = zztmp1 ! ==> Qsens sensitivity (Dqsb_ice/Dtn_ice) 1163 1164 ! Latent Heat 1165 zztmp1 = zzblk * rLsub * Ce_ice(ji,jj) 1166 qla_ice(ji,jj,jl) = MAX( zztmp1 * (zsq - q_zu_i(ji,jj)) , 0._wp ) ! #LB: only sublimation (and not condensation) ??? 1167 IF(qla_ice(ji,jj,jl)>0._wp) dqla_ice(ji,jj,jl) = zztmp1*dq_sat_dt_ice(zst, pslp(ji,jj)) ! ==> Qlat sensitivity (dQlat/dT) 1168 ! !#LB: dq_sat_dt_ice() in "sbc_phy.F90" 1169 !#LB: without this unjustified "condensation sensure": 1170 !qla_ice( ji,jj,jl) = zztmp1 * (zsq - q_zu_i(ji,jj)) 1171 !dqla_ice(ji,jj,jl) = zztmp1 * dq_sat_dt_ice(zst, pslp(ji,jj)) ! ==> Qlat sensitivity (dQlat/dT) 1172 1173 1174 ! ----------------------------! 1175 ! III Total FLUXES ! 1176 ! ----------------------------! 1177 ! Downward Non Solar flux 1178 qns_ice (ji,jj,jl) = z_qlw (ji,jj,jl) - z_qsb (ji,jj,jl) - qla_ice (ji,jj,jl) 1179 ! Total non solar heat flux sensitivity for ice 1180 dqns_ice(ji,jj,jl) = - ( z_dqlw(ji,jj,jl) + z_dqsb(ji,jj,jl) + dqla_ice(ji,jj,jl) ) !#LB: correct signs ???? 1186 1181 1187 1182 END_2D
Note: See TracChangeset
for help on using the changeset viewer.