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 10727 for utils/tools_AGRIF_CMEMS_2020/DOMAINcfg/src/domzgr.F90 – NEMO

Ignore:
Timestamp:
2019-02-27T17:02:02+01:00 (5 years ago)
Author:
rblod
Message:

new nesting tools (attempt) and brutal cleaning of DOMAINcfg, see ticket #2129

File:
1 moved

Legend:

Unmodified
Added
Removed
  • utils/tools_AGRIF_CMEMS_2020/DOMAINcfg/src/domzgr.F90

    r10725 r10727  
    1717   !!            3.4  ! 2012-08  (J. Siddorn) added Siddorn and Furner stretching function 
    1818   !!            3.4  ! 2012-12  (R. Bourdalle-Badie and G. Reffray)  modify C1D case   
    19    !!            3.6  ! 2014-11  (P. Mathiot and C. Harris) add ice shelf capabilitye   
     19   !!            3.6  ! 2014-11  (P. Mathiot and C. Harris) add ice shelf capabilitye 
    2020   !!            3.?  ! 2015-11  (H. Liu) Modifications for Wetting/Drying 
    2121   !!---------------------------------------------------------------------- 
     
    3737   USE oce               ! ocean variables 
    3838   USE dom_oce           ! ocean domain 
    39    USE closea            ! closed seas 
     39!   USE closea            ! closed seas 
    4040   ! 
    4141   USE in_out_manager    ! I/O manager 
     
    4545   USE wrk_nemo          ! Memory allocation 
    4646   USE timing            ! Timing 
     47   USE dombat 
    4748 
    4849   IMPLICIT NONE 
     
    5960   REAL(wp) ::   rn_rmax           ! maximum cut-off r-value allowed (0<rn_rmax<1) 
    6061   REAL(wp) ::   rn_hc             ! Critical depth for transition from sigma to stretched coordinates 
     62   INTEGER , PUBLIC ::   ntopo           !: = 0/1 ,compute/read the bathymetry file 
     63   REAL(wp), PUBLIC ::   e3zps_min       !: miminum thickness for partial steps (meters) 
     64   REAL(wp), PUBLIC ::   e3zps_rat       !: minimum thickness ration for partial steps 
     65   INTEGER, PUBLIC ::   nperio            !: type of lateral boundary condition 
     66 
    6167   ! Song and Haidvogel 1994 stretching parameters 
    6268   REAL(wp) ::   rn_theta          ! surface control parameter (0<=rn_theta<=20) 
     
    115121      !!---------------------------------------------------------------------- 
    116122      ! 
    117       IF( nn_timing == 1 )   CALL timing_start('dom_zgr') 
     123  !    IF( nn_timing == 1 )   CALL timing_start('dom_zgr') 
    118124      ! 
    119125      REWIND( numnam_ref )              ! Namelist namzgr in reference namelist : Vertical coordinate 
     
    183189      ENDIF 
    184190      ! 
    185       IF( nn_timing == 1 )  CALL timing_stop('dom_zgr') 
     191    !  IF( nn_timing == 1 )  CALL timing_stop('dom_zgr') 
    186192      ! 
    187193   END SUBROUTINE dom_zgr 
     
    217223      !!---------------------------------------------------------------------- 
    218224      ! 
    219       IF( nn_timing == 1 )  CALL timing_start('zgr_z') 
     225   !   IF( nn_timing == 1 )  CALL timing_start('zgr_z') 
    220226      ! 
    221227      ! Set variables from parameters 
     
    349355      END DO 
    350356      ! 
    351       IF( nn_timing == 1 )  CALL timing_stop('zgr_z') 
     357   !   IF( nn_timing == 1 )  CALL timing_stop('zgr_z') 
    352358      ! 
    353359   END SUBROUTINE zgr_z 
     
    395401      !!---------------------------------------------------------------------- 
    396402      ! 
    397       IF( nn_timing == 1 )  CALL timing_start('zgr_bat') 
     403   !   IF( nn_timing == 1 )  CALL timing_start('zgr_bat') 
    398404      ! 
    399405      IF(lwp) WRITE(numout,*) 
     
    516522         ! 
    517523         !                                            ! ================ ! 
    518       ELSEIF( ntopo == 1 ) THEN                       !   read in file   ! (over the local domain) 
     524      ELSEIF( ntopo == 1 .OR. ntopo ==2 ) THEN                       !   read in file   ! (over the local domain) 
    519525         !                                            ! ================ ! 
    520526         ! 
     
    554560         ENDIF 
    555561         IF( ln_zps .OR. ln_sco )   THEN              ! zps or sco : read meter bathymetry 
    556             CALL iom_open ( 'bathy_meter.nc', inum )  
    557             IF ( ln_isfcav ) THEN 
    558                CALL iom_get  ( inum, jpdom_data, 'Bathymetry_isf', bathy, lrowattr=.false. ) 
     562#if defined key_agrif 
     563            IF (agrif_root()) THEN 
     564#endif 
     565            IF( ntopo == 1) THEN 
     566               CALL iom_open ( 'bathy_meter.nc', inum )  
     567               IF ( ln_isfcav ) THEN 
     568                  CALL iom_get  ( inum, jpdom_data, 'Bathymetry_isf', bathy, lrowattr=.false. ) 
     569               ELSE 
     570                  CALL iom_get  ( inum, jpdom_data, 'Bathymetry'    , bathy, lrowattr=ln_use_jattr  ) 
     571               END IF 
     572               CALL iom_close( inum ) 
    559573            ELSE 
    560                CALL iom_get  ( inum, jpdom_data, 'Bathymetry'    , bathy, lrowattr=ln_use_jattr  ) 
    561             END IF 
    562             CALL iom_close( inum ) 
     574               CALL dom_bat 
     575            ENDIF        
     576#if defined key_agrif 
     577            ELSE 
     578               IF( ntopo == 1) THEN 
     579                  CALL agrif_create_bathy_meter() 
     580               ELSE  
     581                  CALL dom_bat  
     582               ENDIF     
     583            ENDIF 
     584#endif 
    563585            !                                                 
    564586            ! initialisation isf variables 
     
    611633      ENDIF 
    612634      ! 
    613       IF( nn_closea == 0 )   CALL clo_bat( bathy, mbathy )    !==  NO closed seas or lakes  ==! 
     635    !  IF( nn_closea == 0 )   CALL clo_bat( bathy, mbathy )    !==  NO closed seas or lakes  ==! 
    614636      !                        
    615637      IF ( .not. ln_sco ) THEN                                !==  set a minimum depth  ==! 
     
    624646      ENDIF 
    625647      ! 
    626       IF( nn_timing == 1 )  CALL timing_stop('zgr_bat') 
     648   !   IF( nn_timing == 1 )  CALL timing_stop('zgr_bat') 
    627649      ! 
    628650   END SUBROUTINE zgr_bat 
     
    708730      !!---------------------------------------------------------------------- 
    709731      ! 
    710       IF( nn_timing == 1 )  CALL timing_start('zgr_bat_ctl') 
     732  !    IF( nn_timing == 1 )  CALL timing_start('zgr_bat_ctl') 
    711733      ! 
    712734      CALL wrk_alloc( jpi, jpj, zbathy ) 
     
    738760         END DO 
    739761      END DO 
    740       IF( lk_mpp )   CALL mpp_sum( icompt ) 
     762   !   IF( lk_mpp )   CALL mpp_sum( icompt ) 
    741763      IF( icompt == 0 ) THEN 
    742764         IF(lwp) WRITE(numout,*)'     no isolated ocean grid points' 
     
    746768      IF( lk_mpp ) THEN 
    747769         zbathy(:,:) = FLOAT( mbathy(:,:) ) 
    748          CALL lbc_lnk( zbathy, 'T', 1._wp ) 
     770         CALL lbc_lnk( 'toto',zbathy, 'T', 1._wp ) 
    749771         mbathy(:,:) = INT( zbathy(:,:) ) 
    750772      ENDIF 
     
    784806         !   ... mono- or macro-tasking: T-point, >0, 2D array, no slab 
    785807         zbathy(:,:) = FLOAT( mbathy(:,:) ) 
    786          CALL lbc_lnk( zbathy, 'T', 1._wp ) 
     808         CALL lbc_lnk( 'toto',zbathy, 'T', 1._wp ) 
    787809         mbathy(:,:) = INT( zbathy(:,:) ) 
    788810      ENDIF 
     
    805827      CALL wrk_dealloc( jpi, jpj, zbathy ) 
    806828      ! 
    807       IF( nn_timing == 1 )  CALL timing_stop('zgr_bat_ctl') 
     829   !!   IF( nn_timing == 1 )  CALL timing_stop('zgr_bat_ctl') 
    808830      ! 
    809831   END SUBROUTINE zgr_bat_ctl 
     
    826848      !!---------------------------------------------------------------------- 
    827849      ! 
    828       IF( nn_timing == 1 )  CALL timing_start('zgr_bot_level') 
     850   !   IF( nn_timing == 1 )  CALL timing_start('zgr_bot_level') 
    829851      ! 
    830852      CALL wrk_alloc( jpi, jpj, zmbk ) 
     
    844866      END DO 
    845867      ! converte into REAL to use lbc_lnk ; impose a min value of 1 as a zero can be set in lbclnk  
    846       zmbk(:,:) = REAL( mbku(:,:), wp )   ;   CALL lbc_lnk(zmbk,'U',1.)   ;   mbku  (:,:) = MAX( INT( zmbk(:,:) ), 1 ) 
    847       zmbk(:,:) = REAL( mbkv(:,:), wp )   ;   CALL lbc_lnk(zmbk,'V',1.)   ;   mbkv  (:,:) = MAX( INT( zmbk(:,:) ), 1 ) 
     868      zmbk(:,:) = REAL( mbku(:,:), wp )   ;   CALL lbc_lnk('toto',zmbk,'U',1.)   ;   mbku  (:,:) = MAX( INT( zmbk(:,:) ), 1 ) 
     869      zmbk(:,:) = REAL( mbkv(:,:), wp )   ;   CALL lbc_lnk('toto',zmbk,'V',1.)   ;   mbkv  (:,:) = MAX( INT( zmbk(:,:) ), 1 ) 
    848870      ! 
    849871      CALL wrk_dealloc( jpi, jpj, zmbk ) 
    850872      ! 
    851       IF( nn_timing == 1 )  CALL timing_stop('zgr_bot_level') 
     873   !   IF( nn_timing == 1 )  CALL timing_stop('zgr_bot_level') 
    852874      ! 
    853875   END SUBROUTINE zgr_bot_level 
     
    870892      !!---------------------------------------------------------------------- 
    871893      ! 
    872       IF( nn_timing == 1 )  CALL timing_start('zgr_top_level') 
     894   !   IF( nn_timing == 1 )  CALL timing_start('zgr_top_level') 
    873895      ! 
    874896      CALL wrk_alloc( jpi, jpj, zmik ) 
     
    889911 
    890912      ! converte into REAL to use lbc_lnk ; impose a min value of 1 as a zero can be set in lbclnk  
    891       zmik(:,:) = REAL( miku(:,:), wp )   ;   CALL lbc_lnk(zmik,'U',1.)   ;   miku  (:,:) = MAX( INT( zmik(:,:) ), 1 ) 
    892       zmik(:,:) = REAL( mikv(:,:), wp )   ;   CALL lbc_lnk(zmik,'V',1.)   ;   mikv  (:,:) = MAX( INT( zmik(:,:) ), 1 ) 
    893       zmik(:,:) = REAL( mikf(:,:), wp )   ;   CALL lbc_lnk(zmik,'F',1.)   ;   mikf  (:,:) = MAX( INT( zmik(:,:) ), 1 ) 
     913      zmik(:,:) = REAL( miku(:,:), wp )   ;   CALL lbc_lnk('toto',zmik,'U',1.)   ;   miku  (:,:) = MAX( INT( zmik(:,:) ), 1 ) 
     914      zmik(:,:) = REAL( mikv(:,:), wp )   ;   CALL lbc_lnk('toto',zmik,'V',1.)   ;   mikv  (:,:) = MAX( INT( zmik(:,:) ), 1 ) 
     915      zmik(:,:) = REAL( mikf(:,:), wp )   ;   CALL lbc_lnk('toto',zmik,'F',1.)   ;   mikf  (:,:) = MAX( INT( zmik(:,:) ), 1 ) 
    894916      ! 
    895917      CALL wrk_dealloc( jpi, jpj, zmik ) 
    896918      ! 
    897       IF( nn_timing == 1 )  CALL timing_stop('zgr_top_level') 
     919   !   IF( nn_timing == 1 )  CALL timing_stop('zgr_top_level') 
    898920      ! 
    899921   END SUBROUTINE zgr_top_level 
     
    911933      !!---------------------------------------------------------------------- 
    912934      ! 
    913       IF( nn_timing == 1 )  CALL timing_start('zgr_zco') 
     935    !  IF( nn_timing == 1 )  CALL timing_start('zgr_zco') 
    914936      ! 
    915937      DO jk = 1, jpk 
     
    926948      END DO 
    927949      ! 
    928       IF( nn_timing == 1 )  CALL timing_stop('zgr_zco') 
     950   !   IF( nn_timing == 1 )  CALL timing_stop('zgr_zco') 
    929951      ! 
    930952   END SUBROUTINE zgr_zco 
     
    9851007      !!--------------------------------------------------------------------- 
    9861008      ! 
    987       IF( nn_timing == 1 )  CALL timing_start('zgr_zps') 
     1009   !   IF( nn_timing == 1 )  CALL timing_start('zgr_zps') 
    9881010      ! 
    9891011      CALL wrk_alloc( jpi,jpj,jpk,   zprt ) 
     
    11181140      END IF 
    11191141 
    1120       CALL lbc_lnk( e3u_0 , 'U', 1._wp )   ;   CALL lbc_lnk( e3uw_0, 'U', 1._wp )   ! lateral boundary conditions 
    1121       CALL lbc_lnk( e3v_0 , 'V', 1._wp )   ;   CALL lbc_lnk( e3vw_0, 'V', 1._wp ) 
     1142      CALL lbc_lnk('toto', e3u_0 , 'U', 1._wp )   ;   CALL lbc_lnk('toto', e3uw_0, 'U', 1._wp )   ! lateral boundary conditions 
     1143      CALL lbc_lnk( 'toto',e3v_0 , 'V', 1._wp )   ;   CALL lbc_lnk('toto', e3vw_0, 'V', 1._wp ) 
    11221144      ! 
    11231145 
     
    11401162         END DO 
    11411163      END DO 
    1142       CALL lbc_lnk( e3f_0, 'F', 1._wp )       ! Lateral boundary conditions 
     1164      CALL lbc_lnk('toto', e3f_0, 'F', 1._wp )       ! Lateral boundary conditions 
    11431165      ! 
    11441166      DO jk = 1, jpk                        ! set to z-scale factor if zero (i.e. along closed boundaries) 
     
    11831205      CALL wrk_dealloc( jpi,jpj,jpk,   zprt ) 
    11841206      ! 
    1185       IF( nn_timing == 1 )  CALL timing_stop('zgr_zps') 
     1207   !   IF( nn_timing == 1 )  CALL timing_stop('zgr_zps') 
    11861208      ! 
    11871209   END SUBROUTINE zgr_zps 
     
    12171239      !!--------------------------------------------------------------------- 
    12181240      ! 
    1219       IF( nn_timing == 1 )   CALL timing_start('zgr_isf') 
     1241  !!    IF( nn_timing == 1 )   CALL timing_start('zgr_isf') 
    12201242      ! 
    12211243      CALL wrk_alloc( jpi,jpj,   zbathy, zmask, zrisfdep) 
     
    12641286         IF( lk_mpp ) THEN 
    12651287            zbathy(:,:)  = FLOAT( misfdep(:,:) ) 
    1266             CALL lbc_lnk( zbathy, 'T', 1. ) 
     1288            CALL lbc_lnk( 'toto',zbathy, 'T', 1. ) 
    12671289            misfdep(:,:) = INT( zbathy(:,:) ) 
    12681290 
    1269             CALL lbc_lnk( risfdep,'T', 1. ) 
    1270             CALL lbc_lnk( bathy,  'T', 1. ) 
     1291            CALL lbc_lnk( 'toto',risfdep,'T', 1. ) 
     1292            CALL lbc_lnk( 'toto',bathy,  'T', 1. ) 
    12711293 
    12721294            zbathy(:,:)  = FLOAT( mbathy(:,:) ) 
    1273             CALL lbc_lnk( zbathy, 'T', 1. ) 
     1295            CALL lbc_lnk( 'toto',zbathy, 'T', 1. ) 
    12741296            mbathy(:,:)  = INT( zbathy(:,:) ) 
    12751297         ENDIF 
     
    13851407         IF( lk_mpp ) THEN 
    13861408            zbathy(:,:)  = FLOAT( misfdep(:,:) ) 
    1387             CALL lbc_lnk( zbathy, 'T', 1. ) 
     1409            CALL lbc_lnk( 'toto',zbathy, 'T', 1. ) 
    13881410            misfdep(:,:) = INT( zbathy(:,:) ) 
    13891411 
    1390             CALL lbc_lnk( risfdep,'T', 1. ) 
    1391             CALL lbc_lnk( bathy,  'T', 1. ) 
     1412            CALL lbc_lnk( 'toto',risfdep,'T', 1. ) 
     1413            CALL lbc_lnk( 'toto',bathy,  'T', 1. ) 
    13921414 
    13931415            zbathy(:,:)  = FLOAT( mbathy(:,:) ) 
    1394             CALL lbc_lnk( zbathy, 'T', 1. ) 
     1416            CALL lbc_lnk( 'toto',zbathy, 'T', 1. ) 
    13951417            mbathy(:,:)  = INT( zbathy(:,:) ) 
    13961418         ENDIF 
     
    14221444         IF( lk_mpp ) THEN  
    14231445            zbathy(:,:)  = FLOAT( misfdep(:,:) ) 
    1424             CALL lbc_lnk( zbathy, 'T', 1. ) 
     1446            CALL lbc_lnk( 'toto',zbathy, 'T', 1. ) 
    14251447            misfdep(:,:) = INT( zbathy(:,:) ) 
    14261448 
    1427             CALL lbc_lnk( risfdep,'T', 1. ) 
    1428             CALL lbc_lnk( bathy,  'T', 1. ) 
     1449            CALL lbc_lnk( 'toto',risfdep,'T', 1. ) 
     1450            CALL lbc_lnk( 'toto',bathy,  'T', 1. ) 
    14291451 
    14301452            zbathy(:,:)  = FLOAT( mbathy(:,:) ) 
    1431             CALL lbc_lnk( zbathy, 'T', 1. ) 
     1453            CALL lbc_lnk( 'toto',zbathy, 'T', 1. ) 
    14321454            mbathy(:,:)  = INT( zbathy(:,:) ) 
    14331455         ENDIF  
     
    14591481         IF( lk_mpp ) THEN  
    14601482            zbathy(:,:)  = FLOAT( misfdep(:,:) ) 
    1461             CALL lbc_lnk( zbathy, 'T', 1. ) 
     1483            CALL lbc_lnk( 'toto',zbathy, 'T', 1. ) 
    14621484            misfdep(:,:) = INT( zbathy(:,:) ) 
    14631485 
    1464             CALL lbc_lnk( risfdep,'T', 1. ) 
    1465             CALL lbc_lnk( bathy,  'T', 1. ) 
     1486            CALL lbc_lnk( 'toto',risfdep,'T', 1. ) 
     1487            CALL lbc_lnk( 'toto',bathy,  'T', 1. ) 
    14661488 
    14671489            zbathy(:,:)  = FLOAT( mbathy(:,:) ) 
    1468             CALL lbc_lnk( zbathy, 'T', 1. ) 
     1490            CALL lbc_lnk( 'toto',zbathy, 'T', 1. ) 
    14691491            mbathy(:,:)  = INT( zbathy(:,:) ) 
    14701492         ENDIF  
     
    14961518         IF( lk_mpp ) THEN 
    14971519            zbathy(:,:)  = FLOAT( misfdep(:,:) ) 
    1498             CALL lbc_lnk( zbathy, 'T', 1. ) 
     1520            CALL lbc_lnk( 'toto',zbathy, 'T', 1. ) 
    14991521            misfdep(:,:) = INT( zbathy(:,:) ) 
    15001522 
    1501             CALL lbc_lnk( risfdep,'T', 1. ) 
    1502             CALL lbc_lnk( bathy,  'T', 1. ) 
     1523            CALL lbc_lnk( 'toto',risfdep,'T', 1. ) 
     1524            CALL lbc_lnk( 'toto',bathy,  'T', 1. ) 
    15031525 
    15041526            zbathy(:,:)  = FLOAT( mbathy(:,:) ) 
    1505             CALL lbc_lnk( zbathy, 'T', 1. ) 
     1527            CALL lbc_lnk( 'toto',zbathy, 'T', 1. ) 
    15061528            mbathy(:,:)  = INT( zbathy(:,:) ) 
    15071529         ENDIF 
     
    15331555         IF( lk_mpp ) THEN 
    15341556            zbathy(:,:)  = FLOAT( misfdep(:,:) ) 
    1535             CALL lbc_lnk( zbathy, 'T', 1. ) 
     1557            CALL lbc_lnk( 'toto',zbathy, 'T', 1. ) 
    15361558            misfdep(:,:) = INT( zbathy(:,:) ) 
    15371559 
    1538             CALL lbc_lnk( risfdep,'T', 1. ) 
    1539             CALL lbc_lnk( bathy,  'T', 1. ) 
     1560            CALL lbc_lnk( 'toto',risfdep,'T', 1. ) 
     1561            CALL lbc_lnk('toto', bathy,  'T', 1. ) 
    15401562 
    15411563            zbathy(:,:)  = FLOAT( mbathy(:,:) ) 
    1542             CALL lbc_lnk( zbathy, 'T', 1. ) 
     1564            CALL lbc_lnk( 'toto',zbathy, 'T', 1. ) 
    15431565            mbathy(:,:)  = INT( zbathy(:,:) ) 
    15441566         ENDIF 
     
    15651587         IF( lk_mpp ) THEN 
    15661588            zbathy(:,:)  = FLOAT( misfdep(:,:) ) 
    1567             CALL lbc_lnk( zbathy, 'T', 1. ) 
     1589            CALL lbc_lnk( 'toto',zbathy, 'T', 1. ) 
    15681590            misfdep(:,:) = INT( zbathy(:,:) ) 
    15691591 
    1570             CALL lbc_lnk( risfdep,'T', 1. ) 
    1571             CALL lbc_lnk( bathy,  'T', 1. ) 
     1592            CALL lbc_lnk( 'toto',risfdep,'T', 1. ) 
     1593            CALL lbc_lnk( 'toto',bathy,  'T', 1. ) 
    15721594 
    15731595            zbathy(:,:)  = FLOAT( mbathy(:,:) ) 
    1574             CALL lbc_lnk( zbathy, 'T', 1. ) 
     1596            CALL lbc_lnk( 'toto',zbathy, 'T', 1. ) 
    15751597            mbathy(:,:)  = INT( zbathy(:,:) ) 
    15761598         ENDIF 
     
    16011623         IF( lk_mpp ) THEN  
    16021624            zbathy(:,:)  = FLOAT( misfdep(:,:) )  
    1603             CALL lbc_lnk( zbathy,  'T', 1. )  
     1625            CALL lbc_lnk( 'toto',zbathy,  'T', 1. )  
    16041626            misfdep(:,:) = INT( zbathy(:,:) )  
    16051627 
    1606             CALL lbc_lnk( risfdep, 'T', 1. )  
    1607             CALL lbc_lnk( bathy,   'T', 1. ) 
     1628            CALL lbc_lnk( 'toto',risfdep, 'T', 1. )  
     1629            CALL lbc_lnk( 'toto',bathy,   'T', 1. ) 
    16081630 
    16091631            zbathy(:,:) = FLOAT( mbathy(:,:) ) 
    1610             CALL lbc_lnk( zbathy,  'T', 1. ) 
     1632            CALL lbc_lnk( 'toto',zbathy,  'T', 1. ) 
    16111633            mbathy(:,:) = INT( zbathy(:,:) ) 
    16121634         ENDIF  
     
    16341656         IF( lk_mpp ) THEN  
    16351657            zbathy(:,:)  = FLOAT( misfdep(:,:) )  
    1636             CALL lbc_lnk( zbathy,  'T', 1. )  
     1658            CALL lbc_lnk( 'toto',zbathy,  'T', 1. )  
    16371659            misfdep(:,:) = INT( zbathy(:,:) )  
    16381660 
    1639             CALL lbc_lnk( risfdep, 'T', 1. )  
    1640             CALL lbc_lnk( bathy,   'T', 1. ) 
     1661            CALL lbc_lnk( 'toto',risfdep, 'T', 1. )  
     1662            CALL lbc_lnk( 'toto',bathy,   'T', 1. ) 
    16411663 
    16421664            zbathy(:,:) = FLOAT( mbathy(:,:) ) 
    1643             CALL lbc_lnk( zbathy,  'T', 1. ) 
     1665            CALL lbc_lnk( 'toto',zbathy,  'T', 1. ) 
    16441666            mbathy(:,:) = INT( zbathy(:,:) ) 
    16451667         ENDIF  
     
    16541676         IF( lk_mpp ) THEN  
    16551677            zbathy(:,:)  = FLOAT( misfdep(:,:) )  
    1656             CALL lbc_lnk( zbathy,  'T', 1. )  
     1678            CALL lbc_lnk( 'toto',zbathy,  'T', 1. )  
    16571679            misfdep(:,:) = INT( zbathy(:,:) )  
    16581680 
    1659             CALL lbc_lnk( risfdep, 'T', 1. )  
    1660             CALL lbc_lnk( bathy,   'T', 1. ) 
     1681            CALL lbc_lnk('toto', risfdep, 'T', 1. )  
     1682            CALL lbc_lnk('toto', bathy,   'T', 1. ) 
    16611683 
    16621684            zbathy(:,:) = FLOAT( mbathy(:,:) ) 
    1663             CALL lbc_lnk( zbathy,  'T', 1. ) 
     1685            CALL lbc_lnk( 'toto',zbathy,  'T', 1. ) 
    16641686            mbathy(:,:) = INT( zbathy(:,:) ) 
    16651687         ENDIF  
     
    16741696         IF( lk_mpp ) THEN  
    16751697            zbathy(:,:)  = FLOAT( misfdep(:,:) )  
    1676             CALL lbc_lnk( zbathy, 'T', 1. )  
     1698            CALL lbc_lnk('toto', zbathy, 'T', 1. )  
    16771699            misfdep(:,:) = INT( zbathy(:,:) )  
    16781700 
    1679             CALL lbc_lnk( risfdep,'T', 1. )  
    1680             CALL lbc_lnk( bathy,  'T', 1. ) 
     1701            CALL lbc_lnk('toto', risfdep,'T', 1. )  
     1702            CALL lbc_lnk( 'toto',bathy,  'T', 1. ) 
    16811703 
    16821704            zbathy(:,:) = FLOAT( mbathy(:,:) ) 
    1683             CALL lbc_lnk( zbathy, 'T', 1. ) 
     1705            CALL lbc_lnk( 'toto',zbathy, 'T', 1. ) 
    16841706            mbathy(:,:) = INT( zbathy(:,:) ) 
    16851707         ENDIF  
     
    16941716         IF( lk_mpp ) THEN  
    16951717            zbathy(:,:)  = FLOAT( misfdep(:,:) )  
    1696             CALL lbc_lnk( zbathy, 'T', 1. )  
     1718            CALL lbc_lnk( 'toto',zbathy, 'T', 1. )  
    16971719            misfdep(:,:) = INT( zbathy(:,:) )  
    16981720 
    1699             CALL lbc_lnk( risfdep,'T', 1. )  
    1700             CALL lbc_lnk( bathy,  'T', 1. ) 
     1721            CALL lbc_lnk( 'toto',risfdep,'T', 1. )  
     1722            CALL lbc_lnk('toto', bathy,  'T', 1. ) 
    17011723 
    17021724            zbathy(:,:) = FLOAT( mbathy(:,:) ) 
    1703             CALL lbc_lnk( zbathy, 'T', 1. ) 
     1725            CALL lbc_lnk( 'toto',zbathy, 'T', 1. ) 
    17041726            mbathy(:,:) = INT( zbathy(:,:) ) 
    17051727         ENDIF  
     
    17141736         IF( lk_mpp ) THEN  
    17151737            zbathy(:,:)  = FLOAT( misfdep(:,:) )  
    1716             CALL lbc_lnk( zbathy, 'T', 1. )  
     1738            CALL lbc_lnk( 'toto',zbathy, 'T', 1. )  
    17171739            misfdep(:,:) = INT( zbathy(:,:) )  
    17181740 
    1719             CALL lbc_lnk( risfdep,'T', 1. )  
    1720             CALL lbc_lnk( bathy,  'T', 1. ) 
     1741            CALL lbc_lnk( 'toto',risfdep,'T', 1. )  
     1742            CALL lbc_lnk( 'toto',bathy,  'T', 1. ) 
    17211743 
    17221744            zbathy(:,:) = FLOAT( mbathy(:,:) ) 
    1723             CALL lbc_lnk( zbathy, 'T', 1. ) 
     1745            CALL lbc_lnk( 'toto',zbathy, 'T', 1. ) 
    17241746            mbathy(:,:) = INT( zbathy(:,:) ) 
    17251747         ENDIF  
     
    18271849            !       ... on ik / ik-1  
    18281850               e3w_0  (ji,jj,ik  ) = e3t_0  (ji,jj,ik) !2._wp * (gdept_0(ji,jj,ik) - gdepw_0(ji,jj,ik))  
     1851               gdept_0(ji,jj,ik-1) = gdept_0(ji,jj,ik) - e3w_0(ji,jj,ik) 
    18291852               e3t_0  (ji,jj,ik-1) = gdepw_0(ji,jj,ik) - gdepw_1d(ik-1) 
    1830 ! The next line isn't required and doesn't affect results - included for consistency with bathymetry code  
    1831                gdept_0(ji,jj,ik-1) = gdept_1d(ik-1) 
     1853               e3w_0  (ji,jj,ik-1) = gdept_0(ji,jj,ik-1) - gdept_1d(ik-2) 
     1854               gdepw_0(ji,jj,ik-1) = gdepw_0(ji,jj,ik) - e3t_0(ji,jj,ik-1) 
    18321855            ENDIF  
    18331856         END DO  
     
    18571880      CALL wrk_dealloc( jpi, jpj, zmisfdep, zmbathy ) 
    18581881      ! 
    1859       IF( nn_timing == 1 )   CALL timing_stop('zgr_isf') 
     1882  !    IF( nn_timing == 1 )   CALL timing_stop('zgr_isf') 
    18601883      !       
    18611884   END SUBROUTINE zgr_isf 
     
    19191942     !!---------------------------------------------------------------------- 
    19201943      ! 
    1921       IF( nn_timing == 1 )  CALL timing_start('zgr_sco') 
     1944   !!   IF( nn_timing == 1 )  CALL timing_start('zgr_sco') 
    19221945      ! 
    19231946      CALL wrk_alloc( jpi,jpj,   zenv, ztmp, zmsk, zri, zrj, zhbat , ztmpi1, ztmpi2, ztmpj1, ztmpj2 ) 
     
    20012024 
    20022025      ! apply lateral boundary condition   CAUTION: keep the value when the lbc field is zero 
    2003       CALL lbc_lnk( zenv, 'T', 1._wp, 'no0' ) 
     2026      CALL lbc_lnk( 'toto',zenv, 'T', 1._wp, 'no0' ) 
    20042027      !  
    20052028      ! smooth the bathymetry (if required) 
     
    20552078            END DO 
    20562079         END DO 
    2057          IF( lk_mpp )   CALL mpp_max( zrmax )   ! max over the global domain 
     2080  !       IF( lk_mpp )   CALL mpp_max( zrmax )   ! max over the global domain 
    20582081         ! 
    20592082         IF(lwp)WRITE(numout,*) 'zgr_sco :   iter= ',jl, ' rmax= ', zrmax 
     
    20652088         END DO 
    20662089         ! apply lateral boundary condition   CAUTION: keep the value when the lbc field is zero 
    2067          CALL lbc_lnk( zenv, 'T', 1._wp, 'no0' ) 
     2090         CALL lbc_lnk( 'toto',zenv, 'T', 1._wp, 'no0' ) 
    20682091         !                                                  ! ================ ! 
    20692092      END DO                                                !     End loop     ! 
     
    21092132      ! Apply lateral boundary condition 
    21102133!!gm  ! CAUTION: retain non zero value in the initial file this should be OK for orca cfg, not for EEL 
    2111       zhbat(:,:) = hbatu(:,:)   ;   CALL lbc_lnk( hbatu, 'U', 1._wp ) 
     2134      zhbat(:,:) = hbatu(:,:)   ;   CALL lbc_lnk('toto', hbatu, 'U', 1._wp ) 
    21122135      DO jj = 1, jpj 
    21132136         DO ji = 1, jpi 
     
    21192142         END DO 
    21202143      END DO 
    2121       zhbat(:,:) = hbatv(:,:)   ;   CALL lbc_lnk( hbatv, 'V', 1._wp ) 
     2144      zhbat(:,:) = hbatv(:,:)   ;   CALL lbc_lnk('toto', hbatv, 'V', 1._wp ) 
    21222145      DO jj = 1, jpj 
    21232146         DO ji = 1, jpi 
     
    21282151         END DO 
    21292152      END DO 
    2130       zhbat(:,:) = hbatf(:,:)   ;   CALL lbc_lnk( hbatf, 'F', 1._wp ) 
     2153      zhbat(:,:) = hbatf(:,:)   ;   CALL lbc_lnk('toto', hbatf, 'F', 1._wp ) 
    21312154      DO jj = 1, jpj 
    21322155         DO ji = 1, jpi 
     
    21762199      ENDIF  
    21772200 
    2178       CALL lbc_lnk( e3t_0 , 'T', 1._wp ) 
    2179       CALL lbc_lnk( e3u_0 , 'U', 1._wp ) 
    2180       CALL lbc_lnk( e3v_0 , 'V', 1._wp ) 
    2181       CALL lbc_lnk( e3f_0 , 'F', 1._wp ) 
    2182       CALL lbc_lnk( e3w_0 , 'W', 1._wp ) 
    2183       CALL lbc_lnk( e3uw_0, 'U', 1._wp ) 
    2184       CALL lbc_lnk( e3vw_0, 'V', 1._wp ) 
     2201      CALL lbc_lnk( 'toto',e3t_0 , 'T', 1._wp ) 
     2202      CALL lbc_lnk( 'toto',e3u_0 , 'U', 1._wp ) 
     2203      CALL lbc_lnk( 'toto',e3v_0 , 'V', 1._wp ) 
     2204      CALL lbc_lnk( 'toto',e3f_0 , 'F', 1._wp ) 
     2205      CALL lbc_lnk( 'toto',e3w_0 , 'W', 1._wp ) 
     2206      CALL lbc_lnk( 'toto',e3uw_0, 'U', 1._wp ) 
     2207      CALL lbc_lnk('toto', e3vw_0, 'V', 1._wp ) 
    21852208      ! 
    21862209        WHERE( e3t_0 (:,:,:) == 0._wp )   e3t_0 (:,:,:) = 1._wp 
     
    23142337      CALL wrk_dealloc( jpi, jpj, zenv, ztmp, zmsk, zri, zrj, zhbat , ztmpi1, ztmpi2, ztmpj1, ztmpj2 ) 
    23152338      ! 
    2316       IF( nn_timing == 1 )  CALL timing_stop('zgr_sco') 
     2339   !!!   IF( nn_timing == 1 )  CALL timing_stop('zgr_sco') 
    23172340      ! 
    23182341   END SUBROUTINE zgr_sco 
     
    25852608      ENDDO 
    25862609      ! 
    2587       CALL lbc_lnk(e3t_0 ,'T',1.) ; CALL lbc_lnk(e3u_0 ,'T',1.) 
    2588       CALL lbc_lnk(e3v_0 ,'T',1.) ; CALL lbc_lnk(e3f_0 ,'T',1.) 
    2589       CALL lbc_lnk(e3w_0 ,'T',1.) 
    2590       CALL lbc_lnk(e3uw_0,'T',1.) ; CALL lbc_lnk(e3vw_0,'T',1.) 
     2610      CALL lbc_lnk('toto',e3t_0 ,'T',1.) ; CALL lbc_lnk('toto',e3u_0 ,'T',1.) 
     2611      CALL lbc_lnk('toto',e3v_0 ,'T',1.) ; CALL lbc_lnk('toto',e3f_0 ,'T',1.) 
     2612      CALL lbc_lnk('toto',e3w_0 ,'T',1.) 
     2613      CALL lbc_lnk('toto',e3uw_0,'T',1.) ; CALL lbc_lnk('toto',e3vw_0,'T',1.) 
    25912614      ! 
    25922615      CALL wrk_dealloc( jpi,jpj,jpk,   z_gsigw3, z_gsigt3, z_gsi3w3                                      ) 
Note: See TracChangeset for help on using the changeset viewer.