- Timestamp:
- 2021-03-04T13:19:57+01:00 (3 years ago)
- Location:
- NEMO/branches/UKMO/NEMO_4.0.4_remade_heat_balance/src/ICE
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0.4_remade_heat_balance/src/ICE/ice.F90
r14075 r14585 287 287 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hfx_bog !: total heat flux causing bottom ice growth [W.m-2] 288 288 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hfx_bom !: total heat flux causing bottom ice melt [W.m-2] 289 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hfx_lam !: total heat flux causing lateral ice melt [W.m-2] 289 290 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hfx_sum !: total heat flux causing surface ice melt [W.m-2] 290 291 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hfx_opw !: total heat flux causing open water ice formation [W.m-2] … … 450 451 & sfx_bog (jpi,jpj) , sfx_bom (jpi,jpj) , sfx_sum(jpi,jpj) , sfx_sni(jpi,jpj) , sfx_opw(jpi,jpj) , & 451 452 & hfx_res (jpi,jpj) , hfx_snw (jpi,jpj) , hfx_sub(jpi,jpj) , & 452 & qt_atm_oi (jpi,jpj) , qt_oce_ai (jpi,jpj) , fhld (jpi,jpj) , 453 & qt_atm_oi (jpi,jpj) , qt_oce_ai (jpi,jpj) , fhld (jpi,jpj) , hfx_lam(jpi,jpj) , & 453 454 & hfx_sum (jpi,jpj) , hfx_bom (jpi,jpj) , hfx_bog(jpi,jpj) , hfx_dif(jpi,jpj) , & 454 455 & hfx_opw (jpi,jpj) , hfx_thd (jpi,jpj) , hfx_dyn(jpi,jpj) , hfx_spr(jpi,jpj) , & -
NEMO/branches/UKMO/NEMO_4.0.4_remade_heat_balance/src/ICE/ice1d.F90
r14075 r14585 46 46 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: hfx_sum_1d 47 47 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: hfx_bom_1d 48 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: hfx_lam_1d 48 49 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: hfx_bog_1d 49 50 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: hfx_dif_1d … … 189 190 & qns_ice_1d(jpij) , qml_ice_1d (jpij) , qcn_ice_1d(jpij) , qtr_ice_top_1d(jpij) , & 190 191 & cnd_ice_1d(jpij) , t1_ice_1d (jpij) , t_bo_1d (jpij) , & 191 & hfx_sum_1d(jpij) , hfx_bom_1d (jpij) , hfx_bog_1d(jpij) , &192 & hfx_sum_1d(jpij) , hfx_bom_1d (jpij) , hfx_bog_1d(jpij) , hfx_lam_1d(jpij) , & 192 193 & hfx_dif_1d(jpij) , hfx_opw_1d (jpij) , hfx_dyn_1d(jpij) , & 193 194 & rn_amax_1d(jpij) , & -
NEMO/branches/UKMO/NEMO_4.0.4_remade_heat_balance/src/ICE/icestp.F90
r14075 r14585 418 418 hfx_bog(ji,jj) = 0._wp ; hfx_dyn(ji,jj) = 0._wp 419 419 hfx_bom(ji,jj) = 0._wp ; hfx_sum(ji,jj) = 0._wp 420 hfx_lam(ji,jj) = 0._wp 420 421 hfx_res(ji,jj) = 0._wp ; hfx_sub(ji,jj) = 0._wp 421 422 hfx_spr(ji,jj) = 0._wp ; hfx_dif(ji,jj) = 0._wp -
NEMO/branches/UKMO/NEMO_4.0.4_remade_heat_balance/src/ICE/icethd.F90
r14075 r14585 432 432 CALL tab_2d_1d( npti, nptidx(1:npti), hfx_bom_1d (1:npti), hfx_bom ) 433 433 CALL tab_2d_1d( npti, nptidx(1:npti), hfx_bog_1d (1:npti), hfx_bog ) 434 CALL tab_2d_1d( npti, nptidx(1:npti), hfx_lam_1d (1:npti), hfx_lam ) 434 435 CALL tab_2d_1d( npti, nptidx(1:npti), hfx_dif_1d (1:npti), hfx_dif ) 435 436 CALL tab_2d_1d( npti, nptidx(1:npti), hfx_opw_1d (1:npti), hfx_opw ) … … 524 525 CALL tab_1d_2d( npti, nptidx(1:npti), hfx_bom_1d (1:npti), hfx_bom ) 525 526 CALL tab_1d_2d( npti, nptidx(1:npti), hfx_bog_1d (1:npti), hfx_bog ) 527 CALL tab_1d_2d( npti, nptidx(1:npti), hfx_lam_1d (1:npti), hfx_lam ) 526 528 CALL tab_1d_2d( npti, nptidx(1:npti), hfx_dif_1d (1:npti), hfx_dif ) 527 529 CALL tab_1d_2d( npti, nptidx(1:npti), hfx_opw_1d (1:npti), hfx_opw ) -
NEMO/branches/UKMO/NEMO_4.0.4_remade_heat_balance/src/ICE/icethd_da.F90
r14075 r14585 142 142 hfx_thd_1d(ji) = hfx_thd_1d(ji) - zda * r1_rdtice * ( h_i_1d(ji) * r1_nlay_i * SUM( e_i_1d(ji,1:nlay_i) ) & 143 143 + h_s_1d(ji) * r1_nlay_s * SUM( e_s_1d(ji,1:nlay_s) ) ) 144 145 ! To do: calculate realistic heat flux to melt only to SST, and not 0oC 146 ! zEi = h_i_1d(ji) * r1_nlay_i * SUM( e_i_1d(ji,1:nlay_i) ) & 147 ! + h_s_1d(ji) * r1_nlay_s * SUM( e_s_1d(ji,1:nlay_s) ) 148 ! zEw = rcp * ztmelts 149 150 ! For now we will just melt to 0oC [W.m-2], (>0) 151 hfx_lam_1d(ji) = hfx_lam_1d(ji) + zda * r1_rdtice * ( h_i_1d(ji) * r1_nlay_i * SUM( e_i_1d(ji,1:nlay_i) ) & 152 + h_s_1d(ji) * r1_nlay_s * SUM( e_s_1d(ji,1:nlay_s) ) ) 144 153 145 154 ! Contribution to mass flux -
NEMO/branches/UKMO/NEMO_4.0.4_remade_heat_balance/src/ICE/iceupdate.F90
r14075 r14585 124 124 125 125 ! Total heat flux reaching the ocean = qt_oce_ai (W.m-2) 126 ! It is calculated using the total heat into the top of the ocean and ice (qt_atm_oi) minus energy taken up heating the ice interior (hfx_dif), 127 ! plus energy released by ice dynamics (hfx_dyn), 128 ! minus energy used up in top melt of snow and ice (hfx_snw & hfx_sum), 129 ! minus energy needed for melt/growth along the ocean/ice interface (hfx_bom, hfx_bog, hfx_lam, hfx_opw), 130 ! plus the residual (hfx_res) 126 131 !--------------------------------------------------- 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)132 qt_oce_ai(ji,jj) = qt_atm_oi(ji,jj) - hfx_dif(ji,jj) + hfx_dyn(ji,jj) & 133 & - hfx_snw(ji,jj) - hfx_sum(ji,jj) & 134 & - hfx_bom(ji,jj) - hfx_bog(ji,jj) - hfx_lam(ji,jj) - hfx_opw(ji,jj) & 135 & + hfx_res(ji,jj) 131 136 132 137 ! New qsr and qns used to compute the oceanic heat flux at the next time step
Note: See TracChangeset
for help on using the changeset viewer.