- Timestamp:
- 2011-02-18T13:49:27+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90
r2528 r2590 76 76 !! - Save the trend (l_trddyn=T) 77 77 !!---------------------------------------------------------------------- 78 USE wrk_nemo, ONLY: wrk_use, wrk_release 79 USE wrk_nemo, ONLY: ztrdu => wrk_3d_1, ztrdv => wrk_3d_2 80 !! 78 81 INTEGER, INTENT(in) :: kt ! ocean time-step index 79 82 !! 80 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ztrdu, ztrdv ! 3D temporary workspace 81 !!---------------------------------------------------------------------- 83 !!---------------------------------------------------------------------- 84 ! 85 IF(.NOT. wrk_use(3, 1,2))THEN 86 CALL ctl_stop('dyn_hpg: requested workspace arrays are unavailable.') 87 RETURN 88 END IF 82 89 ! 83 90 IF( l_trddyn ) THEN ! Temporary saving of ua and va trends (l_trddyn) … … 104 111 IF(ln_ctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' hpg - Ua: ', mask1=umask, & 105 112 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 113 ! 114 IF(.NOT. wrk_release(3, 1,2))THEN 115 CALL ctl_stop('dyn_hpg: failed to release workspace arrays.') 116 END IF 106 117 ! 107 118 END SUBROUTINE dyn_hpg … … 594 605 USE oce, ONLY : zhpi => ta ! use ta as 3D workspace 595 606 USE oce, ONLY : zhpj => sa ! use sa as 3D workspace 607 USE wrk_nemo, ONLY: wrk_use, wrk_release 608 USE wrk_nemo, ONLY: drhox => wrk_3d_1, dzx => wrk_3d_2 609 USE wrk_nemo, ONLY: drhou => wrk_3d_3, dzu => wrk_3d_4, rho_i => wrk_3d_5 610 USE wrk_nemo, ONLY: drhoy => wrk_3d_6, dzy => wrk_3d_7 611 USE wrk_nemo, ONLY: drhov => wrk_3d_8, dzv => wrk_3d_9, rho_j => wrk_3d_10 612 USE wrk_nemo, ONLY: drhoz => wrk_3d_11, dzz => wrk_3d_12 613 USE wrk_nemo, ONLY: drhow => wrk_3d_13, dzw => wrk_3d_14 614 USE wrk_nemo, ONLY: rho_k => wrk_3d_15 596 615 !! 597 616 INTEGER, INTENT(in) :: kt ! ocean time-step index … … 601 620 REAL(wp) :: z1_10, cffu, cffx ! " " 602 621 REAL(wp) :: z1_12, cffv, cffy ! " " 603 REAL(wp), DIMENSION(jpi,jpj,jpk) :: drhox, dzx, drhou, dzu, rho_i ! 3D workspace 604 REAL(wp), DIMENSION(jpi,jpj,jpk) :: drhoy, dzy, drhov, dzv, rho_j ! " " 605 REAL(wp), DIMENSION(jpi,jpj,jpk) :: drhoz, dzz, drhow, dzw, rho_k ! " " 606 !!---------------------------------------------------------------------- 622 !!---------------------------------------------------------------------- 623 624 IF(.NOT. wrk_use(3, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15))THEN 625 CALL ctl_stop('dyn:hpg_djc : requested workspace arrays unavailable.') 626 RETURN 627 END IF 607 628 608 629 IF( kt == nit000 ) THEN … … 802 823 END DO 803 824 ! 825 IF(.NOT. wrk_release(3, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15))THEN 826 CALL ctl_stop('dyn:hpg_djc : failed to release workspace arrays.') 827 END IF 828 ! 804 829 END SUBROUTINE hpg_djc 805 830 … … 815 840 USE oce, ONLY : zhpi => ta ! use ta as 3D workspace 816 841 USE oce, ONLY : zhpj => sa ! use sa as 3D workspace 842 USE wrk_nemo, ONLY: wrk_use, wrk_release 843 USE wrk_nemo, ONLY: zdistr => wrk_2d_1, zsina => wrk_2d_2, & 844 zcosa => wrk_2d_3 845 USE wrk_nemo, ONLY: zhpiorg => wrk_3d_1, zhpirot => wrk_3d_2 846 USE wrk_nemo, ONLY: zhpitra => wrk_3d_3, zhpine => wrk_3d_4 847 USE wrk_nemo, ONLY: zhpjorg => wrk_3d_5, zhpjrot => wrk_3d_6 848 USE wrk_nemo, ONLY: zhpjtra => wrk_3d_7, zhpjne => wrk_3d_8 817 849 !! 818 850 INTEGER, INTENT(in) :: kt ! ocean time-step index … … 821 853 REAL(wp) :: zforg, zcoef0, zuap, zmskd1, zmskd1m ! temporary scalar 822 854 REAL(wp) :: zfrot , zvap, zmskd2, zmskd2m ! " " 823 REAL(wp), DIMENSION(jpi,jpj) :: zdistr, zsina, zcosa ! 2D workspace 824 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zhpiorg, zhpirot, zhpitra, zhpine ! 3D workspace 825 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zhpjorg, zhpjrot, zhpjtra, zhpjne ! " " 826 !!---------------------------------------------------------------------- 855 !!---------------------------------------------------------------------- 856 857 IF( (.NOT. wrk_use(2, 1,2,3)) .OR. & 858 (.NOT. wrk_use(3, 1,2,3,4,5,6,7,8)))THEN 859 CALL ctl_stop('dyn:hpg_rot : requested workspace arrays unavailable.') 860 RETURN 861 END IF 827 862 828 863 IF( kt == nit000 ) THEN … … 981 1016 END DO 982 1017 ! 1018 IF( (.NOT. wrk_release(2, 1,2,3)) .OR. & 1019 (.NOT. wrk_release(3, 1,2,3,4,5,6,7,8)))THEN 1020 CALL ctl_stop('dyn:hpg_rot : failed to release workspace arrays.') 1021 END IF 1022 ! 983 1023 END SUBROUTINE hpg_rot 984 1024
Note: See TracChangeset
for help on using the changeset viewer.