
module binpull1 {        # From each bin on model mesh, pull nearest data value.
integer, dimension (m1), allocatable :: jd
integer :: m1
#% _init( o1, d1, coordinate, m1)
       	integer im, id
        real  x, near, dist,  o1,d1,coordinate(:)
        do im= 1, m1 {
                x = o1 + (im-1)*d1
                near = 1.e30
                do id= 1, size(coordinate) {
                        dist = abs( x -coordinate(id))
                        if( dist < near) {
                                jd(im) = id
                                near = dist
                                }
                        }
                }
#% _lop  (  mm,  dd)
integer im,id
do im= 1, m1 {                       id =  jd(im)
        if( adj)
                mm(im) = mm(im) + dd(id)
        else
                dd(id) = dd(id) + mm(im) 
        }
}
