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 4409 for branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/LBC/lib_mpp.F90 – NEMO

Ignore:
Timestamp:
2014-02-04T13:12:20+01:00 (10 years ago)
Author:
trackstand2
Message:

Changes to allow jpk to be modified to deepest level within a subdomain. jpkorig holds original value.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/LBC/lib_mpp.F90

    r3849 r4409  
    133133    
    134134   ! North fold condition in mpp_mpi with jpni > 1 
    135    INTEGER ::   ngrp_world        ! group ID for the world processors 
    136    INTEGER ::   ngrp_opa          ! group ID for the opa processors 
    137    INTEGER ::   ngrp_north        ! group ID for the northern processors (to be fold) 
    138    INTEGER ::   ncomm_north       ! communicator made by the processors belonging to ngrp_north 
    139    INTEGER ::   ndim_rank_north  ! number of 'sea' processor in the northern line (can be /= jpni !) 
    140    INTEGER ::   njmppmax          ! value of njmpp for the processors of the northern line 
    141    INTEGER ::   north_root        ! number (in the comm_opa) of proc 0 in the northern comm 
     135   INTEGER, SAVE ::   ngrp_world      ! group ID for the world processors 
     136   INTEGER, SAVE ::   ngrp_opa        ! group ID for the opa processors 
     137   INTEGER, SAVE ::   ngrp_north      ! group ID for the northern processors (to be fold) 
     138   INTEGER, SAVE ::   ncomm_north     ! communicator made by the processors belonging to ngrp_north 
     139   INTEGER, SAVE ::   ndim_rank_north ! number of 'sea' processor in the northern line (can be /= jpni !) 
     140   INTEGER, SAVE ::   njmppmax        ! value of njmpp for the processors of the northern line 
     141   INTEGER, SAVE ::   north_root      ! number (in the comm_opa) of proc 0 in the northern comm 
    142142   INTEGER, DIMENSION(:), ALLOCATABLE, SAVE ::   nrank_north   ! dimension ndim_rank_north 
    143143 
     
    453453!! DCSE_NEMO: work around a deficiency in ftrans 
    454454!     REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   ptab3d   ! 3D array on which the boundary condition is applied 
    455       REAL(wp),                         INTENT(inout) ::   ptab3d(jpi,jpj,jpk) 
     455      REAL(wp),                         INTENT(inout) ::   ptab3d(jpi,jpj,jpkorig) 
    456456      CHARACTER(len=1)                , INTENT(in   ) ::   cd_type  ! define the nature of ptab array grid-points 
    457457      !                                                             ! = T , U , V , F , W points 
     
    890890!     REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   ptab1     ! first and second 3D array on which  
    891891!     REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   ptab2     ! the boundary condition is applied 
    892       REAL(wp),                         INTENT(inout) ::   ptab1(jpi,jpj,jpk) 
    893       REAL(wp),                         INTENT(inout) ::   ptab2(jpi,jpj,jpk) 
     892      REAL(wp),                         INTENT(inout) ::   ptab1(jpi,jpj,jpkorig) 
     893      REAL(wp),                         INTENT(inout) ::   ptab2(jpi,jpj,jpkorig) 
    894894      CHARACTER(len=1)                , INTENT(in   ) ::   cd_type1  ! nature of ptab1 and ptab2 arrays  
    895895      CHARACTER(len=1)                , INTENT(in   ) ::   cd_type2  ! i.e. grid-points = T , U , V , F or W points 
     
    17211721!     REAL(wp), DIMENSION (jpi,jpj,jpk), INTENT(in   ) ::   ptab3d       ! Local 3D array 
    17221722!     REAL(wp), DIMENSION (jpi,jpj,jpk), INTENT(in   ) ::   pmask3d      ! Local mask 
    1723       REAL(wp), INTENT(in   )                          ::   ptab3d(jpi,jpj,jpk) 
    1724       REAL(wp), INTENT(in   )                          ::   pmask3d(jpi,jpj,jpk) 
     1723      REAL(wp), INTENT(in   )                          ::   ptab3d(jpi,jpj,jpkorig) 
     1724      REAL(wp), INTENT(in   )                          ::   pmask3d(jpi,jpj,jpkorig) 
    17251725      REAL(wp)                         , INTENT(  out) ::   pmin         ! Global minimum of ptab 
    17261726      INTEGER                          , INTENT(  out) ::   ki, kj, kk   ! index of minimum in global frame 
     
    18131813!     REAL(wp), DIMENSION (jpi,jpj,jpk), INTENT(in   ) ::   ptab3d       ! Local 2D array 
    18141814!     REAL(wp), DIMENSION (jpi,jpj,jpk), INTENT(in   ) ::   pmask3d      ! Local mask 
    1815       REAL(wp), INTENT(in   )                          ::   ptab3d(jpi,jpj,jpk)       ! Local 2D array 
    1816       REAL(wp), INTENT(in   )                          ::   pmask3d(jpi,jpj,jpk)      ! Local mask 
     1815      REAL(wp), INTENT(in   )                          ::   ptab3d(jpi,jpj,jpkorig)       ! Local 2D array 
     1816      REAL(wp), INTENT(in   )                          ::   pmask3d(jpi,jpj,jpkorig)      ! Local mask 
    18171817      REAL(wp)                         , INTENT(  out) ::   pmax         ! Global maximum of ptab 
    18181818      INTEGER                          , INTENT(  out) ::   ki, kj, kk   ! index of maximum in global frame 
     
    23682368!! DCSE_NEMO: work around a deficiency in ftrans 
    23692369!     REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   pt3d      ! 3D array on which the b.c. is applied 
    2370       REAL(wp),                         INTENT(inout) ::   pt3d(jpi,jpj,jpk) 
     2370      REAL(wp),                         INTENT(inout) ::   pt3d(jpi,jpj,jpkorig) 
    23712371      CHARACTER(len=1)                , INTENT(in   ) ::   cd_type   ! nature of pt3d grid-points 
    23722372      !                                                              !   = T ,  U , V , F or W  gridpoints 
     
    28732873         IF( PRESENT(cd10) )   WRITE(numout,*) cd10 
    28742874      ENDIF 
    2875                                CALL FLUSH(numout    ) 
    2876       IF( numstp     /= -1 )   CALL FLUSH(numstp    ) 
    2877       IF( numsol     /= -1 )   CALL FLUSH(numsol    ) 
    2878       IF( numevo_ice /= -1 )   CALL FLUSH(numevo_ice) 
     2875                                FLUSH(numout    ) 
     2876      IF( numstp     /= -1 )    FLUSH(numstp    ) 
     2877      IF( numsol     /= -1 )    FLUSH(numsol    ) 
     2878      IF( numevo_ice /= -1 )    FLUSH(numevo_ice) 
    28792879      ! 
    28802880      IF( cd1 == 'STOP' ) THEN 
     
    29122912         IF( PRESENT(cd10) ) WRITE(numout,*) cd10 
    29132913      ENDIF 
    2914       CALL FLUSH(numout) 
     2914      FLUSH(numout) 
    29152915      ! 
    29162916   END SUBROUTINE ctl_warn 
Note: See TracChangeset for help on using the changeset viewer.