Changeset 5609 for trunk/NEMOGCM/TOOLS/SIREN/src/interp_nearest.f90
- Timestamp:
- 2015-07-17T17:42:15+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/TOOLS/SIREN/src/interp_nearest.f90
r5037 r5609 69 69 70 70 ! local variable 71 INTEGER(i4), DIMENSION(4) :: il_shape 71 INTEGER(i4), DIMENSION(4) :: il_shape 72 73 INTEGER(I4), DIMENSION(:,:,:), ALLOCATABLE :: il_detect 72 74 73 75 ! loop indices … … 80 82 il_shape(:)=SHAPE(dd_value) 81 83 84 ALLOCATE(il_detect(il_shape(1),il_shape(2),il_shape(3))) 82 85 DO jl=1,il_shape(4) 86 il_detect(:,:,:)=id_detect(:,:,:) 83 87 ! loop on vertical level 84 88 DO jk=1,il_shape(3) … … 86 90 ! I-J plan 87 91 CALL interp_nearest__2D(dd_value(:,:,jk,jl),& 88 & i d_detect(:,:,jk), &92 & il_detect(:,:,jk), & 89 93 & id_rho(jp_I), id_rho(jp_J) ) 90 IF( ANY(i d_detect(:,:,jk)==1) )THEN94 IF( ANY(il_detect(:,:,jk)==1) )THEN 91 95 ! I direction 92 96 DO jj=1,il_shape(2) 93 97 CALL interp_nearest__1D( dd_value(:,jj,jk,jl),& 94 & i d_detect(:,jj,jk), &98 & il_detect(:,jj,jk), & 95 99 & id_rho(jp_I) ) 96 100 ENDDO 97 IF( ALL(i d_detect(:,:,jk)==0) )THEN101 IF( ALL(il_detect(:,:,jk)==0) )THEN 98 102 CYCLE 99 103 ELSE … … 101 105 DO ji=1,il_shape(1) 102 106 CALL interp_nearest__1D( dd_value(ji,:,jk,jl),& 103 & i d_detect(ji,:,jk), &107 & il_detect(ji,:,jk), & 104 108 & id_rho(jp_J) ) 105 109 ENDDO … … 109 113 ENDDO 110 114 ENDDO 115 116 id_detect(:,:,:)=il_detect(:,:,:) 117 DEALLOCATE(il_detect) 111 118 112 119 END SUBROUTINE interp_nearest_fill
Note: See TracChangeset
for help on using the changeset viewer.