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 5078 for branches/2015/dev_r5044_CNRS_LIM3CLEAN/NEMOGCM/NEMO/LIM_SRC_3/limthd_dif.F90 – NEMO

Ignore:
Timestamp:
2015-02-11T16:15:11+01:00 (9 years ago)
Author:
clem
Message:

LIM3: cosmetic changes to increase readability and performance

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5044_CNRS_LIM3CLEAN/NEMOGCM/NEMO/LIM_SRC_3/limthd_dif.F90

    r5076 r5078  
    179179      zdq(:) = 0._wp ; zq_ini(:) = 0._wp       
    180180      DO ji = kideb, kiut 
    181          zq_ini(ji) = ( SUM( q_i_1d(ji,1:nlay_i) ) * ht_i_1d(ji) / REAL( nlay_i ) +  & 
    182             &           SUM( q_s_1d(ji,1:nlay_s) ) * ht_s_1d(ji) / REAL( nlay_s ) )  
     181         zq_ini(ji) = ( SUM( q_i_1d(ji,1:nlay_i) ) * ht_i_1d(ji) * r1_nlay_i +  & 
     182            &           SUM( q_s_1d(ji,1:nlay_s) ) * ht_s_1d(ji) * r1_nlay_s )  
    183183      END DO 
    184184 
     
    189189         isnow(ji)= 1._wp - MAX( 0._wp , SIGN(1._wp, - ht_s_1d(ji) ) )  ! is there snow or not 
    190190         ! layer thickness 
    191          zh_i(ji) = ht_i_1d(ji) / REAL( nlay_i ) 
    192          zh_s(ji) = ht_s_1d(ji) / REAL( nlay_s ) 
     191         zh_i(ji) = ht_i_1d(ji) * r1_nlay_i 
     192         zh_s(ji) = ht_s_1d(ji) * r1_nlay_s 
    193193      END DO 
    194194 
     
    202202      DO jk = 1, nlay_s            ! vert. coord of the up. lim. of the layer-th snow layer 
    203203         DO ji = kideb , kiut 
    204             z_s(ji,jk) = z_s(ji,jk-1) + ht_s_1d(ji) / REAL( nlay_s ) 
     204            z_s(ji,jk) = z_s(ji,jk-1) + ht_s_1d(ji) * r1_nlay_s 
    205205         END DO 
    206206      END DO 
     
    208208      DO jk = 1, nlay_i            ! vert. coord of the up. lim. of the layer-th ice layer 
    209209         DO ji = kideb , kiut 
    210             z_i(ji,jk) = z_i(ji,jk-1) + ht_i_1d(ji) / REAL( nlay_i ) 
     210            z_i(ji,jk) = z_i(ji,jk-1) + ht_i_1d(ji) * r1_nlay_i 
    211211         END DO 
    212212      END DO 
     
    576576               !------------------------------------------------------------------------------| 
    577577               ! 
    578                IF (t_su_1d(ji) < rtt) THEN 
     578               IF ( t_su_1d(ji) < rtt ) THEN 
    579579                  ! 
    580580                  !------------------------------------------------------------------------------| 
     
    600600                  !!case of only one layer in the ice (surface & ice equations are altered) 
    601601 
    602                   IF (nlay_i.eq.1) THEN 
     602                  IF ( nlay_i == 1 ) THEN 
    603603                     ztrid(ji,numeqmin(ji),1)    =  0.0 
    604604                     ztrid(ji,numeqmin(ji),2)    =  dzf(ji) - zkappa_i(ji,0) * 2.0 
     
    631631 
    632632                  !!case of only one layer in the ice (surface & ice equations are altered) 
    633                   IF (nlay_i.eq.1) THEN 
     633                  IF ( nlay_i == 1 ) THEN 
    634634                     ztrid(ji,numeqmin(ji),1)  =  0.0 
    635635                     ztrid(ji,numeqmin(ji),2)  =  1.0 + zeta_i(ji,1) * ( zkappa_i(ji,0) * 2.0 + zkappa_i(ji,1) ) 
     
    760760      ! --- diag conservation imbalance on heat diffusion - PART 2 --- ! 
    761761      DO ji = kideb, kiut 
    762          zdq(ji)        = - zq_ini(ji) + ( SUM( q_i_1d(ji,1:nlay_i) ) * ht_i_1d(ji) / REAL( nlay_i ) +  & 
    763             &                              SUM( q_s_1d(ji,1:nlay_s) ) * ht_s_1d(ji) / REAL( nlay_s ) ) 
     762         zdq(ji)        = - zq_ini(ji) + ( SUM( q_i_1d(ji,1:nlay_i) ) * ht_i_1d(ji) * r1_nlay_i +  & 
     763            &                              SUM( q_s_1d(ji,1:nlay_s) ) * ht_s_1d(ji) * r1_nlay_s ) 
    764764         IF( t_su_1d(ji) < rtt ) THEN  ! case T_su < 0degC 
    765765            zhfx_err(ji) = qns_ice_1d(ji) + qsr_ice_1d(ji) - zradtr_i(ji,nlay_i) - fc_bo_i(ji) + zdq(ji) * r1_rdtice  
Note: See TracChangeset for help on using the changeset viewer.