- Timestamp:
- 2020-11-27T17:26:33+01:00 (4 years ago)
- Location:
- NEMO/branches/2020/tickets_icb_1900
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/tickets_icb_1900
- Property svn:externals
-
NEMO/branches/2020/tickets_icb_1900/src/OCE/ICB/icbthm.F90
r13786 r13899 20 20 USE phycst ! NEMO physical constants 21 21 USE sbc_oce 22 USE eosbn2 ! equation of state 22 23 USE lib_fortran, ONLY : DDPDD 23 24 … … 51 52 REAL(wp) :: zM, zT, zW, zL, zSST, zVol, zLn, zWn, zTn, znVol, zIC, zDn, zD, zvb, zub, ztb 52 53 REAL(wp) :: zMv, zMe, zMb, zmelt, zdvo, zdvob, zdva, zdM, zSs, zdMe, zdMb, zdMv 54 REAL(wp) :: zSSS, zfzpt 53 55 REAL(wp) :: zMnew, zMnew1, zMnew2, zheat_hcflux, zheat_latent, z1_12 54 56 REAL(wp) :: zMbits, znMbits, zdMbitsE, zdMbitsM, zLbits, zAbits, zMbb … … 85 87 nknberg = this%number(1) 86 88 87 CALL icb_utl_interp( pt%xi, pt%yj, & ! position89 CALL icb_utl_interp( pt%xi, pt%yj, & ! position 88 90 & pssu=pt%ssu, pua=pt%ua, & ! oce/atm velocities 89 91 & pssv=pt%ssv, pva=pt%va, & ! oce/atm velocities 90 & psst=pt%sst, pcn=pt%cn ) 92 & psst=pt%sst, pcn=pt%cn, & 93 & psss=pt%sss ) 91 94 92 95 IF ( nn_sample_rate > 0 .AND. MOD(kt-1,nn_sample_rate) == 0 ) THEN … … 99 102 ! 100 103 zSST = pt%sst 104 zSSS = pt%sss 105 CALL eos_fzp(zSSS,zfzpt) ! freezing point 101 106 zIC = MIN( 1._wp, pt%cn + rn_sicn_shift ) ! Shift sea-ice concentration !!gm ??? 102 107 zM = pt%mass … … 140 145 ! 141 146 ! Melt rates in m/s (i.e. division by rday) 147 ! Buoyant convection at sides (eqn M.A10) 142 148 IF ( ln_M2016 ) THEN 143 ! Buoyant convection at sides (eqn M.A10) butaveraging along all the iceberg draft149 ! averaging along all the iceberg draft 144 150 zzMv(:) = MAX( 7.62d-3*ztoce(:)+1.29d-3*(ztoce(:)**2), 0._wp ) * z1_rday 145 151 CALL icb_utl_zavg(zMv, zzMv, ze3t, zD, ikb ) … … 147 153 zMv = MAX( 7.62d-3*zSST+1.29d-3*(zSST**2), 0._wp ) * z1_rday 148 154 END IF 149 150 ! Basal turbulent melting (eqn M.A7 ) but using the basal temperature 151 zMb = MAX( 0.58_wp*(zdvob**0.8_wp)*(ztb+4.0_wp)/(zL**0.2_wp) , 0._wp ) * z1_rday 152 155 ! 156 ! Basal turbulent melting (eqn M.A7 ) 157 IF ( zSST > zfzpt ) THEN ! Calculate basal melting only if SST above freezing point 158 zMb = MAX( 0.58_wp*(zdvob**0.8_wp)*(ztb+4.0_wp)/(zL**0.2_wp) , 0._wp ) * z1_rday 159 ELSE 160 zMb = 0._wp ! No basal melting if SST below freezing point 161 ENDIF 162 ! 153 163 ! Wave erosion (eqn M.A8 ) 154 164 zMe = MAX( z1_12*(zSST+2.)*zSs*(1._wp+COS(rpi*(zIC**3))) , 0._wp ) * z1_rday
Note: See TracChangeset
for help on using the changeset viewer.