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 3919 for branches/2012 – NEMO

Changeset 3919 for branches/2012


Ignore:
Timestamp:
2013-06-13T12:52:53+02:00 (11 years ago)
Author:
smasson
Message:

v3_4_STABLE: better fortran and error in the conv of agrif, see ticket #1111 and #1112

Location:
branches/2012/dev_v3_4_STABLE_2012/NEMOGCM/NEMO
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/2012/dev_v3_4_STABLE_2012/NEMOGCM/NEMO/NST_SRC/agrif_opa_sponge.F90

    r3917 r3919  
    3535      REAL(wp), POINTER, DIMENSION(:,:    ) :: localviscsponge 
    3636      REAL(wp), POINTER, DIMENSION(:,:    ) :: ztu, ztv 
    37       REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ztab4d 
     37      REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ztab 
    3838      REAL(wp), POINTER, DIMENSION(:,:,:,:) :: tsbdiff 
    3939 
    4040#if defined SPONGE 
    4141      CALL wrk_alloc( jpi, jpj, localviscsponge, ztu, ztv ) 
    42       CALL wrk_alloc( jpi, jpj, jpk, jpts, ztab4d, tsbdiff  ) 
     42      CALL wrk_alloc( jpi, jpj, jpk, jpts, ztab, tsbdiff  ) 
    4343 
    4444      timecoeff = REAL(Agrif_NbStepint(),wp)/Agrif_rhot() 
     
    4646      Agrif_SpecialValue=0. 
    4747      Agrif_UseSpecialValue = .TRUE. 
    48       ztab4d = 0.e0 
    49       CALL Agrif_Bc_Variable(ztab4d, tsa_id,calledweight=timecoeff,procname=interptsn) 
     48      ztab = 0.e0 
     49      CALL Agrif_Bc_Variable(ztab, tsa_id,calledweight=timecoeff,procname=interptsn) 
    5050      Agrif_UseSpecialValue = .FALSE. 
    5151 
    52       tsbdiff(:,:,:,:) = tsb(:,:,:,:) - ztab4d(:,:,:,:) 
     52      tsbdiff(:,:,:,:) = tsb(:,:,:,:) - ztab(:,:,:,:) 
    5353 
    5454      spongearea = 2 + 2 * Agrif_irhox() 
     
    148148 
    149149      CALL wrk_dealloc( jpi, jpj, localviscsponge, ztu, ztv ) 
    150       CALL wrk_dealloc( jpi, jpj, jpk, jpts, ztab4d, tsbdiff  ) 
     150      CALL wrk_dealloc( jpi, jpj, jpk, jpts, ztab, tsbdiff  ) 
    151151#endif 
    152152 
     
    166166      REAL(wp), POINTER, DIMENSION(:,:,:) :: ubdiff, vbdiff 
    167167      REAL(wp), POINTER, DIMENSION(:,:,:) :: rotdiff, hdivdiff 
    168       REAL(wp), POINTER, DIMENSION(:,:,:) :: ztab3d 
     168      REAL(wp), POINTER, DIMENSION(:,:,:) :: ztab 
    169169 
    170170#if defined SPONGE 
    171171      CALL wrk_alloc( jpi, jpj, localviscsponge ) 
    172       CALL wrk_alloc( jpi, jpj, jpk, ztab3d, ubdiff, vbdiff, rotdiff, hdivdiff ) 
     172      CALL wrk_alloc( jpi, jpj, jpk, ztab, ubdiff, vbdiff, rotdiff, hdivdiff ) 
    173173 
    174174      timecoeff = REAL(Agrif_NbStepint(),wp)/Agrif_rhot() 
     
    176176      Agrif_SpecialValue=0. 
    177177      Agrif_UseSpecialValue = ln_spc_dyn 
    178       ztab3d = 0.e0 
    179       CALL Agrif_Bc_Variable(ztab3d, ua_id,calledweight=timecoeff,procname=interpun) 
     178      ztab = 0.e0 
     179      CALL Agrif_Bc_Variable(ztab, ua_id,calledweight=timecoeff,procname=interpun) 
    180180      Agrif_UseSpecialValue = .FALSE. 
    181181 
    182       ubdiff(:,:,:) = (ub(:,:,:) - ztab3d(:,:,:))*umask(:,:,:) 
    183  
    184       ztab3d = 0.e0 
     182      ubdiff(:,:,:) = (ub(:,:,:) - ztab(:,:,:))*umask(:,:,:) 
     183 
     184      ztab = 0.e0 
    185185      Agrif_SpecialValue=0. 
    186186      Agrif_UseSpecialValue = ln_spc_dyn 
    187       CALL Agrif_Bc_Variable(ztab3d, va_id,calledweight=timecoeff,procname=interpvn) 
     187      CALL Agrif_Bc_Variable(ztab, va_id,calledweight=timecoeff,procname=interpvn) 
    188188      Agrif_UseSpecialValue = .FALSE. 
    189189 
    190       vbdiff(:,:,:) = (vb(:,:,:) - ztab3d(:,:,:))*vmask(:,:,:) 
     190      vbdiff(:,:,:) = (vb(:,:,:) - ztab(:,:,:))*vmask(:,:,:) 
    191191 
    192192      spongearea = 2 + 2 * Agrif_irhox() 
     
    318318      !                                                ! =============== 
    319319      CALL wrk_dealloc( jpi, jpj, localviscsponge ) 
    320       CALL wrk_dealloc( jpi, jpj, jpk, ztab3d, ubdiff, vbdiff, rotdiff, hdivdiff ) 
     320      CALL wrk_dealloc( jpi, jpj, jpk, ztab, ubdiff, vbdiff, rotdiff, hdivdiff ) 
    321321 
    322322#endif 
  • branches/2012/dev_v3_4_STABLE_2012/NEMOGCM/NEMO/NST_SRC/agrif_opa_update.F90

    r3917 r3919  
    3232      !! 
    3333      INTEGER, INTENT(in) :: kt 
    34       REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ztab4d 
     34      REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ztab 
    3535 
    3636        
    3737      IF((Agrif_NbStepint() .NE. (Agrif_irhot()-1)).AND.(kt /= 0)) RETURN 
    3838#if defined TWO_WAY 
    39       CALL wrk_alloc( jpi, jpj, jpk, jpts, ztab4d ) 
     39      CALL wrk_alloc( jpi, jpj, jpk, jpts, ztab ) 
    4040 
    4141      Agrif_UseSpecialValueInUpdate = .TRUE. 
     
    4343 
    4444      IF (MOD(nbcline,nbclineupdate) == 0) THEN 
    45          CALL Agrif_Update_Variable(ztab4d,tsn_id, procname=updateTS) 
    46       ELSE 
    47          CALL Agrif_Update_Variable(ztab4d,tsn_id,locupdate=(/0,2/), procname=updateTS) 
     45         CALL Agrif_Update_Variable(ztab,tsn_id, procname=updateTS) 
     46      ELSE 
     47         CALL Agrif_Update_Variable(ztab,tsn_id,locupdate=(/0,2/), procname=updateTS) 
    4848      ENDIF 
    4949 
    5050      Agrif_UseSpecialValueInUpdate = .FALSE. 
    5151 
    52       CALL wrk_dealloc( jpi, jpj, jpk, jpts, ztab4d ) 
     52      CALL wrk_dealloc( jpi, jpj, jpk, jpts, ztab ) 
    5353#endif 
    5454 
     
    6262      INTEGER, INTENT(in) :: kt 
    6363      REAL(wp), POINTER, DIMENSION(:,:) :: ztab2d 
    64       REAL(wp), POINTER, DIMENSION(:,:,:) :: ztab3d 
     64      REAL(wp), POINTER, DIMENSION(:,:,:) :: ztab 
    6565 
    6666 
     
    6868#if defined TWO_WAY 
    6969      CALL wrk_alloc( jpi, jpj,      ztab2d ) 
    70       CALL wrk_alloc( jpi, jpj, jpk, ztab3d ) 
     70      CALL wrk_alloc( jpi, jpj, jpk, ztab  ) 
    7171 
    7272      IF (mod(nbcline,nbclineupdate) == 0) THEN 
    73          CALL Agrif_Update_Variable(ztab3d,un_id,procname = updateU) 
    74          CALL Agrif_Update_Variable(ztab3d,vn_id,procname = updateV) 
    75       ELSE 
    76          CALL Agrif_Update_Variable(ztab3d,un_id,locupdate=(/0,1/),procname = updateU) 
    77          CALL Agrif_Update_Variable(ztab3d,vn_id,locupdate=(/0,1/),procname = updateV)          
     73         CALL Agrif_Update_Variable(ztab,un_id,procname = updateU) 
     74         CALL Agrif_Update_Variable(ztab,vn_id,procname = updateV) 
     75      ELSE 
     76         CALL Agrif_Update_Variable(ztab,un_id,locupdate=(/0,1/),procname = updateU) 
     77         CALL Agrif_Update_Variable(ztab,vn_id,locupdate=(/0,1/),procname = updateV)          
    7878      ENDIF 
    7979 
     
    8989 
    9090      CALL wrk_dealloc( jpi, jpj,      ztab2d ) 
    91       CALL wrk_dealloc( jpi, jpj, jpk, ztab3d ) 
     91      CALL wrk_dealloc( jpi, jpj, jpk, ztab  ) 
    9292 
    9393!Done in step 
  • branches/2012/dev_v3_4_STABLE_2012/NEMOGCM/NEMO/NST_SRC/agrif_top_sponge.F90

    r3917 r3919  
    3636      REAL(wp) :: ztra, zabe1, zabe2, zbtr 
    3737      REAL(wp), POINTER, DIMENSION(:,:) :: localviscsponge 
    38       REAL(wp), POINTER, DIMENSION(:,:,:,:) :: trbdiff, ztru, ztrv, ztab4d 
     38      REAL(wp), POINTER, DIMENSION(:,:,:,:) :: trbdiff, ztru, ztrv, ztab 
    3939 
    4040#if defined SPONGE_TOP 
    4141      CALL wrk_alloc( jpi, jpj, localviscsponge ) 
    42       CALL wrk_alloc( jpi, jpj, jpk, jptra, trbdiff, ztru, ztrv, ztab4d ) 
     42      CALL wrk_alloc( jpi, jpj, jpk, jptra, trbdiff, ztru, ztrv, ztab ) 
    4343 
    4444      timecoeff = REAL(Agrif_NbStepint(),wp)/Agrif_rhot() 
     
    4646      Agrif_SpecialValue=0. 
    4747      Agrif_UseSpecialValue = .TRUE. 
    48       ztab4d = 0.e0 
    49       CALL Agrif_Bc_Variable(ztab4d, tra_id,calledweight=timecoeff,procname=interptrn) 
     48      ztab = 0.e0 
     49      CALL Agrif_Bc_Variable(ztab, tra_id,calledweight=timecoeff,procname=interptrn) 
    5050      Agrif_UseSpecialValue = .FALSE. 
    5151 
    52       trbdiff(:,:,:,:) = trb(:,:,:,:) - ztab4d(:,:,:,:) 
     52      trbdiff(:,:,:,:) = trb(:,:,:,:) - ztab(:,:,:,:) 
    5353 
    5454      spongearea = 2 + 2 * Agrif_irhox() 
     
    147147  
    148148      CALL wrk_dealloc( jpi, jpj, localviscsponge ) 
    149       CALL wrk_dealloc( jpi, jpj, jpk, jptra, trbdiff, ztru, ztrv, ztab4d ) 
     149      CALL wrk_dealloc( jpi, jpj, jpk, jptra, trbdiff, ztru, ztrv, ztab ) 
    150150 
    151151#endif 
  • branches/2012/dev_v3_4_STABLE_2012/NEMOGCM/NEMO/OPA_SRC/LBC/lib_mpp.F90

    r3800 r3919  
    159159 
    160160   ! Arrays used in mpp_lbc_north_3d() 
    161    REAL(wp), DIMENSION(:,:,:)  , ALLOCATABLE, SAVE   ::   ztab, znorthloc 
    162    REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE, SAVE   ::   znorthgloio 
    163    REAL(wp), DIMENSION(:,:,:)  , ALLOCATABLE, SAVE   ::   zfoldwk      ! Workspace for message transfers avoiding mpi_allgather 
     161   REAL(wp), DIMENSION(:,:,:)  , ALLOCATABLE, SAVE   ::   tab_3d, xnorthloc 
     162   REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE, SAVE   ::   xnorthgloio 
     163   REAL(wp), DIMENSION(:,:,:)  , ALLOCATABLE, SAVE   ::   foldwk      ! Workspace for message transfers avoiding mpi_allgather 
    164164 
    165165   ! Arrays used in mpp_lbc_north_2d() 
    166    REAL(wp), DIMENSION(:,:)  , ALLOCATABLE, SAVE    ::   ztab_2d, znorthloc_2d 
    167    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, SAVE    ::   znorthgloio_2d 
    168    REAL(wp), DIMENSION(:,:)  , ALLOCATABLE, SAVE    ::   zfoldwk_2d    ! Workspace for message transfers avoiding mpi_allgather 
     166   REAL(wp), DIMENSION(:,:)  , ALLOCATABLE, SAVE    ::   tab_2d, xnorthloc_2d 
     167   REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, SAVE    ::   xnorthgloio_2d 
     168   REAL(wp), DIMENSION(:,:)  , ALLOCATABLE, SAVE    ::   foldwk_2d    ! Workspace for message transfers avoiding mpi_allgather 
    169169 
    170170   ! Arrays used in mpp_lbc_north_e() 
    171    REAL(wp), DIMENSION(:,:)  , ALLOCATABLE, SAVE    ::   ztab_e, znorthloc_e 
    172    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, SAVE    ::   znorthgloio_e 
     171   REAL(wp), DIMENSION(:,:)  , ALLOCATABLE, SAVE    ::   tab_e, xnorthloc_e 
     172   REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, SAVE    ::   xnorthgloio_e 
    173173 
    174174   ! North fold arrays used to minimise the use of allgather operations. Set in nemo_northcomms (nemogcm) so need to be public 
     
    209209         &      tr2we(1-jpr2dj:jpj+jpr2dj,jpreci+jpr2di,2) ,                                                     & 
    210210         ! 
    211          &      ztab(jpiglo,4,jpk) , znorthloc(jpi,4,jpk) , znorthgloio(jpi,4,jpk,jpni) ,                        & 
    212          &      zfoldwk(jpi,4,jpk) ,                                                                             & 
    213          ! 
    214          &      ztab_2d(jpiglo,4)  , znorthloc_2d(jpi,4)  , znorthgloio_2d(jpi,4,jpni)  ,                        & 
    215          &      zfoldwk_2d(jpi,4)  ,                                                                             & 
    216          ! 
    217          &      ztab_e(jpiglo,4+2*jpr2dj) , znorthloc_e(jpi,4+2*jpr2dj) , znorthgloio_e(jpi,4+2*jpr2dj,jpni) ,   & 
     211         &      tab_3d(jpiglo,4,jpk) , xnorthloc(jpi,4,jpk) , xnorthgloio(jpi,4,jpk,jpni) ,                        & 
     212         &      foldwk(jpi,4,jpk) ,                                                                             & 
     213         ! 
     214         &      tab_2d(jpiglo,4)  , xnorthloc_2d(jpi,4)  , xnorthgloio_2d(jpi,4,jpni)  ,                        & 
     215         &      foldwk_2d(jpi,4)  ,                                                                             & 
     216         ! 
     217         &      tab_e(jpiglo,4+2*jpr2dj) , xnorthloc_e(jpi,4+2*jpr2dj) , xnorthgloio_e(jpi,4+2*jpr2dj,jpni) ,   & 
    218218         ! 
    219219         &      STAT=lib_mpp_alloc ) 
     
    22292229      ityp = -1 
    22302230      ijpjm1 = 3 
    2231       ztab(:,:,:) = 0.e0 
    2232       ! 
    2233       DO jj = nlcj - ijpj +1, nlcj          ! put in znorthloc the last 4 jlines of pt3d 
     2231      tab_3d(:,:,:) = 0.e0 
     2232      ! 
     2233      DO jj = nlcj - ijpj +1, nlcj          ! put in xnorthloc the last 4 jlines of pt3d 
    22342234         ij = jj - nlcj + ijpj 
    2235          znorthloc(:,ij,:) = pt3d(:,jj,:) 
     2235         xnorthloc(:,ij,:) = pt3d(:,jj,:) 
    22362236      END DO 
    22372237      ! 
    2238       !                                     ! Build in procs of ncomm_north the znorthgloio 
     2238      !                                     ! Build in procs of ncomm_north the xnorthgloio 
    22392239      itaille = jpi * jpk * ijpj 
    22402240      IF ( l_north_nogather ) THEN 
     
    22462246            ij = jj - nlcj + ijpj 
    22472247            DO ji = 1, nlci 
    2248                ztab(ji+nimpp-1,ij,:) = pt3d(ji,jj,:) 
     2248               tab_3d(ji+nimpp-1,ij,:) = pt3d(ji,jj,:) 
    22492249            END DO 
    22502250         END DO 
     
    22712271 
    22722272            DO jr = 1,nsndto(ityp) 
    2273                CALL mppsend(5, znorthloc, itaille, isendto(jr,ityp), ml_req_nf(jr) ) 
     2273               CALL mppsend(5, xnorthloc, itaille, isendto(jr,ityp), ml_req_nf(jr) ) 
    22742274            END DO 
    22752275            DO jr = 1,nsndto(ityp) 
    2276                CALL mpprecv(5, zfoldwk, itaille, isendto(jr,ityp)) 
     2276               CALL mpprecv(5, foldwk, itaille, isendto(jr,ityp)) 
    22772277               iproc = isendto(jr,ityp) + 1 
    22782278               ildi = nldit (iproc) 
     
    22812281               DO jj = 1, ijpj 
    22822282                  DO ji = ildi, ilei 
    2283                      ztab(ji+iilb-1,jj,:) = zfoldwk(ji,jj,:) 
     2283                     tab_3d(ji+iilb-1,jj,:) = foldwk(ji,jj,:) 
    22842284                  END DO 
    22852285               END DO 
     
    22962296 
    22972297      IF ( ityp .lt. 0 ) THEN 
    2298          CALL MPI_ALLGATHER( znorthloc  , itaille, MPI_DOUBLE_PRECISION,                & 
    2299             &                znorthgloio, itaille, MPI_DOUBLE_PRECISION, ncomm_north, ierr ) 
     2298         CALL MPI_ALLGATHER( xnorthloc  , itaille, MPI_DOUBLE_PRECISION,                & 
     2299            &                xnorthgloio, itaille, MPI_DOUBLE_PRECISION, ncomm_north, ierr ) 
    23002300         ! 
    23012301         DO jr = 1, ndim_rank_north         ! recover the global north array 
     
    23062306            DO jj = 1, ijpj 
    23072307               DO ji = ildi, ilei 
    2308                   ztab(ji+iilb-1,jj,:) = znorthgloio(ji,jj,:,jr) 
     2308                  tab_3d(ji+iilb-1,jj,:) = xnorthgloio(ji,jj,:,jr) 
    23092309               END DO 
    23102310            END DO 
     
    23122312      ENDIF 
    23132313      ! 
    2314       ! The ztab array has been either: 
     2314      ! The tab_3d array has been either: 
    23152315      !  a. Fully populated by the mpi_allgather operation or 
    23162316      !  b. Had the active points for this domain and northern neighbours populated 
     
    23192319      ! this domain will be identical. 
    23202320      ! 
    2321       CALL lbc_nfd( ztab, cd_type, psgn )   ! North fold boundary condition 
     2321      CALL lbc_nfd( tab_3d, cd_type, psgn )   ! North fold boundary condition 
    23222322      ! 
    23232323      DO jj = nlcj-ijpj+1, nlcj             ! Scatter back to pt3d 
    23242324         ij = jj - nlcj + ijpj 
    23252325         DO ji= 1, nlci 
    2326             pt3d(ji,jj,:) = ztab(ji+nimpp-1,ij,:) 
     2326            pt3d(ji,jj,:) = tab_3d(ji+nimpp-1,ij,:) 
    23272327         END DO 
    23282328      END DO 
     
    23612361      ityp = -1 
    23622362      ijpjm1 = 3 
    2363       ztab_2d(:,:) = 0.e0 
    2364       ! 
    2365       DO jj = nlcj-ijpj+1, nlcj             ! put in znorthloc_2d the last 4 jlines of pt2d 
     2363      tab_2d(:,:) = 0.e0 
     2364      ! 
     2365      DO jj = nlcj-ijpj+1, nlcj             ! put in xnorthloc_2d the last 4 jlines of pt2d 
    23662366         ij = jj - nlcj + ijpj 
    2367          znorthloc_2d(:,ij) = pt2d(:,jj) 
     2367         xnorthloc_2d(:,ij) = pt2d(:,jj) 
    23682368      END DO 
    23692369 
    2370       !                                     ! Build in procs of ncomm_north the znorthgloio_2d 
     2370      !                                     ! Build in procs of ncomm_north the xnorthgloio_2d 
    23712371      itaille = jpi * ijpj 
    23722372      IF ( l_north_nogather ) THEN 
     
    23782378            ij = jj - nlcj + ijpj 
    23792379            DO ji = 1, nlci 
    2380                ztab_2d(ji+nimpp-1,ij) = pt2d(ji,jj) 
     2380               tab_2d(ji+nimpp-1,ij) = pt2d(ji,jj) 
    23812381            END DO 
    23822382         END DO 
     
    24042404 
    24052405            DO jr = 1,nsndto(ityp) 
    2406                CALL mppsend(5, znorthloc_2d, itaille, isendto(jr,ityp), ml_req_nf(jr) ) 
     2406               CALL mppsend(5, xnorthloc_2d, itaille, isendto(jr,ityp), ml_req_nf(jr) ) 
    24072407            END DO 
    24082408            DO jr = 1,nsndto(ityp) 
    2409                CALL mpprecv(5, zfoldwk_2d, itaille, isendto(jr,ityp)) 
     2409               CALL mpprecv(5, foldwk_2d, itaille, isendto(jr,ityp)) 
    24102410               iproc = isendto(jr,ityp) + 1 
    24112411               ildi = nldit (iproc) 
     
    24142414               DO jj = 1, ijpj 
    24152415                  DO ji = ildi, ilei 
    2416                      ztab_2d(ji+iilb-1,jj) = zfoldwk_2d(ji,jj) 
     2416                     tab_2d(ji+iilb-1,jj) = foldwk_2d(ji,jj) 
    24172417                  END DO 
    24182418               END DO 
     
    24292429 
    24302430      IF ( ityp .lt. 0 ) THEN 
    2431          CALL MPI_ALLGATHER( znorthloc_2d  , itaille, MPI_DOUBLE_PRECISION,        & 
    2432             &                znorthgloio_2d, itaille, MPI_DOUBLE_PRECISION, ncomm_north, ierr ) 
     2431         CALL MPI_ALLGATHER( xnorthloc_2d  , itaille, MPI_DOUBLE_PRECISION,        & 
     2432            &                xnorthgloio_2d, itaille, MPI_DOUBLE_PRECISION, ncomm_north, ierr ) 
    24332433         ! 
    24342434         DO jr = 1, ndim_rank_north            ! recover the global north array 
     
    24392439            DO jj = 1, ijpj 
    24402440               DO ji = ildi, ilei 
    2441                   ztab_2d(ji+iilb-1,jj) = znorthgloio_2d(ji,jj,jr) 
     2441                  tab_2d(ji+iilb-1,jj) = xnorthgloio_2d(ji,jj,jr) 
    24422442               END DO 
    24432443            END DO 
     
    24452445      ENDIF 
    24462446      ! 
    2447       ! The ztab array has been either: 
     2447      ! The tab array has been either: 
    24482448      !  a. Fully populated by the mpi_allgather operation or 
    24492449      !  b. Had the active points for this domain and northern neighbours populated 
     
    24522452      ! this domain will be identical. 
    24532453      ! 
    2454       CALL lbc_nfd( ztab_2d, cd_type, psgn )   ! North fold boundary condition 
     2454      CALL lbc_nfd( tab_2d, cd_type, psgn )   ! North fold boundary condition 
    24552455      ! 
    24562456      ! 
     
    24582458         ij = jj - nlcj + ijpj 
    24592459         DO ji = 1, nlci 
    2460             pt2d(ji,jj) = ztab_2d(ji+nimpp-1,ij) 
     2460            pt2d(ji,jj) = tab_2d(ji+nimpp-1,ij) 
    24612461         END DO 
    24622462      END DO 
     
    24912491      ! 
    24922492      ijpj=4 
    2493       ztab_e(:,:) = 0.e0 
     2493      tab_e(:,:) = 0.e0 
    24942494 
    24952495      ij=0 
    2496       ! put in znorthloc_e the last 4 jlines of pt2d 
     2496      ! put in xnorthloc_e the last 4 jlines of pt2d 
    24972497      DO jj = nlcj - ijpj + 1 - jpr2dj, nlcj +jpr2dj 
    24982498         ij = ij + 1 
    24992499         DO ji = 1, jpi 
    2500             znorthloc_e(ji,ij)=pt2d(ji,jj) 
     2500            xnorthloc_e(ji,ij)=pt2d(ji,jj) 
    25012501         END DO 
    25022502      END DO 
    25032503      ! 
    25042504      itaille = jpi * ( ijpj + 2 * jpr2dj ) 
    2505       CALL MPI_ALLGATHER( znorthloc_e(1,1)  , itaille, MPI_DOUBLE_PRECISION,    & 
    2506          &                znorthgloio_e(1,1,1), itaille, MPI_DOUBLE_PRECISION, ncomm_north, ierr ) 
     2505      CALL MPI_ALLGATHER( xnorthloc_e(1,1)  , itaille, MPI_DOUBLE_PRECISION,    & 
     2506         &                xnorthgloio_e(1,1,1), itaille, MPI_DOUBLE_PRECISION, ncomm_north, ierr ) 
    25072507      ! 
    25082508      DO jr = 1, ndim_rank_north            ! recover the global north array 
     
    25132513         DO jj = 1, ijpj+2*jpr2dj 
    25142514            DO ji = ildi, ilei 
    2515                ztab_e(ji+iilb-1,jj) = znorthgloio_e(ji,jj,jr) 
     2515               tab_e(ji+iilb-1,jj) = xnorthgloio_e(ji,jj,jr) 
    25162516            END DO 
    25172517         END DO 
     
    25212521      ! 2. North-Fold boundary conditions 
    25222522      ! ---------------------------------- 
    2523       CALL lbc_nfd( ztab_e(:,:), cd_type, psgn, pr2dj = jpr2dj ) 
     2523      CALL lbc_nfd( tab_e(:,:), cd_type, psgn, pr2dj = jpr2dj ) 
    25242524 
    25252525      ij = jpr2dj 
     
    25282528      ij  = ij +1 
    25292529         DO ji= 1, nlci 
    2530             pt2d(ji,jj) = ztab_e(ji+nimpp-1,ij) 
     2530            pt2d(ji,jj) = tab_e(ji+nimpp-1,ij) 
    25312531         END DO 
    25322532      END DO 
Note: See TracChangeset for help on using the changeset viewer.