Changeset 2633
- Timestamp:
- 2011-02-28T18:23:23+01:00 (13 years ago)
- Location:
- branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO
- Files:
-
- 119 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limadv_2.F90
r2613 r2633 58 58 !! Reference: Prather, 1986, JGR, 91, D6. 6671-6681. 59 59 !!-------------------------------------------------------------------- 60 USE wrk_nemo, ONLY: wrk_ use, wrk_release60 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 61 61 USE wrk_nemo, ONLY: zf0 => wrk_2d_11 , zfx => wrk_2d_12 , zfy => wrk_2d_13 , zbet => wrk_2d_14 ! 2D workspace 62 62 USE wrk_nemo, ONLY: zfm => wrk_2d_15 , zfxx => wrk_2d_16 , zfyy => wrk_2d_17 , zfxy => wrk_2d_18 ! - - … … 77 77 !--------------------------------------------------------------------- 78 78 79 IF( .NOT. wrk_use(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN79 IF( wrk_in_use(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN 80 80 CALL ctl_stop( 'lim_adv_x_2 : requested workspace arrays unavailable.' ) ; RETURN 81 81 END IF … … 224 224 ENDIF 225 225 ! 226 IF( .NOT. wrk_release(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN226 IF( wrk_not_released(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN 227 227 CALL ctl_stop( 'lim_adv_x_2 : failed to release workspace arrays.' ) 228 228 END IF … … 245 245 !! Reference: Prather, 1986, JGR, 91, D6. 6671-6681. 246 246 !!--------------------------------------------------------------------- 247 USE wrk_nemo, ONLY: wrk_ use, wrk_release247 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 248 248 USE wrk_nemo, ONLY: zf0 => wrk_2d_11 , zfx => wrk_2d_12 , zfy => wrk_2d_13 , zbet => wrk_2d_14 ! 2D workspace 249 249 USE wrk_nemo, ONLY: zfm => wrk_2d_15 , zfxx => wrk_2d_16 , zfyy => wrk_2d_17 , zfxy => wrk_2d_18 ! - - … … 264 264 !--------------------------------------------------------------------- 265 265 266 IF( .NOT. wrk_use(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN266 IF(wrk_in_use(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN 267 267 CALL ctl_stop( 'lim_adv_y_2 : requested workspace arrays unavailable.' ) ; RETURN 268 268 END IF … … 414 414 ENDIF 415 415 ! 416 IF( .NOT. wrk_release(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN416 IF( wrk_not_released(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN 417 417 CALL ctl_stop( 'lim_adv_y_2 : failed to release workspace arrays.' ) 418 418 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limdyn_2.F90
r2613 r2633 58 58 !! - treatment of the case if no ice dynamic 59 59 !!--------------------------------------------------------------------- 60 USE wrk_nemo, ONLY: wrk_ use, wrk_release60 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 61 61 USE wrk_nemo, ONLY: wrk_1d_1, wrk_1d_2 62 62 USE wrk_nemo, ONLY: zu_io => wrk_2d_1, zv_io => wrk_2d_2 ! ice-ocean velocity … … 71 71 !!--------------------------------------------------------------------- 72 72 73 IF( .NOT. wrk_use(1, 1,2) .OR. .NOT. wrk_use(2, 1,2) ) THEN73 IF( wrk_in_use(1, 1,2) .OR. wrk_in_use(2, 1,2) ) THEN 74 74 CALL ctl_stop( 'lim_dyn_2 : requested workspace arrays unavailable.' ) ; RETURN 75 75 END IF … … 210 210 IF(ln_ctl) CALL prt_ctl(tab2d_1=ust2s , clinfo1=' lim_dyn : ust2s :') 211 211 ! 212 IF( (.NOT. wrk_release(1, 1,2)) .OR. (.NOT. wrk_release(2, 1,2)) )THEN212 IF( wrk_not_released(1, 1,2) .OR. wrk_not_released(2, 1,2) )THEN 213 213 CALL ctl_stop('lim_dyn_2 : failed to release workspace arrays.') 214 214 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limhdf_2.F90
r2613 r2633 51 51 !! ** Action : update ptab with the diffusive contribution 52 52 !!------------------------------------------------------------------- 53 USE wrk_nemo, ONLY: wrk_ use, wrk_release53 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 54 54 USE wrk_nemo, ONLY: zflu => wrk_2d_11, zdiv => wrk_2d_13, zrlx => wrk_2d_15 55 55 USE wrk_nemo, ONLY: zflv => wrk_2d_12, zdiv0 => wrk_2d_14, ztab0 => wrk_2d_16 … … 63 63 !!------------------------------------------------------------------- 64 64 65 IF( .NOT. wrk_use(2, 11,12,13,14,15,16) ) THEN65 IF( wrk_in_use(2, 11,12,13,14,15,16) ) THEN 66 66 CALL ctl_stop( 'lim_hdf_2 : requested workspace arrays unavailable.' ) ; RETURN 67 67 END IF … … 149 149 ENDIF 150 150 ! 151 IF( .NOT. wrk_release(2, 11,12,13,14,15,16) ) THEN151 IF( wrk_not_released(2, 11,12,13,14,15,16) ) THEN 152 152 CALL ctl_stop( 'lim_hdf_2 : failed to release workspace arrays.' ) ; RETURN 153 153 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limmsh_2.F90
r2590 r2633 45 45 !! ** Refer. : Deleersnijder et al. Ocean Modelling 100, 7-10 46 46 !!--------------------------------------------------------------------- 47 USE wrk_nemo, ONLY: wrk_ use, wrk_release47 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 48 48 USE wrk_nemo, ONLY: zd2d1 => wrk_2d_1, zd1d2 => wrk_2d_2 49 49 INTEGER :: ji, jj ! dummy loop indices … … 56 56 !!--------------------------------------------------------------------- 57 57 58 IF( .NOT. wrk_use(2, 1,2))THEN58 IF(wrk_in_use(2, 1,2))THEN 59 59 CALL ctl_stop('lim_msh_2 : requested workspace arrays unavailable.') 60 60 RETURN … … 281 281 area(:,:) = e1t(:,:) * e2t(:,:) 282 282 ! 283 IF( .NOT. wrk_release(2, 1,2))THEN283 IF(wrk_not_released(2, 1,2))THEN 284 284 CALL ctl_stop('lim_msh_2 : failed to release workspace arrays.') 285 285 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limrhg_2.F90
r2590 r2633 92 92 !! at I-point 93 93 !!------------------------------------------------------------------- 94 USE wrk_nemo, ONLY: wrk_ use, wrk_release94 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 95 95 USE wrk_nemo, ONLY: zfrld => wrk_2d_1, zmass => wrk_2d_2, zcorl => wrk_2d_3 96 96 USE wrk_nemo, ONLY: za1ct => wrk_2d_4, za2ct => wrk_2d_5, zresr => wrk_2d_6 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limsbc_2.F90
r2615 r2633 102 102 !! Tartinville et al. 2001 Ocean Modelling, 3, 95-108. 103 103 !!--------------------------------------------------------------------- 104 USE wrk_nemo, ONLY: wrk_ release, wrk_use104 USE wrk_nemo, ONLY: wrk_not_released, wrk_in_use 105 105 USE wrk_nemo, ONLY: zqnsoce => wrk_2d_1 ! 2D workspace 106 106 USE wrk_nemo, ONLY: wrk_3d_4, wrk_3d_5 … … 116 116 !!--------------------------------------------------------------------- 117 117 118 IF( (.NOT. wrk_use(2, 1)) .OR. (.NOT. wrk_use(3, 4,5)) )THEN118 IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 4,5) )THEN 119 119 CALL ctl_stop('lim_sbc_flx_2 : requested workspace arrays unavailable.') 120 120 RETURN … … 253 253 ENDIF 254 254 ! 255 IF( (.NOT. wrk_release(2, 1)) .OR. (.NOT. wrk_release(3, 4,5)) )THEN255 IF( wrk_not_released(2, 1) .OR. wrk_not_released(3, 4,5) )THEN 256 256 CALL ctl_stop('lim_sbc_flx_2 : failed to release workspace arrays.') 257 257 END IF … … 286 286 !! - taum : modulus of the surface ocean stress (T-point) updated with ice-ocean fluxes 287 287 !!--------------------------------------------------------------------- 288 USE wrk_nemo, ONLY: wrk_ use, wrk_release288 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 289 289 USE wrk_nemo, ONLY: ztio_u => wrk_2d_1, ztio_v => wrk_2d_2 ! ocean stress below sea-ice 290 290 INTEGER , INTENT(in) :: kt ! ocean time-step index … … 297 297 !!--------------------------------------------------------------------- 298 298 ! 299 IF( .NOT. wrk_use(2, 1,2))THEN299 IF(wrk_in_use(2, 1,2))THEN 300 300 CALL ctl_stop('lim_sbc_tau_2 : requested workspace arrays unavailable.') ; RETURN 301 301 END IF … … 413 413 & tab2d_2=vtau, clinfo2=' vtau : ' , mask2=vmask ) 414 414 ! 415 IF( .NOT. wrk_release(2, 1,2) ) CALL ctl_stop('lim_sbc_tau_2 : failed to release workspace arrays.')415 IF(wrk_not_released(2, 1,2) ) CALL ctl_stop('lim_sbc_tau_2 : failed to release workspace arrays.') 416 416 ! 417 417 END SUBROUTINE lim_sbc_tau_2 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limthd_2.F90
r2590 r2633 75 75 !! References : Goosse et al. 1996, Bul. Soc. Roy. Sc. Liege, 65, 87-90 76 76 !!--------------------------------------------------------------------- 77 USE wrk_nemo, ONLY: wrk_ use, wrk_release77 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 78 78 USE wrk_nemo, ONLY: ztmp => wrk_2d_1, & ! 2D workspace 79 79 zqlbsbq => wrk_2d_2, & ! link with lead energy budget qldif … … 116 116 !!------------------------------------------------------------------- 117 117 118 IF( (.NOT. wrk_use(2, 1,2,3,4,5,6,7,8,9,10)) .OR. &119 (.NOT. wrk_use(3, 4)) ) THEN118 IF( wrk_in_use(2, 1,2,3,4,5,6,7,8,9,10) .OR. & 119 wrk_in_use(3, 4) ) THEN 120 120 CALL ctl_stop('lim_thd_2 : requested workspace arrays unavailable') 121 121 RETURN … … 521 521 ENDIF 522 522 ! 523 IF( (.NOT. wrk_release(2, 1,2,3,4,5,6,7,8,9,10)) .OR. &524 (.NOT. wrk_release(3, 4)) ) THEN523 IF( wrk_not_released(2, 1,2,3,4,5,6,7,8,9,10) .OR. & 524 wrk_not_released(3, 4) ) THEN 525 525 CALL ctl_stop('lim_thd_2 : failed to release workspace arrays') 526 526 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limthd_lac_2.F90
r2590 r2633 68 68 !! 2.0 ! 02-08 (C. Ethe, G. Madec) F90, mpp 69 69 !!------------------------------------------------------------------- 70 USE wrk_nemo, ONLY: wrk_ use, wrk_release70 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 71 71 USE wrk_nemo, ONLY: wrk_1d_1, wrk_1d_2, wrk_1d_3, wrk_1d_4, wrk_1d_5, wrk_1d_6 72 72 USE in_out_manager, ONLY: ctl_stop … … 106 106 !!--------------------------------------------------------------------- 107 107 108 IF( .NOT. wrk_use(1, 1,2,3,4,5,6))THEN108 IF(wrk_in_use(1, 1,2,3,4,5,6))THEN 109 109 CALL ctl_stop('lim_thd_lac_2 : requestead workspace arrays unavailable.') 110 110 RETURN … … 235 235 END DO 236 236 237 IF( .NOT. wrk_release(1, 1,2,3,4,5,6))THEN237 IF(wrk_not_released(1, 1,2,3,4,5,6))THEN 238 238 CALL ctl_stop('lim_thd_lac_2 : failed to release workspace arrays.') 239 239 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limthd_zdf_2.F90
r2590 r2633 69 69 !! Fichefet T. and M. Maqueda 1999, Clim. Dyn, 15(4), 251-268 70 70 !!------------------------------------------------------------------ 71 USE wrk_nemo, ONLY: wrk_ use, wrk_release71 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 72 72 USE wrk_nemo, ONLY: wrk_1d_1, wrk_1d_2, wrk_1d_3, wrk_1d_4, wrk_1d_5 73 73 USE wrk_nemo, ONLY: wrk_1d_6, wrk_1d_7, wrk_1d_8, wrk_1d_9, wrk_1d_10 … … 169 169 !!---------------------------------------------------------------------- 170 170 171 IF( .NOT. wrk_use(1, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, &172 173 171 IF(wrk_in_use(1, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, & 172 11,12,13,14,15,16,17,18,19,20, & 173 21,22,23,24,25,26,27))THEN 174 174 CALL ctl_stop('lim_thd_zdf_2 : requested workspace arrays unavailable.') 175 175 RETURN … … 808 808 END DO 809 809 ! 810 IF( .NOT. wrk_release(1, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, &811 812 810 IF(wrk_not_released(1, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, & 811 11,12,13,14,15,16,17,18,19,20, & 812 21,22,23,24,25,26,27))THEN 813 813 CALL ctl_stop('lim_thd_zdf_2 : failed to release workspace arrays.') 814 814 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limtrp_2.F90
r2590 r2633 63 63 !! ** action : 64 64 !!--------------------------------------------------------------------- 65 USE wrk_nemo, ONLY: wrk_ use, wrk_release65 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 66 66 USE wrk_nemo, ONLY: zui_u => wrk_2d_1, zvi_v => wrk_2d_2, zsm => wrk_2d_3 67 67 USE wrk_nemo, ONLY: zs0ice => wrk_2d_4, zs0sn => wrk_2d_5, zs0a => wrk_2d_6 … … 79 79 !--------------------------------------------------------------------- 80 80 81 IF( .NOT. wrk_use(2, 1,2,3,4,5,6,7,8,9,10))THEN81 IF(wrk_in_use(2, 1,2,3,4,5,6,7,8,9,10))THEN 82 82 CALL ctl_stop('lim_trp_2 : requested workspace arrays unavailable.') 83 83 RETURN … … 274 274 ENDIF 275 275 ! 276 IF( .NOT. wrk_release(2, 1,2,3,4,5,6,7,8,9,10))THEN276 IF(wrk_not_released(2, 1,2,3,4,5,6,7,8,9,10))THEN 277 277 CALL ctl_stop('lim_trp_2 : failed to release workspace arrays.') 278 278 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/limwri_2.F90
r2626 r2633 103 103 !! of a day 104 104 !!------------------------------------------------------------------- 105 USE wrk_nemo, ONLY: wrk_ use, wrk_release105 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 106 106 USE wrk_nemo, ONLY: zfield => wrk_2d_1 107 107 !! … … 115 115 !!------------------------------------------------------------------- 116 116 117 IF( .NOT. wrk_use(2, 1))THEN117 IF(wrk_in_use(2, 1))THEN 118 118 CALL ctl_stop('lim_wri_2 : requested workspace array unavailable.') 119 119 RETURN … … 211 211 IF( ( nn_fsbc * niter ) >= nitend ) CALL histclo( nice ) 212 212 213 IF( .NOT. wrk_release(2, 1))THEN213 IF(wrk_not_released(2, 1))THEN 214 214 CALL ctl_stop('lim_wri_2 : failed to release workspace array.') 215 215 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3/limadv.F90
r2612 r2633 55 55 !! Reference: Prather, 1986, JGR, 91, D6. 6671-6681. 56 56 !!-------------------------------------------------------------------- 57 USE wrk_nemo, ONLY: wrk_ use, wrk_release57 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 58 58 USE wrk_nemo, ONLY: zf0 => wrk_2d_11 , zfx => wrk_2d_12 , zfy => wrk_2d_13 , zbet => wrk_2d_14 ! 2D workspace 59 59 USE wrk_nemo, ONLY: zfm => wrk_2d_15 , zfxx => wrk_2d_16 , zfyy => wrk_2d_17 , zfxy => wrk_2d_18 ! - - … … 74 74 !--------------------------------------------------------------------- 75 75 76 IF( .NOT. wrk_use(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN76 IF( wrk_in_use(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN 77 77 CALL ctl_stop( 'lim_adv_x : requested workspace arrays unavailable.' ) ; RETURN 78 78 END IF … … 223 223 ENDIF 224 224 ! 225 IF( .NOT. wrk_release(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN225 IF( wrk_not_released(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN 226 226 CALL ctl_stop( 'lim_adv_x : failed to release workspace arrays.' ) 227 227 END IF … … 244 244 !! Reference: Prather, 1986, JGR, 91, D6. 6671-6681. 245 245 !!--------------------------------------------------------------------- 246 USE wrk_nemo, ONLY: wrk_ use, wrk_release246 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 247 247 USE wrk_nemo, ONLY: zf0 => wrk_2d_11 , zfx => wrk_2d_12 , zfy => wrk_2d_13 , zbet => wrk_2d_14 ! 2D workspace 248 248 USE wrk_nemo, ONLY: zfm => wrk_2d_15 , zfxx => wrk_2d_16 , zfyy => wrk_2d_17 , zfxy => wrk_2d_18 ! - - … … 263 263 !--------------------------------------------------------------------- 264 264 265 IF( .NOT. wrk_use(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN265 IF(wrk_in_use(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN 266 266 CALL ctl_stop( 'lim_adv_y : requested workspace arrays unavailable.' ) ; RETURN 267 267 END IF … … 413 413 ENDIF 414 414 ! 415 IF( .NOT. wrk_release(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN415 IF( wrk_not_released(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN 416 416 CALL ctl_stop( 'lim_adv_y : failed to release workspace arrays.' ) 417 417 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3/limdyn.F90
r2612 r2633 55 55 !! - treatment of the case if no ice dynamic 56 56 !!------------------------------------------------------------------------------------ 57 USE wrk_nemo, ONLY: wrk_ use, wrk_release57 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 58 58 USE wrk_nemo, ONLY: wrk_1d_1, wrk_1d_2 59 59 USE wrk_nemo, ONLY: zu_io => wrk_2d_1, zv_io => wrk_2d_2 ! ice-ocean velocity … … 68 68 !!--------------------------------------------------------------------- 69 69 70 IF( .NOT. wrk_use(1, 1,2) .OR. .NOT. wrk_use(2, 1,2) ) THEN70 IF( wrk_in_use(1, 1,2) .OR. wrk_in_use(2, 1,2) ) THEN 71 71 CALL ctl_stop( 'lim_dyn : requested workspace arrays unavailable.' ) ; RETURN 72 72 END IF … … 212 212 ENDIF 213 213 ! 214 IF( .NOT. wrk_release(1, 1,2) .OR. .NOT. wrk_release(2, 1,2) ) THEN214 IF( wrk_not_released(1, 1,2) .OR. wrk_not_released(2, 1,2) ) THEN 215 215 CALL ctl_stop( 'lim_dyn : failed to release workspace arrays.' ) 216 216 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3/limhdf.F90
r2612 r2633 50 50 !! ** Action : update ptab with the diffusive contribution 51 51 !!------------------------------------------------------------------- 52 USE wrk_nemo, ONLY: wrk_ use, wrk_release52 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 53 53 USE wrk_nemo, ONLY: zflu => wrk_2d_11, zdiv => wrk_2d_13, zrlx => wrk_2d_15 54 54 USE wrk_nemo, ONLY: zflv => wrk_2d_12, zdiv0 => wrk_2d_14, ztab0 => wrk_2d_16 … … 62 62 !!------------------------------------------------------------------- 63 63 64 IF( .NOT. wrk_use(2, 11,12,13,14,15,16) ) THEN64 IF( wrk_in_use(2, 11,12,13,14,15,16) ) THEN 65 65 CALL ctl_stop( 'lim_hdf: ERROR: requested workspace arrays unavailable' ) ; RETURN 66 66 END IF … … 146 146 ENDIF 147 147 ! 148 IF( .NOT. wrk_release(2, 11,12,13,14,15,16) ) THEN148 IF( wrk_not_released(2, 11,12,13,14,15,16) ) THEN 149 149 CALL ctl_stop( 'lim_hdf : failed to release workspace arrays.' ) ; RETURN 150 150 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3/limistate.F90
r2612 r2633 61 61 !! or from arbitrary sea-ice conditions 62 62 !!------------------------------------------------------------------- 63 USE wrk_nemo, ONLY: wrk_ use, wrk_release63 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 64 64 USE wrk_nemo, ONLY: wrk_1d_1, wrk_1d_2, wrk_1d_3, wrk_1d_4 65 65 USE wrk_nemo, ONLY: zidto => wrk_2d_1 ! ice indicator … … 72 72 !-------------------------------------------------------------------- 73 73 74 IF( .NOT. wrk_use(1, 1,2) ) THEN74 IF( wrk_in_use(1, 1,2) ) THEN 75 75 CALL ctl_stop( 'lim_istate : requested workspace arrays unavailable.' ) ; RETURN 76 76 END IF … … 516 516 CALL lbc_lnk( fsbbq , 'T', 1. ) 517 517 ! 518 IF( .NOT. wrk_release(1, 1,2) ) THEN518 IF( wrk_not_released(1, 1,2) ) THEN 519 519 CALL ctl_stop( 'lim_istate : failed to release workspace arrays.' ) 520 520 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90
r2612 r2633 148 148 !!----------------------------------------------------------------------------- 149 149 150 IF( .NOT. wrk_use(2, 1,2,3,4,5,6,7,8) ) THEN150 IF( wrk_in_use(2, 1,2,3,4,5,6,7,8) ) THEN 151 151 CALL ctl_stop(' : requested workspace arrays unavailable.') ; RETURN 152 152 END IF … … 494 494 END DO 495 495 496 IF( .NOT. wrk_release(2, 1,2,3,4,5,6,7,8) ) CALL ctl_stop( 'lim_itd_me : failed to release workspace arrays.' )496 IF( wrk_not_released(2, 1,2,3,4,5,6,7,8) ) CALL ctl_stop( 'lim_itd_me : failed to release workspace arrays.' ) 497 497 ! 498 498 END SUBROUTINE lim_itd_me … … 524 524 !!---------------------------------------------------------------------- 525 525 526 IF( .NOT. wrk_use(2, 1) ) THEN526 IF( wrk_in_use(2, 1) ) THEN 527 527 CALL ctl_stop('lim_itd_me_icestrength : requested workspace array unavailable.') ; RETURN 528 528 END IF … … 681 681 CALL lbc_lnk( strength, 'T', 1. ) 682 682 683 IF( .NOT. wrk_release(2, 1))THEN683 IF(wrk_not_released(2, 1))THEN 684 684 CALL ctl_stop('lim_itd_me_icestrength : failed to release workspace array.') 685 685 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3/limrst.F90
r2612 r2633 91 91 !! ** purpose : output of sea-ice variable in a netcdf file 92 92 !!---------------------------------------------------------------------- 93 USE wrk_nemo, ONLY: wrk_ use, wrk_release93 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 94 94 USE wrk_nemo, ONLY: z2d => wrk_2d_1 ! 2D workspace 95 95 ! … … 102 102 !!---------------------------------------------------------------------- 103 103 104 IF( .NOT. wrk_use(2, 1) ) THEN104 IF( wrk_in_use(2, 1) ) THEN 105 105 CALL ctl_stop( 'lim_rst_write : requested workspace arrays unavailable.' ) ; RETURN 106 106 END IF … … 294 294 ENDIF 295 295 ! 296 IF( .NOT. wrk_release(2, 1) ) THEN296 IF( wrk_not_released(2, 1) ) THEN 297 297 CALL ctl_stop( 'lim_rst_write : failed to release workspace arrays.' ) 298 298 END IF … … 307 307 !! ** purpose : read of sea-ice variable restart in a netcdf file 308 308 !!---------------------------------------------------------------------- 309 USE wrk_nemo, ONLY: wrk_ use, wrk_release309 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 310 310 USE wrk_nemo, ONLY: z2d => wrk_2d_1 ! 2D workspace 311 311 ! … … 320 320 !!---------------------------------------------------------------------- 321 321 322 IF( .NOT. wrk_use(2, 1) ) THEN322 IF( wrk_in_use(2, 1) ) THEN 323 323 CALL ctl_stop( 'lim_rst_read : requested workspace arrays unavailable.' ) ; RETURN 324 324 END IF … … 571 571 CALL iom_close( numrir ) 572 572 ! 573 IF( .NOT. wrk_release(2, 1) ) THEN573 IF( wrk_not_released(2, 1) ) THEN 574 574 CALL ctl_stop( 'lim_rst_read : failed to release workspace arrays.' ) 575 575 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90
r2612 r2633 96 96 !! Tartinville et al. 2001 Ocean Modelling, 3, 95-108. 97 97 !!--------------------------------------------------------------------- 98 USE wrk_nemo, ONLY: wrk_ release, wrk_use98 USE wrk_nemo, ONLY: wrk_not_released, wrk_in_use 99 99 USE wrk_nemo, ONLY: zfcm1 => wrk_2d_1 , zfcm2 => wrk_2d_2 ! 2D workspace 100 100 USE wrk_nemo, ONLY: wrk_3d_4, wrk_3d_5 ! 3D workspace … … 111 111 !!--------------------------------------------------------------------- 112 112 113 IF( .NOT.wrk_use(2, 1,2) .OR. .NOT.wrk_use(3, 4,5) ) THEN113 IF( wrk_in_use(2, 1,2) .OR. wrk_in_use(3, 4,5) ) THEN 114 114 CALL ctl_stop( 'lim_sbc_flx : requested workspace arrays unavailable.' ) ; RETURN 115 115 ENDIF … … 300 300 ENDIF 301 301 ! 302 IF( .NOT. wrk_release(2, 1,2) .OR. .NOT. wrk_release(3, 4,5) ) THEN302 IF( wrk_not_released(2, 1,2) .OR. wrk_not_released(3, 4,5) ) THEN 303 303 CALL ctl_stop( 'lim_sbc_flx : failed to release workspace arrays.' ) 304 304 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90
r2626 r2633 81 81 !! ** References : H. Goosse et al. 1996, Bul. Soc. Roy. Sc. Liege, 65, 87-90 82 82 !!--------------------------------------------------------------------- 83 USE wrk_nemo, ONLY: wrk_ use, wrk_release83 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 84 84 USE wrk_nemo, ONLY: zqlbsbq => wrk_2d_1 ! 2D workspace 85 85 ! … … 94 94 !!------------------------------------------------------------------- 95 95 96 IF( .NOT. wrk_use(2, 1) ) THEN96 IF( wrk_in_use(2, 1) ) THEN 97 97 CALL ctl_stop( 'lim_thd : requested workspace arrays unavailable' ) ; RETURN 98 98 ENDIF … … 458 458 ENDIF 459 459 ! 460 IF( .NOT. wrk_release(2, 1) ) CALL ctl_stop( 'lim_thd : failed to release workspace arrays' )460 IF( wrk_not_released(2, 1) ) CALL ctl_stop( 'lim_thd : failed to release workspace arrays' ) 461 461 ! 462 462 END SUBROUTINE lim_thd -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3/limthd_dh.F90
r2612 r2633 102 102 !!------------------------------------------------------------------ 103 103 104 IF( .NOT. wrk_use(1, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22) ) THEN104 IF( wrk_in_use(1, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22) ) THEN 105 105 CALL ctl_stop('lim_thd_dh : requestead workspace arrays unavailable.') ; RETURN 106 106 END IF … … 699 699 END DO !ji 700 700 ! 701 IF( .NOT. wrk_release(1, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21) ) &701 IF( wrk_not_released(1, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21) ) & 702 702 & CALL ctl_stop('lim_thd_dh : failed to release workspace arrays.') 703 703 ! -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3/limthd_ent.F90
r2612 r2633 121 121 !!------------------------------------------------------------------- 122 122 123 IF( .NOT. wrk_use(1, 1,2,3,4,5,6,7,8) ) THEN123 IF( wrk_in_use(1, 1,2,3,4,5,6,7,8) ) THEN 124 124 CALL ctl_stop('lim_thd_dh : requestead workspace arrays unavailable.') ; RETURN 125 125 END IF … … 687 687 END DO !jk 688 688 ! 689 IF( .NOT. wrk_release(1, 1,2,3,4,5,6,7,8) ) CALL ctl_stop( 'lim_thd_ent : failed to release workspace arrays.' )689 IF( wrk_not_released(1, 1,2,3,4,5,6,7,8) ) CALL ctl_stop( 'lim_thd_ent : failed to release workspace arrays.' ) 690 690 ! 691 691 END SUBROUTINE lim_thd_ent -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3/limthd_lac.F90
r2612 r2633 110 110 !!-----------------------------------------------------------------------! 111 111 112 IF( .NOT. wrk_use(1, 1,2,3,4,5,6,7,8,9,10,11,12,13,14) .AND. &113 & .NOT. wrk_use(2, 1,2,3,4,5,6,7,8) ) THEN112 IF( wrk_in_use(1, 1,2,3,4,5,6,7,8,9,10,11,12,13,14) .OR. & 113 & wrk_in_use(2, 1,2,3,4,5,6,7,8) ) THEN 114 114 CALL ctl_stop('lim_thd_dh : requestead workspace arrays unavailable.') ; RETURN 115 115 END IF … … 689 689 ENDIF 690 690 ! 691 IF( .NOT. wrk_release(1, 1,2,3,4,5,6,7,8,9,10,11,12,13,14) .AND. &692 & .NOT. wrk_release(2, 1,2,3,4,5,6,7,8)) &691 IF( wrk_not_released(1, 1,2,3,4,5,6,7,8,9,10,11,12,13,14) .OR. & 692 &wrk_not_released(2, 1,2,3,4,5,6,7,8) ) & 693 693 & CALL ctl_stop( 'lim_thd_lac : failed to release workspace arrays.' ) 694 694 ! -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3/limthd_sal.F90
r2612 r2633 59 59 !!--------------------------------------------------------------------- 60 60 61 IF( .NOT. wrk_use(1, 1,2,3) ) THEN61 IF( wrk_in_use(1, 1,2,3) ) THEN 62 62 CALL ctl_stop('lim_thd_dh : requestead workspace arrays unavailable.') ; RETURN 63 63 END IF … … 237 237 ENDIF 238 238 ! 239 IF( .NOT. wrk_release(1, 1,2,3) ) CALL ctl_stop( 'lim_thd_lac : failed to release workspace arrays.' )239 IF( wrk_not_released(1, 1,2,3) ) CALL ctl_stop( 'lim_thd_lac : failed to release workspace arrays.' ) 240 240 ! 241 241 END SUBROUTINE lim_thd_sal -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3/limtrp.F90
r2612 r2633 62 62 !! ** action : 63 63 !!--------------------------------------------------------------------- 64 USE wrk_nemo, ONLY: wrk_ use, wrk_release64 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 65 65 USE wrk_nemo, ONLY: zs0at => wrk_2d_1 , zsm => wrk_2d_2 , zs0ow => wrk_2d_3 ! 2D workspace 66 66 USE wrk_nemo, ONLY: wrk_3d_1, wrk_3d_2, wrk_3d_3, wrk_3d_4, wrk_3d_5, wrk_3d_6 ! 3D workspace … … 80 80 !!--------------------------------------------------------------------- 81 81 82 IF( .NOT.wrk_use( 2, 1,2,3,4,5 ) ) THEN82 IF( wrk_in_use( 2, 1,2,3,4,5 ) ) THEN 83 83 CALL ctl_stop( 'lim_trp : requested workspace arrays unavailable.' ) ; RETURN 84 84 END IF … … 463 463 ENDIF 464 464 ! 465 IF( .NOT.wrk_release( 2, 1,2,3,4,5 ) ) CALL ctl_stop('lim_trp_2 : failed to release workspace arrays.')465 IF( wrk_not_released( 2, 1,2,3,4,5 ) ) CALL ctl_stop('lim_trp_2 : failed to release workspace arrays.') 466 466 ! 467 467 END SUBROUTINE lim_trp -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3/limvar.F90
r2612 r2633 304 304 !!------------------------------------------------------------------ 305 305 306 IF( .NOT.wrk_use( 2, 1,2 ) ) THEN306 IF( wrk_in_use( 2, 1,2 ) ) THEN 307 307 CALL ctl_stop( 'lim_var_salprof : requested workspace arrays unavailable.' ) ; RETURN 308 308 END IF … … 388 388 ENDIF ! num_sal 389 389 ! 390 IF( .NOT.wrk_release( 2, 1,2 ) ) CALL ctl_stop('lim_var_salprof : failed to release workspace arrays.')390 IF( wrk_not_released( 2, 1,2 ) ) CALL ctl_stop('lim_var_salprof : failed to release workspace arrays.') 391 391 ! 392 392 END SUBROUTINE lim_var_salprof … … 441 441 !!--------------------------------------------------------------------- 442 442 443 IF( .NOT. wrk_use(1, 1) ) THEN443 IF( wrk_in_use(1, 1) ) THEN 444 444 CALL ctl_stop('lim_var_salprof1d : requestead workspace arrays unavailable.') ; RETURN 445 445 END IF … … 510 510 ENDIF 511 511 ! 512 IF( .NOT. wrk_release(1, 1) ) CALL ctl_stop( 'lim_var_salprof1d : failed to release workspace arrays.' )512 IF( wrk_not_released(1, 1) ) CALL ctl_stop( 'lim_var_salprof1d : failed to release workspace arrays.' ) 513 513 ! 514 514 END SUBROUTINE lim_var_salprof1d -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_3/limwri.F90
r2612 r2633 70 70 !! modif : 03/06/98 71 71 !!------------------------------------------------------------------- 72 USE wrk_nemo, ONLY: wrk_ release, wrk_use72 USE wrk_nemo, ONLY: wrk_not_released, wrk_in_use 73 73 USE wrk_nemo, ONLY: zfield => wrk_2d_1 ! 2D workspace 74 74 USE wrk_nemo, ONLY: wrk_3d_1, wrk_3D_2, wrk_3d_3 ! 3D workspace -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DIA/diaar5.F90
r2613 r2633 65 65 !! ** Purpose : compute and output some AR5 diagnostics 66 66 !!---------------------------------------------------------------------- 67 USE wrk_nemo, ONLY: wrk_ use, wrk_release67 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 68 68 USE wrk_nemo, ONLY: zarea_ssh => wrk_2d_1, zbotpres => wrk_2d_2 69 69 USE wrk_nemo, ONLY: zrhd => wrk_3d_1, zrhop => wrk_3d_2 … … 76 76 !!-------------------------------------------------------------------- 77 77 78 IF( (.NOT. wrk_use(2, 1,2)) .OR. &79 (.NOT. wrk_use(3, 1,2)) .OR. &80 (.NOT. wrk_use(4, 1)) )THEN78 IF( wrk_in_use(2, 1,2) .OR. & 79 wrk_in_use(3, 1,2) .OR. & 80 wrk_in_use(4, 1) )THEN 81 81 CALL ctl_stop('dia_ar5: requested workspace arrays unavailable') ; RETURN 82 82 END IF … … 160 160 CALL iom_put( 'saltot' , zsal ) 161 161 ! 162 IF( (.NOT. wrk_release(2, 1,2)) .OR. &163 (.NOT. wrk_release(3, 1,2)) .OR. &164 (.NOT. wrk_release(4, 1)) )THEN162 IF( wrk_not_released(2, 1,2) .OR. & 163 wrk_not_released(3, 1,2) .OR. & 164 wrk_not_released(4, 1) )THEN 165 165 CALL ctl_stop('dia_ar5: failed to release workspace arrays') 166 166 END IF … … 175 175 !! ** Purpose : initialization for AR5 diagnostic computation 176 176 !!---------------------------------------------------------------------- 177 USE wrk_nemo, ONLY: wrk_ use, wrk_release177 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 178 178 USE wrk_nemo, ONLY: wrk_4d_1 179 179 !! … … 185 185 !!---------------------------------------------------------------------- 186 186 ! 187 IF( .NOT. wrk_use(4, 1))THEN187 IF(wrk_in_use(4, 1))THEN 188 188 CALL ctl_stop('dia_ar5_init: requested workspace array unavailable.') ; RETURN 189 189 END IF … … 223 223 ENDIF 224 224 ! 225 IF( .NOT. wrk_release(4, 1))THEN225 IF(wrk_not_released(4, 1))THEN 226 226 CALL ctl_stop('dia_ar5_init: failed to release workspace array.') 227 227 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90
r2625 r2633 210 210 !!---------------------------------------------------------------------- 211 211 #if defined key_mpp_mpi 212 USE wrk_nemo, ONLY: wrk_ use, wrk_release212 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 213 213 USE wrk_nemo, ONLY: zwork => wrk_1d_1 214 214 #endif … … 228 228 ! 229 229 #if defined key_mpp_mpi 230 IF( .not. wrk_use(1, 1) ) THEN230 IF( wrk_in_use(1, 1) ) THEN 231 231 CALL ctl_stop('ptr_vjk: ERROR - requested workspace array is unavailable') ; RETURN 232 232 END IF … … 265 265 ! 266 266 #if defined key_mpp_mpi 267 IF( .NOT. wrk_release(1, 1) ) CALL ctl_stop('ptr_vjk: ERROR - failed to release workspace array')267 IF(wrk_not_released(1, 1) ) CALL ctl_stop('ptr_vjk: ERROR - failed to release workspace array') 268 268 #endif 269 269 ! … … 282 282 !!---------------------------------------------------------------------- 283 283 #if defined key_mpp_mpi 284 USE wrk_nemo, ONLY: wrk_ use, wrk_release284 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 285 285 USE wrk_nemo, ONLY: zwork => wrk_1d_1 286 286 #endif … … 299 299 ! 300 300 #if defined key_mpp_mpi 301 IF( .NOT. wrk_use(1, 1))THEN301 IF(wrk_in_use(1, 1))THEN 302 302 CALL ctl_stop('ptr_tjk: requested workspace array unavailable.') 303 303 RETURN … … 324 324 ! 325 325 #if defined key_mpp_mpi 326 IF( .NOT. wrk_release(1, 1) ) CALL ctl_stop('ptr_tjk: failed to release workspace array.')326 IF( wrk_not_released(1, 1) ) CALL ctl_stop('ptr_tjk: failed to release workspace array.') 327 327 #endif 328 328 ! … … 532 532 !! ** Method : NetCDF file 533 533 !!---------------------------------------------------------------------- 534 USE wrk_nemo, ONLY: wrk_ use, wrk_release534 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 535 535 USE wrk_nemo, ONLY: zphi => wrk_1d_1, zfoo => wrk_1d_2 536 536 USE wrk_nemo, ONLY: z_1 => wrk_2d_1 … … 551 551 !!---------------------------------------------------------------------- 552 552 553 IF( (.not. wrk_use(1, 1,2)) .OR. (.not. wrk_use(2, 1)) )THEN553 IF( wrk_in_use(1, 1,2) .OR. wrk_in_use(2, 1) )THEN 554 554 CALL ctl_stop('dia_ptr_wri: ERROR: requested workspace arrays unavailable') ; RETURN 555 555 END IF … … 867 867 ENDIF 868 868 ! 869 IF( .not. wrk_release(1, 1,2) .OR. (.not. wrk_release(2, 1)) ) &869 IF( wrk_not_released(1, 1,2) .OR. wrk_not_released(2, 1) ) & 870 870 CALL ctl_stop('dia_ptr_wri: failed to release workspace arrays') 871 871 ! -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90
r2625 r2633 117 117 !!---------------------------------------------------------------------- 118 118 USE oce, ONLY : z3d => ta ! use ta as 3D workspace 119 USE wrk_nemo, ONLY: wrk_ use, wrk_release119 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 120 120 USE wrk_nemo, ONLY: z2d => wrk_2d_1 121 121 !! … … 126 126 !!---------------------------------------------------------------------- 127 127 ! 128 IF( .not. wrk_use(2, 1))THEN128 IF( wrk_in_use(2, 1))THEN 129 129 CALL ctl_stop('dia_wri: ERROR - requested 2D workspace unavailable.') 130 130 RETURN … … 200 200 ENDIF 201 201 ! 202 IF( .not. wrk_release(2, 1))THEN202 IF( wrk_not_released(2, 1))THEN 203 203 CALL ctl_stop('dia_wri: ERROR - failed to release 2D workspace.') 204 204 RETURN … … 224 224 !! Each nwrite time step, output the instantaneous or mean fields 225 225 !!---------------------------------------------------------------------- 226 USE wrk_nemo, ONLY: wrk_ use, wrk_release226 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 227 227 USE wrk_nemo, ONLY: zw2d => wrk_2d_1 228 228 !! … … 236 236 !!---------------------------------------------------------------------- 237 237 ! 238 IF( .not. wrk_use(2, 1))THEN238 IF( wrk_in_use(2, 1))THEN 239 239 CALL ctl_stop('dia_wri: ERROR - requested 2D workspace unavailable.') 240 240 RETURN … … 608 608 ENDIF 609 609 ! 610 IF( .not. wrk_release(2, 1))THEN610 IF( wrk_not_released(2, 1))THEN 611 611 CALL ctl_stop('dia_wri: ERROR - failed to release 2D workspace.') 612 612 RETURN -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90
r2590 r2633 131 131 !! tmask_i : interior ocean mask 132 132 !!---------------------------------------------------------------------- 133 USE wrk_nemo, ONLY: wrk_ use, wrk_release, iwrk_use, iwrk_release133 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released, iwrk_in_use, iwrk_not_released 134 134 USE wrk_nemo, ONLY: zwf => wrk_2d_1 135 135 USE wrk_nemo, ONLY: imsk => iwrk_2d_1 … … 142 142 !!--------------------------------------------------------------------- 143 143 144 IF( (.not. wrk_use(2,1)) .OR. (.not. iwrk_use(2,1)) )THEN144 IF( wrk_in_use(2,1) .OR. iwrk_in_use(2,1) )THEN 145 145 CALL ctl_stop('dom_msk: ERROR: requested workspace arrays unavailable.') 146 146 RETURN … … 443 443 ENDIF 444 444 ! 445 IF( (.not. wrk_release(2,1)) .OR. (.not. iwrk_release(2,1)) )THEN445 IF( wrk_not_released(2,1) .OR. iwrk_not_released(2,1) )THEN 446 446 CALL ctl_stop('dom_msk: ERROR: failed to release workspace arrays.') 447 447 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DOM/domngb.F90
r2590 r2633 37 37 !!---------------------------------------------------------------------- 38 38 USE in_out_manager, ONLY: ctl_stop 39 USE wrk_nemo, ONLY: wrk_ use, wrk_release39 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 40 40 USE wrk_nemo, ONLY: zglam => wrk_2d_2, & 41 41 zgphi => wrk_2d_3, & … … 52 52 !!-------------------------------------------------------------------- 53 53 54 IF( .not. wrk_use(2, 2, 3, 4, 5))THEN54 IF(wrk_in_use(2, 2, 3, 4, 5))THEN 55 55 CALL ctl_stop('dom_ngb: Requested workspaces already in use.') 56 56 END IF … … 81 81 ENDIF 82 82 83 IF( .not. wrk_release(2, 2,3,4,5))THEN83 IF(wrk_not_released(2, 2,3,4,5))THEN 84 84 CALL ctl_stop('dom_ngb: error releasing workspaces.') 85 85 ENDIF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90
r2618 r2633 65 65 !! ssh over the whole water column (scale factors) 66 66 !!---------------------------------------------------------------------- 67 USE wrk_nemo, ONLY: wrk_ use, wrk_release67 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 68 68 USE wrk_nemo, ONLY: zs_t => wrk_2d_1, zs_u_1 => wrk_2d_2 69 69 USE wrk_nemo, ONLY: zs_v_1 => wrk_2d_3 … … 74 74 !!---------------------------------------------------------------------- 75 75 76 IF( .not. wrk_use(2, 1,2,3))THEN76 IF(wrk_in_use(2, 1,2,3))THEN 77 77 CALL ctl_stop('dom_vvl: ERROR - requested workspace arrays unavailable.') ; RETURN 78 78 END IF … … 190 190 fse3v_b(:,:,:) = fse3v_b(:,:,:) + fse3v_0(:,:,:) 191 191 ! 192 IF( .not. wrk_release(2, 1,2,3))THEN192 IF(wrk_not_released(2, 1,2,3))THEN 193 193 CALL ctl_stop('dom_vvl: ERROR - failed to release workspace arrays.') 194 194 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DOM/domwri.F90
r2618 r2633 63 63 !! masks, depth and vertical scale factors 64 64 !!---------------------------------------------------------------------- 65 USE wrk_nemo, ONLY: wrk_ use, wrk_release65 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 66 66 USE wrk_nemo, ONLY: zprt => wrk_2d_1, zprw => wrk_2d_2 67 67 USE wrk_nemo, ONLY: zdepu => wrk_3d_1, zdepv => wrk_3d_2 … … 80 80 !!---------------------------------------------------------------------- 81 81 82 IF( (.not. wrk_use(2, 1,2)) .OR. (.not. wrk_use(3, 1,2)) )THEN82 IF( wrk_in_use(2, 1,2) .OR. wrk_in_use(3, 1,2) )THEN 83 83 CALL ctl_stop('dom_wri: ERROR - requested workspace arrays unavailable.') 84 84 RETURN … … 261 261 END SELECT 262 262 ! 263 IF( (.not. wrk_release(2, 1,2)) .OR. (.not. wrk_release(3, 1,2)) )THEN263 IF( wrk_not_released(2, 1,2) .OR. wrk_not_released(3, 1,2) )THEN 264 264 CALL ctl_stop('dom_wri: ERROR - failed to release workspace arrays.') 265 265 END IF … … 278 278 !!---------------------------------------------------------------------- 279 279 !! 280 USE wrk_nemo, ONLY: wrk_ use, wrk_release280 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 281 281 USE wrk_nemo, ONLY: ztstref => wrk_2d_1 ! array with different values for each element 282 282 !! … … 289 289 !!---------------------------------------------------------------------- 290 290 291 IF( .not. wrk_use(2, 1) ) THEN 292 CALL ctl_stop('dom_uniq: ERROR - requested workspace array unavailable.') ; RETURN 291 IF( wrk_in_use(2, 1) ) THEN 292 CALL ctl_stop('dom_uniq : requested workspace array unavailable.') ; RETURN 293 RETURN 293 294 END IF 294 295 … … 307 308 puniq(nldi:nlei,nldj:nlej) = REAL( COUNT( lldbl(nldi:nlei,nldj:nlej,:), dim = 3 ) , wp ) 308 309 ! 310 IF( wrk_not_released(2, 1) ) THEN 311 CALL ctl_stop('dom_uniq : failed to release workspace array.') ; RETURN 312 END IF 313 ! 309 314 END SUBROUTINE dom_uniq 310 315 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90
r2590 r2633 619 619 !! - update bathy : meter bathymetry (in meters) 620 620 !!---------------------------------------------------------------------- 621 USE wrk_nemo, ONLY: wrk_ use, wrk_release621 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 622 622 USE wrk_nemo, ONLY: zbathy => wrk_2d_1 623 623 !! … … 626 626 !!---------------------------------------------------------------------- 627 627 628 IF( .not. wrk_use(2, 1))THEN628 IF(wrk_in_use(2, 1))THEN 629 629 CALL ctl_stop('zgr_bat_ctl: ERROR: requested workspace array unavailable.') 630 630 RETURN … … 733 733 ENDIF 734 734 ! 735 IF( .not. wrk_release(2, 1))THEN735 IF(wrk_not_released(2, 1))THEN 736 736 CALL ctl_stop('zgr_bat_ctl: ERROR: failed to release workspace array.') 737 737 RETURN … … 753 753 !! (min value = 1 over land) 754 754 !!---------------------------------------------------------------------- 755 USE wrk_nemo, ONLY: wrk_ use, wrk_release755 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 756 756 USE wrk_nemo, ONLY: zmbk => wrk_2d_1 757 757 !! … … 759 759 !!---------------------------------------------------------------------- 760 760 ! 761 IF( .not. wrk_use(2, 1))THEN761 IF( wrk_in_use(2, 1))THEN 762 762 CALL ctl_stop('zgr_bot_level: ERROR - requested 2D workspace unavailable.') 763 763 RETURN … … 780 780 zmbk(:,:) = REAL( mbkv(:,:), wp ) ; CALL lbc_lnk(zmbk,'V',1.) ; mbkv (:,:) = MAX( INT( zmbk(:,:) ), 1 ) 781 781 ! 782 IF( .not. wrk_release(2, 1))THEN782 IF( wrk_not_released(2, 1))THEN 783 783 CALL ctl_stop('zgr_bot_level: ERROR - failed to release workspace array.') 784 784 RETURN … … 860 860 !! Reference : Pacanowsky & Gnanadesikan 1997, Mon. Wea. Rev., 126, 3248-3270. 861 861 !!---------------------------------------------------------------------- 862 USE wrk_nemo, ONLY: wrk_ use, wrk_release862 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 863 863 USE wrk_nemo, ONLY: zprt => wrk_3d_1 864 864 !! … … 873 873 !!--------------------------------------------------------------------- 874 874 ! 875 IF( .not. wrk_use(3, 1))THEN875 IF( wrk_in_use(3, 1))THEN 876 876 CALL ctl_stop('zgr_zps: ERROR - requested workspace unavailable.') 877 877 RETURN … … 1068 1068 ENDIF 1069 1069 ! 1070 IF( .not. wrk_release(3, 1))THEN1070 IF( wrk_not_released(3, 1))THEN 1071 1071 CALL ctl_stop('zgr_zps: ERROR - failed to release workspace.') 1072 1072 RETURN … … 1159 1159 !! Reference : Madec, Lott, Delecluse and Crepon, 1996. JPO, 26, 1393-1408. 1160 1160 !!---------------------------------------------------------------------- 1161 USE wrk_nemo, ONLY: wrk_ use, wrk_release1161 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 1162 1162 USE wrk_nemo, ONLY: zenv => wrk_2d_1, ztmp => wrk_2d_2, zmsk => wrk_2d_3, & 1163 1163 zri => wrk_2d_4, zrj => wrk_2d_5, zhbat => wrk_2d_6 … … 1170 1170 !!---------------------------------------------------------------------- 1171 1171 1172 IF( .not. wrk_use(2, 1,2,3,4,5,6))THEN1172 IF(wrk_in_use(2, 1,2,3,4,5,6))THEN 1173 1173 CALL ctl_stop('zgr_sco: ERROR - requested workspace arrays unavailable') 1174 1174 RETURN … … 1616 1616 !!gm bug #endif 1617 1617 ! 1618 IF( .not. wrk_release(2, 1,2,3,4,5,6))THEN1618 IF(wrk_not_released(2, 1,2,3,4,5,6))THEN 1619 1619 CALL ctl_stop('zgr_sco: ERROR - failed to release workspace arrays') 1620 1620 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DOM/istate.F90
r2590 r2633 446 446 !! p=integral [ rau*g dz ] 447 447 !!---------------------------------------------------------------------- 448 USE wrk_nemo, ONLY: wrk_ use, wrk_release448 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 449 449 USE wrk_nemo, ONLY: zprn => wrk_3d_1 450 450 … … 458 458 !!---------------------------------------------------------------------- 459 459 460 IF( .NOT. wrk_use(3, 1))THEN460 IF(wrk_in_use(3, 1))THEN 461 461 CALL ctl_stop('istage_uvg: requested workspace array unavailable.') 462 462 RETURN … … 558 558 rotb (:,:,:) = rotn (:,:,:) ! set the before to the now value 559 559 ! 560 IF( .NOT. wrk_release(3, 1))THEN560 IF(wrk_not_released(3, 1))THEN 561 561 CALL ctl_stop('istage_uvg: failed to release workspace array.') 562 562 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynadv_cen2.F90
r2625 r2633 46 46 !! ** Action : (ua,va) updated with the now vorticity term trend 47 47 !!---------------------------------------------------------------------- 48 USE wrk_nemo, ONLY: wrk_ use, wrk_release48 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 49 49 USE oce , ONLY: zfu => ta ! use ta as 3D workspace 50 50 USE oce , ONLY: zfv => sa ! use sa as 3D workspace … … 66 66 67 67 ! Check that global workspace arrays aren't already in use 68 IF( .not. wrk_use(3, 1,2,3,4,5,6,7) ) THEN68 IF( wrk_in_use(3, 1,2,3,4,5,6,7) ) THEN 69 69 CALL ctl_stop('dyn_adv_cen2 : requested workspace array unavailable') ; RETURN 70 70 END IF … … 162 162 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 163 163 ! 164 IF( .not. wrk_release(3, 1,2,3,4,5,6,7) ) CALL ctl_stop('dyn_adv_cen2 : failed to release workspace array')164 IF( wrk_not_released(3, 1,2,3,4,5,6,7) ) CALL ctl_stop('dyn_adv_cen2 : failed to release workspace array') 165 165 ! 166 166 END SUBROUTINE dyn_adv_cen2 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynadv_ubs.F90
r2625 r2633 67 67 !! Reference : Shchepetkin & McWilliams, 2005, Ocean Modelling. 68 68 !!---------------------------------------------------------------------- 69 USE wrk_nemo, ONLY: wrk_ use, wrk_release69 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 70 70 USE oce , ONLY: zfu => ta ! ta used as 3D workspace 71 71 USE oce , ONLY: zfv => sa ! sa used as 3D workspace … … 90 90 91 91 ! Check that required workspace arrays are not already in use 92 IF( .not. wrk_use(3, 1,2,3,4,5,6,7) .AND. .not. wrk_use(4, 1,2,3,4) ) THEN92 IF( wrk_in_use(3, 1,2,3,4,5,6,7) .OR. wrk_in_use(4, 1,2,3,4) ) THEN 93 93 CALL ctl_stop('dyn_adv_ubs : requested workspace array unavailable') ; RETURN 94 94 END IF … … 254 254 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 255 255 ! 256 IF( .not. wrk_release(3, 1,2,3,4,5,6,7) .OR. &257 .not. wrk_release(4, 1,2,3,4) ) CALL ctl_stop('dyn_adv_ubs : failed to release workspace array')256 IF( wrk_not_released(3, 1,2,3,4,5,6,7) .OR. & 257 wrk_not_released(4, 1,2,3,4) ) CALL ctl_stop('dyn_adv_ubs : failed to release workspace array') 258 258 ! 259 259 END SUBROUTINE dyn_adv_ubs -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90
r2625 r2633 76 76 !! - Save the trend (l_trddyn=T) 77 77 !!---------------------------------------------------------------------- 78 USE wrk_nemo, ONLY: wrk_ use, wrk_release78 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 79 79 USE wrk_nemo, ONLY: ztrdu => wrk_3d_1, ztrdv => wrk_3d_2 ! 3D workspace 80 80 !! … … 83 83 !!---------------------------------------------------------------------- 84 84 ! 85 IF( .NOT. wrk_use(3, 1,2) ) THEN85 IF(wrk_in_use(3, 1,2) ) THEN 86 86 CALL ctl_stop('dyn_hpg: requested workspace arrays are unavailable') ; RETURN 87 87 END IF … … 111 111 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 112 112 ! 113 IF( .NOT. wrk_release(3, 1,2) ) CALL ctl_stop('dyn_hpg: failed to release workspace arrays')113 IF(wrk_not_released(3, 1,2) ) CALL ctl_stop('dyn_hpg: failed to release workspace arrays') 114 114 ! 115 115 END SUBROUTINE dyn_hpg … … 602 602 USE oce, ONLY : zhpi => ta ! use ta as 3D workspace 603 603 USE oce, ONLY : zhpj => sa ! use sa as 3D workspace 604 USE wrk_nemo, ONLY: wrk_ use, wrk_release604 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 605 605 USE wrk_nemo, ONLY: drhox => wrk_3d_1 , dzx => wrk_3d_2 606 606 USE wrk_nemo, ONLY: drhou => wrk_3d_3 , dzu => wrk_3d_4 , rho_i => wrk_3d_5 … … 619 619 !!---------------------------------------------------------------------- 620 620 621 IF( .NOT. wrk_use(3, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) ) THEN621 IF(wrk_in_use(3, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) ) THEN 622 622 CALL ctl_stop('dyn:hpg_djc : requested workspace arrays unavailable') ; RETURN 623 623 END IF … … 819 819 END DO 820 820 ! 821 IF( .NOT. wrk_release(3, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) ) &821 IF(wrk_not_released(3, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) ) & 822 822 CALL ctl_stop('dyn:hpg_djc : failed to release workspace arrays.') 823 823 ! … … 835 835 USE oce, ONLY : zhpi => ta ! use ta as 3D workspace 836 836 USE oce, ONLY : zhpj => sa ! use sa as 3D workspace 837 USE wrk_nemo, ONLY: wrk_ use, wrk_release837 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 838 838 USE wrk_nemo, ONLY: zdistr => wrk_2d_1 , zsina => wrk_2d_2 , zcosa => wrk_2d_3 839 839 USE wrk_nemo, ONLY: zhpiorg => wrk_3d_1 , zhpirot => wrk_3d_2 … … 849 849 !!---------------------------------------------------------------------- 850 850 851 IF( .NOT. wrk_use(2, 1,2,3) .OR. &852 .NOT. wrk_use(3, 1,2,3,4,5,6,7,8) ) THEN851 IF( wrk_in_use(2, 1,2,3) .OR. & 852 wrk_in_use(3, 1,2,3,4,5,6,7,8) ) THEN 853 853 CALL ctl_stop('dyn:hpg_rot : requested workspace arrays unavailable') ; RETURN 854 854 END IF … … 1009 1009 END DO 1010 1010 ! 1011 IF( .NOT. wrk_release(2, 1,2,3) .OR. &1012 .NOT. wrk_release(3, 1,2,3,4,5,6,7,8) ) CALL ctl_stop('dyn:hpg_rot : failed to release workspace arrays')1011 IF( wrk_not_released(2, 1,2,3) .OR. & 1012 wrk_not_released(3, 1,2,3,4,5,6,7,8) ) CALL ctl_stop('dyn:hpg_rot : failed to release workspace arrays') 1013 1013 ! 1014 1014 END SUBROUTINE hpg_rot -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynkeg.F90
r2625 r2633 51 51 !! - save this trends (l_trddyn=T) for post-processing 52 52 !!---------------------------------------------------------------------- 53 USE wrk_nemo, ONLY: wrk_ use, wrk_release53 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 54 54 USE oce , ONLY: ztrdu => ta , ztrdv => sa ! (ta,sa) used as 3D workspace 55 55 USE wrk_nemo, ONLY: zhke => wrk_3d_1 ! 3D workspace … … 61 61 !!---------------------------------------------------------------------- 62 62 63 IF( .NOT. wrk_use(3,1) ) THEN63 IF(wrk_in_use(3,1) ) THEN 64 64 CALL ctl_stop('dyn_key: requested workspace array is unavailable.') ; RETURN 65 65 ENDIF … … 135 135 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 136 136 ! 137 IF( .NOT. wrk_release(3, 1) ) CALL ctl_stop('dyn_key: failed to release workspace array')137 IF(wrk_not_released(3, 1) ) CALL ctl_stop('dyn_key: failed to release workspace array') 138 138 ! 139 139 END SUBROUTINE dyn_keg -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf.F90
r2590 r2633 52 52 !! ** Purpose : compute the lateral ocean dynamics physics. 53 53 !!---------------------------------------------------------------------- 54 USE wrk_nemo, ONLY: wrk_ use, wrk_release54 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 55 55 USE wrk_nemo, ONLY: ztrdu => wrk_3d_1, ztrdv => wrk_3d_2 56 56 !! … … 58 58 !!---------------------------------------------------------------------- 59 59 60 IF( .NOT. wrk_use(3, 1,2))THEN60 IF(wrk_in_use(3, 1,2))THEN 61 61 CALL ctl_stop('dyn_ldf: requested workspace arrays unavailable.') 62 62 RETURN … … 112 112 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 113 113 ! 114 IF( .NOT. wrk_release(3, 1,2))THEN114 IF(wrk_not_released(3, 1,2))THEN 115 115 CALL ctl_stop('dyn_ldf: failed to release workspace arrays.') 116 116 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_bilap.F90
r2625 r2633 75 75 !! mixing trend. 76 76 !!---------------------------------------------------------------------- 77 USE wrk_nemo, ONLY: wrk_ use, wrk_release77 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 78 78 USE wrk_nemo, ONLY: zcu => wrk_2d_1, zcv => wrk_2d_2 ! 3D workspace 79 79 USE wrk_nemo, ONLY: zuf => wrk_3d_1, zut => wrk_3d_2 ! 3D workspace … … 86 86 !!---------------------------------------------------------------------- 87 87 88 IF( .NOT. wrk_use(2, 1,2) .OR. .NOT. wrk_use(3, 1,2,3,4) ) THEN88 IF( wrk_in_use(2, 1,2) .OR. wrk_in_use(3, 1,2,3,4) ) THEN 89 89 CALL ctl_stop('dyn_ldf_bilap : requested workspace arrays unavailable') ; RETURN 90 90 ENDIF … … 208 208 END DO ! End of slab 209 209 ! ! =============== 210 IF( .NOT. wrk_release(2, 1,2) .OR. &211 .NOT. wrk_release(3, 1,2,3,4) ) CALL ctl_stop('dyn_ldf_bilap : failed to release workspace arrays')210 IF( wrk_not_released(2, 1,2) .OR. & 211 wrk_not_released(3, 1,2,3,4) ) CALL ctl_stop('dyn_ldf_bilap : failed to release workspace arrays') 212 212 ! 213 213 END SUBROUTINE dyn_ldf_bilap -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_bilapg.F90
r2618 r2633 86 86 !! - save the trend in (zwk3,zwk4) ('key_trddyn') 87 87 !!---------------------------------------------------------------------- 88 USE wrk_nemo, ONLY: wrk_ use, wrk_release88 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 89 89 USE wrk_nemo, ONLY: zwk1 => wrk_3d_1 , zwk2 => wrk_3d_2 ! 3D workspace 90 90 USE oce , ONLY: zwk3 => ta , zwk4 => sa ! ta, sa used as 3D workspace … … 95 95 !!---------------------------------------------------------------------- 96 96 97 IF( .NOT. wrk_use(3, 1,2) ) THEN97 IF( wrk_in_use(3, 1,2) ) THEN 98 98 CALL ctl_stop('dyn_ldf_bilapg: requested workspace arrays unavailable.') ; RETURN 99 99 END IF … … 131 131 END DO 132 132 ! 133 IF( .NOT. wrk_release(3, 1,2) ) CALL ctl_stop('dyn_ldf_bilapg: failed to release workspace arrays')133 IF( wrk_not_released(3, 1,2) ) CALL ctl_stop('dyn_ldf_bilapg: failed to release workspace arrays') 134 134 ! 135 135 END SUBROUTINE dyn_ldf_bilapg … … 177 177 !! 'key_trddyn' defined: the trend is saved for diagnostics. 178 178 !!---------------------------------------------------------------------- 179 USE wrk_nemo, ONLY: wrk_ use, wrk_release179 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 180 180 USE wrk_nemo, ONLY: ziut => wrk_2d_1, zjuf => wrk_2d_2, zjvt => wrk_2d_3 181 181 USE wrk_nemo, ONLY: zivf => wrk_2d_4, zdku => wrk_2d_5, zdk1u => wrk_2d_6 … … 196 196 !!---------------------------------------------------------------------- 197 197 198 IF( .NOT. wrk_use(2, 1,2,3,4,5,6,7,8) ) THEN198 IF( wrk_in_use(2, 1,2,3,4,5,6,7,8) ) THEN 199 199 CALL ctl_stop('dyn:ldfguv : requested workspace arrays unavailable.') ; RETURN 200 200 END IF … … 454 454 ! ! =============== 455 455 456 IF( .NOT. wrk_release(2, 1,2,3,4,5,6,7,8))THEN456 IF(wrk_not_released(2, 1,2,3,4,5,6,7,8))THEN 457 457 CALL ctl_stop('dyn:ldfguv : failed to release workspace arrays.') 458 458 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_iso.F90
r2618 r2633 106 106 !! of the rotated operator in dynzdf module 107 107 !!---------------------------------------------------------------------- 108 USE wrk_nemo, ONLY: wrk_ use, wrk_release108 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 109 109 USE wrk_nemo, ONLY: ziut => wrk_2d_1 , zjuf => wrk_2d_2 , zjvt => wrk_2d_3 ! 2D workspace 110 110 USE wrk_nemo, ONLY: zivf => wrk_2d_4 , zdku => wrk_2d_5 , zdkv => wrk_2d_6 ! 2D workspace … … 120 120 !!---------------------------------------------------------------------- 121 121 122 IF( .NOT. wrk_use(2, 1,2,3,4,5,6,7,8) ) THEN122 IF( wrk_in_use(2, 1,2,3,4,5,6,7,8) ) THEN 123 123 CALL ctl_stop('dyn_ldf_iso: requested workspace arrays unavailable.') ; RETURN 124 124 END IF … … 429 429 ! ! =============== 430 430 431 IF( .NOT. wrk_release(2, 1,2,3,4,5,6,7,8))THEN431 IF( wrk_not_released(2, 1,2,3,4,5,6,7,8))THEN 432 432 CALL ctl_stop('dyn_ldf_iso: failed to release workspace arrays.') 433 433 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynnxt.F90
r2590 r2633 93 93 USE oce, ONLY : ze3u_f => ta ! use ta as 3D workspace 94 94 USE oce, ONLY : ze3v_f => sa ! use sa as 3D workspace 95 USE wrk_nemo, ONLY: wrk_ use, wrk_release95 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 96 96 USE wrk_nemo, ONLY: zs_t => wrk_2d_1, zs_u_1 => wrk_2d_2, & 97 97 zs_v_1 => wrk_2d_3 … … 110 110 !!---------------------------------------------------------------------- 111 111 112 IF( .NOT. wrk_use(2, 1,2,3))THEN112 IF(wrk_in_use(2, 1,2,3))THEN 113 113 CALL ctl_stop('dyn_nxt: requested workspace arrays unavailable.') 114 114 RETURN … … 325 325 & tab3d_2=vn, clinfo2=' Vn: ' , mask2=vmask ) 326 326 ! 327 IF( .NOT. wrk_release(2, 1,2,3))THEN327 IF(wrk_not_released(2, 1,2,3))THEN 328 328 CALL ctl_stop('dyn_nxt: failed to release workspace arrays.') 329 329 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg.F90
r2618 r2633 73 73 !! of the physical meaning of the results. 74 74 !!---------------------------------------------------------------------- 75 USE wrk_nemo, ONLY: wrk_ use, wrk_release75 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 76 76 USE wrk_nemo, ONLY: ztrdu => wrk_3d_4, ztrdv => wrk_3d_5 77 77 !! … … 83 83 !!---------------------------------------------------------------------- 84 84 85 IF( .NOT. wrk_use(3, 4,5))THEN85 IF(wrk_in_use(3, 4,5))THEN 86 86 CALL ctl_stop('dyn_spg: requested workspace arrays unavailable.') 87 87 RETURN … … 154 154 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 155 155 ! 156 IF( .NOT. wrk_release(3, 4,5))THEN156 IF(wrk_not_released(3, 4,5))THEN 157 157 CALL ctl_stop('dyn_spg: failed to release workspace arrays.') 158 158 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90
r2627 r2633 111 111 !! References : Griffies et al., (2003): A technical guide to MOM4. NOAA/GFDL 112 112 !!--------------------------------------------------------------------- 113 USE wrk_nemo, ONLY: wrk_ use, wrk_release113 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 114 114 USE wrk_nemo, ONLY: zhdiv => wrk_2d_1, zsshb_e => wrk_2d_2 115 115 USE wrk_nemo, ONLY: zbfru => wrk_2d_3 , zbfrv => wrk_2d_4 … … 132 132 !!---------------------------------------------------------------------- 133 133 134 IF( .NOT. wrk_use(2, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, &134 IF(wrk_in_use(2, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, & 135 135 11,12,13,14,15,16,17,18,19,20,21 ) ) THEN 136 136 CALL ctl_stop( 'dyn_spg_ts: requested workspace arrays unavailable.' ) ; RETURN … … 569 569 ! 570 570 ! 571 IF( .NOT. wrk_release(2, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, &571 IF(wrk_not_released(2, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, & 572 572 11,12,13,14,15,16,17,18,19,20,21))THEN 573 573 CALL ctl_stop('dyn_spg_ts: failed to release workspace arrays.') -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90
r2618 r2633 204 204 !! References : Sadourny, r., 1975, j. atmos. sciences, 32, 680-689. 205 205 !!---------------------------------------------------------------------- 206 USE wrk_nemo, ONLY: wrk_ use, wrk_release206 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 207 207 USE wrk_nemo, ONLY: zwx => wrk_2d_1, zwy => wrk_2d_2, zwz => wrk_2d_3 208 208 !! … … 218 218 !!---------------------------------------------------------------------- 219 219 220 IF( .NOT. wrk_use(2, 1,2,3))THEN220 IF(wrk_in_use(2, 1,2,3))THEN 221 221 CALL ctl_stop('dyn:vor_ene: requested workspace arrays unavailable.') 222 222 RETURN … … 286 286 END DO ! End of slab 287 287 ! ! =============== 288 IF( .NOT. wrk_release(2, 1,2,3))THEN288 IF(wrk_not_released(2, 1,2,3))THEN 289 289 CALL ctl_stop('dyn:vor_ene: failed to release workspace arrays.') 290 290 END IF … … 324 324 !! References : Sadourny, r., 1975, j. atmos. sciences, 32, 680-689. 325 325 !!---------------------------------------------------------------------- 326 USE wrk_nemo, ONLY: wrk_ use, wrk_release326 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 327 327 USE wrk_nemo, ONLY: zwx => wrk_2d_4, zwy => wrk_2d_5, & 328 328 zwz => wrk_2d_6, zww => wrk_2d_7 … … 335 335 !!---------------------------------------------------------------------- 336 336 337 IF( .NOT. wrk_use(2, 4,5,6,7))THEN337 IF(wrk_in_use(2, 4,5,6,7))THEN 338 338 CALL ctl_stop('dyn:vor_mix: requested workspace arrays unavailable.') 339 339 RETURN … … 410 410 END DO ! End of slab 411 411 ! ! =============== 412 IF( .NOT. wrk_release(2, 4,5,6,7))THEN412 IF(wrk_not_released(2, 4,5,6,7))THEN 413 413 CALL ctl_stop('dyn:vor_mix: failed to release workspace arrays.') 414 414 END IF … … 443 443 !! References : Sadourny, r., 1975, j. atmos. sciences, 32, 680-689. 444 444 !!---------------------------------------------------------------------- 445 USE wrk_nemo, ONLY: wrk_ use, wrk_release445 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 446 446 USE wrk_nemo, ONLY: zwx => wrk_2d_4, zwy => wrk_2d_5, zwz => wrk_2d_6 447 447 !! … … 456 456 !!---------------------------------------------------------------------- 457 457 458 IF( .NOT. wrk_use(2, 4,5,6))THEN458 IF(wrk_in_use(2, 4,5,6))THEN 459 459 CALL ctl_stop('dyn:vor_ens : requested workspace arrays unavailable.') 460 460 RETURN … … 532 532 END DO ! End of slab 533 533 ! ! =============== 534 IF( .NOT. wrk_release(2, 4,5,6))THEN534 IF(wrk_not_released(2, 4,5,6))THEN 535 535 CALL ctl_stop('dyn:vor_ens : failed to release workspace arrays.') 536 536 END IF … … 558 558 !! References : Arakawa and Lamb 1980, Mon. Wea. Rev., 109, 18-36 559 559 !!---------------------------------------------------------------------- 560 USE wrk_nemo, ONLY: wrk_ use, wrk_release560 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 561 561 USE wrk_nemo, ONLY: zwx => wrk_2d_1 , zwy => wrk_2d_2 , zwz => wrk_2d_3 562 562 USE wrk_nemo, ONLY: ztnw => wrk_2d_4 , ztne => wrk_2d_5 … … 580 580 !!---------------------------------------------------------------------- 581 581 582 IF( .NOT. wrk_use(2, 1,2,3,4,5,6,7) .AND. .NOT. wrk_use(3, 1) ) THEN582 IF(wrk_in_use(2, 1,2,3,4,5,6,7) .OR. wrk_in_use(3, 1) ) THEN 583 583 CALL ctl_stop('dyn:vor_een : requested workspace arrays unavailable.') ; RETURN 584 584 END IF … … 681 681 END DO ! End of slab 682 682 ! ! =============== 683 IF( .NOT. wrk_release(2, 1,2,3,4,5,6,7) .AND. &684 .NOT. wrk_release(3, 1) ) CALL ctl_stop('dyn:vor_een : failed to release workspace arrays')683 IF(wrk_not_released(2, 1,2,3,4,5,6,7) .OR. & 684 wrk_not_released(3, 1) ) CALL ctl_stop('dyn:vor_een : failed to release workspace arrays') 685 685 ! 686 686 END SUBROUTINE vor_een -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynzad.F90
r2590 r2633 56 56 USE oce, ONLY: zwuw => ta ! use ta as 3D workspace 57 57 USE oce, ONLY: zwvw => sa ! use sa as 3D workspace 58 USE wrk_nemo, ONLY: wrk_ use, wrk_release58 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 59 59 USE wrk_nemo, ONLY: zww => wrk_2d_1 60 60 USE wrk_nemo, ONLY: ztrdu => wrk_3d_1, ztrdv => wrk_3d_2 … … 66 66 !!---------------------------------------------------------------------- 67 67 68 IF( (.NOT. wrk_use(2, 1)) .OR. &69 (.NOT. wrk_use(3, 1,2)) )THEN68 IF( wrk_in_use(2, 1) .OR. & 69 wrk_in_use(3, 1,2) )THEN 70 70 CALL ctl_stop('dyn_zad: requested workspace arrays unavailable.') 71 71 RETURN … … 126 126 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 127 127 ! 128 IF( (.NOT. wrk_release(2, 1)) .OR. &129 (.NOT. wrk_release(3, 1,2)) )THEN128 IF( wrk_not_released(2, 1) .OR. & 129 wrk_not_released(3, 1,2) )THEN 130 130 CALL ctl_stop('dyn_zad: failed to release workspace arrays.') 131 131 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf.F90
r2590 r2633 52 52 !! ** Purpose : compute the vertical ocean dynamics physics. 53 53 !!--------------------------------------------------------------------- 54 USE wrk_nemo, ONLY: wrk_ use, wrk_release54 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 55 55 USE wrk_nemo, ONLY: ztrdu => wrk_3d_1, ztrdv => wrk_3d_2 56 56 !! … … 58 58 !!--------------------------------------------------------------------- 59 59 60 IF( .NOT. wrk_use(3, 1,2))THEN60 IF(wrk_in_use(3, 1,2))THEN 61 61 CALL ctl_stop('dyn_zdf: requested workspace arrays unavailable.') 62 62 RETURN … … 95 95 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 96 96 ! 97 IF( .NOT. wrk_release(3, 1,2))THEN97 IF(wrk_not_released(3, 1,2))THEN 98 98 CALL ctl_stop('dyn_zdf: failed to release workspace arrays.') 99 99 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf_exp.F90
r2621 r2633 52 52 !! ** Action : - Update (ua,va) with the vertical diffusive trend 53 53 !!--------------------------------------------------------------------- 54 USE wrk_nemo, ONLY: wrk_ use, wrk_release54 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 55 55 USE oce , ONLY : zwx => ta , zwy => sa ! (ta,sa) used as 3D workspace 56 USE wrk_nemo, ONLY: zwz => wrk_3d_1 , zww => wrk_3d_ 1! 3D workspace56 USE wrk_nemo, ONLY: zwz => wrk_3d_1 , zww => wrk_3d_2 ! 3D workspace 57 57 ! 58 58 INTEGER , INTENT(in) :: kt ! ocean time-step index … … 62 62 REAL(wp) :: zrau0r, zlavmr, zua, zva ! temporary scalars 63 63 !!---------------------------------------------------------------------- 64 65 IF( wrk_in_use(3, 1,2) )THEN 66 CALL ctl_stop('dyn_zdf_exp : requested workspace arrays unavailable.') 67 RETURN 68 END IF 64 69 65 70 IF( kt == nit000 .AND. lwp ) THEN … … 114 119 END DO ! End of time splitting 115 120 ! 121 IF( wrk_not_released(3, 1,2) )THEN 122 CALL ctl_stop('dyn_zdf_exp : failed to release workspace arrays.') 123 END IF 124 ! 116 125 END SUBROUTINE dyn_zdf_exp 117 126 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf_imp.F90
r2590 r2633 56 56 USE oce, ONLY : zwd => ta ! use ta as workspace 57 57 USE oce, ONLY : zws => sa ! use sa as workspace 58 USE wrk_nemo, ONLY: wrk_ use, wrk_release58 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 59 59 USE wrk_nemo, ONLY: zwi => wrk_3d_3 ! workspace 60 60 !! … … 67 67 !!---------------------------------------------------------------------- 68 68 69 IF( .NOT. wrk_use(3, 3))THEN69 IF(wrk_in_use(3, 3))THEN 70 70 CALL ctl_stop('dyn_zdf_imp : requested workspace array unavailable.') 71 71 RETURN … … 259 259 END DO 260 260 ! 261 IF( .NOT. wrk_release(3, 3))THEN261 IF(wrk_not_released(3, 3))THEN 262 262 CALL ctl_stop('dyn_zdf_imp : failed to release workspace array.') 263 263 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/sshwzv.F90
r2590 r2633 76 76 !!---------------------------------------------------------------------- 77 77 USE oce, ONLY : z3d => ta ! use ta as 3D workspace 78 USE wrk_nemo, ONLY: wrk_ use, wrk_release78 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 79 79 USE wrk_nemo, ONLY: zhdiv => wrk_2d_1, z2d => wrk_2d_2 80 80 !! … … 86 86 !!---------------------------------------------------------------------- 87 87 88 IF( .NOT. wrk_use(2, 1,2))THEN88 IF(wrk_in_use(2, 1,2))THEN 89 89 CALL ctl_stop('ssh_wzv: requested workspace arrays unavailable.') 90 90 RETURN … … 244 244 IF(ln_ctl) CALL prt_ctl( tab2d_1=ssha, clinfo1=' ssha - : ', mask1=tmask, ovlap=1 ) 245 245 ! 246 IF( .NOT. wrk_release(2, 1,2))THEN246 IF(wrk_not_released(2, 1,2))THEN 247 247 CALL ctl_stop('ssh_wzv: failed to release workspace arrays.') 248 248 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/IOM/prtctl.F90
r2590 r2633 78 78 !! 9.0 ! 05-07 (C. Talandier) original code 79 79 !!---------------------------------------------------------------------- 80 USE wrk_nemo, ONLY: wrk_ use, wrk_release80 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 81 81 USE wrk_nemo, ONLY: ztab2d_1 => wrk_2d_1, ztab2d_2 => wrk_2d_2 82 82 USE wrk_nemo, ONLY: zmask1 => wrk_3d_1, zmask2 => wrk_3d_2, & … … 101 101 !!---------------------------------------------------------------------- 102 102 103 IF( (.NOT. wrk_use(2, 1,2)) .OR. (.NOT. wrk_use(3, 1,2,3,4)) )THEN103 IF( wrk_in_use(2, 1,2) .OR. wrk_in_use(3, 1,2,3,4) )THEN 104 104 CALL ctl_stop('prt_ctl : requested workspace arrays unavailable.') 105 105 RETURN … … 213 213 ENDDO 214 214 215 IF( (.NOT. wrk_release(2, 1,2)) .OR. (.NOT. wrk_release(3, 1,2,3,4)) )THEN215 IF( wrk_not_released(2, 1,2) .OR. wrk_not_released(3, 1,2,3,4) )THEN 216 216 CALL ctl_stop('prt_ctl : failed to release workspace arrays.') 217 217 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/LBC/lib_mpp.F90
r2627 r2633 1726 1726 !! 1727 1727 !!---------------------------------------------------------------------- 1728 USE wrk_nemo, ONLY: wrk_ use, wrk_release1728 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 1729 1729 USE wrk_nemo, ONLY: ztab => wrk_2d_1 1730 1730 ! … … 1746 1746 !!---------------------------------------------------------------------- 1747 1747 1748 IF( .NOT. wrk_use(2, 1) ) THEN1748 IF(wrk_in_use(2, 1) ) THEN 1749 1749 WRITE(kumout, cform_err) 1750 1750 WRITE(kumout,*) 'mppobc : requested workspace array unavailable' … … 1901 1901 END DO 1902 1902 ! 1903 IF( .NOT. wrk_release(2, 1) ) THEN1903 IF(wrk_not_released(2, 1) ) THEN 1904 1904 WRITE(kumout, cform_err) 1905 1905 WRITE(kumout,*) 'mppobc : failed to release workspace array' -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn_c2d.h90
r2590 r2633 145 145 !! * Modules used 146 146 USE ldftra_oce, ONLY : aht0 147 USE wrk_nemo, ONLY: iwrk_ use, iwrk_release147 USE wrk_nemo, ONLY: iwrk_in_use, iwrk_not_released 148 148 USE wrk_nemo, ONLY: icof => iwrk_2d_1 149 149 !! * Arguments … … 162 162 !!---------------------------------------------------------------------- 163 163 164 IF( .not. iwrk_use(2, 1))THEN164 IF( iwrk_in_use(2, 1) )THEN 165 165 CALL ctl_stop('ldf_dyn_c2d_orca: ERROR: requested workspace array is unavailable.') 166 166 RETURN … … 293 293 ENDIF 294 294 295 IF( .not. iwrk_release(2, 1))THEN295 IF( iwrk_not_released(2, 1) )THEN 296 296 CALL ctl_stop('ldf_dyn_c2d_orca: ERROR: failed to release workspace array.') 297 297 END IF … … 316 316 !! * Modules used 317 317 USE ldftra_oce, ONLY : aht0 318 USE wrk_nemo, ONLY: iwrk_ use, iwrk_release318 USE wrk_nemo, ONLY: iwrk_in_use, iwrk_not_released 319 319 USE wrk_nemo, ONLY: icof => iwrk_2d_1 320 320 … … 334 334 !!---------------------------------------------------------------------- 335 335 336 IF( .not. iwrk_use(2, 1))THEN336 IF( iwrk_in_use(2, 1) )THEN 337 337 CALL ctl_stop('ldf_dyn_c2d_orca_R1: ERROR: requested workspace array is unavailable.') 338 338 RETURN … … 472 472 ENDIF 473 473 474 IF( .not. iwrk_release(2, 1))THEN474 IF( iwrk_not_released(2, 1) )THEN 475 475 CALL ctl_stop('ldf_dyn_c2d_orca_R1: ERROR: failed to release workspace array.') 476 476 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn_c3d.h90
r2590 r2633 27 27 !!---------------------------------------------------------------------- 28 28 USE ldftra_oce, ONLY : aht0 29 USE wrk_nemo, ONLY: wrk_ use, wrk_release29 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 30 30 USE wrk_nemo, ONLY: zcoef => wrk_1d_2 31 31 !! … … 44 44 !!---------------------------------------------------------------------- 45 45 46 IF( .not. wrk_use(1,2))THEN46 IF(wrk_in_use(1,2))THEN 47 47 CALL ctl_stop('ldf_dyn_c3d: ERROR: requested workspace array unavailable.') 48 48 RETURN … … 188 188 ENDIF 189 189 190 IF( .not. wrk_release(1,2))THEN190 IF(wrk_not_released(1,2))THEN 191 191 CALL ctl_stop('ldf_dyn_c3d: ERROR: failed to release workspace array.') 192 192 END IF … … 204 204 !!---------------------------------------------------------------------- 205 205 USE ldftra_oce, ONLY : aht0 206 USE wrk_nemo, ONLY: wrk_ use, wrk_release, iwrk_use, iwrk_release206 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released, iwrk_in_use, iwrk_not_released 207 207 USE wrk_nemo, ONLY: icof => iwrk_2d_1 208 208 USE wrk_nemo, ONLY: zahm0 => wrk_2d_1 … … 225 225 !!---------------------------------------------------------------------- 226 226 227 IF( (.not. iwrk_use(2,1)) .OR. (.not. wrk_use(2,1)) .OR. & 228 (.not. wrk_use(1,1)))THEN 227 IF( iwrk_in_use(2,1) .OR. wrk_in_use(2,1) .OR. wrk_in_use(1,1) )THEN 229 228 CALL ctl_stop('ldf_dyn_c3d_orca: ERROR: requested workspace arrays are unavailable.') 230 229 RETURN … … 474 473 ENDIF 475 474 476 IF( (.not. iwrk_release(2,1)) .OR. (.not. wrk_release(2,1)) .OR. &477 (.not. wrk_release(1,1)))THEN475 IF( iwrk_not_released(2,1) .OR. wrk_not_released(2,1) .OR. & 476 wrk_not_released(1,1) )THEN 478 477 CALL ctl_stop('ldf_dyn_c3d_orca: ERROR: failed to release workspace arrays.') 479 478 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/LDF/ldfeiv.F90
r2590 r2633 53 53 !! - wslpi, wslpj : i- and j-slopes of neutral surfaces at w-points. 54 54 !!---------------------------------------------------------------------- 55 USE wrk_nemo, ONLY: wrk_ use, wrk_release55 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 56 56 USE wrk_nemo, ONLY: zn => wrk_2d_1, zah => wrk_2d_2, & 57 57 zhw => wrk_2d_3, zross => wrk_2d_4 … … 63 63 !!---------------------------------------------------------------------- 64 64 65 IF( .not. wrk_use(2, 1,2,3,4))THEN65 IF(wrk_in_use(2, 1,2,3,4))THEN 66 66 CALL ctl_stop('ldf_eiv: ERROR: requested workspace arrays are unavailable.') 67 67 RETURN … … 244 244 CALL iom_put( "aht2d_eiv", aeiw ) ! EIV lateral eddy diffusivity 245 245 ! 246 IF( .not. wrk_release(2, 1,2,3,4))THEN246 IF(wrk_not_released(2, 1,2,3,4))THEN 247 247 CALL ctl_stop('ldf_eiv: ERROR: failed to release workspace arrays.') 248 248 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/LDF/ldfslp.F90
r2618 r2633 119 119 USE oce , zww => ta ! use ta as workspace 120 120 USE oce , zwz => sa ! use sa as workspace 121 USE wrk_nemo, ONLY: wrk_ use, wrk_release121 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 122 122 USE wrk_nemo, ONLY: zdzr => wrk_3d_1 123 123 !! … … 135 135 !!---------------------------------------------------------------------- 136 136 137 IF( .NOT. wrk_use(3, 1) ) THEN137 IF(wrk_in_use(3, 1) ) THEN 138 138 CALL ctl_stop('ldf_slp: requested workspace arrays are unavailable') ; RETURN 139 139 END IF … … 382 382 ENDIF 383 383 ! 384 IF( .not. wrk_release(3, 1))THEN384 IF(wrk_not_released(3, 1))THEN 385 385 CALL ctl_stop('ldf_slp: ERROR: failed to release workspace arrays.') 386 386 END IF … … 407 407 USE oce, zdjt => ta ! use ta as workspace 408 408 USE oce, zdjs => sa ! use sa as workspace 409 USE wrk_nemo, ONLY: wrk_ use, wrk_release409 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 410 410 USE wrk_nemo, ONLY: zdkt => wrk_3d_2, zdks => wrk_3d_3, & 411 411 zalpha => wrk_3d_4, zbeta => wrk_3d_5 ! alpha, beta at T points, at depth fsgdept … … 423 423 !!---------------------------------------------------------------------- 424 424 425 IF( ( .not. wrk_use(3, 2,3,4,5)) .OR. (.not. wrk_use(2, 1)) )THEN425 IF( (wrk_in_use(3, 2,3,4,5)) .OR. (wrk_in_use(2, 1)) )THEN 426 426 CALL ctl_stop('ldf_slp_grif: ERROR: requested workspace arrays are unavailable.') ; RETURN 427 427 END IF … … 607 607 CALL lbc_lnk( wslp2, 'W', 1. ) ! lateral boundary confition on wslp2 only ==>>> gm : necessary ? to be checked 608 608 ! 609 IF( .NOT. wrk_release(3, 2,3,4,5) .OR. &610 .NOT. wrk_release(2, 1) ) CALL ctl_stop('ldf_slp_grif: ERROR: failed to release workspace arrays.')609 IF(wrk_not_released(3, 2,3,4,5) .OR. & 610 wrk_not_released(2, 1) ) CALL ctl_stop('ldf_slp_grif: ERROR: failed to release workspace arrays.') 611 611 ! 612 612 END SUBROUTINE ldf_slp_grif -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90
r2590 r2633 1026 1026 & frld 1027 1027 #endif 1028 USE wrk_nemo, ONLY: wrk_ use, wrk_release1028 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 1029 1029 #if ! defined key_ice_lim 1030 1030 USE wrk_nemo, ONLY: frld => wrk_2d_1 … … 1045 1045 1046 1046 #if ! defined key_ice_lim 1047 IF( .NOT. wrk_use(2, 1))THEN1047 IF(wrk_in_use(2, 1))THEN 1048 1048 CALL ctl_stop('dia_obs : requested workspace array unavailable.') 1049 1049 RETURN … … 1129 1129 1130 1130 #if ! defined key_ice_lim 1131 IF( .NOT. wrk_release(2, 1))THEN1131 IF(wrk_not_released(2, 1))THEN 1132 1132 CALL ctl_stop('dia_obs : failed to release workspace array.') 1133 1133 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/OBS/obs_inter_sup.F90
r2590 r2633 105 105 !! ! 08-02 (K. Mogensen) Original code 106 106 !!---------------------------------------------------------------------- 107 USE wrk_nemo, ONLY: wrk_ use, wrk_release107 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 108 108 USE wrk_nemo, ONLY: wrk_3d_1 109 109 !! … … 128 128 129 129 ! Check workspace array and set-up pointer 130 IF( .NOT. wrk_use(3, 1))THEN130 IF(wrk_in_use(3, 1))THEN 131 131 CALL ctl_stop('obs_int_comm_2d : requested workspace array unavailable.') 132 132 RETURN … … 156 156 157 157 ! 'Release' workspace array back to pool 158 IF( .NOT. wrk_release(3, 1))THEN158 IF(wrk_not_released(3, 1))THEN 159 159 CALL ctl_stop('obs_int_comm_2d : failed to release workspace array.') 160 160 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/OBS/obs_read_altbias.F90
r2590 r2633 67 67 !! * Modules used 68 68 USE iom 69 USE wrk_nemo, ONLY: wrk_ use, wrk_release69 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 70 70 USE wrk_nemo, ONLY: z_altbias => wrk_2d_1 ! Array to store the alt bias values 71 71 ! … … 109 109 INTEGER :: numaltbias 110 110 111 IF( .NOT. wrk_use(2, 1))THEN111 IF(wrk_in_use(2, 1))THEN 112 112 CALL ctl_stop('obs_rea_altbias : requested workspace array unavailable.') 113 113 RETURN … … 211 211 END DO 212 212 213 IF( .NOT. wrk_release(2, 1))THEN213 IF(wrk_not_released(2, 1))THEN 214 214 CALL ctl_stop('obs_rea_altbias : failed to release workspace array.') 215 215 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/OBS/obs_readmdt.F90
r2590 r2633 81 81 !! * Modules used 82 82 USE iom 83 USE wrk_nemo, ONLY: wrk_ use, wrk_release83 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 84 84 USE wrk_nemo, ONLY: z_mdt => wrk_2d_1, & ! Array to store the MDT values 85 85 mdtmask => wrk_2d_2 ! Array to store the mask for the MDT … … 131 131 !!---------------------------------------------------------------------- 132 132 133 IF( .NOT. wrk_use(2, 1,2))THEN133 IF(wrk_in_use(2, 1,2))THEN 134 134 CALL ctl_stop('obs_rea_mdt : requested workspace array unavailable.') 135 135 RETURN … … 240 240 END DO 241 241 242 IF( .NOT. wrk_release(2, 1,2))THEN242 IF(wrk_not_released(2, 1,2))THEN 243 243 CALL ctl_stop('obs_rea_mdt : failed to release workspace arrays.') 244 244 END IF … … 266 266 !!---------------------------------------------------------------------- 267 267 !! * Modules used 268 USE wrk_nemo, ONLY: wrk_ use, wrk_release268 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 269 269 USE wrk_nemo, ONLY: zpromsk => wrk_2d_3 270 270 !! … … 288 288 !!---------------------------------------------------------------------- 289 289 290 IF( .NOT. wrk_use(2, 3))THEN290 IF(wrk_in_use(2, 3))THEN 291 291 CALL ctl_stop('obs_offset_mdt : requested workspace array unavailable.') 292 292 RETURN … … 358 358 359 359 360 IF( .NOT. wrk_release(2, 3))THEN360 IF(wrk_not_released(2, 3))THEN 361 361 CALL ctl_stop('obs_offset_mdt : failed to release workspace array.') 362 362 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/OBS/obs_rot_vel.F90
r2590 r2633 55 55 !!---------------------------------------------------------------------- 56 56 !! * Modules used 57 USE wrk_nemo, ONLY: wrk_ use, wrk_release57 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 58 58 USE wrk_nemo, ONLY: zsingu => wrk_2d_1, zcosgu => wrk_2d_2, & 59 59 zsingv => wrk_2d_3, zcosgv => wrk_2d_4 … … 93 93 INTEGER :: jk 94 94 95 IF( .NOT. wrk_use(2, 1,2,3,4))THEN95 IF(wrk_in_use(2, 1,2,3,4))THEN 96 96 CALL ctl_stop('obs_rotvel : requested workspace arrays unavailable.') 97 97 RETURN … … 229 229 & ) 230 230 231 IF( .NOT. wrk_release(2, 1,2,3,4))THEN231 IF(wrk_not_released(2, 1,2,3,4))THEN 232 232 CALL ctl_stop('obs_rotvel : failed to release workspace arrays.') 233 233 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/SBC/albedo.F90
r2620 r2633 64 64 !! References : Shine and Hendersson-Sellers 1985, JGR, 90(D1), 2243-2250. 65 65 !!---------------------------------------------------------------------- 66 USE wrk_nemo, ONLY: wrk_ use, wrk_release, llwrk_use, llwrk_release66 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released, llwrk_in_use, llwrk_not_released 67 67 USE wrk_nemo, ONLY: wrk_3d_6, wrk_3d_7 ! 3D workspace 68 68 !! … … 90 90 ijpl = SIZE( pt_ice, 3 ) ! number of ice categories 91 91 92 IF( (.not. llwrk_use(3,1)) .OR. (.not. wrk_use(3, 6,7)) ) THEN92 IF( llwrk_in_use(3,1) .OR. wrk_in_use(3, 6,7) ) THEN 93 93 CALL ctl_stop('albedo_ice: requested workspace arrays are unavailable') ; RETURN 94 94 ENDIF … … 172 172 pa_ice_os(:,:,:) = pa_ice_cs(:,:,:) + rn_cloud ! Oberhuber correction 173 173 ! 174 IF( .not. wrk_release(3, 6,7) ) CALL ctl_stop('albedo_ice: failed to release workspace arrays')174 IF( wrk_not_released(3, 6,7) ) CALL ctl_stop('albedo_ice: failed to release workspace arrays') 175 175 ! 176 176 END SUBROUTINE albedo_ice -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/SBC/cpl_oasis4.F90
r2620 r2633 110 110 !! ** Method : OASIS4 MPI communication 111 111 !!-------------------------------------------------------------------- 112 USE wrk_nemo, ONLY: wrk_ use, wrk_release112 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 113 113 USE wrk_nemo, ONLY: zclo => wrk_3d_1, zcla => wrk_3d_2 114 114 USE wrk_nemo, ONLY: zlon => wrk_2d_1, zlat => wrk_2d_2 … … 146 146 !!-------------------------------------------------------------------- 147 147 148 IF( .NOT. wrk_use(3, 1,2) .OR. .NOT. wrk_use(2, 1,2) )THEN148 IF( wrk_in_use(3, 1,2) .OR. wrk_in_use(2, 1,2) )THEN 149 149 CALL ctl_stop('cpl_prism_define: ERROR: requested workspace arrays are unavailable.') ; RETURN 150 150 ENDIF … … 321 321 IF ( nerror /= PRISM_Success ) CALL prism_abort ( ncomp_id, 'cpl_prism_define', 'Failure in prism_enddef') 322 322 323 IF( .not. wrk_release(3, 1,2) .OR. &324 .not. wrk_release(2, 1,2) ) CALL ctl_stop('cpl_prism_define: failed to release workspace arrays')323 IF( wrk_not_released(3, 1,2) .OR. & 324 wrk_not_released(2, 1,2) ) CALL ctl_stop('cpl_prism_define: failed to release workspace arrays') 325 325 ! 326 326 END SUBROUTINE cpl_prism_define -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/SBC/fldread.F90
r2620 r2633 587 587 !! ** Purpose : Vector fields may need to be rotated onto the local grid direction 588 588 !!---------------------------------------------------------------------- 589 USE wrk_nemo, ONLY: wrk_ use, wrk_release589 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 590 590 USE wrk_nemo, ONLY: utmp => wrk_2d_4, vtmp => wrk_2d_5 ! 2D workspace 591 591 !! … … 600 600 !!--------------------------------------------------------------------- 601 601 602 IF( .not. wrk_use(2, 4,5) ) THEN602 IF(wrk_in_use(2, 4,5) ) THEN 603 603 CALL ctl_stop('fld_rot: ERROR: requested workspace arrays are unavailable.') ; RETURN 604 604 END IF … … 637 637 END DO 638 638 ! 639 IF( .not. wrk_release(2, 4,5) ) CALL ctl_stop('fld_rot: ERROR: failed to release workspace arrays.')639 IF(wrk_not_released(2, 4,5) ) CALL ctl_stop('fld_rot: ERROR: failed to release workspace arrays.') 640 640 ! 641 641 END SUBROUTINE fld_rot … … 804 804 !! file, restructuring as required 805 805 !!---------------------------------------------------------------------- 806 USE wrk_nemo, ONLY: wrk_ use, wrk_release, iwrk_use, iwrk_release806 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released, iwrk_in_use, iwrk_not_released 807 807 USE wrk_nemo, ONLY: data_tmp => wrk_2d_1 808 808 USE wrk_nemo, ONLY: data_src => iwrk_2d_1 … … 820 820 !!---------------------------------------------------------------------- 821 821 ! 822 IF( .NOT. wrk_use(2, 1) .OR. .NOT. iwrk_use(2,1)) THEN822 IF( wrk_in_use(2, 1) .OR. iwrk_in_use(2,1) ) THEN 823 823 CALL ctl_stop('fld_weights: requested workspace arrays are unavailable.') ; RETURN 824 824 END IF … … 934 934 ENDIF 935 935 936 IF( .NOT. wrk_release(2, 1) .OR. &937 .NOT.iwrk_release(2, 1) ) CALL ctl_stop('fld_weights: failed to release workspace arrays')936 IF( wrk_not_released(2, 1) .OR. & 937 iwrk_not_released(2, 1) ) CALL ctl_stop('fld_weights: failed to release workspace arrays') 938 938 ! 939 939 END SUBROUTINE fld_weight -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90
r2620 r2633 210 210 !! ** Nota : sf has to be a dummy argument for AGRIF on NEC 211 211 !!---------------------------------------------------------------------- 212 USE wrk_nemo, ONLY: wrk_ use, wrk_release212 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 213 213 USE wrk_nemo, ONLY: zqlw => wrk_2d_1 ! long-wave heat flux over ocean 214 214 USE wrk_nemo, ONLY: zqla => wrk_2d_2 ! latent heat flux over ocean … … 232 232 !!--------------------------------------------------------------------- 233 233 234 IF( .not. wrk_use(3, 1,2,3))THEN234 IF(wrk_in_use(3, 1,2,3))THEN 235 235 CALL ctl_stop('blk_oce_clio: requested workspace arrays are unavailable.') 236 236 RETURN … … 386 386 ENDIF 387 387 388 IF( .not. wrk_release(3, 1,2,3))THEN388 IF(wrk_not_released(3, 1,2,3))THEN 389 389 CALL ctl_stop('blk_oce_clio: failed to release workspace arrays.') 390 390 END IF … … 420 420 !! 421 421 !!---------------------------------------------------------------------- 422 USE wrk_nemo, ONLY: wrk_ use, wrk_release422 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 423 423 USE wrk_nemo, ONLY: ztatm => wrk_2d_1 ! Tair in Kelvin 424 424 USE wrk_nemo, ONLY: zqatm => wrk_2d_2 ! specific humidity … … 457 457 !!--------------------------------------------------------------------- 458 458 459 IF( ( .NOT. wrk_use(2, 1,2,3,4)) .OR. (.NOT. wrk_use(3, 1,2)) )THEN459 IF( (wrk_in_use(2, 1,2,3,4)) .OR. (wrk_in_use(3, 1,2)) )THEN 460 460 CALL ctl_stop('blk_ice_clio: requested workspace arrays are unavailable.') 461 461 RETURN … … 637 637 ENDIF 638 638 639 IF( ( .NOT. wrk_release(2, 1,2,3,4)) .OR. (.NOT. wrk_release(3, 1,2)) )THEN639 IF( (wrk_not_released(2, 1,2,3,4)) .OR. (wrk_not_released(3, 1,2)) )THEN 640 640 CALL ctl_stop('blk_ice_clio: failed to release workspace arrays.') 641 641 END IF … … 654 654 !! - also initialise sbudyko and stauc once for all 655 655 !!---------------------------------------------------------------------- 656 USE wrk_nemo, ONLY: wrk_ use, wrk_release656 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 657 657 USE wrk_nemo, ONLY: zev => wrk_2d_1 ! vapour pressure 658 658 USE wrk_nemo, ONLY: zdlha => wrk_2d_2, zlsrise => wrk_2d_3, zlsset => wrk_2d_4 … … 679 679 !!--------------------------------------------------------------------- 680 680 681 IF( .NOT. wrk_use(2, 1,2,3,4,5,6))THEN681 IF(wrk_in_use(2, 1,2,3,4,5,6))THEN 682 682 CALL ctl_stop('blk_clio_qsr_oce: requested workspace arrays unavailable.') 683 683 RETURN … … 796 796 END DO 797 797 798 IF( .NOT. wrk_release(2, 1,2,3,4,5,6))THEN798 IF(wrk_not_released(2, 1,2,3,4,5,6))THEN 799 799 CALL ctl_stop('blk_clio_qsr_oce: failed to release workspace arrays.') 800 800 END IF … … 813 813 !! - also initialise sbudyko and stauc once for all 814 814 !!---------------------------------------------------------------------- 815 USE wrk_nemo, ONLY: wrk_ use, wrk_release815 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 816 816 USE wrk_nemo, ONLY: zev => wrk_2d_1 ! vapour pressure 817 817 USE wrk_nemo, ONLY: zdlha => wrk_2d_2 ! 2D workspace … … 839 839 !!--------------------------------------------------------------------- 840 840 841 IF( .NOT. wrk_use(2, 1,2,3,4,5,6))THEN841 IF(wrk_in_use(2, 1,2,3,4,5,6))THEN 842 842 CALL ctl_stop('blk_clio_qsr_ice: requested workspace arrays unavailable.') 843 843 RETURN … … 945 945 END DO 946 946 ! 947 IF( .NOT. wrk_release(2, 1,2,3,4,5,6))THEN947 IF(wrk_not_released(2, 1,2,3,4,5,6))THEN 948 948 CALL ctl_stop('blk_clio_qsr_ice: failed to release workspace arrays.') 949 949 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
r2620 r2633 208 208 !! ** Nota : sf has to be a dummy argument for AGRIF on NEC 209 209 !!--------------------------------------------------------------------- 210 USE wrk_nemo, ONLY: wrk_ use, wrk_release210 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 211 211 USE wrk_nemo, ONLY: zwnd_i => wrk_2d_1, zwnd_j => wrk_2d_2 ! wind speed components at T-point 212 212 USE wrk_nemo, ONLY: zqsatw => wrk_2d_3 ! specific humidity at pst … … 230 230 !!--------------------------------------------------------------------- 231 231 232 IF( .NOT. wrk_use(2, 1,2,3,4,5,6,7,8,9,10,11,12,13))THEN232 IF(wrk_in_use(2, 1,2,3,4,5,6,7,8,9,10,11,12,13))THEN 233 233 CALL ctl_stop('blk_oce_core: requested workspace arrays unavailable.') 234 234 RETURN … … 383 383 ENDIF 384 384 ! 385 IF( .NOT. wrk_release(2, 1,2,3,4,5,6,7,8,9,10,11,12,13))THEN385 IF(wrk_not_released(2, 1,2,3,4,5,6,7,8,9,10,11,12,13))THEN 386 386 CALL ctl_stop('blk_oce_core: failed to release workspace arrays.') 387 387 END IF … … 407 407 !! caution : the net upward water flux has with mm/day unit 408 408 !!--------------------------------------------------------------------- 409 USE wrk_nemo, ONLY: wrk_ use, wrk_release409 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 410 410 USE wrk_nemo, ONLY: z_wnds_t => wrk_2d_1 ! wind speed ( = | U10m - U_ice | ) at T-point 411 411 USE wrk_nemo, ONLY: wrk_3d_4, wrk_3d_5, wrk_3d_6, wrk_3d_7 … … 447 447 448 448 ! Set-up access to workspace arrays 449 IF( (.NOT. wrk_use(2, 1)) .OR. (.NOT. wrk_use(3, 4,5,6,7)) )THEN449 IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 4,5,6,7) )THEN 450 450 CALL ctl_stop('blk_ice_core: requested workspace arrays unavailable.') 451 451 RETURN … … 608 608 ENDIF 609 609 610 IF( (.NOT. wrk_release(2, 1)) .OR. (.NOT. wrk_release(3, 4,5,6,7)) )THEN610 IF( wrk_not_released(2, 1) .OR. wrk_not_released(3, 4,5,6,7) )THEN 611 611 CALL ctl_stop('blk_ice_core: failed to release workspace arrays.') 612 612 END IF … … 635 635 !! 9.0 ! 05-08 (L. Brodeau) Rewriting and optimization 636 636 !!---------------------------------------------------------------------- 637 USE wrk_nemo, ONLY: wrk_ use, wrk_release, iwrk_use, iwrk_release637 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released, iwrk_in_use, iwrk_not_released 638 638 USE wrk_nemo, ONLY: dU10 => wrk_2d_14 ! dU [m/s] 639 639 USE wrk_nemo, ONLY: dT => wrk_2d_15 ! air/sea temperature difference [K] … … 675 675 !!---------------------------------------------------------------------- 676 676 677 IF( (.NOT. wrk_use(2, 14,15,16,17,18,&678 19,20,21,22,23,24,&679 25,26,27,28,29,30,&680 31,32)) .OR. &681 (.NOT. iwrk_use(2, 1)) )THEN677 IF( wrk_in_use(2, 14,15,16,17,18, & 678 19,20,21,22,23,24, & 679 25,26,27,28,29,30, & 680 31,32) .OR. & 681 iwrk_in_use(2, 1) )THEN 682 682 CALL ctl_stop('TURB_CORE_1Z: requested workspace arrays unavailable.') 683 683 RETURN … … 743 743 END DO 744 744 !! 745 IF( (.NOT. wrk_release(2, 14,15,16,17,18,&746 19,20,21,22,23,24, &747 25,26,27,28,29,30, &748 31,32)).OR. &749 (.NOT. iwrk_release(2, 1)) )THEN745 IF( wrk_not_released(2, 14,15,16,17,18, & 746 19,20,21,22,23,24, & 747 25,26,27,28,29,30, & 748 31,32) .OR. & 749 iwrk_not_released(2, 1) )THEN 750 750 CALL ctl_stop('TURB_CORE_1Z: failed to release workspace arrays.') 751 751 END IF … … 772 772 !! 9.0 ! 06-12 (L. Brodeau) Original code for 2Z 773 773 !!---------------------------------------------------------------------- 774 USE wrk_nemo, ONLY: wrk_ use, wrk_release, iwrk_use, iwrk_release774 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released, iwrk_in_use, iwrk_not_released 775 775 USE wrk_nemo, ONLY: dU10 => wrk_2d_1 ! dU [m/s] 776 776 USE wrk_nemo, ONLY: dT => wrk_2d_2 ! air/sea temperature difference [K] … … 816 816 !! * Start 817 817 818 IF( (.NOT. wrk_use(2, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21)) .OR. &819 (.NOT. iwrk_use(2, 1)) )THEN818 IF( wrk_in_use(2, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21) .OR. & 819 iwrk_in_use(2, 1) )THEN 820 820 CALL ctl_stop('TURB_CORE_2Z: requested workspace arrays unavailable.') 821 821 RETURN … … 895 895 END DO 896 896 !! 897 IF( (.NOT. wrk_release(2, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21)) .OR. &898 (.NOT. iwrk_release(2, 1)) )THEN897 IF( wrk_not_released(2, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21) .OR. & 898 iwrk_not_released(2, 1) )THEN 899 899 CALL ctl_stop('TURB_CORE_2Z: requested workspace arrays unavailable.') 900 900 END IF … … 905 905 FUNCTION psi_m(zta) !! Psis, L & Y eq. (8c), (8d), (8e) 906 906 !------------------------------------------------------------------------------- 907 USE wrk_nemo, ONLY: wrk_ use, wrk_release907 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 908 908 USE wrk_nemo, ONLY: X2 => wrk_2d_33 909 909 USE wrk_nemo, ONLY: X => wrk_2d_34 … … 916 916 !------------------------------------------------------------------------------- 917 917 918 IF( .NOT. wrk_use(2, 33,34,35))THEN918 IF(wrk_in_use(2, 33,34,35))THEN 919 919 CALL ctl_stop('psi_m: requested workspace arrays unavailable.') 920 920 RETURN … … 926 926 & + (1. - stabit)*(2*log((1. + X)/2) + log((1. + X2)/2) - 2*atan(X) + pi/2) ! Unstable 927 927 928 IF( .NOT. wrk_release(2, 33,34,35))THEN928 IF(wrk_not_released(2, 33,34,35))THEN 929 929 CALL ctl_stop('psi_m: failed to release workspace arrays.') 930 930 RETURN … … 936 936 FUNCTION psi_h(zta) !! Psis, L & Y eq. (8c), (8d), (8e) 937 937 !------------------------------------------------------------------------------- 938 USE wrk_nemo, ONLY: wrk_ use, wrk_release938 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 939 939 USE wrk_nemo, ONLY: X2 => wrk_2d_33 940 940 USE wrk_nemo, ONLY: X => wrk_2d_34 … … 946 946 !------------------------------------------------------------------------------- 947 947 948 IF( .NOT. wrk_use(2, 33,34,35))THEN948 IF(wrk_in_use(2, 33,34,35))THEN 949 949 CALL ctl_stop('psi_h: requested workspace arrays unavailable.') 950 950 RETURN … … 956 956 & + (1. - stabit)*(2.*log( (1. + X2)/2. )) ! Unstable 957 957 958 IF( .NOT. wrk_release(2, 33,34,35))THEN958 IF(wrk_not_released(2, 33,34,35))THEN 959 959 CALL ctl_stop('psi_h: failed to release workspace arrays.') 960 960 RETURN -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r2620 r2633 206 206 !! * initialise the OASIS coupler 207 207 !!---------------------------------------------------------------------- 208 USE wrk_nemo, ONLY: wrk_ use, wrk_release208 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 209 209 USE wrk_nemo, ONLY: zacs => wrk_2d_1, zaos => wrk_2d_2 ! clear & overcast sky albedos 210 210 !! … … 223 223 !!--------------------------------------------------------------------- 224 224 225 IF( .NOT. wrk_use(2,1,2) ) THEN225 IF(wrk_in_use(2,1,2) ) THEN 226 226 CALL ctl_stop('sbc_cpl_init: requested workspace arrays unavailable.') ; RETURN 227 227 END IF … … 563 563 & CALL ctl_stop( 'sbc_cpl_init: diurnal cycle reconstruction (ln_dm2dc) needs daily couping for solar radiation' ) 564 564 565 IF( .not. wrk_release(2,1,2))THEN565 IF(wrk_not_released(2,1,2))THEN 566 566 CALL ctl_stop('sbc_cpl_init: failed to release workspace arrays.') 567 567 END IF … … 612 612 !! emp = emps evap. - precip. (- runoffs) (- calving) ('ocean only case) 613 613 !!---------------------------------------------------------------------- 614 USE wrk_nemo, ONLY: wrk_ use, wrk_release614 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 615 615 USE wrk_nemo, ONLY: ztx => wrk_2d_1, zty => wrk_2d_2 616 616 !! … … 629 629 !!---------------------------------------------------------------------- 630 630 631 IF( .not. wrk_use(2, 1,2))THEN631 IF(wrk_in_use(2, 1,2))THEN 632 632 CALL ctl_stop('sbc_cpl_rcv: requested workspace arrays unavailable.') 633 633 RETURN … … 820 820 ENDIF 821 821 ! 822 IF( .not. wrk_release(2, 1,2))THEN822 IF(wrk_not_released(2, 1,2))THEN 823 823 CALL ctl_stop('sbc_cpl_rcv: failed to release workspace arrays.') 824 824 END IF … … 860 860 !! ** Action : return ptau_i, ptau_j, the stress over the ice at cp_ice_msh point 861 861 !!---------------------------------------------------------------------- 862 USE wrk_nemo, ONLY: wrk_ use, wrk_release862 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 863 863 USE wrk_nemo, ONLY: ztx => wrk_2d_1, zty => wrk_2d_2 864 864 !! … … 870 870 !!---------------------------------------------------------------------- 871 871 872 IF( .not. wrk_use(2,1,2))THEN872 IF(wrk_in_use(2,1,2))THEN 873 873 CALL ctl_stop('sbc_cpl_ice_tau: requested workspace arrays unavailable.') 874 874 RETURN … … 1041 1041 ENDIF 1042 1042 ! 1043 IF( .not. wrk_release(2,1,2))THEN1043 IF(wrk_not_released(2,1,2))THEN 1044 1044 CALL ctl_stop('sbc_cpl_ice_tau: failed to release workspace arrays.') 1045 1045 END IF … … 1093 1093 !! sprecip solid precipitation over the ocean 1094 1094 !!---------------------------------------------------------------------- 1095 USE wrk_nemo, ONLY: wrk_ use, wrk_release1095 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 1096 1096 USE wrk_nemo, ONLY: zcptn => wrk_2d_1 ! rcp * tn(:,:,1) 1097 1097 USE wrk_nemo, ONLY: ztmp => wrk_2d_2 ! temporary array … … 1118 1118 !!---------------------------------------------------------------------- 1119 1119 1120 IF( (.not. wrk_use(2,1,2,3)) .OR. (.not. wrk_use(3,1)) )THEN1120 IF( wrk_in_use(2,1,2,3) .OR. wrk_in_use(3,1) )THEN 1121 1121 CALL ctl_stop('sbc_cpl_ice_flx: requested workspace arrays unavailable.') 1122 1122 RETURN … … 1240 1240 END SELECT 1241 1241 1242 IF( (.not. wrk_release(2,1,2,3)) .OR. (.not. wrk_release(3,1)) )THEN1242 IF( wrk_not_released(2,1,2,3) .OR. wrk_not_released(3,1) )THEN 1243 1243 CALL ctl_stop('sbc_cpl_ice_flx: failed to release workspace arrays.') 1244 1244 END IF … … 1256 1256 !! all the needed fields (as defined in sbc_cpl_init) 1257 1257 !!---------------------------------------------------------------------- 1258 USE wrk_nemo, ONLY: wrk_ use, wrk_release1258 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 1259 1259 USE wrk_nemo, ONLY: zfr_l => wrk_2d_1 ! 1. - fr_i(:,:) 1260 1260 USE wrk_nemo, ONLY: ztmp1 => wrk_2d_2, ztmp2 => wrk_2d_3 … … 1268 1268 !!---------------------------------------------------------------------- 1269 1269 1270 IF( .NOT. wrk_use(2, 1,2,3,4,5,6,7,8,9))THEN1270 IF(wrk_in_use(2, 1,2,3,4,5,6,7,8,9))THEN 1271 1271 CALL ctl_stop('sbc_cpl_snd: requested workspace arrays are unavailable.'); 1272 1272 RETURN … … 1445 1445 ENDIF 1446 1446 ! 1447 IF( .NOT. wrk_release(2, 1,2,3,4,5,6,7,8,9))THEN1447 IF(wrk_not_released(2, 1,2,3,4,5,6,7,8,9))THEN 1448 1448 CALL ctl_stop('sbc_cpl_snd: failed to release workspace arrays.'); 1449 1449 RETURN -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/SBC/sbcfwb.F90
r2620 r2633 58 58 !! & spread out over erp area depending its sign 59 59 !!---------------------------------------------------------------------- 60 USE wrk_nemo, ONLY: wrk_ use, wrk_release60 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 61 61 USE wrk_nemo, ONLY: ztmsk_neg => wrk_2d_1, ztmsk_pos=> wrk_2d_2 62 62 USE wrk_nemo, ONLY: ztmsk_tospread => wrk_2d_3 … … 73 73 !!---------------------------------------------------------------------- 74 74 ! 75 IF( .NOT. wrk_use(2, 1,2,3,4,5) ) THEN75 IF( wrk_in_use(2, 1,2,3,4,5) ) THEN 76 76 CALL ctl_stop('sbc_fwb: requested workspace arrays are unavailable') ; RETURN 77 77 END IF … … 196 196 END SELECT 197 197 ! 198 IF( .NOT. wrk_release(2, 1,2,3,4,5) ) CALL ctl_stop('sbc_fwb: failed to release workspace arrays')198 IF( wrk_not_released(2, 1,2,3,4,5) ) CALL ctl_stop('sbc_fwb: failed to release workspace arrays') 199 199 ! 200 200 END SUBROUTINE sbc_fwb -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90
r2620 r2633 89 89 !! utau, vtau, taum, wndm, qns , qsr, emp , emps 90 90 !!--------------------------------------------------------------------- 91 USE wrk_nemo, ONLY: wrk_ use, wrk_release91 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 92 92 USE wrk_nemo, ONLY: zalb_ice_os => wrk_3d_1 ! albedo of the ice under overcast sky 93 93 USE wrk_nemo, ONLY: zalb_ice_cs => wrk_3d_2 ! albedo of ice under clear sky … … 100 100 !!---------------------------------------------------------------------- 101 101 102 IF( .NOT. wrk_use(3, 1,2) ) THEN102 IF( wrk_in_use(3, 1,2) ) THEN 103 103 CALL ctl_stop( 'sbc_ice_lim: requested workspace arrays are unavailable.' ) ; RETURN 104 104 ENDIF … … 252 252 !!gm remark, the ocean-ice stress is not saved in ice diag call above ..... find a solution!!! 253 253 ! 254 IF( .NOT. wrk_release(3, 1,2) ) CALL ctl_stop( 'sbc_ice_lim: failed to release workspace arrays.' )254 IF( wrk_not_released(3, 1,2) ) CALL ctl_stop( 'sbc_ice_lim: failed to release workspace arrays.' ) 255 255 ! 256 256 END SUBROUTINE sbc_ice_lim -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim_2.F90
r2620 r2633 83 83 !! utau, vtau, taum, wndm, qns , qsr, emp , emps 84 84 !!--------------------------------------------------------------------- 85 USE wrk_nemo, ONLY: wrk_ use, wrk_release85 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 86 86 USE wrk_nemo, ONLY: wrk_3d_1, wrk_3d_2, wrk_3d_3 ! 3D workspace 87 87 !! … … 96 96 !!---------------------------------------------------------------------- 97 97 98 IF( .NOT. wrk_use(3, 1,2,3) ) THEN98 IF(wrk_in_use(3, 1,2,3) ) THEN 99 99 CALL ctl_stop('sbc_ice_lim_2: requested workspace arrays are unavailable.') ; RETURN 100 100 END IF … … 228 228 IF( ln_limdyn ) CALL lim_sbc_tau_2( kt, ub(:,:,1), vb(:,:,1) ) ! using before instantaneous surf. currents 229 229 ! 230 IF( .NOT. wrk_release(3, 1,2,3) ) CALL ctl_stop('sbc_ice_lim_2: failed to release workspace arrays')230 IF(wrk_not_released(3, 1,2,3) ) CALL ctl_stop('sbc_ice_lim_2: failed to release workspace arrays') 231 231 ! 232 232 END SUBROUTINE sbc_ice_lim_2 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/SOL/solpcg.F90
r2590 r2633 83 83 !! ! 08-01 (R. Benshila) mpp optimization 84 84 !!---------------------------------------------------------------------- 85 USE wrk_nemo, ONLY: wrk_ use, wrk_release85 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 86 86 USE wrk_nemo, ONLY: zgcr => wrk_2d_1 87 87 !! … … 96 96 !!---------------------------------------------------------------------- 97 97 98 IF( .not. wrk_use(2, 1) )THEN98 IF( wrk_in_use(2, 1) )THEN 99 99 CALL ctl_stop('sol_pcg: requested workspace array is unavailable') 100 100 RETURN … … 217 217 218 218 ! 219 IF( .not. wrk_release(2, 1) )THEN219 IF( wrk_not_released(2, 1) )THEN 220 220 CALL ctl_stop('sol_pcg: failed to release workspace array') 221 221 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/SOL/solsor.F90
r2590 r2633 58 58 !! Beare and Stevens 1997 Ann. Geophysicae 15, 1369-1377 59 59 !!---------------------------------------------------------------------- 60 USE wrk_nemo, ONLY: wrk_ use, wrk_release60 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 61 61 USE wrk_nemo, ONLY: ztab => wrk_2d_1 62 62 !! … … 70 70 !!---------------------------------------------------------------------- 71 71 72 IF( .not. wrk_use(2, 1) )THEN72 IF( wrk_in_use(2, 1) )THEN 73 73 CALL ctl_stop('sol_sor: requested workspace array is unavailable') 74 74 RETURN … … 171 171 CALL lbc_lnk_e( gcx, c_solver_pt, 1. ) ! boundary conditions 172 172 ! 173 IF( .not. wrk_release(2, 1) )THEN173 IF( wrk_not_released(2, 1) )THEN 174 174 CALL ctl_stop('sol_sor: failed to release workspace array') 175 175 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/eosbn2.F90
r2590 r2633 107 107 !! References : Jackett and McDougall, J. Atmos. Ocean. Tech., 1994 108 108 !!---------------------------------------------------------------------- 109 USE wrk_nemo, ONLY: wrk_ use, wrk_release109 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 110 110 USE wrk_nemo, ONLY: zws => wrk_3d_1 ! temporary workspace 111 111 !! … … 123 123 !!---------------------------------------------------------------------- 124 124 125 IF( .NOT. wrk_use(3, 1))THEN125 IF(wrk_in_use(3, 1))THEN 126 126 CALL ctl_stop('eos_insitu : requested workspace array unavailable.') 127 127 RETURN … … 191 191 IF(ln_ctl) CALL prt_ctl( tab3d_1=prd, clinfo1=' eos : ', ovlap=1, kdim=jpk ) 192 192 ! 193 IF( .NOT. wrk_release(3, 1))THEN193 IF(wrk_not_released(3, 1))THEN 194 194 CALL ctl_stop('eos_insitu : failed to release workspace array.') 195 195 END IF … … 244 244 !! Brown and Campana, Mon. Weather Rev., 1978 245 245 !!---------------------------------------------------------------------- 246 USE wrk_nemo, ONLY: wrk_ use, wrk_release246 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 247 247 USE wrk_nemo, ONLY: zws => wrk_3d_1 ! 3D workspace 248 248 !! … … 257 257 !!---------------------------------------------------------------------- 258 258 259 IF( .NOT. wrk_use(3, 1))THEN259 IF(wrk_in_use(3, 1))THEN 260 260 CALL ctl_stop('eos_insitu_pot: requested workspace array unavailable.') 261 261 RETURN … … 330 330 IF(ln_ctl) CALL prt_ctl( tab3d_1=prd, clinfo1=' eos-p: ', tab3d_2=prhop, clinfo2=' pot : ', ovlap=1, kdim=jpk ) 331 331 ! 332 IF( .NOT. wrk_release(3, 1))THEN332 IF(wrk_not_released(3, 1))THEN 333 333 CALL ctl_stop('eos_insitu_pot: failed to release workspace array.') 334 334 END IF … … 373 373 !! References : Jackett and McDougall, J. Atmos. Ocean. Tech., 1994 374 374 !!---------------------------------------------------------------------- 375 USE wrk_nemo, ONLY: wrk_ use, wrk_release375 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 376 376 USE wrk_nemo, ONLY: zws => wrk_2d_5 ! 2D workspace 377 377 !! … … 386 386 !!---------------------------------------------------------------------- 387 387 388 IF( .NOT. wrk_use(2, 5))THEN388 IF(wrk_in_use(2, 5))THEN 389 389 CALL ctl_stop('eos_insitu_2d: requested workspace array unavailable.') 390 390 RETURN … … 463 463 IF(ln_ctl) CALL prt_ctl( tab2d_1=prd, clinfo1=' eos2d: ' ) 464 464 ! 465 IF( .NOT. wrk_release(2, 5))THEN465 IF(wrk_not_released(2, 5))THEN 466 466 CALL ctl_stop('eos_insitu_2d: failed to release workspace array.') 467 467 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90
r2623 r2633 61 61 !! ** Method : - Update (ua,va) with the advection term following nadv 62 62 !!---------------------------------------------------------------------- 63 USE wrk_nemo, ONLY: wrk_ use, wrk_release63 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 64 64 USE wrk_nemo, ONLY: zun => wrk_3d_1, zvn => wrk_3d_2, zwn => wrk_3d_3 ! 3D workspace 65 65 ! … … 69 69 !!---------------------------------------------------------------------- 70 70 ! 71 IF( .not. wrk_use(3, 1,2,3) ) THEN71 IF(wrk_in_use(3, 1,2,3) ) THEN 72 72 CALL ctl_stop('tra_adv: requested workspace arrays unavailable') ; RETURN 73 73 END IF … … 131 131 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 132 132 ! 133 IF( .not. wrk_release(3,1,2,3) ) CALL ctl_stop('tra_adv: failed to release workspace arrays')133 IF(wrk_not_released(3,1,2,3) ) CALL ctl_stop('tra_adv: failed to release workspace arrays') 134 134 ! 135 135 END SUBROUTINE tra_adv -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_cen2.F90
r2623 r2633 111 111 USE oce , zwx => ua ! use ua as workspace 112 112 USE oce , zwy => va ! use va as workspace 113 USE wrk_nemo, ONLY: wrk_ use, wrk_release113 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 114 114 USE wrk_nemo, ONLY: ztfreez => wrk_2d_1 115 115 USE wrk_nemo, ONLY: zwz => wrk_3d_1, zind => wrk_3d_2 … … 134 134 !!---------------------------------------------------------------------- 135 135 136 IF( .not. wrk_use(2, 1) .OR. .not. wrk_use(3, 1,2) ) THEN136 IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 1,2) ) THEN 137 137 CALL ctl_stop('tra_adv_cen2: ERROR: requested workspace arrays unavailable') ; RETURN 138 138 END IF … … 278 278 ENDIF 279 279 ! 280 IF( (.not. wrk_release(2, 1)) .OR. (.not. wrk_release(3, 1,2)))THEN280 IF( wrk_not_released(2, 1) .OR. wrk_not_released(3, 1,2) )THEN 281 281 CALL ctl_stop('tra_adv_cen2: ERROR: failed to release workspace arrays') 282 282 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_eiv.F90
r2590 r2633 64 64 !! ** Action : - add to p.n the eiv component 65 65 !!---------------------------------------------------------------------- 66 USE wrk_nemo, ONLY: wrk_ use, wrk_release66 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 67 67 USE wrk_nemo, ONLY: zu_eiv => wrk_2d_1, zv_eiv => wrk_2d_2, & 68 68 zw_eiv => wrk_2d_3 … … 85 85 86 86 # if defined key_diaeiv 87 IF( .not. wrk_use(2, 1,2,3,4))THEN87 IF(wrk_in_use(2, 1,2,3,4))THEN 88 88 #else 89 IF( .not. wrk_use(2, 1,2,3))THEN89 IF(wrk_in_use(2, 1,2,3))THEN 90 90 #endif 91 91 CALL ctl_stop('tra_adv_eiv: ERROR: requested workspace arrays are unavailable.') … … 194 194 ! 195 195 # if defined key_diaeiv 196 IF( .not. wrk_release(2, 1,2,3,4))THEN196 IF(wrk_not_released(2, 1,2,3,4))THEN 197 197 #else 198 IF( .not. wrk_release(2, 1,2,3))THEN198 IF(wrk_not_released(2, 1,2,3))THEN 199 199 #endif 200 200 CALL ctl_stop('tra_adv_eiv: ERROR: failed to release workspace arrays.') -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl.F90
r2590 r2633 63 63 USE oce , zwx => ua ! use ua as workspace 64 64 USE oce , zwy => va ! use va as workspace 65 USE wrk_nemo, ONLY: wrk_ use, wrk_release65 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 66 66 USE wrk_nemo, ONLY: zslpx => wrk_3d_1, zslpy => wrk_3d_2 67 67 !! … … 81 81 !!---------------------------------------------------------------------- 82 82 83 IF( .not. wrk_use(3, 1,2) )THEN83 IF( wrk_in_use(3, 1,2) )THEN 84 84 CALL ctl_stop('tra_adv_muscl: ERROR: requested workspace arrays unavailable') 85 85 RETURN … … 255 255 ENDDO 256 256 ! 257 IF( .not. wrk_release(3, 1,2) )THEN257 IF( wrk_not_released(3, 1,2) )THEN 258 258 CALL ctl_stop('tra_adv_muscl: ERROR: requested workspace arrays unavailable') 259 259 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl2.F90
r2590 r2633 61 61 USE oce , zwx => ua ! use ua as workspace 62 62 USE oce , zwy => va ! use va as workspace 63 USE wrk_nemo, ONLY: wrk_ use, wrk_release63 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 64 64 USE wrk_nemo, ONLY: zslpx => wrk_3d_1, zslpy => wrk_3d_2 65 65 !! … … 79 79 !!---------------------------------------------------------------------- 80 80 81 IF( .not. wrk_use(3, 1,2))THEN81 IF(wrk_in_use(3, 1,2))THEN 82 82 CALL ctl_stop('tra_adv_muscl2: ERROR: requested workspace arrays are unavailable') 83 83 RETURN … … 288 288 END DO 289 289 ! 290 IF( .not. wrk_release(3, 1,2))THEN290 IF(wrk_not_released(3, 1,2))THEN 291 291 CALL ctl_stop('tra_adv_muscl2: ERROR: failed to release workspace arrays') 292 292 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_qck.F90
r2590 r2633 116 116 !!---------------------------------------------------------------------- 117 117 USE oce , zwx => ua ! use ua as workspace 118 USE wrk_nemo, ONLY: wrk_ use, wrk_release118 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 119 119 USE wrk_nemo, ONLY: zfu => wrk_3d_1, zfc => wrk_3d_2, zfd => wrk_3d_3 120 120 !! … … 132 132 !---------------------------------------------------------------------- 133 133 ! 134 IF( .not. wrk_use(3, 1,2,3))THEN134 IF(wrk_in_use(3, 1,2,3))THEN 135 135 CALL ctl_stop('tra_adv_qck_i: ERROR: requested workspace arrays unavailable') 136 136 RETURN … … 230 230 END DO 231 231 ! 232 IF( .not. wrk_release(3, 1,2,3))THEN232 IF(wrk_not_released(3, 1,2,3))THEN 233 233 CALL ctl_stop('tra_adv_qck_i: ERROR: failed to release workspace arrays') 234 234 END IF … … 243 243 !!---------------------------------------------------------------------- 244 244 USE oce , zwy => ua ! use ua as workspace 245 USE wrk_nemo, ONLY: wrk_ use, wrk_release245 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 246 246 USE wrk_nemo, ONLY: zfu => wrk_3d_1, zfc => wrk_3d_2, zfd => wrk_3d_3 247 247 !! … … 259 259 !---------------------------------------------------------------------- 260 260 ! 261 IF( .not. wrk_use(3, 1,2,3))THEN261 IF(wrk_in_use(3, 1,2,3))THEN 262 262 CALL ctl_stop('tra_adv_qck_j: ERROR: requested workspace arrays unavailable') 263 263 RETURN … … 364 364 END DO 365 365 ! 366 IF( .not. wrk_release(3, 1,2,3))THEN366 IF(wrk_not_released(3, 1,2,3))THEN 367 367 CALL ctl_stop('tra_adv_qck_j: ERROR: failed to release workspace arrays') 368 368 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_tvd.F90
r2590 r2633 68 68 USE oce , zwx => ua ! use ua as workspace 69 69 USE oce , zwy => va ! use va as workspace 70 USE wrk_nemo, ONLY: wrk_ use, wrk_release70 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 71 71 USE wrk_nemo, ONLY: zwi => wrk_3d_6, zwz => wrk_3d_7 72 72 !! … … 87 87 !!---------------------------------------------------------------------- 88 88 89 IF( .not. wrk_use(3, 6,7))THEN89 IF(wrk_in_use(3, 6,7))THEN 90 90 CALL ctl_stop('tra_adv_tvd: ERROR: requested workspace arrays unavailable') 91 91 RETURN … … 248 248 END IF 249 249 ! 250 IF( .not. wrk_release(3, 6,7))THEN250 IF(wrk_not_released(3, 6,7))THEN 251 251 CALL ctl_stop('tra_adv_tvd: ERROR: failed to release workspace arrays') 252 252 END IF … … 268 268 !! in-space based differencing for fluid 269 269 !!---------------------------------------------------------------------- 270 USE wrk_nemo, ONLY: wrk_ use, wrk_release270 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 271 271 USE wrk_nemo, ONLY: zbetup => wrk_3d_8, zbetdo => wrk_3d_9, & 272 272 zbup => wrk_3d_10, zbdo => wrk_3d_11 … … 282 282 !!---------------------------------------------------------------------- 283 283 284 IF( .not. wrk_use(3, 8,9,10,11))THEN284 IF(wrk_in_use(3, 8,9,10,11))THEN 285 285 CALL ctl_stop('nonosc: ERROR: requested workspace array unavailable') 286 286 RETURN … … 365 365 CALL lbc_lnk( paa, 'U', -1. ) ; CALL lbc_lnk( pbb, 'V', -1. ) ! lateral boundary condition (changed sign) 366 366 ! 367 IF( .not. wrk_release(3, 8,9,10,11))THEN367 IF(wrk_not_released(3, 8,9,10,11))THEN 368 368 CALL ctl_stop('nonosc: ERROR: failed to release workspace arrays') 369 369 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_ubs.F90
r2590 r2633 75 75 USE oce , zwx => ua ! use ua as workspace 76 76 USE oce , zwy => va ! use va as workspace 77 USE wrk_nemo, ONLY: wrk_ use, wrk_release77 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 78 78 USE wrk_nemo, ONLY: ztu => wrk_3d_1, ztv => wrk_3d_2, & 79 79 zltu => wrk_3d_3, zltv => wrk_3d_4, & … … 97 97 !!---------------------------------------------------------------------- 98 98 99 IF( .not. wrk_use(3, 1,2,3,4,5,6) )THEN99 IF( wrk_in_use(3, 1,2,3,4,5,6) )THEN 100 100 CALL ctl_stop('tra_adv_ubs: ERROR: requested workspace arrays unavailable') 101 101 RETURN … … 273 273 ENDDO 274 274 ! 275 IF( .not. wrk_release(3, 1,2,3,4,5,6) )THEN275 IF( wrk_not_released(3, 1,2,3,4,5,6) )THEN 276 276 CALL ctl_stop('tra_adv_ubs: ERROR: failed to release workspace arrays') 277 277 END IF … … 293 293 !! in-space based differencing for fluid 294 294 !!---------------------------------------------------------------------- 295 USE wrk_nemo, ONLY: wrk_ use, wrk_release295 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 296 296 USE wrk_nemo, ONLY: zbetup => wrk_3d_1, zbetdo => wrk_3d_2 297 297 !! … … 306 306 !!---------------------------------------------------------------------- 307 307 308 IF( .not. wrk_use(3, 1,2) )THEN308 IF( wrk_in_use(3, 1,2) )THEN 309 309 CALL ctl_stop('nonosc_z: ERROR: requested workspace arrays unavailable') 310 310 RETURN … … 381 381 END DO 382 382 ! 383 IF( .not. wrk_release(3, 1,2) )THEN383 IF( wrk_not_released(3, 1,2) )THEN 384 384 CALL ctl_stop('nonosc_z: ERROR: failed to release workspace arrays') 385 385 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/trabbl.F90
r2623 r2633 169 169 !! Campin, J.-M., and H. Goosse, 1999, Tellus, 412-430. 170 170 !!---------------------------------------------------------------------- 171 USE wrk_nemo, ONLY: wrk_ use, wrk_release171 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 172 172 USE wrk_nemo, ONLY: zptb => wrk_2d_1 173 173 ! … … 181 181 !!---------------------------------------------------------------------- 182 182 ! 183 IF( .not. wrk_use(2,1) ) THEN183 IF(wrk_in_use(2,1) ) THEN 184 184 CALL ctl_stop('tra_bbl_dif: ERROR: requested workspace array unavailable') ; RETURN 185 185 ENDIF … … 218 218 END DO ! end tracer 219 219 ! ! =========== 220 IF( .not. wrk_release(2,1) ) CALL ctl_stop('tra_bbl_dif: failed to release workspace array')220 IF(wrk_not_released(2,1) ) CALL ctl_stop('tra_bbl_dif: failed to release workspace array') 221 221 ! 222 222 END SUBROUTINE tra_bbl_dif … … 338 338 !! Campin, J.-M., and H. Goosse, 1999, Tellus, 412-430. 339 339 !!---------------------------------------------------------------------- 340 USE wrk_nemo, ONLY: wrk_ use, wrk_release340 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 341 341 USE wrk_nemo, ONLY: zub => wrk_2d_1 , ztb => wrk_2d_2 ! 2D workspace 342 342 USE wrk_nemo, ONLY: zvb => wrk_2d_3 , zsb => wrk_2d_4 , zdep => wrk_2d_5 … … 385 385 !!---------------------------------------------------------------------- 386 386 387 IF( .not. wrk_use(2, 1,2,3,4,5) ) THEN387 IF(wrk_in_use(2, 1,2,3,4,5) ) THEN 388 388 CALL ctl_stop('bbl: requested workspace arrays unavailable') ; RETURN 389 389 ENDIF … … 525 525 ENDIF 526 526 ! 527 IF( .not. wrk_release(2, 1,2,3,4,5) ) CALL ctl_stop('bbl: failed to release workspace arrays')527 IF(wrk_not_released(2, 1,2,3,4,5) ) CALL ctl_stop('bbl: failed to release workspace arrays') 528 528 ! 529 529 END SUBROUTINE bbl … … 539 539 !! called by nemo_init at the first timestep (nit000) 540 540 !!---------------------------------------------------------------------- 541 USE wrk_nemo, ONLY: wrk_ use, wrk_release541 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 542 542 USE wrk_nemo, ONLY: zmbk => wrk_2d_1 ! 2D workspace 543 543 INTEGER :: ji, jj ! dummy loop indices … … 547 547 !!---------------------------------------------------------------------- 548 548 549 IF( .not. wrk_use(2,1) ) THEN549 IF(wrk_in_use(2,1) ) THEN 550 550 CALL ctl_stop('tra_bbl_init: requested workspace array unavailable') ; RETURN 551 551 ENDIF … … 635 635 ENDIF 636 636 ! 637 IF( .not. wrk_release(2,1))THEN637 IF(wrk_not_released(2,1))THEN 638 638 CALL ctl_stop('tra_bbl_init: ERROR: failed to release workspace array') 639 639 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/tradmp.F90
r2623 r2633 327 327 USE iom 328 328 USE ioipsl 329 USE wrk_nemo, ONLY: wrk_ use, wrk_release329 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 330 330 USE wrk_nemo, ONLY: zhfac => wrk_1d_1, zmrs => wrk_2d_1 , zdct => wrk_3d_1 ! 1D, 2D, 3D workspace 331 331 !! … … 347 347 !!---------------------------------------------------------------------- 348 348 349 IF( .not. wrk_use(1, 1) .OR. .not. wrk_use(2, 1) .OR. &350 .not. wrk_use(3, 1) )THEN349 IF( wrk_in_use(1, 1) .OR. wrk_in_use(2, 1) .OR. & 350 wrk_in_use(3, 1) )THEN 351 351 CALL ctl_stop('dtacof: requested workspace arrays unavailable') ; RETURN 352 352 ENDIF … … 543 543 ENDIF 544 544 ! 545 IF( .not. wrk_release(1, 1) .OR. .not. wrk_release(2, 1) .OR. &546 .not. wrk_release(3, 1) ) CALL ctl_stop('dtacof: failed to release workspace arrays')545 IF( wrk_not_released(1, 1) .OR. wrk_not_released(2, 1) .OR. & 546 wrk_not_released(3, 1) ) CALL ctl_stop('dtacof: failed to release workspace arrays') 547 547 ! 548 548 END SUBROUTINE dtacof … … 570 570 !!---------------------------------------------------------------------- 571 571 USE ioipsl ! IOipsl librairy 572 USE wrk_nemo, ONLY: wrk_ use, wrk_release, llwrk_use, llwrk_release572 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released, llwrk_in_use, llwrk_not_released 573 573 USE wrk_nemo, ONLY: zxc => wrk_1d_1, zyc => wrk_1d_2, zzc => wrk_1d_3, zdis => wrk_1d_4 574 574 USE wrk_nemo, ONLY: llcotu => llwrk_2d_1, llcotv => llwrk_2d_2 , llcotf => llwrk_2d_3 … … 586 586 !!---------------------------------------------------------------------- 587 587 588 IF( .not. llwrk_use(2, 1,2,3) .OR. .not. wrk_use(2, 1,2,3,4).OR. &589 .not. wrk_use(1, 1,2,3,4) )THEN588 IF( llwrk_in_use(2, 1,2,3) .OR. wrk_in_use(2, 1,2,3,4) .OR. & 589 wrk_in_use(1, 1,2,3,4) )THEN 590 590 CALL ctl_stop('cofdis: ERROR: requested workspace arrays unavailable') ; RETURN 591 591 END IF … … 741 741 CALL restclo( icot ) 742 742 ! 743 IF( .not. llwrk_release(2, 1,2,3).OR. &744 .not. wrk_release(2, 1,2,3,4) .OR. &745 .not. wrk_release(1, 1,2,3,4) ) CALL ctl_stop('cofdis: failed to release workspace arrays')743 IF( llwrk_not_released(2, 1,2,3) .OR. & 744 wrk_not_released(2, 1,2,3,4) .OR. & 745 wrk_not_released(1, 1,2,3,4) ) CALL ctl_stop('cofdis: failed to release workspace arrays') 746 746 ! 747 747 END SUBROUTINE cofdis -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/traldf.F90
r2623 r2633 237 237 !! ** Purpose : initializations of 238 238 !!---------------------------------------------------------------------- 239 USE wrk_nemo, ONLY: wrk_ use, wrk_release239 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 240 240 USE wrk_nemo, ONLY: zt_ref => wrk_3d_1, ztb => wrk_3d_2, zavt => wrk_3d_3 ! 3D workspaces 241 241 USE wrk_nemo, ONLY: zs_ref => wrk_3d_4, zsb => wrk_3d_5 ! 3D workspaces … … 251 251 !!---------------------------------------------------------------------- 252 252 253 IF( .NOT. wrk_use(3, 1,2,3,4,5) ) THEN253 IF(wrk_in_use(3, 1,2,3,4,5) ) THEN 254 254 CALL ctl_stop('ldf_ano : requested workspace arrays unavailable') ; RETURN 255 255 ENDIF … … 320 320 avt(:,:,:) = zavt(:,:,:) 321 321 ! 322 IF( .NOT. wrk_release(3, 1,2,3,4,5) ) CALL ctl_stop('ldf_ano : failed to release workspace arrays')322 IF(wrk_not_released(3, 1,2,3,4,5) ) CALL ctl_stop('ldf_ano : failed to release workspace arrays') 323 323 ! 324 324 END SUBROUTINE ldf_ano -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilap.F90
r2590 r2633 75 75 USE oce , ztu => ua ! use ua as workspace 76 76 USE oce , ztv => va ! use va as workspace 77 USE wrk_nemo, ONLY: wrk_ use, wrk_release77 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 78 78 USE wrk_nemo, ONLY: zeeu => wrk_2d_1, zeev => wrk_2d_2, zlt => wrk_2d_3 79 79 !! … … 89 89 !!---------------------------------------------------------------------- 90 90 91 IF( .NOT. wrk_use(2, 1,2,3))THEN91 IF(wrk_in_use(2, 1,2,3))THEN 92 92 CALL ctl_stop('tra_ldf_bilap: requested workspace arrays unavailable.') 93 93 RETURN … … 166 166 END DO ! tracer loop 167 167 ! ! =========== 168 IF( .NOT. wrk_release(2, 1,2,3))THEN168 IF(wrk_not_released(2, 1,2,3))THEN 169 169 CALL ctl_stop('tra_ldf_bilap: failed to release workspace arrays.') 170 170 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilapg.F90
r2590 r2633 65 65 !! biharmonic mixing trend. 66 66 !!---------------------------------------------------------------------- 67 USE wrk_nemo, ONLY: wrk_ use, wrk_release67 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 68 68 USE wrk_nemo, ONLY: wk1 => wrk_4d_1, wk2 => wrk_4d_2 69 69 INTEGER , INTENT(in ) :: kt ! ocean time-step index … … 76 76 !!---------------------------------------------------------------------- 77 77 78 IF( .NOT. wrk_use(4, 1,2))THEN78 IF(wrk_in_use(4, 1,2))THEN 79 79 CALL ctl_stop('tra_ldf_bilapg : requested workspace arrays unavailable.') 80 80 RETURN … … 114 114 END DO 115 115 ! 116 IF( .NOT. wrk_release(4, 1,2))THEN116 IF(wrk_not_released(4, 1,2))THEN 117 117 CALL ctl_stop('tra_ldf_bilapg : failed to release workspace arrays.') 118 118 END IF … … 160 160 !!---------------------------------------------------------------------- 161 161 USE oce , zftv => ua ! use ua as workspace 162 USE wrk_nemo, ONLY: wrk_ use, wrk_release, wrk_use_xz, wrk_release_xz162 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released, wrk_in_use_xz, wrk_not_released_xz 163 163 USE wrk_nemo, ONLY: zftu => wrk_2d_1, zdkt => wrk_2d_2, zdk1t => wrk_2d_3 164 164 USE wrk_nemo, ONLY: zftw => wrk_xz_1, zdit => wrk_xz_2, & … … 182 182 !!---------------------------------------------------------------------- 183 183 184 IF( (.NOT. wrk_use(2, 1,2,3)) .OR. (.NOT. wrk_use_xz(1,2,3,4)) )THEN184 IF( wrk_in_use(2, 1,2,3) .OR. wrk_in_use_xz(1,2,3,4) )THEN 185 185 CALL ctl_stop('ldfght : requested workspace arrays unavailable.') 186 186 RETURN … … 337 337 END DO 338 338 ! 339 IF( (.NOT. wrk_release(2, 1,2,3)) .OR. (.NOT. wrk_release_xz(1,2,3,4)) )THEN339 IF( wrk_not_released(2, 1,2,3) .OR. wrk_not_released_xz(1,2,3,4) )THEN 340 340 CALL ctl_stop('ldfght : failed to release workspace arrays.') 341 341 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90
r2590 r2633 92 92 USE oce , zftu => ua ! use ua as workspace 93 93 USE oce , zftv => va ! use va as workspace 94 USE wrk_nemo, ONLY: wrk_ use, wrk_release94 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 95 95 USE wrk_nemo, ONLY: zdkt => wrk_2d_1, zdk1t => wrk_2d_2 ! 2D workspace 96 96 USE wrk_nemo, ONLY: zdit => wrk_3d_1, zdjt => wrk_3d_2, ztfw => wrk_3d_3 ! 3D workspace … … 114 114 !!---------------------------------------------------------------------- 115 115 116 IF( (.NOT. wrk_use(3, 1,2,3)) .OR. & 117 (.NOT. wrk_use(2, 1,2,3)) )THEN 116 IF( wrk_in_use(3, 1,2,3) .OR. wrk_in_use(2, 1,2,3) )THEN 118 117 CALL ctl_stop('tra_ldf_iso : requested workspace array unavailable.') 119 118 RETURN … … 295 294 END DO 296 295 ! 297 IF( (.NOT. wrk_release(3, 1,2,3)) .OR. &298 (.NOT. wrk_release(2, 1,2,3)) )THEN296 IF( wrk_not_released(3, 1,2,3) .OR. & 297 wrk_not_released(2, 1,2,3) )THEN 299 298 CALL ctl_stop('tra_ldf_iso : failed to release workspace arrays.') 300 299 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso_grif.F90
r2623 r2633 88 88 !! ** Action : Update pta arrays with the before rotated diffusion 89 89 !!---------------------------------------------------------------------- 90 USE wrk_nemo, ONLY: wrk_ use, wrk_release90 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 91 91 USE oce , ONLY: zftu => ua , zftv => va ! (ua,va) used as 3D workspace 92 92 USE wrk_nemo, ONLY: zdit => wrk_3d_1 , zdjt => wrk_3d_2 , ztfw => wrk_3d_3 ! 3D workspace … … 117 117 !!---------------------------------------------------------------------- 118 118 119 IF( .NOT. wrk_use(3, 1,2,3) .OR. .NOT. wrk_use(2, 1) ) THEN119 IF( wrk_in_use(3, 1,2,3) .OR. wrk_in_use(2, 1) ) THEN 120 120 CALL ctl_stop('tra_ldf_iso_grif : requested workspace arrays unavailable.') ; RETURN 121 121 ENDIF … … 347 347 END DO 348 348 ! 349 IF( (.NOT. wrk_release(3, 1,2,3,4)) .OR. (.NOT. wrk_release(2, 1)))THEN349 IF( wrk_not_released(3, 1,2,3,4) .OR. wrk_not_released(2, 1) )THEN 350 350 CALL ctl_stop('tra_ldf_iso_grif : failed to release workspace arrays.') 351 351 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/tranpc.F90
r2590 r2633 55 55 !! References : Madec, et al., 1991, JPO, 21, 9, 1349-1371. 56 56 !!---------------------------------------------------------------------- 57 USE wrk_nemo, ONLY: wrk_ use, wrk_release, wrk_use_xz, wrk_release_xz57 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released, wrk_in_use_xz, wrk_not_released_xz 58 58 USE wrk_nemo, ONLY: ztrdt => wrk_3d_1, ztrds => wrk_3d_2, zrhop => wrk_3d_3 59 59 USE wrk_nemo, ONLY: zwx => wrk_xz_1, zwy => wrk_xz_2, zwz => wrk_xz_3 … … 71 71 ! Strictly 1 and 2 3D workspaces only needed if(l_trdtra) but it doesn't 72 72 ! cost us anything and makes code simpler. 73 IF( (.NOT. wrk_use(3, 1,2,3)) .OR. (.NOT. wrk_use_xz(1,2,3)) )THEN73 IF( wrk_in_use(3, 1,2,3) .OR. wrk_in_use_xz(1,2,3) )THEN 74 74 CALL ctl_stop('tra_npc: requested workspace arrays unavailable.') 75 75 RETURN … … 217 217 ENDIF 218 218 ! 219 IF( (.NOT. wrk_release(3, 1,2,3)) .OR. (.NOT. wrk_release_xz(1,2,3)))THEN219 IF( wrk_not_released(3, 1,2,3) .OR. wrk_not_released_xz(1,2,3) )THEN 220 220 CALL ctl_stop('tra_npc: failed to release workspace arrays.') 221 221 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90
r2590 r2633 90 90 !! Lengaigne et al. 2007, Clim. Dyn., V28, 5, 503-516. 91 91 !!---------------------------------------------------------------------- 92 USE wrk_nemo, ONLY: wrk_ use, wrk_release92 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 93 93 USE wrk_nemo, ONLY: zekb => wrk_2d_1, zekg => wrk_2d_2, zekr => wrk_2d_3 94 94 USE wrk_nemo, ONLY: ze0 => wrk_3d_1, ze1 => wrk_3d_2, ze2 => wrk_3d_3 … … 106 106 !!---------------------------------------------------------------------- 107 107 108 IF( (.NOT. wrk_use(3, 1,2,3,4,5)) .OR. (.NOT. wrk_use(2, 1,2,3)) )THEN108 IF( wrk_in_use(3, 1,2,3,4,5) .OR. wrk_in_use(2, 1,2,3) )THEN 109 109 CALL ctl_stop('tra_qsr : requested workspace arrays unavailable.') 110 110 RETURN … … 290 290 IF(ln_ctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' qsr - Ta: ', mask1=tmask, clinfo3='tra-ta' ) 291 291 ! 292 IF( (.NOT. wrk_release(3, 1,2,3,4,5)) .OR. &293 (.NOT. wrk_release(2, 1,2,3)) )THEN292 IF( wrk_not_released(3, 1,2,3,4,5) .OR. & 293 wrk_not_released(2, 1,2,3) )THEN 294 294 CALL ctl_stop('tra_qsr : failed to release workspace arrays.') 295 295 END IF … … 315 315 !! Reference : Jerlov, N. G., 1968 Optical Oceanography, Elsevier, 194pp. 316 316 !!---------------------------------------------------------------------- 317 USE wrk_nemo, ONLY: wrk_ use, wrk_release317 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 318 318 USE wrk_nemo, ONLY: zekb => wrk_2d_1, zekg => wrk_2d_2, zekr => wrk_2d_3 319 319 USE wrk_nemo, ONLY: ze0 => wrk_3d_1, ze1 => wrk_3d_2, ze2 => wrk_3d_3 … … 333 333 !!---------------------------------------------------------------------- 334 334 335 IF( (.NOT. wrk_use(2, 1,2,3)) .OR. (.NOT. wrk_use(3, 1,2,3,4,5)) )THEN335 IF( wrk_in_use(2, 1,2,3) .OR. wrk_in_use(3, 1,2,3,4,5) )THEN 336 336 CALL ctl_stop('tra_qsr_init: requested workspace arrays unavailable.') 337 337 RETURN … … 510 510 ENDIF 511 511 ! 512 IF( (.NOT. wrk_release(2, 1,2,3)) .OR. &513 (.NOT. wrk_release(3, 1,2,3,4,5)) )THEN512 IF( wrk_not_released(2, 1,2,3) .OR. & 513 wrk_not_released(3, 1,2,3,4,5) )THEN 514 514 CALL ctl_stop('tra_qsr_init: failed to release workspace arrays.') 515 515 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf_exp.F90
r2590 r2633 73 73 !! ** Action : - after tracer fields pta 74 74 !!--------------------------------------------------------------------- 75 USE wrk_nemo, ONLY: wrk_ use, wrk_release75 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 76 76 USE wrk_nemo, ONLY: zwx => wrk_3d_1, zwy => wrk_3d_2 ! 3D workspace 77 77 !! … … 89 89 !!--------------------------------------------------------------------- 90 90 91 IF( .NOT. wrk_use(3, 1,2))THEN91 IF(wrk_in_use(3, 1,2))THEN 92 92 CALL ctl_stop('tra_zdf_exp : requested workspace arrays unavailable.') 93 93 RETURN … … 165 165 END DO 166 166 ! 167 IF( .NOT. wrk_release(3, 1,2))THEN167 IF(wrk_not_released(3, 1,2))THEN 168 168 CALL ctl_stop('tra_zdf_exp : failed to release workspace arrays.') 169 169 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf_imp.F90
r2590 r2633 91 91 USE oce , ONLY : zwd => ua ! ua used as workspace 92 92 USE oce , ONLY : zws => va ! va - - 93 USE wrk_nemo, ONLY: wrk_ use, wrk_release93 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 94 94 USE wrk_nemo, ONLY: zwi => wrk_3d_1, zwt => wrk_3d_2 ! workspace arrays 95 95 !! … … 106 106 !!--------------------------------------------------------------------- 107 107 108 IF( .NOT. wrk_use(3, 1,2))THEN108 IF(wrk_in_use(3, 1,2))THEN 109 109 CALL ctl_stop('tra_zdf_imp : requested workspace arrays unavailable.') 110 110 RETURN … … 308 308 END DO 309 309 ! 310 IF( .NOT. wrk_release(3, 1,2))THEN310 IF(wrk_not_released(3, 1,2))THEN 311 311 CALL ctl_stop('tra_zdf_imp : failed to release workspace arrays.') 312 312 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRA/zpshde.F90
r2590 r2633 80 80 !! - pgru, pgrv: horizontal gradient of rho (if present) at u- & v-points 81 81 !!---------------------------------------------------------------------- 82 USE wrk_nemo, ONLY: wrk_ use, wrk_release82 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 83 83 USE wrk_nemo, ONLY: zri => wrk_2d_1, zrj => wrk_2d_2 ! interpolated value of rd 84 84 USE wrk_nemo, ONLY: zhi => wrk_2d_3, zhj => wrk_2d_4 ! depth of interpolation for eos2d … … 98 98 !!---------------------------------------------------------------------- 99 99 100 IF( (.NOT. wrk_use(2, 1,2,3,4)) .OR. (.NOT. wrk_use(3, 1,2)) )THEN100 IF( wrk_in_use(2, 1,2,3,4) .OR. wrk_in_use(3, 1,2) )THEN 101 101 CALL ctl_stop('zps_hde: requested workspace arrays unavailable.') 102 102 RETURN … … 214 214 END IF 215 215 ! 216 IF( (.NOT. wrk_release(2, 1,2,3,4)) .OR. (.NOT. wrk_release(3, 1,2)) )THEN216 IF( wrk_not_released(2, 1,2,3,4) .OR. wrk_not_released(3, 1,2) )THEN 217 217 CALL ctl_stop('zps_hde: failed to release workspace arrays.') 218 218 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRD/trdicp.F90
r2590 r2633 344 344 !! ** Purpose : write dynamic trends in ocean.output 345 345 !!---------------------------------------------------------------------- 346 USE wrk_nemo, ONLY: wrk_ use, wrk_release346 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 347 347 USE wrk_nemo, ONLY: zkepe => wrk_3d_1, zkx => wrk_3d_2, & 348 348 zky => wrk_3d_3, zkz => wrk_3d_4 … … 353 353 !!---------------------------------------------------------------------- 354 354 355 IF( .NOT. wrk_use(3, 1,2,3,4))THEN355 IF(wrk_in_use(3, 1,2,3,4))THEN 356 356 CALL ctl_stop('trd_dwr : requested workspace arrays unavailable.') 357 357 RETURN … … 550 550 ENDIF 551 551 ! 552 IF( .NOT. wrk_release(3, 1,2,3,4))THEN552 IF(wrk_not_released(3, 1,2,3,4))THEN 553 553 CALL ctl_stop('trd_dwr : failed to release workspace arrays.') 554 554 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRD/trdmld.F90
r2629 r2633 93 93 !! surface and the control surface is called "mixed-layer" 94 94 !!---------------------------------------------------------------------- 95 USE wrk_nemo, ONLY: wrk_ use, wrk_release95 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 96 96 USE wrk_nemo, ONLY: zvlmsk => wrk_2d_1 97 97 ! … … 104 104 !!---------------------------------------------------------------------- 105 105 106 IF( .NOT. wrk_use(2, 1) ) THEN106 IF(wrk_in_use(2, 1) ) THEN 107 107 CALL ctl_stop('trd_mld_zint : requested workspace arrays unavailable') ; RETURN 108 108 ENDIF … … 195 195 END SELECT 196 196 ! 197 IF( .NOT. wrk_release(2, 1) ) CALL ctl_stop('trd_mld_zint : failed to release workspace arrays')197 IF(wrk_not_released(2, 1) ) CALL ctl_stop('trd_mld_zint : failed to release workspace arrays') 198 198 ! 199 199 END SUBROUTINE trd_mld_zint … … 247 247 !! - See NEMO documentation (in preparation) 248 248 !!---------------------------------------------------------------------- 249 USE wrk_nemo, ONLY: wrk_ use, wrk_release249 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 250 250 USE wrk_nemo, ONLY: ztmltot => wrk_2d_1, zsmltot => wrk_2d_2 ! dT/dt over the anlysis window (including Asselin) 251 251 USE wrk_nemo, ONLY: ztmlres => wrk_2d_3, zsmlres => wrk_2d_4 ! residual = dh/dt entrainment term … … 269 269 270 270 ! Check that the workspace arrays are all OK to be used 271 IF( .NOT. wrk_use(2, 1,2,3,4,5,6,7,8,9,10,11,12,13,14) .OR. &272 .NOT. wrk_use(3, 1,2) ) THEN271 IF( wrk_in_use(2, 1,2,3,4,5,6,7,8,9,10,11,12,13,14) .OR. & 272 wrk_in_use(3, 1,2) ) THEN 273 273 CALL ctl_stop('trd_mld : requested workspace arrays unavailable') ; RETURN 274 274 ELSE IF(jpltrd > jpk) THEN … … 740 740 IF( lrst_oce ) CALL trd_mld_rst_write( kt ) 741 741 742 IF( .NOT. wrk_release(2, 1,2,3,4,5,6,7,8,9,10,11,12,13,14) .OR. &743 .NOT. wrk_release(3, 1,2) ) &742 IF( wrk_not_released(2, 1,2,3,4,5,6,7,8,9,10,11,12,13,14) .OR. & 743 wrk_not_released(3, 1,2) ) & 744 744 CALL ctl_stop('trd_mld : failed to release workspace arrays.') 745 745 ! -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRD/trdmod.F90
r2629 r2633 51 51 !! integral constraints 52 52 !!---------------------------------------------------------------------- 53 USE wrk_nemo, ONLY: wrk_ use, wrk_release53 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 54 54 USE wrk_nemo, ONLY: ztswu => wrk_2d_1, & 55 55 ztswv => wrk_2d_2, & … … 68 68 !!---------------------------------------------------------------------- 69 69 70 IF( .not. wrk_use(2, 1,2,3,4,5,6))THEN70 IF(wrk_in_use(2, 1,2,3,4,5,6))THEN 71 71 CALL ctl_warn('trd_mod: Requested workspace arrays already in use.') ; RETURN 72 72 END IF … … 226 226 ENDIF 227 227 ! 228 IF( .not. wrk_release(2, 1,2,3,4,5,6) ) CALL ctl_warn('trd_mod: Failed to release workspace arrays.')228 IF( wrk_not_released(2, 1,2,3,4,5,6) ) CALL ctl_warn('trd_mod: Failed to release workspace arrays.') 229 229 ! 230 230 END SUBROUTINE trd_mod -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRD/trdtra.F90
r2629 r2633 60 60 !! nn_ctls > 1 : use fixed level surface jk = nn_ctls 61 61 !!---------------------------------------------------------------------- 62 USE wrk_nemo, ONLY: wrk_ use, wrk_release62 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 63 63 USE wrk_nemo, ONLY: ztrds => wrk_3d_1 64 64 INTEGER , INTENT(in) :: kt ! time step … … 71 71 !!---------------------------------------------------------------------- 72 72 73 IF( .NOT. wrk_use(3, 1) ) THEN73 IF(wrk_in_use(3, 1) ) THEN 74 74 CALL ctl_stop('trd_tra: requested workspace array unavailable.') ; RETURN 75 75 ENDIF … … 136 136 ENDIF 137 137 ! 138 IF( .NOT. wrk_release(3, 1) ) CALL ctl_stop('trd_tra: failed to release workspace array.')138 IF(wrk_not_released(3, 1) ) CALL ctl_stop('trd_tra: failed to release workspace array.') 139 139 ! 140 140 END SUBROUTINE trd_tra -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/TRD/trdvor.F90
r2629 r2633 108 108 !! trends output in netCDF format using ioipsl 109 109 !!---------------------------------------------------------------------- 110 USE wrk_nemo, ONLY: wrk_ use, wrk_release110 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 111 111 USE wrk_nemo, ONLY: zudpvor => wrk_2d_1, & ! total cmulative trends 112 112 zvdpvor => wrk_2d_2 … … 120 120 !!---------------------------------------------------------------------- 121 121 122 IF( .NOT. wrk_use(2, 1,2))THEN122 IF(wrk_in_use(2, 1,2))THEN 123 123 CALL ctl_stop('trd_vor_zint_2d : requested workspace arrays unavailable.') 124 124 RETURN … … 172 172 ENDIF 173 173 ! 174 IF( .NOT. wrk_release(2, 1,2))THEN174 IF(wrk_not_released(2, 1,2))THEN 175 175 CALL ctl_stop('trd_vor_zint_2d : failed to release workspace arrays.') 176 176 END IF … … 206 206 !! trends output in netCDF format using ioipsl 207 207 !!---------------------------------------------------------------------- 208 USE wrk_nemo, ONLY: wrk_ use, wrk_release208 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 209 209 USE wrk_nemo, ONLY: zubet => wrk_2d_1, zvbet => wrk_2d_2 ! Beta.V 210 210 USE wrk_nemo, ONLY: zudpvor => wrk_2d_3, zvdpvor => wrk_2d_4 ! total cmulative trends … … 217 217 !!---------------------------------------------------------------------- 218 218 219 IF( .NOT. wrk_use(2, 1,2,3,4))THEN219 IF(wrk_in_use(2, 1,2,3,4))THEN 220 220 CALL ctl_stop('trd_vor_zint_3d : requested workspace arrays unavailable.') 221 221 RETURN … … 284 284 ENDIF 285 285 ! 286 IF( .NOT. wrk_release(2, 1,2,3,4))THEN286 IF(wrk_not_released(2, 1,2,3,4))THEN 287 287 CALL ctl_stop('trd_vor_zint_3d : failed to release workspace arrays.') 288 288 END IF … … 298 298 !! and make outputs (NetCDF or DIMG format) 299 299 !!---------------------------------------------------------------------- 300 USE wrk_nemo, ONLY: wrk_ use, wrk_release300 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 301 301 USE wrk_nemo, ONLY: zun => wrk_2d_1, zvn => wrk_2d_2 ! 2D workspace 302 302 !! … … 308 308 !!---------------------------------------------------------------------- 309 309 310 IF( .NOT. wrk_use(2, 1,2))THEN310 IF(wrk_in_use(2, 1,2))THEN 311 311 CALL ctl_stop('trd_vor : requested workspace arrays unavailable.') 312 312 RETURN … … 478 478 IF( kt == nitend ) CALL histclo( nidvor ) 479 479 ! 480 IF( .NOT. wrk_release(2, 1,2) ) CALL ctl_stop('trd_vor : failed to release workspace arrays')480 IF(wrk_not_released(2, 1,2) ) CALL ctl_stop('trd_vor : failed to release workspace arrays') 481 481 ! 482 482 END SUBROUTINE trd_vor -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfddm.F90
r2616 r2633 89 89 !! References : Merryfield et al., JPO, 29, 1124-1142, 1999. 90 90 !!---------------------------------------------------------------------- 91 USE wrk_nemo, ONLY: wrk_ use, wrk_release91 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 92 92 USE wrk_nemo, ONLY: zmsks => wrk_2d_1, & 93 93 zmskf => wrk_2d_2, & … … 104 104 !!---------------------------------------------------------------------- 105 105 106 IF( .NOT. wrk_use(2, 1,2,3,4,5) ) THEN106 IF( wrk_in_use(2, 1,2,3,4,5) ) THEN 107 107 CALL ctl_stop('zdf_ddm: Requested workspace arrays already in use.') ; RETURN 108 108 END IF … … 198 198 ENDIF 199 199 ! 200 IF( .NOT. wrk_release(2, 1,2,3,4,5) ) CALL ctl_stop('zdf_ddm: Release of workspace arrays failed')200 IF( wrk_not_released(2, 1,2,3,4,5) ) CALL ctl_stop('zdf_ddm: Release of workspace arrays failed') 201 201 ! 202 202 END SUBROUTINE zdf_ddm -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90
r2616 r2633 134 134 USE oce, z_elem_c => ta ! use ta as workspace 135 135 USE oce, psi => sa ! use sa as workspace 136 USE wrk_nemo, ONLY: wrk_ use, wrk_release136 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 137 137 USE wrk_nemo, ONLY: zdep => wrk_2d_1 138 138 USE wrk_nemo, ONLY: zflxs => wrk_2d_2 ! Turbulence fluxed induced by internal waves … … 153 153 !!-------------------------------------------------------------------- 154 154 155 IF( .NOT. wrk_use(2, 1,2,3) .OR. .NOT. wrk_use(3, 1,2,3,4,5) ) THEN155 IF( wrk_in_use(2, 1,2,3) .OR. wrk_in_use(3, 1,2,3,4,5) ) THEN 156 156 CALL ctl_stop('zdf_gls: requested workspace arrays unavailable.') ; RETURN 157 157 END IF … … 882 882 ENDIF 883 883 ! 884 IF( .NOT. wrk_release(2, 1,2,3) .OR. &885 .NOT. wrk_release(3, 1,2,3,4,5) ) CALL ctl_stop('zdf_gls: failed to release workspace arrays')884 IF( wrk_not_released(2, 1,2,3) .OR. & 885 wrk_not_released(3, 1,2,3,4,5) ) CALL ctl_stop('zdf_gls: failed to release workspace arrays') 886 886 ! 887 887 END SUBROUTINE zdf_gls -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfkpp.F90
r2618 r2633 214 214 USE oce , zdiffut => ta ! temp. array for diffusivities use sa as workspace 215 215 #endif 216 USE wrk_nemo, ONLY: wrk_ use, wrk_release, wrk_use_xz, wrk_release_xz216 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released, wrk_in_use_xz, wrk_not_released_xz 217 217 USE wrk_nemo, ONLY: zBo => wrk_2d_1, & ! Surface buoyancy forcing, 218 218 zBosol => wrk_2d_2, & ! friction velocity … … 274 274 !!-------------------------------------------------------------------- 275 275 276 IF( .NOT. wrk_use(1, 1,2,3,4,5,6,7,8,9,10,11,12,13,14) .OR. &277 .NOT. wrk_use(2, 1,2,3,4,5,6,7,8,9,10,11) .OR. &278 .NOT. wrk_use_xz(1,2,3) ) THEN276 IF( wrk_in_use(1, 1,2,3,4,5,6,7,8,9,10,11,12,13,14) .OR. & 277 wrk_in_use(2, 1,2,3,4,5,6,7,8,9,10,11) .OR. & 278 wrk_in_use_xz(1,2,3) ) THEN 279 279 CALL ctl_stop('zdf_kpp : requested workspace arrays unavailable.') ; RETURN 280 280 END IF … … 1234 1234 ENDIF 1235 1235 1236 IF( .NOT. wrk_release(1, 1,2,3,4,5,6,7,8,9,10,11,12,13,14) .OR. &1237 .NOT. wrk_release(2, 1,2,3,4,5,6,7,8,9,10,11) .OR. &1238 .NOT. wrk_release_xz(1,2,3) ) CALL ctl_stop('zdf_kpp : failed to release workspace arrays.')1236 IF( wrk_not_released(1, 1,2,3,4,5,6,7,8,9,10,11,12,13,14) .OR. & 1237 wrk_not_released(2, 1,2,3,4,5,6,7,8,9,10,11) .OR. & 1238 wrk_not_released_xz(1,2,3) ) CALL ctl_stop('zdf_kpp : failed to release workspace arrays.') 1239 1239 ! 1240 1240 END SUBROUTINE zdf_kpp -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfmxl.F90
r2616 r2633 63 63 !! ** Action : nmln, hmld, hmlp, hmlpt 64 64 !!---------------------------------------------------------------------- 65 USE wrk_nemo, ONLY: iwrk_ use, iwrk_release65 USE wrk_nemo, ONLY: iwrk_in_use, iwrk_not_released 66 66 USE wrk_nemo, ONLY: imld => iwrk_2d_1 ! 2D workspace 67 67 !! … … 74 74 !!---------------------------------------------------------------------- 75 75 76 IF( .NOT. iwrk_use(2,1) )THEN76 IF( iwrk_in_use(2,1) )THEN 77 77 CALL ctl_stop('zdf_mxl : requested workspace array unavailable.') ; RETURN 78 78 END IF … … 112 112 IF(ln_ctl) CALL prt_ctl( tab2d_1=REAL(nmln,wp), clinfo1=' nmln : ', tab2d_2=hmlp, clinfo2=' hmlp : ', ovlap=1 ) 113 113 ! 114 IF( .NOT. iwrk_release(2,1) ) CALL ctl_stop('zdf_mxl : failed to release workspace array')114 IF( iwrk_not_released(2,1) ) CALL ctl_stop('zdf_mxl : failed to release workspace array') 115 115 ! 116 116 END SUBROUTINE zdf_mxl -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfric.F90
r2623 r2633 88 88 !! References : Pacanowski & Philander 1981, JPO, 1441-1451. 89 89 !!---------------------------------------------------------------------- 90 USE wrk_nemo, ONLY: wrk_ use, wrk_release90 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 91 91 USE wrk_nemo, ONLY: zwx => wrk_2d_1 92 92 !! … … 97 97 !!---------------------------------------------------------------------- 98 98 99 IF( .NOT. wrk_use(2, 1) ) THEN99 IF(wrk_in_use(2, 1) ) THEN 100 100 CALL ctl_stop('zdf_ric : requested workspace array unavailable') ; RETURN 101 101 END IF … … 150 150 CALL lbc_lnk( avmu, 'U', 1. ) ; CALL lbc_lnk( avmv, 'V', 1. ) 151 151 ! 152 IF( .NOT. wrk_release(2, 1) ) CALL ctl_stop('zdf_ric : failed to release workspace array')152 IF(wrk_not_released(2, 1) ) CALL ctl_stop('zdf_ric : failed to release workspace array') 153 153 ! 154 154 END SUBROUTINE zdf_ric -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90
r2616 r2633 192 192 USE oce, zd_up => va ! use va as workspace 193 193 USE oce, zd_lw => ta ! use ta as workspace 194 USE wrk_nemo, ONLY: wrk_ use, wrk_release, iwrk_use, iwrk_release194 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released, iwrk_in_use, iwrk_not_released 195 195 USE wrk_nemo, ONLY: imlc => iwrk_2d_1 ! 2D INTEGER workspace 196 196 USE wrk_nemo, ONLY: zhlc => wrk_2d_1 ! 2D REAL workspace … … 211 211 !!-------------------------------------------------------------------- 212 212 ! 213 IF( .NOT. iwrk_use(2, 1) .OR. &214 .NOT. wrk_use(2, 1) .OR. &215 .NOT. wrk_use(3, 1) )THEN213 IF( iwrk_in_use(2, 1) .OR. & 214 wrk_in_use(2, 1) .OR. & 215 wrk_in_use(3, 1) )THEN 216 216 CALL ctl_stop('tke_tke : requested workspace arrays unavailable.') ; RETURN 217 217 END IF … … 430 430 CALL lbc_lnk( en, 'W', 1. ) ! Lateral boundary conditions (sign unchanged) 431 431 ! 432 IF( .NOT. iwrk_release(2 ,1) .OR. &433 .NOT. wrk_release(2, 1) .OR. &434 .NOT. wrk_release(3, 1) ) CALL ctl_stop( 'tke_tke : failed to release workspace arrays' )432 IF( iwrk_not_released(2 ,1) .OR. & 433 wrk_not_released(2, 1) .OR. & 434 wrk_not_released(3, 1) ) CALL ctl_stop( 'tke_tke : failed to release workspace arrays' ) 435 435 ! 436 436 END SUBROUTINE tke_tke -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftmx.F90
r2616 r2633 24 24 USE in_out_manager ! I/O manager 25 25 USE iom ! I/O Manager 26 USE wrk_nemo, ONLY: wrk_ use, wrk_release26 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 27 27 28 28 IMPLICIT NONE … … 111 111 !!---------------------------------------------------------------------- 112 112 113 IF( .NOT. wrk_use(2, 1))THEN113 IF(wrk_in_use(2, 1))THEN 114 114 CALL ctl_stop('zdf_tmx : requested workspace array unavailable.') ; RETURN 115 115 END IF … … 175 175 IF(ln_ctl) CALL prt_ctl(tab3d_1=zav_tide , clinfo1=' tmx - av_tide: ', tab3d_2=avt, clinfo2=' avt: ', ovlap=1, kdim=jpk) 176 176 ! 177 IF( .NOT. wrk_release(2, 1))THEN177 IF(wrk_not_released(2, 1))THEN 178 178 CALL ctl_stop('zdf_tmx : failed to release workspace array.') 179 179 END IF … … 215 215 !!---------------------------------------------------------------------- 216 216 ! 217 IF( (.NOT. wrk_use(2, 2,3,4,5)) .OR. (.NOT. wrk_use(3, 1,2,3,4,5)) )THEN217 IF( wrk_in_use(2, 2,3,4,5) .OR. wrk_in_use(3, 1,2,3,4,5) )THEN 218 218 CALL ctl_stop('tmx_itf : requested workspace arrays unavailable.') 219 219 RETURN … … 303 303 END DO 304 304 ! 305 IF( (.NOT. wrk_release(2, 2,3,4,5)) .OR. &306 (.NOT. wrk_release(3, 1,2,3,4,5)) )THEN305 IF( wrk_not_released(2, 2,3,4,5) .OR. & 306 wrk_not_released(3, 1,2,3,4,5) )THEN 307 307 CALL ctl_stop('tmx_itf : failed to release workspace arrays.') 308 308 END IF … … 361 361 !!---------------------------------------------------------------------- 362 362 363 IF( .NOT. wrk_use(2, 1,2,3,4,5) .OR. .NOT. wrk_use(3, 1) ) THEN363 IF( wrk_in_use(2, 1,2,3,4,5) .OR. wrk_in_use(3, 1) ) THEN 364 364 CALL ctl_stop('zdf_tmx_init : requested workspace arrays unavailable.') ; RETURN 365 365 END IF … … 525 525 ENDIF 526 526 ! 527 IF( .NOT. wrk_release(2, 1,2,3,4,5) .OR. &528 .NOT. wrk_release(3, 1) ) CALL ctl_stop( 'zdf_tmx_init : failed to release workspace arrays' )527 IF(wrk_not_released(2, 1,2,3,4,5) .OR. & 528 wrk_not_released(3, 1) ) CALL ctl_stop( 'zdf_tmx_init : failed to release workspace arrays' ) 529 529 ! 530 530 END SUBROUTINE zdf_tmx_init -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/wrk_nemo.F90
r2632 r2633 13 13 14 14 PUBLIC wrk_alloc ! routine called in nemogcm module (nemo_init routine) 15 PUBLIC wrk_ use, llwrk_use, iwrk_use, wrk_use_xz16 PUBLIC wrk_ release, llwrk_release, iwrk_release, wrk_release_xz15 PUBLIC wrk_in_use, llwrk_in_use, iwrk_in_use, wrk_in_use_xz 16 PUBLIC wrk_not_released, llwrk_not_released, iwrk_not_released, wrk_not_released_xz 17 17 18 18 INTEGER, PARAMETER :: num_1d_wrkspaces = 27 ! No. of 1D workspace arrays ( MAX(jpi*jpj,jpi*jpk,jpj*jpk) ) … … 190 190 191 191 192 FUNCTION wrk_ use( kdim, index1, index2, index3, index4, &193 & index5, index6, index7, index8, index9, &194 & index10, index11, index12, index13, index14, &195 & index15, index16, index17, index18, index19, &196 & index20, index21, index22, index23, index24, &197 & index25, index26, index27)198 !!---------------------------------------------------------------------- 199 !! *** FUNCTION wrk_ use ***192 FUNCTION wrk_in_use( kdim, index1, index2, index3, index4, & 193 & index5, index6, index7, index8, index9, & 194 & index10, index11, index12, index13, index14, & 195 & index15, index16, index17, index18, index19, & 196 & index20, index21, index22, index23, index24, & 197 & index25, index26, index27) 198 !!---------------------------------------------------------------------- 199 !! *** FUNCTION wrk_in_use *** 200 200 !! 201 201 !! ** Purpose : Request a set of KIND(wp) workspaces to use. Returns … … 210 210 INTEGER, OPTIONAL, INTENT(in) :: index21, index22, index23, index24, index25, index26, index27 211 211 ! 212 LOGICAL :: wrk_ use ! Return value212 LOGICAL :: wrk_in_use ! Return value 213 213 INTEGER :: iarg, iptr ! local integer 214 214 !!---------------------------------------------------------------------- 215 215 216 wrk_ use = .TRUE.216 wrk_in_use = .TRUE. 217 217 iptr = index1 218 218 iarg = 1 219 219 220 DO WHILE( wrk_ use .AND. iarg <= max_num_wrkspaces )220 DO WHILE( wrk_in_use .AND. iarg <= max_num_wrkspaces ) 221 221 ! 222 222 IF( kdim == 1 ) THEN 223 223 IF( iptr > num_1d_wrkspaces ) THEN 224 CALL wrk_stop('wrk_ use - more 1D workspace arrays requested than defined in wrk_nemo module')225 wrk_ use = .FALSE.224 CALL wrk_stop('wrk_in_use - more 1D workspace arrays requested than defined in wrk_nemo module') 225 wrk_in_use = .FALSE. 226 226 EXIT 227 227 ELSEIF( in_use_1d(iptr) ) THEN 228 wrk_ use = .FALSE.228 wrk_in_use = .FALSE. 229 229 CALL print_in_use_list(1, REAL_TYPE, in_use_1d) 230 230 ENDIF … … 233 233 ELSEIF( kdim == 2 ) THEN 234 234 IF( iptr > num_2d_wrkspaces ) THEN 235 CALL wrk_stop('wrk_ use - more 2D workspace arrays requested than defined in wrk_nemo module')236 wrk_ use = .FALSE.235 CALL wrk_stop('wrk_in_use - more 2D workspace arrays requested than defined in wrk_nemo module') 236 wrk_in_use = .FALSE. 237 237 EXIT 238 238 ELSEIF( in_use_2d(iptr) ) THEN 239 wrk_ use = .FALSE.239 wrk_in_use = .FALSE. 240 240 CALL print_in_use_list(2, REAL_TYPE, in_use_2d) 241 241 ENDIF … … 244 244 ELSEIF( kdim == 3 ) THEN 245 245 IF( iptr > num_3d_wrkspaces ) THEN 246 CALL wrk_stop( 'wrk_ use - more 3D workspace arrays requested than defined in wrk_nemo module' )247 wrk_ use = .FALSE.246 CALL wrk_stop( 'wrk_in_use - more 3D workspace arrays requested than defined in wrk_nemo module' ) 247 wrk_in_use = .FALSE. 248 248 EXIT 249 249 ELSEIF( in_use_3d(iptr) ) THEN 250 wrk_ use = .FALSE.250 wrk_in_use = .FALSE. 251 251 CALL print_in_use_list(3, REAL_TYPE, in_use_3d) 252 252 ENDIF … … 255 255 ELSEIF( kdim == 4 ) THEN 256 256 IF(iptr > num_4d_wrkspaces)THEN 257 CALL wrk_stop( 'wrk_ use - more 4D workspace arrays requested than defined in wrk_nemo module' )258 wrk_ use = .FALSE.257 CALL wrk_stop( 'wrk_in_use - more 4D workspace arrays requested than defined in wrk_nemo module' ) 258 wrk_in_use = .FALSE. 259 259 EXIT 260 260 ELSEIF( in_use_4d(iptr) ) THEN 261 wrk_ use = .FALSE.261 wrk_in_use = .FALSE. 262 262 CALL print_in_use_list( 4, REAL_TYPE, in_use_4d ) 263 263 ENDIF … … 266 266 ! 267 267 ELSE 268 IF(llwp) WRITE(kumout,*) 'wrk_ use: unsupported value of kdim = ',kdim269 CALL wrk_stop( 'wrk_ use: unrecognised value for number of dimensions' )268 IF(llwp) WRITE(kumout,*) 'wrk_in_use: unsupported value of kdim = ',kdim 269 CALL wrk_stop( 'wrk_in_use: unrecognised value for number of dimensions' ) 270 270 END IF 271 271 … … 280 280 EXIT 281 281 ELSEIF( iarg == -99 ) THEN 282 CALL wrk_stop( 'wrk_ use : caught unexpected argument count - BUG' )282 CALL wrk_stop( 'wrk_in_use : caught unexpected argument count - BUG' ) 283 283 EXIT 284 284 END IF … … 286 286 END DO ! end of DO WHILE() 287 287 ! 288 END FUNCTION wrk_ use289 290 291 FUNCTION llwrk_ use( kdim, index1, index2, index3, index4, &292 & index5, index6, index7, index8, index9)293 !!---------------------------------------------------------------------- 294 !! *** FUNCTION llwrk_ use ***288 END FUNCTION wrk_in_use 289 290 291 FUNCTION llwrk_in_use( kdim, index1, index2, index3, index4, & 292 & index5, index6, index7, index8, index9) 293 !!---------------------------------------------------------------------- 294 !! *** FUNCTION llwrk_in_use *** 295 295 !! 296 296 !! ** Purpose : Request a set of LOGICAL workspaces to use. Returns … … 303 303 INTEGER, OPTIONAL, INTENT(in) :: index2, index3, index4, index5, index6, index7, index8, index9 304 304 ! 305 LOGICAL :: llwrk_ use! Return value305 LOGICAL :: llwrk_in_use ! Return value 306 306 INTEGER :: iarg, iptr ! local integers 307 307 !!---------------------------------------------------------------------- 308 308 ! 309 llwrk_ use = .TRUE.309 llwrk_in_use = .TRUE. 310 310 iptr = index1 311 311 iarg = 1 312 312 ! 313 DO WHILE( llwrk_ use .AND. iarg <= max_num_wrkspaces )313 DO WHILE( llwrk_in_use .AND. iarg <= max_num_wrkspaces ) 314 314 ! 315 315 IF( kdim == 2 ) THEN 316 316 IF(iptr > num_2d_lwrkspaces)THEN 317 CALL wrk_stop('llwrk_ use - more 2D workspace arrays requested than defined in wrk_nemo module')318 llwrk_ use = .FALSE.317 CALL wrk_stop('llwrk_in_use - more 2D workspace arrays requested than defined in wrk_nemo module') 318 llwrk_in_use = .FALSE. 319 319 EXIT 320 320 ELSE IF( in_use_2dll(iptr) )THEN 321 llwrk_ use = .FALSE.321 llwrk_in_use = .FALSE. 322 322 CALL print_in_use_list(2, REAL_TYPE, in_use_2d) 323 323 END IF … … 327 327 ! 328 328 IF(iptr > num_3d_lwrkspaces)THEN 329 CALL wrk_stop('llwrk_ use - more 3D workspace arrays requested than defined in wrk_nemo module')330 llwrk_ use = .FALSE.329 CALL wrk_stop('llwrk_in_use - more 3D workspace arrays requested than defined in wrk_nemo module') 330 llwrk_in_use = .FALSE. 331 331 EXIT 332 332 ELSE IF( in_use_3dll(iptr) )THEN 333 llwrk_ use = .FALSE.333 llwrk_in_use = .FALSE. 334 334 CALL print_in_use_list(3, REAL_TYPE, in_use_3d) 335 335 END IF … … 337 337 in_use_3dll(iptr) = .TRUE. 338 338 ELSE 339 IF(llwp) WRITE(kumout,*) 'llwrk_ use: unsupported value of kdim = ',kdim340 CALL wrk_stop('llwrk_ use: unrecognised value for number of dimensions')339 IF(llwp) WRITE(kumout,*) 'llwrk_in_use: unsupported value of kdim = ',kdim 340 CALL wrk_stop('llwrk_in_use: unrecognised value for number of dimensions') 341 341 END IF 342 342 … … 347 347 EXIT 348 348 ELSEIF( iarg == -99 ) THEN 349 CALL wrk_stop( 'llwrk_ use - ERROR, caught unexpected argument count - BUG' )350 EXIT 351 ENDIF 352 ! 353 END DO ! while(llwrk_ use .AND. iarg <= max_num_wrkspaces)354 ! 355 END FUNCTION llwrk_ use356 357 358 FUNCTION iwrk_ use( kdim, index1, index2, index3, index4, &359 & index5, index6, index7 )360 !!---------------------------------------------------------------------- 361 !! *** FUNCTION iwrk_ use ***349 CALL wrk_stop( 'llwrk_in_use - ERROR, caught unexpected argument count - BUG' ) 350 EXIT 351 ENDIF 352 ! 353 END DO ! while(llwrk_in_use .AND. iarg <= max_num_wrkspaces) 354 ! 355 END FUNCTION llwrk_in_use 356 357 358 FUNCTION iwrk_in_use( kdim, index1, index2, index3, index4, & 359 & index5, index6, index7 ) 360 !!---------------------------------------------------------------------- 361 !! *** FUNCTION iwrk_in_use *** 362 362 !! 363 363 !! ** Purpose : Request a set of INTEGER workspaces to use. Returns … … 370 370 INTEGER, OPTIONAL, INTENT(in) :: index2, index3, index4, index5, index6, index7 371 371 ! 372 LOGICAL :: iwrk_ use ! Return value372 LOGICAL :: iwrk_in_use ! Return value 373 373 INTEGER :: iarg, iptr 374 374 !!---------------------------------------------------------------------- 375 375 376 iwrk_ use = .TRUE.376 iwrk_in_use = .TRUE. 377 377 iptr = index1 378 378 iarg = 1 379 379 380 DO WHILE( iwrk_ use .AND. iarg <= max_num_wrkspaces )380 DO WHILE( iwrk_in_use .AND. iarg <= max_num_wrkspaces ) 381 381 ! 382 382 IF( kdim == 2 ) THEN 383 383 IF( iptr > num_2d_wrkspaces ) THEN 384 CALL wrk_stop( 'wrk_ use - more 2D workspace arrays requested than defined in wrk_nemo module' )385 iwrk_ use = .FALSE.384 CALL wrk_stop( 'wrk_in_use - more 2D workspace arrays requested than defined in wrk_nemo module' ) 385 iwrk_in_use = .FALSE. 386 386 ELSEIF( in_use_2di(iptr) ) THEN 387 iwrk_ use = .FALSE.387 iwrk_in_use = .FALSE. 388 388 CALL print_in_use_list( 2, INTEGER_TYPE, in_use_2di ) 389 389 END IF … … 391 391 ! 392 392 ELSE 393 IF(llwp) WRITE(kumout,*) 'iwrk_ use: unsupported value of kdim = ',kdim394 CALL wrk_stop('iwrk_ use: unsupported value for number of dimensions')393 IF(llwp) WRITE(kumout,*) 'iwrk_in_use: unsupported value of kdim = ',kdim 394 CALL wrk_stop('iwrk_in_use: unsupported value for number of dimensions') 395 395 END IF 396 396 … … 424 424 EXIT 425 425 CASE DEFAULT 426 CALL wrk_stop( 'iwrk_ use : caught unexpected argument count - BUG' )426 CALL wrk_stop( 'iwrk_in_use : caught unexpected argument count - BUG' ) 427 427 EXIT 428 428 END SELECT … … 430 430 END DO ! end of DO WHILE() 431 431 ! 432 END FUNCTION iwrk_ use433 434 435 FUNCTION wrk_ use_xz( index1, index2, index3, index4, &436 & index5, index6, index7, index8, index9 )437 !!---------------------------------------------------------------------- 438 !! *** FUNCTION wrk_ use_xz ***432 END FUNCTION iwrk_in_use 433 434 435 FUNCTION wrk_in_use_xz( index1, index2, index3, index4, & 436 & index5, index6, index7, index8, index9 ) 437 !!---------------------------------------------------------------------- 438 !! *** FUNCTION wrk_in_use_xz *** 439 439 !! 440 440 !! ** Purpose : Request a set of 2D, xz (jpi,jpk) workspaces to use. … … 447 447 INTEGER, OPTIONAL, INTENT(in) :: index2, index3, index4, index5, index6, index7, index8, index9 448 448 ! Local variables 449 LOGICAL :: wrk_ use_xz ! Return value450 INTEGER :: iarg, iptr ! local integer451 !!---------------------------------------------------------------------- 452 453 wrk_ use_xz = .TRUE.449 LOGICAL :: wrk_in_use_xz ! Return value 450 INTEGER :: iarg, iptr ! local integer 451 !!---------------------------------------------------------------------- 452 453 wrk_in_use_xz = .TRUE. 454 454 iptr = index1 455 455 iarg = 1 456 456 457 DO WHILE( wrk_ use_xz .AND. iarg <= max_num_wrkspaces )457 DO WHILE( wrk_in_use_xz .AND. iarg <= max_num_wrkspaces ) 458 458 ! 459 459 IF(iptr > num_xz_wrkspaces)THEN 460 CALL wrk_stop('wrk_ use_xz - more 2D xz workspace arrays requested than defined in wrk_nemo module')461 wrk_ use_xz = .FALSE.460 CALL wrk_stop('wrk_in_use_xz - more 2D xz workspace arrays requested than defined in wrk_nemo module') 461 wrk_in_use_xz = .FALSE. 462 462 EXIT 463 463 ELSE IF( in_use_xz(iptr) )THEN 464 wrk_ use_xz = .FALSE.464 wrk_in_use_xz = .FALSE. 465 465 CALL print_in_use_list(2, REAL_TYPE, in_use_xz) !ARPDBG - bug 466 466 END IF … … 474 474 EXIT 475 475 ELSEIF( iarg == -99 ) THEN 476 CALL wrk_stop( 'wrk_ use_xz : caught unexpected argument count - BUG' ) ; EXIT476 CALL wrk_stop( 'wrk_in_use_xz : caught unexpected argument count - BUG' ) ; EXIT 477 477 END IF 478 478 ! 479 END DO ! while(wrk_ use_xz .AND. iarg <= max_num_wrkspaces)480 ! 481 END FUNCTION wrk_ use_xz482 483 484 FUNCTION wrk_ release( kdim, index1, index2, index3, index4, &485 & index5, index6, index7, index8, index9, &486 & index10, index11, index12, index13, index14, &487 & index15, index16, index17, index18, index19, &488 & index20, index21, index22, index23, index24, &489 & index25, index26, index27)490 !!---------------------------------------------------------------------- 491 !! *** FUNCTION wrk_ release***479 END DO ! while(wrk_in_use_xz .AND. iarg <= max_num_wrkspaces) 480 ! 481 END FUNCTION wrk_in_use_xz 482 483 484 FUNCTION wrk_not_released( kdim, index1, index2, index3, index4, & 485 & index5, index6, index7, index8, index9, & 486 & index10, index11, index12, index13, index14, & 487 & index15, index16, index17, index18, index19, & 488 & index20, index21, index22, index23, index24, & 489 & index25, index26, index27) 490 !!---------------------------------------------------------------------- 491 !! *** FUNCTION wrk_not_released *** 492 492 !! 493 493 !! ** Purpose : Flag that the specified workspace arrays are no-longer in use. 494 494 !!---------------------------------------------------------------------- 495 LOGICAL :: wrk_ release! Return value495 LOGICAL :: wrk_not_released ! Return value 496 496 INTEGER, INTENT(in) :: kdim ! Dimensionality of workspace(s) 497 497 INTEGER, INTENT(in) :: index1 ! Index of 1st workspace to release … … 503 503 !!---------------------------------------------------------------------- 504 504 505 wrk_ release= .TRUE.505 wrk_not_released = .TRUE. 506 506 iptr = index1 507 507 iarg = 1 … … 511 511 IF( kdim == 1 ) THEN 512 512 IF( iptr > num_1d_wrkspaces ) THEN 513 CALL wrk_stop( 'wrk_ release: attempt to release a non-existent 1D workspace array' )514 wrk_ release= .FALSE.513 CALL wrk_stop( 'wrk_not_released : attempt to release a non-existent 1D workspace array' ) 514 wrk_not_released = .FALSE. 515 515 ELSE 516 516 in_use_1d(iptr) = .FALSE. … … 519 519 ELSE IF(kdim == 2)THEN 520 520 IF( iptr > num_2d_wrkspaces ) THEN 521 CALL wrk_stop( 'wrk_ release: attempt to release a non-existent 2D workspace array' )522 wrk_ release= .FALSE.521 CALL wrk_stop( 'wrk_not_released : attempt to release a non-existent 2D workspace array' ) 522 wrk_not_released = .FALSE. 523 523 ENDIF 524 524 in_use_2d(iptr) = .FALSE. … … 526 526 ELSEIF( kdim == 3 ) THEN 527 527 IF( iptr > num_3d_wrkspaces ) THEN 528 CALL wrk_stop('wrk_ release: attempt to release a non-existent 3D workspace array')529 wrk_ release= .FALSE.528 CALL wrk_stop('wrk_not_released : attempt to release a non-existent 3D workspace array') 529 wrk_not_released = .FALSE. 530 530 END IF 531 531 in_use_3d(iptr) = .FALSE. … … 533 533 ELSEIF( kdim == 4 ) THEN 534 534 IF(iptr > num_4d_wrkspaces)THEN 535 CALL wrk_stop('wrk_ release- ERROR - attempt to release a non-existent 4D workspace array')536 wrk_ release= .FALSE.535 CALL wrk_stop('wrk_not_released - ERROR - attempt to release a non-existent 4D workspace array') 536 wrk_not_released = .FALSE. 537 537 END IF 538 538 in_use_4d(iptr) = .FALSE. 539 539 ! 540 540 ELSE 541 IF(llwp) WRITE(kumout,*) 'wrk_ release: unsupported value of kdim = ',kdim542 CALL wrk_stop('wrk_ release: unrecognised value for number of dimensions')541 IF(llwp) WRITE(kumout,*) 'wrk_not_released: unsupported value of kdim = ',kdim 542 CALL wrk_stop('wrk_not_released: unrecognised value for number of dimensions') 543 543 ENDIF 544 544 … … 555 555 EXIT 556 556 ELSEIF( iarg == -99 ) THEN 557 CALL wrk_stop('wrk_ release- caught unexpected argument count - BUG') ; EXIT557 CALL wrk_stop('wrk_not_released - caught unexpected argument count - BUG') ; EXIT 558 558 END IF 559 559 ! 560 560 END DO ! end of DO WHILE() 561 561 ! 562 END FUNCTION wrk_ release563 564 565 FUNCTION llwrk_ release( kdim, index1, index2, index3, index4, index5, &566 & index6, index7, index8, index9 )567 !!---------------------------------------------------------------------- 568 !! *** FUNCTION wrk_ release***562 END FUNCTION wrk_not_released 563 564 565 FUNCTION llwrk_not_released( kdim, index1, index2, index3, index4, index5, & 566 & index6, index7, index8, index9 ) 567 !!---------------------------------------------------------------------- 568 !! *** FUNCTION wrk_not_released *** 569 569 !!---------------------------------------------------------------------- 570 570 INTEGER , INTENT(in) :: kdim ! Dimensionality of workspace(s) … … 572 572 INTEGER, OPTIONAL, INTENT(in) :: index2, index3, index4, index5, index6, index7, index8, index9 573 573 ! 574 LOGICAL :: llwrk_ release! Return value575 INTEGER :: iarg, iptr ! local integer576 !!---------------------------------------------------------------------- 577 ! 578 llwrk_ release= .TRUE.574 LOGICAL :: llwrk_not_released ! Return value 575 INTEGER :: iarg, iptr ! local integer 576 !!---------------------------------------------------------------------- 577 ! 578 llwrk_not_released = .TRUE. 579 579 iptr = index1 580 580 iarg = 1 … … 585 585 ! 586 586 IF( iptr > num_2d_lwrkspaces ) THEN 587 CALL wrk_stop( 'llwrk_ release: attempt to release a non-existent 2D workspace array' )588 llwrk_ release= .FALSE.587 CALL wrk_stop( 'llwrk_not_released : attempt to release a non-existent 2D workspace array' ) 588 llwrk_not_released = .FALSE. 589 589 EXIT 590 590 ENDIF … … 593 593 ELSEIF( kdim == 3 ) THEN 594 594 IF( iptr > num_3d_lwrkspaces ) THEN 595 CALL wrk_stop('llwrk_ release: attempt to release a non-existent 3D workspace array')596 llwrk_ release= .FALSE.595 CALL wrk_stop('llwrk_not_released : attempt to release a non-existent 3D workspace array') 596 llwrk_not_released = .FALSE. 597 597 EXIT 598 598 ENDIF … … 600 600 ! 601 601 ELSE 602 IF(llwp) WRITE(kumout,*) 'llwrk_ release: unsupported value of kdim = ', kdim603 CALL wrk_stop( 'llwrk_ release: unrecognised value for number of dimensions' )602 IF(llwp) WRITE(kumout,*) 'llwrk_not_released: unsupported value of kdim = ', kdim 603 CALL wrk_stop( 'llwrk_not_released : unrecognised value for number of dimensions' ) 604 604 END IF 605 605 ! … … 611 611 EXIT 612 612 ELSEIF( iarg == -99 ) THEN 613 CALL wrk_stop( 'llwrk_ release: caught unexpected argument count - BUG' ) ; EXIT613 CALL wrk_stop( 'llwrk_not_released : caught unexpected argument count - BUG' ) ; EXIT 614 614 ENDIF 615 615 ! 616 616 END DO ! while (iarg <= max_num_wrkspaces) 617 617 ! 618 END FUNCTION llwrk_ release619 620 621 FUNCTION iwrk_ release( kdim, index1, index2, index3, index4, &622 & index5, index6, index7 )623 !!---------------------------------------------------------------------- 624 !! *** FUNCTION iwrk_ release***618 END FUNCTION llwrk_not_released 619 620 621 FUNCTION iwrk_not_released( kdim, index1, index2, index3, index4, & 622 & index5, index6, index7 ) 623 !!---------------------------------------------------------------------- 624 !! *** FUNCTION iwrk_not_released *** 625 625 !! 626 626 !! ** Purpose : Flag that the specified INTEGER workspace arrays are … … 631 631 INTEGER, OPTIONAL, INTENT(in) :: index2, index3, index4, index5, index6, index7 632 632 ! 633 LOGICAL :: iwrk_ release! Return value634 INTEGER :: iarg, iptr ! local integer635 !!---------------------------------------------------------------------- 636 ! 637 iwrk_ release= .TRUE.633 LOGICAL :: iwrk_not_released ! Return value 634 INTEGER :: iarg, iptr ! local integer 635 !!---------------------------------------------------------------------- 636 ! 637 iwrk_not_released = .TRUE. 638 638 iptr = index1 639 639 iarg = 1 … … 643 643 IF( kdim == 2 ) THEN 644 644 IF( iptr > num_2d_iwrkspaces ) THEN 645 CALL wrk_stop('iwrk_ release: attempt to release a non-existant 2D workspace array')646 iwrk_ release= .FALSE.645 CALL wrk_stop('iwrk_not_released : attempt to release a non-existant 2D workspace array') 646 iwrk_not_released = .FALSE. 647 647 ENDIF 648 648 in_use_2di(iptr) = .FALSE. 649 649 ELSE 650 IF(llwp) WRITE(kumout,*) 'iwrk_ release: unsupported value of kdim = ',kdim651 CALL wrk_stop('iwrk_ release: unsupported value for number of dimensions')650 IF(llwp) WRITE(kumout,*) 'iwrk_not_released: unsupported value of kdim = ',kdim 651 CALL wrk_stop('iwrk_not_released: unsupported value for number of dimensions') 652 652 ENDIF 653 653 ! … … 681 681 EXIT 682 682 CASE DEFAULT 683 CALL wrk_stop( 'iwrk_ release: caught unexpected argument count - BUG' )683 CALL wrk_stop( 'iwrk_not_released : caught unexpected argument count - BUG' ) 684 684 EXIT 685 685 END SELECT … … 687 687 END DO ! end of DO WHILE() 688 688 ! 689 END FUNCTION iwrk_ release690 691 692 FUNCTION wrk_ release_xz( index1, index2, index3, index4, index5, &693 & index6, index7, index8, index9 )694 !!---------------------------------------------------------------------- 695 !! *** FUNCTION wrk_ release_xz ***689 END FUNCTION iwrk_not_released 690 691 692 FUNCTION wrk_not_released_xz( index1, index2, index3, index4, index5, & 693 & index6, index7, index8, index9 ) 694 !!---------------------------------------------------------------------- 695 !! *** FUNCTION wrk_not_released_xz *** 696 696 !! 697 697 !!---------------------------------------------------------------------- … … 699 699 INTEGER, OPTIONAL, INTENT(in) :: index2, index3, index4, index5, index6, index7, index8, index9 700 700 ! 701 LOGICAL :: wrk_ release_xz ! Return value702 INTEGER :: iarg, iptr ! local integer703 !!---------------------------------------------------------------------- 704 ! 705 wrk_ release_xz = .TRUE.701 LOGICAL :: wrk_not_released_xz ! Return value 702 INTEGER :: iarg, iptr ! local integer 703 !!---------------------------------------------------------------------- 704 ! 705 wrk_not_released_xz = .TRUE. 706 706 iptr = index1 707 707 iarg = 1 … … 710 710 ! 711 711 IF( iptr > num_xz_wrkspaces ) THEN 712 CALL wrk_stop('wrk_ release_xz : attempt to release a non-existant 2D xz workspace array')713 wrk_ release_xz = .FALSE.712 CALL wrk_stop('wrk_not_released_xz : attempt to release a non-existant 2D xz workspace array') 713 wrk_not_released_xz = .FALSE. 714 714 EXIT 715 715 ENDIF … … 723 723 EXIT 724 724 ELSEIF( iarg == -99 ) THEN 725 CALL wrk_stop('wrk_ release_xz : caught unexpected argument count - BUG')725 CALL wrk_stop('wrk_not_released_xz : caught unexpected argument count - BUG') 726 726 EXIT 727 727 END IF … … 729 729 END DO ! while (iarg <= max_num_wrkspaces) 730 730 ! 731 END FUNCTION wrk_ release_xz731 END FUNCTION wrk_not_released_xz 732 732 733 733 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/C14b/trcsms_c14b.F90
r2630 r2633 114 114 !! 115 115 !!---------------------------------------------------------------------- 116 USE wrk_nemo, ONLY: wrk_ use, wrk_release116 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 117 117 USE wrk_nemo, ONLY: zatmbc14 => wrk_2d_1 118 118 USE wrk_nemo, ONLY: zw3d => wrk_3d_1 … … 146 146 !!---------------------------------------------------------------------- 147 147 148 IF( (.NOT. wrk_use(2, 1)) .OR. (.NOT. wrk_use(3, 1)) )THEN148 IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 1) )THEN 149 149 CALL ctl_stop('trc_sms_c14b : requested workspace arrays unavailable.') 150 150 RETURN … … 331 331 END IF 332 332 333 IF( (.NOT. wrk_release(2, 1)) .OR. (.NOT. wrk_release(3, 1)) )THEN333 IF( wrk_not_released(2, 1) .OR. wrk_not_released(3, 1) )THEN 334 334 CALL ctl_stop('trc_sms_c14b : failed to release workspace arrays.') 335 335 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/CFC/trcsms_cfc.F90
r2614 r2633 95 95 !! CFC concentration in pico-mol/m3 96 96 !!---------------------------------------------------------------------- 97 USE wrk_nemo, ONLY: wrk_ use, wrk_release97 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 98 98 USE wrk_nemo, ONLY: ztrcfc => wrk_3d_1 ! use for CFC sms trend 99 99 !! … … 115 115 !!---------------------------------------------------------------------- 116 116 117 IF( .NOT. wrk_use(3, 1))THEN117 IF(wrk_in_use(3, 1))THEN 118 118 CALL ctl_stop('trc_sms_cfc : requested workspace array unavailable.') 119 119 RETURN … … 218 218 END IF 219 219 220 IF( .NOT. wrk_release(3, 1))THEN220 IF(wrk_not_released(3, 1))THEN 221 221 CALL ctl_stop('trc_sms_cfc : failed to release workspace array.') 222 222 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcbio.F90
r2609 r2633 60 60 !! for passive tracers are saved for futher diagnostics. 61 61 !!--------------------------------------------------------------------- 62 USE wrk_nemo, ONLY: wrk_ use, wrk_release62 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 63 63 USE wrk_nemo, ONLY: wrk_3d_2, wrk_4d_1 64 64 !! … … 86 86 87 87 #if defined key_diatrc && defined key_iomput 88 IF( (.NOT. wrk_use(3, 2)) .OR. (.NOT. wrk_use(4, 1)) )THEN88 IF( wrk_in_use(3, 2) .OR. wrk_in_use(4, 1) )THEN 89 89 CALL ctl_stop('trc_bio : requested workspace arrays unavailable.') 90 90 RETURN … … 500 500 ! 501 501 #if defined key_diatrc && defined key_iomput 502 IF( (.NOT. wrk_release(3, 2)) .OR. (.NOT. wrk_release(4, 1)) )THEN502 IF( wrk_not_released(3, 2) .OR. wrk_not_released(4, 1) )THEN 503 503 CALL ctl_stop('trc_bio : failed to release workspace arrays.') 504 504 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcini_lobster.F90
r2609 r2633 43 43 !! ** purpose : specific initialisation for LOBSTER bio-model 44 44 !!---------------------------------------------------------------------- 45 USE wrk_nemo, ONLY: wrk_ use, wrk_release45 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 46 46 USE wrk_nemo, ONLY: zrro => wrk_2d_1, zdm0 => wrk_3d_1 47 47 !! … … 50 50 !!---------------------------------------------------------------------- 51 51 52 IF( (.NOT. wrk_use(2, 1)) .OR. (.NOT. wrk_use(3, 1)) )THEN52 IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 1) )THEN 53 53 CALL ctl_stop('trc_ini_lobster : requested workspace arrays unavailable.') 54 54 RETURN … … 259 259 IF(lwp) WRITE(numout,*) ' ' 260 260 261 IF( (.NOT. wrk_release(2, 1)) .OR. (.NOT. wrk_release(3, 1)) )THEN261 IF( wrk_not_released(2, 1) .OR. wrk_not_released(3, 1) )THEN 262 262 CALL ctl_stop('trc_ini_lobster : failed to release workspace arrays.') 263 263 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcopt.F90
r2609 r2633 52 52 !! xze ??? 53 53 !!--------------------------------------------------------------------- 54 USE wrk_nemo, ONLY: wrk_ use, wrk_release54 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 55 55 USE wrk_nemo, ONLY: zpar100 => wrk_2d_1, & ! irradiance at euphotic layer depth 56 56 zpar0m => wrk_2d_2 ! irradiance just below the surface … … 68 68 !!--------------------------------------------------------------------- 69 69 70 IF( ( .NOT. wrk_use(2, 1,2)) .OR. (.NOT. wrk_use(3, 2,3)) )THEN70 IF( (wrk_in_use(2, 1,2)) .OR. (wrk_in_use(3, 2,3)) )THEN 71 71 CALL ctl_stop('trc_opt : requested workspace arrays unavailable.') 72 72 RETURN … … 138 138 ENDIF 139 139 ! 140 IF( ( .NOT. wrk_release(2, 1,2)) .OR. (.NOT. wrk_release(3, 2,3)) )THEN140 IF( (wrk_not_released(2, 1,2)) .OR. (wrk_not_released(3, 2,3)) )THEN 141 141 CALL ctl_stop('trc_opt : failed to release workspace arrays.') 142 142 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcsed.F90
r2609 r2633 56 56 !! trend of passive tracers is saved for futher diagnostics. 57 57 !!--------------------------------------------------------------------- 58 USE wrk_nemo, ONLY: wrk_ use, wrk_release58 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 59 59 USE wrk_nemo, ONLY: zwork => wrk_3d_2 60 60 USE wrk_nemo, ONLY: zw2d => wrk_2d_1 ! only used (if defined … … 69 69 !!--------------------------------------------------------------------- 70 70 71 IF( ( .NOT. wrk_use(3,2)) .OR. (.NOT. wrk_use(2,1)) )THEN71 IF( (wrk_in_use(3,2)) .OR. (wrk_in_use(2,1)) )THEN 72 72 CALL ctl_stop('trc_sed : requested workspace arrays unavailable.') 73 73 RETURN … … 150 150 ENDIF 151 151 152 IF( ( .NOT. wrk_release(3,2)) .OR. (.NOT. wrk_release(2,1)) )THEN152 IF( (wrk_not_released(3,2)) .OR. (wrk_not_released(2,1)) )THEN 153 153 CALL ctl_stop('trc_sed : failed to release workspace arrays.') 154 154 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcsms_lobster.F90
r2609 r2633 46 46 !! ** Method : - ??? 47 47 !! -------------------------------------------------------------------- 48 USE wrk_nemo, ONLY: wrk_ use, wrk_release48 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 49 49 USE wrk_nemo, ONLY: ztrlob => wrk_3d_1 ! used for lobster sms trends 50 50 !! … … 53 53 !! -------------------------------------------------------------------- 54 54 55 IF( .NOT. wrk_use(3,1))THEN55 IF(wrk_in_use(3,1))THEN 56 56 CALL ctl_stop('trc_sms_lobster : requested workspace array unavailable.') 57 57 RETURN … … 72 72 IF( lk_trdmld_trc ) CALL trd_mld_bio( kt ) ! trends: Mixed-layer 73 73 74 IF( .NOT. wrk_release(3,1))THEN74 IF(wrk_not_released(3,1))THEN 75 75 CALL ctl_stop('trc_sms_lobster : failed to release workspace array.') 76 76 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/TRP/trcadv.F90
r2608 r2633 74 74 !! ** Method : - Update the tracer with the advection term following nadv 75 75 !!---------------------------------------------------------------------- 76 USE wrk_nemo, ONLY: wrk_ use, wrk_release76 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 77 77 USE wrk_nemo, ONLY: zun => wrk_3d_1, zvn => wrk_3d_2, & 78 78 zwn => wrk_3d_3 ! effective velocity … … 84 84 !!---------------------------------------------------------------------- 85 85 86 IF( .NOT. wrk_use(3, 1,2,3))THEN86 IF(wrk_in_use(3, 1,2,3))THEN 87 87 CALL ctl_stop('trc_adv : requested workspace arrays unavailable.') 88 88 RETURN … … 150 150 END IF 151 151 ! 152 IF( .NOT. wrk_release(3, 1,2,3))THEN152 IF(wrk_not_released(3, 1,2,3))THEN 153 153 CALL ctl_stop('trc_adv : failed to release workspace arrays.') 154 154 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90
r2608 r2633 60 60 !! 61 61 !!---------------------------------------------------------------------- 62 USE wrk_nemo, ONLY: wrk_ use, wrk_release62 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 63 63 USE wrk_nemo, zemps => wrk_2d_1 64 64 !! * Arguments … … 72 72 !!---------------------------------------------------------------------- 73 73 74 IF( .NOT. wrk_use(2, 1))THEN74 IF(wrk_in_use(2, 1))THEN 75 75 CALL ctl_stop('trc_sbc: requested workspace array unavailable.') 76 76 RETURN … … 126 126 ENDIF 127 127 128 IF( .NOT. wrk_release(2, 1))THEN128 IF(wrk_not_released(2, 1))THEN 129 129 CALL ctl_stop('trc_sbc: failed to release workspace array.') 130 130 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/TRP/trdmld_trc.F90
r2610 r2633 116 116 !! surface and the control surface is called "mixed-layer" 117 117 !!---------------------------------------------------------------------- 118 USE wrk_nemo, ONLY: wrk_ use, wrk_release118 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 119 119 USE wrk_nemo, ONLY: zvlmsk => wrk_2d_1 120 120 !! … … 125 125 !!---------------------------------------------------------------------- 126 126 127 IF( .NOT. wrk_use(2, 1))THEN127 IF(wrk_in_use(2, 1))THEN 128 128 CALL ctl_stop('trd_mld_trc_zint : requested workspace array unavailable.') 129 129 RETURN … … 213 213 END SELECT 214 214 215 IF( .NOT. wrk_release(2, 1))THEN215 IF(wrk_not_released(2, 1))THEN 216 216 CALL ctl_stop('trd_mld_trc_zint : failed to release workspace array.') 217 217 END IF … … 237 237 !! surface and the control surface is called "mixed-layer" 238 238 !!---------------------------------------------------------------------- 239 USE wrk_nemo, ONLY: wrk_ use, wrk_release239 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 240 240 USE wrk_nemo, ONLY: zvlmsk => wrk_2d_1 241 241 !! … … 247 247 !!---------------------------------------------------------------------- 248 248 249 IF( .NOT. wrk_use(2, 1))THEN249 IF(wrk_in_use(2, 1))THEN 250 250 CALL ctl_stop('trd_mld_bio_zint : requested workspace array unavailable.') 251 251 RETURN … … 332 332 END DO 333 333 334 IF( .NOT. wrk_release(2, 1))THEN334 IF(wrk_not_released(2, 1))THEN 335 335 CALL ctl_stop('trd_mld_bio_zint : failed to release workspace array.') 336 336 END IF … … 387 387 !! - See NEMO documentation (in preparation) 388 388 !!---------------------------------------------------------------------- 389 USE wrk_nemo, ONLY: wrk_ use, wrk_release389 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 390 390 USE wrk_nemo, wrk_3d_1, wrk_3d_2, wrk_3d_3, wrk_3d_4, & 391 391 wrk_3d_5, wrk_3d_6, wrk_3d_7, wrk_3d_8, & … … 414 414 !!---------------------------------------------------------------------- 415 415 416 IF( .NOT. wrk_use(3, 1,2,3,4,5,6,7,8,9))THEN416 IF(wrk_in_use(3, 1,2,3,4,5,6,7,8,9))THEN 417 417 CALL ctl_stop('trd_mld_trc : requested workspace arrays unavailable.') 418 418 RETURN … … 916 916 IF( lrst_trc ) CALL trd_mld_trc_rst_write( kt ) ! this must be after the array swap above (III.3) 917 917 918 IF( .NOT. wrk_release(3, 1,2,3,4,5,6,7,8,9))THEN918 IF(wrk_not_released(3, 1,2,3,4,5,6,7,8,9))THEN 919 919 CALL ctl_stop('trd_mld_trc : failed to release workspace arrays.') 920 920 END IF -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/prtctl_trc.F90
r2607 r2633 62 62 !! it must looks like: CALL prt_ctl( mask=tmask ). 63 63 !!---------------------------------------------------------------------- 64 USE wrk_nemo, ONLY: wrk_ use, wrk_release64 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 65 65 USE wrk_nemo, ONLY: zmask => wrk_3d_1, ztab3d => wrk_3d_2 66 66 !! … … 78 78 !!---------------------------------------------------------------------- 79 79 80 IF( .NOT. wrk_use(3, 1,2))THEN80 IF(wrk_in_use(3, 1,2))THEN 81 81 CALL ctl_stop('prt_ctl_trc : requested workspace arrays unavailable.') 82 82 RETURN … … 158 158 END DO 159 159 ! 160 IF( .NOT. wrk_release(3, 1,2))THEN160 IF(wrk_not_released(3, 1,2))THEN 161 161 CALL ctl_stop('prt_ctl_trc : failed to release workspace arrays.') 162 162 END IF
Note: See TracChangeset
for help on using the changeset viewer.