id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc 2434,Erroneous distribution of radiative fluxes in coupled mode 'oce and ice',phuot,systeam,"==== Context The management of radiative fluxes in coupled mode produces erroneous air-sea flux in ice covered regions if the option 'oce and ice' is used without specific treatment of multi-categories. ==== Analysis In sbccpl.f90: If clcat='no', the non solar heat air-ice heat flux is added to the total non solar heat flux inside the loop on sea ice categories. The air-ice heat flux is added 'jpl' times to the total non solar heat flux. {{{#!f CASE( 'oce and ice' ) ! the total flux is computed from ocean and ice fluxes zqns_tot(:,:) = ziceld(:,:) * frcv(jpr_qnsoce)%z3(:,:,1) IF ( TRIM(sn_rcv_qns%clcat) == 'yes' ) THEN DO jl=1,jpl zqns_tot(:,: ) = zqns_tot(:,:) + a_i(:,:,jl) * frcv(jpr_qnsice)%z3(:,:,jl) zqns_ice(:,:,jl) = frcv(jpr_qnsice)%z3(:,:,jl) END DO ELSE qns_tot(:,:) = qns_tot(:,:) + picefr(:,:) * frcv(jpr_qnsice)%z3(:,:,1) DO jl = 1, jpl zqns_tot(:,: ) = zqns_tot(:,:) + picefr(:,:) * frcv(jpr_qnsice)%z3(:,:,1) zqns_ice(:,:,jl) = frcv(jpr_qnsice)%z3(:,:,1) END DO ENDIF }}} Later: {{{#!f WHERE( ziceld /= 0._wp ) zqns_oce(:,:) = ( zqns_tot(:,:) - SUM( a_i * zqns_ice, dim=3 ) ) / ziceld(:,:) }}} leading to erroneous non solar heat flux over the ocean. The same treatment is applied to solar heat flux. ==== Fix A way of fixing this is to move the computation of the total non solar heat flux out of the loop over categories. {{{#!f ELSE qns_tot(:,:) = qns_tot(:,:) + picefr(:,:) * frcv(jpr_qnsice)%z3(:,:,1) zqns_tot(:,: ) = zqns_tot(:,:) + picefr(:,:) * frcv(jpr_qnsice)%z3(:,:,1) DO jl = 1, jpl zqns_ice(:,:,jl) = frcv(jpr_qnsice)%z3(:,:,1) END DO ENDIF }}} ",Bug,closed,low,,SBC,v4.0,minor,fixed,SBC coupled_mode coupling v4.0,