Changeset 3184 for branches/2011/dev_NEMO_MERGE_2011
- Timestamp:
- 2011-11-25T16:42:54+01:00 (12 years ago)
- Location:
- branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/NST_SRC
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/NST_SRC/agrif_opa_interp.F90
r2977 r3184 27 27 USE agrif_opa_sponge 28 28 USE lib_mpp 29 USE wrk_nemo_2 29 30 30 31 IMPLICIT NONE … … 47 48 !! *** ROUTINE Agrif_Tra *** 48 49 !!---------------------------------------------------------------------- 49 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released50 USE wrk_nemo, ONLY: wrk_4d_151 50 !! 52 51 INTEGER :: ji, jj, jk, jn ! dummy loop indices … … 58 57 IF( Agrif_Root() ) RETURN 59 58 60 ztsa => wrk_4d_1 61 IF( wrk_in_use(4, 1) )THEN 62 CALL ctl_stop('agrif_tra: requested workspace arrays unavailable.') 63 RETURN 64 END IF 59 CALL wrk_alloc( jpi, jpj, jpk, jpts, ztsa ) 65 60 66 61 Agrif_SpecialValue = 0.e0 … … 159 154 ENDIF 160 155 ! 161 IF( wrk_not_released(4, 1) ) THEN 162 CALL ctl_stop('agrif_tra: failed to release workspace arrays.') 163 ENDIF 156 CALL wrk_dealloc( jpi, jpj, jpk, jpts, ztsa ) 164 157 ! 165 158 END SUBROUTINE Agrif_tra … … 170 163 !! *** ROUTINE Agrif_DYN *** 171 164 !!---------------------------------------------------------------------- 172 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released173 USE wrk_nemo, ONLY: wrk_2d_4, wrk_2d_5174 USE wrk_nemo, ONLY: wrk_2d_6, wrk_2d_7175 USE wrk_nemo, ONLY: wrk_3d_1, wrk_3d_2176 165 !! 177 166 INTEGER, INTENT(in) :: kt … … 187 176 IF( Agrif_Root() ) RETURN 188 177 189 spgu1 => wrk_2d_4 ; spgv1 => wrk_2d_5 190 zua2d => wrk_2d_6 ; zva2d => wrk_2d_7 191 zua => wrk_3d_1 ; zva => wrk_3d_2 192 IF( wrk_in_use(2, 4,5,6,7) .OR. wrk_in_use(3, 1,2) )THEN 193 CALL ctl_stop('agrif_dyn: requested workspace arrays unavailable.') 194 RETURN 195 END IF 178 CALL wrk_alloc( jpi, jpj, spgv1, spgu1, zua2d, zva2d ) 179 CALL wrk_alloc( jpi, jpj, jpk, zua, zva ) 196 180 197 181 zrhox = Agrif_Rhox() … … 506 490 ENDIF 507 491 ! 508 IF( wrk_not_released(3, 1,2) .OR. wrk_not_released(2, 4,5,6,7)) THEN 509 CALL ctl_stop('agrif_dyn: failed to release workspace arrays.') 510 ENDIF 492 CALL wrk_dealloc( jpi, jpj, spgv1, spgu1, zua2d, zva2d ) 493 CALL wrk_dealloc( jpi, jpj, jpk, zua, zva ) 511 494 ! 512 495 END SUBROUTINE Agrif_dyn -
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/NST_SRC/agrif_opa_sponge.F90
r2977 r3184 8 8 USE in_out_manager 9 9 USE agrif_oce 10 USE wrk_nemo_2 10 11 11 12 IMPLICIT NONE … … 27 28 !!--------------------------------------------- 28 29 #include "domzgr_substitute.h90" 29 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released30 USE wrk_nemo, ONLY: wrk_2d_1, wrk_2d_2, wrk_2d_331 USE wrk_nemo, ONLY: wrk_4d_1, wrk_4d_232 30 !! 33 31 INTEGER :: ji,jj,jk,jn … … 41 39 42 40 #if defined SPONGE 43 localviscsponge => wrk_2d_1 44 ztu => wrk_2d_2 45 ztv => wrk_2d_3 46 ztab => wrk_4d_1 47 tsbdiff => wrk_4d_2 41 CALL wrk_alloc( jpi, jpj, localviscsponge, ztu, ztv ) 42 CALL wrk_alloc( jpi, jpj, jpk, jpts, ztab, tsbdiff ) 48 43 49 44 timecoeff = REAL(Agrif_NbStepint(),wp)/Agrif_rhot() … … 152 147 ENDDO 153 148 149 CALL wrk_dealloc( jpi, jpj, localviscsponge, ztu, ztv ) 150 CALL wrk_dealloc( jpi, jpj, jpk, jpts, ztab, tsbdiff ) 154 151 #endif 155 152 … … 161 158 !!--------------------------------------------- 162 159 #include "domzgr_substitute.h90" 163 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released164 USE wrk_nemo, ONLY: wrk_2d_1165 USE wrk_nemo, ONLY: wrk_3d_1, wrk_3d_2166 USE wrk_nemo, ONLY: wrk_3d_3, wrk_3d_4167 USE wrk_nemo, ONLY: wrk_3d_5168 160 !! 169 161 INTEGER :: ji,jj,jk … … 177 169 178 170 #if defined SPONGE 179 localviscsponge => wrk_2d_1 180 ubdiff => wrk_3d_1 ; vbdiff => wrk_3d_2 181 rotdiff => wrk_3d_3 ; hdivdiff => wrk_3d_4 182 ztab => wrk_3d_5 171 CALL wrk_alloc( jpi, jpj, localviscsponge ) 172 CALL wrk_alloc( jpi, jpj, jpk, ztab, ubdiff, vbdiff, rotdiff, hdivdiff ) 183 173 184 174 timecoeff = REAL(Agrif_NbStepint(),wp)/Agrif_rhot() … … 327 317 END DO ! End of slab 328 318 ! ! =============== 319 CALL wrk_dealloc( jpi, jpj, localviscsponge ) 320 CALL wrk_dealloc( jpi, jpj, jpk, ztab, ubdiff, vbdiff, rotdiff, hdivdiff ) 329 321 330 322 #endif -
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/NST_SRC/agrif_opa_update.F90
r3104 r3184 9 9 USE in_out_manager ! I/O manager 10 10 USE lib_mpp 11 USE wrk_nemo_2 12 11 13 IMPLICIT NONE 12 14 PRIVATE … … 28 30 !! *** ROUTINE Agrif_Update_Tra *** 29 31 !!--------------------------------------------- 30 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released31 USE wrk_nemo, ONLY: wrk_4d_132 32 !! 33 33 INTEGER, INTENT(in) :: kt … … 37 37 IF((Agrif_NbStepint() .NE. (Agrif_irhot()-1)).AND.(kt /= 0)) RETURN 38 38 #if defined TWO_WAY 39 IF( wrk_in_use(4, 1) ) THEN 40 CALL ctl_stop('agrif_update_tra: ERROR: requested workspace arrays unavailable') 41 RETURN 42 END IF 43 ztab => wrk_4d_1 39 CALL wrk_alloc( jpi, jpj, jpk, jpts, ztab ) 44 40 45 41 Agrif_UseSpecialValueInUpdate = .TRUE. … … 54 50 Agrif_UseSpecialValueInUpdate = .FALSE. 55 51 56 IF( wrk_not_released(4, 1) ) THEN 57 CALL ctl_stop('Agrif_Update_Tra: ERROR: failed to release workspace arrays') 58 END IF 52 CALL wrk_dealloc( jpi, jpj, jpk, jpts, ztab ) 59 53 #endif 60 54 … … 65 59 !! *** ROUTINE Agrif_Update_Dyn *** 66 60 !!--------------------------------------------- 67 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released68 USE wrk_nemo, ONLY: wrk_2d_169 USE wrk_nemo, ONLY: wrk_3d_170 61 !! 71 62 INTEGER, INTENT(in) :: kt … … 76 67 IF ((Agrif_NbStepint() .NE. (Agrif_irhot()-1)).AND.(kt /= 0)) Return 77 68 #if defined TWO_WAY 78 ztab => wrk_3d_1 ; ztab2d => wrk_2d_1 79 IF( ( wrk_in_use(2, 1)) .OR. wrk_in_use(3, 1) )THEN 80 CALL ctl_stop('agrif_update_dyn: ERROR: requested workspace arrays unavailable') 81 RETURN 82 END IF 69 CALL wrk_alloc( jpi, jpj, ztab2d ) 70 CALL wrk_alloc( jpi, jpj, jpk, ztab ) 83 71 84 72 IF (mod(nbcline,nbclineupdate) == 0) THEN … … 100 88 Agrif_UseSpecialValueInUpdate = .FALSE. 101 89 102 IF( wrk_not_released(2, 1) .OR. wrk_not_released(3, 1) )THEN 103 CALL ctl_stop('agrif_update_dyn: ERROR: failed to release workspace arrays') 104 END IF 90 CALL wrk_dealloc( jpi, jpj, ztab2d ) 91 CALL wrk_dealloc( jpi, jpj, jpk, ztab ) 105 92 106 93 !Done in step -
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/NST_SRC/agrif_top_interp.F90
r2715 r3184 9 9 USE trc 10 10 USE lib_mpp 11 USE wrk_nemo_2 11 12 12 13 IMPLICIT NONE … … 29 30 !! *** ROUTINE Agrif_trc *** 30 31 !!--------------------------------------------- 31 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released32 USE wrk_nemo, ONLY: wrk_4d_133 32 34 33 INTEGER :: ji,jj,jk,jn … … 40 39 IF (Agrif_Root()) RETURN 41 40 42 IF( wrk_in_use(4, 1) ) THEN 43 CALL ctl_stop('Agrif_trc : requested workspace arrays unavailable') 44 RETURN 45 ENDIF 46 ztra => wrk_4d_1(:,:,:,jptra) 41 CALL wrk_alloc( jpi, jpj, jpk, jptra, ztra ) 47 42 48 43 Agrif_SpecialValue=0. … … 141 136 ENDIF 142 137 143 IF( wrk_not_released(4, 1) ) THEN 144 CALL ctl_stop('Agrif_trc : failed to release workspace arrays.') 145 RETURN 146 ENDIF 138 CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztra ) 147 139 148 140 END SUBROUTINE Agrif_trc -
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/NST_SRC/agrif_top_sponge.F90
r2715 r3184 10 10 USE trc 11 11 USE lib_mpp 12 USE wrk_nemo_2 12 13 13 14 IMPLICIT NONE … … 29 30 !!--------------------------------------------- 30 31 #include "domzgr_substitute.h90" 31 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released32 USE wrk_nemo, ONLY: wrk_2d_133 USE wrk_nemo, ONLY: wrk_4d_1, wrk_4d_2, wrk_4d_3, wrk_4d_434 32 !! 35 33 INTEGER :: ji,jj,jk,jl … … 41 39 42 40 #if defined SPONGE_TOP 43 IF( wrk_in_use(4, 1,2,3,4) .OR. wrk_in_use(2, 1) ) THEN 44 CALL ctl_stop('Agrif_Sponge_trc : requested workspace arrays unavailable') 45 RETURN 46 ENDIF 47 localviscsponge => wrk_2d_1 48 trbdiff(:,:,:,:) => wrk_4d_1(:,:,:,1:jptra) 49 ztru (:,:,:,:) => wrk_4d_2(:,:,:,1:jptra) 50 ztrv (:,:,:,:) => wrk_4d_3(:,:,:,1:jptra) 51 ztab (:,:,:,:) => wrk_4d_4(:,:,:,1:jptra) 41 CALL wrk_alloc( jpi, jpj, localviscsponge ) 42 CALL wrk_alloc( jpi, jpj, jpk, jptra, trbdiff, ztru, ztrv, ztab ) 52 43 53 44 timecoeff = REAL(Agrif_NbStepint(),wp)/Agrif_rhot() … … 155 146 ENDDO 156 147 157 IF( wrk_not_released(4, 1,2,3,4) .OR. wrk_not_released(2, 1) ) THEN 158 CALL ctl_stop('Agrif_Sponge_trc : failed to release workspace arrays.') 159 RETURN 160 ENDIF 148 CALL wrk_dealloc( jpi, jpj, localviscsponge ) 149 CALL wrk_dealloc( jpi, jpj, jpk, jptra, trbdiff, ztru, ztrv, ztab ) 161 150 162 151 #endif -
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/NST_SRC/agrif_top_update.F90
r2715 r3184 9 9 USE agrif_oce 10 10 USE trc 11 USE wrk_nemo_2 11 12 12 13 IMPLICIT NONE … … 29 30 !! *** ROUTINE Agrif_Update_Trc *** 30 31 !!--------------------------------------------- 31 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released32 USE wrk_nemo, ONLY: wrk_4d_133 32 !! 34 33 INTEGER, INTENT(in) :: kt … … 39 38 40 39 #if defined TWO_WAY 41 IF( wrk_in_use(4, 1) ) THEN 42 CALL ctl_stop('Agrif_Update_trc : requested workspace arrays unavailable') 43 RETURN 44 ENDIF 45 ztra => wrk_4d_1(:,:,:,jptra) 40 CALL wrk_alloc( jpi, jpj, jpk, jpts, ztra ) 46 41 47 42 Agrif_UseSpecialValueInUpdate = .TRUE. … … 57 52 nbcline_trc = nbcline_trc + 1 58 53 59 IF( wrk_not_released(4, 1) ) THEN 60 CALL ctl_stop('Agrif_Update_trc : failed to release workspace arrays.') 61 RETURN 62 ENDIF 54 CALL wrk_dealloc( jpi, jpj, jpk, jpts, ztra ) 63 55 #endif 64 56
Note: See TracChangeset
for help on using the changeset viewer.