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

Ignore:
Timestamp:
2020-02-12T15:39:06+01:00 (4 years ago)
Author:
acc
Message:

The big one. Merging all 2019 developments from the option 1 branch back onto the trunk.

This changeset reproduces 2019/dev_r11943_MERGE_2019 on the trunk using a 2-URL merge
onto a working copy of the trunk. I.e.:

svn merge --ignore-ancestry \

svn+ssh://acc@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/NEMO/trunk \
svn+ssh://acc@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/NEMO/branches/2019/dev_r11943_MERGE_2019 ./

The --ignore-ancestry flag avoids problems that may otherwise arise from the fact that
the merge history been trunk and branch may have been applied in a different order but
care has been taken before this step to ensure that all applicable fixes and updates
are present in the merge branch.

The trunk state just before this step has been branched to releases/release-4.0-HEAD
and that branch has been immediately tagged as releases/release-4.0.2. Any fixes
or additions in response to tickets on 4.0, 4.0.1 or 4.0.2 should be done on
releases/release-4.0-HEAD. From now on future 'point' releases (e.g. 4.0.2) will
remain unchanged with periodic releases as needs demand. Note release-4.0-HEAD is a
transitional naming convention. Future full releases, say 4.2, will have a release-4.2
branch which fulfills this role and the first point release (e.g. 4.2.0) will be made
immediately following the release branch creation.

2020 developments can be started from any trunk revision later than this one.

Location:
NEMO/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk

    • Property svn:externals
      •  

        old new  
        33^/utils/build/mk@HEAD         mk 
        44^/utils/tools@HEAD            tools 
        5 ^/vendors/AGRIF/dev@HEAD      ext/AGRIF 
         5^/vendors/AGRIF/dev_r11615_ENHANCE-04_namelists_as_internalfiles_agrif@HEAD      ext/AGRIF 
        66^/vendors/FCM@HEAD            ext/FCM 
        77^/vendors/IOIPSL@HEAD         ext/IOIPSL 
  • NEMO/trunk/src/ICE/icedyn.F90

    r11536 r12377  
    5252    
    5353   !! * Substitutions 
    54 #  include "vectopt_loop_substitute.h90" 
     54#  include "do_loop_substitute.h90" 
    5555   !!---------------------------------------------------------------------- 
    5656   !! NEMO/ICE 4.0 , NEMO Consortium (2018) 
     
    6060CONTAINS 
    6161 
    62    SUBROUTINE ice_dyn( kt ) 
     62   SUBROUTINE ice_dyn( kt, Kmm ) 
    6363      !!------------------------------------------------------------------- 
    6464      !!               ***  ROUTINE ice_dyn  *** 
     
    7373      !!-------------------------------------------------------------------- 
    7474      INTEGER, INTENT(in) ::   kt     ! ice time step 
     75      INTEGER, INTENT(in) ::   Kmm    ! ocean time level index 
    7576      !! 
    7677      INTEGER  ::   ji, jj        ! dummy loop indices 
     
    108109      CASE ( np_dynALL )           !==  all dynamical processes  ==! 
    109110         ! 
    110          CALL ice_dyn_rhg   ( kt )                                          ! -- rheology   
     111         CALL ice_dyn_rhg   ( kt, Kmm )                                     ! -- rheology   
    111112         CALL ice_dyn_adv   ( kt )                                          ! -- advection of ice 
    112113         CALL ice_dyn_rdgrft( kt )                                          ! -- ridging/rafting  
     
    115116      CASE ( np_dynRHGADV  )       !==  no ridge/raft & no corrections ==! 
    116117         ! 
    117          CALL ice_dyn_rhg   ( kt )                                          ! -- rheology   
     118         CALL ice_dyn_rhg   ( kt, Kmm )                                     ! -- rheology   
    118119         CALL ice_dyn_adv   ( kt )                                          ! -- advection of ice 
    119120         CALL Hpiling                                                       ! -- simple pile-up (replaces ridging/rafting) 
     
    125126         ! CFL = 0.5 at a distance from the bound of 1/6 of the basin length 
    126127         ! Then for dx = 2m and dt = 1s => rn_uice = u (1/6th) = 1m/s  
    127          DO jj = 1, jpj 
    128             DO ji = 1, jpi 
    129                zcoefu = ( REAL(jpiglo+1)*0.5 - REAL(ji+nimpp-1) ) / ( REAL(jpiglo+1)*0.5 - 1. ) 
    130                zcoefv = ( REAL(jpjglo+1)*0.5 - REAL(jj+njmpp-1) ) / ( REAL(jpjglo+1)*0.5 - 1. ) 
    131                u_ice(ji,jj) = rn_uice * 1.5 * SIGN( 1., zcoefu ) * ABS( zcoefu ) * umask(ji,jj,1) 
    132                v_ice(ji,jj) = rn_vice * 1.5 * SIGN( 1., zcoefv ) * ABS( zcoefv ) * vmask(ji,jj,1) 
    133             END DO 
    134          END DO 
     128         DO_2D_11_11 
     129            zcoefu = ( REAL(jpiglo+1)*0.5 - REAL(ji+nimpp-1) ) / ( REAL(jpiglo+1)*0.5 - 1. ) 
     130            zcoefv = ( REAL(jpjglo+1)*0.5 - REAL(jj+njmpp-1) ) / ( REAL(jpjglo+1)*0.5 - 1. ) 
     131            u_ice(ji,jj) = rn_uice * 1.5 * SIGN( 1., zcoefu ) * ABS( zcoefu ) * umask(ji,jj,1) 
     132            v_ice(ji,jj) = rn_vice * 1.5 * SIGN( 1., zcoefv ) * ABS( zcoefv ) * vmask(ji,jj,1) 
     133         END_2D 
    135134         ! --- 
    136135         CALL ice_dyn_adv   ( kt )                                          ! -- advection of ice 
     
    156155 
    157156            ALLOCATE( zdivu_i(jpi,jpj) ) 
    158             DO jj = 2, jpjm1 
    159                DO ji = 2, jpim1 
    160                   zdivu_i(ji,jj) = ( e2u(ji,jj) * u_ice(ji,jj) - e2u(ji-1,jj) * u_ice(ji-1,jj)   & 
    161                      &             + e1v(ji,jj) * v_ice(ji,jj) - e1v(ji,jj-1) * v_ice(ji,jj-1) ) * r1_e1e2t(ji,jj) 
    162                END DO 
    163             END DO 
     157            DO_2D_00_00 
     158               zdivu_i(ji,jj) = ( e2u(ji,jj) * u_ice(ji,jj) - e2u(ji-1,jj) * u_ice(ji-1,jj)   & 
     159                  &             + e1v(ji,jj) * v_ice(ji,jj) - e1v(ji,jj-1) * v_ice(ji,jj-1) ) * r1_e1e2t(ji,jj) 
     160            END_2D 
    164161            CALL lbc_lnk( 'icedyn', zdivu_i, 'T', 1. ) 
    165162            ! output 
     
    224221      !!------------------------------------------------------------------- 
    225222      ! 
    226       REWIND( numnam_ice_ref )         ! Namelist namdyn in reference namelist : Ice dynamics 
    227223      READ  ( numnam_ice_ref, namdyn, IOSTAT = ios, ERR = 901) 
    228224901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namdyn in reference namelist' ) 
    229       REWIND( numnam_ice_cfg )         ! Namelist namdyn in configuration namelist : Ice dynamics 
    230225      READ  ( numnam_ice_cfg, namdyn, IOSTAT = ios, ERR = 902 ) 
    231226902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namdyn in configuration namelist' ) 
Note: See TracChangeset for help on using the changeset viewer.