Changeset 14590 for NEMO/releases/r4.0/r4.0-HEAD/src/ICE
- Timestamp:
- 2021-03-05T14:21:05+01:00 (4 years ago)
- Location:
- NEMO/releases/r4.0/r4.0-HEAD/src/ICE
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/releases/r4.0/r4.0-HEAD/src/ICE/icectl.F90
r14026 r14590 801 801 !! DO jj = 1, jpj 802 802 !! DO ji = 1, jpi 803 !! zdiag_mass2D(ji,jj) = wfx_ice(ji,jj) + wfx_snw(ji,jj) + wfx_spr(ji,jj) + wfx_sub(ji,jj) &804 !! & + diag_vice(ji,jj) + diag_vsnw(ji,jj) - diag_adv_mass(ji,jj)803 !! zdiag_mass2D(ji,jj) = wfx_ice(ji,jj) + wfx_snw(ji,jj) + wfx_spr(ji,jj) + wfx_sub(ji,jj) + wfx_pnd(ji,jj) & 804 !! & + diag_vice(ji,jj) + diag_vsnw(ji,jj) + diag_vpnd(ji,jj) - diag_adv_mass(ji,jj) 805 805 !! zdiag_salt2D(ji,jj) = sfx(ji,jj) + diag_sice(ji,jj) - diag_adv_salt(ji,jj) 806 806 !! zdiag_heat2D(ji,jj) = qt_oce_ai(ji,jj) - qt_atm_oi(ji,jj) + diag_heat(ji,jj) - diag_adv_heat(ji,jj) … … 815 815 816 816 ! -- mass diag -- ! 817 zdiag_mass = glob_sum( 'icectl', ( wfx_ice + wfx_snw + wfx_spr + wfx_sub &818 & + diag_vice + diag_vsnw - diag_adv_mass ) * e1e2t ) * rdt_ice817 zdiag_mass = glob_sum( 'icectl', ( wfx_ice + wfx_snw + wfx_spr + wfx_sub + wfx_pnd & 818 & + diag_vice + diag_vsnw + diag_vpnd - diag_adv_mass ) * e1e2t ) * rdt_ice 819 819 zdiag_adv_mass = glob_sum( 'icectl', diag_adv_mass * e1e2t ) * rdt_ice 820 820 -
NEMO/releases/r4.0/r4.0-HEAD/src/ICE/icesbc.F90
r14026 r14590 140 140 CASE( jp_blk ) !--- bulk formulation 141 141 CALL blk_ice_flx ( t_su, h_s, h_i, alb_ice ) ! 142 IF( ln_mixcpl ) CALL sbc_cpl_ice_flx( picefr=at_i_b, palbi=alb_ice, psst=sst_m, pist=t_su, phs=h_s, phi=h_i )142 IF( ln_mixcpl ) CALL sbc_cpl_ice_flx( kt, picefr=at_i_b, palbi=alb_ice, psst=sst_m, pist=t_su, phs=h_s, phi=h_i ) 143 143 IF( nn_flxdist /= -1 ) CALL ice_flx_dist ( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_flxdist ) 144 144 ! ! compute conduction flux and surface temperature (as in Jules surface module) … … 146 146 & CALL blk_ice_qcn ( ln_virtual_itd, t_su, t_bo, h_s, h_i ) 147 147 CASE ( jp_purecpl ) !--- coupled formulation 148 CALL sbc_cpl_ice_flx( picefr=at_i_b, palbi=alb_ice, psst=sst_m, pist=t_su, phs=h_s, phi=h_i )148 CALL sbc_cpl_ice_flx( kt, picefr=at_i_b, palbi=alb_ice, psst=sst_m, pist=t_su, phs=h_s, phi=h_i ) 149 149 IF( nn_flxdist /= -1 ) CALL ice_flx_dist ( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_flxdist ) 150 150 END SELECT -
NEMO/releases/r4.0/r4.0-HEAD/src/ICE/iceupdate.F90
r14582 r14590 105 105 ! Net heat flux on top of the ice-ocean (W.m-2) 106 106 !---------------------------------------------- 107 qt_atm_oi(:,:) = qns_tot(:,:) + qsr_tot(:,:) 107 IF( ln_cndflx ) THEN ! ice-atm interface = conduction (and melting) fluxes 108 qt_atm_oi(:,:) = ( 1._wp - at_i_b(:,:) ) * ( qns_oce(:,:) + qsr_oce(:,:) ) + qemp_oce(:,:) + & 109 & SUM( a_i_b * ( qcn_ice + qml_ice + qtr_ice_top ), dim=3 ) + qemp_ice(:,:) 110 ELSE ! ice-atm interface = solar and non-solar fluxes 111 qt_atm_oi(:,:) = qns_tot(:,:) + qsr_tot(:,:) 112 ENDIF 108 113 109 114 ! --- case we bypass ice thermodynamics --- ! … … 121 126 ! Solar heat flux reaching the ocean (max) = zqsr (W.m-2) 122 127 !--------------------------------------------------- 123 zqsr = qsr_tot(ji,jj) - SUM( a_i_b(ji,jj,:) * ( qsr_ice(ji,jj,:) - qtr_ice_bot(ji,jj,:) ) ) 124 128 IF( ln_cndflx ) THEN ! ice-atm interface = conduction (and melting) fluxes 129 zqsr = ( 1._wp - at_i_b(ji,jj) ) * qsr_oce(ji,jj) + SUM( a_i_b (ji,jj,:) * qtr_ice_bot(ji,jj,:) ) 130 ELSE ! ice-atm interface = solar and non-solar fluxes 131 zqsr = qsr_tot(ji,jj) - SUM( a_i_b(ji,jj,:) * ( qsr_ice(ji,jj,:) - qtr_ice_bot(ji,jj,:) ) ) 132 ENDIF 133 125 134 ! Total heat flux reaching the ocean = qt_oce_ai (W.m-2) 126 135 !--------------------------------------------------- 127 qt_oce_ai(ji,jj) = qt_atm_oi(ji,jj) - hfx_sum(ji,jj) - hfx_bom(ji,jj) - hfx_bog(ji,jj) & 128 & - hfx_dif(ji,jj) - hfx_opw(ji,jj) - hfx_snw(ji,jj) & 129 & + hfx_thd(ji,jj) + hfx_dyn(ji,jj) + hfx_res(ji,jj) & 130 & + hfx_sub(ji,jj) - SUM( qevap_ice(ji,jj,:) * a_i_b(ji,jj,:) ) + hfx_spr(ji,jj) 131 136 IF( ln_icethd ) THEN 137 qt_oce_ai(ji,jj) = qt_atm_oi(ji,jj) - hfx_sum(ji,jj) - hfx_bom(ji,jj) - hfx_bog(ji,jj) & 138 & - hfx_dif(ji,jj) - hfx_opw(ji,jj) - hfx_snw(ji,jj) & 139 & + hfx_thd(ji,jj) + hfx_dyn(ji,jj) + hfx_res(ji,jj) & 140 & + hfx_sub(ji,jj) - SUM( qevap_ice(ji,jj,:) * a_i_b(ji,jj,:) ) + hfx_spr(ji,jj) 141 ENDIF 142 132 143 ! New qsr and qns used to compute the oceanic heat flux at the next time step 133 144 !---------------------------------------------------------------------------- … … 282 293 IF( iom_use('hfxcndtop' ) ) CALL iom_put( 'hfxcndtop' , SUM( qcn_ice_top * a_i_b, dim=3 ) ) ! Surface conduction flux 283 294 !! IF( iom_use('hfxmelt' ) ) CALL iom_put( 'hfxmelt' , SUM( qml_ice * a_i_b, dim=3 ) ) ! Surface melt flux 284 !! IF( iom_use('hfxldmelt' ) ) CALL iom_put( 'hfxldmelt' , fhld * at_i_b ) ! Heat in lead for ice melting 295 !! IF( iom_use('hfxldmelt' ) ) CALL iom_put( 'hfxldmelt' , fhld * at_i_b ) ! Heat in lead for ice melting 285 296 !! IF( iom_use('hfxldgrow' ) ) CALL iom_put( 'hfxldgrow' , qlead * r1_rdtice ) ! Heat in lead for ice growth 286 297 287 298 ! controls 288 299 !---------
Note: See TracChangeset
for help on using the changeset viewer.