Changeset 9912 for NEMO/trunk/src/ICE/iceupdate.F90
- Timestamp:
- 2018-07-10T14:07:44+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/ICE/iceupdate.F90
r9910 r9912 107 107 ! --- case we bypass ice thermodynamics --- ! 108 108 IF( .NOT. ln_icethd ) THEN ! we suppose ice is impermeable => ocean is isolated from atmosphere 109 hfx_in(:,:) = ( 1._wp - at_i_b(:,:) ) * ( qns_oce(:,:) + qsr_oce(:,:) ) + qemp_oce(:,:)110 hfx_out(:,:) = ( 1._wp - at_i_b(:,:) ) * qns_oce(:,:) + qemp_oce(:,:)109 qt_atm_oi (:,:) = ( 1._wp - at_i_b(:,:) ) * ( qns_oce(:,:) + qsr_oce(:,:) ) + qemp_oce(:,:) 110 qt_oce_ai (:,:) = ( 1._wp - at_i_b(:,:) ) * qns_oce(:,:) + qemp_oce(:,:) 111 111 qtr_ice_bot(:,:,:) = 0._wp 112 112 emp_ice (:,:) = 0._wp … … 122 122 zqsr = qsr_tot(ji,jj) - SUM( a_i_b(ji,jj,:) * ( qsr_ice(ji,jj,:) - qtr_ice_bot(ji,jj,:) ) ) 123 123 124 ! Total heat flux reaching the ocean = hfx_out(W.m-2)124 ! Total heat flux reaching the ocean = qt_oce_ai (W.m-2) 125 125 !--------------------------------------------------- 126 zqmass = hfx_thd(ji,jj) + hfx_dyn(ji,jj) + hfx_res(ji,jj) ! heat flux from snow is 0 (T=0 degC)127 hfx_out(ji,jj) = hfx_out(ji,jj) + zqmass + zqsr126 zqmass = hfx_thd(ji,jj) + hfx_dyn(ji,jj) + hfx_res(ji,jj) ! heat flux from snow is 0 (T=0 degC) 127 qt_oce_ai(ji,jj) = qt_oce_ai(ji,jj) + zqmass + zqsr 128 128 129 129 ! Add the residual from heat diffusion equation and sublimation (W.m-2) 130 130 !---------------------------------------------------------------------- 131 hfx_out(ji,jj) = hfx_out(ji,jj) + hfx_err_dif(ji,jj) + &132 & ( hfx_sub(ji,jj) - SUM( qevap_ice(ji,jj,:) * a_i_b(ji,jj,:) ) )131 qt_oce_ai(ji,jj) = qt_oce_ai(ji,jj) + hfx_err_dif(ji,jj) + & 132 & ( hfx_sub(ji,jj) - SUM( qevap_ice(ji,jj,:) * a_i_b(ji,jj,:) ) ) 133 133 134 134 ! New qsr and qns used to compute the oceanic heat flux at the next time step 135 135 !---------------------------------------------------------------------------- 136 136 qsr(ji,jj) = zqsr 137 qns(ji,jj) = hfx_out(ji,jj) - zqsr137 qns(ji,jj) = qt_oce_ai(ji,jj) - zqsr 138 138 139 139 ! Mass flux at the atm. surface … … 254 254 IF( iom_use('qt_oce' ) ) CALL iom_put( "qt_oce" , ( qsr_oce + qns_oce ) * ( 1._wp - at_i_b ) + qemp_oce ) 255 255 IF( iom_use('qt_ice' ) ) CALL iom_put( "qt_ice" , SUM( ( qns_ice + qsr_ice ) * a_i_b, dim=3 ) + qemp_ice ) 256 IF( iom_use('qt_oce_ai' ) ) CALL iom_put( "qt_oce_ai" , hfx_out * tmask(:,:,1)) ! total heat flux at the ocean surface: interface oce-(ice+atm)257 IF( iom_use('qt_atm_oi' ) ) CALL iom_put( "qt_atm_oi" , hfx_in * tmask(:,:,1)) ! total heat flux at the oce-ice surface: interface atm-(ice+oce)256 IF( iom_use('qt_oce_ai' ) ) CALL iom_put( "qt_oce_ai" , qt_oce_ai * tmask(:,:,1) ) ! total heat flux at the ocean surface: interface oce-(ice+atm) 257 IF( iom_use('qt_atm_oi' ) ) CALL iom_put( "qt_atm_oi" , qt_atm_oi * tmask(:,:,1) ) ! total heat flux at the oce-ice surface: interface atm-(ice+oce) 258 258 IF( iom_use('qemp_oce' ) ) CALL iom_put( "qemp_oce" , qemp_oce ) ! Downward Heat Flux from E-P over ocean 259 259 IF( iom_use('qemp_ice' ) ) CALL iom_put( "qemp_ice" , qemp_ice ) ! Downward Heat Flux from E-P over ice … … 267 267 IF( iom_use('hfxdif' ) ) CALL iom_put ("hfxdif" , hfx_dif ) ! heat flux used for ice temperature change 268 268 IF( iom_use('hfxsnw' ) ) CALL iom_put ("hfxsnw" , hfx_snw ) ! heat flux used for snow melt 269 IF( iom_use('hfxerr' ) ) CALL iom_put ("hfxerr" , hfx_err_dif ) ! heat flux error after heat diffusion (included in hfx_out)269 IF( iom_use('hfxerr' ) ) CALL iom_put ("hfxerr" , hfx_err_dif ) ! heat flux error after heat diffusion (included in qt_oce_ai) 270 270 271 271 ! heat fluxes associated with mass exchange (freeze/melt/precip...)
Note: See TracChangeset
for help on using the changeset viewer.