1 SUBROUTINE load_saddle_wsurf (nvariables, xvariables)
10 INTEGER :: nvariables, mb, nb, ik, j1
11 REAL(rprec) :: xvariables(*)
12 EXTERNAL unique_boundary, unique_boundary_pg
15 IF (nopt_wsurf .eq. -1)
THEN
16 rmn_sad(:numsurf_sad) = xvariables(1:numsurf_sad)
17 zmn_sad(:numsurf_sad) = xvariables(numsurf_sad+1:2*numsurf_sad)
18 nvariables = 2*numsurf_sad
20 ELSE IF (nopt_wsurf .eq. 0)
THEN
25 rbc(nrz0_opt(ik),0) = xvariables(ik)
28 zbs(nrz0_opt(ik+irm0_bdy),0) = xvariables(ik+irm0_bdy)
31 j1 = ik + irm0_bdy + izm0_bdy
32 rhobc(nbrho_opt(ik),mbrho_opt(ik)) = xvariables(j1)
35 nvariables = irm0_bdy + izm0_bdy + irho_bdy
37 CALL unique_boundary(rbc, zbs, rhobc, mpol_opt, ntor_opt,
38 1 mpol_opt, ntor_opt, mpol_opt)
45 DO ik = 1, numsurf_sad
51 rmn_sad(ik) = rbc(nb, mb)
52 zmn_sad(ik) = -zbs(nb, mb)
55 rmn_sad(ik) = rbc(nb, mb)
56 zmn_sad(ik) = zbs(nb, mb)
61 rmn_sad(ik) = rbc(nb, mb)
62 zmn_sad(ik) = zbs(nb, mb)
67 ELSE IF (nopt_wsurf .eq. 1)
THEN
71 delta_mn(nbrho_opt(ik),mbrho_opt(ik)) = xvariables(j1)
74 CALL unique_boundary_pg(rbc, zbs, delta_mn, ntor_opt, mpol_opt,
79 DO nb = -ntor_opt, ntor_opt
80 IF( abs(rbc(nb,mb)) .gt. zero .or.
81 1 abs(zbs(nb,mb)) .gt. zero )
THEN
82 nvariables = nvariables + 1
83 m_sad(nvariables) = mb
85 n_sad(nvariables) = nb
86 rmn_sad(nvariables) = rbc(nb,mb)
87 zmn_sad(nvariables) = -zbs(nb,mb)
89 n_sad(nvariables) = -nb
90 rmn_sad(nvariables) = rbc(nb,mb)
91 zmn_sad(nvariables) = zbs(nb,mb)
97 IF (nvariables .ne. numsurf_sad)
THEN
98 WRITE(6,*)
"nvariables != numsurf_sad in load_saddle_surf"
102 nvariables = irho_bdy
106 END SUBROUTINE load_saddle_wsurf