- Timestamp:
- 2010-11-04T19:14:01+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/OBS/obs_grid.F90
r2287 r2358 44 44 PRIVATE linquad, & ! Determine whether a point lies within a cell 45 45 & maxdist, & ! Find the maximum distance between 2 pts in a cell 46 & obs_gr id_search_bruteforce, & ! Find i, j on the ORCA grid from lat, lon47 & obs_gr id_search_lookup ! Find i, j on the ORCA grid from lat, lon quicker46 & obs_grd_bruteforce, & ! Find i, j on the ORCA grid from lat, lon 47 & obs_grd_lookup ! Find i, j on the ORCA grid from lat, lon quicker 48 48 49 49 !!* Module variables … … 75 75 & ixpos, & 76 76 & iypos, & 77 & iproc 77 & iprocn 78 78 79 79 ! Switches … … 98 98 !! ** Purpose : Search local gridpoints to find the grid box containing 99 99 !! the observations calls either 100 !! obs_gr id_search_bruteforce - the original brute force search100 !! obs_grd_bruteforce - the original brute force search 101 101 !! or 102 !! obs_gr id_search_lookup - uses a lookup table to do a fast102 !! obs_grd_lookup - uses a lookup table to do a fast 103 103 !!search 104 104 !!History : … … 122 122 123 123 IF ( ln_grid_search_lookup .AND. ( cdgrid == 'T' ) ) THEN 124 CALL obs_gr id_search_lookup( kobsin, plam, pphi, &124 CALL obs_grd_lookup( kobsin, plam, pphi, & 125 125 & kobsi, kobsj, kproc ) 126 126 ELSE 127 127 IF ( cdgrid == 'T' ) THEN 128 CALL obs_gr id_search_bruteforce( jpi, jpj, jpiglo, jpjglo, &128 CALL obs_grd_bruteforce( jpi, jpj, jpiglo, jpjglo, & 129 129 & nldi, nlei,nldj, nlej, & 130 130 & nproc, jpnij, & … … 133 133 & kobsi, kobsj, kproc ) 134 134 ELSEIF ( cdgrid == 'U' ) THEN 135 CALL obs_gr id_search_bruteforce( jpi, jpj, jpiglo, jpjglo, &135 CALL obs_grd_bruteforce( jpi, jpj, jpiglo, jpjglo, & 136 136 & nldi, nlei,nldj, nlej, & 137 137 & nproc, jpnij, & … … 140 140 & kobsi, kobsj, kproc ) 141 141 ELSEIF ( cdgrid == 'V' ) THEN 142 CALL obs_gr id_search_bruteforce( jpi, jpj, jpiglo, jpjglo, &142 CALL obs_grd_bruteforce( jpi, jpj, jpiglo, jpjglo, & 143 143 & nldi, nlei,nldj, nlej, & 144 144 & nproc, jpnij, & … … 147 147 & kobsi, kobsj, kproc ) 148 148 ELSEIF ( cdgrid == 'F' ) THEN 149 CALL obs_gr id_search_bruteforce( jpi, jpj, jpiglo, jpjglo, &149 CALL obs_grd_bruteforce( jpi, jpj, jpiglo, jpjglo, & 150 150 & nldi, nlei,nldj, nlej, & 151 151 & nproc, jpnij, & … … 162 162 END SUBROUTINE obs_grid_search 163 163 164 #include "obs_gr id_search_bruteforce.h90"164 #include "obs_grd_bruteforce.h90" 165 165 166 SUBROUTINE obs_gr id_search_lookup( kobs, plam, pphi, kobsi, kobsj, kproc )166 SUBROUTINE obs_grd_lookup( kobs, plam, pphi, kobsi, kobsj, kproc ) 167 167 !!---------------------------------------------------------------------- 168 !! *** ROUTINE obs_grid_ search_lookup ***168 !! *** ROUTINE obs_grid_lookup *** 169 169 !! 170 170 !! ** Purpose : Search local gridpoints to find the grid box containing 171 !! the observations (much faster then obs_gr id_search_bruteforce)171 !! the observations (much faster then obs_grd_bruteforce) 172 172 !! 173 173 !! ** Method : Call to linquad … … 361 361 END DO 362 362 363 if(lwp) WRITE(numout,*) 'obs_grid_ search_lookup do coordinate search using lookup table'363 if(lwp) WRITE(numout,*) 'obs_grid_lookup do coordinate search using lookup table' 364 364 365 365 !----------------------------------------------------------------------- … … 630 630 & ) 631 631 632 END SUBROUTINE obs_gr id_search_lookup632 END SUBROUTINE obs_grd_lookup 633 633 634 634 … … 758 758 & ixpos(nlons,nlats), & 759 759 & iypos(nlons,nlats), & 760 & iproc (nlons,nlats) &760 & iprocn(nlons,nlats) & 761 761 & ) 762 762 … … 818 818 END DO 819 819 820 CALL obs_gr id_search_bruteforce( jpi, jpj, jpiglo, jpjglo, &821 & 822 & 823 & 824 & 825 & 820 CALL obs_grd_bruteforce( jpi, jpj, jpiglo, jpjglo, & 821 & nldi, nlei,nldj, nlej, & 822 & nproc, jpnij, & 823 & glamt, gphit, tmask, & 824 & nlons*nlats, lonsi, latsi, & 825 & ixposi, iyposi, iproci ) 826 826 827 827 ! minimise file size by removing regions with no data from xypos file … … 873 873 & ixpos(nlons,nlats), & 874 874 & iypos(nlons,nlats), & 875 & iproc (nlons,nlats) &875 & iprocn(nlons,nlats) & 876 876 & ) 877 877 … … 880 880 ixpos(:,:) = ixposi(jimin:jimax,jjmin:jjmax) 881 881 iypos(:,:) = iyposi(jimin:jimax,jjmin:jjmax) 882 iproc (:,:) = iproci(jimin:jimax,jjmin:jjmax)882 iprocn(:,:) = iproci(jimin:jimax,jjmin:jjmax) 883 883 884 884 DEALLOCATE(lonsi,latsi,ixposi,iyposi,iproci) … … 1169 1169 1170 1170 IF (ln_grid_search_lookup) THEN 1171 DEALLOCATE( lons, lats, ixpos, iypos, iproc )1171 DEALLOCATE( lons, lats, ixpos, iypos, iprocn ) 1172 1172 ENDIF 1173 1173
Note: See TracChangeset
for help on using the changeset viewer.