Ignore:
Timestamp:
2017-09-05T19:53:41+02:00 (3 years ago)
Author:
clem
Message:

changes in style - part2 -

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icethd.F90

    r8486 r8498  
    193193      !     Second step in icethd_dh      :  heat remaining if total melt (zq_rema)  
    194194      !     Third  step in iceupdate.F90  :  heat from ice-ocean mass exchange (zf_mass) + solar 
    195       DO jj = 1, jpj 
    196          DO ji = 1, jpi 
    197             hfx_out(ji,jj) = ( 1._wp - at_i_b(ji,jj) ) * qns_oce(ji,jj) + qemp_oce(ji,jj)  &  ! Non solar heat flux received by the ocean                
    198                &             - qlead(ji,jj) * r1_rdtice                                    &  ! heat flux taken from the ocean where there is open water ice formation 
    199                &             - at_i(ji,jj) * fhtur(ji,jj)                                  &  ! heat flux taken by turbulence 
    200                &             - at_i(ji,jj) *  fhld(ji,jj)                                     ! heat flux taken during bottom growth/melt  
    201                                                                                               !    (fhld should be 0 while bott growth) 
    202          END DO 
    203       END DO 
    204  
     195      hfx_out(:,:) = ( 1._wp - at_i_b(:,:) ) * qns_oce(:,:) + qemp_oce(:,:)  &  ! Non solar heat flux received by the ocean                
     196         &           - qlead(:,:) * r1_rdtice                                &  ! heat flux taken from the ocean where there is open water ice formation 
     197         &           - at_i (:,:) * fhtur(:,:)                               &  ! heat flux taken by turbulence 
     198         &           - at_i (:,:) *  fhld(:,:)                                  ! heat flux taken during bottom growth/melt  
     199                                                                                !    (fhld should be 0 while bott growth) 
    205200      !-------------------------------------------------------------------------------------------! 
    206201      ! Thermodynamic computation (only on grid points covered by ice) => loop over ice categories 
     
    288283      !!------------------------------------------------------------------- 
    289284      INTEGER  ::   ji, jk   ! dummy loop indices 
    290       REAL(wp) ::   ztmelts, zaaa, zbbb, zccc, zdiscrim  ! local scalar  
     285      REAL(wp) ::   ztmelts, z1_2cp, zbbb, zccc  ! local scalar  
    291286      !!------------------------------------------------------------------- 
    292287      ! Recover ice temperature 
     288      z1_2cp = 1._wp / ( 2._wp * cpic ) 
    293289      DO jk = 1, nlay_i 
    294290         DO ji = 1, nidx 
    295             ztmelts       =  -tmut * s_i_1d(ji,jk) + rt0 
     291            ztmelts       = -tmut * s_i_1d(ji,jk) 
    296292            ! Conversion q(S,T) -> T (second order equation) 
    297             zaaa          =  cpic 
    298             zbbb          =  ( rcp - cpic ) * ( ztmelts - rt0 ) + e_i_1d(ji,jk) * r1_rhoic - lfus 
    299             zccc          =  lfus * ( ztmelts - rt0 ) 
    300             zdiscrim      =  SQRT( MAX( zbbb * zbbb - 4._wp * zaaa * zccc, 0._wp ) ) 
    301             t_i_1d(ji,jk) =  rt0 - ( zbbb + zdiscrim ) / ( 2._wp * zaaa ) 
     293            zbbb          = ( rcp - cpic ) * ztmelts + e_i_1d(ji,jk) * r1_rhoic - lfus 
     294            zccc          = SQRT( MAX( zbbb * zbbb - 4._wp * cpic * lfus * ztmelts, 0._wp ) ) 
     295            t_i_1d(ji,jk) = rt0 - ( zbbb + zccc ) * z1_2cp 
    302296             
    303297            ! mask temperature 
    304             rswitch       =  1._wp - MAX( 0._wp , SIGN( 1._wp , - ht_i_1d(ji) ) )  
    305             t_i_1d(ji,jk) =  rswitch * t_i_1d(ji,jk) + ( 1._wp - rswitch ) * rt0 
     298            rswitch       = 1._wp - MAX( 0._wp , SIGN( 1._wp , - ht_i_1d(ji) ) )  
     299            t_i_1d(ji,jk) = rswitch * t_i_1d(ji,jk) + ( 1._wp - rswitch ) * rt0 
    306300         END DO  
    307301      END DO  
Note: See TracChangeset for help on using the changeset viewer.