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 14072 for NEMO/trunk/src/ICE/icethd_zdf_bl99.F90 – NEMO

Ignore:
Timestamp:
2020-12-04T08:48:38+01:00 (3 years ago)
Author:
laurent
Message:

Merging branch "2020/dev_r13648_ASINTER-04_laurent_bulk_ice", ticket #2369

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/ICE/icethd_zdf_bl99.F90

    r14005 r14072  
    22   !!====================================================================== 
    33   !!                       ***  MODULE icethd_zdf_BL99 *** 
    4    !!   sea-ice: vertical heat diffusion in sea ice (computation of temperatures)  
     4   !!   sea-ice: vertical heat diffusion in sea ice (computation of temperatures) 
    55   !!====================================================================== 
    66   !! History :       !  2003-02  (M. Vancoppenolle) original 1D code 
     
    1515   !!---------------------------------------------------------------------- 
    1616   USE dom_oce        ! ocean space and time domain 
    17    USE phycst         ! physical constants (ocean directory)  
     17   USE phycst         ! physical constants (ocean directory) 
    1818   USE ice            ! sea-ice: variables 
    1919   USE ice1D          ! sea-ice: thermodynamics variables 
     
    4444      !! 
    4545      !! ** Method  : solves the heat equation diffusion with a Neumann boundary 
    46       !!              condition at the surface and a Dirichlet one at the bottom.  
     46      !!              condition at the surface and a Dirichlet one at the bottom. 
    4747      !!              Solar radiation is partially absorbed into the ice. 
    48       !!              The specific heat and thermal conductivities depend on ice  
    49       !!              salinity and temperature to take into account brine pocket    
     48      !!              The specific heat and thermal conductivities depend on ice 
     49      !!              salinity and temperature to take into account brine pocket 
    5050      !!              melting. The numerical scheme is an iterative Crank-Nicolson 
    5151      !!              on a non-uniform multilayer grid in the ice and snow system. 
     
    9191      REAL(wp) ::   zbeta     =  0.117_wp     ! for thermal conductivity (could be 0.13) 
    9292      REAL(wp) ::   zkimin    =  0.10_wp      ! minimum ice thermal conductivity 
    93       REAL(wp) ::   ztsu_err  =  1.e-5_wp     ! range around which t_su is considered at 0C  
    94       REAL(wp) ::   zdti_bnd  =  1.e-4_wp     ! maximal authorized error on temperature  
    95       REAL(wp) ::   zhs_ssl   =  0.03_wp      ! surface scattering layer in the snow  
     93      REAL(wp) ::   ztsu_err  =  1.e-5_wp     ! range around which t_su is considered at 0C 
     94      REAL(wp) ::   zdti_bnd  =  1.e-4_wp     ! maximal authorized error on temperature 
     95      REAL(wp) ::   zhs_ssl   =  0.03_wp      ! surface scattering layer in the snow 
    9696      REAL(wp) ::   zhi_ssl   =  0.10_wp      ! surface scattering layer in the ice 
    9797      REAL(wp) ::   zh_min    =  1.e-3_wp     ! minimum ice/snow thickness for conduction 
    9898      REAL(wp) ::   ztmelts                   ! ice melting temperature 
    99       REAL(wp) ::   zdti_max                  ! current maximal error on temperature  
     99      REAL(wp) ::   zdti_max                  ! current maximal error on temperature 
    100100      REAL(wp) ::   zcpi                      ! Ice specific heat 
    101101      REAL(wp) ::   zhfx_err, zdq             ! diag errors on heat 
     
    127127      REAL(wp), DIMENSION(jpij)          ::   zq_ini      ! diag errors on heat 
    128128      REAL(wp), DIMENSION(jpij)          ::   zghe        ! G(he), th. conduct enhancement factor, mono-cat 
    129       REAL(wp), DIMENSION(jpij)          ::   za_s_fra    ! ice fraction covered by snow  
    130       REAL(wp), DIMENSION(jpij)          ::   isnow       ! snow presence (1) or not (0)  
    131       REAL(wp), DIMENSION(jpij)          ::   isnow_comb  ! snow presence for met-office  
     129      REAL(wp), DIMENSION(jpij)          ::   za_s_fra    ! ice fraction covered by snow 
     130      REAL(wp), DIMENSION(jpij)          ::   isnow       ! snow presence (1) or not (0) 
     131      REAL(wp), DIMENSION(jpij)          ::   isnow_comb  ! snow presence for met-office 
    132132      REAL(wp), DIMENSION(jpij,nlay_i+nlay_s+1)   ::   zindterm    ! 'Ind'ependent term 
    133133      REAL(wp), DIMENSION(jpij,nlay_i+nlay_s+1)   ::   zindtbis    ! Temporary 'ind'ependent term 
     
    139139      REAL(wp) ::   zhe        ! dummy factor 
    140140      REAL(wp) ::   zcnd_i     ! mean sea ice thermal conductivity 
    141       !!------------------------------------------------------------------      
     141      !!------------------------------------------------------------------ 
    142142 
    143143      ! --- diag error on heat diffusion - PART 1 --- ! 
    144144      DO ji = 1, npti 
    145145         zq_ini(ji) = ( SUM( e_i_1d(ji,1:nlay_i) ) * h_i_1d(ji) * r1_nlay_i +  & 
    146             &           SUM( e_s_1d(ji,1:nlay_s) ) * h_s_1d(ji) * r1_nlay_s )  
     146            &           SUM( e_s_1d(ji,1:nlay_s) ) * h_s_1d(ji) * r1_nlay_s ) 
    147147      END DO 
    148148 
    149149      ! calculate ice fraction covered by snow for radiation 
    150150      CALL ice_var_snwfra( h_s_1d(1:npti), za_s_fra(1:npti) ) 
    151        
     151 
    152152      !------------------ 
    153153      ! 1) Initialization 
     
    155155      ! 
    156156      ! extinction radiation in the snow 
    157       IF    ( nn_qtrice == 0 ) THEN   ! constant  
     157      IF    ( nn_qtrice == 0 ) THEN   ! constant 
    158158         zraext_s(1:npti) = rn_kappa_s 
    159159      ELSEIF( nn_qtrice == 1 ) THEN   ! depends on melting/freezing conditions 
     
    166166      DO ji = 1, npti 
    167167         ! ice thickness 
    168          IF( h_i_1d(ji) > 0._wp ) THEN  
     168         IF( h_i_1d(ji) > 0._wp ) THEN 
    169169            zh_i  (ji) = MAX( zh_min , h_i_1d(ji) ) * r1_nlay_i ! set a minimum thickness for conduction 
    170170            z1_h_i(ji) = 1._wp / zh_i(ji)                       !       it must be very small 
     
    198198         ztsuold    (1:npti) = t_su_1d(1:npti)                          ! surface temperature initial value 
    199199         t_su_1d    (1:npti) = MIN( t_su_1d(1:npti), rt0 - ztsu_err )   ! required to leave the choice between melting or not 
    200          zdqns_ice_b(1:npti) = dqns_ice_1d(1:npti)                      ! derivative of incoming nonsolar flux  
     200         zdqns_ice_b(1:npti) = dqns_ice_1d(1:npti)                      ! derivative of incoming nonsolar flux 
    201201         zqns_ice_b (1:npti) = qns_ice_1d(1:npti)                       ! store previous qns_ice_1d value 
    202202         ! 
     
    221221      ! 
    222222      zradtr_i(1:npti,0) = zradtr_s(1:npti,nlay_s) * za_s_fra(1:npti) + qtr_ice_top_1d(1:npti) * ( 1._wp - za_s_fra(1:npti) ) 
    223       DO jk = 1, nlay_i  
     223      DO jk = 1, nlay_i 
    224224         DO ji = 1, npti 
    225225            !                             ! radiation transmitted below the layer-th ice layer 
     
    227227               &                                       * EXP( - rn_kappa_i * MAX( 0._wp, zh_i(ji) * REAL(jk) - zh_min  ) ) & 
    228228               &            + ( 1._wp - za_s_fra(ji) ) * qtr_ice_top_1d(ji)                        &   ! part snow free 
    229                &                                       * EXP( - rn_kappa_i * MAX( 0._wp, zh_i(ji) * REAL(jk) - zhi_ssl ) )             
     229               &                                       * EXP( - rn_kappa_i * MAX( 0._wp, zh_i(ji) * REAL(jk) - zhi_ssl ) ) 
    230230            !                             ! radiation absorbed by the layer-th ice layer 
    231231            zradab_i(ji,jk) = zradtr_i(ji,jk-1) - zradtr_i(ji,jk) 
     
    288288         DO ji = 1, npti 
    289289            IF ( .NOT. l_T_converged(ji) ) & 
    290                ztcond_i(ji,:) = MAX( zkimin, ztcond_i_cp(ji,:) )         
     290               ztcond_i(ji,:) = MAX( zkimin, ztcond_i_cp(ji,:) ) 
    291291         END DO 
    292292         ! 
     
    401401            zdiagbis(1:npti,:)   = 0._wp 
    402402 
    403             DO jm = nlay_s + 2, nlay_s + nlay_i  
     403            DO jm = nlay_s + 2, nlay_s + nlay_i 
    404404               DO ji = 1, npti 
    405405                  jk = jm - nlay_s - 1 
     
    414414            DO ji = 1, npti 
    415415               ! ice bottom term 
    416                ztrid   (ji,jm,1) =       - zeta_i(ji,nlay_i) *   zkappa_i(ji,nlay_i-1)    
     416               ztrid   (ji,jm,1) =       - zeta_i(ji,nlay_i) *   zkappa_i(ji,nlay_i-1) 
    417417               ztrid   (ji,jm,2) = 1._wp + zeta_i(ji,nlay_i) * ( zkappa_i(ji,nlay_i-1) + zkappa_i(ji,nlay_i) * zg1 ) 
    418418               ztrid   (ji,jm,3) = 0._wp 
    419419               zindterm(ji,jm)   = ztiold(ji,nlay_i) + zeta_i(ji,nlay_i) *  & 
    420                   &              ( zradab_i(ji,nlay_i) + zkappa_i(ji,nlay_i) * zg1 * t_bo_1d(ji) )  
     420                  &              ( zradab_i(ji,nlay_i) + zkappa_i(ji,nlay_i) * zg1 * t_bo_1d(ji) ) 
    421421            END DO 
    422422 
     
    433433                     zindterm(ji,jm)   = ztsold(ji,jk) + zeta_s(ji,jk) * zradab_s(ji,jk) 
    434434                  END DO 
    435                    
     435 
    436436                  ! case of only one layer in the ice (ice equation is altered) 
    437437                  IF( nlay_i == 1 ) THEN 
    438438                     ztrid   (ji,nlay_s+2,3) = 0._wp 
    439                      zindterm(ji,nlay_s+2)   = zindterm(ji,nlay_s+2) + zeta_i(ji,1) * zkappa_i(ji,1) * t_bo_1d(ji)  
    440                   ENDIF 
    441                    
     439                     zindterm(ji,nlay_s+2)   = zindterm(ji,nlay_s+2) + zeta_i(ji,1) * zkappa_i(ji,1) * t_bo_1d(ji) 
     440                  ENDIF 
     441 
    442442                  IF( t_su_1d(ji) < rt0 ) THEN   !--  case 1 : no surface melting 
    443                       
     443 
    444444                     jm_min(ji) = 1 
    445445                     jm_max(ji) = nlay_i + nlay_s + 1 
    446                       
     446 
    447447                     ! surface equation 
    448448                     ztrid   (ji,1,1) = 0._wp 
     
    450450                     ztrid   (ji,1,3) =                   zg1s * zkappa_s(ji,0) 
    451451                     zindterm(ji,1)   = zdqns_ice_b(ji) * t_su_1d(ji) - zfnet(ji) 
    452                       
     452 
    453453                     ! first layer of snow equation 
    454454                     ztrid   (ji,2,1) =       - zeta_s(ji,1) *                    zkappa_s(ji,0) * zg1s 
     
    456456                     ztrid   (ji,2,3) =       - zeta_s(ji,1) *   zkappa_s(ji,1) 
    457457                     zindterm(ji,2)   = ztsold(ji,1) + zeta_s(ji,1) * zradab_s(ji,1) 
    458                       
     458 
    459459                  ELSE                            !--  case 2 : surface is melting 
    460460                     ! 
    461461                     jm_min(ji) = 2 
    462462                     jm_max(ji) = nlay_i + nlay_s + 1 
    463                       
     463 
    464464                     ! first layer of snow equation 
    465465                     ztrid   (ji,2,1) = 0._wp 
    466466                     ztrid   (ji,2,2) = 1._wp + zeta_s(ji,1) * ( zkappa_s(ji,1) + zkappa_s(ji,0) * zg1s ) 
    467                      ztrid   (ji,2,3) =       - zeta_s(ji,1) *   zkappa_s(ji,1)  
    468                      zindterm(ji,2)   = ztsold(ji,1) + zeta_s(ji,1) * ( zradab_s(ji,1) + zkappa_s(ji,0) * zg1s * t_su_1d(ji) )  
     467                     ztrid   (ji,2,3) =       - zeta_s(ji,1) *   zkappa_s(ji,1) 
     468                     zindterm(ji,2)   = ztsold(ji,1) + zeta_s(ji,1) * ( zradab_s(ji,1) + zkappa_s(ji,0) * zg1s * t_su_1d(ji) ) 
    469469                  ENDIF 
    470470                  !                            !---------------------! 
     
    476476                     jm_min(ji) = nlay_s + 1 
    477477                     jm_max(ji) = nlay_i + nlay_s + 1 
    478                       
    479                      ! surface equation    
     478 
     479                     ! surface equation 
    480480                     ztrid   (ji,jm_min(ji),1) = 0._wp 
    481                      ztrid   (ji,jm_min(ji),2) = zdqns_ice_b(ji) - zkappa_i(ji,0) * zg1     
     481                     ztrid   (ji,jm_min(ji),2) = zdqns_ice_b(ji) - zkappa_i(ji,0) * zg1 
    482482                     ztrid   (ji,jm_min(ji),3) =                   zkappa_i(ji,0) * zg1 
    483483                     zindterm(ji,jm_min(ji))   = zdqns_ice_b(ji) * t_su_1d(ji) - zfnet(ji) 
    484                       
     484 
    485485                     ! first layer of ice equation 
    486486                     ztrid   (ji,jm_min(ji)+1,1) =       - zeta_i(ji,1) *                    zkappa_i(ji,0) * zg1 
    487487                     ztrid   (ji,jm_min(ji)+1,2) = 1._wp + zeta_i(ji,1) * ( zkappa_i(ji,1) + zkappa_i(ji,0) * zg1 ) 
    488                      ztrid   (ji,jm_min(ji)+1,3) =       - zeta_i(ji,1) *   zkappa_i(ji,1)   
    489                      zindterm(ji,jm_min(ji)+1)   = ztiold(ji,1) + zeta_i(ji,1) * zradab_i(ji,1)   
    490                       
     488                     ztrid   (ji,jm_min(ji)+1,3) =       - zeta_i(ji,1) *   zkappa_i(ji,1) 
     489                     zindterm(ji,jm_min(ji)+1)   = ztiold(ji,1) + zeta_i(ji,1) * zradab_i(ji,1) 
     490 
    491491                     ! case of only one layer in the ice (surface & ice equations are altered) 
    492492                     IF( nlay_i == 1 ) THEN 
     
    499499                        zindterm(ji,jm_min(ji)+1)   = ztiold(ji,1) + zeta_i(ji,1) * (zradab_i(ji,1) + zkappa_i(ji,1) * t_bo_1d(ji)) 
    500500                     ENDIF 
    501                       
     501 
    502502                  ELSE                            !--  case 2 : surface is melting 
    503                       
     503 
    504504                     jm_min(ji) = nlay_s + 2 
    505505                     jm_max(ji) = nlay_i + nlay_s + 1 
    506                       
     506 
    507507                     ! first layer of ice equation 
    508508                     ztrid   (ji,jm_min(ji),1) = 0._wp 
    509                      ztrid   (ji,jm_min(ji),2) = 1._wp + zeta_i(ji,1) * ( zkappa_i(ji,1) + zkappa_i(ji,0) * zg1 )   
     509                     ztrid   (ji,jm_min(ji),2) = 1._wp + zeta_i(ji,1) * ( zkappa_i(ji,1) + zkappa_i(ji,0) * zg1 ) 
    510510                     ztrid   (ji,jm_min(ji),3) =       - zeta_i(ji,1) *   zkappa_i(ji,1) 
    511                      zindterm(ji,jm_min(ji))   = ztiold(ji,1) + zeta_i(ji,1) * (zradab_i(ji,1) + zkappa_i(ji,0) * zg1 * t_su_1d(ji))  
    512                       
     511                     zindterm(ji,jm_min(ji))   = ztiold(ji,1) + zeta_i(ji,1) * (zradab_i(ji,1) + zkappa_i(ji,0) * zg1 * t_su_1d(ji)) 
     512 
    513513                     ! case of only one layer in the ice (surface & ice equations are altered) 
    514514                     IF( nlay_i == 1 ) THEN 
     
    519519                           &                      + t_su_1d(ji) * zeta_i(ji,1) * zkappa_i(ji,0) * 2._wp 
    520520                     ENDIF 
    521                       
     521 
    522522                  ENDIF 
    523523               ENDIF 
     
    540540!!$            END DO 
    541541!!$            !!clem SNWLAY => check why LIM1D does not get this loop. Is nlay_i+5 correct? 
    542 !!$             
     542!!$ 
    543543!!$            DO jk = jm_mint+1, jm_maxt 
    544544!!$               DO ji = 1, npti 
     
    574574            END DO 
    575575 
    576             ! snow temperatures       
     576            ! snow temperatures 
    577577            DO ji = 1, npti 
    578578               ! Variables used after iterations 
     
    589589               END DO 
    590590            END DO 
    591              
     591 
    592592            ! surface temperature 
    593593            DO ji = 1, npti 
     
    628628                     zdti_max      =  MAX( zdti_max, ABS( t_i_1d(ji,jk) - ztib(ji,jk) ) ) 
    629629                  END DO 
    630                    
     630 
    631631                  ! convergence test 
    632632                  IF( ln_zdf_chkcvg ) THEN 
     
    665665            zdiagbis(1:npti,:)   = 0._wp 
    666666 
    667             DO jm = nlay_s + 2, nlay_s + nlay_i  
     667            DO jm = nlay_s + 2, nlay_s + nlay_i 
    668668               DO ji = 1, npti 
    669669                  jk = jm - nlay_s - 1 
     
    678678            DO ji = 1, npti 
    679679               ! ice bottom term 
    680                ztrid   (ji,jm,1) =       - zeta_i(ji,nlay_i) *   zkappa_i(ji,nlay_i-1)    
     680               ztrid   (ji,jm,1) =       - zeta_i(ji,nlay_i) *   zkappa_i(ji,nlay_i-1) 
    681681               ztrid   (ji,jm,2) = 1._wp + zeta_i(ji,nlay_i) * ( zkappa_i(ji,nlay_i-1) + zkappa_i(ji,nlay_i) * zg1 ) 
    682682               ztrid   (ji,jm,3) = 0._wp 
    683683               zindterm(ji,jm)   = ztiold(ji,nlay_i) + zeta_i(ji,nlay_i) *  & 
    684                   &              ( zradab_i(ji,nlay_i) + zkappa_i(ji,nlay_i) * zg1 * t_bo_1d(ji) )  
     684                  &              ( zradab_i(ji,nlay_i) + zkappa_i(ji,nlay_i) * zg1 * t_bo_1d(ji) ) 
    685685            ENDDO 
    686686 
     
    697697                     zindterm(ji,jm)   = ztsold(ji,jk) + zeta_s(ji,jk) * zradab_s(ji,jk) 
    698698                  END DO 
    699                    
     699 
    700700                  ! case of only one layer in the ice (ice equation is altered) 
    701701                  IF ( nlay_i == 1 ) THEN 
    702702                     ztrid   (ji,nlay_s+2,3) = 0._wp 
    703                      zindterm(ji,nlay_s+2)   = zindterm(ji,nlay_s+2) + zeta_i(ji,1) * zkappa_i(ji,1) * t_bo_1d(ji)  
    704                   ENDIF 
    705                    
     703                     zindterm(ji,nlay_s+2)   = zindterm(ji,nlay_s+2) + zeta_i(ji,1) * zkappa_i(ji,1) * t_bo_1d(ji) 
     704                  ENDIF 
     705 
    706706                  jm_min(ji) = 2 
    707707                  jm_max(ji) = nlay_i + nlay_s + 1 
    708                    
     708 
    709709                  ! first layer of snow equation 
    710710                  ztrid   (ji,2,1) = 0._wp 
    711711                  ztrid   (ji,2,2) = 1._wp + zeta_s(ji,1) * zkappa_s(ji,1) 
    712                   ztrid   (ji,2,3) =       - zeta_s(ji,1) * zkappa_s(ji,1)  
    713                   zindterm(ji,2)   = ztsold(ji,1) + zeta_s(ji,1) * ( zradab_s(ji,1) + qcn_ice_1d(ji) )  
    714                    
     712                  ztrid   (ji,2,3) =       - zeta_s(ji,1) * zkappa_s(ji,1) 
     713                  zindterm(ji,2)   = ztsold(ji,1) + zeta_s(ji,1) * ( zradab_s(ji,1) + qcn_ice_1d(ji) ) 
     714 
    715715                  !                            !---------------------! 
    716716               ELSE                            ! cells without snow  ! 
     
    718718                  jm_min(ji) = nlay_s + 2 
    719719                  jm_max(ji) = nlay_i + nlay_s + 1 
    720                    
     720 
    721721                  ! first layer of ice equation 
    722722                  ztrid   (ji,jm_min(ji),1) = 0._wp 
    723                   ztrid   (ji,jm_min(ji),2) = 1._wp + zeta_i(ji,1) * zkappa_i(ji,1)   
     723                  ztrid   (ji,jm_min(ji),2) = 1._wp + zeta_i(ji,1) * zkappa_i(ji,1) 
    724724                  ztrid   (ji,jm_min(ji),3) =       - zeta_i(ji,1) * zkappa_i(ji,1) 
    725725                  zindterm(ji,jm_min(ji))   = ztiold(ji,1) + zeta_i(ji,1) * ( zradab_i(ji,1) + qcn_ice_1d(ji) ) 
    726                    
     726 
    727727                  ! case of only one layer in the ice (surface & ice equations are altered) 
    728728                  IF( nlay_i == 1 ) THEN 
     
    733733                        &                                     ( zradab_i(ji,1) + zkappa_i(ji,1) * t_bo_1d(ji) + qcn_ice_1d(ji) ) 
    734734                  ENDIF 
    735                    
     735 
    736736               ENDIF 
    737737               ! 
     
    752752!!$               jm_maxt = MAX(jm_max(ji),jm_maxt) 
    753753!!$            END DO 
    754 !!$             
     754!!$ 
    755755!!$            DO jk = jm_mint+1, jm_maxt 
    756756!!$               DO ji = 1, npti 
     
    786786               END DO 
    787787            END DO 
    788              
    789             ! snow temperatures       
     788 
     789            ! snow temperatures 
    790790            DO ji = 1, npti 
    791791               ! Variables used after iterations 
     
    823823 
    824824                  DO jk = 1, nlay_i 
    825                      ztmelts       = -rTmlt * sz_i_1d(ji,jk) + rt0  
     825                     ztmelts       = -rTmlt * sz_i_1d(ji,jk) + rt0 
    826826                     t_i_1d(ji,jk) =  MAX( MIN( t_i_1d(ji,jk), ztmelts ), rt0 - 100._wp ) 
    827827                     zdti_max      =  MAX ( zdti_max, ABS( t_i_1d(ji,jk) - ztib(ji,jk) ) ) 
     
    885885         ! 
    886886         DO ji = 1, npti 
    887             hfx_err_dif_1d(ji) = hfx_err_dif_1d(ji) - ( qns_ice_1d(ji) - zqns_ice_b(ji) ) * a_i_1d(ji)  
     887            hfx_err_dif_1d(ji) = hfx_err_dif_1d(ji) - ( qns_ice_1d(ji) - zqns_ice_b(ji) ) * a_i_1d(ji) 
    888888         END DO 
    889889         ! 
     
    893893      ! 
    894894      IF( k_cnd == np_cnd_OFF .OR. k_cnd == np_cnd_ON ) THEN 
    895           
    896          CALL ice_var_enthalpy        
    897           
     895 
     896         CALL ice_var_enthalpy 
     897 
    898898         ! zhfx_err = correction on the diagnosed heat flux due to non-convergence of the algorithm used to solve heat equation 
    899899         DO ji = 1, npti 
    900900            zdq = - zq_ini(ji) + ( SUM( e_i_1d(ji,1:nlay_i) ) * h_i_1d(ji) * r1_nlay_i +  & 
    901901               &                   SUM( e_s_1d(ji,1:nlay_s) ) * h_s_1d(ji) * r1_nlay_s ) 
    902              
     902 
    903903            IF( k_cnd == np_cnd_OFF ) THEN 
    904                 
     904 
    905905               IF( t_su_1d(ji) < rt0 ) THEN  ! case T_su < 0degC 
    906906                  zhfx_err = ( qns_ice_1d(ji)     + qsr_ice_1d(ji)     - zradtr_i(ji,nlay_i) - qcn_ice_bot_1d(ji)  & 
     
    910910                     &       + zdq * r1_Dt_ice ) * a_i_1d(ji) 
    911911               ENDIF 
    912                 
     912 
    913913            ELSEIF( k_cnd == np_cnd_ON ) THEN 
    914              
     914 
    915915               zhfx_err    = ( qcn_ice_top_1d(ji) + qtr_ice_top_1d(ji) - zradtr_i(ji,nlay_i) - qcn_ice_bot_1d(ji)  & 
    916916                  &          + zdq * r1_Dt_ice ) * a_i_1d(ji) 
    917              
     917 
    918918            ENDIF 
    919919            ! 
     
    921921            hfx_err_dif_1d(ji) = hfx_err_dif_1d(ji) + zhfx_err 
    922922            ! 
    923             ! hfx_dif = Heat flux diagnostic of sensible heat used to warm/cool ice in W.m-2    
     923            ! hfx_dif = Heat flux diagnostic of sensible heat used to warm/cool ice in W.m-2 
    924924            hfx_dif_1d(ji) = hfx_dif_1d(ji) - zdq * r1_Dt_ice * a_i_1d(ji) 
    925925            ! 
     
    952952      ! --- SIMIP diagnostics 
    953953      ! 
    954       DO ji = 1, npti          
     954      DO ji = 1, npti 
    955955         !--- Snow-ice interfacial temperature (diagnostic SIMIP) 
    956956         IF( h_s_1d(ji) >= zhs_ssl ) THEN 
Note: See TracChangeset for help on using the changeset viewer.