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 2370 for branches/nemo_v3_3_beta/NEMOGCM/NEMO/LIM_SRC_2/limrhg_2.F90 – NEMO

Ignore:
Timestamp:
2010-11-10T08:48:54+01:00 (13 years ago)
Author:
gm
Message:

v3.3beta: ice-ocean stress at kt with VP & EVP (LIM-2 and -3)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/nemo_v3_3_beta/NEMOGCM/NEMO/LIM_SRC_2/limrhg_2.F90

    r2319 r2370  
    77   !!            1.0  !  1994-12  (H. Goosse)  
    88   !!            2.0  !  2003-12  (C. Ethe, G. Madec)  F90, mpp 
    9    !!            " "  !  2006-08  (G. Madec)  surface module, ice-stress at I-point 
    10    !!            " "  !  2009-09  (G. Madec)  Huge verctor optimisation 
     9   !!             -   !  2006-08  (G. Madec)  surface module, ice-stress at I-point 
     10   !!             -   !  2009-09  (G. Madec)  Huge verctor optimisation 
    1111   !!            3.3  !  2009-05  (G.Garric, C. Bricaud) addition of the lim2_evp case 
    1212   !!---------------------------------------------------------------------- 
    1313#if defined   key_lim2   &&   defined key_lim2_vp 
    1414   !!---------------------------------------------------------------------- 
    15    !!   'key_lim2'                and                 LIM 2.0 sea-ice model 
     15   !!   'key_lim2'                AND                   LIM-2 sea-ice model 
    1616   !!   'key_lim2_vp'                                       VP ice rheology 
    17    !!---------------------------------------------------------------------- 
    1817   !!---------------------------------------------------------------------- 
    1918   !!   lim_rhg_2   : computes ice velocities 
     
    3635   PUBLIC   lim_rhg_2 ! routine called by lim_dyn 
    3736 
    38    REAL(wp) ::   rzero   = 0.e0   ! constant value: zero 
    39    REAL(wp) ::   rone    = 1.e0   !            and  one 
     37   REAL(wp) ::   rzero   = 0._wp   ! constant value: zero 
     38   REAL(wp) ::   rone    = 1._wp   !            and  one 
    4039 
    4140   !! * Substitutions 
     
    4443   !! NEMO/LIM2 3.3 , UCL - NEMO Consortium (2010) 
    4544   !! $Id$ 
    46    !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    47    !!---------------------------------------------------------------------- 
    48  
     45   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
     46   !!---------------------------------------------------------------------- 
    4947CONTAINS 
    5048 
     
    6765      INTEGER ::   iter, jter          ! temporary integers 
    6866      CHARACTER (len=50) ::   charout 
    69       REAL(wp) ::   ze11  , ze12  , ze22  , ze21               ! temporary scalars 
    70       REAL(wp) ::   zt11  , zt12  , zt21  , zt22               !    "         " 
    71       REAL(wp) ::   zvis11, zvis21, zvis12, zvis22             !    "         " 
    72       REAL(wp) ::   zgphsx, ztagnx, zgsshx, zunw, zur, zusw    !    "         " 
    73       REAL(wp) ::   zgphsy, ztagny, zgsshy, zvnw, zvr          !    "         " 
     67      REAL(wp) ::   ze11  , ze12  , ze22  , ze21               ! local scalars 
     68      REAL(wp) ::   zt11  , zt12  , zt21  , zt22               !   -      - 
     69      REAL(wp) ::   zvis11, zvis21, zvis12, zvis22             !   -      - 
     70      REAL(wp) ::   zgphsx, ztagnx, zgsshx, zunw, zur, zusw    !   -      - 
     71      REAL(wp) ::   zgphsy, ztagny, zgsshy, zvnw, zvr          !   -      - 
    7472      REAL(wp) ::   zresm,  za, zac, zmod 
    7573      REAL(wp) ::   zmpzas, zstms, zindu, zusdtp, zmassdt, zcorlal 
     
    9189      REAL(wp), DIMENSION(jpi,0:jpj+1) ::   zzfrld, zztms 
    9290      REAL(wp), DIMENSION(jpi,0:jpj+1) ::   zi1, zi2, zmasst, zpresh 
    93  
    9491      !!------------------------------------------------------------------- 
    95  
    96 !!bug 
    97 !!    u_oce(:,:) = 0.e0 
    98 !!    v_oce(:,:) = 0.e0 
    99 !!    write(*,*) 'rhg min, max u & v', maxval(u_oce), minval(u_oce), maxval(v_oce), minval(v_oce) 
    100 !!bug 
    10192       
    10293      !  Store initial velocities 
    10394      !  ---------------- 
    104       zztms(:,0    ) = 0.e0       ;    zzfrld(:,0    ) = 0.e0 
    105       zztms(:,jpj+1) = 0.e0       ;    zzfrld(:,jpj+1) = 0.e0 
    106       zu0(:,0    ) = 0.e0         ;    zv0(:,0    ) = 0.e0 
    107       zu0(:,jpj+1) = 0.e0         ;    zv0(:,jpj+1) = 0.e0 
    108       zztms(:,1:jpj) = tms(:,:)   ;    zzfrld(:,1:jpj) = frld(:,:) 
    109       zu0(:,1:jpj) = u_ice(:,:)   ;    zv0(:,1:jpj) = v_ice(:,:) 
    110  
    111       zu_a(:,:)    = zu0(:,:)     ;   zv_a(:,:) = zv0(:,:) 
    112       zu_n(:,:)    = zu0(:,:)     ;   zv_n(:,:) = zv0(:,:) 
     95      zztms(:,0    ) = 0._wp        ;   zzfrld(:,0    ) = 0._wp 
     96      zztms(:,jpj+1) = 0._wp        ;   zzfrld(:,jpj+1) = 0._wp 
     97      zu0  (:,0    ) = 0._wp        ;   zv0   (:,0    ) = 0._wp 
     98      zu0  (:,jpj+1) = 0._wp        ;   zv0   (:,jpj+1) = 0._wp 
     99      zztms(:,1:jpj) = tms  (:,:)   ;   zzfrld(:,1:jpj) = frld (:,:) 
     100      zu0  (:,1:jpj) = u_ice(:,:)   ;   zv0   (:,1:jpj) = v_ice(:,:) 
     101      zu_a (:, :   ) = zu0  (:,:)   ;   zv_a  (:, :   ) = zv0  (:,:) 
     102      zu_n (:, :   ) = zu0  (:,:)   ;   zv_n  (:, :   ) = zv0  (:,:) 
    113103 
    114104!i 
    115       zi1   (:,:) = 0.e0 
    116       zi2   (:,:) = 0.e0 
    117       zpresh(:,:) = 0.e0 
    118       zmasst(:,:) = 0.e0 
     105      zi1   (:,:) = 0._wp 
     106      zi2   (:,:) = 0._wp 
     107      zpresh(:,:) = 0._wp 
     108      zmasst(:,:) = 0._wp 
    119109!i 
    120110!!gm violant 
    121       zfrld(:,:) =0.e0 
    122       zcorl(:,:) =0.e0 
    123       zmass(:,:) =0.e0 
    124       za1ct(:,:) =0.e0 
    125       za2ct(:,:) =0.e0 
     111      zfrld(:,:) =0._wp 
     112      zcorl(:,:) =0._wp 
     113      zmass(:,:) =0._wp 
     114      za1ct(:,:) =0._wp 
     115      za2ct(:,:) =0._wp 
    126116!!gm end 
    127117 
    128       zviszeta(:,:) = 0.e0 
    129       zviseta (:,:) = 0.e0 
    130  
    131 !i    zviszeta(:,0    ) = 0.e0    ;    zviseta(:,0    ) = 0.e0 
    132 !i    zviszeta(:,jpj  ) = 0.e0    ;    zviseta(:,jpj  ) = 0.e0 
    133 !i    zviszeta(:,jpj+1) = 0.e0    ;    zviseta(:,jpj+1) = 0.e0 
     118      zviszeta(:,:) = 0._wp 
     119      zviseta (:,:) = 0._wp 
     120 
     121!i    zviszeta(:,0    ) = 0._wp    ;    zviseta(:,0    ) = 0._wp 
     122!i    zviszeta(:,jpj  ) = 0._wp    ;    zviseta(:,jpj  ) = 0._wp 
     123!i    zviszeta(:,jpj+1) = 0._wp    ;    zviseta(:,jpj+1) = 0._wp 
    134124 
    135125 
     
    143133         DO ji = 1 , jpi 
    144134            ! only the sinus changes its sign with the hemisphere 
    145             zsang(ji,jj)  = SIGN( 1.e0, fcor(ji,jj) ) * sangvg   ! only the sinus changes its sign with the hemisphere 
     135            zsang(ji,jj)  = SIGN( 1._wp, fcor(ji,jj) ) * sangvg   ! only the sinus changes its sign with the hemisphere 
    146136            ! 
    147137            zmasst(ji,jj) = tms(ji,jj) * ( rhosn * hsnm(ji,jj) + rhoic * hicm(ji,jj) ) 
    148138            zpresh(ji,jj) = tms(ji,jj) *  pstarh * hicm(ji,jj) * EXP( -c_rhg * frld(ji,jj) ) 
    149139!!gm  :: stress given at I-point (F-point for the ocean) only compute the ponderation with the ice fraction (1-frld) 
    150             zi1(ji,jj)    = tms(ji,jj) * ( 1.0 - frld(ji,jj) ) 
    151             zi2(ji,jj)    = tms(ji,jj) * ( 1.0 - frld(ji,jj) ) 
     140            zi1(ji,jj)    = tms(ji,jj) * ( 1._wp - frld(ji,jj) ) 
     141            zi2(ji,jj)    = tms(ji,jj) * ( 1._wp - frld(ji,jj) ) 
    152142         END DO 
    153143      END DO 
     
    163153            zstms = zztms(ji,jj  ) * wght(ji,jj,2,2) + zztms(ji-1,jj  ) * wght(ji,jj,1,2)   & 
    164154               &  + zztms(ji,jj-1) * wght(ji,jj,2,1) + zztms(ji-1,jj-1) * wght(ji,jj,1,1) 
    165             zusw  = 1.0 / MAX( zstms, epsd ) 
     155            zusw  = 1._wp / MAX( zstms, epsd ) 
    166156 
    167157            zt11 = zztms(ji  ,jj  ) * zzfrld(ji  ,jj  )  
     
    201191            ! Gradient of the sea surface height 
    202192            zgsshx =  (   (ssh_m(ji  ,jj  ) - ssh_m(ji-1,jj  ))/e1u(ji-1,jj  )   & 
    203                &       +  (ssh_m(ji  ,jj-1) - ssh_m(ji-1,jj-1))/e1u(ji-1,jj-1)   ) * 0.5 
     193               &       +  (ssh_m(ji  ,jj-1) - ssh_m(ji-1,jj-1))/e1u(ji-1,jj-1)   ) * 0.5_wp 
    204194            zgsshy =  (   (ssh_m(ji  ,jj  ) - ssh_m(ji  ,jj-1))/e2v(ji  ,jj-1)   & 
    205                &       +  (ssh_m(ji-1,jj  ) - ssh_m(ji-1,jj-1))/e2v(ji-1,jj-1)   ) * 0.5 
     195               &       +  (ssh_m(ji-1,jj  ) - ssh_m(ji-1,jj-1))/e2v(ji-1,jj-1)   ) * 0.5_wp 
    206196 
    207197            ! Computation of the velocity field taking into account the ice-ice interaction.                                  
     
    219209         !                                                ! ==================== !         
    220210         zindu = MOD( iter , 2 ) 
    221          zusdtp = ( zindu * 2.0 + ( 1.0 - zindu ) * 1.0 )  * REAL( nbiter ) / rdt_ice 
     211         zusdtp = ( zindu * 2._wp + ( 1._wp - zindu ) * 1._wp )  * REAL( nbiter ) / rdt_ice 
    222212 
    223213         ! Computation of free drift field for free slip boundary conditions. 
     
    241231               zdgi = zt12 + zt21 
    242232               ztrace2 = zdgp * zdgp  
    243                zdeter  = zt11 * zt22 - 0.25 * zdgi * zdgi 
     233               zdeter  = zt11 * zt22 - 0.25_wp * zdgi * zdgi 
    244234 
    245235               !  Creep limit depends on the size of the grid. 
    246                zdelta = MAX( SQRT( ztrace2 + ( ztrace2 - 4.0 * zdeter ) * usecc2 ),  creepl) 
     236               zdelta = MAX( SQRT( ztrace2 + ( ztrace2 - 4._wp * zdeter ) * usecc2 ),  creepl) 
    247237 
    248238               !-  Computation of viscosities. 
     
    256246            DO ji = 2, fs_jpim1   ! NO vector opt. 
    257247               !* zc1u , zc2v 
    258                zvis11 = 2.0 * zviseta (ji-1,jj-1) + dm 
    259                zvis12 =       zviseta (ji-1,jj-1) + dm 
    260                zvis21 =       zviseta (ji-1,jj-1) 
    261                zvis22 =       zviszeta(ji-1,jj-1) - zviseta(ji-1,jj-1) 
     248               zvis11 = 2._wp * zviseta (ji-1,jj-1) + dm 
     249               zvis12 =         zviseta (ji-1,jj-1) + dm 
     250               zvis21 =         zviseta (ji-1,jj-1) 
     251               zvis22 =         zviszeta(ji-1,jj-1) - zviseta(ji-1,jj-1) 
    262252               zdiag  = zvis22 * ( akappa(ji-1,jj-1,1,1) + akappa(ji-1,jj-1,2,1) ) 
    263253               zs11_11 =  zvis11 * akappa(ji-1,jj-1,1,1) + zdiag 
     
    266256               zs22_11 =  zvis11 * akappa(ji-1,jj-1,2,1) + zdiag 
    267257 
    268                zvis11 = 2.0 * zviseta (ji,jj-1) + dm 
    269                zvis22 =       zviszeta(ji,jj-1) - zviseta(ji,jj-1) 
    270                zvis12 =       zviseta (ji,jj-1) + dm 
    271                zvis21 =       zviseta (ji,jj-1) 
     258               zvis11 = 2._wp * zviseta (ji,jj-1) + dm 
     259               zvis22 =         zviszeta(ji,jj-1) - zviseta(ji,jj-1) 
     260               zvis12 =         zviseta (ji,jj-1) + dm 
     261               zvis21 =         zviseta (ji,jj-1) 
    272262               zdiag = zvis22 * ( -akappa(ji,jj-1,1,1) + akappa(ji,jj-1,2,1) ) 
    273263               zs11_21 = -zvis11 * akappa(ji,jj-1,1,1) + zdiag 
     
    276266               zs21_21 = -zvis12 * akappa(ji,jj-1,1,2) + zvis21 * akappa(ji,jj-1,2,2) 
    277267 
    278                zvis11 = 2.0 * zviseta (ji-1,jj) + dm 
    279                zvis22 =       zviszeta(ji-1,jj) - zviseta(ji-1,jj) 
    280                zvis12 =       zviseta (ji-1,jj) + dm 
    281                zvis21 =       zviseta (ji-1,jj) 
    282                zdiag = zvis22 * ( akappa(ji-1,jj,1,1) + akappa(ji-1,jj,2,1) ) 
     268               zvis11 = 2._wp * zviseta (ji-1,jj) + dm 
     269               zvis22 =         zviszeta(ji-1,jj) - zviseta(ji-1,jj) 
     270               zvis12 =         zviseta (ji-1,jj) + dm 
     271               zvis21 =         zviseta (ji-1,jj) 
     272               zdiag  = zvis22 * ( akappa(ji-1,jj,1,1) + akappa(ji-1,jj,2,1) ) 
    283273               zs11_12 =  zvis11 * akappa(ji-1,jj,1,1) + zdiag 
    284274               zs12_12 = -zvis12 * akappa(ji-1,jj,2,2) - zvis21 * akappa(ji-1,jj,1,2) 
     
    286276               zs21_12 = -zvis12 * akappa(ji-1,jj,1,2) - zvis21 * akappa(ji-1,jj,2,2) 
    287277 
    288                zvis11 = 2.0 * zviseta (ji,jj) + dm 
    289                zvis22 =       zviszeta(ji,jj) - zviseta(ji,jj) 
    290                zvis12 =       zviseta (ji,jj) + dm 
    291                zvis21 =       zviseta (ji,jj) 
     278               zvis11 = 2._wp * zviseta (ji,jj) + dm 
     279               zvis22 =         zviszeta(ji,jj) - zviseta(ji,jj) 
     280               zvis12 =         zviseta (ji,jj) + dm 
     281               zvis21 =         zviseta (ji,jj) 
    292282               zdiag = zvis22 * ( -akappa(ji,jj,1,1) + akappa(ji,jj,2,1) ) 
    293283               zs11_22 = -zvis11 * akappa(ji,jj,1,1) + zdiag 
     
    315305 
    316306               !* zc1v , zc2v. 
    317                zvis11 = 2.0 * zviseta (ji-1,jj-1) + dm 
    318                zvis22 =       zviszeta(ji-1,jj-1) - zviseta(ji-1,jj-1) 
    319                zvis12 =       zviseta (ji-1,jj-1) + dm 
    320                zvis21 =       zviseta (ji-1,jj-1) 
     307               zvis11 = 2._wp * zviseta (ji-1,jj-1) + dm 
     308               zvis22 =         zviszeta(ji-1,jj-1) - zviseta(ji-1,jj-1) 
     309               zvis12 =         zviseta (ji-1,jj-1) + dm 
     310               zvis21 =         zviseta (ji-1,jj-1) 
    321311               zdiag = zvis22 * ( akappa(ji-1,jj-1,1,2) + akappa(ji-1,jj-1,2,2) ) 
    322312               zs11_11 =  zvis11 * akappa(ji-1,jj-1,1,2) + zdiag 
     
    325315               zs21_11 =  zvis12 * akappa(ji-1,jj-1,1,1) - zvis21 * akappa(ji-1,jj-1,2,1) 
    326316  
    327                zvis11 = 2.0 * zviseta (ji,jj-1) + dm 
    328                zvis22 =       zviszeta(ji,jj-1) - zviseta(ji,jj-1) 
    329                zvis12 =       zviseta (ji,jj-1) + dm 
    330                zvis21 =       zviseta (ji,jj-1) 
     317               zvis11 = 2._wp * zviseta (ji,jj-1) + dm 
     318               zvis22 =         zviszeta(ji,jj-1) - zviseta(ji,jj-1) 
     319               zvis12 =         zviseta (ji,jj-1) + dm 
     320               zvis21 =         zviseta (ji,jj-1) 
    331321               zdiag = zvis22 * ( akappa(ji,jj-1,1,2) + akappa(ji,jj-1,2,2) ) 
    332322               zs11_21 =  zvis11 * akappa(ji,jj-1,1,2) + zdiag 
     
    335325               zs21_21 = -zvis12 * akappa(ji,jj-1,1,1) - zvis21 * akappa(ji,jj-1,2,1) 
    336326 
    337                zvis11 = 2.0 * zviseta (ji-1,jj) + dm 
    338                zvis22 =       zviszeta(ji-1,jj) - zviseta(ji-1,jj) 
    339                zvis12 =       zviseta (ji-1,jj) + dm 
    340                zvis21 =       zviseta (ji-1,jj) 
     327               zvis11 = 2._wp * zviseta (ji-1,jj) + dm 
     328               zvis22 =         zviszeta(ji-1,jj) - zviseta(ji-1,jj) 
     329               zvis12 =         zviseta (ji-1,jj) + dm 
     330               zvis21 =         zviseta (ji-1,jj) 
    341331               zdiag = zvis22 * ( akappa(ji-1,jj,1,2) - akappa(ji-1,jj,2,2) ) 
    342332               zs11_12 =  zvis11 * akappa(ji-1,jj,1,2) + zdiag 
     
    345335               zs21_12 =  zvis12 * akappa(ji-1,jj,1,1) - zvis21 * akappa(ji-1,jj,2,1) 
    346336 
    347                zvis11 = 2.0 * zviseta (ji,jj) + dm 
    348                zvis22 =       zviszeta(ji,jj) - zviseta(ji,jj) 
    349                zvis12 =       zviseta (ji,jj) + dm 
    350                zvis21 =       zviseta (ji,jj) 
     337               zvis11 = 2._wp * zviseta (ji,jj) + dm 
     338               zvis22 =         zviszeta(ji,jj) - zviseta(ji,jj) 
     339               zvis12 =         zviseta (ji,jj) + dm 
     340               zvis21 =         zviseta (ji,jj) 
    351341               zdiag = zvis22 * ( akappa(ji,jj,1,2) - akappa(ji,jj,2,2) ) 
    352342               zs11_22 =  zvis11 * akappa(ji,jj,1,2) + zdiag 
     
    388378                  ze22 = + akappa(ji,jj-1,2,2) * zv_a(ji+1,jj) + akappa(ji,jj-1,2,1) * zu_a(ji+1,jj) 
    389379                  ze21 =   akappa(ji,jj-1,1,1) * zv_a(ji+1,jj) - akappa(ji,jj-1,1,2) * zu_a(ji+1,jj) 
    390                   zvis11 = 2.0 * zviseta (ji,jj-1) + dm 
    391                   zvis22 =       zviszeta(ji,jj-1) - zviseta(ji,jj-1) 
    392                   zvis12 =       zviseta (ji,jj-1) + dm 
    393                   zvis21 =       zviseta (ji,jj-1) 
     380                  zvis11 = 2._wp * zviseta (ji,jj-1) + dm 
     381                  zvis22 =         zviszeta(ji,jj-1) - zviseta(ji,jj-1) 
     382                  zvis12 =         zviseta (ji,jj-1) + dm 
     383                  zvis21 =         zviseta (ji,jj-1) 
    394384                  zdiag = zvis22 * ( ze11 + ze22 ) 
    395385                  zs11_21 =  zvis11 * ze11 + zdiag 
     
    406396                  ze21 =   akappa(ji-1,jj,1,1) * ( zv_a(ji  ,jj+1) - zv_a(ji-1,jj+1) )   & 
    407397                     &   - akappa(ji-1,jj,1,2) * ( zu_a(ji  ,jj+1) + zu_a(ji-1,jj+1) ) 
    408                   zvis11 = 2.0 * zviseta (ji-1,jj) + dm 
    409                   zvis22 =       zviszeta(ji-1,jj) - zviseta(ji-1,jj) 
    410                   zvis12 =       zviseta (ji-1,jj) + dm 
    411                   zvis21 =       zviseta (ji-1,jj) 
     398                  zvis11 = 2._wp * zviseta (ji-1,jj) + dm 
     399                  zvis22 =         zviszeta(ji-1,jj) - zviseta(ji-1,jj) 
     400                  zvis12 =         zviseta (ji-1,jj) + dm 
     401                  zvis21 =         zviseta (ji-1,jj) 
    412402                  zdiag = zvis22 * ( ze11 + ze22 ) 
    413403                  zs11_12 =  zvis11 * ze11 + zdiag 
     
    424414                  ze21 =   akappa(ji,jj,1,1) * ( zv_a(ji+1,jj) + zv_a(ji+1,jj+1) - zv_a(ji  ,jj+1) )   & 
    425415                     &   - akappa(ji,jj,1,2) * ( zu_a(ji+1,jj) + zu_a(ji+1,jj+1) + zu_a(ji  ,jj+1) ) 
    426                   zvis11 = 2.0 * zviseta (ji,jj) + dm 
    427                   zvis22 =       zviszeta(ji,jj) - zviseta(ji,jj) 
    428                   zvis12 =       zviseta (ji,jj) + dm 
    429                   zvis21 =       zviseta (ji,jj) 
     416                  zvis11 = 2._wp * zviseta (ji,jj) + dm 
     417                  zvis22 =         zviszeta(ji,jj) - zviseta(ji,jj) 
     418                  zvis12 =         zviseta (ji,jj) + dm 
     419                  zvis21 =         zviseta (ji,jj) 
    430420                  zdiag = zvis22 * ( ze11 + ze22 ) 
    431421                  zs11_22 =  zvis11 * ze11 + zdiag 
     
    443433                  ze21 =   akappa(ji-1,jj-1,1,1) * ( zv_a(ji  ,jj-1) - zv_a(ji-1,jj-1) - zv_a(ji-1,jj) )   & 
    444434                     &  -  akappa(ji-1,jj-1,1,2) * ( zu_a(ji  ,jj-1) + zu_a(ji-1,jj-1) + zu_a(ji-1,jj) ) 
    445                   zvis11 = 2.0 * zviseta (ji-1,jj-1) + dm 
    446                   zvis22 =       zviszeta(ji-1,jj-1) - zviseta(ji-1,jj-1) 
    447                   zvis12 =       zviseta (ji-1,jj-1) + dm 
    448                   zvis21 =       zviseta (ji-1,jj-1) 
     435                  zvis11 = 2._wp * zviseta (ji-1,jj-1) + dm 
     436                  zvis22 =         zviszeta(ji-1,jj-1) - zviseta(ji-1,jj-1) 
     437                  zvis12 =         zviseta (ji-1,jj-1) + dm 
     438                  zvis21 =         zviseta (ji-1,jj-1) 
    449439                  zdiag = zvis22 * ( ze11 + ze22 ) 
    450440                  zs11_11 =  zvis11 * ze11 + zdiag 
     
    461451                  ze21 =   akappa(ji,jj-1,1,1) * ( zv_a(ji+1,jj-1) - zv_a(ji  ,jj-1) )   & 
    462452                     &   - akappa(ji,jj-1,1,2) * ( zu_a(ji+1,jj-1) + zu_a(ji  ,jj-1) ) 
    463                   zvis11 = 2.0 * zviseta (ji,jj-1) + dm 
    464                   zvis22 =       zviszeta(ji,jj-1) - zviseta(ji,jj-1) 
    465                   zvis12 =       zviseta (ji,jj-1) + dm 
    466                   zvis21 =       zviseta (ji,jj-1) 
     453                  zvis11 = 2._wp * zviseta (ji,jj-1) + dm 
     454                  zvis22 =         zviszeta(ji,jj-1) - zviseta(ji,jj-1) 
     455                  zvis12 =         zviseta (ji,jj-1) + dm 
     456                  zvis21 =         zviseta (ji,jj-1) 
    467457                  zdiag = zvis22 * ( ze11 + ze22 ) 
    468458                  zs11_21 =  zs11_21 + zvis11 * ze11 + zdiag 
     
    475465                  ze22 = - akappa(ji-1,jj,2,2) * zv_a(ji-1,jj) + akappa(ji-1,jj,2,1) * zu_a(ji-1,jj) 
    476466                  ze21 = - akappa(ji-1,jj,1,1) * zv_a(ji-1,jj) - akappa(ji-1,jj,1,2) * zu_a(ji-1,jj) 
    477                   zvis11 = 2.0 * zviseta (ji-1,jj) + dm 
    478                   zvis22 =       zviszeta(ji-1,jj) - zviseta(ji-1,jj) 
    479                   zvis12 =       zviseta (ji-1,jj) + dm 
    480                   zvis21 =       zviseta (ji-1,jj) 
     467                  zvis11 = 2._wp * zviseta (ji-1,jj) + dm 
     468                  zvis22 =         zviszeta(ji-1,jj) - zviseta(ji-1,jj) 
     469                  zvis12 =         zviseta (ji-1,jj) + dm 
     470                  zvis21 =         zviseta (ji-1,jj) 
    481471                  zdiag = zvis22 * ( ze11 + ze22 ) 
    482472                  zs11_12 =  zs11_12 + zvis11 * ze11 + zdiag 
     
    506496                  zvr     = zv_a(ji,jj) - v_oce(ji,jj) 
    507497!!!! 
    508                   zmod    = SQRT( zur*zur + zvr*zvr ) * ( 1.0 - zfrld(ji,jj) ) 
     498                  zmod    = SQRT( zur*zur + zvr*zvr ) * ( 1._wp - zfrld(ji,jj) ) 
    509499                  za      = rhoco * zmod 
    510500!!!! 
    511 !!gm chg resul    za      = rhoco * SQRT( zur*zur + zvr*zvr ) * ( 1.0 - zfrld(ji,jj) ) 
     501!!gm chg resul    za      = rhoco * SQRT( zur*zur + zvr*zvr ) * ( 1._wp - zfrld(ji,jj) ) 
    512502                  zac     = za * cangvg 
    513503                  zmpzas  = alpha * zcorl(ji,jj) + za * zsang(ji,jj) 
    514504                  zmassdt = zusdtp * zmass(ji,jj) 
    515                   zcorlal = ( 1.0 - alpha ) * zcorl(ji,jj) 
     505                  zcorlal = ( 1._wp - alpha ) * zcorl(ji,jj) 
    516506 
    517507                  za1 =  zmassdt * zu0(ji,jj) + zcorlal * zv0(ji,jj) + za1ct(ji,jj)   & 
     
    527517                  zunw   = (  ( za1 + zd1 ) * zc2 + ( za2 + zd2 ) * zc1 ) * zden 
    528518                  zvnw   = (  ( za2 + zd2 ) * zb1 - ( za1 + zd1 ) * zb2 ) * zden 
    529                   zmask  = ( 1.0 - MAX( rzero, SIGN( rone , 1.0 - zmass(ji,jj) ) ) ) * tmu(ji,jj) 
     519                  zmask  = ( 1._wp - MAX( rzero, SIGN( rone , 1._wp - zmass(ji,jj) ) ) ) * tmu(ji,jj) 
    530520 
    531521                  zu_n(ji,jj) = ( zu_a(ji,jj) + om * ( zunw - zu_a(ji,jj) ) * tmu(ji,jj) ) * zmask 
     
    582572#else 
    583573   !!---------------------------------------------------------------------- 
    584    !!   Default option          Dummy module       NO 2.0 LIM sea-ice model 
     574   !!   Default option        Dummy module      NO VP & LIM-2 sea-ice model 
    585575   !!---------------------------------------------------------------------- 
    586576CONTAINS 
Note: See TracChangeset for help on using the changeset viewer.