Module declare

   IMPLICIT NONE

   INTEGER(KIND=8)::TIMESTART,TIMERUN,count_rate,cr,jstep,jstart(1000)
   REAL(KIND=8)::LASTTIME,rate

   INTEGER NATOMOLD,NATOM,NATOMNEW,NATOMMAX,NSYN,NSYNMAX,NPG,NPGMAX,NBONDGLY,NGLYMAX,NBONDPEP,NPEPMAX,NLOOP,NLOOPMAX
   INTEGER NPGOLD,NPGNEW,CAPLEN,NCAP,NBONDCAP,NBONDGLYOLD!,CAPBOUND1,CAPBOUND2
   INTEGER SYNRATIO,NATOMCAP,NB1,NB2,JRESET,LENMAX,newlengthave,length
   INTEGER NBOND,NBONDDEL,NBONDGLYSTART,NSIG
   INTEGER NL,NLOOPDEL,NB,PGCAP1,PGCAP2
   INTEGER PGLENMAX,LOOPLENMAX,JLYT,JRECOMP
   INTEGER TIMES(10),YEARS,MONS,DAYS,HOURS,MINS,SECS
   INTEGER N,NTHREADS!,OMP_GET_NUM_THREADS
   INTEGER NSTART,NR,JFORCE1,JFORCE2,SLOWLOAD
   INTEGER NTIP,ntip1,ntip2,NSEC,NPICK,ILOOP,JLINK,NNEW,JRFORCE,NRAND
   INTEGER NS,NS1,NPEPTOTAL,NATOMSTART,NPGSTART,NGLYNEW,ns_ter,jsyndir,na_red
   INTEGER NATOMDEL,OLDNATOMDEL,NDEL,N1,N2,NA,nstore,npress
   INTEGER JR,NTOTAL,JFILE,NFRAME,JL,JS,NTRAP,JCHANGE,JSCALE,A22,JSKIP,SKIP
   INTEGER IPG,JUNIT,NSYNREP,NTRANS,NHOLD,NRELAX,J1,J2,JEXIT,JPRINT,JRANDS,N_EDHOLD,noldbond,jpgnew,noldmax
   integer oldtypmax,jredist,jrestart,jsteric,ipg1,ipg2,jfast1,jfast2,jprevent,joldbond,nnewhoop
   integer pgbelowbondmax,ntemlink,ntemlinkmax,nprint

   INTEGER(kind=8),DIMENSION(:),ALLOCATABLE::jtrap,J_EDHOLD
   INTEGER,DIMENSION(:),ALLOCATABLE:: EDOSIG,TP2SIG,EDCAP,JDEACT,COUPLING
   INTEGER,DIMENSION(:,:),ALLOCATABLE::PGID,newpgid,EDHOLD,SIGBOND,EDPEP,JTERM
   INTEGER,DIMENSION(:,:),ALLOCATABLE::NEWPGIDtemp,TRANSGLY,GLYTIP,GLYSEC,oldglytip,oldglysec,temlink
   INTEGER,DIMENSION(:),ALLOCATABLE::PGLEN,newpglentemp,PGDIR,DNOR,ATOR,PEPDIR,glyid
   INTEGER,DIMENSION(:),ALLOCATABLE::NEWPGLEN,NEWPGTYP,NEWPGDIR,ATORNEW,DNORNEW,PEPDIRNEW
   INTEGER,DIMENSION(:,:),ALLOCATABLE::BOND,BONDGLY,BONDPEP,oldbond
   INTEGER,DIMENSION(:,:),ALLOCATABLE::NEWBONDGLY,NEWBONDPEP,SIGCROSS,ADDSIG
   INTEGER,DIMENSION(:),ALLOCATABLE::BONTYP,oldtyp,pgbelowbond
   INTEGER,DIMENSION(:),ALLOCATABLE::NEWBONTYP,SYNMARK,JR_ENDO_ON,JR_ENDO_OFF,SIGCLEAVE,EDLOCKIN
   INTEGER,DIMENSION(:,:),ALLOCATABLE::LOOP,NEWLOOP,PARTNER
   INTEGER,DIMENSION(:,:),ALLOCATABLE::CRLKAGE,NETWORK,SYNTHESIS,SYNPG
   INTEGER,DIMENSION(:),ALLOCATABLE::LOOPLEN,NEWLOOPLEN,LOOPTYP,NEWLOOPTYP
   INTEGER,DIMENSION(:),ALLOCATABLE:: SYNDIR,SYNLOOP,GTLOAD,GTATRANS
   INTEGER,DIMENSION(:),ALLOCATABLE:: NEINUM,GLYNUM
   INTEGER,DIMENSION(:,:,:),ALLOCATABLE::NEIBOND,NEIGLY,TPPEP

