Changeset 2977 for branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN
- Timestamp:
- 2011-10-22T15:46:41+02:00 (13 years ago)
- Location:
- branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynadv_cen2.F90
r2715 r2977 48 48 !!---------------------------------------------------------------------- 49 49 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 50 USE oce , ONLY: zfu => ta , zfv => sa ! (ta,sa) used as3D workspace50 USE oce , ONLY: tsa ! tsa used as 2 3D workspace 51 51 USE wrk_nemo, ONLY: zfu_t => wrk_3d_1 , zfv_t => wrk_3d_4 , zfu_uw =>wrk_3d_6 ! 3D workspaces 52 52 USE wrk_nemo, ONLY: zfu_f => wrk_3d_2 , zfv_f => wrk_3d_5 , zfv_vw =>wrk_3d_7 53 USE wrk_nemo, ONLY: zfw => wrk_3d_3 53 USE wrk_nemo, ONLY: zfw => wrk_3d_3 54 54 ! 55 55 INTEGER, INTENT( in ) :: kt ! ocean time-step index … … 57 57 INTEGER :: ji, jj, jk ! dummy loop indices 58 58 REAL(wp) :: zbu, zbv ! local scalars 59 REAL(wp), POINTER, DIMENSION(:,:,:) :: zfu, zfv 59 60 !!---------------------------------------------------------------------- 60 61 … … 69 70 CALL ctl_stop('dyn_adv_cen2 : requested workspace array unavailable') ; RETURN 70 71 ENDIF 71 72 ! 73 zfu => tsa(:,:,:,1) 74 zfv => tsa(:,:,:,2) 75 ! 72 76 IF( l_trddyn ) THEN ! Save ua and va trends 73 77 zfu_uw(:,:,:) = ua(:,:,:) -
branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynadv_ubs.F90
r2715 r2977 69 69 !!---------------------------------------------------------------------- 70 70 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 71 USE oce , ONLY: zfu => ta , zfv => sa ! (ta,sa) used as3D workspace71 USE oce , ONLY: tsa ! tsa used as 2 3D workspace 72 72 USE wrk_nemo, ONLY: zfu_t => wrk_3d_1 , zfv_t =>wrk_3d_4 , zfu_uw =>wrk_3d_6 ! 3D workspace 73 73 USE wrk_nemo, ONLY: zfu_f => wrk_3d_2 , zfv_f =>wrk_3d_5 , zfv_vw =>wrk_3d_7 … … 81 81 REAL(wp) :: zbu, zbv ! temporary scalars 82 82 REAL(wp) :: zui, zvj, zfuj, zfvi, zl_u, zl_v ! temporary scalars 83 REAL(wp), POINTER, DIMENSION(:,:,:) :: zfu, zfv 83 84 !!---------------------------------------------------------------------- 84 85 … … 93 94 CALL ctl_stop('dyn_adv_ubs: requested workspace array unavailable') ; RETURN 94 95 ENDIF 95 96 ! 97 zfu => tsa(:,:,:,1) 98 zfv => tsa(:,:,:,2) 99 ! 96 100 zfu_t(:,:,:) = 0._wp 97 101 zfv_t(:,:,:) = 0._wp -
branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90
r2715 r2977 77 77 !! - Save the trend (l_trddyn=T) 78 78 !!---------------------------------------------------------------------- 79 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 80 USE wrk_nemo, ONLY: ztrdu => wrk_3d_1 , ztrdv => wrk_3d_2 ! 3D workspace 79 USE oce, ONLY: tsa ! (tsa) used as 2 3D workspace 81 80 !! 82 81 INTEGER, INTENT(in) :: kt ! ocean time-step index 83 !!---------------------------------------------------------------------- 84 ! 85 IF( wrk_in_use(3, 1,2) ) THEN 86 CALL ctl_stop('dyn_hpg: requested workspace arrays are unavailable') ; RETURN 87 ENDIF 82 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv 83 !!---------------------------------------------------------------------- 88 84 ! 89 85 IF( l_trddyn ) THEN ! Temporary saving of ua and va trends (l_trddyn) 86 ztrdu => tsa(:,:,:,1) 87 ztrdv => tsa(:,:,:,2) 88 ! 90 89 ztrdu(:,:,:) = ua(:,:,:) 91 90 ztrdv(:,:,:) = va(:,:,:) … … 110 109 IF(ln_ctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' hpg - Ua: ', mask1=umask, & 111 110 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 112 !113 IF( wrk_not_released(3, 1,2) ) CALL ctl_stop('dyn_hpg: failed to release workspace arrays')114 111 ! 115 112 END SUBROUTINE dyn_hpg … … 193 190 !! ** Action : - Update (ua,va) with the now hydrastatic pressure trend 194 191 !!---------------------------------------------------------------------- 195 USE oce, ONLY: zhpi => ta , zhpj => sa ! (ta,sa) used as3D workspace192 USE oce, ONLY: tsa ! (tsa) used as 2 3D workspace 196 193 !! 197 194 INTEGER, INTENT(in) :: kt ! ocean time-step index … … 199 196 INTEGER :: ji, jj, jk ! dummy loop indices 200 197 REAL(wp) :: zcoef0, zcoef1 ! temporary scalars 198 REAL(wp), POINTER, DIMENSION(:,:,:) :: zhpi, zhpj 201 199 !!---------------------------------------------------------------------- 202 200 201 zhpi => tsa(:,:,:,1) 202 zhpj => tsa(:,:,:,2) 203 ! 203 204 IF( kt == nit000 ) THEN 204 205 IF(lwp) WRITE(numout,*) … … 221 222 END DO 222 223 END DO 224 223 225 ! 224 226 ! interior value (2=<jk=<jpkm1) … … 253 255 !! ** Action : - Update (ua,va) with the now hydrastatic pressure trend 254 256 !!---------------------------------------------------------------------- 255 USE oce, ONLY: zhpi => ta , zhpj => sa ! (ta,sa) used as3D workspace257 USE oce, ONLY: tsa ! (tsa) used as 2 3D workspace 256 258 !! 257 259 INTEGER, INTENT(in) :: kt ! ocean time-step index … … 260 262 INTEGER :: iku, ikv ! temporary integers 261 263 REAL(wp) :: zcoef0, zcoef1, zcoef2, zcoef3 ! temporary scalars 262 !!---------------------------------------------------------------------- 263 264 REAL(wp), POINTER, DIMENSION(:,:,:) :: zhpi, zhpj 265 !!---------------------------------------------------------------------- 266 267 zhpi => tsa(:,:,:,1) 268 zhpj => tsa(:,:,:,2) 269 ! 264 270 IF( kt == nit000 ) THEN 265 271 IF(lwp) WRITE(numout,*) … … 267 273 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~ z-coordinate with partial steps - vector optimization' 268 274 ENDIF 275 269 276 270 277 ! Local constant initialization … … 284 291 END DO 285 292 293 286 294 ! interior value (2=<jk=<jpkm1) 287 295 DO jk = 2, jpkm1 … … 303 311 END DO 304 312 END DO 313 305 314 306 315 ! partial steps correction at the last level (use gru & grv computed in zpshde.F90) … … 333 342 END DO 334 343 ! 344 335 345 END SUBROUTINE hpg_zps 336 346 … … 354 364 !! ** Action : - Update (ua,va) with the now hydrastatic pressure trend 355 365 !!---------------------------------------------------------------------- 356 USE oce, ONLY: zhpi => ta , zhpj => sa ! (ta,sa) used as3D workspace366 USE oce, ONLY: tsa ! (tsa) used as 2 3D workspace 357 367 !! 358 368 INTEGER, INTENT(in) :: kt ! ocean time-step index … … 360 370 INTEGER :: ji, jj, jk ! dummy loop indices 361 371 REAL(wp) :: zcoef0, zuap, zvap, znad ! temporary scalars 362 !!---------------------------------------------------------------------- 363 372 REAL(wp), POINTER, DIMENSION(:,:,:) :: zhpi, zhpj 373 !!---------------------------------------------------------------------- 374 375 zhpi => tsa(:,:,:,1) 376 zhpj => tsa(:,:,:,2) 377 ! 364 378 IF( kt == nit000 ) THEN 365 379 IF(lwp) WRITE(numout,*) … … 439 453 !! - Save the trend (l_trddyn=T) 440 454 !!---------------------------------------------------------------------- 441 USE oce, ONLY: zhpi => ta , zhpj => sa ! (ta,sa) used as3D workspace455 USE oce, ONLY: tsa ! (tsa) used as 2 3D workspace 442 456 !! 443 457 INTEGER, INTENT(in) :: kt ! ocean time-step index … … 445 459 INTEGER :: ji, jj, jk ! dummy loop indices 446 460 REAL(wp) :: zcoef0, zuap, zvap ! temporary scalars 447 !!---------------------------------------------------------------------- 448 461 REAL(wp), POINTER, DIMENSION(:,:,:) :: zhpi, zhpj 462 !!---------------------------------------------------------------------- 463 464 zhpi => tsa(:,:,:,1) 465 zhpj => tsa(:,:,:,2) 466 ! 449 467 IF( kt == nit000 ) THEN 450 468 IF(lwp) WRITE(numout,*) … … 515 533 !! Reference : Song, Mon. Wea. Rev., 126, 3213-3230, 1998. 516 534 !!---------------------------------------------------------------------- 517 USE oce, ONLY: zhpi => ta , zhpj => sa ! (ta,sa) used as3D workspace535 USE oce, ONLY: tsa ! (tsa) used as 2 3D workspace 518 536 !! 519 537 INTEGER, INTENT(in) :: kt ! ocean time-step index … … 522 540 REAL(wp) :: zcoef0, zuap, zvap ! temporary scalars 523 541 REAL(wp) :: zalph , zbeta ! " " 524 !!---------------------------------------------------------------------- 525 542 REAL(wp), POINTER, DIMENSION(:,:,:) :: zhpi, zhpj 543 !!---------------------------------------------------------------------- 544 ! 545 zhpi => tsa(:,:,:,1) 546 zhpj => tsa(:,:,:,2) 547 ! 526 548 IF( kt == nit000 ) THEN 527 549 IF(lwp) WRITE(numout,*) … … 595 617 !!---------------------------------------------------------------------- 596 618 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 597 USE oce , ONLY: zhpi => ta , zhpj => sa ! (ta,sa) used as3D workspace619 USE oce , ONLY: tsa ! (tsa) used as 2 3D workspace 598 620 USE wrk_nemo, ONLY: drhox => wrk_3d_1 , dzx => wrk_3d_2 599 621 USE wrk_nemo, ONLY: drhou => wrk_3d_3 , dzu => wrk_3d_4 , rho_i => wrk_3d_5 … … 610 632 REAL(wp) :: z1_10, cffu, cffx ! " " 611 633 REAL(wp) :: z1_12, cffv, cffy ! " " 634 REAL(wp), POINTER, DIMENSION(:,:,:) :: zhpi, zhpj 612 635 !!---------------------------------------------------------------------- 613 636 … … 615 638 CALL ctl_stop('dyn:hpg_djc: requested workspace arrays unavailable') ; RETURN 616 639 ENDIF 640 ! 641 zhpi => tsa(:,:,:,1) 642 zhpj => tsa(:,:,:,2) 617 643 618 644 IF( kt == nit000 ) THEN … … 826 852 !!---------------------------------------------------------------------- 827 853 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 828 USE oce , ONLY: zhpi => ta , zhpj => sa ! (ta,sa) used as3D workspace854 USE oce , ONLY: tsa ! (tsa) used as 2 3D workspace 829 855 USE wrk_nemo, ONLY: zdistr => wrk_2d_1 , zsina => wrk_2d_2 , zcosa => wrk_2d_3 830 856 USE wrk_nemo, ONLY: zhpiorg => wrk_3d_1 , zhpirot => wrk_3d_2 … … 838 864 REAL(wp) :: zforg, zcoef0, zuap, zmskd1, zmskd1m ! temporary scalar 839 865 REAL(wp) :: zfrot , zvap, zmskd2, zmskd2m ! " " 866 REAL(wp), POINTER, DIMENSION(:,:,:) :: zhpi, zhpj 840 867 !!---------------------------------------------------------------------- 841 868 … … 844 871 CALL ctl_stop('dyn:hpg_rot: requested workspace arrays unavailable') ; RETURN 845 872 ENDIF 873 ! 874 zhpi => tsa(:,:,:,1) 875 zhpj => tsa(:,:,:,2) 846 876 847 877 IF( kt == nit000 ) THEN -
branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynkeg.F90
r2777 r2977 53 53 !!---------------------------------------------------------------------- 54 54 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 55 USE oce , ONLY: ztrdu => ta , ztrdv => sa ! (ta,sa) used as 3D workspace55 USE oce , ONLY: tsa ! tsa used as 2 3D workspace 56 56 USE wrk_nemo, ONLY: zhke => wrk_3d_1 ! 3D workspace 57 57 !! … … 60 60 INTEGER :: ji, jj, jk ! dummy loop indices 61 61 REAL(wp) :: zu, zv ! temporary scalars 62 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv 62 63 !!---------------------------------------------------------------------- 63 64 … … 73 74 74 75 IF( l_trddyn ) THEN ! Save ua and va trends 76 ztrdu => tsa(:,:,:,1) 77 ztrdv => tsa(:,:,:,2) 78 ! 75 79 ztrdu(:,:,:) = ua(:,:,:) 76 80 ztrdv(:,:,:) = va(:,:,:) -
branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_bilapg.F90
r2715 r2977 86 86 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 87 87 USE wrk_nemo, ONLY: zwk1 => wrk_3d_3 , zwk2 => wrk_3d_4 ! 3D workspace 88 USE oce , ONLY: zwk3 => ta , zwk4 => sa ! ta, sa used as 3D workspace88 USE oce , ONLY: tsa ! tsa used as 2 3D workspace 89 89 ! 90 90 INTEGER, INTENT( in ) :: kt ! ocean time-step index 91 91 ! 92 92 INTEGER :: ji, jj, jk ! dummy loop indices 93 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwk3, zwk4 93 94 !!---------------------------------------------------------------------- 94 95 … … 96 97 CALL ctl_stop('dyn_ldf_bilapg: requested workspace arrays unavailable') ; RETURN 97 98 ENDIF 98 99 ! 100 zwk3 => tsa(:,:,:,1) 101 zwk4 => tsa(:,:,:,2) 102 ! 99 103 IF( kt == nit000 ) THEN 100 104 IF(lwp) WRITE(numout,*) -
branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynnxt.F90
r2779 r2977 93 93 !!---------------------------------------------------------------------- 94 94 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 95 USE oce , ONLY: ze3u_f => ta , ze3v_f => sa ! (ta,sa) used as3D workspace95 USE oce , ONLY: tsa ! tsa used as 2 3D workspace 96 96 USE wrk_nemo, ONLY: zs_t => wrk_2d_1 , zs_u_1 => wrk_2d_2 , zs_v_1 => wrk_2d_3 97 97 ! … … 105 105 REAL(wp) :: zve3a, zve3n, zve3b, zvf ! - - 106 106 REAL(wp) :: zec, zv_t_ij, zv_t_ip1j, zv_t_ijp1 107 REAL(wp), POINTER, DIMENSION(:,:,:) :: ze3u_f, ze3v_f 107 108 !!---------------------------------------------------------------------- 108 109 … … 110 111 CALL ctl_stop('dyn_nxt: requested workspace arrays unavailable') ; RETURN 111 112 ENDIF 112 113 ! 114 ze3u_f => tsa(:,:,:,1) 115 ze3v_f => tsa(:,:,:,2) 116 ! 113 117 IF( kt == nit000 ) THEN 114 118 IF(lwp) WRITE(numout,*) -
branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_flt.F90
r2715 r2977 103 103 !! References : Roullet and Madec 1999, JGR. 104 104 !!--------------------------------------------------------------------- 105 USE oce, ONLY: zub => ta , zvb => sa ! (ta,sa) used asworkspace105 USE oce, ONLY: tsa ! tsa used as 2 3D workspace 106 106 !! 107 107 INTEGER, INTENT(in ) :: kt ! ocean time-step index … … 110 110 INTEGER :: ji, jj, jk ! dummy loop indices 111 111 REAL(wp) :: z2dt, z2dtg, zgcb, zbtd, ztdgu, ztdgv ! local scalars 112 REAL(wp), POINTER, DIMENSION(:,:,:) :: zub, zvb 112 113 !!---------------------------------------------------------------------- 114 ! 115 zub => tsa(:,:,:,1) 116 zvb => tsa(:,:,:,2) 113 117 ! 114 118 IF( kt == nit000 ) THEN -
branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90
r2715 r2977 71 71 !! and planetary vorticity trends) ('key_trddyn') 72 72 !!---------------------------------------------------------------------- 73 USE oce, ONLY: ztrdu => ta , ztrdv => sa ! (ta,sa) used as3D workspace74 ! 73 USE oce, ONLY: tsa ! tsa used as 2 3D workspace 74 !! 75 75 INTEGER, INTENT( in ) :: kt ! ocean time-step index 76 !!---------------------------------------------------------------------- 76 ! 77 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv 78 !!---------------------------------------------------------------------- 79 ! 80 IF( l_trddyn ) THEN 81 ztrdu => tsa(:,:,:,1) 82 ztrdv => tsa(:,:,:,2) 83 END IF 77 84 ! 78 85 ! ! vorticity term -
branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynzad.F90
r2715 r2977 52 52 !! ** Action : - Update (ua,va) with the vert. momentum adv. trends 53 53 !! - Save the trends in (ztrdu,ztrdv) ('key_trddyn') 54 !!----------------------------------------------------------------------55 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released54 !!---------------------------------------------------------------------- 55 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 56 56 USE wrk_nemo, ONLY: zww => wrk_2d_1 ! 2D workspace 57 USE oce , ONLY: zwuw => ta , zwvw => sa ! (ta,sa) used as3D workspace57 USE oce , ONLY: tsa ! tsa used as 2 3D workspace 58 58 USE wrk_nemo, ONLY: ztrdu => wrk_3d_1 , ztrdv => wrk_3d_2 ! 3D workspace 59 ! 59 !! 60 60 INTEGER, INTENT(in) :: kt ! ocean time-step inedx 61 61 ! 62 62 INTEGER :: ji, jj, jk ! dummy loop indices 63 63 REAL(wp) :: zua, zva ! temporary scalars 64 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwuw , zwvw 64 65 !!---------------------------------------------------------------------- 65 66 66 IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 1,2) ) THEN 67 IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 1,2) ) THEN 67 68 CALL ctl_stop('dyn_zad: requested workspace arrays unavailable') ; RETURN 68 69 ENDIF 69 70 ! 71 zwuw => tsa(:,:,:,1) 72 zwvw => tsa(:,:,:,2) 73 ! 70 74 IF( kt == nit000 ) THEN 71 75 IF(lwp)WRITE(numout,*) -
branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf_exp.F90
r2715 r2977 55 55 !!--------------------------------------------------------------------- 56 56 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 57 USE oce , ONLY: zwx => ta , zwy => sa ! (ta,sa) used as3D workspace58 USE wrk_nemo, ONLY: zwz => wrk_3d_ 1 , zww => wrk_3d_2! 3D workspace57 USE oce , ONLY: tsa ! tsa used as 2 3D workspace 58 USE wrk_nemo, ONLY: zwz => wrk_3d_3 , zww => wrk_3d_4 ! 3D workspace 59 59 ! 60 60 INTEGER , INTENT(in) :: kt ! ocean time-step index … … 63 63 INTEGER :: ji, jj, jk, jl ! dummy loop indices 64 64 REAL(wp) :: zrau0r, zlavmr, zua, zva ! local scalars 65 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwx, zwy 65 66 !!---------------------------------------------------------------------- 66 67 67 IF( wrk_in_use(3, 1,2) ) THEN68 IF( wrk_in_use(3, 3,4) ) THEN 68 69 CALL ctl_stop('dyn_zdf_exp: requested workspace arrays unavailable') ; RETURN 69 70 ENDIF 70 71 ! 72 zwx => tsa(:,:,:,1) 73 zwy => tsa(:,:,:,2) 74 ! 71 75 IF( kt == nit000 .AND. lwp ) THEN 72 76 WRITE(numout,*) … … 120 124 END DO ! End of time splitting 121 125 ! 122 IF( wrk_not_released(3, 1,2) ) CALL ctl_stop('dyn_zdf_exp: failed to release workspace arrays')126 IF( wrk_not_released(3, 3,4) ) CALL ctl_stop('dyn_zdf_exp: failed to release workspace arrays') 123 127 ! 124 128 END SUBROUTINE dyn_zdf_exp -
branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf_imp.F90
r2715 r2977 55 55 !!--------------------------------------------------------------------- 56 56 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 57 USE oce , ONLY: zwd => ta , zws => sa ! (ta,sa) used as3D workspace57 USE oce , ONLY: tsa ! tsa used as 2 3D workspace 58 58 USE wrk_nemo, ONLY: zwi => wrk_3d_3 ! 3D workspace 59 59 !! … … 63 63 INTEGER :: ji, jj, jk ! dummy loop indices 64 64 REAL(wp) :: z1_p2dt, zcoef, zzwi, zzws, zrhs ! local scalars 65 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwd, zws 65 66 !!---------------------------------------------------------------------- 66 67 … … 68 69 CALL ctl_stop('dyn_zdf_imp: requested workspace array unavailable') ; RETURN 69 70 END IF 70 71 ! 72 zwd => tsa(:,:,:,1) 73 zws => tsa(:,:,:,2) 74 ! 71 75 IF( kt == nit000 ) THEN 72 76 IF(lwp) WRITE(numout,*) -
branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/sshwzv.F90
r2715 r2977 75 75 !! Reference : Leclair, M., and G. Madec, 2009, Ocean Modelling. 76 76 !!---------------------------------------------------------------------- 77 USE wrk_nemo, ONLY: 78 USE oce , ONLY: z3d => ta ! ta used as3D workspace79 USE wrk_nemo, ONLY: zhdiv => wrk_2d_1 , z2d => wrk_2d_2 ! 2D workspace80 ! 77 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 78 USE oce , ONLY: tsa ! tsa used as 2 3D workspace 79 USE wrk_nemo, ONLY: zhdiv => wrk_2d_1, z2d => wrk_2d_2 80 !! 81 81 INTEGER, INTENT(in) :: kt ! time step 82 82 ! 83 83 INTEGER :: ji, jj, jk ! dummy loop indices 84 84 REAL(wp) :: zcoefu, zcoefv, zcoeff, z2dt, z1_2dt, z1_rau0 ! local scalars 85 REAL(wp), POINTER, DIMENSION(:,:,:) :: z3d 85 86 !!---------------------------------------------------------------------- 86 87 … … 230 231 IF( lk_diaar5 ) THEN ! vertical mass transport & its square value 231 232 ! Caution: in the VVL case, it only correponds to the baroclinic mass transport. 233 z3d => tsa(:,:,:,1) 232 234 z2d(:,:) = rau0 * e1t(:,:) * e2t(:,:) 233 235 DO jk = 1, jpk
Note: See TracChangeset
for help on using the changeset viewer.