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 4161 for branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/limthd_sal.F90 – NEMO

Ignore:
Timestamp:
2013-11-07T11:01:27+01:00 (10 years ago)
Author:
cetlod
Message:

dev_LOCEAN_2013 : merge in the 3rd dev branch dev_r4028_CNRS_LIM3, see ticket #1169

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/limthd_sal.F90

    r4147 r4161  
    3333 
    3434   !!---------------------------------------------------------------------- 
    35    !! NEMO/LIM3 3.4 , UCL - NEMO Consortium (2011) 
     35   !! NEMO/LIM3 4.0 , UCL - NEMO Consortium (2011) 
    3636   !! $Id$ 
    3737   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
     
    8282         DO ji = kideb, kiut 
    8383            zhiold(ji) = ht_i_b(ji) - dh_i_bott(ji) - dh_snowice(ji) - dh_i_surf(ji) 
     84            zsiold(ji) = sm_i_b(ji) 
    8485         END DO 
    8586 
     
    9091         DO jk = 1, nlay_i 
    9192            DO ji = kideb, kiut 
    92                ze_init(ji) = ze_init(ji) + q_i_b(ji,jk) * ht_i_b(ji) / nlay_i 
     93               ze_init(ji) = ze_init(ji) + q_i_b(ji,jk) * ht_i_b(ji) / REAL (nlay_i ) 
    9394            END DO 
    9495         END DO 
     
    117118            ! only drainage terms ( gravity drainage and flushing ) 
    118119            ! snow ice / bottom sources are added in lim_thd_ent to conserve energy 
    119             zsiold(ji) = sm_i_b(ji) 
    120120            sm_i_b(ji) = sm_i_b(ji) + dsm_i_fl_1d(ji) + dsm_i_gd_1d(ji) 
    121121 
     
    123123            i_ice_switch = 1._wp - MAX ( 0._wp, SIGN( 1._wp , - ht_i_b(ji) ) ) 
    124124            sm_i_b(ji)   = i_ice_switch * sm_i_b(ji) + s_i_min * ( 1._wp - i_ice_switch ) 
    125          END DO ! ji 
    126  
    127          CALL lim_var_salprof1d( kideb, kiut )         ! Salinity profile 
    128  
    129  
    130          !---------------------------- 
    131          ! Heat flux - brine drainage 
    132          !---------------------------- 
    133  
    134          DO ji = kideb, kiut 
    135 !!gm useless 
    136             ! iflush  : 1 if summer  
    137             iflush  =  MAX( 0._wp , SIGN( 1._wp , t_su_b(ji) - rtt        )  )  
    138             ! igravdr : 1 if t_su lt t_bo 
    139             igravdr =  MAX( 0._wp , SIGN( 1._wp , t_bo_b(ji) - t_su_b(ji) )  )  
    140             ! iaccrbo : 1 if bottom accretion 
    141             iaccrbo =  MAX( 0._wp , SIGN( 1._wp , dh_i_bott(ji)           )  ) 
    142 !!gm end useless 
    143             ! 
     125 
     126            !---------------------------- 
     127            ! Heat flux - brine drainage 
     128            !---------------------------- 
    144129            fhbri_1d(ji) = 0._wp 
    145          END DO ! ji 
    146  
    147          !---------------------------- 
    148          ! Salt flux - brine drainage 
    149          !---------------------------- 
    150          DO ji = kideb, kiut 
    151             i_ice_switch = 1._wp - MAX(  0._wp, SIGN( 1._wp , - ht_i_b(ji) )  ) 
    152             sfx_bri_1d(ji) = sfx_bri_1d(ji) - i_ice_switch * rhoic * a_i_b(ji) * ht_i_b(ji)         & 
    153                &           * ( MAX( dsm_i_gd_1d(ji) + dsm_i_fl_1d(ji) , sm_i_b(ji) - zsiold(ji) ) ) * r1_rdtice 
    154          END DO 
     130 
     131            !---------------------------- 
     132            ! Salt flux - brine drainage 
     133            !---------------------------- 
     134            sfx_bri_1d(ji) = sfx_bri_1d(ji) - i_ice_switch * rhoic * a_i_b(ji) * ht_i_b(ji) * ( sm_i_b(ji) - zsiold(ji) ) * r1_rdtice 
     135 
     136         END DO 
     137 
     138         ! Salinity profile 
     139         CALL lim_var_salprof1d( kideb, kiut ) 
     140 
    155141 
    156142         ! Only necessary for conservation check since salinity is modified 
     
    178164      IF(  num_sal == 3  )   CALL lim_var_salprof1d( kideb, kiut ) 
    179165 
    180  
    181       !------------------------------------------------------------------------------| 
    182       ! 5) Computation of salt flux due to Bottom growth 
    183       !------------------------------------------------------------------------------| 
    184       ! note: s_i_new = bulk_sal in constant salinity case 
    185       DO ji = kideb, kiut 
    186          sfx_thd_1d(ji) = sfx_thd_1d(ji) - s_i_new(ji) * rhoic * a_i_b(ji) * MAX( dh_i_bott(ji) , 0._wp ) * r1_rdtice 
    187       END DO 
    188166      ! 
    189167      CALL wrk_dealloc( jpij, ze_init, zhiold, zsiold ) 
Note: See TracChangeset for help on using the changeset viewer.