[[ParentLinkage(=)]] = '''New Surface Module''' = [[TOC(depth=99,private/NewSurfaceModule)]] We put here description of the work done around this package. Mainly some figures ...etc '''CONTEXT:'''[[BR]] ''Experiments:'' REF_CORE (reference version) & SBC_NEW (new surface module)[[BR]] ''Configuration type'': Configuration ORCA2_LIM with bulk CORE[[BR]] "Forcing spefs:" precipitation and snow are monthly value without time interpolation else [[BR]] it will be different in SBC_NEW and REF_CORE. '''EXPERIENCES DESCRIPTION:'''[[BR]] == '''FULL_SDP7''': == '''* FULL_SDP7''':[[BR]] Only for REF_CORE: following FULL_SDP6 exp., modifications in REF_CORE in the wind stress management [[BR]] over sea-ice and ocean to be closer to what is done in NEW_SBC.[[BR]] - '''in flx_core.h90''', splitting of the ocean/sea-ice wind stress: {{{ tauxt(:,:) = rhoa*dUnormt(:,:)*Cd(:,:)*(flxnow(:,:,2) - zut(:,:)) taux_it(:,:) = rhoa*dUnormt(:,:)*Cice*flxnow(:,:,2) !CT tauxt(:,:) = rhoa*dUnormt(:,:)*( (1. - freeze(:,:))*Cd(:,:)*(flxnow(:,:,2) - zut(:,:)) & !CT & + freeze(:,:)*Cice*flxnow(:,:,2) ) !lb correct pour glace ! Tau_y at T-point tauyt(:,:) = rhoa*dUnormt(:,:)*Cd(:,:)*(flxnow(:,:,3) - zvt(:,:)) tauy_it(:,:) = rhoa*dUnormt(:,:)*Cice*flxnow(:,:,3) }}} - the ocean wind stress is masked using tmask(:,:) {{{ !Tau_x at U-point DO jj = 1, jpjm1 DO ji = 1, jpi taux(ji,jj) = 0.5*(tauxt(ji,jj) + tauxt(ji+1,jj))*( 2. - tmask(ji,jj,1) ) tauy(ji,jj) = 0.5*(tauyt(ji,jj) + tauyt(ji,jj+1))*( 2. - tmask(ji,jj,1) ) END DO END DO }}} - '''in icestp.F90''': compute wind stress gtau[xy] over sea-ice at I-point location using tau[xy]_it(:,:) fileds.[[BR]] - '''in limdyn.F90:''' compute the ice/ocean stress the same way it is done in NEW_SBC, i.e. only based on the wind speed [uv]_ice - [uv]_oce differences [[BR]] - '''in ocesbc.F90:''' the final wind stress over the ocean is the result of both ice/ocean & "pure" ocean stress mixing weighted with leads fraction.[[BR]] == '''FULL_SDP6''': == '''* FULL_SDP6''':[[BR]] Only for REF_CORE: Correction of an other bug in limdyn.F90:[[BR]] The friction velocity ust2s() is computed at T-point. To do so, we must compute a mean of speed velocities using velocities around T-point at i,j location and not i-1,j-1 location as it is done in the reference.[[BR]] [[Color(white,red,'''NOTICE''')]]: this run includes the modification done for SDP5. See below.[[BR]] {{{ ! computation of friction velocity DO jj = 2, jpjm1 DO ji = 2, jpim1 !CT start SDP6 zu_ice = u_ice(ji+1,jj+1) - u_oce(ji+1,jj+1) zv_ice = v_ice(ji+1,jj+1) - v_oce(ji+1,jj+1) !CT SDP6 zu_ice = u_ice(ji-1,jj-1) - u_oce(ji-1,jj-1) !CT SDP6 zv_ice = v_ice(ji-1,jj-1) - v_oce(ji-1,jj-1) zt11 = rhoco * ( zu_ice * zu_ice + zv_ice * zv_ice ) zu_ice = u_ice(ji,jj+1) - u_oce(ji,jj+1) zv_ice = v_ice(ji,jj+1) - v_oce(ji,jj+1) !CT SDP6 zu_ice = u_ice(ji-1,jj) - u_oce(ji-1,jj) !CT SDP6 zv_ice = v_ice(ji-1,jj) - v_oce(ji-1,jj) zt12 = rhoco * ( zu_ice * zu_ice + zv_ice * zv_ice ) zu_ice = u_ice(ji+1,jj) - u_oce(ji+1,jj) zv_ice = v_ice(ji+1,jj) - v_oce(ji+1,jj) !CT SDP6 zu_ice = u_ice(ji,jj-1) - u_oce(ji,jj-1) !CT SDP6 zv_ice = v_ice(ji,jj-1) - v_oce(ji,jj-1) zt21 = rhoco * ( zu_ice * zu_ice + zv_ice * zv_ice ) zu_ice = u_ice(ji,jj) - u_oce(ji,jj) zv_ice = v_ice(ji,jj) - v_oce(ji,jj) zt22 = rhoco * ( zu_ice * zu_ice + zv_ice * zv_ice ) !CT end SDP6 ztair2 = gtaux(ji,jj) * gtaux(ji,jj) + gtauy(ji,jj) * gtauy(ji,jj) !CT start SDP5 zustm = 0.25 * ( zt11 + zt12 + zt21 + zt22 ) !CT start zustm = ( 1 - frld(ji,jj) ) * 0.25 * ( zt11 + zt12 + zt21 + zt22 ) & !CT start & + frld(ji,jj) * SQRT( ztair2 ) !CT start SDP5 ust2s(ji,jj) = ( zustm / rau0 ) * ( rone + sdvt(ji,jj) ) * tms(ji,jj) END DO END DO }}} It results in a systematic icethickness decreasing O(-2/4 cm) in winter (March) along the sea-ice edge.[[BR]] Whereas "inside" Arctic area, it increases lightly icethickness O(+1/2 cm) with max. O(+10 cm) in the Hudson bay and off the North Siberian coast.[[BR]] The trend for ice fraction leads is the same, i.e. an decreasing between O(-1/5 %) at the sea-ice limit extent.[[BR]] But it doesn't change radically the icethickness differences with with the SDP3 New run. Patterns are still unchanged in Arctic.[[BR]] So even this bug correction doesn't explain the big differences between REF_CORE and SBC_NEW experiments.[[BR]] '''Ice thickness diffs. between REF_CORE SDP6 - REF_CORE SDP5 / Year 10 / Winter March''':[[BR]] [[Image(SDP6_Ref_SDP5_Ref_icethic_March.png, 90%)]] ---- '''Fraction leads diffs. between REF_CORE SDP6 - REF_CORE SDP5 / Year 10 / Winter March''':[[BR]] [[Image(SDP6_Ref_SDP5_ileadfra_March.png, 90%)]] ---- '''Ice thickness diffs. between SBC_NEW SDP3 - REF_CORE SDP6 / Year 10 / Winter March''':[[BR]] [[Image(SDP3_New_SDP6_Ref_icethic_March.png, 90%)]] ---- == '''FULL_SDP5''': == '''* FULL_SDP5''':[[BR]] Only for the REF_CORE code, we remove the fraction leads frld in the computation of the friction velocity between sea-ice & ocean in limdyn.F90. It is not necessary to mix since the friction velocity is only used to compute flux at Ice/ocean interface? So:[[BR]] {{{ ztair2 = gtaux(ji,jj) * gtaux(ji,jj) + gtauy(ji,jj) * gtauy(ji,jj) !CT start SDP5 zustm = 0.25 * ( zt11 + zt12 + zt21 + zt22 ) !CT start zustm = ( 1 - frld(ji,jj) ) * 0.25 * ( zt11 + zt12 + zt21 + zt22 ) & !CT start & + frld(ji,jj) * SQRT( ztair2 ) !CT start SDP5 ust2s(ji,jj) = ( zustm / rau0 ) * ( rone + sdvt(ji,jj) ) * tms(ji,jj) }}} Above, gtau[xy] are wind stress components over the ocean at I-point.[[BR]] In doing that we are closer to what is done in limdyn.F90 of the NEW SBC.[[BR]] It results in a sea-ice surface temperature colder O(-1/2°C) than in SDP Ref mainly in the limit sea-ice extent.[[BR]] And a systematic decrease of the icet thickness by O(-2/4 cm) over all the Arctic reaching in some area O(-10 cm) Hudson bay or near the Bering strait.[[BR]] So its impact is significant and must be take into account in the rewritten of this part in the NEW _SBC.[[BR]] [[Color(white,red,'''BUT''')]] it remains a bug in the comptutation of zt11, zt12 ..etc see SDP6 experience above[[BR]] '''Ice temperature diffs. between REF_CORE SDP5 - REF_CORE SDP / Year 10 / Winter March''':[[BR]] [[Image(SDP5_Ref_SDP_Ref_icetemp_March.png, 90%)]] ---- '''Ice thickness diffs. between REF_CORE SDP5 - REF_CORE SDP / Year 10 / Winter March''':[[BR]] [[Image(SDP5_Ref_SDP_Ref_icethic_March.png, 90%)]] ---- == '''FULL_SDP4''': == '''* FULL_SDP4''':[[BR]] Only for the REF_CORE code, correction of a bug in the computation of the final wind stress in ocesbc.F90 module.[[BR]] {{{ ! update the stress below sea-ice area DO jj = 1, jpjm1 DO ji = 1, fs_jpim1 ! vertor opt. !CT start SDP4 ztx = MAX( freezn(ji,jj), freezn(ji+1,jj) ) zty = MAX( freezn(ji,jj), freezn(ji,jj+1) ) !CT ztx = MAX( freezn(ji,jj), freezn(ji,jj+1) ) ! ice/ocean indicator at U- and V-points !CT zty = MAX( freezn(ji,jj), freezn(ji+1,jj) ) !CT end SDP4 ztaux = 0.5 *( ftaux(ji+1,jj) + ftaux(ji+1,jj+1) ) ! ice-ocean stress at U- and V-points ztauy = 0.5 *( ftauy(ji,jj+1) + ftauy(ji+1,jj+1) ) taux(ji,jj) = (1.-ztx) * taux(ji,jj) + ztx * ztaux ! stress at the ocean surface tauy(ji,jj) = (1.-zty) * tauy(ji,jj) + zty * ztauy END DO END DO }}} The impact of this modification is weak as seen on plots below change in ice thickness are O(±1/2 cm)) in Arctic during winter (March). Same behaviour in summer (Sept).[[BR]] '''Ice thickness diffs. between REF_CORE SDP4 - REF_CORE SDP / Year 10 / Winter March''':[[BR]] [[Image(SDP4_Ref_SDP_Ref_icethic_March.png, 90%)]] ---- '''Ice thickness diffs. between REF_CORE SDP4 - REF_CORE SDP / Year 10 / Summer September''':[[BR]] [[Image(SDP4_Ref_SDP_Ref_icethic_Sept.png, 90%)]] ---- == '''FULL_SDP3''': == '''* FULL_SDP3''':[[BR]] Only for the SBC_NEW code, this time this run is identical to FULL_SDP but in sbcblk_core.F90, the sea-ice velocity ([uv]i_ice()) has been removed in the computation of the wind stress and wind module over sea-ice.[[BR]] Since the computation is clearly done in a better way now, it could implies important modifications which should be identify. [[BR]] '''Small impact O(±2/3 cm) in the Arctic area but shoul be underlined.''' '''Ice thickness in NEW_SBC experience / Year 10 / Winter March''':[[BR]] [[Image(SDP3_New_icethic_March.png, 90%)]] ---- '''Ice thickness in NEW_SBC experience / Year 10 / Summer September''':[[BR]] [[Image(SDP3_New_icethic_Sept.png, 90%)]] ---- '''Ice thickness differences between New SDP3 - New SDP experience / Year 10 / Winter March''':[[BR]] ''In SDP3 the sea-ice velocity [uv]i_ice() is removed from the computation of sea-ice wind-stress and & scalar wind-stress in sbc_blk_ice() whereas it is used in SDP experience, it is the only thing which changes between the 2''[[BR]] This modification implies a weaker extension off the east Greenland coast and north to the Spitzberg.[[BR]] A lightly increasing of the ice thickness close to the Greenland and North to the Bering strait area O(+2cm) [[Image(SDP3_New_SDP_New_icethic_March.png, 90%)]] ---- '''Ice thickness differences between NEW_SBC SDP3 - REF_CORE SDP experience / Year 10 / Winter March''':[[BR]] Even with this modification in SDP3, the ice thickness differences are still important O(±10/15 cm) reaching min/max O(±50 cm).[[BR]] Differences are almost the same than the initial NEW_SBC SDP - REF_CORE SDP see next plot. [[Image(SDP3_New_SDP_Ref_icethic_March.png, 90%)]] ---- '''Ice thickness differences between NEW_SBC SDP - REF_CORE SDP experience / Year 10 / Winter March''':[[BR]] [[Image(SDP_New_SDP_Ref_icethic_March.png, 90%)]] ---- == '''FULL_SDP2''': == '''* FULL_SDP2''':[[BR]] Still SSS damping term without the ice-dynamics, i.e. ln_limdyn=.FALSE. in the sea-ice namelist. '''Ice thickness in NEW_SBC experience / Year 10''': NO SEA-ICE DYNAMICS = ln_limdyn=FALSE[[BR]] [[Image(FULL_SDP2_SBC_NEW_icethic_March_Arctic.png, 90%)]] ---- '''Ice thickness differences between NEW_SBC & REF_CORE experience / Year 10''': NO SEA-ICE DYNAMICS = ln_limdyn=FALSE[[BR]] [[Image(FULL_SDP2_SBC_NEW_REF_CORE_icethic_March.png, 90%)]] ---- == '''FULL_SDP''': == '''* FULL_SDP''':[[BR]] similar to FULL but with a strong restoring SSS damping of ~ 787 mm/day correponding to 12 days of time restoring [[BR]] It is the same time damping as the SST which corresponds to -40 W/m2/K used for SST over a 10 meters ocean water column.[[BR]] Modifications have been necessary in sbcssr.F90 module such as using the array sdta(:,:) computed in dtasal.F90 to ensure same [[BR]] SSS damping field in both experiments SBC_NEW and REF_CORE.[[BR]] '''Ice thickness in NEW_SBC experience / Year 10'''[[BR]] The sea-ice extension in winter seems to be larger in this run than in the REF_CORE one.[[BR]] [[Image(FULL_SDP_SBC_NEW_icethic_March_Arctic.png, 90%)]] ---- '''Ice thickness in REF_CORE experience / Year 10'''[[BR]] [[Image(FULL_SDP_REF_CORE_icethic_March_Arctic.png, 90%)]] ---- == '''FULL''': == '''* FULL''': done for REF_CORE and SBC_NEW: [[BR]] We fully relax constrains imposed in T2X experiences, i.e. on stress, frictional velocity and so on ... == '''T24''': == '''* T2X''':[[BR]] In doing the following modifications in both experiments, we are waiting for almost exactly the same results.[[BR]] # The wind stress ([uv]tau/gtau[xy]) and wind module (zwind_speed_t(:,:)/dUnormt(:,:) at the ocean surface (even [[BR]] above sea-ice) is forced to be the same in both experiments. (sbcblk_core.F90/flx_core.h90)[[BR]] # The friction velocity ust2s(:,:) between sea-ice and ocean is also forced to be the same (limdyn.F90)[[BR]]