Changeset 12810


Ignore:
Timestamp:
2020-04-24T17:09:39+02:00 (7 months ago)
Author:
francesca
Message:

POINTER removal and replacing of traadv_mus.F90 file with original version - ticket #2366

Location:
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DOM/dom_oce.F90

    r12807 r12810  
    111111   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, TARGET, DIMENSION(:,:) ::   e1f   , e2f  , r1_e1f, r1_e2f   !: horizontal scale factors at f-point [m] 
    112112   ! 
    113    REAL(wp), PUBLIC, POINTER, SAVE            , DIMENSION(:,:) ::   r1_e1e2t, r1_e1e2u, r1_e1e2v    !: associated metrics at t-point 
    114    REAL(wp), PUBLIC, ALLOCATABLE, SAVE        , DIMENSION(:,:) ::   e1e2t                 !: associated metrics at t-point 
    115    REAL(wp), PUBLIC, ALLOCATABLE, SAVE        , DIMENSION(:,:) ::   e1e2u , e2_e1u       !: associated metrics at u-point 
    116    REAL(wp), PUBLIC, ALLOCATABLE, SAVE        , DIMENSION(:,:) ::   e1e2v , e1_e2v       !: associated metrics at v-point 
     113   REAL(wp), PUBLIC, ALLOCATABLE, SAVE        , DIMENSION(:,:) ::   e1e2t , r1_e1e2t                !: associated metrics at t-point 
     114   REAL(wp), PUBLIC, ALLOCATABLE, SAVE        , DIMENSION(:,:) ::   e1e2u , e2_e1u, r1_e1e2u        !: associated metrics at u-point 
     115   REAL(wp), PUBLIC, ALLOCATABLE, SAVE        , DIMENSION(:,:) ::   e1e2v , e1_e2v, r1_e1e2v        !: associated metrics at v-point 
    117116   REAL(wp), PUBLIC, ALLOCATABLE, SAVE        , DIMENSION(:,:) ::   e1e2f , r1_e1e2f                !: associated metrics at f-point 
    118117   ! 
     
    134133   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::    e3vw_0   !: vw-vert. scale factor [m] 
    135134   !                                                        !  time-dependent scale factors 
    136    REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:,:) ::   e3t, e3u, e3v, e3w  !: vert. scale factor [m] 
    137    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) ::   e3uw, e3vw  !: vert. scale factor [m] 
     135   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) ::   e3t, e3u, e3v, e3w, e3uw, e3vw  !: vert. scale factor [m] 
    138136   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::   e3f                             !: F-point vert. scale factor [m] 
    139137 
     
    175173   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   tmask_h            !: internal domain T-point mask (Figure 8.5 NEMO book) 
    176174 
    177    INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   miku, mikv, mikf   !: top first wet U-, V-, F-level           (ISF) 
    178    REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:) ::   mikt                   !: top first wet T-level (ISF) 
     175   INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   mikt, miku, mikv, mikf   !: top first wet T-, U-, V-, F-level           (ISF) 
    179176 
    180177   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   ssmask, ssumask, ssvmask             !: surface mask at T-,U-, V- and F-pts 
    181    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:), TARGET :: fmask   !: land/ocean mask at F-pts 
    182    REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:) :: tmask, umask, vmask, wmask  !: land/ocean mask at T-, U-, V-pts 
     178   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:), TARGET :: tmask, umask, vmask, wmask, fmask   !: land/ocean mask at T-, U-, V-, W- and F-pts 
    183179   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:), TARGET :: wumask, wvmask        !: land/ocean mask at WT-, WU- and WV-pts 
    184180 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/SBC/sbcrnf.F90

    r12738 r12810  
    5959   INTEGER , PUBLIC ::   nkrnf = 0            !: nb of levels over which Kz is increased at river mouths 
    6060    
    61    REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:)   ::   rnfmsk              !: river mouth mask (hori.) 
     61   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   rnfmsk              !: river mouth mask (hori.) 
    6262   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:)     ::   rnfmsk_z            !: river mouth mask (vert.) 
    6363   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   h_rnf               !: depth of runoff in m 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/TRA/traadv.F90

    r12586 r12810  
    8383      INTEGER                                  , INTENT(in)    :: kt             ! ocean time-step index 
    8484      INTEGER                                  , INTENT(in)    :: Kbb, Kmm, Krhs ! time level indices 
    85       REAL(wp), POINTER, DIMENSION(:,:,:,:,:)  , INTENT(inout) :: pts            ! active tracers and RHS of tracer equation 
     85      REAL(wp), DIMENSION(jpi,jpj,jpk,jpts,jpt), INTENT(inout) :: pts            ! active tracers and RHS of tracer equation 
    8686      ! 
    8787      INTEGER ::   jk   ! dummy loop index 
    88       REAL(wp), POINTER, DIMENSION(:,:,:)        :: zuu, zvv, zww   ! 3D workspace 
     88      REAL(wp), DIMENSION(jpi,jpj,jpk)        :: zuu, zvv, zww   ! 3D workspace 
    8989      REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::   ztrdt, ztrds 
    9090      !!---------------------------------------------------------------------- 
    9191      ! 
    9292      IF( ln_timing )   CALL timing_start('tra_adv') 
    93       ALLOCATE( zuu(jpi,jpj,jpk), zvv(jpi,jpj,jpk), zww(jpi,jpj,jpk) ) 
    9493      ! 
    9594      !                                         !==  effective transport  ==! 
     
    168167         &                                  tab3d_2=pts(:,:,:,jp_sal,Krhs), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    169168      ! 
    170       DEALLOCATE( zuu, zvv, zww ) 
    171169      IF( ln_timing )   CALL timing_stop( 'tra_adv' ) 
    172170      ! 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/TRA/traadv_mus.F90

    r12719 r12810  
    3131   USE lbclnk         ! ocean lateral boundary condition (or mpp link)  
    3232   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)   
    33    USE halo_mng 
    3433 
    3534   IMPLICIT NONE 
     
    3837   PUBLIC   tra_adv_mus   ! routine called by traadv.F90 
    3938    
    40    REAL(wp), POINTER, SAVE, DIMENSION(:,:)   ::   upsmsk   !: mixed upstream/centered scheme near some straits 
     39   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   upsmsk   !: mixed upstream/centered scheme near some straits 
    4140   !                                                           !  and in closed seas (orca 2 and 1 configurations) 
    4241   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   xind     !: mixed upstream/centered index 
     
    4544   LOGICAL  ::   l_ptr   ! flag to compute poleward transport 
    4645   LOGICAL  ::   l_hst   ! flag to compute heat/salt transport 
    47  
    48    INTEGER :: jphls = 2 
    4946 
    5047   !! * Substitutions 
     
    8380      LOGICAL                                  , INTENT(in   ) ::   ld_msc_ups      ! use upstream scheme within muscl 
    8481      REAL(wp)                                 , INTENT(in   ) ::   p2dt            ! tracer time-step 
    85       REAL(wp), POINTER, DIMENSION(:,:,:)      , INTENT(in   ) ::   pU, pV, pW      ! 3 ocean volume flux components 
    86       REAL(wp), POINTER, DIMENSION(:,:,:,:,:)  , INTENT(inout) ::   pt              ! tracers and RHS of tracer equation 
     82      REAL(wp), DIMENSION(jpi,jpj,jpk         ), INTENT(in   ) ::   pU, pV, pW      ! 3 ocean volume flux components 
     83      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt,jpt), INTENT(inout) ::   pt              ! tracers and RHS of tracer equation 
    8784      ! 
    8885      INTEGER  ::   ji, jj, jk, jn   ! dummy loop indices 
     
    9087      REAL(wp) ::   zu, z0u, zzwx, zw , zalpha   ! local scalars 
    9188      REAL(wp) ::   zv, z0v, zzwy, z0w           !   -      - 
    92       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) ::   zwx, zslpx   ! 3D workspace 
    93       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) ::   zwy, zslpy   ! -      -  
     89      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zwx, zslpx   ! 3D workspace 
     90      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zwy, zslpy   ! -      -  
    9491      !!---------------------------------------------------------------------- 
    9592      ! 
    96       CALL halo_mng_set(jphls) 
    97  
    98       ALLOCATE(zwx(jpi,jpj,jpk)) 
    99       ALLOCATE(zwy(jpi,jpj,jpk)) 
    100       ALLOCATE(zslpx(jpi,jpj,jpk)) 
    101       ALLOCATE(zslpy(jpi,jpj,jpk)) 
    102  
    103       CALL halo_mng_resize(r1_e1e2t,'T', 1._wp) 
    104       CALL halo_mng_resize(r1_e1e2u,'U', 1._wp) 
    105       CALL halo_mng_resize(r1_e1e2v,'V', 1._wp) 
    106       CALL halo_mng_resize(tmask,'T', 1._wp) 
    107       CALL halo_mng_resize(wmask,'W', 1._wp) 
    108       CALL halo_mng_resize(umask,'U', 1._wp) 
    109       CALL halo_mng_resize(vmask,'V', 1._wp) 
    110       CALL halo_mng_resize(pt, 'T', 1._wp, kjpt=kjpt, fjpt=Kbb ) 
    111       CALL halo_mng_resize(pt, 'T', 1._wp, kjpt=kjpt, fjpt=Krhs ) 
    112       CALL halo_mng_resize(e3t,'T', 1._wp, fillval=1._wp, fjpt=Kmm) 
    113       CALL halo_mng_resize(e3u,'U', 1._wp, fillval=1._wp, fjpt=Kmm ) 
    114       CALL halo_mng_resize(e3v,'V', 1._wp, fillval=1._wp, fjpt=Kmm) 
    115       CALL halo_mng_resize(e3w,'W', 1._wp, fillval=1._wp, fjpt=Kmm) 
    116       CALL halo_mng_resize(pU, 'U', -1._wp) 
    117       CALL halo_mng_resize(pV, 'V', -1._wp) 
    118       CALL halo_mng_resize(pW, 'W', 1._wp) 
    119       ! 
    120       IF( ln_isfcav ) CALL halo_mng_resize(mikt,  'T', 1._wp) 
    121       IF( ld_msc_ups) CALL halo_mng_resize(rnfmsk,'T', 1._wp) 
    122       IF( ld_msc_ups) CALL halo_mng_resize(upsmsk,'T', 1._wp) 
    123  
    12493      IF( kt == kit000 )  THEN 
    12594         IF(lwp) WRITE(numout,*) 
     
    167136         END_3D 
    168137         ! lateral boundary conditions   (changed sign) 
    169          !CALL lbc_lnk_multi( 'traadv_mus', zwx, 'U', -1. , zwy, 'V', -1. ) 
     138         CALL lbc_lnk_multi( 'traadv_mus', zwx, 'U', -1. , zwy, 'V', -1. ) 
    170139         !                                !-- Slopes of tracer 
    171140         zslpx(:,:,jpk) = 0._wp                 ! bottom values 
     
    203172            zwy(ji,jj,jk) = pV(ji,jj,jk) * ( zalpha * zzwx + (1.-zalpha) * zzwy ) 
    204173         END_3D 
    205          !CALL lbc_lnk_multi( 'traadv_mus', zwx, 'U', -1. , zwy, 'V', -1. )   ! lateral boundary conditions   (changed sign) 
     174         CALL lbc_lnk_multi( 'traadv_mus', zwx, 'U', -1. , zwy, 'V', -1. )   ! lateral boundary conditions   (changed sign) 
    206175         ! 
    207176         DO_3D_00_00( 1, jpkm1 ) 
     
    264233         ! 
    265234      END DO                     ! end of tracer loop 
    266  
    267       DEALLOCATE(zwx,zwy) 
    268       DEALLOCATE(zslpx,zslpy) 
    269  
    270       CALL halo_mng_set(1) 
    271       ! 
    272       CALL halo_mng_resize(r1_e1e2t,'T', 1._wp) 
    273       CALL halo_mng_resize(r1_e1e2u,'U', 1._wp) 
    274       CALL halo_mng_resize(r1_e1e2v,'V', 1._wp) 
    275       CALL halo_mng_resize(pt,'T', 1._wp, kjpt=kjpt, fjpt=Kbb ) 
    276       CALL halo_mng_resize(pt,'T', 1._wp, kjpt=kjpt, fjpt=Krhs ) 
    277       CALL halo_mng_resize(tmask,'T', 1._wp) 
    278       CALL halo_mng_resize(wmask,'W', 1._wp) 
    279       CALL halo_mng_resize(umask,'U', 1._wp) 
    280       CALL halo_mng_resize(vmask,'V', 1._wp) 
    281       CALL halo_mng_resize(e3t,'T', 1._wp, fillval=1._wp, fjpt=Kmm) 
    282       CALL halo_mng_resize(e3u,'U', 1._wp, fillval=1._wp, fjpt=Kmm) 
    283       CALL halo_mng_resize(e3v,'V', 1._wp, fillval=1._wp, fjpt=Kmm) 
    284       CALL halo_mng_resize(e3w,'W', 1._wp, fillval=1._wp, fjpt=Kmm) 
    285       CALL halo_mng_resize(pU,'U', 1._wp) 
    286       CALL halo_mng_resize(pV,'V', 1._wp) 
    287       CALL halo_mng_resize(pW,'W', 1._wp) 
    288  
    289       IF( ln_isfcav ) CALL halo_mng_resize(mikt, 'T', 1._wp) 
    290       IF( ld_msc_ups) CALL halo_mng_resize(rnfmsk, 'T', 1._wp) 
    291       IF( ld_msc_ups) CALL halo_mng_resize(upsmsk, 'T', 1._wp) 
     235      ! 
    292236   END SUBROUTINE tra_adv_mus 
    293237 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ZDF/zdfdrg.F90

    r12738 r12810  
    268268      IF( ln_isfcav ) THEN              ! Ocean cavities: top friction setting 
    269269         ALLOCATE( rCd0_top(jpi,jpj), rCdU_top(jpi,jpj) ) 
    270          CALL drg_init( 'TOP   '   , INT(mikt)       ,                                         &   ! <== in 
     270         CALL drg_init( 'TOP   '   , mikt       ,                                         &   ! <== in 
    271271            &           r_Cdmin_top, r_Cdmax_top, r_z0_top, r_ke0_top, rCd0_top, rCdU_top )   ! ==> out 
    272272      ENDIF 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ZDF/zdfphy.F90

    r12586 r12810  
    247247            &                                        rCdU_bot  )     ! ==>> out : bottom drag [m/s] 
    248248         IF( ln_isfcav ) THEN    !* top drag   (ocean cavities) 
    249             CALL zdf_drg( kt, Kmm, INT(mikt) , r_Cdmin_top, r_Cdmax_top,   &   ! <<== in  
     249            CALL zdf_drg( kt, Kmm, mikt , r_Cdmin_top, r_Cdmax_top,   &   ! <<== in  
    250250               &              r_z0_top,   r_ke0_top,    rCd0_top,   & 
    251251               &                                        rCdU_top  )     ! ==>> out : bottom drag [m/s] 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/oce.F90

    r12586 r12810  
    2424   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)     ::   wi             !: vertical vel. (adaptive-implicit) [m/s] 
    2525   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)     ::   hdiv           !: horizontal divergence        [s-1] 
    26    REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:,:,:) ::   ts             !: 4D T-S fields                  [Celsius,psu]  
     26   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:,:) ::   ts             !: 4D T-S fields                  [Celsius,psu]  
    2727   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:)   ::   rab_b,  rab_n  !: thermal/haline expansion coef. [Celsius-1,psu-1] 
    2828   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)     ::   rn2b ,  rn2    !: brunt-vaisala frequency**2     [s-2] 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/TRP/trcadv.F90

    r12586 r12810  
    7676      INTEGER                                   , INTENT(in)    :: kt   ! ocean time-step index 
    7777      INTEGER                                   , INTENT(in)    :: Kbb, Kmm, Krhs ! time level indices 
    78       REAL(wp), POINTER, DIMENSION(:,:,:,:,:)   , INTENT(inout) :: ptr            ! passive tracers and RHS of tracer equation 
     78      REAL(wp), DIMENSION(jpi,jpj,jpk,jptra,jpt), INTENT(inout) :: ptr            ! passive tracers and RHS of tracer equation 
    7979      ! 
    8080      INTEGER ::   jk   ! dummy loop index 
    8181      CHARACTER (len=22) ::   charout 
    82       REAL(wp), POINTER, DIMENSION(:,:,:) ::   zuu, zvv, zww  ! effective velocity 
     82      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zuu, zvv, zww  ! effective velocity 
    8383      !!---------------------------------------------------------------------- 
    8484      ! 
    8585      IF( ln_timing )   CALL timing_start('trc_adv') 
    86       ALLOCATE( zuu(jpi,jpj,jpk), zvv(jpi,jpj,jpk), zww(jpi,jpj,jpk) ) 
    8786      ! 
    8887      !                                         !==  effective transport  ==! 
     
    144143      IF( ln_timing )   CALL timing_stop('trc_adv') 
    145144      ! 
    146       DEALLOCATE( zuu, zvv, zww ) 
    147145   END SUBROUTINE trc_adv 
    148146 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/trc.F90

    r12586 r12810  
    3333   REAL(wp), PUBLIC                                        ::  areatot        !: total volume  
    3434   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:  ) ::  cvol           !: volume correction -degrad option-  
    35    REAL(wp), PUBLIC, POINTER, SAVE, DIMENSION(:,:,:,:,:) ::  tr           !: tracer concentration  
     35   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:,:) ::  tr           !: tracer concentration  
    3636   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:  ) ::  sbc_trc_b      !: Before sbc fluxes for tracers 
    3737   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:  ) ::  sbc_trc        !: Now sbc fluxes for tracers 
Note: See TracChangeset for help on using the changeset viewer.