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 2095 for branches/dev_1784_EVP/NEMO/LIM_SRC_3/limrhg.F90 – NEMO

Ignore:
Timestamp:
2010-09-15T14:10:33+02:00 (14 years ago)
Author:
cbricaud
Message:

add correction from reviewer

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_1784_EVP/NEMO/LIM_SRC_3/limrhg.F90

    r2046 r2095  
    44   !!   Ice rheology : sea ice rheology 
    55   !!====================================================================== 
    6    !! History :   -   !  2007-03  (M.A. Morales Maqueda, S. Bouillon) Original code 
    7    !!            3.0  !  2008-03  (M. Vancoppenolle) LIM3 
     6   !! History :  LIM  !  2007-03  (M.A. Morales Maqueda, S. Bouillon) Original code 
     7   !!            3.0  !  2008-03  (M. Vancoppenolle) LIM 3 
    88   !!             -   !  2008-11  (M. Vancoppenolle, S. Bouillon, Y. Aksenov) add surface tilt in ice rheolohy  
    9    !!             -   !  2009-05  (G.Garric) addition of the lim2_evp cas 
     9   !!            3.3  !  2009-05  (G.Garric) addition of the lim2_evp cas 
    1010   !!---------------------------------------------------------------------- 
    1111#if defined key_lim3 || (  defined key_lim2 && ! defined key_lim2_vp ) 
     
    1515   !!   lim_rhg   : computes ice velocities 
    1616   !!---------------------------------------------------------------------- 
    17    !! * Modules used 
    18    USE phycst 
    19    USE par_oce 
    20    USE dom_oce 
    21    USE sbc_oce         ! Surface boundary condition: ocean fields 
    22    USE sbc_ice         ! Surface boundary condition: ice fields 
    23    USE lbclnk 
    24    USE lib_mpp 
    25    USE in_out_manager  ! I/O manager 
    26    USE limitd_me 
    27    USE prtctl          ! Print control 
     17   USE phycst           ! physical constants 
     18   USE par_oce          ! ocean parameters 
     19   USE dom_oce          ! ocean domain 
     20   USE sbc_oce          ! Surface boundary condition: ocean fields 
     21   USE sbc_ice          ! Surface boundary condition: ice fields 
     22   USE lbclnk           ! lateral boundary condition - MPP exchanges 
     23   USE lib_mpp          ! MPP library 
     24   USE in_out_manager   ! I/O manager 
     25   USE limitd_me        ! LIM3:  
     26   USE prtctl           ! control print 
    2827#if defined key_lim3 
    29    USE dom_ice 
    30    USE ice 
    31    USE iceini 
     28   USE ice              ! LIM3: ice variables 
     29   USE dom_ice          ! LIM3: ice domain 
     30   USE iceini           ! LIM3: ice initialisation 
    3231#endif 
    3332#if defined key_lim2 && ! defined key_lim2_vp 
    34    USE dom_ice_2 
    35    USE ice_2 
    36    USE iceini_2 
     33   USE ice_2            ! LIM2: ice variables 
     34   USE dom_ice_2        ! LIM2: ice domain 
     35   USE iceini_2         ! LIM2: ice initialisation 
    3736#endif 
    3837 
     
    4039   PRIVATE 
    4140 
    42    !! * Routine accessibility 
    43    PUBLIC lim_rhg  ! routine called by lim_dyn 
    44  
    45    !! * Substitutions 
    46 #  include "vectopt_loop_substitute.h90" 
     41   PUBLIC   lim_rhg   ! routine called by lim_dyn module 
    4742 
    4843   !! * Module variables 
     
    5045      rzero   = 0.e0   ,  & 
    5146      rone    = 1.e0 
     47 
     48   !! * Substitutions 
     49#  include "vectopt_loop_substitute.h90" 
    5250   !!---------------------------------------------------------------------- 
    53    !!   LIM 3.0,  UCL-LOCEAN-IPSL (2008)  
     51   !! NEMO/LIM-3 3.3,  UCL-LOCEAN-IPSL (2010)  
    5452   !! $Id$ 
    5553   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    5654   !!---------------------------------------------------------------------- 
    57  
    5855CONTAINS 
    5956 
    6057   SUBROUTINE lim_rhg( k_j1, k_jpj ) 
    61  
    6258      !!------------------------------------------------------------------- 
    6359      !!                 ***  SUBROUTINE lim_rhg  *** 
     
    107103      !! 
    108104      !! ** References : Hunke and Dukowicz, JPO97 
    109       !!                 Bouillon et al., 08, in prep (update this when 
    110       !!                 published) 
    111       !!                 Vancoppenolle et al., OM08 
     105      !!                 Bouillon et al., 2009, Ocean. Modelling, 27, 174-184. 
     106      !!                 Vancoppenolle et al. 2009, Ocean Modelling, 27, 33-53. 
     107      !!------------------------------------------------------------------- 
     108      INTEGER, INTENT(in) ::   k_j1    ! southern j-index for ice computation 
     109      INTEGER, INTENT(in) ::   k_jpj   ! northern j-index for ice computation 
    112110      !! 
    113       !!------------------------------------------------------------------- 
    114       ! * Arguments 
    115       ! 
    116       INTEGER, INTENT(in) :: & 
    117          k_j1 ,                      & !: southern j-index for ice computation 
    118          k_jpj                         !: northern j-index for ice computation 
    119  
    120       ! * Local variables 
    121       INTEGER ::   ji, jj              !: dummy loop indices 
    122  
    123       INTEGER  :: & 
    124          jter                          !: temporary integers 
    125  
    126       CHARACTER (len=50) ::   charout 
    127  
    128       REAL(wp) :: & 
    129          zt11, zt12, zt21, zt22,     & !: temporary scalars 
    130          ztagnx, ztagny,             & !: wind stress on U/V points                        
    131          delta                         ! 
    132  
    133       REAL(wp) :: & 
    134          za,                         & !: 
    135          zstms,                      & !: temporary scalar for ice strength 
    136          zsang,                      & !: temporary scalar for coriolis term 
    137          zmask                         !: mask for the computation of ice mass 
    138  
    139       REAL(wp),DIMENSION(jpi,jpj) :: & 
    140          zpresh        ,             & !: temporary array for ice strength 
    141          zpreshc       ,             & !: Ice strength on grid cell corners (zpreshc) 
    142          zfrld1, zfrld2,             & !: lead fraction on U/V points                                     
    143          zmass1, zmass2,             & !: ice/snow mass on U/V points                                     
    144          zcorl1, zcorl2,             & !: coriolis parameter on U/V points 
    145          za1ct, za2ct  ,             & !: temporary arrays 
    146          zc1           ,             & !: ice mass 
    147          zusw          ,             & !: temporary weight for the computation 
    148                                 !: of ice strength 
    149          u_oce1, v_oce1,             & !: ocean u/v component on U points                            
    150          u_oce2, v_oce2,             & !: ocean u/v component on V points 
    151          u_ice2,                     & !: ice u component on V point 
    152          v_ice1                        !: ice v component on U point 
     111      INTEGER  ::   ji, jj   ! dummy loop indices 
     112      INTEGER  ::   jter     ! local integers 
     113      CHARACTER (len=50) ::   charout   ! local character 
     114      REAL(wp) ::   zt11, zt12, zt21, zt22   ! local scalars 
     115      REAL(wp) ::   ztagnx, ztagny, delta    !   -      - 
     116      REAL(wp) ::   za, zstms, zsang, zmask  !   -      - 
     117      REAL(wp) ::   zresm, zindb, zdummy     !   -    - 
     118 
     119      REAL(wp),DIMENSION(jpi,jpj) ::   zpresh , zfrld1, zmass1, zcorl1, za1ct    ! 2D workspace 
     120      REAL(wp),DIMENSION(jpi,jpj) ::   zpreshc, zfrld2, zmass2, zcorl2, za2ct    !  -      - 
     121      REAL(wp),DIMENSION(jpi,jpj) ::   u_oce1, v_oce1, u_ice2, zc1               !  -      -                           
     122      REAL(wp),DIMENSION(jpi,jpj) ::   u_oce2, v_oce2, v_ice1, zusw              !  -      - 
     123      REAL(wp),DIMENSION(jpi,jpj) ::   zf1, zf2                                  !  -      - 
    153124 
    154125      REAL(wp) :: & 
     
    166137         sigma1, sigma2                !: internal ice stress 
    167138 
    168       REAL(wp),DIMENSION(jpi,jpj) :: & 
    169          zf1, zf2                      !: arrays for internal stresses 
    170139 
    171140      REAL(wp),DIMENSION(jpi,jpj) :: & 
     
    177146         zs12                          !: Non-diagonal stress tensor component zs12 
    178147 
    179       REAL(wp) :: & 
    180          zresm            ,          & !: Maximal error on ice velocity 
    181          zindb            ,          & !: ice (1) or not (0)       
    182          zdummy                        !: dummy argument 
    183  
    184       REAL(wp),DIMENSION(jpi,jpj) :: & 
    185          zu_ice           ,          & !: Ice velocity on previous time step 
    186          zv_ice           ,          & 
    187          zresr                         !: Local error on velocity 
     148 
     149      REAL(wp),DIMENSION(jpi,jpj) ::   zu_ice, zv_ice, zresr   ! 
     150      !!------------------------------------------------------------------- 
    188151 
    189152#if  defined key_lim2 && ! defined key_lim2_vp 
Note: See TracChangeset for help on using the changeset viewer.