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 10359 for NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/ICE/icerst.F90 – NEMO

Ignore:
Timestamp:
2018-11-25T22:33:50+01:00 (5 years ago)
Author:
smasson
Message:

dev_r10164_HPC09_ESIWACE_PREP_MERGE: action 4c: introduce a better version of the non-blocking mpp_max, see #2133

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/ICE/icerst.F90

    r10292 r10359  
    9898      INTEGER, INTENT(in) ::   kt     ! number of iteration 
    9999      !! 
    100       INTEGER ::   jk ,jl   ! dummy loop indices 
     100      INTEGER ::   ji, jk ,jl   ! dummy loop indices 
    101101      INTEGER ::   iter 
    102102      CHARACTER(len=25) ::   znam 
     
    118118      CALL iom_rstput( iter, nitrst, numriw, 'nn_fsbc', REAL( nn_fsbc, wp ) )      ! time-step  
    119119      CALL iom_rstput( iter, nitrst, numriw, 'kt_ice' , REAL( iter   , wp ) )      ! date 
     120      DO ji = 1, nbdelay 
     121         CALL iom_rstput( iter, nitrst, numriw, c_delaylist(ji), todelay(ji) ) 
     122      END DO 
    120123 
    121124      ! Prognostic variables 
     
    169172      !! ** purpose  :   read restart file 
    170173      !!---------------------------------------------------------------------- 
    171       INTEGER           ::   jk, jl 
     174      INTEGER           ::   ji, jk, jl 
    172175      LOGICAL           ::   llok 
    173176      INTEGER           ::   id1            ! local integer 
     
    240243      zcfl =            MAXVAL( ABS( u_ice(:,:) ) * rdt_ice * r1_e1u(:,:) ) 
    241244      zcfl = MAX( zcfl, MAXVAL( ABS( v_ice(:,:) ) * rdt_ice * r1_e2v(:,:) ) ) 
    242       ! define split from previous run, so we ca used mpp_ilor 
    243       IF( zcfl > 0.5 ) THEN   ;   l_split_advumx(1) = .TRUE. 
    244       ELSE                    ;   l_split_advumx(1) = .FALSE. 
    245       ENDIF 
    246       IF( lk_mpp )   CALL mpp_ilor( l_split_advumx )   ! non-blocking global communication send l_split_advumx(1) 
     245 
     246      DO ji = 1, nbdelay 
     247         IF( iom_varid( numrir, c_delaylist(ji), ldstop = .FALSE. ) > 0 )  THEN 
     248            CALL iom_get( numrir, c_delaylist(ji), todelay(ji) ) 
     249            ndelayid(ji) = 0   ! set to 0 to speficy that the value was read in the restart 
     250         ENDIF 
     251      END DO 
    247252 
    248253      ! fields needed for Met Office (Jules) coupling 
Note: See TracChangeset for help on using the changeset viewer.