Changeset 13539


Ignore:
Timestamp:
2020-09-29T12:40:29+02:00 (4 months ago)
Author:
hadcv
Message:

#2365: Use assumed-shape declarations in wrapped functions

Location:
NEMO/branches/2020/dev_r13383_HPC-02_Daley_Tiling/src/OCE
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r13383_HPC-02_Daley_Tiling/src/OCE/TRA/eosbn2.F90

    r13515 r13539  
    234234      !!---------------------------------------------------------------------- 
    235235      INTEGER                                 , INTENT(in   ) ::   ktts, ktrd, ktdep 
    236       REAL(wp), DIMENSION(ST_2DT(ktts) ,jpk,jpts), INTENT(in   ) ::   pts   ! 1 : potential temperature  [Celsius] 
     236      REAL(wp), DIMENSION(ST_2DT(ktts) ,JPK,JPTS), INTENT(in   ) ::   pts   ! 1 : potential temperature  [Celsius] 
    237237      !                                                                  ! 2 : salinity               [psu] 
    238       REAL(wp), DIMENSION(ST_2DT(ktrd) ,jpk     ), INTENT(  out) ::   prd   ! in situ density            [-] 
    239       REAL(wp), DIMENSION(ST_2DT(ktdep),jpk     ), INTENT(in   ) ::   pdep  ! depth                      [m] 
     238      REAL(wp), DIMENSION(ST_2DT(ktrd) ,JPK     ), INTENT(  out) ::   prd   ! in situ density            [-] 
     239      REAL(wp), DIMENSION(ST_2DT(ktdep),JPK     ), INTENT(in   ) ::   pdep  ! depth                      [m] 
    240240      ! 
    241241      INTEGER  ::   ji, jj, jk                ! dummy loop indices 
     
    334334      !!---------------------------------------------------------------------- 
    335335      INTEGER                                  , INTENT(in   ) ::   ktts, ktrd, ktrhop, ktdep 
    336       REAL(wp), DIMENSION(ST_2DT(ktts)  ,jpk,jpts), INTENT(in   ) ::   pts    ! 1 : potential temperature  [Celsius] 
     336      REAL(wp), DIMENSION(ST_2DT(ktts)  ,JPK,JPTS), INTENT(in   ) ::   pts    ! 1 : potential temperature  [Celsius] 
    337337      !                                                                    ! 2 : salinity               [psu] 
    338       REAL(wp), DIMENSION(ST_2DT(ktrd)  ,jpk     ), INTENT(  out) ::   prd    ! in situ density            [-] 
    339       REAL(wp), DIMENSION(ST_2DT(ktrhop),jpk     ), INTENT(  out) ::   prhop  ! potential density (surface referenced) 
    340       REAL(wp), DIMENSION(ST_2DT(ktdep) ,jpk     ), INTENT(in   ) ::   pdep   ! depth                      [m] 
     338      REAL(wp), DIMENSION(ST_2DT(ktrd)  ,JPK     ), INTENT(  out) ::   prd    ! in situ density            [-] 
     339      REAL(wp), DIMENSION(ST_2DT(ktrhop),JPK     ), INTENT(  out) ::   prhop  ! potential density (surface referenced) 
     340      REAL(wp), DIMENSION(ST_2DT(ktdep) ,JPK     ), INTENT(in   ) ::   pdep   ! depth                      [m] 
    341341      ! 
    342342      INTEGER  ::   ji, jj, jk, jsmp             ! dummy loop indices 
     
    500500      !!---------------------------------------------------------------------- 
    501501      INTEGER                            , INTENT(in   ) ::   ktts, ktdep, ktrd 
    502       REAL(wp), DIMENSION(ST_2DT(ktts),jpts), INTENT(in   ) ::   pts   ! 1 : potential temperature  [Celsius] 
     502      REAL(wp), DIMENSION(ST_2DT(ktts),JPTS), INTENT(in   ) ::   pts   ! 1 : potential temperature  [Celsius] 
    503503      !                                                             ! 2 : salinity               [psu] 
    504504      REAL(wp), DIMENSION(ST_2DT(ktdep)    ), INTENT(in   ) ::   pdep  ! depth                      [m] 
     
    598598      INTEGER                                , INTENT(in   ) ::   Kmm   ! time level index 
    599599      INTEGER                                , INTENT(in   ) ::   ktts, ktab 
    600       REAL(wp), DIMENSION(ST_2DT(ktts),jpk,jpts), INTENT(in   ) ::   pts   ! pot. temperature & salinity 
    601       REAL(wp), DIMENSION(ST_2DT(ktab),jpk,jpts), INTENT(  out) ::   pab   ! thermal/haline expansion ratio 
     600      REAL(wp), DIMENSION(ST_2DT(ktts),JPK,JPTS), INTENT(in   ) ::   pts   ! pot. temperature & salinity 
     601      REAL(wp), DIMENSION(ST_2DT(ktab),JPK,JPTS), INTENT(  out) ::   pab   ! thermal/haline expansion ratio 
    602602      ! 
    603603      INTEGER  ::   ji, jj, jk                ! dummy loop indices 
     
    714714      INTEGER                            , INTENT(in   ) ::   Kmm   ! time level index 
    715715      INTEGER                            , INTENT(in   ) ::   ktts, ktdep, ktab 
    716       REAL(wp), DIMENSION(ST_2DT(ktts),jpts), INTENT(in   ) ::   pts    ! pot. temperature & salinity 
     716      REAL(wp), DIMENSION(ST_2DT(ktts),JPTS), INTENT(in   ) ::   pts    ! pot. temperature & salinity 
    717717      REAL(wp), DIMENSION(ST_2DT(ktdep)    ), INTENT(in   ) ::   pdep   ! depth                  [m] 
    718       REAL(wp), DIMENSION(ST_2DT(ktab),jpts), INTENT(  out) ::   pab    ! thermal/haline expansion ratio 
     718      REAL(wp), DIMENSION(ST_2DT(ktab),JPTS), INTENT(  out) ::   pab    ! thermal/haline expansion ratio 
    719719      ! 
    720720      INTEGER  ::   ji, jj, jk                ! dummy loop indices 
     
    937937      INTEGER                                , INTENT(in   ) ::  ktab, ktn2 
    938938      REAL(wp), DIMENSION(jpi,jpj,  jpk,jpts), INTENT(in   ) ::  pts   ! pot. temperature and salinity   [Celsius,psu] 
    939       REAL(wp), DIMENSION(ST_2DT(ktab),jpk,jpts), INTENT(in   ) ::  pab   ! thermal/haline expansion coef.  [Celsius-1,psu-1] 
    940       REAL(wp), DIMENSION(ST_2DT(ktn2),jpk     ), INTENT(  out) ::  pn2   ! Brunt-Vaisala frequency squared [1/s^2] 
     939      REAL(wp), DIMENSION(ST_2DT(ktab),JPK,JPTS), INTENT(in   ) ::  pab   ! thermal/haline expansion coef.  [Celsius-1,psu-1] 
     940      REAL(wp), DIMENSION(ST_2DT(ktn2),JPK     ), INTENT(  out) ::  pn2   ! Brunt-Vaisala frequency squared [1/s^2] 
    941941      ! 
    942942      INTEGER  ::   ji, jj, jk      ! dummy loop indices 
  • NEMO/branches/2020/dev_r13383_HPC-02_Daley_Tiling/src/OCE/TRA/traldf_iso.F90

    r13515 r13539  
    123123      INTEGER                                   , INTENT(in   ) ::   Kmm        ! ocean time level index 
    124124      INTEGER                                   , INTENT(in   ) ::   ktah, ktg, ktgi, ktt, ktt2, ktt_rhs 
    125       REAL(wp), DIMENSION(ST_2DT(ktah)   ,jpk)     , INTENT(in   ) ::   pahu, pahv ! eddy diffusivity at u- and v-points  [m2/s] 
    126       REAL(wp), DIMENSION(ST_2DT(ktg)        ,kjpt), INTENT(in   ) ::   pgu, pgv   ! tracer gradient at pstep levels 
    127       REAL(wp), DIMENSION(ST_2DT(ktgi)       ,kjpt), INTENT(in   ) ::   pgui, pgvi ! tracer gradient at top   levels 
    128       REAL(wp), DIMENSION(ST_2DT(ktt)    ,jpk,kjpt), INTENT(in   ) ::   pt         ! tracer (kpass=1) or laplacian of tracer (kpass=2) 
    129       REAL(wp), DIMENSION(ST_2DT(ktt2)   ,jpk,kjpt), INTENT(in   ) ::   pt2        ! tracer (only used in kpass=2) 
    130       REAL(wp), DIMENSION(ST_2DT(ktt_rhs),jpk,kjpt), INTENT(inout) ::   pt_rhs     ! tracer trend 
     125      REAL(wp), DIMENSION(ST_2DT(ktah)   ,JPK)     , INTENT(in   ) ::   pahu, pahv ! eddy diffusivity at u- and v-points  [m2/s] 
     126      REAL(wp), DIMENSION(ST_2DT(ktg)        ,KJPT), INTENT(in   ) ::   pgu, pgv   ! tracer gradient at pstep levels 
     127      REAL(wp), DIMENSION(ST_2DT(ktgi)       ,KJPT), INTENT(in   ) ::   pgui, pgvi ! tracer gradient at top   levels 
     128      REAL(wp), DIMENSION(ST_2DT(ktt)    ,JPK,KJPT), INTENT(in   ) ::   pt         ! tracer (kpass=1) or laplacian of tracer (kpass=2) 
     129      REAL(wp), DIMENSION(ST_2DT(ktt2)   ,JPK,KJPT), INTENT(in   ) ::   pt2        ! tracer (only used in kpass=2) 
     130      REAL(wp), DIMENSION(ST_2DT(ktt_rhs),JPK,KJPT), INTENT(inout) ::   pt_rhs     ! tracer trend 
    131131      ! 
    132132      INTEGER  ::  ji, jj, jk, jn   ! dummy loop indices 
  • NEMO/branches/2020/dev_r13383_HPC-02_Daley_Tiling/src/OCE/TRA/traldf_lap_blp.F90

    r13515 r13539  
    9696      INTEGER                              , INTENT(in   ) ::   Kmm        ! ocean time level index 
    9797      INTEGER                              , INTENT(in   ) ::   ktah, ktg, ktgi, ktt, ktt_rhs 
    98       REAL(wp), DIMENSION(ST_2DT(ktah),   jpk)     , INTENT(in   ) ::   pahu, pahv ! eddy diffusivity at u- and v-points  [m2/s] 
    99       REAL(wp), DIMENSION(ST_2DT(ktg),        kjpt), INTENT(in   ) ::   pgu, pgv   ! tracer gradient at pstep levels 
    100       REAL(wp), DIMENSION(ST_2DT(ktgi),       kjpt), INTENT(in   ) ::   pgui, pgvi ! tracer gradient at top   levels 
    101       REAL(wp), DIMENSION(ST_2DT(ktt),    jpk,kjpt), INTENT(in   ) ::   pt         ! before tracer fields 
    102       REAL(wp), DIMENSION(ST_2DT(ktt_rhs),jpk,kjpt), INTENT(inout) ::   pt_rhs     ! tracer trend 
     98      REAL(wp), DIMENSION(ST_2DT(ktah),   JPK)     , INTENT(in   ) ::   pahu, pahv ! eddy diffusivity at u- and v-points  [m2/s] 
     99      REAL(wp), DIMENSION(ST_2DT(ktg),        KJPT), INTENT(in   ) ::   pgu, pgv   ! tracer gradient at pstep levels 
     100      REAL(wp), DIMENSION(ST_2DT(ktgi),       KJPT), INTENT(in   ) ::   pgui, pgvi ! tracer gradient at top   levels 
     101      REAL(wp), DIMENSION(ST_2DT(ktt),    JPK,KJPT), INTENT(in   ) ::   pt         ! before tracer fields 
     102      REAL(wp), DIMENSION(ST_2DT(ktt_rhs),JPK,KJPT), INTENT(inout) ::   pt_rhs     ! tracer trend 
    103103      ! 
    104104      INTEGER  ::   ji, jj, jk, jn   ! dummy loop indices 
  • NEMO/branches/2020/dev_r13383_HPC-02_Daley_Tiling/src/OCE/TRA/traldf_triad.F90

    r13515 r13539  
    102102      INTEGER                              , INTENT(in)    ::   Kmm        ! ocean time level indices 
    103103      INTEGER                              , INTENT(in   ) ::   ktah, ktg, ktgi, ktt, ktt2, ktt_rhs 
    104       REAL(wp), DIMENSION(ST_2DT(ktah),   jpk)     , INTENT(in   ) ::   pahu, pahv ! eddy diffusivity at u- and v-points  [m2/s] 
    105       REAL(wp), DIMENSION(ST_2DT(ktg),        kjpt), INTENT(in   ) ::   pgu , pgv  ! tracer gradient at pstep levels 
    106       REAL(wp), DIMENSION(ST_2DT(ktgi),       kjpt), INTENT(in   ) ::   pgui, pgvi ! tracer gradient at top   levels 
    107       REAL(wp), DIMENSION(ST_2DT(ktt),    jpk,kjpt), INTENT(in   ) ::   pt         ! tracer (kpass=1) or laplacian of tracer (kpass=2) 
    108       REAL(wp), DIMENSION(ST_2DT(ktt2),   jpk,kjpt), INTENT(in   ) ::   pt2        ! tracer (only used in kpass=2) 
    109       REAL(wp), DIMENSION(ST_2DT(ktt_rhs),jpk,kjpt), INTENT(inout) ::   pt_rhs     ! tracer trend 
     104      REAL(wp), DIMENSION(ST_2DT(ktah),   JPK)     , INTENT(in   ) ::   pahu, pahv ! eddy diffusivity at u- and v-points  [m2/s] 
     105      REAL(wp), DIMENSION(ST_2DT(ktg),        KJPT), INTENT(in   ) ::   pgu , pgv  ! tracer gradient at pstep levels 
     106      REAL(wp), DIMENSION(ST_2DT(ktgi),       KJPT), INTENT(in   ) ::   pgui, pgvi ! tracer gradient at top   levels 
     107      REAL(wp), DIMENSION(ST_2DT(ktt),    JPK,KJPT), INTENT(in   ) ::   pt         ! tracer (kpass=1) or laplacian of tracer (kpass=2) 
     108      REAL(wp), DIMENSION(ST_2DT(ktt2),   JPK,KJPT), INTENT(in   ) ::   pt2        ! tracer (only used in kpass=2) 
     109      REAL(wp), DIMENSION(ST_2DT(ktt_rhs),JPK,KJPT), INTENT(inout) ::   pt_rhs     ! tracer trend 
    110110      ! 
    111111      INTEGER  ::  ji, jj, jk, jn   ! dummy loop indices 
  • NEMO/branches/2020/dev_r13383_HPC-02_Daley_Tiling/src/OCE/TRA/zpshde.F90

    r13515 r13539  
    112112      INTEGER                                , INTENT(in   )           ::  kjpt        ! number of tracers 
    113113      INTEGER                                , INTENT(in   )           ::  ktta, ktgt, ktrd, ktgr 
    114       REAL(wp), DIMENSION(ST_2DT(ktta),jpk,kjpt), INTENT(in   )           ::  pta         ! 4D tracers fields 
    115       REAL(wp), DIMENSION(ST_2DT(ktgt)    ,kjpt), INTENT(  out)           ::  pgtu, pgtv  ! hor. grad. of ptra at u- & v-pts 
    116       REAL(wp), DIMENSION(ST_2DT(ktrd),jpk     ), INTENT(in   ), OPTIONAL ::  prd         ! 3D density anomaly fields 
     114      REAL(wp), DIMENSION(ST_2DT(ktta),JPK,KJPT), INTENT(in   )           ::  pta         ! 4D tracers fields 
     115      REAL(wp), DIMENSION(ST_2DT(ktgt)    ,KJPT), INTENT(  out)           ::  pgtu, pgtv  ! hor. grad. of ptra at u- & v-pts 
     116      REAL(wp), DIMENSION(ST_2DT(ktrd),JPK     ), INTENT(in   ), OPTIONAL ::  prd         ! 3D density anomaly fields 
    117117      REAL(wp), DIMENSION(ST_2DT(ktgr)         ), INTENT(  out), OPTIONAL ::  pgru, pgrv  ! hor. grad of prd at u- & v-pts (bottom) 
    118118      ! 
     
    289289      INTEGER                                , INTENT(in   )           ::  kjpt         ! number of tracers 
    290290      INTEGER                                , INTENT(in   )           ::  ktta, ktgt, ktgti, ktrd, ktgr, ktgri 
    291       REAL(wp), DIMENSION(ST_2DT(ktta),jpk,kjpt), INTENT(in   )           ::  pta          ! 4D tracers fields 
    292       REAL(wp), DIMENSION(ST_2DT(ktgt)    ,kjpt), INTENT(  out)           ::  pgtu, pgtv   ! hor. grad. of ptra at u- & v-pts 
    293       REAL(wp), DIMENSION(ST_2DT(ktgti)   ,kjpt), INTENT(  out)           ::  pgtui, pgtvi ! hor. grad. of stra at u- & v-pts (ISF) 
    294       REAL(wp), DIMENSION(ST_2DT(ktrd),jpk     ), INTENT(in   ), OPTIONAL ::  prd          ! 3D density anomaly fields 
     291      REAL(wp), DIMENSION(ST_2DT(ktta),JPK,KJPT), INTENT(in   )           ::  pta          ! 4D tracers fields 
     292      REAL(wp), DIMENSION(ST_2DT(ktgt)    ,KJPT), INTENT(  out)           ::  pgtu, pgtv   ! hor. grad. of ptra at u- & v-pts 
     293      REAL(wp), DIMENSION(ST_2DT(ktgti)   ,KJPT), INTENT(  out)           ::  pgtui, pgtvi ! hor. grad. of stra at u- & v-pts (ISF) 
     294      REAL(wp), DIMENSION(ST_2DT(ktrd),JPK     ), INTENT(in   ), OPTIONAL ::  prd          ! 3D density anomaly fields 
    295295      REAL(wp), DIMENSION(ST_2DT(ktgr)         ), INTENT(  out), OPTIONAL ::  pgru, pgrv   ! hor. grad of prd at u- & v-pts (bottom) 
    296296      REAL(wp), DIMENSION(ST_2DT(ktgri)        ), INTENT(  out), OPTIONAL ::  pgrui, pgrvi ! hor. grad of prd at u- & v-pts (top) 
  • NEMO/branches/2020/dev_r13383_HPC-02_Daley_Tiling/src/OCE/do_loop_substitute.h90

    r13514 r13539  
    6363#define ST_1Dj(H) ntsj-H:ntej+H 
    6464#define ST_2D(H) ST_1Di(H),ST_1Dj(H) 
    65 #define ST_1DTi(T) (ntsi-nn_hls-1)*T+1:(ntei+nn_hls-jpi)*T+jpi 
    66 #define ST_1DTj(T) (ntsj-nn_hls-1)*T+1:(ntej+nn_hls-jpj)*T+jpj 
     65#define ST_1DTi(T) (ntsi-nn_hls-1)*T+1: 
     66#define ST_1DTj(T) (ntsj-nn_hls-1)*T+1: 
    6767#define ST_2DT(T) ST_1DTi(T),ST_1DTj(T) 
     68#define JPK  : 
     69#define JPTS  : 
     70#define KJPT  : 
    6871 
    6972#define DO_3D(B, T, L, R, ks, ke) DO jk = ks, ke   ;   DO_2D(B, T, L, R) 
Note: See TracChangeset for help on using the changeset viewer.