!   INTEGER,DIMENSION(:),ALLOCATABLE:: temlen,temtyp
!   INTEGER,DIMENSION(:,:),ALLOCATABLE::temid
!   integer ntem

   DOUBLE PRECISION PI!= 3.141592653589793239D0
   DOUBLE PRECISION L_G,K_G,L_P,K_P,THETA_0,KTHETA,PRES,P_COUPL,P_UCOUP,MreBlen0
   DOUBLE PRECISION P_ACTI,P_DEACT,PTERM0,pterm,P_GLYIN,P_PEPIN,P_PEPOUT,P_EDHOLD,PCLEAVE_SPON,PEDCAP_SPON,PEDCAP_INACT
   DOUBLE PRECISION PMATURE,PLYT,GROWTH,P_GLYOUT,PBEND,P_TRANSFAST,P_TRANSSLOW,prmbond,wthick,pthick,kaxis
   DOUBLE PRECISION p_trans,lambda

   DOUBLE PRECISION sigma,kmidcell,fmid,fconstrict,pconstrict0!,pconstrict(1000),pconstrictold(1000)
   DOUBLE PRECISION delx,invdelx,dpcons,xpbp,ftotal,lfinal,lcons

   DOUBLE PRECISION XCAP1,XCAP2,R,GAM,FAMAX,DREACT,DREACT2,DIST
   DOUBLE PRECISION FPMAX1,FPMAX2,FPMAX3,FPMAX4,FPMAX5,FPMAX6
   DOUBLE PRECISION DX,DY,DZ,FPBPMAX,INVMPBP,AREA,ORAD
   DOUBLE PRECISION LSTART,LREP,LSWITCH,KSWITCH,MSWITCH
   DOUBLE PRECISION KGTASE,KTPASE,LTPASE,KPAIR,LPAIR,KGTTP,LGTTP13,LGTTP2,l_edcap
   DOUBLE PRECISION KEDASE,LEDASE,KGTED,LGTED,KWALL,KLEAD,DELTA,INVDELTA,BETA,KSUR,KSIDE,LSIDE,ktped,ltped

   real(kind=8)::ratio(1000),newratio

   DOUBLE PRECISION,DIMENSION(:),ALLOCATABLE:: X,Y,Z,XEDASEOLD,YEDASEOLD,ZEDASEOLD
   DOUBLE PRECISION,DIMENSION(:),ALLOCATABLE:: XNEW,YNEW,ZNEW,XLEAD,YLEAD,ZLEAD,XEDASE,YEDASE,ZEDASE
   DOUBLE PRECISION,DIMENSION(:),ALLOCATABLE::FX,FY,FZ,FAMAG,FXGLY,FYGLY,FZGLY,FXSUR,FYSUR,FZSUR
   DOUBLE PRECISION,DIMENSION(:),ALLOCATABLE::FXPEP,FYPEP,FZPEP,FXTHETA,FYTHETA,FZTHETA
   DOUBLE PRECISION,DIMENSION(:),ALLOCATABLE::FXREP,FYREP,FZREP
   DOUBLE PRECISION,DIMENSION(:),ALLOCATABLE::FXPRES,FYPRES,FZPRES,FXSYN,FYSYN,FZSYN
   DOUBLE PRECISION,DIMENSION(:),ALLOCATABLE::FXCAPBI1,FXCAPBI2,FXCAPMON,FXCAPEDO
   DOUBLE PRECISION,DIMENSION(:,:),ALLOCATABLE::XGTASE,YGTASE,ZGTASE,FXGTASE,FYGTASE,FZGTASE,LGTASE
   DOUBLE PRECISION,DIMENSION(:,:),ALLOCATABLE::FXTPASE,FYTPASE,FZTPASE,XTPASE,YTPASE,ZTPASE
   DOUBLE PRECISION,DIMENSION(:),ALLOCATABLE::FXEDASE,FYEDASE,FZEDASE,FMAGPBP
   DOUBLE PRECISION,DIMENSION(:),ALLOCATABLE::R1,R2,EDRAD,BIRAD1,BIRAD2,MORAD,RANDS
   DOUBLE PRECISION,DIMENSION(:),ALLOCATABLE::RXGTASE,RYGTASE,RZGTASE,RXTPASE,RYTPASE,RZTPASE
   DOUBLE PRECISION,DIMENSION(:),ALLOCATABLE::RXEDASE,RYEDASE,RZEDASE,fycon,fzcon

   DOUBLE PRECISION,DIMENSION(:),ALLOCATABLE:: XCEN,YCEN,ZCEN,UX,UY,UZ,MreBlen,P_CURV,P_UCURV
   DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:)::YCENBI1,ZCENBI1,YCENBI2,ZCENBI2
   DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:)::YCENMON,ZCENMON,YCENEDO,ZCENEDO,randstore

   DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:)::xsyn,pconstrict,pconstrictold

   REAL,DIMENSION(:),ALLOCATABLE::XW,YW,ZW
   character (len=512) command


end module
