Changeset 3294 for trunk/NEMOGCM/NEMO/OPA_SRC/FLO/flo4rk.F90
- Timestamp:
- 2012-01-28T17:44:18+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/FLO/flo4rk.F90
r2528 r3294 15 15 USE dom_oce ! ocean space and time domain 16 16 USE in_out_manager ! I/O manager 17 USE wrk_nemo ! working array 17 18 18 19 IMPLICIT NONE … … 52 53 !! 53 54 INTEGER :: jfl, jind ! dummy loop indices 54 REAL(wp), DIMENSION(jpnfl) :: zgifl , zgjfl , zgkfl ! index RK positions 55 REAL(wp), DIMENSION(jpnfl) :: zufl , zvfl , zwfl ! interpolated velocity at the float position 56 REAL(wp), DIMENSION(jpnfl,4) :: zrkxfl, zrkyfl, zrkzfl ! RK coefficients 55 INTEGER :: ierror ! error value 56 57 REAL(wp), POINTER, DIMENSION(:) :: zgifl , zgjfl , zgkfl ! index RK positions 58 REAL(wp), POINTER, DIMENSION(:) :: zufl , zvfl , zwfl ! interpolated velocity at the float position 59 REAL(wp), POINTER, DIMENSION(:,:) :: zrkxfl, zrkyfl, zrkzfl ! RK coefficients 57 60 !!--------------------------------------------------------------------- 61 CALL wrk_alloc( jpnfl, zgifl , zgjfl , zgkfl , zufl, zvfl, zwfl) 62 CALL wrk_alloc( jpnfl, 4, zrkxfl, zrkyfl, zrkzfl ) 63 ! 64 IF( ierror /= 0 ) THEN 65 WRITE(numout,*) 'flo_4rk: allocation of workspace arrays failed' 66 ENDIF 67 58 68 59 69 IF( kt == nit000 ) THEN … … 145 155 END DO 146 156 END DO 157 ! 158 CALL wrk_dealloc( jpnfl, zgifl , zgjfl , zgkfl , zufl, zvfl, zwfl) 159 CALL wrk_dealloc( jpnfl, 4, zrkxfl, zrkyfl, zrkzfl ) 147 160 ! 148 161 END SUBROUTINE flo_4rk … … 167 180 INTEGER :: jfl, jind1, jind2, jind3 ! dummy loop indices 168 181 REAL(wp) :: zsumu, zsumv, zsumw ! local scalar 169 INTEGER , DIMENSION(jpnfl):: iilu, ijlu, iklu ! nearest neighbour INDEX-u170 INTEGER , DIMENSION(jpnfl):: iilv, ijlv, iklv ! nearest neighbour INDEX-v171 INTEGER , DIMENSION(jpnfl):: iilw, ijlw, iklw ! nearest neighbour INDEX-w172 INTEGER , DIMENSION(jpnfl,4):: iidu, ijdu, ikdu ! 64 nearest neighbour INDEX-u173 INTEGER , DIMENSION(jpnfl,4):: iidv, ijdv, ikdv ! 64 nearest neighbour INDEX-v174 INTEGER , DIMENSION(jpnfl,4):: iidw, ijdw, ikdw ! 64 nearest neighbour INDEX-w175 REAL(wp) , DIMENSION(jpnfl,4,4,4) :: ztufl , ztvfl , ztwfl ! velocity at choosen time step176 REAL(wp) , DIMENSION(jpnfl,4) :: zlagxu, zlagyu, zlagzu ! Lagrange coefficients177 REAL(wp) , DIMENSION(jpnfl,4) :: zlagxv, zlagyv, zlagzv! - -178 REAL(wp) , DIMENSION(jpnfl,4) :: zlagxw, zlagyw, zlagzw ! - -182 INTEGER , POINTER, DIMENSION(:) :: iilu, ijlu, iklu ! nearest neighbour INDEX-u 183 INTEGER , POINTER, DIMENSION(:) :: iilv, ijlv, iklv ! nearest neighbour INDEX-v 184 INTEGER , POINTER, DIMENSION(:) :: iilw, ijlw, iklw ! nearest neighbour INDEX-w 185 INTEGER , POINTER, DIMENSION(:,:) :: iidu, ijdu, ikdu ! 64 nearest neighbour INDEX-u 186 INTEGER , POINTER, DIMENSION(:,:) :: iidv, ijdv, ikdv ! 64 nearest neighbour INDEX-v 187 INTEGER , POINTER, DIMENSION(:,:) :: iidw, ijdw, ikdw ! 64 nearest neighbour INDEX-w 188 REAL(wp) , POINTER, DIMENSION(:,:) :: zlagxu, zlagyu, zlagzu ! Lagrange coefficients 189 REAL(wp) , POINTER, DIMENSION(:,:) :: zlagxv, zlagyv, zlagzv ! - - 190 REAL(wp) , POINTER, DIMENSION(:,:) :: zlagxw, zlagyw, zlagzw ! - - 191 REAL(wp) , POINTER, DIMENSION(:,:,:,:) :: ztufl , ztvfl , ztwfl ! velocity at choosen time step 179 192 !!--------------------------------------------------------------------- 180 193 CALL wrk_alloc( jpnfl, iilu, ijlu, iklu, iilv, ijlv, iklv, iilw, ijlw, iklw ) 194 CALL wrk_alloc( jpnfl, 4, iidu, ijdu, ikdu, iidv, ijdv, ikdv, iidw, ijdw, ikdw ) 195 CALL wrk_alloc( jpnfl, 4, zlagxu, zlagyu, zlagzu, zlagxv, zlagyv, zlagzv, zlagxw, zlagyw, zlagzw ) 196 CALL wrk_alloc( jpnfl, 4, 4, 4, ztufl , ztvfl , ztwfl ) 197 181 198 ! Interpolation of U velocity 182 199 … … 436 453 END DO 437 454 ! 455 CALL wrk_dealloc( jpnfl, iilu, ijlu, iklu, iilv, ijlv, iklv, iilw, ijlw, iklw ) 456 CALL wrk_dealloc( jpnfl, 4, iidu, ijdu, ikdu, iidv, ijdv, ikdv, iidw, ijdw, ikdw ) 457 CALL wrk_dealloc( jpnfl, 4, zlagxu, zlagyu, zlagzu, zlagxv, zlagyv, zlagzv, zlagxw, zlagyw, zlagzw ) 458 CALL wrk_dealloc( jpnfl, 4, 4, 4, ztufl , ztvfl , ztwfl ) 459 ! 438 460 END SUBROUTINE flo_interp 439 461
Note: See TracChangeset
for help on using the changeset viewer.