! collection of shared variables
! Copyright (C) 1999,2010 Gauthier Delerce
!
! This program is free software; you can redistribute it and/or modify
! it under the terms of the GNU General Public License as published by
! the Free Software Foundation; either version 2, or (at your option)
! any later version.
!
! This program is distributed in the hope that it will be useful,
! but WITHOUT ANY WARRANTY; without even the implied warranty of
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! GNU General Public License for more details.
!
! You should have received a copy of the GNU General Public License
! along with this program; if not, write to the Free Software Foundation,
! Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
!
! Gauthier Delerce <gauthier@delerce.fr>
module modvsv
integer,parameter::border=0 !2 ; removed on 060102
real,parameter::maxvaleur=0.2 ! maximum stress
character(1)::yorn
! character(5)::root
character(120)::namea,nameb,fpix,maskname,fgrille,path,oldNC
character(256)::configfilename
character(256)::inputFileName,outputFileName,out_nc_filename
integer(4)::nx,ny,ibsx,ibsy,isrx,isry,roi,ratio,indx,nborderx,nbordery
real(4)::ratiodt
real(4)::xoffset,yoffset
logical::ppasse,deform,corrdec,hole,power4
integer::dxshift,dyshift,correlation_min,intensity_min,power4_dist
! integer::correlation_min,intensity_min
logical::test_seuil,cmx,uvmat,xml
integer::level1,level2
end module modvsv
module modgrille
real,dimension(:,:),allocatable::grille,grille0,grilletmp,grilletmp2 !num : x,y,masked,offsetx,offsety,is_to_small,dudx4x
integer,dimension(:,:),allocatable::ib,is
integer::totm,cpt,cptnul,mg,ng
logical::fin,new_default
integer::m1,n1,tot1,cpt2,cpt3,cpt1
! character(7)::finu
! character(8)::filed
real,dimension(:),allocatable::x1,y1,u1,v1,x2,y2,xg,yg !,u2,v2
real,dimension(:),allocatable::ud,vdt,dx1d,dy1d,dx2d,dy2d
REAL,dimension(:,:),allocatable::BSCOEF
REAL,dimension(:),allocatable::XKNOT,YKNOT,xx,yy,xxg,yyg
real,dimension(:,:),allocatable:: fdata
real,dimension(:),allocatable::uval,vval,dudx,dudy,dvdx,dvdy
INTEGER KXORD, KYORD, LDF, NXDATA, NXKNOT, NYDATA,NYKNOT,nbnodes
integer::is1,is2,is4
real(8),dimension(:),allocatable::xd,yd,zd,xi,yi,zi
integer::ni,nd
end module modgrille
module modimage
integer,dimension(:,:),allocatable::imagea,imageb
integer::nxa,nya,nxb,nyb,nbppa,nbppb
end module modimage
module modcorr
real,dimension(:,:,:),allocatable::corr_tab ! (nbnodes,x,y)
! real,dimension(:,:),allocatable::pastis
integer,dimension(:,:),allocatable::ncor
logical::small
! integer,dimension(:,:),allocatable::ONE2TWO
integer::corrMod
end module modcorr
module modresultats
real,dimension(:),allocatable::u,v,corrval
end module modresultats
module modhart
real,dimension(:,:,:),allocatable::corr_tab_hart
end module modhart
module modgrille2
integer::m1,n1,tot1
! character(7)::finu
! character(8)::filed
real,dimension(:),allocatable::x1,y1,u1,v1,x2,y2,xg,yg,u2,v2
real,dimension(:),allocatable::xd,yd,ud,vd,dx1d,dy1d,dx2d,dy2d
REAL,dimension(:,:),allocatable::BSCOEF
REAL,dimension(:),allocatable::XKNOT,YKNOT,xx,yy,xxg,yyg
real,dimension(:,:),allocatable:: fdata
real,dimension(:),allocatable::uval,vval,dudx,dudy,dvdx,dvdy
INTEGER KXORD, KYORD, LDF, NXDATA, NXKNOT, NYDATA,NYKNOT,nbnodes
real::is1,is2,is4
endmodule modgrille2
module modimsl
real,dimension(:),allocatable:: xdata2,ydata2,xknot2,yknot2
real,dimension(:,:),allocatable::bscoef2a,bscoef2b
integer :: kxord2,kyord2,nxdata2,nydata2,nxknot2,nyknot2
end module modimsl
module modimsls
real,dimension(:),allocatable:: xdata3,ydata3,xknot3,yknot3
real,dimension(:,:,:),allocatable::bscoef3a,bscoef3b
real,dimension(:,:),allocatable::bscoef3t,at,image
integer :: kxord3,kyord3,nxdata3,nydata3,nxknot3,nyknot3,nxt,nyt,sizexa,sizexb,sizeya,sizeyb
end module modimsls
module peakopt
real(8),dimension(:),allocatable::s,t
real,dimension(:),allocatable::xdata,ydata
integer::nxy
! real,dimension(2)::X
real::Fva
integer,dimension(0:8)::errorcpt
end module peakopt
module modsys
character(10)::osname
end module modsys
module MODEXCHG
integer::M,pngx,pngy,nbpp
byte,dimension(10000*10000*2)::IN
character(120)::path2,path
end module MODEXCHG
module moddierckx
integer,parameter::iopt=0 !smooth instead of least square spline
real,dimension(:),allocatable::fdata1D
integer,parameter::kxDierckx=4,kyDierckx=4
real,parameter::sDierckx=0.00 ! smoothing coefficient
integer::nxestDierckx,nyestDierckx,nxDierckx,nyDierckx
!integer::nxIMGa,nyIMGa,nxIMGb,nyIMGb
real,save,dimension(:,:),allocatable::cIMGa,cIMGb
real::fpDierckx
real,dimension(:),allocatable::txDierckx,tyDierckx,cDierckx,wrk1Dierckx,wrk2Dierckx,wrkDierckx
real,save,dimension(:,:),allocatable::txIMGa,tyIMGa,txIMGb,tyIMGb
integer,dimension(:),allocatable::nxIMGa,nyIMGa,nxIMGb,nyIMGb
integer::lwrk1Dierckx,lwrk2Dierckx,lwrkDierckx
real,dimension(:),allocatable::xDierckx,yDierckx,zDierckx
integer,dimension(:),allocatable::iwrkDierckx
integer::kwrkDierckx,ierDierckx
integer::u_tmp,v_tmp,b1_tmp,b2_tmp,max_tmp,bx_tmp,by_tmp
!integer,parameter::i_wk=2000
!integer,parameter::j_wk=2000
!integer,parameter::k_wk=20000
!real,dimension(8*i_wk*j_wk)::wk
!integer,dimension(31*i_wk*j_wk+k_wk)::iwk
!real(8),dimension(:),save,allocatable::wk
!integer,dimension(:),save,allocatable::iwk
end module moddierckx
MODULE meminfo
USE ISO_C_BINDING, ONLY : C_LONG_LONG
IMPLICIT NONE
PRIVATE
! the KIND might dependent on g95 version/architecture
INTEGER(KIND=C_LONG_LONG), BIND(C, NAME='_g95_total_alloc') ::total_memory
PUBLIC :: total_memory
END MODULE meminfo