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/DOM – 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/DOM
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90

    r7753 r7910  
    3030   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
    3131   USE lib_mpp        ! Massively Parallel Processing library 
    32    USE wrk_nemo       ! Memory allocation 
    3332   USE timing         ! Timing 
    3433 
     
    9291      INTEGER  ::   iktop, ikbot   !   -       - 
    9392      INTEGER  ::   ios, inum 
    94       REAL(wp), POINTER, DIMENSION(:,:) ::   zwf   ! 2D workspace 
     93      REAL(wp), DIMENSION(jpi,jpj) ::   zwf   ! 2D workspace 
    9594      !! 
    9695      NAMELIST/namlbc/ rn_shlat, ln_vorlat 
     
    248247      IF( rn_shlat /= 0 ) THEN      ! Not free-slip lateral boundary condition 
    249248         ! 
    250          CALL wrk_alloc( jpi,jpj,   zwf ) 
    251249         ! 
    252250         DO jk = 1, jpk 
     
    278276         END DO 
    279277         ! 
    280          CALL wrk_dealloc( jpi,jpj,   zwf ) 
    281278         ! 
    282279         CALL lbc_lnk( fmask, 'F', 1._wp )      ! Lateral boundary conditions on fmask 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DOM/domngb.F90

    r7646 r7910  
    1313   USE in_out_manager ! I/O manager 
    1414   USE lib_mpp        ! for mppsum 
    15    USE wrk_nemo       ! Memory allocation 
    1615   USE timing         ! Timing 
    1716 
     
    4544      INTEGER , DIMENSION(2) ::   iloc 
    4645      REAL(wp)               ::   zlon, zmini 
    47       REAL(wp), POINTER, DIMENSION(:,:) ::  zglam, zgphi, zmask, zdist 
     46      REAL(wp), DIMENSION(jpi,jpj) ::  zglam, zgphi, zmask, zdist 
    4847      !!-------------------------------------------------------------------- 
    4948      ! 
    5049      IF( nn_timing == 1 )  CALL timing_start('dom_ngb') 
    5150      ! 
    52       CALL wrk_alloc( jpi,jpj,   zglam, zgphi, zmask, zdist ) 
    5351      ! 
    5452      zmask(:,:) = 0._wp 
     
    7977      ENDIF 
    8078      ! 
    81       CALL wrk_dealloc( jpi,jpj,   zglam, zgphi, zmask, zdist ) 
    8279      ! 
    8380      IF( nn_timing == 1 )  CALL timing_stop('dom_ngb') 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90

    r7753 r7910  
    3131   USE lib_mpp         ! distributed memory computing library 
    3232   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    33    USE wrk_nemo        ! Memory allocation 
    3433   USE timing          ! Timing 
    3534 
     
    276275      REAL(wp)               ::   z2dt, z_tmin, z_tmax  ! local scalars 
    277276      LOGICAL                ::   ll_do_bclinic         ! local logical 
    278       REAL(wp), POINTER, DIMENSION(:,:,:) ::   ze3t 
    279       REAL(wp), POINTER, DIMENSION(:,:  ) ::   zht, z_scale, zwu, zwv, zhdiv 
     277      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   ze3t 
     278      REAL(wp), DIMENSION(jpi,jpj) ::   zht, z_scale, zwu, zwv, zhdiv 
    280279      !!---------------------------------------------------------------------- 
    281280      ! 
     
    284283      IF( nn_timing == 1 )   CALL timing_start('dom_vvl_sf_nxt') 
    285284      ! 
    286       CALL wrk_alloc( jpi,jpj,zht,   z_scale, zwu, zwv, zhdiv ) 
    287       CALL wrk_alloc( jpi,jpj,jpk,   ze3t ) 
    288285 
    289286      IF( kt == nit000 ) THEN 
     
    543540      r1_hv_a(:,:) = ssvmask(:,:) / ( hv_a(:,:) + 1._wp - ssvmask(:,:) ) 
    544541      ! 
    545       CALL wrk_dealloc( jpi,jpj,       zht, z_scale, zwu, zwv, zhdiv ) 
    546       CALL wrk_dealloc( jpi,jpj,jpk,   ze3t ) 
    547542      ! 
    548543      IF( nn_timing == 1 )  CALL timing_stop('dom_vvl_sf_nxt') 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DOM/domwri.F90

    r7646 r7910  
    2424   USE lbclnk          ! lateral boundary conditions - mpp exchanges 
    2525   USE lib_mpp         ! MPP library 
    26    USE wrk_nemo        ! Memory allocation 
    2726   USE timing          ! Timing 
    2827 
     
    7574      INTEGER           ::   izco, izps, isco, icav 
    7675      !                                
    77       REAL(wp), POINTER, DIMENSION(:,:)   ::   zprt, zprw     ! 2D workspace 
    78       REAL(wp), POINTER, DIMENSION(:,:,:) ::   zdepu, zdepv   ! 3D workspace 
     76      REAL(wp), DIMENSION(jpi,jpj)   ::   zprt, zprw     ! 2D workspace 
     77      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zdepu, zdepv   ! 3D workspace 
    7978      !!---------------------------------------------------------------------- 
    8079      ! 
    8180      IF( nn_timing == 1 )  CALL timing_start('dom_wri') 
    8281      ! 
    83       CALL wrk_alloc( jpi,jpj,       zprt , zprw  ) 
    84       CALL wrk_alloc( jpi,jpj,jpk,   zdepu, zdepv ) 
    8582      ! 
    8683      IF(lwp) WRITE(numout,*) 
     
    206203      !                                     ! ============================ 
    207204      ! 
    208       CALL wrk_dealloc( jpi, jpj, zprt, zprw ) 
    209       CALL wrk_dealloc( jpi, jpj, jpk, zdepu, zdepv ) 
    210205      ! 
    211206      IF( nn_timing == 1 )  CALL timing_stop('dom_wri') 
     
    229224      INTEGER  ::  ji       ! dummy loop indices 
    230225      LOGICAL, DIMENSION(SIZE(puniq,1),SIZE(puniq,2),1) ::  lldbl  ! store whether each point is unique or not 
    231       REAL(wp), POINTER, DIMENSION(:,:) :: ztstref 
     226      REAL(wp), DIMENSION(jpi,jpj) :: ztstref 
    232227      !!---------------------------------------------------------------------- 
    233228      ! 
    234229      IF( nn_timing == 1 )  CALL timing_start('dom_uniq') 
    235230      ! 
    236       CALL wrk_alloc( jpi, jpj, ztstref ) 
    237231      ! 
    238232      ! build an array with different values for each element  
     
    250244      puniq(nldi:nlei,nldj:nlej) = REAL( COUNT( lldbl(nldi:nlei,nldj:nlej,:), dim = 3 ) , wp ) 
    251245      ! 
    252       CALL wrk_dealloc( jpi, jpj, ztstref ) 
    253246      ! 
    254247      IF( nn_timing == 1 )  CALL timing_stop('dom_uniq') 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90

    r7753 r7910  
    3636   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
    3737   USE lib_mpp        ! distributed memory computing library 
    38    USE wrk_nemo       ! Memory allocation 
    3938   USE timing         ! Timing 
    4039 
     
    284283      ! 
    285284      INTEGER ::   ji, jj   ! dummy loop indices 
    286       REAL(wp), POINTER, DIMENSION(:,:) ::  zk 
     285      REAL(wp), DIMENSION(jpi,jpj) ::  zk 
    287286      !!---------------------------------------------------------------------- 
    288287      ! 
    289288      IF( nn_timing == 1 )  CALL timing_start('zgr_top_bot') 
    290289      ! 
    291       CALL wrk_alloc( jpi,jpj,   zk ) 
    292290      ! 
    293291      IF(lwp) WRITE(numout,*) 
     
    319317      zk(:,:) = REAL( mbkv(:,:), wp )   ;   CALL lbc_lnk( zk, 'V', 1. )   ;   mbkv(:,:) = MAX( INT( zk(:,:) ), 1 ) 
    320318      ! 
    321       CALL wrk_dealloc( jpi,jpj,   zk ) 
    322319      ! 
    323320      IF( nn_timing == 1 )  CALL timing_stop('zgr_top_bot') 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DOM/dtatsd.F90

    r7753 r7910  
    2121   USE phycst          ! physical constants 
    2222   USE lib_mpp         ! MPP library 
    23    USE wrk_nemo        ! Memory allocation 
    2423   USE timing          ! Timing 
    2524 
     
    146145      INTEGER ::   ik, il0, il1, ii0, ii1, ij0, ij1   ! local integers 
    147146      REAL(wp)::   zl, zi 
    148       REAL(wp), POINTER, DIMENSION(:) ::  ztp, zsp   ! 1D workspace 
     147      REAL(wp), DIMENSION(jpk) ::  ztp, zsp   ! 1D workspace 
    149148      !!---------------------------------------------------------------------- 
    150149      ! 
     
    186185      IF( ln_sco ) THEN                   !==   s- or mixed s-zps-coordinate   ==! 
    187186         ! 
    188          CALL wrk_alloc( jpk, ztp, zsp ) 
    189187         ! 
    190188         IF( kt == nit000 .AND. lwp )THEN 
     
    222220         END DO 
    223221         !  
    224          CALL wrk_dealloc( jpk, ztp, zsp ) 
    225222         !  
    226223      ELSE                                !==   z- or zps- coordinate   ==! 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DOM/iscplhsb.F90

    r7646 r7910  
    2121   USE lib_mpp         ! MPP library 
    2222   USE lib_fortran     ! MPP library 
    23    USE wrk_nemo        ! Memory allocation 
    2423   USE lbclnk          ! 
    2524   USE domngb          ! 
     
    6564      !! 
    6665      REAL(wp):: zde3t, zdtem, zdsal 
    67       REAL(wp), DIMENSION(:,:), POINTER :: zdssh 
     66      REAL(wp), DIMENSION(jpi,jpj) :: zdssh 
    6867      !! 
    6968      REAL(wp), DIMENSION(:), ALLOCATABLE :: zlon, zlat 
     
    7271      INTEGER :: jpts, npts 
    7372 
    74       CALL wrk_alloc(jpi,jpj, zdssh ) 
    7573 
    7674      ! get imbalance (volume heat and salt) 
     
    289287 
    290288      ! deallocate variables 
    291       CALL wrk_dealloc(jpi,jpj, zdssh )  
    292289 
    293290   END SUBROUTINE iscpl_cons 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DOM/iscplrst.F90

    r7646 r7910  
    2121   USE lib_mpp         ! MPP library 
    2222   USE lib_fortran     ! MPP library 
    23    USE wrk_nemo        ! Memory allocation 
    2423   USE lbclnk          ! communication 
    2524   USE iscplini        ! ice sheet coupling: initialisation 
     
    5049      !!---------------------------------------------------------------------- 
    5150      INTEGER  ::   inum0 
    52       REAL(wp), DIMENSION(:,:  ), POINTER ::   zsmask_b 
    53       REAL(wp), DIMENSION(:,:,:), POINTER ::   ztmask_b, zumask_b, zvmask_b 
    54       REAL(wp), DIMENSION(:,:,:), POINTER ::   ze3t_b  , ze3u_b  , ze3v_b   
    55       REAL(wp), DIMENSION(:,:,:), POINTER ::   zdepw_b 
     51      REAL(wp), DIMENSION(jpi,jpj) ::   zsmask_b 
     52      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   ztmask_b, zumask_b, zvmask_b 
     53      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   ze3t_b  , ze3u_b  , ze3v_b   
     54      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zdepw_b 
    5655      CHARACTER(20) :: cfile 
    5756      !!---------------------------------------------------------------------- 
    5857 
    59       CALL wrk_alloc(jpi,jpj,jpk,   ztmask_b, zumask_b, zvmask_b) ! mask before 
    60       CALL wrk_alloc(jpi,jpj,jpk,   ze3t_b  , ze3u_b  , ze3v_b  ) ! e3   before 
    61       CALL wrk_alloc(jpi,jpj,jpk,   zdepw_b ) 
    62       CALL wrk_alloc(jpi,jpj,       zsmask_b                    ) 
    6358 
    6459 
     
    9893      END IF 
    9994 
    100       CALL wrk_dealloc(jpi,jpj,jpk,   ztmask_b,zumask_b,zvmask_b )   
    101       CALL wrk_dealloc(jpi,jpj,jpk,   ze3t_b  ,ze3u_b  ,ze3v_b   )   
    102       CALL wrk_dealloc(jpi,jpj,jpk,   zdepw_b                    ) 
    103       CALL wrk_dealloc(jpi,jpj,       zsmask_b                   ) 
    10495 
    10596      !! next step is an euler time step 
     
    150141      REAL(wp):: zdz, zdzm1, zdzp1 
    151142      !! 
    152       REAL(wp), DIMENSION(:,:    ), POINTER :: zdmask , zdsmask, zvcorr, zucorr, zde3t 
    153       REAL(wp), DIMENSION(:,:    ), POINTER :: zbub   , zbvb   , zbun  , zbvn 
    154       REAL(wp), DIMENSION(:,:    ), POINTER :: zssh0  , zssh1, zhu1, zhv1 
    155       REAL(wp), DIMENSION(:,:    ), POINTER :: zsmask0, zsmask1 
    156       REAL(wp), DIMENSION(:,:,:  ), POINTER :: ztmask0, ztmask1, ztrp 
    157       REAL(wp), DIMENSION(:,:,:  ), POINTER :: zwmaskn, zwmaskb, ztmp3d 
    158       REAL(wp), DIMENSION(:,:,:,:), POINTER :: zts0 
     143      REAL(wp), DIMENSION(jpi,jpj) :: zdmask , zdsmask, zvcorr, zucorr, zde3t 
     144      REAL(wp), DIMENSION(jpi,jpj) :: zbub   , zbvb   , zbun  , zbvn 
     145      REAL(wp), DIMENSION(jpi,jpj) :: zssh0  , zssh1, zhu1, zhv1 
     146      REAL(wp), DIMENSION(jpi,jpj) :: zsmask0, zsmask1 
     147      REAL(wp), DIMENSION(jpi,jpj,jpk) :: ztmask0, ztmask1, ztrp 
     148      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zwmaskn, zwmaskb, ztmp3d 
     149      REAL(wp), DIMENSION(jpi,jpj,jpk,2) :: zts0 
    159150      !!---------------------------------------------------------------------- 
    160151 
    161152      !! allocate variables 
    162       CALL wrk_alloc(jpi,jpj,jpk,2, zts0                                   ) 
    163       CALL wrk_alloc(jpi,jpj,jpk,   ztmask0, ztmask1 , ztrp, ztmp3d        )  
    164       CALL wrk_alloc(jpi,jpj,jpk,   zwmaskn, zwmaskb                       )  
    165       CALL wrk_alloc(jpi,jpj,       zsmask0, zsmask1                       )  
    166       CALL wrk_alloc(jpi,jpj,       zdmask , zdsmask, zvcorr, zucorr, zde3t)  
    167       CALL wrk_alloc(jpi,jpj,       zbub   , zbvb    , zbun , zbvn         )  
    168       CALL wrk_alloc(jpi,jpj,       zssh0  , zssh1, zhu1, zhv1             )  
    169153 
    170154      !! mask value to be sure 
     
    430414      !  
    431415      ! deallocation tmp arrays 
    432       CALL wrk_dealloc(jpi,jpj,jpk,2, zts0                                   ) 
    433       CALL wrk_dealloc(jpi,jpj,jpk,   ztmask0, ztmask1 , ztrp                )  
    434       CALL wrk_dealloc(jpi,jpj,jpk,   zwmaskn, zwmaskb , ztmp3d              )  
    435       CALL wrk_dealloc(jpi,jpj,       zsmask0, zsmask1                       )  
    436       CALL wrk_dealloc(jpi,jpj,       zdmask , zdsmask, zvcorr, zucorr, zde3t)  
    437       CALL wrk_dealloc(jpi,jpj,       zbub   , zbvb    , zbun  , zbvn        )  
    438       CALL wrk_dealloc(jpi,jpj,       zssh0  , zssh1  , zhu1 , zhv1          )  
    439416      ! 
    440417   END SUBROUTINE iscpl_rst_interpol 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DOM/istate.F90

    r7753 r7910  
    6060      !!---------------------------------------------------------------------- 
    6161      INTEGER ::   ji, jj, jk   ! dummy loop indices 
    62       REAL(wp), POINTER, DIMENSION(:,:,:,:) ::   zuvd    ! U & V data workspace 
     62      REAL(wp), DIMENSION(jpi,jpj,jpk,2) ::   zuvd    ! U & V data workspace 
    6363      !!---------------------------------------------------------------------- 
    6464      ! 
     
    121121!!gm to be moved in usrdef of C1D case 
    122122!         IF ( ln_uvd_init .AND. lk_c1d ) THEN ! read 3D U and V data at nit000 
    123 !            CALL wrk_alloc( jpi,jpj,jpk,2,   zuvd ) 
    124123!            CALL dta_uvd( nit000, zuvd ) 
    125124!            ub(:,:,:) = zuvd(:,:,:,1) ;  un(:,:,:) = ub(:,:,:) 
Note: See TracChangeset for help on using the changeset viewer.