New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 9923 for NEMO/branches/2018/dev_r9838_ENHANCE04_MLF/src/ICE/icethd.F90 – NEMO

Ignore:
Timestamp:
2018-07-11T10:24:17+02:00 (6 years ago)
Author:
gm
Message:

#1911 (ENHANCE-04): step I.2: dev_r9838_ENHANCE04_MLF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2018/dev_r9838_ENHANCE04_MLF/src/ICE/icethd.F90

    r9750 r9923  
    120120         DO jj = 2, jpjm1 
    121121            DO ji = fs_2, fs_jpim1 
    122                zfric(ji,jj) = r1_rau0 * SQRT( 0.5_wp *  & 
     122               zfric(ji,jj) = r1_rho0 * SQRT( 0.5_wp *  & 
    123123                  &                         (  utau(ji,jj) * utau(ji,jj) + utau(ji-1,jj) * utau(ji-1,jj)   & 
    124124                  &                          + vtau(ji,jj) * vtau(ji,jj) + vtau(ji,jj-1) * vtau(ji,jj-1) ) ) * tmask(ji,jj,1) 
     
    150150            ! --- Energy needed to bring ocean surface layer until its freezing (<0, J.m-2) --- ! 
    151151            ! includes supercooling potential energy (>0) or "above-freezing" energy (<0) 
    152             zqfr = tmask(ji,jj,1) * rau0 * rcp * e3t_m(ji,jj) * ( t_bo(ji,jj) - ( sst_m(ji,jj) + rt0 ) ) 
     152            zqfr = tmask(ji,jj,1) * rho0_rcp * e3t_m(ji,jj) * ( t_bo(ji,jj) - ( sst_m(ji,jj) + rt0 ) ) 
    153153 
    154154            ! --- Above-freezing sensible heat content (J/m2 grid) 
    155             zqfr_neg = tmask(ji,jj,1) * rau0 * rcp * e3t_m(ji,jj) * MIN( ( t_bo(ji,jj) - ( sst_m(ji,jj) + rt0 ) ), 0._wp ) 
     155            zqfr_neg = tmask(ji,jj,1) * rho0_rcp * e3t_m(ji,jj) * MIN( ( t_bo(ji,jj) - ( sst_m(ji,jj) + rt0 ) ), 0._wp ) 
    156156 
    157157            ! --- Sensible ocean-to-ice heat flux (W/m2) 
    158158            zfric_u      = MAX( SQRT( zfric(ji,jj) ), zfric_umin )  
    159             fhtur(ji,jj) = rswitch * rau0 * rcp * zch  * zfric_u * ( ( sst_m(ji,jj) + rt0 ) - t_bo(ji,jj) ) ! W.m-2 
    160  
    161             fhtur(ji,jj) = rswitch * MIN( fhtur(ji,jj), - zqfr_neg * r1_rdtice / MAX( at_i(ji,jj), epsi10 ) ) 
     159            fhtur(ji,jj) = rswitch * rho0_rcp * zch  * zfric_u * ( ( sst_m(ji,jj) + rt0 ) - t_bo(ji,jj) ) ! W.m-2 
     160 
     161            fhtur(ji,jj) = rswitch * MIN( fhtur(ji,jj), - zqfr_neg * r1_Dt_ice / MAX( at_i(ji,jj), epsi10 ) ) 
    162162            ! upper bound for fhtur: the heat retrieved from the ocean must be smaller than the heat necessary to reach  
    163163            !                        the freezing point, so that we do not have SST < T_freeze 
     
    169169            ! If there is ice and leads are warming, then transfer energy from the lead budget and use it for bottom melting  
    170170            IF( zqld > 0._wp ) THEN 
    171                fhld (ji,jj) = rswitch * zqld * r1_rdtice / MAX( at_i(ji,jj), epsi10 ) ! divided by at_i since this is (re)multiplied by a_i in icethd_dh.F90 
     171               fhld (ji,jj) = rswitch * zqld * r1_Dt_ice / MAX( at_i(ji,jj), epsi10 ) ! divided by at_i since this is (re)multiplied by a_i in icethd_dh.F90 
    172172               qlead(ji,jj) = 0._wp 
    173173            ELSE 
     
    197197      !     Third  step in iceupdate.F90  :  heat from ice-ocean mass exchange (zf_mass) + solar 
    198198      hfx_out(:,:) = ( 1._wp - at_i_b(:,:) ) * qns_oce(:,:) + qemp_oce(:,:)  &  ! Non solar heat flux received by the ocean                
    199          &           - qlead(:,:) * r1_rdtice                                &  ! heat flux taken from the ocean where there is open water ice formation 
     199         &           - qlead(:,:) * r1_Dt_ice                                &  ! heat flux taken from the ocean where there is open water ice formation 
    200200         &           - at_i (:,:) * fhtur(:,:)                               &  ! heat flux taken by turbulence 
    201201         &           - at_i (:,:) *  fhld(:,:)                                  ! heat flux taken during bottom growth/melt  
Note: See TracChangeset for help on using the changeset viewer.