Changeset 4409


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

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

Location:
branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC
Files:
32 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90

    r3849 r4409  
    146146!! DCSE_NEMO: work around deficiency in ftrans 
    147147!     REAL(wp) , INTENT(in), DIMENSION(jpi,jpj,jpk) ::   pva   ! mask flux array at V-point 
    148       REAL(wp) , INTENT(in)    ::   pva(jpi,jpj,jpk)           ! mask flux array at V-point 
     148      REAL(wp) , INTENT(in)    ::   pva(jpi,jpj,jpkorig)           ! mask flux array at V-point 
    149149      !! 
    150150      INTEGER                  ::   ji, jj, jk   ! dummy loop arguments 
     
    237237!! DCSE_NEMO: work around a deficiency in ftrans 
    238238!     REAL(wp) , INTENT(in), DIMENSION(jpi,jpj,jpk)           ::   pva    ! mask flux array at V-point 
    239       REAL(wp) , INTENT(in)             ::   pva(jpi,jpj,jpk)             ! mask flux array at V-point 
     239      REAL(wp) , INTENT(in)             ::   pva(jpi,jpj,jpkorig)             ! mask flux array at V-point 
    240240      REAL(wp) , INTENT(in), DIMENSION(jpi,jpj)    , OPTIONAL ::   pmsk   ! Optional 2D basin mask 
    241241      !! 
     
    317317!! DCSE_NEMO: work around a deficiency in ftrans 
    318318!     REAL(wp) , INTENT(in), DIMENSION(jpi,jpj,jpk) ::   pta    ! tracer flux array at T-point 
    319       REAL(wp) , INTENT(in)             :: pta(jpi,jpj,jpk)     ! tracer flux array at T-point 
     319      REAL(wp) , INTENT(in)             :: pta(jpi,jpj,jpkorig)     ! tracer flux array at T-point 
    320320      REAL(wp) , INTENT(in), DIMENSION(jpi,jpj)     ::   pmsk   ! Optional 2D basin mask 
    321321      !! 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90

    r4405 r4409  
    807807                                    STATUS=ierr) 
    808808      IF( ierr == 0)THEN 
    809          READ(lstr,FMT="(I)",IOSTAT=ierr) lztrim 
     809         READ(lstr,FMT="(I10)",IOSTAT=ierr) lztrim 
    810810         IF(ierr == 0)THEN 
    811811            IF (lztrim == 0) domtrim_z = .FALSE. 
     
    817817      ! Compute and store the deepest bottom level of any grid-type at each grid 
    818818      ! point. For use in removing data below ocean floor from compute loops 
     819      jpkorig = jpk 
    819820      IF( domtrim_z ) THEN 
    820821         mbkmax(:,:) = MAX(mbkt(:,:)+1, mbku(:,:), mbkv(:,:)) 
     
    823824         WRITE(*,*) narea,': ARPDBG: shallowest pt and jpkf = ', & 
    824825                    MINVAL(mbkmax(:,:)), jpkf 
     826         ! Play rather fast and loose and just change the value of jpk 
     827         ! here... 
     828         jpk = jpkf 
     829         jpkm1 = jpk - 1 
    825830      ELSE 
    826831         WRITE(*,*) narea,': ARPDBG: NOT trimming domain in z' 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/DTA/dtasal.F90

    r3211 r4409  
    9696 
    9797                                   ! Allocate salinity data array  
    98                                 ALLOCATE( s_dta(jpi,jpj,jpk)           , STAT=ierr  ) 
     98                                ALLOCATE( s_dta(jpi,jpj,jpkorig)           , STAT=ierr  ) 
    9999         IF( ierr > 0              )   CALL ctl_stop( 'STOP', 'dta_sal: unable to allocate s_dta array' ) 
    100100                                   ! Allocate sf_tem structure 
    101101                                ierr2 = 0 
    102                                 ALLOCATE( sf_sal(1)                    , STAT=ierr0 ) 
    103                                 ALLOCATE( sf_sal(1)%fnow(jpi,jpj,jpk)  , STAT=ierr1 ) 
    104          IF( sn_sal%ln_tint )   ALLOCATE( sf_sal(1)%fdta(jpi,jpj,jpk,2), STAT=ierr2 ) 
     102                                ALLOCATE( sf_sal(1)                        , STAT=ierr0 ) 
     103                                ALLOCATE( sf_sal(1)%fnow(jpi,jpj,jpkorig)  , STAT=ierr1 ) 
     104         IF( sn_sal%ln_tint )   ALLOCATE( sf_sal(1)%fdta(jpi,jpj,jpkorig,2), STAT=ierr2 ) 
    105105         IF( ierr0+ierr1+ierr2 > 0 )   CALL ctl_stop( 'STOP', 'dta_sal: unable to allocate sf_sal structure' ) 
    106106         !                         ! fill sf_sal with sn_sal and control print 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/DTA/dtatem.F90

    r3211 r4409  
    103103 
    104104                                   ! Allocate temperature data array  
    105                                 ALLOCATE( t_dta(jpi,jpj,jpk)           , STAT=ierr  ) 
     105                                ALLOCATE( t_dta(jpi,jpj,jpkorig)           , STAT=ierr  ) 
    106106         IF( ierr > 0              )   CALL ctl_stop( 'STOP', 'dta_tem: unable to allocate t_dta array' ) 
    107107                                   ! Allocate sf_tem structure 
    108108                                ierr2 = 0 
    109                                 ALLOCATE( sf_tem(1)                    , STAT=ierr0 ) 
    110                                 ALLOCATE( sf_tem(1)%fnow(jpi,jpj,jpk)  , STAT=ierr1 ) 
    111          IF( sn_tem%ln_tint )   ALLOCATE( sf_tem(1)%fdta(jpi,jpj,jpk,2), STAT=ierr2 ) 
     109                                ALLOCATE( sf_tem(1)                        , STAT=ierr0 ) 
     110                                ALLOCATE( sf_tem(1)%fnow(jpi,jpj,jpkorig)  , STAT=ierr1 ) 
     111         IF( sn_tem%ln_tint )   ALLOCATE( sf_tem(1)%fdta(jpi,jpj,jpkorig,2), STAT=ierr2 ) 
    112112         IF( ierr0+ierr1+ierr2 > 0 )   CALL ctl_stop( 'STOP', 'dta_tem: unable to allocate sf_tem structure' ) 
    113113         !                         ! fill sf_tem with sn_tem and control print 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_bilapg.F90

    r3432 r4409  
    211211!     REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in   ) ::   pu , pv    ! 1st call: before horizontal velocity  
    212212      !                                                               ! 2nd call: ahm x these fields 
    213       REAL(wp), INTENT(in   ) ::   pu(jpi,jpj,jpk) , pv(jpi,jpj,jpk) 
     213      REAL(wp), INTENT(in   ) ::   pu(jpi,jpj,jpkorig) , pv(jpi,jpj,jpkorig) 
    214214!     REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(  out) ::   plu, plv   ! partial harmonic operator applied to 
    215215      !                                                               ! pu and pv (all the components except 
    216216      !                                                               ! second order vertical derivative term) 
    217       REAL(wp), INTENT(  out) ::   plu(jpi,jpj,jpk), plv(jpi,jpj,jpk) ! partial harmonic operator applied to 
     217      REAL(wp), INTENT(  out) ::   plu(jpi,jpj,jpkorig), plv(jpi,jpj,jpkorig) ! partial harmonic operator applied to 
    218218      INTEGER                         , INTENT(in   ) ::   kahm       ! =1 1st call ; =2 2nd call 
    219219      ! 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90

    r3211 r4409  
    223223!     REAL(wp), INTENT(inout), DIMENSION(jpi,jpj,jpk) ::   pua    ! total u-trend 
    224224!     REAL(wp), INTENT(inout), DIMENSION(jpi,jpj,jpk) ::   pva    ! total v-trend 
    225       REAL(wp), INTENT(inout) ::   pua(jpi,jpj,jpk)    ! total u-trend 
    226       REAL(wp), INTENT(inout) ::   pva(jpi,jpj,jpk)    ! total v-trend 
     225      REAL(wp), INTENT(inout) ::   pua(jpi,jpj,jpkorig)    ! total u-trend 
     226      REAL(wp), INTENT(inout) ::   pva(jpi,jpj,jpkorig)    ! total v-trend 
    227227      ! 
    228228      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
     
    459459!     REAL(wp), INTENT(inout), DIMENSION(jpi,jpj,jpk) ::   pua    ! total u-trend 
    460460!     REAL(wp), INTENT(inout), DIMENSION(jpi,jpj,jpk) ::   pva    ! total v-trend 
    461       REAL(wp), INTENT(inout) ::   pua(jpi,jpj,jpk)    ! total u-trend 
    462       REAL(wp), INTENT(inout) ::   pva(jpi,jpj,jpk)    ! total v-trend 
     461      REAL(wp), INTENT(inout) ::   pua(jpi,jpj,jpkorig)    ! total u-trend 
     462      REAL(wp), INTENT(inout) ::   pva(jpi,jpj,jpkorig)    ! total v-trend 
    463463      ! 
    464464      INTEGER  ::   ji, jj, jk           ! dummy loop indices 
     
    582582!     REAL(wp), INTENT(inout), DIMENSION(jpi,jpj,jpk) ::   pua    ! total u-trend 
    583583!     REAL(wp), INTENT(inout), DIMENSION(jpi,jpj,jpk) ::   pva    ! total v-trend 
    584       REAL(wp), INTENT(inout) ::   pua(jpi,jpj,jpk)    ! total u-trend 
    585       REAL(wp), INTENT(inout) ::   pva(jpi,jpj,jpk)   ! total v-trend 
     584      REAL(wp), INTENT(inout) ::   pua(jpi,jpj,jpkorig)    ! total u-trend 
     585      REAL(wp), INTENT(inout) ::   pva(jpi,jpj,jpkorig)   ! total v-trend 
    586586      !! 
    587587      INTEGER  ::   ji, jj, jk         ! dummy loop indices 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90

    r3432 r4409  
    863863            ELSEIF( PRESENT(pv_r3d) .AND. idom /= jpdom_unknown ) THEN 
    864864               ! this if could be simplified with the new lbc_lnk that works with any size of the 3rd dimension 
    865                IF( icnt(3) == jpk ) THEN 
     865               IF( icnt(3) == jpkorig ) THEN 
    866866                  CALL lbc_lnk( pv_r3d,'Z',-999.,'no0' ) 
    867867               ELSE   ! put some arbitrary value (a call to lbc_lnk will be done later...) 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/LBC/exchmod.F90

    r4400 r4409  
    11MODULE exchmod 
    2   USE par_oce, ONLY: wp, jpiglo, jpjglo, jpkdta, jpi, jpj, jpk 
     2  USE par_oce, ONLY: wp, jpiglo, jpjglo, jpkdta, jpi, jpj, jpk, jpkorig 
    33#if defined key_mpp_mpi 
    44  USE mpi ! For better interface checking 
     
    359359       ! we can limit the length of our z loops to the 
    360360       ! no. of levels above the ocean floor. 
    361        IF(kdim1 == jpk)kdim1 = jpkf 
     361       IF(kdim1 == jpkorig)kdim1 = jpkf 
    362362    ELSEIF ( PRESENT(ib3) ) THEN 
    363363#if defined key_z_first 
     
    27562756      !!---------------------------------------------------------------------- 
    27572757!FTRANS ptab3d :I :I :z 
    2758       REAL(wp),                         INTENT(inout) ::   ptab3d(jpi,jpj,jpk) 
     2758      REAL(wp),                         INTENT(inout) ::   ptab3d(:,:,:) 
    27592759      CHARACTER(len=1)                , INTENT(in   ) ::   cd_type  ! define the nature of ptab array grid-points 
    27602760      !                                                             ! = T , U , V , F , W points 
     
    37573757             pack_patches3r: DO ipatch=1,npatchsend(isend,1) 
    37583758 
     3759                IF(nzsendp(ipatch,isend,1) > SIZE(b3,3))THEN 
     3760                   CALL MPI_Abort(mpi_comm_opa,-1,ierr) 
     3761                   CALL ctl_stop('STOP','exchs_generic: b3 has wrong z dimension') 
     3762                END IF 
     3763 
    37593764                jstart = jsrcsendp(ipatch,isend,1) 
    37603765                istart = isrcsendp(ipatch,isend,1) 
     
    39143919                istart = idesrecvp(ipatch,irecv,1)!+nhalo 
    39153920                iend   = istart+nxrecvp(ipatch,irecv,1)-1 
     3921 
     3922                IF(nzrecvp(ipatch,irecv,1) > SIZE(b3,3))THEN 
     3923                   CALL MPI_Abort(mpi_comm_opa,-1,ierr) 
     3924                   CALL ctl_stop('STOP', & 
     3925                                 'exchs_generic: wrong z dim for b3 in recv') 
     3926                END IF 
     3927 
    39163928#if defined key_z_first 
    39173929                DO j=jstart, jend, 1 
     
    43974409    IF(.not. ALLOCATED(ztab))THEN 
    43984410 
    4399        ALLOCATE(ztab(jpiglo,maxExchItems*ijpj,jpk),                 & 
    4400                 iztab(jpiglo,maxExchItems*ijpj,jpk),                & 
    4401                 znorthgloio(nwidthmax,maxExchItems*ijpj,jpk,jpni),  & 
    4402                 znorthloc(nwidthmax,maxExchItems*ijpj,jpk),         & 
    4403                 iznorthgloio(nwidthmax,maxExchItems*ijpj,jpk,jpni), & 
    4404                 iznorthloc(nwidthmax,maxExchItems*ijpj,jpk),        & 
     4411       ALLOCATE(ztab(jpiglo,maxExchItems*ijpj,jpkorig),                 & 
     4412                iztab(jpiglo,maxExchItems*ijpj,jpkorig),                & 
     4413                znorthgloio(nwidthmax,maxExchItems*ijpj,jpkorig,jpni),  & 
     4414                znorthloc(nwidthmax,maxExchItems*ijpj,jpkorig),         & 
     4415                iznorthgloio(nwidthmax,maxExchItems*ijpj,jpkorig,jpni), & 
     4416                iznorthloc(nwidthmax,maxExchItems*ijpj,jpkorig),        & 
    44054417                STAT=ierr) 
    44064418       IF(ierr .ne. 0)THEN 
     
    59305942     CHARACTER(len=1), INTENT( in ) :: cd_type ! nature of pt3d grid-points 
    59315943     !                                         ! = T,  U, V, F or W gridp'ts 
    5932      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT( inout ) ::   & 
     5944     REAL(wp), DIMENSION(:,:,:), INTENT( inout ) ::   & 
    59335945          pt3d          ! 3D array on which the boundary condition is applied 
    59345946     REAL(wp), INTENT( in ) ::   & 
     
    59625974     IF(.not. ALLOCATED(ztab))THEN 
    59635975 
    5964         ALLOCATE(ztab(jpiglo,ijpj,jpk),                & 
    5965                  znorthgloio(nwidthmax,ijpj,jpk,jpni), & 
    5966                  znorthloc(nwidthmax,ijpj,jpk),        & 
     5976        ALLOCATE(ztab(jpiglo,ijpj,jpkorig),                & 
     5977                 znorthgloio(nwidthmax,ijpj,jpkorig,jpni), & 
     5978                 znorthloc(nwidthmax,ijpj,jpkorig),        & 
    59675979                 STAT=ierr) 
    59685980        IF(ierr .ne. 0)THEN 
     
    60066018       not done : compiler error 
    60076019#elif defined key_mpp_mpi 
    6008        itaille=nwidthmax*jpk*ijpj 
     6020       itaille=nwidthmax*jpkorig*ijpj 
    60096021       CALL MPI_GATHER(znorthloc,itaille,MPI_DOUBLE_PRECISION,   & 
    60106022                       znorthgloio,itaille,MPI_DOUBLE_PRECISION, & 
     
    63166328#elif key_mpp_mpi 
    63176329    IF ( npolj /= 0 ) THEN 
    6318        itaille=nwidthmax*jpk*ijpj 
     6330       itaille=nwidthmax*jpkorig*ijpj 
    63196331       CALL MPI_SCATTER(znorthgloio,itaille,MPI_DOUBLE_PRECISION, & 
    63206332                        znorthloc,  itaille,MPI_DOUBLE_PRECISION, & 
     
    63756387     CHARACTER(len=1), INTENT( in ) :: cd_type ! nature of pt3d grid-points 
    63766388     !                                         ! = T,  U, V, F or W gridp'ts 
    6377      INTEGER, DIMENSION(jpi,jpj,jpk), INTENT( inout ) ::   & 
     6389     INTEGER, DIMENSION(:,:,:), INTENT( inout ) ::   & 
    63786390          ib3          ! 3D array on which the boundary condition is applied 
    63796391     INTEGER, INTENT( in ) ::   & 
     
    64086420     IF(.not. ALLOCATED(ztab))THEN 
    64096421 
    6410         ALLOCATE(ztab(jpiglo,ijpj,jpk),                & 
    6411                  znorthgloio(nwidthmax,ijpj,jpk,jpni), & 
    6412                  znorthloc(nwidthmax,ijpj,jpk),        & 
     6422        ALLOCATE(ztab(jpiglo,ijpj,jpkorig),                & 
     6423                 znorthgloio(nwidthmax,ijpj,jpkorig,jpni), & 
     6424                 znorthloc(nwidthmax,ijpj,jpkorig),        & 
    64136425                 STAT=ierr) 
    64146426        IF(ierr .ne. 0)THEN 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/LBC/exchtestmod.F90

    r4400 r4409  
    6767 
    6868  SUBROUTINE mpp_test_comms(depth, lmaxdepth) 
    69     USE par_oce,      ONLY: jpi, jpj, jpk, jpreci 
     69    USE par_oce,      ONLY: jpi, jpj, jpk, jpkorig, jpreci 
    7070    USE par_kind,     ONLY: wp 
    7171    USE mapcomm_mod,  ONLY: Iminus, Iplus, Jminus, Jplus, NONE 
     
    9797    test_failed = .FALSE. 
    9898 
    99     ALLOCATE(r3d(jpi,jpj,jpk), r3d_2(jpi,jpj,jpk), r3d_3(jpi,jpj,jpk), & 
     99    ALLOCATE(r3d(jpi,jpj,jpkorig), r3d_2(jpi,jpj,jpkorig), r3d_3(jpi,jpj,jpkorig), & 
    100100             r2d(jpi,jpj), r2d_2(jpi,jpj), Stat=ierr) 
    101101 
     
    242242    DEALLOCATE(r3d, r3d_2, r3d_3, r2d) 
    243243    ! and allocate that for integer-array tests 
    244     ALLOCATE(i3d(jpi,jpj,jpk), i3d_2(jpi,jpj,jpk), & 
     244    ALLOCATE(i3d(jpi,jpj,jpkorig), i3d_2(jpi,jpj,jpkorig), & 
    245245             i2d(jpi,jpj), i2d_2(jpi,jpj), Stat=ierr) 
    246246 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/LBC/lbclnk.F90

    r3837 r4409  
    9696! DCSE_NEMO: work around a deficiency in ftrans 
    9797!     REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   pt3d1   , pt3d2      ! 3D array on which the lbc is applied 
    98       REAL(wp), INTENT(inout)   ::   pt3d1(jpi,jpj,jpk)   , pt3d2(jpi,jpj,jpk) 
     98      REAL(wp), INTENT(inout)   ::   pt3d1(jpi,jpj,jpkorig), pt3d2(jpi,jpj,jpkorig) 
    9999      REAL(wp), INTENT(in   )   ::   psgn                 ! control of the sign  
    100100      !!---------------------------------------------------------------------- 
     
    123123!! DCSE_NEMO: work around a deficiency in ftrans 
    124124!     REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout)           ::   pt3d      ! 3D array on which the lbc is applied 
    125       REAL(wp), INTENT(inout)                                   ::   pt3d(jpi,jpj,jpk) 
     125      REAL(wp), INTENT(inout)                                   ::   pt3d(jpi,jpj,jpkorig) 
    126126      REAL(wp)                        , INTENT(in   )           ::   psgn      ! control of the sign  
    127127      CHARACTER(len=3)                , INTENT(in   ), OPTIONAL ::   cd_mpp    ! MPP only (here do nothing) 
  • 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 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn.F90

    r3211 r4409  
    171171      REAL(wp), INTENT(in   )                 ::   pwam       ! width of inflection 
    172172      REAL(wp), INTENT(in   )                 ::   pbot       ! bottom value (0<pbot<= 1) 
    173       REAL(wp), INTENT(in   ), DIMENSION(jpk) ::   pdep       ! depth of the gridpoint (T, U, V, F) 
    174       REAL(wp), INTENT(inout), DIMENSION(jpk) ::   pah        ! adimensional vertical profile 
     173      REAL(wp), INTENT(in   ), DIMENSION(jpkorig) ::   pdep       ! depth of the gridpoint (T, U, V, F) 
     174      REAL(wp), INTENT(inout), DIMENSION(jpkorig) ::   pah        ! adimensional vertical profile 
    175175      !! 
    176176      INTEGER  ::   jk           ! dummy loop indices 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/LDF/ldfslp.F90

    r4402 r4409  
    928928       
    929929      IF( ln_traldf_grif ) THEN        ! Griffies operator : triad of slopes 
    930          ALLOCATE( triadi_g(jpi,jpj,jpk,0:1,0:1) , triadj_g(jpi,jpj,jpk,0:1,0:1) , wslp2(jpi,jpj,jpk) , STAT=ierr ) 
    931          ALLOCATE( triadi  (jpi,jpj,jpk,0:1,0:1) , triadj  (jpi,jpj,jpk,0:1,0:1)                      , STAT=ierr ) 
     930         ALLOCATE(triadi_g(jpi,jpj,jpkorig,0:1,0:1), triadj_g(jpi,jpj,jpkorig,0:1,0:1), & 
     931                  wslp2(jpi,jpj,jpkorig) , STAT=ierr) 
     932         ALLOCATE(triadi  (jpi,jpj,jpkorig,0:1,0:1), triadj  (jpi,jpj,jpkorig,0:1,0:1), & 
     933                  STAT=ierr) 
    932934         IF( ierr > 0             )   CALL ctl_stop( 'STOP', 'ldf_slp_init : unable to allocate Griffies operator slope' ) 
    933935         IF( ldf_slp_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'ldf_slp_init : unable to allocate workspace arrays' ) 
     
    939941         ! 
    940942      ELSE                             ! Madec operator : slopes at u-, v-, and w-points 
    941          ALLOCATE( uslp(jpi,jpj,jpk) , vslp(jpi,jpj,jpk) , wslpi(jpi,jpj,jpk) , wslpj(jpi,jpj,jpk) ,                & 
    942             &   omlmask(jpi,jpj,jpk) , uslpml(jpi,jpj)   , vslpml(jpi,jpj)    , wslpiml(jpi,jpj)   , wslpjml(jpi,jpj) , STAT=ierr ) 
     943         ALLOCATE(uslp(jpi,jpj,jpkorig), vslp(jpi,jpj,jpkorig),   & 
     944                  wslpi(jpi,jpj,jpkorig), wslpj(jpi,jpj,jpkorig), & 
     945                  omlmask(jpi,jpj,jpkorig), & 
     946                  uslpml(jpi,jpj), vslpml(jpi,jpj), wslpiml(jpi,jpj), wslpjml(jpi,jpj), STAT=ierr) 
    943947         IF( ierr > 0 )   CALL ctl_stop( 'STOP', 'ldf_slp_init : unable to allocate Madec operator slope ' ) 
    944948 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/eosbn2.F90

    r3211 r4409  
    297297!     REAL(wp), DIMENSION(jpi,jpj,jpk     ), INTENT(  out) ::   prd    ! in situ density            [-] 
    298298!     REAL(wp), DIMENSION(jpi,jpj,jpk     ), INTENT(  out) ::   prhop  ! potential density (surface referenced) 
    299       REAL(wp), INTENT(in   ) ::   pts(jpi,jpj,jpk,jpts)   ! 1 : potential temperature  [Celcius] 
     299      REAL(wp), INTENT(in   ) ::   pts(jpi,jpj,jpkorig,jpts)   ! 1 : potential temperature  [Celcius] 
    300300      !                                                    ! 2 : salinity               [psu] 
    301       REAL(wp), INTENT(  out) ::   prd(jpi,jpj,jpk)        ! in situ density            [-] 
    302       REAL(wp), INTENT(  out) ::   prhop(jpi,jpj,jpk)      ! potential density (surface referenced) 
     301      REAL(wp), INTENT(  out) ::   prd(jpi,jpj,jpkorig)        ! in situ density            [-] 
     302      REAL(wp), INTENT(  out) ::   prhop(jpi,jpj,jpkorig)      ! potential density (surface referenced) 
    303303      ! 
    304304      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
     
    599599!     REAL(wp), DIMENSION(jpi,jpj,jpk)     , INTENT(  out) ::   pn2   ! Brunt-Vaisala frequency    [s-1] 
    600600 
    601       REAL(wp), INTENT(in   ) ::   pts(jpi,jpj,jpk,jpts)   ! 1 : potential temperature  [Celcius] 
     601      REAL(wp), INTENT(in   ) ::   pts(jpi,jpj,jpkorig,jpts)   ! 1 : potential temperature  [Celcius] 
    602602      !                                                    ! 2 : salinity               [psu] 
    603       REAL(wp), INTENT(  out) ::   pn2(jpi,jpj,jpk)        ! Brunt-Vaisala frequency    [s-1] 
     603      REAL(wp), INTENT(  out) ::   pn2(jpi,jpj,jpkorig)        ! Brunt-Vaisala frequency    [s-1] 
    604604      !! 
    605605      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
     
    764764!     REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(in   ) ::   pts            ! pot. temperature & salinity 
    765765!     REAL(wp), DIMENSION(jpi,jpj,jpk)     , INTENT(  out) ::   palph, pbeta   ! thermal & haline expansion coeff. 
    766       REAL(wp), INTENT(in   ) ::   pts(jpi,jpj,jpk,jpts)            ! pot. temperature & salinity 
    767       REAL(wp), INTENT(  out) ::   palph(jpi,jpj,jpk)               ! thermal expansion coeff. 
    768       REAL(wp), INTENT(  out) ::   pbeta(jpi,jpj,jpk)               ! haline  expansion coeff. 
     766      REAL(wp), INTENT(in   ) ::   pts(jpi,jpj,jpkorig,jpts)            ! pot. temperature & salinity 
     767      REAL(wp), INTENT(  out) ::   palph(jpi,jpj,jpkorig)               ! thermal expansion coeff. 
     768      REAL(wp), INTENT(  out) ::   pbeta(jpi,jpj,jpkorig)               ! haline  expansion coeff. 
    769769      ! 
    770770      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_cen2.F90

    r3211 r4409  
    134134 
    135135!FTRANS pun pvn pwn :I :I :z 
    136       REAL(wp), INTENT(in   ) ::   pun(jpi,jpj,jpk)         ! ocean velocity component 
    137       REAL(wp), INTENT(in   ) ::   pvn(jpi,jpj,jpk)         ! ocean velocity component 
    138       REAL(wp), INTENT(in   ) ::   pwn(jpi,jpj,jpk)         ! ocean velocity component 
     136      REAL(wp), INTENT(in   ) ::   pun(jpi,jpj,jpkorig)         ! ocean velocity component 
     137      REAL(wp), INTENT(in   ) ::   pvn(jpi,jpj,jpkorig)         ! ocean velocity component 
     138      REAL(wp), INTENT(in   ) ::   pwn(jpi,jpj,jpkorig)         ! ocean velocity component 
    139139!FTRANS ptb ptn pta :I :I :z : 
    140       REAL(wp), INTENT(in   ) ::   ptb(jpi,jpj,jpk,kjpt)    ! tracer field (before) 
    141       REAL(wp), INTENT(in   ) ::   ptn(jpi,jpj,jpk,kjpt)    ! tracer field (now) 
    142       REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpk,kjpt)    ! tracer trend  
     140      REAL(wp), INTENT(in   ) ::   ptb(jpi,jpj,jpkorig,kjpt)    ! tracer field (before) 
     141      REAL(wp), INTENT(in   ) ::   ptn(jpi,jpj,jpkorig,kjpt)    ! tracer field (now) 
     142      REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpkorig,kjpt)    ! tracer trend  
    143143      ! 
    144144      INTEGER  ::   ji, jj, jk, jn   ! dummy loop indices 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_eiv.F90

    r3211 r4409  
    8484 
    8585!FTRANS pun pvn pwn :I :I :z 
    86       REAL(wp), INTENT(inout) ::   pun(jpi,jpj,jpk)      ! in : 3 ocean velocity components  
    87       REAL(wp), INTENT(inout) ::   pvn(jpi,jpj,jpk)      ! out: 3 ocean velocity components 
    88       REAL(wp), INTENT(inout) ::   pwn(jpi,jpj,jpk)      ! increased by the eiv 
     86      REAL(wp), INTENT(inout) ::   pun(jpi,jpj,jpkorig)      ! in : 3 ocean velocity components  
     87      REAL(wp), INTENT(inout) ::   pvn(jpi,jpj,jpkorig)      ! out: 3 ocean velocity components 
     88      REAL(wp), INTENT(inout) ::   pwn(jpi,jpj,jpkorig)      ! increased by the eiv 
    8989      !! 
    9090      INTEGER  ::   ji, jj, jk                 ! dummy loop indices 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl.F90

    r3211 r4409  
    7777      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype          ! =TRA or TRC (tracer indicator) 
    7878      INTEGER                              , INTENT(in   ) ::   kjpt            ! number of tracers 
    79       REAL(wp), DIMENSION(        jpk     ), INTENT(in   ) ::   p2dt            ! vertical profile of tracer time-step 
     79      REAL(wp), DIMENSION(       jpkorig  ), INTENT(in   ) ::   p2dt            ! vertical profile of tracer time-step 
    8080 
    8181      !! DCSE_NEMO: This style defeats ftrans 
     
    8787!FTRANS ptb :I :I :z : 
    8888!FTRANS pta :I :I :z : 
    89       REAL(wp), INTENT(in   ) ::   pun(jpi,jpj,jpk)        ! ocean velocity component (u) 
    90       REAL(wp), INTENT(in   ) ::   pvn(jpi,jpj,jpk)        ! ocean velocity component (v) 
    91       REAL(wp), INTENT(in   ) ::   pwn(jpi,jpj,jpk)        ! ocean velocity component (w) 
    92       REAL(wp), INTENT(in   ) ::   ptb(jpi,jpj,jpk,kjpt)   ! tracer fields (before) 
    93       REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpk,kjpt)   ! tracer trend  
     89      REAL(wp), INTENT(in   ) ::   pun(jpi,jpj,jpkorig)        ! ocean velocity component (u) 
     90      REAL(wp), INTENT(in   ) ::   pvn(jpi,jpj,jpkorig)        ! ocean velocity component (v) 
     91      REAL(wp), INTENT(in   ) ::   pwn(jpi,jpj,jpkorig)        ! ocean velocity component (w) 
     92      REAL(wp), INTENT(in   ) ::   ptb(jpi,jpj,jpkorig,kjpt)   ! tracer fields (before) 
     93      REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpkorig,kjpt)   ! tracer trend  
    9494 
    9595      ! 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl2.F90

    r3211 r4409  
    7474      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype          ! =TRA or TRC (tracer indicator) 
    7575      INTEGER                              , INTENT(in   ) ::   kjpt            ! number of tracers 
    76       REAL(wp), DIMENSION(        jpk     ), INTENT(in   ) ::   p2dt            ! vertical profile of tracer time-step 
     76      REAL(wp), DIMENSION(      jpkorig   ), INTENT(in   ) ::   p2dt            ! vertical profile of tracer time-step 
    7777 
    7878      !! DCSE_NEMO: This style defeats ftrans 
     
    8484!FTRANS ptb ptn :I :I :z : 
    8585!FTRANS pta :I :I :z : 
    86       REAL(wp), INTENT(in   ) ::   pun(jpi,jpj,jpk)        ! ocean velocity component (u) 
    87       REAL(wp), INTENT(in   ) ::   pvn(jpi,jpj,jpk)        ! ocean velocity component (v) 
    88       REAL(wp), INTENT(in   ) ::   pwn(jpi,jpj,jpk)        ! ocean velocity component (w) 
    89       REAL(wp), INTENT(in   ) ::   ptb(jpi,jpj,jpk,kjpt)   ! tracer fields (before) 
    90       REAL(wp), INTENT(in   ) ::   ptn(jpi,jpj,jpk,kjpt)   ! tracer fields (now) 
    91       REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpk,kjpt)   ! tracer trend  
     86      REAL(wp), INTENT(in   ) ::   pun(jpi,jpj,jpkorig)        ! ocean velocity component (u) 
     87      REAL(wp), INTENT(in   ) ::   pvn(jpi,jpj,jpkorig)        ! ocean velocity component (v) 
     88      REAL(wp), INTENT(in   ) ::   pwn(jpi,jpj,jpkorig)        ! ocean velocity component (w) 
     89      REAL(wp), INTENT(in   ) ::   ptb(jpi,jpj,jpkorig,kjpt)   ! tracer fields (before) 
     90      REAL(wp), INTENT(in   ) ::   ptn(jpi,jpj,jpkorig,kjpt)   ! tracer fields (now) 
     91      REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpkorig,kjpt)   ! tracer trend  
    9292 
    9393      !! 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_qck.F90

    r3211 r4409  
    8989      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype          ! =TRA or TRC (tracer indicator) 
    9090      INTEGER                              , INTENT(in   ) ::   kjpt            ! number of tracers 
    91       REAL(wp), DIMENSION(        jpk     ), INTENT(in   ) ::   p2dt            ! vertical profile of tracer time-step 
     91      REAL(wp), DIMENSION(       jpkorig  ), INTENT(in   ) ::   p2dt            ! vertical profile of tracer time-step 
    9292 
    9393      !! DCSE_NEMO: This style defeats ftrans 
     
    9999!FTRANS ptb ptn :I :I :z : 
    100100!FTRANS pta :I :I :z : 
    101       REAL(wp), INTENT(in   ) ::   pun(jpi,jpj,jpk)        ! ocean velocity component (u) 
    102       REAL(wp), INTENT(in   ) ::   pvn(jpi,jpj,jpk)        ! ocean velocity component (v) 
    103       REAL(wp), INTENT(in   ) ::   pwn(jpi,jpj,jpk)        ! ocean velocity component (w) 
    104       REAL(wp), INTENT(in   ) ::   ptb(jpi,jpj,jpk,kjpt)   ! tracer fields (before) 
    105       REAL(wp), INTENT(in   ) ::   ptn(jpi,jpj,jpk,kjpt)   ! tracer fields (now) 
    106       REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpk,kjpt)   ! tracer trend  
     101      REAL(wp), INTENT(in   ) ::   pun(jpi,jpj,jpkorig)        ! ocean velocity component (u) 
     102      REAL(wp), INTENT(in   ) ::   pvn(jpi,jpj,jpkorig)        ! ocean velocity component (v) 
     103      REAL(wp), INTENT(in   ) ::   pwn(jpi,jpj,jpkorig)        ! ocean velocity component (w) 
     104      REAL(wp), INTENT(in   ) ::   ptb(jpi,jpj,jpkorig,kjpt)   ! tracer fields (before) 
     105      REAL(wp), INTENT(in   ) ::   ptn(jpi,jpj,jpkorig,kjpt)   ! tracer fields (now) 
     106      REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpkorig,kjpt)   ! tracer trend  
    107107 
    108108      !!---------------------------------------------------------------------- 
     
    151151      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype     ! =TRA or TRC (tracer indicator) 
    152152      INTEGER                              , INTENT(in   ) ::   kjpt       ! number of tracers 
    153       REAL(wp), DIMENSION(        jpk     ), INTENT(in   ) ::   p2dt       ! vertical profile of tracer time-step 
     153      REAL(wp), DIMENSION(       jpkorig  ), INTENT(in   ) ::   p2dt       ! vertical profile of tracer time-step 
    154154 
    155155      !! DCSE_NEMO: This style defeats ftrans 
     
    160160!FTRANS pun :I :I :z 
    161161!FTRANS ptb ptn pta :I :I :z : 
    162       REAL(wp), INTENT(in   ) ::   pun(jpi,jpj,jpk)         ! i-velocity component 
    163       REAL(wp), INTENT(in   ) ::   ptb(jpi,jpj,jpk,kjpt)    ! tracer field (before) 
    164       REAL(wp), INTENT(in   ) ::   ptn(jpi,jpj,jpk,kjpt)    ! tracer field (now) 
    165       REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpk,kjpt)    ! tracer trend  
     162      REAL(wp), INTENT(in   ) ::   pun(jpi,jpj,jpkorig)         ! i-velocity component 
     163      REAL(wp), INTENT(in   ) ::   ptb(jpi,jpj,jpkorig,kjpt)    ! tracer field (before) 
     164      REAL(wp), INTENT(in   ) ::   ptn(jpi,jpj,jpkorig,kjpt)    ! tracer field (now) 
     165      REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpkorig,kjpt)    ! tracer trend  
    166166 
    167167      !! 
     
    334334      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype     ! =TRA or TRC (tracer indicator) 
    335335      INTEGER                              , INTENT(in   ) ::   kjpt       ! number of tracers 
    336       REAL(wp), DIMENSION(        jpk     ), INTENT(in   ) ::   p2dt       ! vertical profile of tracer time-step 
     336      REAL(wp), DIMENSION(        jpkorig     ), INTENT(in   ) ::   p2dt       ! vertical profile of tracer time-step 
    337337 
    338338      !! DCSE_NEMO: This style defeats ftrans 
     
    343343!FTRANS pvn :I :I :z 
    344344!FTRANS ptb ptn pta :I :I :z : 
    345       REAL(wp), INTENT(in   ) ::   pvn(jpi,jpj,jpk)         ! j-velocity component 
    346       REAL(wp), INTENT(in   ) ::   ptb(jpi,jpj,jpk,kjpt)    ! tracer field (before) 
    347       REAL(wp), INTENT(in   ) ::   ptn(jpi,jpj,jpk,kjpt)    ! tracer field (now) 
    348       REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpk,kjpt)    ! tracer trend  
     345      REAL(wp), INTENT(in   ) ::   pvn(jpi,jpj,jpkorig)         ! j-velocity component 
     346      REAL(wp), INTENT(in   ) ::   ptb(jpi,jpj,jpkorig,kjpt)    ! tracer field (before) 
     347      REAL(wp), INTENT(in   ) ::   ptn(jpi,jpj,jpkorig,kjpt)    ! tracer field (now) 
     348      REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpkorig,kjpt)    ! tracer trend  
    349349 
    350350      !! 
     
    532532!FTRANS pwn :I :I :z 
    533533!FTRANS ptn pta :I :I :z : 
    534       REAL(wp), INTENT(in   ) ::   pwn(jpi,jpj,jpk)         ! vertical velocity 
    535       REAL(wp), INTENT(in   ) ::   ptn(jpi,jpj,jpk,kjpt)    ! tracer fields (now) 
    536       REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpk,kjpt)    ! tracer trend  
     534      REAL(wp), INTENT(in   ) ::   pwn(jpi,jpj,jpkorig)         ! vertical velocity 
     535      REAL(wp), INTENT(in   ) ::   ptn(jpi,jpj,jpkorig,kjpt)    ! tracer fields (now) 
     536      REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpkorig,kjpt)    ! tracer trend  
    537537 
    538538      ! 
     
    614614 
    615615!FTRANS pfu pfd pfc puc :I :I :z 
    616       REAL(wp), INTENT(in   ) ::   pfu(jpi,jpj,jpk)   ! second upwind point 
    617       REAL(wp), INTENT(in   ) ::   pfd(jpi,jpj,jpk)   ! first douwning point 
    618       REAL(wp), INTENT(in   ) ::   pfc(jpi,jpj,jpk)   ! the central point (or the first upwind point) 
    619       REAL(wp), INTENT(inout) ::   puc(jpi,jpj,jpk)   ! input as Courant number ; output as flux 
     616      REAL(wp), INTENT(in   ) ::   pfu(jpi,jpj,jpkorig)   ! second upwind point 
     617      REAL(wp), INTENT(in   ) ::   pfd(jpi,jpj,jpkorig)   ! first douwning point 
     618      REAL(wp), INTENT(in   ) ::   pfc(jpi,jpj,jpkorig)   ! the central point (or the first upwind point) 
     619      REAL(wp), INTENT(inout) ::   puc(jpi,jpj,jpkorig)   ! input as Courant number ; output as flux 
    620620 
    621621      !! 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_tvd.F90

    r4401 r4409  
    8383      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype          ! =TRA or TRC (tracer indicator) 
    8484      INTEGER                              , INTENT(in   ) ::   kjpt            ! number of tracers 
    85       REAL(wp), DIMENSION(        jpk     ), INTENT(in   ) ::   p2dt            ! vertical profile of tracer time-step 
     85      REAL(wp), DIMENSION(     jpkorig    ), INTENT(in   ) ::   p2dt            ! vertical profile of tracer time-step 
    8686 
    8787      !! DCSE_NEMO: This style defeats ftrans 
     
    9292!FTRANS pun pvn pwn :I :I :z 
    9393!FTRANS ptb ptn pta :I :I :z : 
    94       REAL(wp), INTENT(in   ) ::   pun(jpi,jpj,jpk)        ! ocean velocity component (u) 
    95       REAL(wp), INTENT(in   ) ::   pvn(jpi,jpj,jpk)        ! ocean velocity component (v) 
    96       REAL(wp), INTENT(in   ) ::   pwn(jpi,jpj,jpk)        ! ocean velocity component (w) 
    97       REAL(wp), INTENT(in   ) ::   ptb(jpi,jpj,jpk,kjpt)   ! tracer fields (before) 
    98       REAL(wp), INTENT(in   ) ::   ptn(jpi,jpj,jpk,kjpt)   ! tracer fields (now) 
    99       REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpk,kjpt)   ! tracer trend  
     94      REAL(wp), INTENT(in   ) ::   pun(jpi,jpj,jpkorig)        ! ocean velocity component (u) 
     95      REAL(wp), INTENT(in   ) ::   pvn(jpi,jpj,jpkorig)        ! ocean velocity component (v) 
     96      REAL(wp), INTENT(in   ) ::   pwn(jpi,jpj,jpkorig)        ! ocean velocity component (w) 
     97      REAL(wp), INTENT(in   ) ::   ptb(jpi,jpj,jpkorig,kjpt)   ! tracer fields (before) 
     98      REAL(wp), INTENT(in   ) ::   ptn(jpi,jpj,jpkorig,kjpt)   ! tracer fields (now) 
     99      REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpkorig,kjpt)   ! tracer trend  
    100100 
    101101      ! 
     
    367367 
    368368      ! 
    369       REAL(wp), DIMENSION(jpk)         , INTENT(in   ) ::   p2dt            ! vertical profile of tracer time-step 
     369      REAL(wp), DIMENSION(jpkorig)      , INTENT(in   ) ::   p2dt            ! vertical profile of tracer time-step 
    370370 
    371371      !! DCSE_NEMO: This style defeats ftrans 
     
    375375!FTRANS pbef paft :I :I :z 
    376376!FTRANS paa pbb pcc :I :I :z 
    377       REAL(wp), INTENT(in   ) ::   pbef(jpi,jpj,jpk), paft(jpi,jpj,jpk)     ! before & after field 
    378       REAL(wp), INTENT(inout) ::   paa(jpi,jpj,jpk)                         ! monotonic fluxes in the 1st direction 
    379       REAL(wp), INTENT(inout) ::   pbb(jpi,jpj,jpk)                         ! monotonic fluxes in the 2nd direction 
    380       REAL(wp), INTENT(inout) ::   pcc(jpi,jpj,jpk)                         ! monotonic fluxes in the 3rd direction 
     377      REAL(wp), INTENT(in   ) ::   pbef(jpi,jpj,jpkorig), paft(jpi,jpj,jpkorig)     ! before & after field 
     378      REAL(wp), INTENT(inout) ::   paa(jpi,jpj,jpkorig)                         ! monotonic fluxes in the 1st direction 
     379      REAL(wp), INTENT(inout) ::   pbb(jpi,jpj,jpkorig)                         ! monotonic fluxes in the 2nd direction 
     380      REAL(wp), INTENT(inout) ::   pcc(jpi,jpj,jpkorig)                         ! monotonic fluxes in the 3rd direction 
    381381      ! 
    382382      INTEGER ::   ji, jj, jk   ! dummy loop indices 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_ubs.F90

    r3211 r4409  
    9191      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype          ! =TRA or TRC (tracer indicator) 
    9292      INTEGER                              , INTENT(in   ) ::   kjpt            ! number of tracers 
    93       REAL(wp), DIMENSION(        jpk     ), INTENT(in   ) ::   p2dt            ! vertical profile of tracer time-step 
     93      REAL(wp), DIMENSION(       jpkorig  ), INTENT(in   ) ::   p2dt            ! vertical profile of tracer time-step 
    9494 
    9595!     REAL(wp), DIMENSION(jpi,jpj,jpk     ), INTENT(in   ) ::   pun, pvn, pwn   ! 3 ocean velocity components 
     
    9999!FTRANS pun pvn pwn :I :I :z 
    100100!FTRANS ptb ptn pta :I :I :z : 
    101       REAL(wp), INTENT(in   ) ::   pun(jpi,jpj,jpk)        ! ocean velocity component (u) 
    102       REAL(wp), INTENT(in   ) ::   pvn(jpi,jpj,jpk)        ! ocean velocity component (v) 
    103       REAL(wp), INTENT(in   ) ::   pwn(jpi,jpj,jpk)        ! ocean velocity component (w) 
     101      REAL(wp), INTENT(in   ) ::   pun(jpi,jpj,jpkorig)        ! ocean velocity component (u) 
     102      REAL(wp), INTENT(in   ) ::   pvn(jpi,jpj,jpkorig)        ! ocean velocity component (v) 
     103      REAL(wp), INTENT(in   ) ::   pwn(jpi,jpj,jpkorig)        ! ocean velocity component (w) 
    104104!! DCSE_NEMO: Next two arguments made inout to silence the cray compile, 
    105105!! which rightly complains about the call to nonosc_v (which also has them 
    106106!! as inout)  
    107       REAL(wp), INTENT(inout) ::   ptb(jpi,jpj,jpk,kjpt)   ! tracer fields (before) 
    108       REAL(wp), INTENT(inout) ::   ptn(jpi,jpj,jpk,kjpt)   ! tracer fields (now) 
    109       REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpk,kjpt)   ! tracer trend  
     107      REAL(wp), INTENT(inout) ::   ptb(jpi,jpj,jpkorig,kjpt)   ! tracer fields (before) 
     108      REAL(wp), INTENT(inout) ::   ptn(jpi,jpj,jpkorig,kjpt)   ! tracer fields (now) 
     109      REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpkorig,kjpt)   ! tracer trend  
    110110 
    111111      ! 
     
    381381 
    382382      ! 
    383       REAL(wp), INTENT(in   ), DIMENSION(jpk)          ::   p2dt   ! vertical profile of tracer time-step 
     383      REAL(wp), INTENT(in   ), DIMENSION(jpkorig)          ::   p2dt   ! vertical profile of tracer time-step 
    384384 
    385385      !! DCSE_NEMO: This style defeats ftrans 
     
    389389 
    390390!FTRANS pbef paft pcc :I :I :z 
    391       REAL(wp), INTENT(inout) ::   pbef(jpi,jpj,jpk)   ! before field 
    392       REAL(wp), INTENT(inout) ::   paft(jpi,jpj,jpk)   ! after field 
    393       REAL(wp), INTENT(inout) ::   pcc(jpi,jpj,jpk)    ! monotonic flux in the k direction 
     391      REAL(wp), INTENT(inout) ::   pbef(jpi,jpj,jpkorig)   ! before field 
     392      REAL(wp), INTENT(inout) ::   paft(jpi,jpj,jpkorig)   ! after field 
     393      REAL(wp), INTENT(inout) ::   pcc(jpi,jpj,jpkorig)    ! monotonic flux in the k direction 
    394394      ! 
    395395      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/tradmp.F90

    r3211 r4409  
    282282!     REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout)  ::   presto   ! restoring coeff. (s-1) 
    283283!FTRANS presto :I :I :z 
    284       REAL(wp), INTENT(inout)  ::   presto(jpi,jpj,jpk)   ! restoring coeff. (s-1) 
     284      REAL(wp), INTENT(inout)  ::   presto(jpi,jpj,jpkorig)   ! restoring coeff. (s-1) 
    285285      ! 
    286286      INTEGER  ::   ji, jj, jk, jn   ! dummy loop indices 
     
    388388!     REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout)  ::   presto   ! restoring coeff. (s-1) 
    389389!FTRANS presto :I :I :z 
    390       REAL(wp), INTENT(inout)  ::   presto(jpi,jpj,jpk)   ! restoring coeff. (s-1) 
     390      REAL(wp), INTENT(inout)  ::   presto(jpi,jpj,jpkorig)   ! restoring coeff. (s-1) 
    391391 
    392392      ! 
     
    656656!     REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT( out ) ::   pdct   ! distance to the coastline 
    657657!FTRANS pdct :I :I :z 
    658       REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT( out ) ::   pdct   ! distance to the coastline 
     658      REAL(wp), DIMENSION(jpi,jpj,jpkorig), INTENT( out ) ::   pdct   ! distance to the coastline 
    659659 
    660660      !! 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf_exp.F90

    r3211 r4409  
    9191      INTEGER                              , INTENT(in   ) ::   kjpt        ! number of tracers 
    9292      INTEGER                              , INTENT(in   ) ::   kn_zdfexp   ! number of sub-time step 
    93       REAL(wp), DIMENSION(        jpk     ), INTENT(in   ) ::   p2dt        ! vertical profile of tracer time-step 
     93      REAL(wp), DIMENSION(       jpkorig  ), INTENT(in   ) ::   p2dt        ! vertical profile of tracer time-step 
    9494 
    9595      !! DCSE_NEMO: This style defeats ftrans 
     
    9898 
    9999!FTRANS ptb pta :I :I :z : 
    100       REAL(wp), INTENT(in   ) ::   ptb(jpi,jpj,jpk,kjpt)         ! before and now tracer fields 
    101       REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpk,kjpt)         ! tracer trend  
     100      REAL(wp), INTENT(in   ) ::   ptb(jpi,jpj,jpkorig,kjpt)         ! before and now tracer fields 
     101      REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpkorig,kjpt)         ! tracer trend  
    102102      ! 
    103103      INTEGER  ::  ji, jj, jk, jn, jl        ! dummy loop indices 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf_imp.F90

    r3432 r4409  
    9797      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype   ! =TRA or TRC (tracer indicator) 
    9898      INTEGER                              , INTENT(in   ) ::   kjpt     ! number of tracers 
    99       REAL(wp), DIMENSION(        jpk     ), INTENT(in   ) ::   p2dt     ! vertical profile of tracer time-step 
     99      REAL(wp), DIMENSION(       jpkorig  ), INTENT(in   ) ::   p2dt     ! vertical profile of tracer time-step 
    100100 
    101101      !! DCSE_NEMO: This style defeats ftrans 
     
    104104 
    105105!FTRANS ptb pta :I :I :z : 
    106       REAL(wp), INTENT(in   ) ::   ptb(jpi,jpj,jpk,kjpt)      ! before and now tracer fields 
    107       REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpk,kjpt)      ! tracer trend  
     106      REAL(wp), INTENT(in   ) ::   ptb(jpi,jpj,jpkorig,kjpt)      ! before and now tracer fields 
     107      REAL(wp), INTENT(inout) ::   pta(jpi,jpj,jpkorig,kjpt)      ! tracer trend  
    108108      ! 
    109109      INTEGER  ::  ji, jj, jk, jn   ! dummy loop indices 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/zpshde.F90

    r3211 r4409  
    9595!     REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in   )           ::  pta         ! 4D tracers fields 
    9696!FTRANS pta :I :I :z : 
    97       REAL(wp), INTENT(in   )                      ::  pta(jpi,jpj,jpk,kjpt)         ! 4D tracers fields 
     97      REAL(wp), INTENT(in   )                      ::  pta(jpi,jpj,jpkorig,kjpt)         ! 4D tracers fields 
    9898 
    9999      REAL(wp), DIMENSION(jpi,jpj,    kjpt), INTENT(  out)           ::  pgtu, pgtv  ! hor. grad. of ptra at u- & v-pts  
     
    101101!     REAL(wp), DIMENSION(jpi,jpj,jpk     ), INTENT(in   ), OPTIONAL ::  prd         ! 3D density anomaly fields 
    102102!FTRANS prd :I :I :z 
    103       REAL(wp), INTENT(in   ), OPTIONAL            ::  prd(jpi,jpj,jpk)              ! 3D density anomaly fields 
     103      REAL(wp), INTENT(in   ), OPTIONAL            ::  prd(jpi,jpj,jpkorig)              ! 3D density anomaly fields 
    104104 
    105105      REAL(wp), DIMENSION(jpi,jpj         ), INTENT(  out), OPTIONAL ::  pgru, pgrv  ! hor. grad. of prd at u- & v-pts  
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRD/trdicp.F90

    r3432 r4409  
    135135 
    136136!FTRANS ptrd3dx ptrd3dy :I :I :z 
    137       REAL(wp), INTENT(inout) ::   ptrd3dx(jpi,jpj,jpk)   ! Temperature or U trend  
    138       REAL(wp), INTENT(inout) ::   ptrd3dy(jpi,jpj,jpk)   ! Salinity    or V trend 
     137      REAL(wp), INTENT(inout) ::   ptrd3dx(jpi,jpj,jpkorig)   ! Temperature or U trend  
     138      REAL(wp), INTENT(inout) ::   ptrd3dy(jpi,jpj,jpkorig)   ! Salinity    or V trend 
    139139 
    140140      INTEGER,                          INTENT(in   ) ::   ktrd      ! momentum or tracer trend index 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRD/trdmld.F90

    r3211 r4409  
    113113 
    114114!FTRANS pttrdmld pstrdmld :I :I :z 
    115       REAL(wp), INTENT( in ) ::   pttrdmld(jpi,jpj,jpk)   ! temperature trend  
    116       REAL(wp), INTENT( in ) ::   pstrdmld(jpi,jpj,jpk)   ! salinity trend  
     115      REAL(wp), INTENT( in ) ::   pttrdmld(jpi,jpj,jpkorig)   ! temperature trend  
     116      REAL(wp), INTENT( in ) ::   pstrdmld(jpi,jpj,jpkorig)   ! salinity trend  
    117117      ! 
    118118      INTEGER ::   ji, jj, jk, isum 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRD/trdtra.F90

    r3211 r4409  
    8484 
    8585!FTRANS ptrd pun ptra :I :I :z 
    86       REAL(wp), INTENT(in)           ::  ptrd(jpi,jpj,jpk)    ! tracer trend  or flux 
    87       REAL(wp), INTENT(in), OPTIONAL ::  pun(jpi,jpj,jpk)     ! velocity  
    88       REAL(wp), INTENT(in), OPTIONAL ::  ptra(jpi,jpj,jpk)    ! Tracer variable  
     86      REAL(wp), INTENT(in)           ::  ptrd(jpi,jpj,jpkorig)   ! tracer trend  or flux 
     87      REAL(wp), INTENT(in), OPTIONAL ::  pun(jpi,jpj,jpkorig)    ! velocity  
     88      REAL(wp), INTENT(in), OPTIONAL ::  ptra(jpi,jpj,jpkorig)   ! Tracer variable  
    8989      !!---------------------------------------------------------------------- 
    9090 
     
    180180 
    181181!FTRANS pf pun ptn :I :I :z 
    182       REAL(wp)        , INTENT(in )            ::   pf(jpi,jpj,jpk)      ! advective flux in one direction 
    183       REAL(wp)        , INTENT(in )            ::   pun(jpi,jpj,jpk)     ! now velocity  in one direction 
    184       REAL(wp)        , INTENT(in )            ::   ptn(jpi,jpj,jpk)     ! now or before tracer  
     182      REAL(wp)        , INTENT(in )            ::   pf(jpi,jpj,jpkorig)      ! advective flux in one direction 
     183      REAL(wp)        , INTENT(in )            ::   pun(jpi,jpj,jpkorig)     ! now velocity  in one direction 
     184      REAL(wp)        , INTENT(in )            ::   ptn(jpi,jpj,jpkorig)     ! now or before tracer  
    185185      CHARACTER(len=1), INTENT(in )                         ::   cdir    ! X/Y/Z direction 
    186186 
    187187!     REAL(wp)        , INTENT(out), DIMENSION(jpi,jpj,jpk) ::   ptrd    ! advective trend in one direction 
    188188!FTRANS ptrd :I :I :z 
    189       REAL(wp)        , INTENT(out)            ::   ptrd(jpi,jpj,jpk)    ! advective trend in one direction 
     189      REAL(wp)        , INTENT(out)            ::   ptrd(jpi,jpj,jpkorig)    ! advective trend in one direction 
    190190      ! 
    191191      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
     
    242242 
    243243!FTRANS ptrd pu ptra :I :I :z 
    244       REAL(wp), INTENT(in)           ::  ptrd(jpi,jpj,jpk)    ! tracer trend  or flux 
    245       REAL(wp), INTENT(in), OPTIONAL ::  pu(jpi,jpj,jpk)      ! velocity  
    246       REAL(wp), INTENT(in), OPTIONAL ::  ptra(jpi,jpj,jpk)    ! Tracer variable  
     244      REAL(wp), INTENT(in)           ::  ptrd(jpi,jpj,jpkorig)    ! tracer trend  or flux 
     245      REAL(wp), INTENT(in), OPTIONAL ::  pu(jpi,jpj,jpkorig)      ! velocity  
     246      REAL(wp), INTENT(in), OPTIONAL ::  ptra(jpi,jpj,jpkorig)    ! Tracer variable  
    247247 
    248248      WRITE(*,*) 'trd_3d: You should not have seen this print! error ?', ptrd(1,1,1), ptra(1,1,1), pu(1,1,1),   & 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRD/trdvor.F90

    r3211 r4409  
    216216 
    217217!FTRANS putrdvor pvtrdvor :I :I :z 
    218       REAL(wp), INTENT(inout) ::   putrdvor(jpi,jpj,jpk)   ! u vorticity trend  
    219       REAL(wp), INTENT(inout) ::   pvtrdvor(jpi,jpj,jpk ! v vorticity trend 
     218      REAL(wp), INTENT(inout) ::   putrdvor(jpi,jpj,jpkorig) ! u vorticity trend 
     219      REAL(wp), INTENT(inout) ::   pvtrdvor(jpi,jpj,jpkorig) ! v vorticity trend 
    220220      ! 
    221221      INTEGER ::   ji, jj, jk   ! dummy loop indices 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90

    r4406 r4409  
    118118      !!                ***  FUNCTION zdf_tke_alloc  *** 
    119119      !!---------------------------------------------------------------------- 
     120      ! Use jpkorig rather than jpk because this routine not called until first 
     121      ! time-step by which time jpk has been adjusted. 
    120122      ALLOCATE(                                                                    & 
    121123#if defined key_c1d 
    122          &      e_dis(jpi,jpj,jpk) , e_mix(jpi,jpj,jpk) ,                          & 
    123          &      e_pdl(jpi,jpj,jpk) , e_ric(jpi,jpj,jpk) ,                          & 
    124 #endif 
    125          &      en   (jpi,jpj,jpk) , htau (jpi,jpj)     , dissl(jpi,jpj,jpk) , STAT= zdf_tke_alloc ) 
     124         &      e_dis(jpi,jpj,jpkorig) , e_mix(jpi,jpj,jpkorig) ,                          & 
     125         &      e_pdl(jpi,jpj,jpkorig) , e_ric(jpi,jpj,jpkorig) ,                          & 
     126#endif 
     127         &      en   (jpi,jpj,jpkorig) , htau (jpi,jpj)     , dissl(jpi,jpj,jpkorig) , STAT= zdf_tke_alloc ) 
    126128         ! 
    127129      IF( lk_mpp             )   CALL mpp_sum ( zdf_tke_alloc ) 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftmx.F90

    r3211 r4409  
    6868      !!                ***  FUNCTION zdf_tmx_alloc  *** 
    6969      !!---------------------------------------------------------------------- 
    70       ALLOCATE(en_tmx(jpi,jpj), mask_itf(jpi,jpj), az_tmx(jpi,jpj,jpk), STAT=zdf_tmx_alloc ) 
     70      ALLOCATE(en_tmx(jpi,jpj), mask_itf(jpi,jpj), az_tmx(jpi,jpj,jpkorig), & 
     71               STAT=zdf_tmx_alloc ) 
    7172      ! 
    7273      IF( lk_mpp             )   CALL mpp_sum ( zdf_tmx_alloc ) 
     
    262263!     REAL(wp), INTENT(inout), DIMENSION(jpi,jpj,jpk) ::   pav  ! Tidal mixing coef. 
    263264!FTRANS pav :I :I :z 
    264       REAL(wp), INTENT(inout)            ::   pav(jpi,jpj,jpk)  ! Tidal mixing coef. 
     265      REAL(wp), INTENT(inout)            ::   pav(jpi,jpj,jpkorig)  ! Tidal mixing coef. 
    265266      !!  
    266267      INTEGER  ::   ji, jj, jk    ! dummy loop indices 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90

    r3849 r4409  
    241241         jpk = jpkdta                                             ! third dim 
    242242         jpkm1 = jpk-1                                            ! inner domain indices 
     243         jpkorig = jpk                        ! Copy of jpk that is NOT modified 
     244         jpkf    = jpk                        ! Max depth of this sub-domain. Initially set to jpk here 
     245                                              ! but altered later in domzgr 
    243246      ENDIF 
    244247 
     
    263266#if   defined key_mpp_rkpart 
    264267      ELSE 
    265          CALL ctl_stop( 'STOP', 'nemo_init : invalid inputs in namelist - cannot specify jpn{i,j}>0 when using recursive k-section paritioning!' ) 
     268         CALL ctl_stop( 'STOP', & 
     269                        'nemo_init : invalid inputs in namelist - cannot specify jpn{i,j}>0 & 
     270                        & when using recursive k-section paritioning!' ) 
    266271#endif 
    267272      END IF 
     
    593598   SUBROUTINE nemo_recursive_partition( num_pes ) 
    594599      USE in_out_manager, ONLY: numnam 
    595       USE dom_oce,        ONLY: ln_zco, ntopo 
     600      USE dom_oce,        ONLY: ln_zco 
    596601      USE dom_oce,        ONLY: gdepw_0, gdept_0, e3w_0, e3t_0, & 
    597602                                mig, mjg, mi0, mi1, mj0, mj1,  mbathy, bathy 
     
    626631      INTEGER :: inum                          ! temporary logical unit 
    627632      INTEGER :: ii,jj,iproc                   ! Loop index 
    628       INTEGER :: jparray(2)                    ! Small array for gathering  
    629633      CHARACTER(LEN=8) :: lstr                 ! Local string for reading env. var. 
    630634      INTEGER          :: lztrim               ! Local int for      "      "    " 
     
    653657                                    STATUS=ierr) 
    654658      IF( ierr == 0)THEN 
    655          READ(lstr,FMT="(I)",IOSTAT=ierr) lztrim 
     659         READ(lstr,FMT="(I10)",IOSTAT=ierr) lztrim 
    656660         IF(ierr == 0)THEN 
    657661            IF (lztrim == 0) msgtrim_z = .FALSE. 
Note: See TracChangeset for help on using the changeset viewer.