PLplot  5.10.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
sfstubs.f90
Go to the documentation of this file.
1 !***********************************************************************
2 ! sfstubs.f
3 !
4 ! Copyright (C) 2004 Alan W. Irwin
5 !
6 ! This file is part of PLplot.
7 !
8 ! PLplot is free software; you can redistribute it and/or modify
9 ! it under the terms of the GNU Library General Public License as published
10 ! by the Free Software Foundation; either version 2 of the License, or
11 ! (at your option) any later version.
12 !
13 ! PLplot is distributed in the hope that it will be useful,
14 ! but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ! GNU Library General Public License for more details.
17 !
18 ! You should have received a copy of the GNU Library General Public License
19 ! along with PLplot; if not, write to the Free Software
20 ! Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 !
22 !
23 ! This file contains the more complicated fortran stub routines
24 ! that the more generic scstubs.c cannot handle.
25 ! Typical stubs here must convert a fortran character string
26 ! to C or vice versa.
27 ! N.B. the called routines (that are defined in scstubs.c) have
28 ! a suffix of '7' to avoid name clashes and also presumably as a
29 ! signal in scstubs.c that they were called from these routines.
30 ! Where arguments are floating-point we explicitly type them as real(kind=plflt).
31 ! This typing is never used since these arguments are
32 ! actually passed by reference. That implies these routines should
33 ! work if the calling routine and libplplot itself are both
34 ! double precision or both single precision.
35 !
36 !***********************************************************************
37 
38  subroutine plsetopt(opt, optarg)
39 
40  implicit none
41  character*(*) opt, optarg
42 
43  call plstrf2c(opt, string1)
44  call plstrf2c(optarg, string2)
45  s1 = transfer( string1, s1 )
46  s2 = transfer( string2, s2 )
47  call plsetopt7(s1, s2)
48 
49  end subroutine
50 
51 !***********************************************************************
52 
53  subroutine plabort(text)
54 
55  implicit none
56  character*(*) text
57 
58  call plstrf2c(text, string1)
59  s1 = transfer( string1, s1 )
60  call plabort7(s1)
61 
62  end subroutine
63 
64 !***********************************************************************
65 
66  subroutine plsdev(dnam)
67 
68  implicit none
69  character*(*) dnam
70 
71  call plstrf2c(dnam, string1)
72  s1 = transfer( string1, s1 )
73  call plsdev7(s1)
74 
75  end subroutine
76 
77 !***********************************************************************
78 
79  subroutine plgdev(dnam)
80 
81  implicit none
82  character*(*) dnam
83 
84  call plgdev7(string1)
85  call plstrc2f(string1, dnam)
86 
87  end subroutine
88 
89 !***********************************************************************
90 
91  subroutine plsfnam(fnam)
92 
93  implicit none
94  character*(*) fnam
95 
96  call plstrf2c(fnam, string1)
97  s1 = transfer( string1, s1 )
98  call plsfnam7(s1)
99 
100  end subroutine
101 
102 !***********************************************************************
103 
104  subroutine plgfnam(fnam)
105 
106  implicit none
107  character*(*) fnam
108 
109  call plgfnam7(string1)
110  call plstrc2f(string1, fnam)
111 
112  end subroutine
113 
114 !***********************************************************************
115 
116  subroutine plgver(ver)
117 
118  implicit none
119  character*(*) ver
120 
121  call plgver7(s1)
122  string1 = transfer( s1, string1 )
123  call plstrc2f(string1, ver)
124 
125  end subroutine
126 
127 !***********************************************************************
128 
129  subroutine plaxes(x0,y0,xopt,xtick,nxsub,yopt,ytick,nysub)
130 
131  implicit none
132  real(kind=plflt) x0, y0, xtick, ytick
133  integer nxsub, nysub
134  character*(*) xopt,yopt
135 
136  call plstrf2c(xopt, string1)
137  call plstrf2c(yopt, string2)
138 
139  s1 = transfer( string1, s1 )
140  s2 = transfer( string2, s2 )
141  call plaxes7(x0,y0,s1,xtick,nxsub,s2,ytick,nysub)
142 
143  end subroutine
144 
145 !***********************************************************************
146 
147  subroutine plbox(xopt,xtick,nxsub,yopt,ytick,nysub)
148 
149  implicit none
150  real(kind=plflt) xtick, ytick
151  integer nxsub, nysub
152  character*(*) xopt,yopt
153 
154  call plstrf2c(xopt, string1)
155  call plstrf2c(yopt, string2)
156 
157  s1 = transfer( string1, s1 )
158  s2 = transfer( string2, s2 )
159  call plbox7(s1,xtick,nxsub,s2,ytick,nysub)
160 
161  end subroutine
162 
163 !***********************************************************************
164 
165  subroutine plbox3(xopt,xlabel,xtick,nxsub,yopt,ylabel,ytick,nysub, &
166  zopt,zlabel,ztick,nzsub)
167 
168  implicit none
169  real(kind=plflt) xtick, ytick, ztick
170  character*(*) xopt,xlabel,yopt,ylabel,zopt,zlabel
171  integer nxsub, nysub, nzsub
172 
173  call plstrf2c(xopt, string1)
174  call plstrf2c(xlabel, string2)
175  call plstrf2c(yopt, string3)
176  call plstrf2c(ylabel, string4)
177  call plstrf2c(zopt, string5)
178  call plstrf2c(zlabel, string6)
179 
180  s1 = transfer( string1, s1 )
181  s2 = transfer( string2, s2 )
182  s3 = transfer( string3, s3 )
183  s4 = transfer( string4, s4 )
184  s5 = transfer( string5, s5 )
185  s6 = transfer( string6, s6 )
186  call plbox37(s1,s2,xtick,nxsub, &
187  s3,s4,ytick,nysub, &
188  s5,s6,ztick,nzsub)
189 
190  end subroutine
191 
192 !***********************************************************************
193 
194  subroutine plcontour_0(z,kx,lx,ky,ly,clevel)
195 
196  implicit none
197  integer kx, lx, ky, ly
198  real(kind=plflt) z(:,:), clevel(:)
199 
200  call plcon07(z,size(z,1),size(z,2),kx,lx,ky,ly,clevel,size(clevel))
201 
202  end subroutine
203 
204 !***********************************************************************
205 
206  subroutine plcontour_1(z,kx,lx,ky,ly,clevel,xg,yg)
207 
208  implicit none
209  integer kx, lx, ky, ly
210  real(kind=plflt) z(:,:), xg(:), yg(:), clevel(:)
211 
212  call plcon17(z,size(z,1),size(z,2),kx,lx,ky,ly,clevel,size(clevel),xg,yg)
213 
214  end subroutine
215 
216 !***********************************************************************
217 
218  subroutine plcontour_2(z,kx,lx,ky,ly,clevel,xg,yg)
219 
220  implicit none
221  integer kx, lx, ky, ly
222  real(kind=plflt) z(:,:), xg(:,:), yg(:,:), clevel(:)
223 
224  call plcon27(z,size(z,1),size(z,2),kx,lx,ky,ly,clevel,size(clevel),xg,yg)
225 
226  end subroutine
227 
228 !***********************************************************************
229 
230  subroutine plcontour_tr(z,kx,lx,ky,ly,clevel,tr)
231 
232  implicit none
233  integer kx, lx, ky, ly
234  real(kind=plflt) z(:,:), clevel(:)
235  real(kind=plflt) tr(6)
236 
237  call plcont7(z,size(z,1),size(z,2),kx,lx,ky,ly,clevel,size(clevel),tr)
238 
239  end subroutine
240 
241 !***********************************************************************
242 
243  subroutine plcontour_0_all(z,clevel)
244 
245  implicit none
246  integer kx, lx, ky, ly
247  real(kind=plflt) z(:,:), clevel(:)
248 
249  kx = 1
250  lx = size(z,1)
251  ky = 1
252  ly = size(z,2)
253  call plcon07(z,size(z,1),size(z,2),kx,lx,ky,ly,clevel,size(clevel))
254 
255  end subroutine
256 
257 !***********************************************************************
258 
259  subroutine plcontour_1_all(z,clevel,xg,yg)
260 
261  implicit none
262  integer kx, lx, ky, ly
263  real(kind=plflt) z(:,:), xg(:), yg(:), clevel(:)
264 
265  kx = 1
266  lx = size(z,1)
267  ky = 1
268  ly = size(z,2)
269  call plcon17(z,size(z,1),size(z,2),kx,lx,ky,ly,clevel,size(clevel),xg,yg)
270 
271  end subroutine
272 
273 !***********************************************************************
274 
275  subroutine plcontour_2_all(z,clevel,xg,yg)
276 
277  implicit none
278  integer kx, lx, ky, ly
279  real(kind=plflt) z(:,:), xg(:,:), yg(:,:), clevel(:)
280 
281  kx = 1
282  lx = size(z,1)
283  ky = 1
284  ly = size(z,2)
285  call plcon27(z,size(z,1),size(z,2),kx,lx,ky,ly,clevel,size(clevel),xg,yg)
286 
287  end subroutine
288 
289 !***********************************************************************
290 
291  subroutine plcontour_tr_all(z,clevel,tr)
292 
293  implicit none
294  integer kx, lx, ky, ly
295  real(kind=plflt) z(:,:), clevel(:)
296  real(kind=plflt) tr(6)
297 
298  kx = 1
299  lx = size(z,1)
300  ky = 1
301  ly = size(z,2)
302  call plcont7(z,size(z,1),size(z,2),kx,lx,ky,ly,clevel,size(clevel),tr)
303 
304  end subroutine
305 
306 !***********************************************************************
307 
308  subroutine plstring(x,y,string)
309 
310  implicit none
311  real(kind=plflt) x(:), y(:)
312  character(len=*) string
313 
314  integer n
315 
316  n = size(x)
317 
318  call plstrf2c(string, string1)
319  s1 = transfer( string1, s1 )
320  call plstring7(n,x,y,s1)
321 
322  end subroutine
323 
324 !***********************************************************************
325 
326  subroutine plstring3(x,y,z,string)
327 
328  implicit none
329  real(kind=plflt) x(:), y(:), z(:)
330  character(len=*) string
331 
332  integer n
333 
334  n = size(x)
335 
336  call plstrf2c(string, string1)
337  s1 = transfer( string1, s1 )
338  call plstring37(n,x,y,z,s1)
339 
340  end subroutine
341 
342 !***********************************************************************
343 
344  subroutine plvectors_0(u, v, scale)
345 
346  implicit none
347  real(kind=plflt) u(:,:), v(:,:), scale
348 
349  call plvec07(u,v,size(u,1),size(u,2),scale)
350 
351  end subroutine
352 
353 !***********************************************************************
354 
355  subroutine plvectors_1(u, v, scale, xg, yg)
356 
357  implicit none
358  real(kind=plflt) u(:,:), v(:,:), xg(:), yg(:), scale
359 
360  call plvec17(u,v,size(u,1),size(u,2),scale,xg,yg)
361 
362  end subroutine
363 
364 !***********************************************************************
365 
366  subroutine plvectors_2(u, v, scale, xg, yg)
367 
368  implicit none
369  real(kind=plflt) u(:,:), v(:,:), xg(:,:), yg(:,:), &
370  scale
371 
372  call plvec27(u,v,size(u,1),size(u,2),scale,xg,yg)
373 
374  end subroutine
375 
376 !***********************************************************************
377 
378  subroutine plvectors_tr(u, v, scale, tr)
379 
380  implicit none
381  real(kind=plflt) u(:,:), v(:,:), scale
382  real(kind=plflt) tr(6)
383 
384  call plvect7(u,v,size(u,1),size(u,2),scale,tr)
385 
386  end subroutine
387 
388 !***********************************************************************
389 
390  subroutine plshade_single_0(z, defined, &
391  xmin, xmax, ymin, ymax, &
392  shade_min, shade_max, &
393  sh_cmap, sh_color, sh_width, &
394  min_color, min_width, max_color, max_width)
395 
396  implicit none
397  character defined*(*)
398  integer sh_cmap
399  integer min_color, max_color
400  real(kind=plflt) sh_width, min_width, max_width
401  real(kind=plflt) shade_min, shade_max, sh_color
402  real(kind=plflt) z(:,:), xmin, xmax, ymin, ymax
403 
404 ! call plstrf2c(dnam, string1)
405 
406  s1 = transfer( string1, s1 )
407  call plshade07(z, size(z,1), size(z,2), s1, &
408  xmin, xmax, ymin, ymax, &
409  shade_min, shade_max, &
410  sh_cmap, sh_color, sh_width, &
411  min_color, min_width, max_color, max_width, size(z,1))
412 
413  end subroutine
414 
415 !***********************************************************************
416 
417  subroutine plshade_single_1(z, defined, &
418  xmin, xmax, ymin, ymax, &
419  shade_min, shade_max, &
420  sh_cmap, sh_color, sh_width, &
421  min_color, min_width, max_color, max_width, &
422  xg, yg )
423 
424  implicit none
425  character defined*(*)
426  integer sh_cmap
427  integer min_color, max_color
428  real(kind=plflt) sh_width, min_width, max_width
429  real(kind=plflt) shade_min, shade_max, sh_color
430  real(kind=plflt) z(:,:), xmin, xmax, ymin, ymax, xg(:), yg(:)
431 
432 ! call plstrf2c(dnam, string1)
433 
434  s1 = transfer( string1, s1 )
435  call plshade17(z, size(z,1), size(z,2), s1, &
436  xmin, xmax, ymin, ymax, &
437  shade_min, shade_max, &
438  sh_cmap, sh_color, sh_width, &
439  min_color, min_width, max_color, max_width, &
440  xg, yg, size(z,1))
441 
442  end subroutine
443 
444 !***********************************************************************
445 
446  subroutine plshade_single_2(z, defined, &
447  xmin, xmax, ymin, ymax, &
448  shade_min, shade_max, &
449  sh_cmap, sh_color, sh_width, &
450  min_color, min_width, max_color, max_width, &
451  xg, yg )
452 
453  implicit none
454  character defined*(*)
455  integer sh_cmap
456  integer min_color, max_color
457  real(kind=plflt) sh_width, min_width, max_width
458  real(kind=plflt) shade_min, shade_max, sh_color
459  real(kind=plflt) z(:,:), xmin, xmax, ymin, ymax, xg(:,:), yg(:,:)
460 
461 ! call plstrf2c(dnam, string1)
462 
463  s1 = transfer( string1, s1 )
464  call plshade27(z, size(z,1), size(z,2), s1, &
465  xmin, xmax, ymin, ymax, &
466  shade_min, shade_max, &
467  sh_cmap, sh_color, sh_width, &
468  min_color, min_width, max_color, max_width, &
469  xg, yg, size(z,1) )
470 
471  end subroutine
472 
473 !***********************************************************************
474 
475  subroutine plshade_single_tr(z, defined, &
476  xmin, xmax, ymin, ymax, &
477  shade_min, shade_max, &
478  sh_cmap, sh_color, sh_width, &
479  min_color, min_width, max_color, max_width, tr)
480 
481  implicit none
482  character(len=*) defined
483  integer sh_cmap
484  integer min_color, max_color
485  real(kind=plflt) sh_width, min_width, max_width
486  real(kind=plflt) shade_min, shade_max, sh_color
487  real(kind=plflt) z(:,:), xmin, xmax, ymin, ymax
488  real(kind=plflt) tr(6)
489 
490  s1 = transfer( string1, s1 )
491  call plshade7(z, size(z,1), size(z,2), s1, &
492  xmin, xmax, ymin, ymax, &
493  shade_min, shade_max, &
494  sh_cmap, sh_color, sh_width, &
495  min_color, min_width, max_color, max_width, tr, size(z,1))
496 
497  end subroutine
498 
499 !***********************************************************************
500 
501  subroutine plshades_multiple_0(z, defined, &
502  xmin, xmax, ymin, ymax, &
503  clevel, fill_width, &
504  cont_color, cont_width, rectangular)
505 
506  implicit none
507  character defined*(*)
508  integer cont_color
509  logical, optional :: rectangular
510  real(kind=plflt) fill_width, cont_width
511  real(kind=plflt) clevel(:)
512  real(kind=plflt) z(:,:), xmin, xmax, ymin, ymax
513 
514  integer rect
515 
516 ! call plstrf2c(dnam, string1)
517 
518  rect = 1
519  if ( present(rectangular) ) then
520  rect = merge( 1, 0, rectangular )
521  endif
522 
523  s1 = transfer( string1, s1 )
524  call plshades07(z, size(z,1), size(z,2), s1, &
525  xmin, xmax, ymin, ymax, &
526  clevel, size(clevel), fill_width, &
527  cont_color, cont_width, size(z,1), rect)
528 
529  end subroutine
530 
531 !***********************************************************************
532 
533  subroutine plshades_multiple_1(z, defined, &
534  xmin, xmax, ymin, ymax, &
535  clevel, fill_width, &
536  cont_color, cont_width, xg1, yg1)
537 
538  implicit none
539  character defined*(*)
540  integer cont_color
541  real(kind=plflt) fill_width, cont_width
542  real(kind=plflt) clevel(:)
543  real(kind=plflt) z(:,:), xmin, xmax, ymin, ymax, &
544  xg1(:), yg1(:)
545 
546  integer rect
547 
548 ! call plstrf2c(dnam, string1)
549 
550  rect = 1
551 
552  s1 = transfer( string1, s1 )
553  call plshades17(z, size(z,1), size(z,2), s1, &
554  xmin, xmax, ymin, ymax, &
555  clevel, size(clevel), fill_width, &
556  cont_color, cont_width, xg1, yg1, size(z,1), rect)
557 
558  end subroutine
559 
560 !***********************************************************************
561 
562  subroutine plshades_multiple_1r(z, defined, &
563  xmin, xmax, ymin, ymax, &
564  clevel, fill_width, &
565  cont_color, cont_width, rectangular, xg1, yg1)
566 
567  implicit none
568  character defined*(*)
569  integer cont_color
570  logical rectangular
571  real(kind=plflt) fill_width, cont_width
572  real(kind=plflt) clevel(:)
573  real(kind=plflt) z(:,:), xmin, xmax, ymin, ymax, &
574  xg1(:), yg1(:)
575 
576  integer rect
577 
578 ! call plstrf2c(dnam, string1)
579 
580  rect = merge( 1, 0, rectangular )
581 
582  s1 = transfer( string1, s1 )
583  call plshades17(z, size(z,1), size(z,2), s1, &
584  xmin, xmax, ymin, ymax, &
585  clevel, size(clevel), fill_width, &
586  cont_color, cont_width, xg1, yg1, size(z,1), rect)
587 
588  end subroutine
589 
590 !***********************************************************************
591 
592  subroutine plshades_multiple_2(z, defined, &
593  xmin, xmax, ymin, ymax, &
594  clevel, fill_width, &
595  cont_color, cont_width, xg2, yg2)
596 
597  implicit none
598  character defined*(*)
599  integer cont_color
600  real(kind=plflt)fill_width, cont_width
601  real(kind=plflt) clevel(:)
602  real(kind=plflt) z(:,:), xmin, xmax, ymin, ymax, &
603  xg2(:,:), yg2(:,:)
604 
605  integer rect
606 
607 ! call plstrf2c(dnam, string1)
608 
609  rect = 0
610 
611  s1 = transfer( string1, s1 )
612  call plshades27(z, size(z,1), size(z,2), s1, &
613  xmin, xmax, ymin, ymax, &
614  clevel, size(clevel), fill_width, &
615  cont_color, cont_width, xg2, yg2, size(z,1), rect)
616 
617  end subroutine
618 
619 !***********************************************************************
620 
621  subroutine plshades_multiple_2r(z, defined, &
622  xmin, xmax, ymin, ymax, &
623  clevel, fill_width, &
624  cont_color, cont_width, rectangular, xg2, yg2)
625 
626  implicit none
627  character defined*(*)
628  integer cont_color
629  logical rectangular
630  real(kind=plflt)fill_width, cont_width
631  real(kind=plflt) clevel(:)
632  real(kind=plflt) z(:,:), xmin, xmax, ymin, ymax, &
633  xg2(:,:), yg2(:,:)
634 
635  integer rect
636 
637  rect = merge( 1, 0, rectangular )
638 
639 ! call plstrf2c(dnam, string1)
640 
641  s1 = transfer( string1, s1 )
642  call plshades27(z, size(z,1), size(z,2), s1, &
643  xmin, xmax, ymin, ymax, &
644  clevel, size(clevel), fill_width, &
645  cont_color, cont_width, xg2, yg2, size(z,1))
646 
647  end subroutine
648 
649 !***********************************************************************
650 
651  subroutine plshades_multiple_tr(z, defined, &
652  xmin, xmax, ymin, ymax, &
653  clevel, fill_width, &
654  cont_color, cont_width, tr)
655 
656  implicit none
657  character defined*(*)
658  integer cont_color
659  real(kind=plflt) fill_width, cont_width
660  real(kind=plflt) clevel(:)
661  real(kind=plflt) z(:,:), xmin, xmax, ymin, ymax
662  real(kind=plflt) tr(6)
663 
664  integer rect
665 
666 ! call plstrf2c(dnam, string1)
667 
668  rect = 0
669 
670  s1 = transfer( string1, s1 )
671  call plshades7(z, size(z,1), size(z,2), s1, &
672  xmin, xmax, ymin, ymax, &
673  clevel, size(clevel), fill_width, &
674  cont_color, cont_width, tr, size(z,1), rect)
675 
676  end subroutine
677 
678 !***********************************************************************
679 
680  subroutine plshades_multiple_trr(z, defined, &
681  xmin, xmax, ymin, ymax, &
682  clevel, fill_width, &
683  cont_color, cont_width, rectangular, tr)
684 
685  implicit none
686  character defined*(*)
687  integer cont_color
688  logical rectangular
689  real(kind=plflt) fill_width, cont_width
690  real(kind=plflt) clevel(:)
691  real(kind=plflt) z(:,:), xmin, xmax, ymin, ymax
692  real(kind=plflt) tr(6)
693 
694  integer rect
695 
696 ! call plstrf2c(dnam, string1)
697 
698  rect = merge(1, 0, rectangular)
699 
700  s1 = transfer( string1, s1 )
701  call plshades7(z, size(z,1), size(z,2), s1, &
702  xmin, xmax, ymin, ymax, &
703  clevel, size(clevel), fill_width, &
704  cont_color, cont_width, tr, size(z,1), rect)
705 
706  end subroutine
707 
708 !***********************************************************************
709 
710  subroutine plimagefr_0(z,xmin,xmax,ymin,ymax,zmin,zmax, &
711  valuemin,valuemax)
712 
713  implicit none
714  real(kind=plflt) z(:,:)
715  real(kind=plflt) xmin, xmax, ymin, ymax, zmin, zmax, valuemin, valuemax
716 
717  call plimagefr07(z,size(z,1),size(z,2),xmin,xmax,ymin,ymax,zmin,zmax, &
718  valuemin,valuemax,size(z,1))
719 
720  end subroutine
721 
722 !***********************************************************************
723 
724  subroutine plimagefr_1(z,xmin,xmax,ymin,ymax,zmin,zmax, &
725  valuemin,valuemax,xg,yg)
726 
727  implicit none
728  real(kind=plflt) z(:,:), xg(:), yg(:)
729  real(kind=plflt) xmin, xmax, ymin, ymax, zmin, zmax, valuemin, valuemax
730 
731  call plimagefr17(z,size(z,1),size(z,2),xmin,xmax,ymin,ymax,zmin,zmax, &
732  valuemin,valuemax,xg,yg,size(z,1))
733 
734  end subroutine
735 
736 !***********************************************************************
737 
738  subroutine plimagefr_2(z,xmin,xmax,ymin,ymax,zmin,zmax, &
739  valuemin,valuemax,xg,yg)
740 
741  implicit none
742  real(kind=plflt) z(:,:), xg(:,:), yg(:,:)
743  real(kind=plflt) xmin, xmax, ymin, ymax, zmin, zmax, valuemin, valuemax
744 
745  call plimagefr27(z,size(z,1),size(z,2),xmin,xmax,ymin,ymax,zmin,zmax, &
746  valuemin,valuemax,xg,yg,size(z,1))
747 
748  end subroutine
749 
750 !***********************************************************************
751 
752  subroutine plimagefr_tr(z,xmin,xmax,ymin,ymax,zmin,zmax, &
753  valuemin,valuemax,tr)
754 
755  implicit none
756  real(kind=plflt) z(:,:)
757  real(kind=plflt) xmin, xmax, ymin, ymax, zmin, zmax, valuemin, valuemax
758  real(kind=plflt) tr(6)
759 
760  call plimagefr7(z,size(z,1),size(z,2),xmin,xmax,ymin,ymax,zmin,zmax, &
761  valuemin,valuemax,tr,size(z,1))
762 
763  end subroutine
764 
765 !***********************************************************************
766 
767  subroutine pllab(xlab,ylab,title)
768 
769  implicit none
770  character*(*) xlab,ylab,title
771 
772  call plstrf2c(xlab, string1)
773  call plstrf2c(ylab, string2)
774  call plstrf2c(title, string3)
775 
776  s1 = transfer( string1, s1 )
777  s2 = transfer( string2, s2 )
778  s3 = transfer( string3, s3 )
779  call pllab7(s1,s2,s3)
780 
781  end subroutine
782 
783 !***********************************************************************
784 
785  subroutine plspal0(filename)
786 
787  implicit none
788  character*(*) filename
789 
790  call plstrf2c(filename, string1)
791 
792  s1 = transfer( string1, s1 )
793  call plspal07(s1)
794 
795  end subroutine
796 
797 !***********************************************************************
798 
799  subroutine plspal1(filename,interpolate)
800 
801  implicit none
802  character*(*) filename
803  integer interpolate
804 
805  call plstrf2c(filename, string1)
806 
807  s1 = transfer( string1, s1 )
808  call plspal17(s1,interpolate)
809 
810  end subroutine
811 
812 !***********************************************************************
813 
814  subroutine plmtex(side,disp,pos,xjust,text)
815 
816  implicit none
817  real(kind=plflt) disp, pos, xjust
818  character*(*) side, text
819 
820  call plstrf2c(side, string1)
821  call plstrf2c(text, string2)
822 
823  s1 = transfer( string1, s1 )
824  s2 = transfer( string2, s2 )
825  call plmtex7(s1,disp,pos,xjust,s2)
826 
827  end subroutine
828 
829 !***********************************************************************
830 
831  subroutine plmtex3(side,disp,pos,xjust,text)
832 
833  implicit none
834  real(kind=plflt) disp, pos, xjust
835  character*(*) side, text
836 
837  call plstrf2c(side, string1)
838  call plstrf2c(text, string2)
839 
840  s1 = transfer( string1, s1 )
841  s2 = transfer( string2, s2 )
842  call plmtex37(s1,disp,pos,xjust,s2)
843 
844  end subroutine
845 
846 !***********************************************************************
847 
848  subroutine plptex(x,y,dx,dy,xjust,text)
849 
850  implicit none
851  real(kind=plflt) x, y, dx, dy, xjust
852  character*(*) text
853 
854  call plstrf2c(text, string1)
855 
856  s1 = transfer( string1, s1 )
857  call plptex7(x,y,dx,dy,xjust,s1)
858 
859  end subroutine
860 
861 !***********************************************************************
862 
863  subroutine plptex3(x,y,z,dx,dy,dz,sx,sy,sz,xjust,text)
864 
865  implicit none
866  real(kind=plflt) x, y, z, dx, dy, dz, sx, sy, sz, xjust
867  character*(*) text
868 
869  call plstrf2c(text, string1)
870 
871  s1 = transfer( string1, s1 )
872  call plptex37(x,y,z,dx,dy,dz,sx,sy,sz,xjust,s1)
873 
874  end subroutine
875 
876 !***********************************************************************
877 
878  subroutine plstart(devname, nx, ny)
879 
880  implicit none
881  character*(*) devname
882  integer nx, ny
883 
884  call plstrf2c(devname, string1)
885 
886  s1 = transfer( string1, s1 )
887  call plstart7(s1, nx, ny)
888 
889  end subroutine
890 
891 !***********************************************************************
892 
893  subroutine pltimefmt(fmt)
894 
895  implicit none
896  character*(*) fmt
897 
898  call plstrf2c(fmt, string1)
899  s1 = transfer( string1, s1 )
900  call pltimefmt7(s1)
901 
902  end subroutine
903 
904 !***********************************************************************