Changeset 1178 in lmdz_wrf for trunk/tools/module_ForInterpolate.F90


Ignore:
Timestamp:
Oct 11, 2016, 6:26:01 PM (8 years ago)
Author:
lfita
Message:

Testing and fixing `npp' wrong minimum values for mindifflonlat

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/module_ForInterpolate.F90

    r1173 r1178  
    739739  REAL(r_k)                                              :: mindiffLl, dist
    740740  REAL(r_k), DIMENSION(idimx,idimy)                      :: difflonlat
    741   REAL(r_k), DIMENSION(2)                                :: extremelon, extremelat
     741  REAL(r_k), DIMENSION(2)                                :: extremelon, extremelat, ipos
    742742  INTEGER, DIMENSION(2)                                  :: iLl
    743743  CHARACTER(LEN=50)                                      :: fname
     
    797797            ix = INT(outLlw(1,iv,i,j))
    798798            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. )
    800800            IF ( dist /= 0.) THEN
    801801              outLlw(3,iv,i,j) = 1./dist
     
    814814          difflonlat = SQRT((projlon(i,j)-inlonv)**2. + (projlat(i,j)-inlatv)**2.)
    815815          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
    817818          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
    818827        END DO
    819828      END DO
     
    902911  REAL(r_k), DIMENSION(idimx,idimy), INTENT(in)          :: inlonv, inlatv
    903912  CHARACTER(LEN=50), INTENT(in)                          :: intkind
    904   REAL(r_k), DIMENSION(pdimx,pdimy,d3), INTENT(in)       :: var3Din
     913  REAL(r_k), DIMENSION(idimx,idimy,d3), INTENT(in)       :: var3Din
    905914  REAL(r_k), DIMENSION(pdimx,pdimy,d3), INTENT(out)      :: varout
    906915
Note: See TracChangeset for help on using the changeset viewer.