- 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/LIM_SRC_3/limtrp.F90
r7753 r7910 26 26 USE lbclnk ! lateral boundary conditions -- MPP exchanges 27 27 USE lib_mpp ! MPP library 28 USE wrk_nemo ! work arrays29 28 USE prtctl ! Print control 30 29 USE lib_fortran ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) … … 72 71 REAL(wp) :: zvi_b, zsmv_b, zei_b, zfs_b, zfw_b, zft_b 73 72 REAL(wp) :: zdv, zda 74 REAL(wp), POINTER, DIMENSION(:,:) :: zatold, zeiold, zesold, zsmvold75 REAL(wp), POINTER, DIMENSION(:,:,:) :: zhimax, zviold, zvsold73 REAL(wp), DIMENSION(jpi,jpj) :: zatold, zeiold, zesold, zsmvold 74 REAL(wp), DIMENSION(jpi,jpj,jpl) :: zhimax, zviold, zvsold 76 75 ! --- diffusion --- ! 77 REAL(wp), POINTER, DIMENSION(:,:,:) :: zhdfptab76 REAL(wp), DIMENSION(jpi,jpj,jpl*(ihdf_vars+nlay_i)+1) :: zhdfptab 78 77 INTEGER , PARAMETER :: ihdf_vars = 6 ! Number of variables in which we apply horizontal diffusion 79 78 ! inside limtrp for each ice category , not counting the … … 81 80 ! --- ultimate macho only --- ! 82 81 REAL(wp) :: zdt 83 REAL(wp), POINTER, DIMENSION(:,:) :: zudy, zvdx, zcu_box, zcv_box82 REAL(wp), DIMENSION(jpi,jpj) :: zudy, zvdx, zcu_box, zcv_box 84 83 ! --- prather only --- ! 85 REAL(wp), POINTER, DIMENSION(:,:) :: zarea86 REAL(wp), POINTER, DIMENSION(:,:,:) :: z0opw87 REAL(wp), POINTER, DIMENSION(:,:,:) :: z0ice, z0snw, z0ai, z0es , z0smi , z0oi88 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: z0ei84 REAL(wp), DIMENSION(jpi,jpj) :: zarea 85 REAL(wp), DIMENSION(jpi,jpj,1) :: z0opw 86 REAL(wp), DIMENSION(jpi,jpj,jpl) :: z0ice, z0snw, z0ai, z0es , z0smi , z0oi 87 REAL(wp), DIMENSION(jpi,jpj,nlay_i,jpl) :: z0ei 89 88 !! 90 89 !!--------------------------------------------------------------------- 91 90 IF( nn_timing == 1 ) CALL timing_start('limtrp') 92 91 93 CALL wrk_alloc( jpi,jpj, zatold, zeiold, zesold, zsmvold )94 CALL wrk_alloc( jpi,jpj,jpl, zhimax, zviold, zvsold )95 CALL wrk_alloc( jpi,jpj,jpl*(ihdf_vars + nlay_i)+1, zhdfptab)96 92 97 93 IF( kt == nit000 .AND. lwp ) THEN … … 163 159 !=============================! 164 160 165 CALL wrk_alloc( jpi,jpj, zudy, zvdx, zcu_box, zcv_box )166 161 167 162 IF( kt == nit000 .AND. lwp ) THEN … … 213 208 END DO 214 209 ! 215 CALL wrk_dealloc( jpi,jpj, zudy, zvdx, zcu_box, zcv_box )216 210 217 211 !=============================! … … 219 213 !=============================! 220 214 221 CALL wrk_alloc( jpi,jpj, zarea )222 CALL wrk_alloc( jpi,jpj,1, z0opw )223 CALL wrk_alloc( jpi,jpj,jpl, z0ice, z0snw, z0ai, z0es , z0smi , z0oi )224 CALL wrk_alloc( jpi,jpj,nlay_i,jpl, z0ei )225 215 226 216 IF( kt == nit000 .AND. lwp ) THEN … … 354 344 END DO 355 345 356 CALL wrk_dealloc( jpi,jpj, zarea )357 CALL wrk_dealloc( jpi,jpj,1, z0opw )358 CALL wrk_dealloc( jpi,jpj,jpl, z0ice, z0snw, z0ai, z0es , z0smi , z0oi )359 CALL wrk_dealloc( jpi,jpj,nlay_i,jpl, z0ei )360 346 361 347 END SELECT … … 525 511 IF( ln_limctl ) CALL lim_prt( kt, iiceprt, jiceprt,-1, ' - ice dyn & trp - ' ) 526 512 ! 527 CALL wrk_dealloc( jpi,jpj, zatold, zeiold, zesold, zsmvold )528 CALL wrk_dealloc( jpi,jpj,jpl, zhimax, zviold, zvsold )529 CALL wrk_dealloc( jpi,jpj,jpl*(ihdf_vars + nlay_i)+1, zhdfptab)530 513 ! 531 514 IF( nn_timing == 1 ) CALL timing_stop('limtrp')
Note: See TracChangeset
for help on using the changeset viewer.