Balloon takes the two input data mapout and mapdsk from Mapck. It is available through lmhd svn repository svn+ssh://svnsrv.pppl.gov/svn/mhd/trunk/Balloon. The syntax is

 
  Balloon

It also needs the input file balin to run.

The preallocated fixed array sizes are given in balmp.i

      parameter(ns0=401,nt0=256,nq=526,ny=526,ns=ns0+1,nt=nt0+5)
	c.....nsf0 is number of psi surfaces
	       parameter(nsf0=401)
	c.....nths0 is number of theta points
	       parameter(nths0=256)
	c.....nths is maximum array dimension for theta points
	      parameter(nths=nths0+5)
	c.....nsf is maximum array dimension for psi surfaces
	      parameter(nsf=nsf0+1)
in which nsf ≡ ns and nths ≡ nt defined in maplst. The actual size are nosurf= 201 and mth= 128 which should be matched in the input file
balin:
 ∧ inp 
       ndist=2,201,3, thpi=24., lzio=1, lljin=1, s=1.0
 ∧ end

Detail:

balmc.i:      common / equ5 / ntitle(20), dat, nx, nz, nosurf, mth, lpless,

balmsch_copy.f
     70        call zrd ( iomode,ntitle(1),nsiz,nadres,lgivup,100 ) 
     76       write(*,*) nx, nz, nosurf, mth, lpless
		 128 129 201 128 F
                  |   |   |   |
                  |   |   +---+-> get from mapck
                  +---+-> get from Jsolver through mapck

balin:
ndist=2,201,3: the flux surfaces chosen to be analyzed are 2, 5, 8, 11, ..., 201
thpi=24. : integration range in ballooning coordinate, theta,  here example [-24pi, 24pi], 
           eigenvector is yl on [-24pi, 0] and yr on [0, 24pi],  matched at 0.
lljin=1: equalibrium "eqb1" data read related, default to 1
s=1.0 : modifies the equilibrium while keeps the GS equation invariant. 
The magnetic field can be written as
B = ∇ φ × ∇ ψ + R0 g(ψ) ∇ φ
where g appears in GS equation
Δ* ψ = J · ∇ φ = (p' +
R02
--------
X2
(g2)'
--------
2
)
if g is scaled as
g2 = g02 - (1 - s2)
with g0=1 at the edge, it won't change the GS equation, but we will have
qedge = s q0 edge
This allows us to study different equalibria satisfying the same GS equation.
balon integration region