- Timestamp:
- 2017-04-13T16:21:08+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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
Note: See TracChangeset
for help on using the changeset viewer.