module mod_parameters
implicit none
! SAVE
logical::doCIV1,doFIX1,doPATCH1,doCIV2,doFIX2,doPATCH2
character(256)::parametersFileName !cmx file name
character(256)::fgrille ! grid file name
character(256)::namea,nameb,maskname
integer(4),dimension(:,:),allocatable::imagea,imageb
byte,dimension(:),allocatable::IN
integer::nxa,nya,nxb,nyb,nbppa,nbppb,nbpp,pngx,pngy,m
character(256)::inputFileName,outputFileName !netcdf filename for CIV2
integer(4)::dxshift,dyshift,nx,ny,ibsx,ibsy,isrx,isry,cptnul,nbFvect,power4_dist,nborderx,nbordery
real(4)::ratiodt
! real(4)::dxshift,dyshift,pixcmx,pixcmy,dt,ratiodt,T0
integer(4)::xoffset,yoffset
real(4)::roi
logical::ppasse,hole,power4 !,softmask
integer::cptHART,cptTOOSMALL,indx,indexx,shift_flag
integer::correlation_min,intensity_min
logical::test_seuil,cmx,deform,corrdec,uvmat,xml
integer::level1,level2,ratio
logical::new_default ! boolean to now if we create a default regular grid
real,dimension(:,:),allocatable::grille,grilletmp,grilletmp2
integer::mg,ng,cpt2
!***************************
! Correlation stuff
real,dimension(:,:,:),allocatable::corr_tab,corr_tab2 ! (nbnodes,x,y)
integer,dimension(:,:),allocatable::ncor
integer,dimension(:,:),allocatable::ib,is
logical::small
! integer,dimension(:,:),pointer::ONE2TWO
integer::corrmod ! 0 : xcorr; 1 : fft; 2 : test
real,dimension(:,:,:),allocatable::R
real,dimension(:),allocatable::ur,vr,corrval
real,dimension(:,:,:),allocatable::corr_tab_hart
!*********************************
!NETCDF STUFF
integer,dimension(:),allocatable::v_user1_1,v_user1_2
real,dimension(:,:),allocatable::V,VD,V2,VD2
integer::nb_coord,nb_dim,constant_pixcm,hart
integer::nb_vectors,nb_vectors2
integer::convect_flow=1
integer::civ1=0
integer::civ2=0
integer::fix1=0
integer::fix2=0
integer::patch1=0
integer::patch
integer::patch2=0
integer::user1_1,user1_2
integer::nb_vec_patch,nb_vec2_patch
real::pixcmx,pixcmy,T0,T02,dt,dt2,kc,kc2,pixcmx_out,pixcmy_out
real(8)::ro,ro2
character(1)::img1,img2,img3,img4
integer::patch_nx,patch_ny,patch2_nx,patch2_ny
integer::nbMasked,nbAvgLessThan,nbAvgNull,nbAvgLessThanANDMaxCorrLessThan
integer::nbInstable,nbIsTooSmall,nbInstableHart,nbInstableHartBis,nbHartPrefered
integer::nbHartCorrTooLow
character(256)::title
character(256)::unit
!= 0 Masked Hard-BLACK
!=3 AvgLessThan (imgA)
!=3.1 AvgNull (imgB)
!=3.2 AvgLessThanANDMaxCorrLessThan
!=3.3 Instable (sfit1)
!=-2 IsToosmall
!=9 InstableHart
!=9.1 InstableHartBis
!=2 HartPrefered
!=4 HartCorrTooLow
logical::verbose
!********* PATCH stuf**********
integer::nopt,n,mgrid,ngrid
real::maxdiff
logical::ismoot
character(256)::gridPatch
real,parameter::maxvaleur=0.2 ! maximum stress
end module mod_parameters
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 modfix_flag
real::iter,fi1,fi2,fi3,threshC,threshV
end module modfix_flag
module mod_interpolation
implicit none
integer::np,nx_t,ny_t,nbx,nby,npo,mgrid_patch,ngrid_patch
real::xmin,xmax,ymin,ymax,nbx_f,nby_f,minx,maxx,miny,maxy
real(8),save,dimension(:),allocatable::s,t,su,tu,sv,tv
integer,save,dimension(:,:),allocatable::Nombre1,Nombre2,Nombre1o,Nombre2o
real,save,dimension(:,:,:),allocatable::C1,C2
integer,save,dimension(:,:,:),allocatable::subRect1,subRect2,subRect1o,subRect2o
integer::nsp,max
real,save,dimension(:),allocatable::xdata
real,save,dimension(:),allocatable::ydata,fdata
real,save,dimension(:,:,:),allocatable::subXdata1,subYdata1,subXdata2,subYdata2
real(8),save,dimension(:,:,:,:),allocatable::subSplines1s,subSplines2s,subSplines1t,subSplines2t
character(120)::gridFileName
logical::gridfile,firstloop
real,save,dimension(:),allocatable::Uerror,Verror,Nerror
!real::MAXDIFF
real::maxdiffx,maxdiffy
!logical::verbose
integer,dimension(:),allocatable::nx1,ny1,nx2,ny2
real::xmin_f,xmax_f,ymin_f,ymax_f
end module mod_interpolation
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 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