Changeset 1178 in lmdz_wrf for trunk/tools
- Timestamp:
- Oct 11, 2016, 6:26:01 PM (9 years ago)
- Location:
- trunk/tools
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/module_ForInterpolate.F90
r1173 r1178 739 739 REAL(r_k) :: mindiffLl, dist 740 740 REAL(r_k), DIMENSION(idimx,idimy) :: difflonlat 741 REAL(r_k), DIMENSION(2) :: extremelon, extremelat 741 REAL(r_k), DIMENSION(2) :: extremelon, extremelat, ipos 742 742 INTEGER, DIMENSION(2) :: iLl 743 743 CHARACTER(LEN=50) :: fname … … 797 797 ix = INT(outLlw(1,iv,i,j)) 798 798 iy = INT(outLlw(2,iv,i,j)) 799 dist = SQRT( (projlon(i,j)-inlonv(ix,iy))**2 + (projlat(i,j)-inlatv(ix,iy))**2)799 dist = SQRT( (projlon(i,j)-inlonv(ix,iy))**2. + (projlat(i,j)-inlatv(ix,iy))**2. ) 800 800 IF ( dist /= 0.) THEN 801 801 outLlw(3,iv,i,j) = 1./dist … … 814 814 difflonlat = SQRT((projlon(i,j)-inlonv)**2. + (projlat(i,j)-inlatv)**2.) 815 815 mindiffLl = MINVAL(difflonlat) 816 outLlw(1:2,1,i,j) = index2DArrayR(difflonlat, idimx, idimy, mindiffLl) 816 ipos = index2DArrayR(difflonlat, idimx, idimy, mindiffLl) 817 outLlw(1:2,1,i,j) = ipos 817 818 outLlw(3,1,i,j) = 1. 819 ix = outLlw(1,1,i,j) 820 iy = outLlw(2,1,i,j) 821 PRINT *,i,j,projlon(i,j),projlat(i,j),':',mindiffLl,'!',outLlw(1:2,1,i,j),'|',inlonv(ix,iy), & 822 inlatv(ix,iy), '<>', MINVAL(inlonv), MINVAL(inlatv) 823 IF (i > 1) THEN 824 PRINT *,inlonv(1,1),inlatv(1,1),':',index2DArrayR(inlonv, idimx, idimy, MINVAL(inlonv)) 825 STOP 826 END IF 818 827 END DO 819 828 END DO … … 902 911 REAL(r_k), DIMENSION(idimx,idimy), INTENT(in) :: inlonv, inlatv 903 912 CHARACTER(LEN=50), INTENT(in) :: intkind 904 REAL(r_k), DIMENSION( pdimx,pdimy,d3), INTENT(in) :: var3Din913 REAL(r_k), DIMENSION(idimx,idimy,d3), INTENT(in) :: var3Din 905 914 REAL(r_k), DIMENSION(pdimx,pdimy,d3), INTENT(out) :: varout 906 915 -
trunk/tools/nc_var_tools.py
r1177 r1178 15900 15900 quit(-1) 15901 15901 15902 # Checking right lon, lat ranges 15903 iminlon = np.min(ilonvals) 15904 imaxlon = np.max(ilonvals) 15905 rminlon = np.min(rlonvals) 15906 rmaxlon = np.max(rlonvals) 15907 15908 if np.abs(imaxlon - rmaxlon) > 100.: 15909 print warnmsg 15910 print ' ' + fname + ': reshaping longitudes!' 15911 print ' input maximum lon:', imaxlon 15912 print ' target maximum lon:', rmaxlon 15913 print ' shifting input longitudes...' 15914 if rmaxlon > 180.: 15915 ilonvals = np.where(ilonvals < 0., ilonvals + 360., ilonvals) 15916 else: 15917 ilonvals = np.where(ilonvals > 180., ilonvals - 360., ilonvals) 15918 15902 15919 idx = ilonvals.shape[1] 15903 15920 idy = ilonvals.shape[0]
Note: See TracChangeset
for help on using the changeset viewer.