New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 7910 for branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN – NEMO

Ignore:
Timestamp:
2017-04-13T16:21:08+02:00 (7 years ago)
Author:
timgraham
Message:

All wrk_alloc removed

Location:
branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN
Files:
18 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynadv_cen2.F90

    r6750 r7910  
    2020   USE lib_mpp        ! MPP library 
    2121   USE prtctl         ! Print control 
    22    USE wrk_nemo       ! Memory Allocation 
    2322   USE timing         ! Timing 
    2423 
     
    5150      ! 
    5251      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    53       REAL(wp), POINTER, DIMENSION(:,:,:) ::  zfu_t, zfv_t, zfu_f, zfv_f, zfu_uw, zfv_vw, zfw 
    54       REAL(wp), POINTER, DIMENSION(:,:,:) ::  zfu, zfv 
     52      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zfu_t, zfv_t, zfu_f, zfv_f, zfu_uw, zfv_vw, zfw 
     53      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zfu, zfv 
    5554      !!---------------------------------------------------------------------- 
    5655      ! 
    5756      IF( nn_timing == 1 )  CALL timing_start('dyn_adv_cen2') 
    5857      ! 
    59       CALL wrk_alloc( jpi,jpj,jpk,   zfu_t, zfv_t, zfu_f, zfv_f, zfu_uw, zfv_vw, zfu, zfv, zfw ) 
    6058      ! 
    6159      IF( kt == nit000 .AND. lwp ) THEN 
     
    148146         &                       tab3d_2=va, clinfo2=           ' Va: ', mask2=vmask, clinfo3='dyn' ) 
    149147      ! 
    150       CALL wrk_dealloc( jpi, jpj, jpk, zfu_t, zfv_t, zfu_f, zfv_f, zfu_uw, zfv_vw, zfu, zfv, zfw ) 
    151148      ! 
    152149      IF( nn_timing == 1 )  CALL timing_stop('dyn_adv_cen2') 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynadv_ubs.F90

    r6750 r7910  
    2323   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
    2424   USE lib_mpp        ! MPP library 
    25    USE wrk_nemo       ! Memory Allocation 
    2625   USE timing         ! Timing 
    2726 
     
    7473      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    7574      REAL(wp) ::   zui, zvj, zfuj, zfvi, zl_u, zl_v   ! local scalars 
    76       REAL(wp), POINTER, DIMENSION(:,:,:  ) ::  zfu, zfv 
    77       REAL(wp), POINTER, DIMENSION(:,:,:  ) ::  zfu_t, zfv_t, zfu_f, zfv_f, zfu_uw, zfv_vw, zfw 
    78       REAL(wp), POINTER, DIMENSION(:,:,:,:) ::  zlu_uu, zlv_vv, zlu_uv, zlv_vu 
     75      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zfu, zfv 
     76      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zfu_t, zfv_t, zfu_f, zfv_f, zfu_uw, zfv_vw, zfw 
     77      REAL(wp), DIMENSION(jpi,jpj,jpk,jpts) ::  zlu_uu, zlv_vv, zlu_uv, zlv_vu 
    7978      !!---------------------------------------------------------------------- 
    8079      ! 
    8180      IF( nn_timing == 1 )  CALL timing_start('dyn_adv_ubs') 
    8281      ! 
    83       CALL wrk_alloc( jpi,jpj,jpk,        zfu_t , zfv_t , zfu_f , zfv_f, zfu_uw, zfv_vw, zfu, zfv, zfw ) 
    84       CALL wrk_alloc( jpi,jpj,jpk,jpts,   zlu_uu, zlv_vv, zlu_uv, zlv_vu                               ) 
    8582      ! 
    8683      IF( kt == nit000 ) THEN 
     
    241238         &                       tab3d_2=va, clinfo2=           ' Va: ', mask2=vmask, clinfo3='dyn' ) 
    242239      ! 
    243       CALL wrk_dealloc( jpi,jpj,jpk,        zfu_t , zfv_t , zfu_f , zfv_f, zfu_uw, zfv_vw, zfu, zfv, zfw ) 
    244       CALL wrk_dealloc( jpi,jpj,jpk,jpts,   zlu_uu, zlv_vv, zlu_uv, zlv_vu                               ) 
    245240      ! 
    246241      IF( nn_timing == 1 )  CALL timing_stop('dyn_adv_ubs') 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynbfr.F90

    r7753 r7910  
    2121   USE prtctl         ! Print control 
    2222   USE timing         ! Timing 
    23    USE wrk_nemo       ! Memory Allocation 
    2423 
    2524   IMPLICIT NONE 
     
    5049      INTEGER  ::   ikbu, ikbv   ! local integers 
    5150      REAL(wp) ::   zm1_2dt      ! local scalar 
    52       REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztrdu, ztrdv 
     51      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  ztrdu, ztrdv 
    5352      !!--------------------------------------------------------------------- 
    5453      ! 
     
    6463 
    6564        IF( l_trddyn ) THEN      ! trends: store the input trends 
    66            CALL wrk_alloc( jpi,jpj,jpk,   ztrdu, ztrdv ) 
    6765           ztrdu(:,:,:) = ua(:,:,:) 
    6866           ztrdv(:,:,:) = va(:,:,:) 
     
    102100           ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 
    103101           CALL trd_dyn( ztrdu(:,:,:), ztrdv(:,:,:), jpdyn_bfr, kt ) 
    104            CALL wrk_dealloc( jpi,jpj,jpk,   ztrdu, ztrdv ) 
    105102        ENDIF 
    106103        !                                          ! print mean trends (used for debugging) 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90

    r7761 r7910  
    4444   USE lib_mpp         ! MPP library 
    4545   USE eosbn2          ! compute density 
    46    USE wrk_nemo        ! Memory Allocation 
    4746   USE timing          ! Timing 
    4847   USE iom 
     
    8483      !!---------------------------------------------------------------------- 
    8584      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
    86       REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztrdu, ztrdv 
     85      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  ztrdu, ztrdv 
    8786      !!---------------------------------------------------------------------- 
    8887      ! 
     
    9089      ! 
    9190      IF( l_trddyn ) THEN                    ! Temporary saving of ua and va trends (l_trddyn) 
    92          CALL wrk_alloc( jpi,jpj,jpk, ztrdu, ztrdv ) 
    9391         ztrdu(:,:,:) = ua(:,:,:) 
    9492         ztrdv(:,:,:) = va(:,:,:) 
     
    108106         ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 
    109107         CALL trd_dyn( ztrdu, ztrdv, jpdyn_hpg, kt ) 
    110          CALL wrk_dealloc( jpi,jpj,jpk, ztrdu, ztrdv ) 
    111108      ENDIF 
    112109      ! 
     
    134131      INTEGER  ::   ji, jj, jk, ikt    ! dummy loop indices      ISF 
    135132      REAL(wp) ::   znad 
    136       REAL(wp), POINTER, DIMENSION(:,:,:)   ::  ztstop, zrhd ! hypothesys on isf density 
    137       REAL(wp), POINTER, DIMENSION(:,:)     ::  zrhdtop_isf  ! density at bottom of ISF 
    138       REAL(wp), POINTER, DIMENSION(:,:)     ::  ziceload     ! density at bottom of ISF 
     133      REAL(wp), DIMENSION(jpi,jpj,2)   ::  ztstop       ! hypothesys on isf density 
     134      REAL(wp), DIMENSION(jpi,jpj,jpk)   ::  zrhd         ! hypothesys on isf density 
     135      REAL(wp), DIMENSION(jpi,jpj)     ::  zrhdtop_isf  ! density at bottom of ISF 
     136      REAL(wp), DIMENSION(jpi,jpj)     ::  ziceload     ! density at bottom of ISF 
    139137      !! 
    140138      NAMELIST/namdyn_hpg/ ln_hpg_zco, ln_hpg_zps, ln_hpg_sco,     & 
     
    200198      IF ( .NOT. ln_isfcav ) riceload(:,:)=0.0 
    201199      IF (       ln_isfcav ) THEN 
    202          CALL wrk_alloc( jpi,jpj, 2,  ztstop)  
    203          CALL wrk_alloc( jpi,jpj,jpk, zrhd  ) 
    204          CALL wrk_alloc( jpi,jpj,     zrhdtop_isf, ziceload)  
    205200         ! 
    206201         IF(lwp) WRITE(numout,*) 
     
    240235         riceload(:,:)=ziceload(:,:)  ! need to be saved for diaar5 
    241236 
    242          CALL wrk_dealloc( jpi,jpj, 2,  ztstop)  
    243          CALL wrk_dealloc( jpi,jpj,jpk, zrhd  ) 
    244          CALL wrk_dealloc( jpi,jpj,     zrhdtop_isf, ziceload)  
    245237      END IF 
    246238      ! 
     
    268260      INTEGER  ::   ji, jj, jk       ! dummy loop indices 
    269261      REAL(wp) ::   zcoef0, zcoef1   ! temporary scalars 
    270       REAL(wp), POINTER, DIMENSION(:,:,:) ::  zhpi, zhpj 
    271       !!---------------------------------------------------------------------- 
    272       ! 
    273       CALL wrk_alloc( jpi,jpj,jpk,   zhpi, zhpj ) 
     262      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zhpi, zhpj 
     263      !!---------------------------------------------------------------------- 
     264      ! 
    274265      ! 
    275266      IF( kt == nit000 ) THEN 
     
    315306      END DO 
    316307      ! 
    317       CALL wrk_dealloc( jpi,jpj,jpk,   zhpi, zhpj ) 
    318308      ! 
    319309   END SUBROUTINE hpg_zco 
     
    333323      INTEGER  ::   iku, ikv                         ! temporary integers 
    334324      REAL(wp) ::   zcoef0, zcoef1, zcoef2, zcoef3   ! temporary scalars 
    335       REAL(wp), POINTER, DIMENSION(:,:,:) ::  zhpi, zhpj 
    336       !!---------------------------------------------------------------------- 
    337       ! 
    338       CALL wrk_alloc( jpi,jpj,jpk,   zhpi, zhpj ) 
     325      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zhpi, zhpj 
     326      !!---------------------------------------------------------------------- 
     327      ! 
    339328      ! 
    340329      IF( kt == nit000 ) THEN 
     
    405394      END DO 
    406395      ! 
    407       CALL wrk_dealloc( jpi,jpj,jpk,   zhpi, zhpj ) 
    408396      ! 
    409397   END SUBROUTINE hpg_zps 
     
    433421      REAL(wp) ::   zcoef0, zuap, zvap, znad, ztmp       ! temporary scalars 
    434422      LOGICAL  ::   ll_tmp1, ll_tmp2                     ! local logical variables 
    435       REAL(wp), POINTER, DIMENSION(:,:,:) ::  zhpi, zhpj 
    436       REAL(wp), POINTER, DIMENSION(:,:)   ::  zcpx, zcpy !W/D pressure filter 
    437       !!---------------------------------------------------------------------- 
    438       ! 
    439       CALL wrk_alloc( jpi,jpj,jpk, zhpi, zhpj ) 
    440       IF( ln_wd ) CALL wrk_alloc( jpi,jpj, zcpx, zcpy ) 
     423      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zhpi, zhpj 
     424      REAL(wp), DIMENSION(jpi,jpj)   ::  zcpx, zcpy !W/D pressure filter 
     425      !!---------------------------------------------------------------------- 
     426      ! 
    441427      ! 
    442428      IF( kt == nit000 ) THEN 
     
    554540      END DO 
    555541      ! 
    556       CALL wrk_dealloc( jpi,jpj,jpk, zhpi, zhpj ) 
    557       IF( ln_wd ) CALL wrk_dealloc( jpi,jpj, zcpx, zcpy ) 
    558542      ! 
    559543   END SUBROUTINE hpg_sco 
     
    583567      INTEGER  ::   ji, jj, jk, ikt, iktp1i, iktp1j   ! dummy loop indices 
    584568      REAL(wp) ::   zcoef0, zuap, zvap, znad          ! temporary scalars 
    585       REAL(wp), POINTER, DIMENSION(:,:,:)   ::  zhpi, zhpj 
    586       REAL(wp), POINTER, DIMENSION(:,:,:)   ::  ztstop 
    587       REAL(wp), POINTER, DIMENSION(:,:)     ::  zrhdtop_oce 
    588       !!---------------------------------------------------------------------- 
    589       ! 
    590       CALL wrk_alloc( jpi,jpj,  2, ztstop)  
    591       CALL wrk_alloc( jpi,jpj,jpk, zhpi, zhpj) 
    592       CALL wrk_alloc( jpi,jpj,     zrhdtop_oce ) 
     569      REAL(wp), DIMENSION(jpi,jpj,jpk)   ::  zhpi, zhpj 
     570      REAL(wp), DIMENSION(jpi,jpj,2)   ::  ztstop 
     571      REAL(wp), DIMENSION(jpi,jpj)     ::  zrhdtop_oce 
     572      !!---------------------------------------------------------------------- 
     573      ! 
    593574      ! 
    594575      ! Local constant initialization 
     
    668649      END DO 
    669650     ! 
    670       CALL wrk_dealloc( jpi,jpj,2  , ztstop) 
    671       CALL wrk_dealloc( jpi,jpj,jpk, zhpi, zhpj) 
    672       CALL wrk_dealloc( jpi,jpj    , zrhdtop_oce ) 
    673651      ! 
    674652   END SUBROUTINE hpg_isf 
     
    690668      REAL(wp) ::   z1_12, cffv, cffy   !    "         " 
    691669      LOGICAL  ::   ll_tmp1, ll_tmp2    ! local logical variables 
    692       REAL(wp), POINTER, DIMENSION(:,:,:) ::  zhpi, zhpj 
    693       REAL(wp), POINTER, DIMENSION(:,:,:) ::  dzx, dzy, dzz, dzu, dzv, dzw 
    694       REAL(wp), POINTER, DIMENSION(:,:,:) ::  drhox, drhoy, drhoz, drhou, drhov, drhow 
    695       REAL(wp), POINTER, DIMENSION(:,:,:) ::  rho_i, rho_j, rho_k 
    696       REAL(wp), POINTER, DIMENSION(:,:)   ::  zcpx, zcpy    !W/D pressure filter 
    697       !!---------------------------------------------------------------------- 
    698       ! 
    699       CALL wrk_alloc( jpi, jpj, jpk, dzx  , dzy  , dzz  , dzu  , dzv  , dzw   ) 
    700       CALL wrk_alloc( jpi, jpj, jpk, drhox, drhoy, drhoz, drhou, drhov, drhow ) 
    701       CALL wrk_alloc( jpi, jpj, jpk, rho_i, rho_j, rho_k,  zhpi,  zhpj        ) 
    702       IF( ln_wd ) CALL wrk_alloc( jpi,jpj, zcpx, zcpy ) 
     670      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zhpi, zhpj 
     671      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  dzx, dzy, dzz, dzu, dzv, dzw 
     672      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  drhox, drhoy, drhoz, drhou, drhov, drhow 
     673      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  rho_i, rho_j, rho_k 
     674      REAL(wp), DIMENSION(jpi,jpj)   ::  zcpx, zcpy    !W/D pressure filter 
     675      !!---------------------------------------------------------------------- 
     676      ! 
    703677      ! 
    704678      ! 
     
    949923      END DO 
    950924      ! 
    951       CALL wrk_dealloc( jpi, jpj, jpk, dzx  , dzy  , dzz  , dzu  , dzv  , dzw   ) 
    952       CALL wrk_dealloc( jpi, jpj, jpk, drhox, drhoy, drhoz, drhou, drhov, drhow ) 
    953       CALL wrk_dealloc( jpi, jpj, jpk, rho_i, rho_j, rho_k,  zhpi,  zhpj        ) 
    954       IF( ln_wd ) CALL wrk_dealloc( jpi,jpj, zcpx, zcpy ) 
    955925      ! 
    956926   END SUBROUTINE hpg_djc 
     
    980950      REAL(wp) :: zrhdt1 
    981951      REAL(wp) :: zdpdx1, zdpdx2, zdpdy1, zdpdy2 
    982       REAL(wp), POINTER, DIMENSION(:,:,:) ::   zdept, zrhh 
    983       REAL(wp), POINTER, DIMENSION(:,:,:) ::   zhpi, zu, zv, fsp, xsp, asp, bsp, csp, dsp 
    984       REAL(wp), POINTER, DIMENSION(:,:)   ::   zsshu_n, zsshv_n 
    985       REAL(wp), POINTER, DIMENSION(:,:)   ::  zcpx, zcpy    !W/D pressure filter 
    986       !!---------------------------------------------------------------------- 
    987       ! 
    988       CALL wrk_alloc( jpi,jpj,jpk,   zhpi, zu, zv, fsp, xsp, asp, bsp, csp, dsp ) 
    989       CALL wrk_alloc( jpi,jpj,jpk,   zdept, zrhh ) 
    990       CALL wrk_alloc( jpi,jpj,       zsshu_n, zsshv_n ) 
    991       IF( ln_wd ) CALL wrk_alloc( jpi,jpj, zcpx, zcpy ) 
     952      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zdept, zrhh 
     953      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zhpi, zu, zv, fsp, xsp, asp, bsp, csp, dsp 
     954      REAL(wp), DIMENSION(jpi,jpj)   ::   zsshu_n, zsshv_n 
     955      REAL(wp), DIMENSION(jpi,jpj)   ::  zcpx, zcpy    !W/D pressure filter 
     956      !!---------------------------------------------------------------------- 
     957      ! 
    992958      ! 
    993959      IF( kt == nit000 ) THEN 
     
    12981264      END DO 
    12991265      ! 
    1300       CALL wrk_dealloc( jpi,jpj,jpk,   zhpi, zu, zv, fsp, xsp, asp, bsp, csp, dsp ) 
    1301       CALL wrk_dealloc( jpi,jpj,jpk,   zdept, zrhh ) 
    1302       CALL wrk_dealloc( jpi,jpj,       zsshu_n, zsshv_n ) 
    1303       IF( ln_wd ) CALL wrk_dealloc( jpi,jpj, zcpx, zcpy ) 
    13041266      ! 
    13051267   END SUBROUTINE hpg_prj 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynkeg.F90

    r7753 r7910  
    2222   USE lib_mpp         ! MPP library 
    2323   USE prtctl          ! Print control 
    24    USE wrk_nemo        ! Memory Allocation 
    2524   USE timing          ! Timing 
    2625   USE bdy_oce         ! ocean open boundary conditions 
     
    7776      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    7877      REAL(wp) ::   zu, zv       ! temporary scalars 
    79       REAL(wp), POINTER, DIMENSION(:,:,:) :: zhke 
    80       REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv  
     78      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zhke 
     79      REAL(wp), DIMENSION(jpi,jpj,jpk) :: ztrdu, ztrdv  
    8180      INTEGER  ::   jb                 ! dummy loop indices 
    8281      INTEGER  ::   ii, ij, igrd, ib_bdy   ! local integers 
     
    8685      IF( nn_timing == 1 )   CALL timing_start('dyn_keg') 
    8786      ! 
    88       CALL wrk_alloc( jpi,jpj,jpk,   zhke ) 
    8987      ! 
    9088      IF( kt == nit000 ) THEN 
     
    9593 
    9694      IF( l_trddyn ) THEN           ! Save ua and va trends 
    97          CALL wrk_alloc( jpi,jpj,jpk,   ztrdu, ztrdv ) 
    9895         ztrdu(:,:,:) = ua(:,:,:)  
    9996         ztrdv(:,:,:) = va(:,:,:)  
     
    187184         ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 
    188185         CALL trd_dyn( ztrdu, ztrdv, jpdyn_keg, kt ) 
    189          CALL wrk_dealloc( jpi,jpj,jpk,   ztrdu, ztrdv ) 
    190186      ENDIF 
    191187      ! 
     
    193189         &                       tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
    194190      ! 
    195       CALL wrk_dealloc( jpi,jpj,jpk,   zhke ) 
    196191      ! 
    197192      IF( nn_timing == 1 )   CALL timing_stop('dyn_keg') 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf.F90

    r7753 r7910  
    2727   USE lib_mpp        ! distribued memory computing library 
    2828   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
    29    USE wrk_nemo       ! Memory Allocation 
    3029   USE timing         ! Timing 
    3130 
     
    6261      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
    6362      ! 
    64       REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztrdu, ztrdv 
     63      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  ztrdu, ztrdv 
    6564      !!---------------------------------------------------------------------- 
    6665      ! 
     
    6867      ! 
    6968      IF( l_trddyn )   THEN                      ! temporary save of momentum trends 
    70          CALL wrk_alloc( jpi,jpj,jpk,   ztrdu, ztrdv ) 
    7169         ztrdu(:,:,:) = ua(:,:,:)  
    7270         ztrdv(:,:,:) = va(:,:,:)  
     
    8583         ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 
    8684         CALL trd_dyn( ztrdu, ztrdv, jpdyn_ldf, kt ) 
    87          CALL wrk_dealloc( jpi,jpj,jpk,   ztrdu, ztrdv ) 
    8885      ENDIF 
    8986      !                                          ! print sum trends (used for debugging) 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_iso.F90

    r6140 r7910  
    2828   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    2929   USE prtctl          ! Print control 
    30    USE wrk_nemo        ! Memory Allocation 
    3130   USE timing          ! Timing 
    3231 
     
    112111      REAL(wp) ::   zuav, zvav, zuwslpi, zuwslpj, zvwslpi, zvwslpj   !   -      - 
    113112      ! 
    114       REAL(wp), POINTER, DIMENSION(:,:) :: ziut, zjuf, zjvt, zivf, zdku, zdk1u, zdkv, zdk1v 
     113      REAL(wp), DIMENSION(jpi,jpj) :: ziut, zjuf, zjvt, zivf, zdku, zdk1u, zdkv, zdk1v 
    115114      !!---------------------------------------------------------------------- 
    116115      ! 
    117116      IF( nn_timing == 1 )  CALL timing_start('dyn_ldf_iso') 
    118117      ! 
    119       CALL wrk_alloc( jpi, jpj, ziut, zjuf, zjvt, zivf, zdku, zdk1u, zdkv, zdk1v )  
    120118      ! 
    121119      IF( kt == nit000 ) THEN 
     
    409407      END DO                                           !   End of slab 
    410408      !                                                ! =============== 
    411       CALL wrk_dealloc( jpi, jpj, ziut, zjuf, zjvt, zivf, zdku, zdk1u, zdkv, zdk1v )  
    412409      ! 
    413410      IF( nn_timing == 1 )  CALL timing_stop('dyn_ldf_iso') 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_lap_blp.F90

    r7753 r7910  
    1919   USE in_out_manager ! I/O manager 
    2020   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
    21    USE wrk_nemo       ! Memory Allocation 
    2221   USE timing         ! Timing 
    2322 
     
    5756      REAL(wp) ::   zsign        ! local scalars 
    5857      REAL(wp) ::   zua, zva     ! local scalars 
    59       REAL(wp), POINTER, DIMENSION(:,:) ::  zcur, zdiv 
     58      REAL(wp), DIMENSION(jpi,jpj) ::  zcur, zdiv 
    6059      !!---------------------------------------------------------------------- 
    6160      ! 
     
    6867      IF( nn_timing == 1 )   CALL timing_start('dyn_ldf_lap') 
    6968      ! 
    70       CALL wrk_alloc( jpi, jpj, zcur, zdiv )  
    7169      ! 
    7270      IF( kpass == 1 ) THEN   ;   zsign =  1._wp      ! bilaplacian operator require a minus sign 
     
    107105      END DO                                           !   End of slab 
    108106      !                                                ! =============== 
    109       CALL wrk_dealloc( jpi, jpj, zcur, zdiv )  
    110107      ! 
    111108      IF( nn_timing == 1 )  CALL timing_stop('dyn_ldf_lap') 
     
    131128      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   pua, pva   ! momentum trend 
    132129      ! 
    133       REAL(wp), POINTER, DIMENSION(:,:,:) ::   zulap, zvlap   ! laplacian at u- and v-point 
     130      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zulap, zvlap   ! laplacian at u- and v-point 
    134131      !!---------------------------------------------------------------------- 
    135132      ! 
    136133      IF( nn_timing == 1 )  CALL timing_start('dyn_ldf_blp') 
    137134      ! 
    138       CALL wrk_alloc( jpi, jpj, jpk, zulap, zvlap )  
    139135      ! 
    140136      IF( kt == nit000 )  THEN 
     
    154150      CALL dyn_ldf_lap( kt, zulap, zvlap, pua, pva, 2 )   ! rotated laplacian applied to zlap (output in pta) 
    155151      ! 
    156       CALL wrk_dealloc( jpi, jpj, jpk, zulap, zvlap )  
    157152      ! 
    158153      IF( nn_timing == 1 )  CALL timing_stop('dyn_ldf_blp') 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynnxt.F90

    r7753 r7910  
    4444   USE lbclnk         ! lateral boundary condition (or mpp link) 
    4545   USE lib_mpp        ! MPP library 
    46    USE wrk_nemo       ! Memory Allocation 
    4746   USE prtctl         ! Print control 
    4847   USE timing         ! Timing 
     
    9796      REAL(wp) ::   zue3a, zue3n, zue3b, zuf, zcoef    ! local scalars 
    9897      REAL(wp) ::   zve3a, zve3n, zve3b, zvf, z1_2dt   !   -      - 
    99       REAL(wp), POINTER, DIMENSION(:,:)   ::  zue, zve 
    100       REAL(wp), POINTER, DIMENSION(:,:,:) ::  ze3u_f, ze3v_f, zua, zva  
     98      REAL(wp), DIMENSION(jpi,jpj)   ::  zue, zve 
     99      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  ze3u_f, ze3v_f, zua, zva  
    101100      !!---------------------------------------------------------------------- 
    102101      ! 
    103102      IF( nn_timing == 1 )   CALL timing_start('dyn_nxt') 
    104103      ! 
    105       IF( ln_dynspg_ts       )   CALL wrk_alloc( jpi,jpj,       zue, zve) 
    106       IF( l_trddyn           )   CALL wrk_alloc( jpi,jpj,jpk,   zua, zva) 
    107104      ! 
    108105      IF( kt == nit000 ) THEN 
     
    253250            ELSE                          ! Asselin filter applied on thickness weighted velocity 
    254251               ! 
    255                CALL wrk_alloc( jpi,jpj,jpk,   ze3u_f, ze3v_f ) 
    256252               ! Before filtered scale factor at (u/v)-points stored in ze3u_f, ze3v_f 
    257253               CALL dom_vvl_interpol( e3t_b(:,:,:), ze3u_f, 'U' ) 
     
    280276               e3v_b(:,:,1:jpkm1) = ze3v_f(:,:,1:jpkm1) 
    281277               ! 
    282                CALL wrk_dealloc( jpi,jpj,jpk,   ze3u_f, ze3v_f ) 
    283278            ENDIF 
    284279            ! 
     
    346341         &                       tab3d_2=vn, clinfo2=' Vn: '       , mask2=vmask ) 
    347342      !  
    348       IF( ln_dynspg_ts )   CALL wrk_dealloc( jpi,jpj,       zue, zve ) 
    349       IF( l_trddyn     )   CALL wrk_dealloc( jpi,jpj,jpk,   zua, zva ) 
    350343      ! 
    351344      IF( nn_timing == 1 )  CALL timing_stop('dyn_nxt') 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg.F90

    r7753 r7910  
    2828   USE in_out_manager ! I/O manager 
    2929   USE lib_mpp        ! MPP library 
    30    USE wrk_nemo       ! Memory Allocation 
    3130   USE timing         ! Timing 
    3231 
     
    7574      INTEGER  ::   ji, jj, jk                             ! dummy loop indices 
    7675      REAL(wp) ::   z2dt, zg_2, zintp, zgrau0r             ! temporary scalar 
    77       REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztrdu, ztrdv 
    78       REAL(wp), POINTER, DIMENSION(:,:)   ::  zpice 
     76      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  ztrdu, ztrdv 
     77      REAL(wp), DIMENSION(jpi,jpj)   ::  zpice 
    7978      !!---------------------------------------------------------------------- 
    8079      ! 
     
    8281      ! 
    8382      IF( l_trddyn )   THEN                      ! temporary save of ta and sa trends 
    84          CALL wrk_alloc( jpi,jpj,jpk,   ztrdu, ztrdv )  
    8583         ztrdu(:,:,:) = ua(:,:,:) 
    8684         ztrdv(:,:,:) = va(:,:,:) 
     
    124122         ! 
    125123         IF( nn_ice_embd == 2 ) THEN          !== embedded sea ice: Pressure gradient due to snow-ice mass ==! 
    126             CALL wrk_alloc( jpi,jpj,   zpice ) 
    127124            !                                             
    128125            zintp = REAL( MOD( kt-1, nn_fsbc ) ) / REAL( nn_fsbc ) 
     
    136133            END DO 
    137134            ! 
    138             CALL wrk_dealloc( jpi,jpj,   zpice )          
    139135         ENDIF 
    140136         ! 
     
    161157         ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 
    162158         CALL trd_dyn( ztrdu, ztrdv, jpdyn_spg, kt ) 
    163          CALL wrk_dealloc( jpi,jpj,jpk,   ztrdu, ztrdv )  
    164159      ENDIF 
    165160      !                                      ! print mean trends (used for debugging) 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90

    r7831 r7910  
    4747   USE iom             ! IOM library 
    4848   USE restart         ! only for lrst_oce 
    49    USE wrk_nemo        ! Memory Allocation 
    5049   USE timing          ! Timing     
    5150   USE diatmb          ! Top,middle,bottom output 
     
    151150      REAL(wp) ::   za0, za1, za2, za3    !   -      - 
    152151      ! 
    153       REAL(wp), POINTER, DIMENSION(:,:) :: zsshp2_e 
    154       REAL(wp), POINTER, DIMENSION(:,:) :: zu_trd, zv_trd, zu_frc, zv_frc, zssh_frc 
    155       REAL(wp), POINTER, DIMENSION(:,:) :: zwx, zwy, zhdiv 
    156       REAL(wp), POINTER, DIMENSION(:,:) :: zhup2_e, zhvp2_e, zhust_e, zhvst_e 
    157       REAL(wp), POINTER, DIMENSION(:,:) :: zsshu_a, zsshv_a 
    158       REAL(wp), POINTER, DIMENSION(:,:) :: zhf 
    159       REAL(wp), POINTER, DIMENSION(:,:) :: zcpx, zcpy                 ! Wetting/Dying gravity filter coef. 
     152      REAL(wp), DIMENSION(jpi,jpj) :: zsshp2_e 
     153      REAL(wp), DIMENSION(jpi,jpj) :: zu_trd, zv_trd, zu_frc, zv_frc, zssh_frc 
     154      REAL(wp), DIMENSION(jpi,jpj) :: zwx, zwy, zhdiv 
     155      REAL(wp), DIMENSION(jpi,jpj) :: zhup2_e, zhvp2_e, zhust_e, zhvst_e 
     156      REAL(wp), DIMENSION(jpi,jpj) :: zsshu_a, zsshv_a 
     157      REAL(wp), DIMENSION(jpi,jpj) :: zhf 
     158      REAL(wp), DIMENSION(jpi,jpj) :: zcpx, zcpy                 ! Wetting/Dying gravity filter coef. 
    160159      !!---------------------------------------------------------------------- 
    161160      ! 
     
    163162      ! 
    164163      !                                         !* Allocate temporary arrays 
    165       CALL wrk_alloc( jpi,jpj,   zsshp2_e, zhdiv ) 
    166       CALL wrk_alloc( jpi,jpj,   zu_trd, zv_trd) 
    167       CALL wrk_alloc( jpi,jpj,   zwx, zwy, zssh_frc, zu_frc, zv_frc) 
    168       CALL wrk_alloc( jpi,jpj,   zhup2_e, zhvp2_e, zhust_e, zhvst_e) 
    169       CALL wrk_alloc( jpi,jpj,   zsshu_a, zsshv_a                  ) 
    170       CALL wrk_alloc( jpi,jpj,   zhf ) 
    171       IF( ln_wd ) CALL wrk_alloc( jpi, jpj, zcpx, zcpy ) 
    172164      ! 
    173165      zmdi=1.e+20                               !  missing data indicator for masking 
     
    10911083      IF( lrst_oce .AND.ln_bt_fw )   CALL ts_rst( kt, 'WRITE' ) 
    10921084      ! 
    1093       CALL wrk_dealloc( jpi,jpj,   zsshp2_e, zhdiv ) 
    1094       CALL wrk_dealloc( jpi,jpj,   zu_trd, zv_trd ) 
    1095       CALL wrk_dealloc( jpi,jpj,   zwx, zwy, zssh_frc, zu_frc, zv_frc ) 
    1096       CALL wrk_dealloc( jpi,jpj,   zhup2_e, zhvp2_e, zhust_e, zhvst_e ) 
    1097       CALL wrk_dealloc( jpi,jpj,   zsshu_a, zsshv_a                                   ) 
    1098       CALL wrk_dealloc( jpi,jpj,   zhf ) 
    1099       IF( ln_wd ) CALL wrk_dealloc( jpi, jpj, zcpx, zcpy ) 
    11001085      ! 
    11011086      IF ( ln_diatmb ) THEN 
     
    12481233      INTEGER  ::   ji ,jj              ! dummy loop indices 
    12491234      REAL(wp) ::   zxr2, zyr2, zcmax   ! local scalar 
    1250       REAL(wp), POINTER, DIMENSION(:,:) ::   zcu 
     1235      REAL(wp), DIMENSION(jpi,jpj) ::   zcu 
    12511236      !!---------------------------------------------------------------------- 
    12521237      ! 
    12531238      ! Max courant number for ext. grav. waves 
    12541239      ! 
    1255       CALL wrk_alloc( jpi,jpj,   zcu ) 
    12561240      ! 
    12571241      DO jj = 1, jpj 
     
    13201304      ENDIF 
    13211305      ! 
    1322       CALL wrk_dealloc( jpi,jpj,   zcu ) 
    13231306      ! 
    13241307   END SUBROUTINE dyn_spg_ts_init 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90

    r7753 r7910  
    4040   USE in_out_manager ! I/O manager 
    4141   USE lib_mpp        ! MPP library 
    42    USE wrk_nemo       ! Memory Allocation 
    4342   USE timing         ! Timing 
    4443 
     
    9897      INTEGER, INTENT( in ) ::   kt   ! ocean time-step index 
    9998      ! 
    100       REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztrdu, ztrdv 
     99      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  ztrdu, ztrdv 
    101100      !!---------------------------------------------------------------------- 
    102101      ! 
    103102      IF( nn_timing == 1 )  CALL timing_start('dyn_vor') 
    104103      ! 
    105       IF( l_trddyn )   CALL wrk_alloc( jpi,jpj,jpk, ztrdu, ztrdv ) 
    106104      ! 
    107105      SELECT CASE ( nvor_scheme )               !==  vorticity trend added to the general trend  ==! 
     
    190188         &                     tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
    191189      ! 
    192       IF( l_trddyn )   CALL wrk_dealloc( jpi,jpj,jpk, ztrdu, ztrdv ) 
    193190      ! 
    194191      IF( nn_timing == 1 )  CALL timing_stop('dyn_vor') 
     
    225222      INTEGER  ::   ji, jj, jk           ! dummy loop indices 
    226223      REAL(wp) ::   zx1, zy1, zx2, zy2   ! local scalars 
    227       REAL(wp), POINTER, DIMENSION(:,:) ::   zwx, zwy, zwz   ! 2D workspace 
     224      REAL(wp), DIMENSION(jpi,jpj) ::   zwx, zwy, zwz   ! 2D workspace 
    228225      !!---------------------------------------------------------------------- 
    229226      ! 
    230227      IF( nn_timing == 1 )  CALL timing_start('vor_ene') 
    231228      ! 
    232       CALL wrk_alloc( jpi,jpj,   zwx, zwy, zwz )  
    233229      ! 
    234230      IF( kt == nit000 ) THEN 
     
    311307      END DO                                           !   End of slab 
    312308      !                                                ! =============== 
    313       CALL wrk_dealloc( jpi, jpj, zwx, zwy, zwz )  
    314309      ! 
    315310      IF( nn_timing == 1 )  CALL timing_stop('vor_ene') 
     
    346341      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    347342      REAL(wp) ::   zuav, zvau   ! local scalars 
    348       REAL(wp), POINTER, DIMENSION(:,:) ::   zwx, zwy, zwz, zww   ! 2D workspace 
     343      REAL(wp), DIMENSION(jpi,jpj) ::   zwx, zwy, zwz, zww   ! 2D workspace 
    349344      !!---------------------------------------------------------------------- 
    350345      ! 
    351346      IF( nn_timing == 1 )  CALL timing_start('vor_ens') 
    352347      ! 
    353       CALL wrk_alloc( jpi,jpj,   zwx, zwy, zwz )  
    354348      ! 
    355349      IF( kt == nit000 ) THEN 
     
    431425      END DO                                           !   End of slab 
    432426      !                                                ! =============== 
    433       CALL wrk_dealloc( jpi, jpj, zwx, zwy, zwz )  
    434427      ! 
    435428      IF( nn_timing == 1 )  CALL timing_stop('vor_ens') 
     
    466459      REAL(wp) ::   zmsk, ze3    ! local scalars 
    467460      ! 
    468       REAL(wp), POINTER, DIMENSION(:,:)   :: zwx, zwy, zwz, z1_e3f 
    469       REAL(wp), POINTER, DIMENSION(:,:)   :: ztnw, ztne, ztsw, ztse 
     461      REAL(wp), DIMENSION(jpi,jpj)   :: zwx, zwy, zwz, z1_e3f 
     462      REAL(wp), DIMENSION(jpi,jpj)   :: ztnw, ztne, ztsw, ztse 
    470463      !!---------------------------------------------------------------------- 
    471464      ! 
    472465      IF( nn_timing == 1 )  CALL timing_start('vor_een') 
    473466      ! 
    474       CALL wrk_alloc( jpi,jpj,   zwx , zwy , zwz , z1_e3f )  
    475       CALL wrk_alloc( jpi,jpj,   ztnw, ztne, ztsw, ztse   )  
    476467      ! 
    477468      IF( kt == nit000 ) THEN 
     
    599590      !                                                ! =============== 
    600591      ! 
    601       CALL wrk_dealloc( jpi,jpj,   zwx , zwy , zwz , z1_e3f )  
    602       CALL wrk_dealloc( jpi,jpj,   ztnw, ztne, ztsw, ztse   )  
    603592      ! 
    604593      IF( nn_timing == 1 )  CALL timing_stop('vor_een') 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynzad.F90

    r7753 r7910  
    2222   USE lib_mpp        ! MPP library 
    2323   USE prtctl         ! Print control 
    24    USE wrk_nemo       ! Memory Allocation 
    2524   USE timing         ! Timing 
    2625 
     
    6059      INTEGER  ::   ji, jj, jk      ! dummy loop indices 
    6160      REAL(wp) ::   zua, zva        ! temporary scalars 
    62       REAL(wp), POINTER, DIMENSION(:,:,:) ::  zwuw , zwvw 
    63       REAL(wp), POINTER, DIMENSION(:,:  ) ::  zww 
    64       REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztrdu, ztrdv 
     61      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zwuw , zwvw 
     62      REAL(wp), DIMENSION(jpi,jpj) ::  zww 
     63      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  ztrdu, ztrdv 
    6564      !!---------------------------------------------------------------------- 
    6665      ! 
    6766      IF( nn_timing == 1 )  CALL timing_start('dyn_zad') 
    6867      ! 
    69       CALL wrk_alloc( jpi,jpj, zww )  
    70       CALL wrk_alloc( jpi,jpj,jpk, zwuw , zwvw )  
    7168      ! 
    7269      IF( kt == nit000 ) THEN 
     
    7673 
    7774      IF( l_trddyn )   THEN         ! Save ua and va trends 
    78          CALL wrk_alloc( jpi, jpj, jpk, ztrdu, ztrdv )  
    7975         ztrdu(:,:,:) = ua(:,:,:)  
    8076         ztrdv(:,:,:) = va(:,:,:)  
     
    133129         ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 
    134130         CALL trd_dyn( ztrdu, ztrdv, jpdyn_zad, kt ) 
    135          CALL wrk_dealloc( jpi, jpj, jpk, ztrdu, ztrdv )  
    136131      ENDIF 
    137132      !                             ! Control print 
     
    139134         &                       tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
    140135      ! 
    141       CALL wrk_dealloc( jpi,jpj, zww )  
    142       CALL wrk_dealloc( jpi,jpj,jpk, zwuw , zwvw )  
    143136      ! 
    144137      IF( nn_timing == 1 )  CALL timing_stop('dyn_zad') 
     
    175168      REAL(wp) ::   z2dtzts         ! length of Euler forward sub-timestep for vertical advection 
    176169      REAL(wp) ::   zts             ! length of sub-timestep for vertical advection 
    177       REAL(wp), POINTER, DIMENSION(:,:,:)   ::  zwuw , zwvw, zww 
    178       REAL(wp), POINTER, DIMENSION(:,:,:)   ::  ztrdu, ztrdv 
    179       REAL(wp), POINTER, DIMENSION(:,:,:,:) ::  zus , zvs 
     170      REAL(wp), DIMENSION(jpi,jpj,jpk)   ::  zwuw , zwvw, zww 
     171      REAL(wp), DIMENSION(jpi,jpj,jpk)   ::  ztrdu, ztrdv 
     172      REAL(wp), DIMENSION(jpi,jpj,jpk,3) ::  zus , zvs 
    180173      !!---------------------------------------------------------------------- 
    181174      ! 
    182175      IF( nn_timing == 1 )  CALL timing_start('dyn_zad_zts') 
    183176      ! 
    184       CALL wrk_alloc( jpi,jpj,jpk,     zwuw, zwvw, zww )  
    185       CALL wrk_alloc( jpi,jpj,jpk,3,   zus , zvs )  
    186177      ! 
    187178      IF( kt == nit000 ) THEN 
     
    191182 
    192183      IF( l_trddyn )   THEN         ! Save ua and va trends 
    193          CALL wrk_alloc( jpi, jpj, jpk, ztrdu, ztrdv )  
    194184         ztrdu(:,:,:) = ua(:,:,:)  
    195185         ztrdv(:,:,:) = va(:,:,:)  
     
    277267         ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 
    278268         CALL trd_dyn( ztrdu, ztrdv, jpdyn_zad, kt ) 
    279          CALL wrk_dealloc( jpi, jpj, jpk, ztrdu, ztrdv )  
    280269      ENDIF 
    281270      !                             ! Control print 
     
    283272         &                       tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
    284273      ! 
    285       CALL wrk_dealloc( jpi,jpj,jpk,     zwuw, zwvw, zww )  
    286       CALL wrk_dealloc( jpi,jpj,jpk,3,   zus , zvs )  
    287274      ! 
    288275      IF( nn_timing == 1 )  CALL timing_stop('dyn_zad_zts') 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf.F90

    r7753 r7910  
    2424   USE lib_mpp        ! MPP library 
    2525   USE prtctl         ! Print control 
    26    USE wrk_nemo       ! Memory Allocation 
    2726   USE timing         ! Timing 
    2827 
     
    5453      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index 
    5554      ! 
    56       REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztrdu, ztrdv 
     55      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  ztrdu, ztrdv 
    5756      !!--------------------------------------------------------------------- 
    5857      ! 
     
    6564 
    6665      IF( l_trddyn )   THEN                      ! temporary save of ta and sa trends 
    67          CALL wrk_alloc( jpi, jpj, jpk, ztrdu, ztrdv )  
    6866         ztrdu(:,:,:) = ua(:,:,:) 
    6967         ztrdv(:,:,:) = va(:,:,:) 
     
    8179         ztrdv(:,:,:) = ( va(:,:,:) - vb(:,:,:) ) / r2dt - ztrdv(:,:,:) 
    8280         CALL trd_dyn( ztrdu, ztrdv, jpdyn_zdf, kt ) 
    83          CALL wrk_dealloc( jpi, jpj, jpk, ztrdu, ztrdv )  
    8481      ENDIF 
    8582      !                                          ! print mean trends (used for debugging) 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf_exp.F90

    r6140 r7910  
    2424   USE in_out_manager ! I/O manager 
    2525   USE lib_mpp        ! MPP library 
    26    USE wrk_nemo       ! Memory Allocation 
    2726   USE timing         ! Timing 
    2827 
     
    6665      INTEGER  ::   ji, jj, jk, jl     ! dummy loop indices 
    6766      REAL(wp) ::   zlavmr, zua, zva   ! local scalars 
    68       REAL(wp), POINTER, DIMENSION(:,:,:) ::  zwx, zwy, zwz, zww 
     67      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zwx, zwy, zwz, zww 
    6968      !!---------------------------------------------------------------------- 
    7069      ! 
    7170      IF( nn_timing == 1 )   CALL timing_start('dyn_zdf_exp') 
    7271      ! 
    73       CALL wrk_alloc( jpi,jpj,jpk,   zwx, zwy, zwz, zww )  
    7472      ! 
    7573      IF( kt == nit000 .AND. lwp ) THEN 
     
    140138      ENDIF 
    141139      ! 
    142       CALL wrk_dealloc( jpi,jpj,jpk,   zwx, zwy, zwz, zww )  
    143140      ! 
    144141      IF( nn_timing == 1 )   CALL timing_stop('dyn_zdf_exp') 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf_imp.F90

    r7753 r7910  
    2626   USE in_out_manager ! I/O manager 
    2727   USE lib_mpp        ! MPP library 
    28    USE wrk_nemo       ! Memory Allocation 
    2928   USE timing         ! Timing 
    3029 
     
    7271      REAL(wp) ::   zzwi, ze3ua   ! local scalars 
    7372      REAL(wp) ::   zzws, ze3va   !   -      - 
    74       REAL(wp), POINTER, DIMENSION(:,:,:) ::  zwi, zwd, zws 
     73      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zwi, zwd, zws 
    7574      !!---------------------------------------------------------------------- 
    7675      ! 
    7776      IF( nn_timing == 1 )  CALL timing_start('dyn_zdf_imp') 
    7877      ! 
    79       CALL wrk_alloc( jpi,jpj,jpk, zwi, zwd, zws )  
    8078      ! 
    8179      IF( kt == nit000 ) THEN 
     
    342340      ENDIF 
    343341      ! 
    344       CALL wrk_dealloc( jpi,jpj,jpk,   zwi, zwd, zws)  
    345342      ! 
    346343      IF( nn_timing == 1 )   CALL timing_stop('dyn_zdf_imp') 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/sshwzv.F90

    r7753 r7910  
    3636   USE lbclnk         ! ocean lateral boundary condition (or mpp link) 
    3737   USE lib_mpp        ! MPP library 
    38    USE wrk_nemo       ! Memory Allocation 
    3938   USE timing         ! Timing 
    4039   USE wet_dry         ! Wetting/Drying flux limting 
     
    7473      INTEGER  ::   jk            ! dummy loop indice 
    7574      REAL(wp) ::   z2dt, zcoef   ! local scalars 
    76       REAL(wp), POINTER, DIMENSION(:,:  ) ::   zhdiv   ! 2D workspace 
     75      REAL(wp), DIMENSION(jpi,jpj) ::   zhdiv   ! 2D workspace 
    7776      !!---------------------------------------------------------------------- 
    7877      ! 
    7978      IF( nn_timing == 1 )   CALL timing_start('ssh_nxt') 
    8079      ! 
    81       CALL wrk_alloc( jpi,jpj,   zhdiv )  
    8280      ! 
    8381      IF( kt == nit000 ) THEN 
     
    134132      IF(ln_ctl)   CALL prt_ctl( tab2d_1=ssha, clinfo1=' ssha  - : ', mask1=tmask, ovlap=1 ) 
    135133      ! 
    136       CALL wrk_dealloc( jpi, jpj, zhdiv )  
    137134      ! 
    138135      IF( nn_timing == 1 )  CALL timing_stop('ssh_nxt') 
     
    161158      REAL(wp) ::   z1_2dt       ! local scalars 
    162159      REAL(wp), POINTER, DIMENSION(:,:  ) ::  z2d 
    163       REAL(wp), POINTER, DIMENSION(:,:,:) ::  z3d, zhdiv 
     160      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  z3d, zhdiv 
    164161      !!---------------------------------------------------------------------- 
    165162      ! 
     
    180177      ! 
    181178      IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN      ! z_tilde and layer cases 
    182          CALL wrk_alloc( jpi, jpj, jpk, zhdiv )  
    183179         ! 
    184180         DO jk = 1, jpkm1 
     
    200196         END DO 
    201197         !          IF( ln_vvl_layer ) wn(:,:,:) = 0.e0 
    202          CALL wrk_dealloc( jpi, jpj, jpk, zhdiv )  
    203198      ELSE   ! z_star and linear free surface cases 
    204199         DO jk = jpkm1, 1, -1                       ! integrate from the bottom the hor. divergence 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/wet_dry.F90

    r7646 r7910  
    2121   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    2222   USE lib_mpp         ! MPP library 
    23    USE wrk_nemo        ! Memory Allocation 
    2423   USE timing          ! Timing 
    2524 
     
    113112      REAL(wp) ::   zdepwd              ! local scalar, always wet cell depth 
    114113      REAL(wp) ::   ztmp                ! local scalars 
    115       REAL(wp), POINTER,  DIMENSION(:,:) ::   zwdlmtu, zwdlmtv         !: W/D flux limiters 
    116       REAL(wp), POINTER,  DIMENSION(:,:) ::   zflxp,  zflxn            ! local 2D workspace 
    117       REAL(wp), POINTER,  DIMENSION(:,:) ::   zflxu,  zflxv            ! local 2D workspace 
    118       REAL(wp), POINTER,  DIMENSION(:,:) ::   zflxu1, zflxv1           ! local 2D workspace 
     114      REAL(wp),  DIMENSION(jpi,jpj) ::   zwdlmtu, zwdlmtv         !: W/D flux limiters 
     115      REAL(wp),  DIMENSION(jpi,jpj) ::   zflxp,  zflxn            ! local 2D workspace 
     116      REAL(wp),  DIMENSION(jpi,jpj) ::   zflxu,  zflxv            ! local 2D workspace 
     117      REAL(wp),  DIMENSION(jpi,jpj) ::   zflxu1, zflxv1           ! local 2D workspace 
    119118      !!---------------------------------------------------------------------- 
    120119      ! 
     
    124123      IF(ln_wd) THEN 
    125124 
    126         CALL wrk_alloc( jpi, jpj, zflxp, zflxn, zflxu, zflxv, zflxu1, zflxv1 ) 
    127         CALL wrk_alloc( jpi, jpj, zwdlmtu, zwdlmtv) 
    128125        ! 
    129126        
     
    254251        ! 
    255252        ! 
    256         CALL wrk_dealloc( jpi, jpj, zflxp, zflxn, zflxu, zflxv, zflxu1, zflxv1 ) 
    257         CALL wrk_dealloc( jpi, jpj, zwdlmtu, zwdlmtv) 
    258253        ! 
    259254      ENDIF 
     
    284279      REAL(wp) ::   zdepwd              ! local scalar, always wet cell depth 
    285280      REAL(wp) ::   ztmp                ! local scalars 
    286       REAL(wp), POINTER,  DIMENSION(:,:) ::   zwdlmtu, zwdlmtv         !: W/D flux limiters 
    287       REAL(wp), POINTER,  DIMENSION(:,:) ::   zflxp,  zflxn            ! local 2D workspace 
    288       REAL(wp), POINTER,  DIMENSION(:,:) ::   zflxu1, zflxv1           ! local 2D workspace 
     281      REAL(wp),  DIMENSION(jpi,jpj) ::   zwdlmtu, zwdlmtv         !: W/D flux limiters 
     282      REAL(wp),  DIMENSION(jpi,jpj) ::   zflxp,  zflxn            ! local 2D workspace 
     283      REAL(wp),  DIMENSION(jpi,jpj) ::   zflxu1, zflxv1           ! local 2D workspace 
    289284      !!---------------------------------------------------------------------- 
    290285      ! 
     
    293288      IF(ln_wd) THEN 
    294289 
    295         CALL wrk_alloc( jpi, jpj, zflxp, zflxn, zflxu1, zflxv1 ) 
    296         CALL wrk_alloc( jpi, jpj, zwdlmtu, zwdlmtv) 
    297290        ! 
    298291        
     
    401394        ! 
    402395        ! 
    403         CALL wrk_dealloc( jpi, jpj, zflxp, zflxn, zflxu1, zflxv1 ) 
    404         CALL wrk_dealloc( jpi, jpj, zwdlmtu, zwdlmtv) 
    405396        ! 
    406397      END IF 
Note: See TracChangeset for help on using the changeset viewer.