- Timestamp:
- 2017-04-13T16:21:08+02:00 (7 years ago)
- 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 20 20 USE lib_mpp ! MPP library 21 21 USE prtctl ! Print control 22 USE wrk_nemo ! Memory Allocation23 22 USE timing ! Timing 24 23 … … 51 50 ! 52 51 INTEGER :: ji, jj, jk ! dummy loop indices 53 REAL(wp), POINTER, DIMENSION(:,:,:) :: zfu_t, zfv_t, zfu_f, zfv_f, zfu_uw, zfv_vw, zfw54 REAL(wp), POINTER, DIMENSION(:,:,:) :: zfu, zfv52 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 55 54 !!---------------------------------------------------------------------- 56 55 ! 57 56 IF( nn_timing == 1 ) CALL timing_start('dyn_adv_cen2') 58 57 ! 59 CALL wrk_alloc( jpi,jpj,jpk, zfu_t, zfv_t, zfu_f, zfv_f, zfu_uw, zfv_vw, zfu, zfv, zfw )60 58 ! 61 59 IF( kt == nit000 .AND. lwp ) THEN … … 148 146 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 149 147 ! 150 CALL wrk_dealloc( jpi, jpj, jpk, zfu_t, zfv_t, zfu_f, zfv_f, zfu_uw, zfv_vw, zfu, zfv, zfw )151 148 ! 152 149 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 23 23 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 24 24 USE lib_mpp ! MPP library 25 USE wrk_nemo ! Memory Allocation26 25 USE timing ! Timing 27 26 … … 74 73 INTEGER :: ji, jj, jk ! dummy loop indices 75 74 REAL(wp) :: zui, zvj, zfuj, zfvi, zl_u, zl_v ! local scalars 76 REAL(wp), POINTER, DIMENSION(:,:,:) :: zfu, zfv77 REAL(wp), POINTER, DIMENSION(:,:,:) :: zfu_t, zfv_t, zfu_f, zfv_f, zfu_uw, zfv_vw, zfw78 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: zlu_uu, zlv_vv, zlu_uv, zlv_vu75 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 79 78 !!---------------------------------------------------------------------- 80 79 ! 81 80 IF( nn_timing == 1 ) CALL timing_start('dyn_adv_ubs') 82 81 ! 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 )85 82 ! 86 83 IF( kt == nit000 ) THEN … … 241 238 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 242 239 ! 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 )245 240 ! 246 241 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 21 21 USE prtctl ! Print control 22 22 USE timing ! Timing 23 USE wrk_nemo ! Memory Allocation24 23 25 24 IMPLICIT NONE … … 50 49 INTEGER :: ikbu, ikbv ! local integers 51 50 REAL(wp) :: zm1_2dt ! local scalar 52 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv51 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ztrdu, ztrdv 53 52 !!--------------------------------------------------------------------- 54 53 ! … … 64 63 65 64 IF( l_trddyn ) THEN ! trends: store the input trends 66 CALL wrk_alloc( jpi,jpj,jpk, ztrdu, ztrdv )67 65 ztrdu(:,:,:) = ua(:,:,:) 68 66 ztrdv(:,:,:) = va(:,:,:) … … 102 100 ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 103 101 CALL trd_dyn( ztrdu(:,:,:), ztrdv(:,:,:), jpdyn_bfr, kt ) 104 CALL wrk_dealloc( jpi,jpj,jpk, ztrdu, ztrdv )105 102 ENDIF 106 103 ! ! print mean trends (used for debugging) -
branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90
r7761 r7910 44 44 USE lib_mpp ! MPP library 45 45 USE eosbn2 ! compute density 46 USE wrk_nemo ! Memory Allocation47 46 USE timing ! Timing 48 47 USE iom … … 84 83 !!---------------------------------------------------------------------- 85 84 INTEGER, INTENT(in) :: kt ! ocean time-step index 86 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv85 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ztrdu, ztrdv 87 86 !!---------------------------------------------------------------------- 88 87 ! … … 90 89 ! 91 90 IF( l_trddyn ) THEN ! Temporary saving of ua and va trends (l_trddyn) 92 CALL wrk_alloc( jpi,jpj,jpk, ztrdu, ztrdv )93 91 ztrdu(:,:,:) = ua(:,:,:) 94 92 ztrdv(:,:,:) = va(:,:,:) … … 108 106 ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 109 107 CALL trd_dyn( ztrdu, ztrdv, jpdyn_hpg, kt ) 110 CALL wrk_dealloc( jpi,jpj,jpk, ztrdu, ztrdv )111 108 ENDIF 112 109 ! … … 134 131 INTEGER :: ji, jj, jk, ikt ! dummy loop indices ISF 135 132 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 139 137 !! 140 138 NAMELIST/namdyn_hpg/ ln_hpg_zco, ln_hpg_zps, ln_hpg_sco, & … … 200 198 IF ( .NOT. ln_isfcav ) riceload(:,:)=0.0 201 199 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)205 200 ! 206 201 IF(lwp) WRITE(numout,*) … … 240 235 riceload(:,:)=ziceload(:,:) ! need to be saved for diaar5 241 236 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)245 237 END IF 246 238 ! … … 268 260 INTEGER :: ji, jj, jk ! dummy loop indices 269 261 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 ! 274 265 ! 275 266 IF( kt == nit000 ) THEN … … 315 306 END DO 316 307 ! 317 CALL wrk_dealloc( jpi,jpj,jpk, zhpi, zhpj )318 308 ! 319 309 END SUBROUTINE hpg_zco … … 333 323 INTEGER :: iku, ikv ! temporary integers 334 324 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 ! 339 328 ! 340 329 IF( kt == nit000 ) THEN … … 405 394 END DO 406 395 ! 407 CALL wrk_dealloc( jpi,jpj,jpk, zhpi, zhpj )408 396 ! 409 397 END SUBROUTINE hpg_zps … … 433 421 REAL(wp) :: zcoef0, zuap, zvap, znad, ztmp ! temporary scalars 434 422 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 ! 441 427 ! 442 428 IF( kt == nit000 ) THEN … … 554 540 END DO 555 541 ! 556 CALL wrk_dealloc( jpi,jpj,jpk, zhpi, zhpj )557 IF( ln_wd ) CALL wrk_dealloc( jpi,jpj, zcpx, zcpy )558 542 ! 559 543 END SUBROUTINE hpg_sco … … 583 567 INTEGER :: ji, jj, jk, ikt, iktp1i, iktp1j ! dummy loop indices 584 568 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 ! 593 574 ! 594 575 ! Local constant initialization … … 668 649 END DO 669 650 ! 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 )673 651 ! 674 652 END SUBROUTINE hpg_isf … … 690 668 REAL(wp) :: z1_12, cffv, cffy ! " " 691 669 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 ! 703 677 ! 704 678 ! … … 949 923 END DO 950 924 ! 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 )955 925 ! 956 926 END SUBROUTINE hpg_djc … … 980 950 REAL(wp) :: zrhdt1 981 951 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 ! 992 958 ! 993 959 IF( kt == nit000 ) THEN … … 1298 1264 END DO 1299 1265 ! 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 )1304 1266 ! 1305 1267 END SUBROUTINE hpg_prj -
branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynkeg.F90
r7753 r7910 22 22 USE lib_mpp ! MPP library 23 23 USE prtctl ! Print control 24 USE wrk_nemo ! Memory Allocation25 24 USE timing ! Timing 26 25 USE bdy_oce ! ocean open boundary conditions … … 77 76 INTEGER :: ji, jj, jk ! dummy loop indices 78 77 REAL(wp) :: zu, zv ! temporary scalars 79 REAL(wp), POINTER, DIMENSION(:,:,:) :: zhke80 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv78 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zhke 79 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ztrdu, ztrdv 81 80 INTEGER :: jb ! dummy loop indices 82 81 INTEGER :: ii, ij, igrd, ib_bdy ! local integers … … 86 85 IF( nn_timing == 1 ) CALL timing_start('dyn_keg') 87 86 ! 88 CALL wrk_alloc( jpi,jpj,jpk, zhke )89 87 ! 90 88 IF( kt == nit000 ) THEN … … 95 93 96 94 IF( l_trddyn ) THEN ! Save ua and va trends 97 CALL wrk_alloc( jpi,jpj,jpk, ztrdu, ztrdv )98 95 ztrdu(:,:,:) = ua(:,:,:) 99 96 ztrdv(:,:,:) = va(:,:,:) … … 187 184 ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 188 185 CALL trd_dyn( ztrdu, ztrdv, jpdyn_keg, kt ) 189 CALL wrk_dealloc( jpi,jpj,jpk, ztrdu, ztrdv )190 186 ENDIF 191 187 ! … … 193 189 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 194 190 ! 195 CALL wrk_dealloc( jpi,jpj,jpk, zhke )196 191 ! 197 192 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 27 27 USE lib_mpp ! distribued memory computing library 28 28 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 29 USE wrk_nemo ! Memory Allocation30 29 USE timing ! Timing 31 30 … … 62 61 INTEGER, INTENT(in) :: kt ! ocean time-step index 63 62 ! 64 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv63 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ztrdu, ztrdv 65 64 !!---------------------------------------------------------------------- 66 65 ! … … 68 67 ! 69 68 IF( l_trddyn ) THEN ! temporary save of momentum trends 70 CALL wrk_alloc( jpi,jpj,jpk, ztrdu, ztrdv )71 69 ztrdu(:,:,:) = ua(:,:,:) 72 70 ztrdv(:,:,:) = va(:,:,:) … … 85 83 ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 86 84 CALL trd_dyn( ztrdu, ztrdv, jpdyn_ldf, kt ) 87 CALL wrk_dealloc( jpi,jpj,jpk, ztrdu, ztrdv )88 85 ENDIF 89 86 ! ! print sum trends (used for debugging) -
branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_iso.F90
r6140 r7910 28 28 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 29 29 USE prtctl ! Print control 30 USE wrk_nemo ! Memory Allocation31 30 USE timing ! Timing 32 31 … … 112 111 REAL(wp) :: zuav, zvav, zuwslpi, zuwslpj, zvwslpi, zvwslpj ! - - 113 112 ! 114 REAL(wp), POINTER, DIMENSION(:,:) :: ziut, zjuf, zjvt, zivf, zdku, zdk1u, zdkv, zdk1v113 REAL(wp), DIMENSION(jpi,jpj) :: ziut, zjuf, zjvt, zivf, zdku, zdk1u, zdkv, zdk1v 115 114 !!---------------------------------------------------------------------- 116 115 ! 117 116 IF( nn_timing == 1 ) CALL timing_start('dyn_ldf_iso') 118 117 ! 119 CALL wrk_alloc( jpi, jpj, ziut, zjuf, zjvt, zivf, zdku, zdk1u, zdkv, zdk1v )120 118 ! 121 119 IF( kt == nit000 ) THEN … … 409 407 END DO ! End of slab 410 408 ! ! =============== 411 CALL wrk_dealloc( jpi, jpj, ziut, zjuf, zjvt, zivf, zdku, zdk1u, zdkv, zdk1v )412 409 ! 413 410 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 19 19 USE in_out_manager ! I/O manager 20 20 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 21 USE wrk_nemo ! Memory Allocation22 21 USE timing ! Timing 23 22 … … 57 56 REAL(wp) :: zsign ! local scalars 58 57 REAL(wp) :: zua, zva ! local scalars 59 REAL(wp), POINTER, DIMENSION(:,:) :: zcur, zdiv58 REAL(wp), DIMENSION(jpi,jpj) :: zcur, zdiv 60 59 !!---------------------------------------------------------------------- 61 60 ! … … 68 67 IF( nn_timing == 1 ) CALL timing_start('dyn_ldf_lap') 69 68 ! 70 CALL wrk_alloc( jpi, jpj, zcur, zdiv )71 69 ! 72 70 IF( kpass == 1 ) THEN ; zsign = 1._wp ! bilaplacian operator require a minus sign … … 107 105 END DO ! End of slab 108 106 ! ! =============== 109 CALL wrk_dealloc( jpi, jpj, zcur, zdiv )110 107 ! 111 108 IF( nn_timing == 1 ) CALL timing_stop('dyn_ldf_lap') … … 131 128 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: pua, pva ! momentum trend 132 129 ! 133 REAL(wp), POINTER, DIMENSION(:,:,:) :: zulap, zvlap ! laplacian at u- and v-point130 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zulap, zvlap ! laplacian at u- and v-point 134 131 !!---------------------------------------------------------------------- 135 132 ! 136 133 IF( nn_timing == 1 ) CALL timing_start('dyn_ldf_blp') 137 134 ! 138 CALL wrk_alloc( jpi, jpj, jpk, zulap, zvlap )139 135 ! 140 136 IF( kt == nit000 ) THEN … … 154 150 CALL dyn_ldf_lap( kt, zulap, zvlap, pua, pva, 2 ) ! rotated laplacian applied to zlap (output in pta) 155 151 ! 156 CALL wrk_dealloc( jpi, jpj, jpk, zulap, zvlap )157 152 ! 158 153 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 44 44 USE lbclnk ! lateral boundary condition (or mpp link) 45 45 USE lib_mpp ! MPP library 46 USE wrk_nemo ! Memory Allocation47 46 USE prtctl ! Print control 48 47 USE timing ! Timing … … 97 96 REAL(wp) :: zue3a, zue3n, zue3b, zuf, zcoef ! local scalars 98 97 REAL(wp) :: zve3a, zve3n, zve3b, zvf, z1_2dt ! - - 99 REAL(wp), POINTER, DIMENSION(:,:) :: zue, zve100 REAL(wp), POINTER, DIMENSION(:,:,:) :: ze3u_f, ze3v_f, zua, zva98 REAL(wp), DIMENSION(jpi,jpj) :: zue, zve 99 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ze3u_f, ze3v_f, zua, zva 101 100 !!---------------------------------------------------------------------- 102 101 ! 103 102 IF( nn_timing == 1 ) CALL timing_start('dyn_nxt') 104 103 ! 105 IF( ln_dynspg_ts ) CALL wrk_alloc( jpi,jpj, zue, zve)106 IF( l_trddyn ) CALL wrk_alloc( jpi,jpj,jpk, zua, zva)107 104 ! 108 105 IF( kt == nit000 ) THEN … … 253 250 ELSE ! Asselin filter applied on thickness weighted velocity 254 251 ! 255 CALL wrk_alloc( jpi,jpj,jpk, ze3u_f, ze3v_f )256 252 ! Before filtered scale factor at (u/v)-points stored in ze3u_f, ze3v_f 257 253 CALL dom_vvl_interpol( e3t_b(:,:,:), ze3u_f, 'U' ) … … 280 276 e3v_b(:,:,1:jpkm1) = ze3v_f(:,:,1:jpkm1) 281 277 ! 282 CALL wrk_dealloc( jpi,jpj,jpk, ze3u_f, ze3v_f )283 278 ENDIF 284 279 ! … … 346 341 & tab3d_2=vn, clinfo2=' Vn: ' , mask2=vmask ) 347 342 ! 348 IF( ln_dynspg_ts ) CALL wrk_dealloc( jpi,jpj, zue, zve )349 IF( l_trddyn ) CALL wrk_dealloc( jpi,jpj,jpk, zua, zva )350 343 ! 351 344 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 28 28 USE in_out_manager ! I/O manager 29 29 USE lib_mpp ! MPP library 30 USE wrk_nemo ! Memory Allocation31 30 USE timing ! Timing 32 31 … … 75 74 INTEGER :: ji, jj, jk ! dummy loop indices 76 75 REAL(wp) :: z2dt, zg_2, zintp, zgrau0r ! temporary scalar 77 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv78 REAL(wp), POINTER, DIMENSION(:,:) :: zpice76 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ztrdu, ztrdv 77 REAL(wp), DIMENSION(jpi,jpj) :: zpice 79 78 !!---------------------------------------------------------------------- 80 79 ! … … 82 81 ! 83 82 IF( l_trddyn ) THEN ! temporary save of ta and sa trends 84 CALL wrk_alloc( jpi,jpj,jpk, ztrdu, ztrdv )85 83 ztrdu(:,:,:) = ua(:,:,:) 86 84 ztrdv(:,:,:) = va(:,:,:) … … 124 122 ! 125 123 IF( nn_ice_embd == 2 ) THEN !== embedded sea ice: Pressure gradient due to snow-ice mass ==! 126 CALL wrk_alloc( jpi,jpj, zpice )127 124 ! 128 125 zintp = REAL( MOD( kt-1, nn_fsbc ) ) / REAL( nn_fsbc ) … … 136 133 END DO 137 134 ! 138 CALL wrk_dealloc( jpi,jpj, zpice )139 135 ENDIF 140 136 ! … … 161 157 ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 162 158 CALL trd_dyn( ztrdu, ztrdv, jpdyn_spg, kt ) 163 CALL wrk_dealloc( jpi,jpj,jpk, ztrdu, ztrdv )164 159 ENDIF 165 160 ! ! print mean trends (used for debugging) -
branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90
r7831 r7910 47 47 USE iom ! IOM library 48 48 USE restart ! only for lrst_oce 49 USE wrk_nemo ! Memory Allocation50 49 USE timing ! Timing 51 50 USE diatmb ! Top,middle,bottom output … … 151 150 REAL(wp) :: za0, za1, za2, za3 ! - - 152 151 ! 153 REAL(wp), POINTER, DIMENSION(:,:) :: zsshp2_e154 REAL(wp), POINTER, DIMENSION(:,:) :: zu_trd, zv_trd, zu_frc, zv_frc, zssh_frc155 REAL(wp), POINTER, DIMENSION(:,:) :: zwx, zwy, zhdiv156 REAL(wp), POINTER, DIMENSION(:,:) :: zhup2_e, zhvp2_e, zhust_e, zhvst_e157 REAL(wp), POINTER, DIMENSION(:,:) :: zsshu_a, zsshv_a158 REAL(wp), POINTER, DIMENSION(:,:) :: zhf159 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. 160 159 !!---------------------------------------------------------------------- 161 160 ! … … 163 162 ! 164 163 ! !* 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 )172 164 ! 173 165 zmdi=1.e+20 ! missing data indicator for masking … … 1091 1083 IF( lrst_oce .AND.ln_bt_fw ) CALL ts_rst( kt, 'WRITE' ) 1092 1084 ! 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 )1100 1085 ! 1101 1086 IF ( ln_diatmb ) THEN … … 1248 1233 INTEGER :: ji ,jj ! dummy loop indices 1249 1234 REAL(wp) :: zxr2, zyr2, zcmax ! local scalar 1250 REAL(wp), POINTER, DIMENSION(:,:) :: zcu1235 REAL(wp), DIMENSION(jpi,jpj) :: zcu 1251 1236 !!---------------------------------------------------------------------- 1252 1237 ! 1253 1238 ! Max courant number for ext. grav. waves 1254 1239 ! 1255 CALL wrk_alloc( jpi,jpj, zcu )1256 1240 ! 1257 1241 DO jj = 1, jpj … … 1320 1304 ENDIF 1321 1305 ! 1322 CALL wrk_dealloc( jpi,jpj, zcu )1323 1306 ! 1324 1307 END SUBROUTINE dyn_spg_ts_init -
branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90
r7753 r7910 40 40 USE in_out_manager ! I/O manager 41 41 USE lib_mpp ! MPP library 42 USE wrk_nemo ! Memory Allocation43 42 USE timing ! Timing 44 43 … … 98 97 INTEGER, INTENT( in ) :: kt ! ocean time-step index 99 98 ! 100 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv99 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ztrdu, ztrdv 101 100 !!---------------------------------------------------------------------- 102 101 ! 103 102 IF( nn_timing == 1 ) CALL timing_start('dyn_vor') 104 103 ! 105 IF( l_trddyn ) CALL wrk_alloc( jpi,jpj,jpk, ztrdu, ztrdv )106 104 ! 107 105 SELECT CASE ( nvor_scheme ) !== vorticity trend added to the general trend ==! … … 190 188 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 191 189 ! 192 IF( l_trddyn ) CALL wrk_dealloc( jpi,jpj,jpk, ztrdu, ztrdv )193 190 ! 194 191 IF( nn_timing == 1 ) CALL timing_stop('dyn_vor') … … 225 222 INTEGER :: ji, jj, jk ! dummy loop indices 226 223 REAL(wp) :: zx1, zy1, zx2, zy2 ! local scalars 227 REAL(wp), POINTER, DIMENSION(:,:) :: zwx, zwy, zwz ! 2D workspace224 REAL(wp), DIMENSION(jpi,jpj) :: zwx, zwy, zwz ! 2D workspace 228 225 !!---------------------------------------------------------------------- 229 226 ! 230 227 IF( nn_timing == 1 ) CALL timing_start('vor_ene') 231 228 ! 232 CALL wrk_alloc( jpi,jpj, zwx, zwy, zwz )233 229 ! 234 230 IF( kt == nit000 ) THEN … … 311 307 END DO ! End of slab 312 308 ! ! =============== 313 CALL wrk_dealloc( jpi, jpj, zwx, zwy, zwz )314 309 ! 315 310 IF( nn_timing == 1 ) CALL timing_stop('vor_ene') … … 346 341 INTEGER :: ji, jj, jk ! dummy loop indices 347 342 REAL(wp) :: zuav, zvau ! local scalars 348 REAL(wp), POINTER, DIMENSION(:,:) :: zwx, zwy, zwz, zww ! 2D workspace343 REAL(wp), DIMENSION(jpi,jpj) :: zwx, zwy, zwz, zww ! 2D workspace 349 344 !!---------------------------------------------------------------------- 350 345 ! 351 346 IF( nn_timing == 1 ) CALL timing_start('vor_ens') 352 347 ! 353 CALL wrk_alloc( jpi,jpj, zwx, zwy, zwz )354 348 ! 355 349 IF( kt == nit000 ) THEN … … 431 425 END DO ! End of slab 432 426 ! ! =============== 433 CALL wrk_dealloc( jpi, jpj, zwx, zwy, zwz )434 427 ! 435 428 IF( nn_timing == 1 ) CALL timing_stop('vor_ens') … … 466 459 REAL(wp) :: zmsk, ze3 ! local scalars 467 460 ! 468 REAL(wp), POINTER, DIMENSION(:,:) :: zwx, zwy, zwz, z1_e3f469 REAL(wp), POINTER, DIMENSION(:,:) :: ztnw, ztne, ztsw, ztse461 REAL(wp), DIMENSION(jpi,jpj) :: zwx, zwy, zwz, z1_e3f 462 REAL(wp), DIMENSION(jpi,jpj) :: ztnw, ztne, ztsw, ztse 470 463 !!---------------------------------------------------------------------- 471 464 ! 472 465 IF( nn_timing == 1 ) CALL timing_start('vor_een') 473 466 ! 474 CALL wrk_alloc( jpi,jpj, zwx , zwy , zwz , z1_e3f )475 CALL wrk_alloc( jpi,jpj, ztnw, ztne, ztsw, ztse )476 467 ! 477 468 IF( kt == nit000 ) THEN … … 599 590 ! ! =============== 600 591 ! 601 CALL wrk_dealloc( jpi,jpj, zwx , zwy , zwz , z1_e3f )602 CALL wrk_dealloc( jpi,jpj, ztnw, ztne, ztsw, ztse )603 592 ! 604 593 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 22 22 USE lib_mpp ! MPP library 23 23 USE prtctl ! Print control 24 USE wrk_nemo ! Memory Allocation25 24 USE timing ! Timing 26 25 … … 60 59 INTEGER :: ji, jj, jk ! dummy loop indices 61 60 REAL(wp) :: zua, zva ! temporary scalars 62 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwuw , zwvw63 REAL(wp), POINTER, DIMENSION(:,:) :: zww64 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv61 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zwuw , zwvw 62 REAL(wp), DIMENSION(jpi,jpj) :: zww 63 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ztrdu, ztrdv 65 64 !!---------------------------------------------------------------------- 66 65 ! 67 66 IF( nn_timing == 1 ) CALL timing_start('dyn_zad') 68 67 ! 69 CALL wrk_alloc( jpi,jpj, zww )70 CALL wrk_alloc( jpi,jpj,jpk, zwuw , zwvw )71 68 ! 72 69 IF( kt == nit000 ) THEN … … 76 73 77 74 IF( l_trddyn ) THEN ! Save ua and va trends 78 CALL wrk_alloc( jpi, jpj, jpk, ztrdu, ztrdv )79 75 ztrdu(:,:,:) = ua(:,:,:) 80 76 ztrdv(:,:,:) = va(:,:,:) … … 133 129 ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 134 130 CALL trd_dyn( ztrdu, ztrdv, jpdyn_zad, kt ) 135 CALL wrk_dealloc( jpi, jpj, jpk, ztrdu, ztrdv )136 131 ENDIF 137 132 ! ! Control print … … 139 134 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 140 135 ! 141 CALL wrk_dealloc( jpi,jpj, zww )142 CALL wrk_dealloc( jpi,jpj,jpk, zwuw , zwvw )143 136 ! 144 137 IF( nn_timing == 1 ) CALL timing_stop('dyn_zad') … … 175 168 REAL(wp) :: z2dtzts ! length of Euler forward sub-timestep for vertical advection 176 169 REAL(wp) :: zts ! length of sub-timestep for vertical advection 177 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwuw , zwvw, zww178 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv179 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: zus , zvs170 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 180 173 !!---------------------------------------------------------------------- 181 174 ! 182 175 IF( nn_timing == 1 ) CALL timing_start('dyn_zad_zts') 183 176 ! 184 CALL wrk_alloc( jpi,jpj,jpk, zwuw, zwvw, zww )185 CALL wrk_alloc( jpi,jpj,jpk,3, zus , zvs )186 177 ! 187 178 IF( kt == nit000 ) THEN … … 191 182 192 183 IF( l_trddyn ) THEN ! Save ua and va trends 193 CALL wrk_alloc( jpi, jpj, jpk, ztrdu, ztrdv )194 184 ztrdu(:,:,:) = ua(:,:,:) 195 185 ztrdv(:,:,:) = va(:,:,:) … … 277 267 ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 278 268 CALL trd_dyn( ztrdu, ztrdv, jpdyn_zad, kt ) 279 CALL wrk_dealloc( jpi, jpj, jpk, ztrdu, ztrdv )280 269 ENDIF 281 270 ! ! Control print … … 283 272 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 284 273 ! 285 CALL wrk_dealloc( jpi,jpj,jpk, zwuw, zwvw, zww )286 CALL wrk_dealloc( jpi,jpj,jpk,3, zus , zvs )287 274 ! 288 275 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 24 24 USE lib_mpp ! MPP library 25 25 USE prtctl ! Print control 26 USE wrk_nemo ! Memory Allocation27 26 USE timing ! Timing 28 27 … … 54 53 INTEGER, INTENT( in ) :: kt ! ocean time-step index 55 54 ! 56 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv55 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ztrdu, ztrdv 57 56 !!--------------------------------------------------------------------- 58 57 ! … … 65 64 66 65 IF( l_trddyn ) THEN ! temporary save of ta and sa trends 67 CALL wrk_alloc( jpi, jpj, jpk, ztrdu, ztrdv )68 66 ztrdu(:,:,:) = ua(:,:,:) 69 67 ztrdv(:,:,:) = va(:,:,:) … … 81 79 ztrdv(:,:,:) = ( va(:,:,:) - vb(:,:,:) ) / r2dt - ztrdv(:,:,:) 82 80 CALL trd_dyn( ztrdu, ztrdv, jpdyn_zdf, kt ) 83 CALL wrk_dealloc( jpi, jpj, jpk, ztrdu, ztrdv )84 81 ENDIF 85 82 ! ! print mean trends (used for debugging) -
branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf_exp.F90
r6140 r7910 24 24 USE in_out_manager ! I/O manager 25 25 USE lib_mpp ! MPP library 26 USE wrk_nemo ! Memory Allocation27 26 USE timing ! Timing 28 27 … … 66 65 INTEGER :: ji, jj, jk, jl ! dummy loop indices 67 66 REAL(wp) :: zlavmr, zua, zva ! local scalars 68 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwx, zwy, zwz, zww67 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zwx, zwy, zwz, zww 69 68 !!---------------------------------------------------------------------- 70 69 ! 71 70 IF( nn_timing == 1 ) CALL timing_start('dyn_zdf_exp') 72 71 ! 73 CALL wrk_alloc( jpi,jpj,jpk, zwx, zwy, zwz, zww )74 72 ! 75 73 IF( kt == nit000 .AND. lwp ) THEN … … 140 138 ENDIF 141 139 ! 142 CALL wrk_dealloc( jpi,jpj,jpk, zwx, zwy, zwz, zww )143 140 ! 144 141 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 26 26 USE in_out_manager ! I/O manager 27 27 USE lib_mpp ! MPP library 28 USE wrk_nemo ! Memory Allocation29 28 USE timing ! Timing 30 29 … … 72 71 REAL(wp) :: zzwi, ze3ua ! local scalars 73 72 REAL(wp) :: zzws, ze3va ! - - 74 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwi, zwd, zws73 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zwi, zwd, zws 75 74 !!---------------------------------------------------------------------- 76 75 ! 77 76 IF( nn_timing == 1 ) CALL timing_start('dyn_zdf_imp') 78 77 ! 79 CALL wrk_alloc( jpi,jpj,jpk, zwi, zwd, zws )80 78 ! 81 79 IF( kt == nit000 ) THEN … … 342 340 ENDIF 343 341 ! 344 CALL wrk_dealloc( jpi,jpj,jpk, zwi, zwd, zws)345 342 ! 346 343 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 36 36 USE lbclnk ! ocean lateral boundary condition (or mpp link) 37 37 USE lib_mpp ! MPP library 38 USE wrk_nemo ! Memory Allocation39 38 USE timing ! Timing 40 39 USE wet_dry ! Wetting/Drying flux limting … … 74 73 INTEGER :: jk ! dummy loop indice 75 74 REAL(wp) :: z2dt, zcoef ! local scalars 76 REAL(wp), POINTER, DIMENSION(:,:) :: zhdiv ! 2D workspace75 REAL(wp), DIMENSION(jpi,jpj) :: zhdiv ! 2D workspace 77 76 !!---------------------------------------------------------------------- 78 77 ! 79 78 IF( nn_timing == 1 ) CALL timing_start('ssh_nxt') 80 79 ! 81 CALL wrk_alloc( jpi,jpj, zhdiv )82 80 ! 83 81 IF( kt == nit000 ) THEN … … 134 132 IF(ln_ctl) CALL prt_ctl( tab2d_1=ssha, clinfo1=' ssha - : ', mask1=tmask, ovlap=1 ) 135 133 ! 136 CALL wrk_dealloc( jpi, jpj, zhdiv )137 134 ! 138 135 IF( nn_timing == 1 ) CALL timing_stop('ssh_nxt') … … 161 158 REAL(wp) :: z1_2dt ! local scalars 162 159 REAL(wp), POINTER, DIMENSION(:,: ) :: z2d 163 REAL(wp), POINTER, DIMENSION(:,:,:) :: z3d, zhdiv160 REAL(wp), DIMENSION(jpi,jpj,jpk) :: z3d, zhdiv 164 161 !!---------------------------------------------------------------------- 165 162 ! … … 180 177 ! 181 178 IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN ! z_tilde and layer cases 182 CALL wrk_alloc( jpi, jpj, jpk, zhdiv )183 179 ! 184 180 DO jk = 1, jpkm1 … … 200 196 END DO 201 197 ! IF( ln_vvl_layer ) wn(:,:,:) = 0.e0 202 CALL wrk_dealloc( jpi, jpj, jpk, zhdiv )203 198 ELSE ! z_star and linear free surface cases 204 199 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 21 21 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 22 22 USE lib_mpp ! MPP library 23 USE wrk_nemo ! Memory Allocation24 23 USE timing ! Timing 25 24 … … 113 112 REAL(wp) :: zdepwd ! local scalar, always wet cell depth 114 113 REAL(wp) :: ztmp ! local scalars 115 REAL(wp), POINTER, DIMENSION(:,:) :: zwdlmtu, zwdlmtv !: W/D flux limiters116 REAL(wp), POINTER, DIMENSION(:,:) :: zflxp, zflxn ! local 2D workspace117 REAL(wp), POINTER, DIMENSION(:,:) :: zflxu, zflxv ! local 2D workspace118 REAL(wp), POINTER, DIMENSION(:,:) :: zflxu1, zflxv1 ! local 2D workspace114 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 119 118 !!---------------------------------------------------------------------- 120 119 ! … … 124 123 IF(ln_wd) THEN 125 124 126 CALL wrk_alloc( jpi, jpj, zflxp, zflxn, zflxu, zflxv, zflxu1, zflxv1 )127 CALL wrk_alloc( jpi, jpj, zwdlmtu, zwdlmtv)128 125 ! 129 126 … … 254 251 ! 255 252 ! 256 CALL wrk_dealloc( jpi, jpj, zflxp, zflxn, zflxu, zflxv, zflxu1, zflxv1 )257 CALL wrk_dealloc( jpi, jpj, zwdlmtu, zwdlmtv)258 253 ! 259 254 ENDIF … … 284 279 REAL(wp) :: zdepwd ! local scalar, always wet cell depth 285 280 REAL(wp) :: ztmp ! local scalars 286 REAL(wp), POINTER, DIMENSION(:,:) :: zwdlmtu, zwdlmtv !: W/D flux limiters287 REAL(wp), POINTER, DIMENSION(:,:) :: zflxp, zflxn ! local 2D workspace288 REAL(wp), POINTER, DIMENSION(:,:) :: zflxu1, zflxv1 ! local 2D workspace281 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 289 284 !!---------------------------------------------------------------------- 290 285 ! … … 293 288 IF(ln_wd) THEN 294 289 295 CALL wrk_alloc( jpi, jpj, zflxp, zflxn, zflxu1, zflxv1 )296 CALL wrk_alloc( jpi, jpj, zwdlmtu, zwdlmtv)297 290 ! 298 291 … … 401 394 ! 402 395 ! 403 CALL wrk_dealloc( jpi, jpj, zflxp, zflxn, zflxu1, zflxv1 )404 CALL wrk_dealloc( jpi, jpj, zwdlmtu, zwdlmtv)405 396 ! 406 397 END IF
Note: See TracChangeset
for help on using the changeset viewer.