Changeset 8591


Ignore:
Timestamp:
2017-10-04T18:13:47+02:00 (3 years ago)
Author:
acc
Message:

Branch 2017/dev_r8126_ROBUST08_no_ghost. Add in fixes for mono-processor operation as supplied by gm. Fully Sette-tested at this stage.

Location:
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/OPA_SRC/LBC
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/OPA_SRC/LBC/lbc_lnk_generic.h90

    r8186 r8591  
    33#   define SGN_IN(k)                psgn(k) 
    44#   define F_SIZE(ptab)             kfld 
     5#   define OPT_K(k)                 ,ipf 
    56#   if defined DIM_2d 
    67#      define ARRAY_TYPE(i,j,k,l,f)    TYPE(PTR_2D)                , INTENT(inout) ::   ptab(f) 
     
    2627#   define SGN_IN(k)                psgn 
    2728#   define F_SIZE(ptab)             1 
     29#   define OPT_K(k)                  
    2830#   if defined DIM_2d 
    2931#      define ARRAY_IN(i,j,k,l,f)   ptab(i,j) 
     
    100102            ELSEIF( ll_nfd ) THEN                  !* north fold 
    101103               IF( .NOT. NAT_IN(jf) == 'F' )   ARRAY_IN(:, 1 ,:,:,jf) = zland    ! south except F-point 
    102                CALL lbc_nfd( ptab, NAT_IN(:), SGN_IN(:) )                       ! north fold treatment          
     104               CALL lbc_nfd( ptab, NAT_IN(:), SGN_IN(:) OPT_K(:) )                       ! north fold treatment          
    103105            ELSE                                   !* closed 
    104106               IF( .NOT. NAT_IN(jf) == 'F' )   ARRAY_IN(:, 1 ,:,:,jf) = zland    ! south except F-point 
     
    119121#undef L_SIZE 
    120122#undef F_SIZE 
     123#undef OPT_K 
  • branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/OPA_SRC/LBC/lbc_nfd_generic.h90

    r8186 r8591  
    4444#endif 
    4545 
     46#if defined MULTI 
    4647   SUBROUTINE ROUTINE_NFD( ptab, cd_nat, psgn, kfld ) 
     48      INTEGER          , INTENT(in   ) ::   kfld        ! number of pt3d arrays 
     49#else 
     50   SUBROUTINE ROUTINE_NFD( ptab, cd_nat, psgn       ) 
     51#endif 
    4752      ARRAY_TYPE(:,:,:,:,:)                             ! array or pointer of arrays on which the boundary condition is applied 
    4853      CHARACTER(len=1) , INTENT(in   ) ::   NAT_IN(:)   ! nature of array grid-points 
    4954      REAL(wp)         , INTENT(in   ) ::   SGN_IN(:)   ! sign used across the north fold boundary 
    50       INTEGER, OPTIONAL, INTENT(in   ) ::   kfld        ! number of pt3d arrays 
    5155      ! 
    5256      INTEGER  ::    ji,  jj,  jk,  jl, jh,  jf   ! dummy loop indices 
  • branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/OPA_SRC/LBC/mpp_bdy_generic.h90

    r8186 r8591  
    44#   define IBD_IN(k)                kb_bdy(k) 
    55#   define F_SIZE(ptab)             kfld 
     6#   define OPT_K(k)                 ,ipf 
    67#   if defined DIM_2d 
    78#      define ARRAY_TYPE(i,j,k,l,f)    TYPE(PTR_2D)                , INTENT(inout) ::   ptab(f) 
     
    2829#   define IBD_IN(k)                kb_bdy 
    2930#   define F_SIZE(ptab)             1 
     31#   define OPT_K(k)                  
    3032#   if defined DIM_2d 
    3133#      define ARRAY_IN(i,j,k,l,f)   ptab(i,j) 
     
    279281         ! 
    280282         SELECT CASE ( jpni ) 
    281          CASE ( 1 )     ;   CALL lbc_nfd( ptab, NAT_IN(:), SGN_IN(:) )   ! only 1 northern proc, no mpp 
    282          CASE DEFAULT   ;   CALL mpp_nfd( ptab, NAT_IN(:), SGN_IN(:) )   ! for all northern procs. 
     283         CASE ( 1 )     ;   CALL lbc_nfd( ptab, NAT_IN(:), SGN_IN(:) OPT_K(:) )   ! only 1 northern proc, no mpp 
     284         CASE DEFAULT   ;   CALL mpp_nfd( ptab, NAT_IN(:), SGN_IN(:) OPT_K(:) )   ! for all northern procs. 
    283285         END SELECT 
    284286         ! 
     
    297299#undef L_SIZE 
    298300#undef F_SIZE 
     301#undef OPT_K 
  • branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/OPA_SRC/LBC/mpp_lnk_generic.h90

    r8186 r8591  
    291291         ! 
    292292         SELECT CASE ( jpni ) 
    293          CASE ( 1 )     ;   CALL lbc_nfd( ptab, NAT_IN(:), SGN_IN(:) )   ! only 1 northern proc, no mpp 
     293         CASE ( 1 )     ;   CALL lbc_nfd( ptab, NAT_IN(:), SGN_IN(:) OPT_K(:) )   ! only 1 northern proc, no mpp 
    294294         CASE DEFAULT   ;   CALL mpp_nfd( ptab, NAT_IN(:), SGN_IN(:) OPT_K(:) )   ! for all northern procs. 
    295295         END SELECT 
Note: See TracChangeset for help on using the changeset viewer.