18 subroutine ezspline_load1_r8(spline_o, filename, ier, spl_name)
22 type(EZspline1_r8) :: spline_o
23 character*(*) :: filename
27 integer,
intent(out) :: ier
29 character*(*),
intent(in),
OPTIONAL :: spl_name
34 character(2),
parameter :: real8=
'R8'
35 character(3),
parameter :: int=
'INT'
37 real(ezspline_r8),
dimension(:),
allocatable :: f
39 character*4 :: data_type
44 if(
present(spl_name))
then
51 call cdfopn(ncid, filename,
'r')
60 call cdfinqvar(ncid, trim(zpre)//
'n1', dimlens, data_type, ifail)
65 call cdfinqvar(ncid, trim(zpre)//
'n2', dimlens, data_type, ifail)
74 call cdfinqvar(ncid, trim(zpre)//
'x1pkg', dimlens, data_type, ifail)
83 call cdfgetvar(ncid, trim(zpre)//
'n1', n1, ifail)
84 call cdfgetvar(ncid, trim(zpre)//
'isLinear', spline_o%isLinear, ifail)
85 if(ifail.ne.0) spline_o%isLinear=0
87 if(spline_o%isLinear.eq.1)
then
88 call ezlinear_init1_r8(spline_o, n1, ier)
91 call ezspline_init1_r8(spline_o, n1, bcs1, ier)
95 call cdfgetvar(ncid, trim(zpre)//
'klookup1', spline_o%klookup1, ifail)
96 if(ifail.ne.0) spline_o%klookup1=-3
98 call cdfgetvar(ncid, trim(zpre)//
'isHermite', spline_o%isHermite, ifail)
99 call cdfgetvar(ncid, trim(zpre)//
'isReady', spline_o%isReady, ifail)
100 call cdfgetvar(ncid, trim(zpre)//
'ibctype1', spline_o%ibctype1, ifail)
101 call cdfgetvar(ncid, trim(zpre)//
'x1', spline_o%x1, ifail)
102 call cdfgetvar(ncid, trim(zpre)//
'bcval1min', spline_o%bcval1min, ifail)
103 call cdfgetvar(ncid, trim(zpre)//
'bcval1max', spline_o%bcval1max, ifail)
111 if(spline_o%isReady==1)
then
112 call cdfgetvar(ncid, trim(zpre)//
'f', f, ifail)
117 call cdfgetvar(ncid, trim(zpre)//
'x1min', spline_o%x1min, ifail)
118 call cdfgetvar(ncid, trim(zpre)//
'x1max', spline_o%x1max, ifail)
119 call cdfgetvar(ncid, trim(zpre)//
'ilin1', spline_o%ilin1, ifail)
120 call cdfgetvar(ncid, trim(zpre)//
'x1pkg', spline_o%x1pkg, ifail)
121 call cdfgetvar(ncid, trim(zpre)//
'fspl', spline_o%fspl, ifail)
132 call ezspline_setup1_r8x(spline_o, f, ier)
134 if(ifail /=0) ier = 22
137 end subroutine ezspline_load1_r8
148 subroutine ezspline_load2_r8(spline_o, filename, ier, spl_name)
152 type(EZspline2_r8) :: spline_o
153 character*(*) :: filename
158 integer,
intent(out) :: ier
160 character*(*),
intent(in),
OPTIONAL :: spl_name
163 integer ncid, ifail, in0, in1, in2
165 character(2),
parameter :: real8=
'R8'
166 character(3),
parameter :: int=
'INT'
167 integer n1, n2, BCS1(2), BCS2(2), hspline(2)
168 real(ezspline_r8),
dimension(:,:),
allocatable :: f
170 character*4 :: data_type
175 if(
present(spl_name))
then
182 call cdfopn(ncid, filename,
'r')
191 call cdfinqvar(ncid, trim(zpre)//
'n1', dimlens, data_type, ifail)
196 call cdfinqvar(ncid, trim(zpre)//
'n2', dimlens, data_type, ifail)
201 call cdfinqvar(ncid, trim(zpre)//
'n3', dimlens, data_type, ifail)
210 call cdfinqvar(ncid, trim(zpre)//
'x1pkg', dimlens, data_type, ifail)
219 call cdfgetvar(ncid, trim(zpre)//
'n1', n1, ifail)
220 call cdfgetvar(ncid, trim(zpre)//
'n2', n2, ifail)
221 call cdfgetvar(ncid, trim(zpre)//
'isLinear', spline_o%isLinear, ifail)
222 if(ifail.ne.0) spline_o%isLinear=0
223 call cdfgetvar(ncid, trim(zpre)//
'isHybrid', spline_o%isHybrid, ifail)
224 if(ifail.ne.0) spline_o%isHybrid=0
227 if(spline_o%isLinear.eq.1)
then
228 call ezlinear_init2_r8(spline_o, n1, n2, ier)
229 else if(spline_o%isHybrid.eq.1)
then
230 call cdfgetvar(ncid, trim(zpre)//
'hspline', hspline, ifail)
231 call ezhybrid_init2_r8x(spline_o, n1, n2, hspline, ier)
233 bcs1 = (/0, 0/); bcs2 = (/0, 0/)
234 call ezspline_init2_r8(spline_o, n1, n2, bcs1, bcs2, ier)
238 call cdfgetvar(ncid, trim(zpre)//
'klookup1', spline_o%klookup1, ifail)
239 if(ifail.ne.0) spline_o%klookup1=-3
240 call cdfgetvar(ncid, trim(zpre)//
'klookup2', spline_o%klookup2, ifail)
241 if(ifail.ne.0) spline_o%klookup2=-3
243 call cdfgetvar(ncid, trim(zpre)//
'isHermite', spline_o%isHermite, ifail)
244 call cdfgetvar(ncid, trim(zpre)//
'isReady', spline_o%isReady, ifail)
245 call cdfgetvar(ncid, trim(zpre)//
'ibctype1', spline_o%ibctype1, ifail)
246 call cdfgetvar(ncid, trim(zpre)//
'ibctype2', spline_o%ibctype2, ifail)
247 call cdfgetvar(ncid, trim(zpre)//
'x1', spline_o%x1, ifail)
248 call cdfgetvar(ncid, trim(zpre)//
'x2', spline_o%x2, ifail)
249 call cdfgetvar(ncid, trim(zpre)//
'bcval1min', spline_o%bcval1min, ifail)
250 call cdfgetvar(ncid, trim(zpre)//
'bcval1max', spline_o%bcval1max, ifail)
251 call cdfgetvar(ncid, trim(zpre)//
'bcval2min', spline_o%bcval2min, ifail)
252 call cdfgetvar(ncid, trim(zpre)//
'bcval2max', spline_o%bcval2max, ifail)
258 in0=
size(spline_o%fspl,1)
259 in1=
size(spline_o%fspl,2)
260 in2=
size(spline_o%fspl,3)
264 if(spline_o%isReady==1)
then
265 call cdfgetvar(ncid, trim(zpre)//
'f', f, ifail)
270 call cdfgetvar(ncid, trim(zpre)//
'x1min', spline_o%x1min, ifail)
271 call cdfgetvar(ncid, trim(zpre)//
'x1max', spline_o%x1max, ifail)
272 call cdfgetvar(ncid, trim(zpre)//
'ilin1', spline_o%ilin1, ifail)
273 call cdfgetvar(ncid, trim(zpre)//
'x2min', spline_o%x2min, ifail)
274 call cdfgetvar(ncid, trim(zpre)//
'x2max', spline_o%x2max, ifail)
275 call cdfgetvar(ncid, trim(zpre)//
'ilin2', spline_o%ilin2, ifail)
276 call cdfgetvar(ncid, trim(zpre)//
'x1pkg', spline_o%x1pkg, ifail)
277 call cdfgetvar(ncid, trim(zpre)//
'x2pkg', spline_o%x2pkg, ifail)
278 call cdfgetvar(ncid, trim(zpre)//
'fspl', spline_o%fspl, ifail)
289 call ezspline_setup2_r8x(spline_o, f, ier)
291 if(ifail /=0) ier = 22
294 end subroutine ezspline_load2_r8
302 subroutine ezspline_load3_r8(spline_o, filename, ier, spl_name)
306 type(EZspline3_r8) :: spline_o
307 character*(*) :: filename
311 integer,
intent(out) :: ier
313 character*(*),
intent(in),
OPTIONAL :: spl_name
316 integer ncid, ifail, in0, in1, in2, in3
318 character(2),
parameter :: real8=
'R8'
319 character(3),
parameter :: int=
'INT'
320 integer n1, n2, n3, BCS1(2), BCS2(2), BCS3(2), hspline(3)
321 real(ezspline_r8),
dimension(:,:,:),
allocatable :: f
323 character*4 :: data_type
328 if(
present(spl_name))
then
335 call cdfopn(ncid, filename,
'r')
344 call cdfinqvar(ncid, trim(zpre)//
'n1', dimlens, data_type, ifail)
349 call cdfinqvar(ncid, trim(zpre)//
'n2', dimlens, data_type, ifail)
354 call cdfinqvar(ncid, trim(zpre)//
'n3', dimlens, data_type, ifail)
363 call cdfinqvar(ncid, trim(zpre)//
'x1pkg', dimlens, data_type, ifail)
372 call cdfgetvar(ncid, trim(zpre)//
'n1', n1, ifail)
373 call cdfgetvar(ncid, trim(zpre)//
'n2', n2, ifail)
374 call cdfgetvar(ncid, trim(zpre)//
'n3', n3, ifail)
375 call cdfgetvar(ncid, trim(zpre)//
'isLinear', spline_o%isLinear, ifail)
376 if(ifail.ne.0) spline_o%isLinear=0
377 call cdfgetvar(ncid, trim(zpre)//
'isHybrid', spline_o%isHybrid, ifail)
378 if(ifail.ne.0) spline_o%isHybrid=0
381 if(spline_o%isLinear.eq.1)
then
382 call ezlinear_init3_r8(spline_o, n1, n2, n3, ier)
383 else if(spline_o%isHybrid.eq.1)
then
384 call cdfgetvar(ncid, trim(zpre)//
'hspline', hspline, ifail)
385 call ezhybrid_init3_r8x(spline_o, n1, n2, n3, hspline, ier)
387 bcs1 = (/0, 0/); bcs2 = (/0, 0/); bcs3 = (/0, 0/)
388 call ezspline_init3_r8(spline_o, n1, n2, n3, bcs1, bcs2, bcs3, ier)
392 call cdfgetvar(ncid, trim(zpre)//
'klookup1', spline_o%klookup1, ifail)
393 if(ifail.ne.0) spline_o%klookup1=-3
394 call cdfgetvar(ncid, trim(zpre)//
'klookup2', spline_o%klookup2, ifail)
395 if(ifail.ne.0) spline_o%klookup2=-3
396 call cdfgetvar(ncid, trim(zpre)//
'klookup3', spline_o%klookup3, ifail)
397 if(ifail.ne.0) spline_o%klookup3=-3
399 call cdfgetvar(ncid, trim(zpre)//
'isHermite', spline_o%isHermite, ifail)
400 call cdfgetvar(ncid, trim(zpre)//
'isReady', spline_o%isReady, ifail)
401 call cdfgetvar(ncid, trim(zpre)//
'ibctype1', spline_o%ibctype1, ifail)
402 call cdfgetvar(ncid, trim(zpre)//
'ibctype2', spline_o%ibctype2, ifail)
403 call cdfgetvar(ncid, trim(zpre)//
'ibctype3', spline_o%ibctype3, ifail)
404 call cdfgetvar(ncid, trim(zpre)//
'x1', spline_o%x1, ifail)
405 call cdfgetvar(ncid, trim(zpre)//
'x2', spline_o%x2, ifail)
406 call cdfgetvar(ncid, trim(zpre)//
'x3', spline_o%x3, ifail)
407 call cdfgetvar(ncid, trim(zpre)//
'bcval1min', spline_o%bcval1min, ifail)
408 call cdfgetvar(ncid, trim(zpre)//
'bcval1max', spline_o%bcval1max, ifail)
409 call cdfgetvar(ncid, trim(zpre)//
'bcval2min', spline_o%bcval2min, ifail)
410 call cdfgetvar(ncid, trim(zpre)//
'bcval2max', spline_o%bcval2max, ifail)
411 call cdfgetvar(ncid, trim(zpre)//
'bcval3min', spline_o%bcval3min, ifail)
412 call cdfgetvar(ncid, trim(zpre)//
'bcval3max', spline_o%bcval3max, ifail)
418 in0=
size(spline_o%fspl,1)
419 in1=
size(spline_o%fspl,2)
420 in2=
size(spline_o%fspl,3)
421 in3=
size(spline_o%fspl,4)
424 allocate(f(in1,in2,in3))
425 if(spline_o%isReady==1)
then
426 call cdfgetvar(ncid, trim(zpre)//
'f', f, ifail)
431 call cdfgetvar(ncid, trim(zpre)//
'x1min', spline_o%x1min, ifail)
432 call cdfgetvar(ncid, trim(zpre)//
'x1max', spline_o%x1max, ifail)
433 call cdfgetvar(ncid, trim(zpre)//
'ilin1', spline_o%ilin1, ifail)
434 call cdfgetvar(ncid, trim(zpre)//
'x2min', spline_o%x2min, ifail)
435 call cdfgetvar(ncid, trim(zpre)//
'x2max', spline_o%x2max, ifail)
436 call cdfgetvar(ncid, trim(zpre)//
'ilin2', spline_o%ilin2, ifail)
437 call cdfgetvar(ncid, trim(zpre)//
'x3min', spline_o%x3min, ifail)
438 call cdfgetvar(ncid, trim(zpre)//
'x3max', spline_o%x3max, ifail)
439 call cdfgetvar(ncid, trim(zpre)//
'ilin3', spline_o%ilin3, ifail)
440 call cdfgetvar(ncid, trim(zpre)//
'x1pkg', spline_o%x1pkg, ifail)
441 call cdfgetvar(ncid, trim(zpre)//
'x2pkg', spline_o%x2pkg, ifail)
442 call cdfgetvar(ncid, trim(zpre)//
'x3pkg', spline_o%x3pkg, ifail)
443 call ezspline_cdfget3(ncid, trim(zpre)//
'fspl', spline_o%fspl, &
444 in0*in1, in2, in3, ifail)
455 call ezspline_setup3_r8x(spline_o, f, ier)
457 if(ifail /=0) ier = 22
460 end subroutine ezspline_load3_r8
469 subroutine ezspline_load1_r4(spline_o, filename, ier, spl_name)
473 type(EZspline1_r4) :: spline_o
474 character*(*) :: filename
478 integer,
intent(out) :: ier
480 character*(*),
intent(in),
OPTIONAL :: spl_name
485 character(2),
parameter :: real8=
'R8'
486 character(3),
parameter :: int=
'INT'
488 real(ezspline_r4),
dimension(:),
allocatable :: f
490 character*4 :: data_type
495 if(
present(spl_name))
then
502 call cdfopn(ncid, filename,
'r')
511 call cdfinqvar(ncid, trim(zpre)//
'n1', dimlens, data_type, ifail)
516 call cdfinqvar(ncid, trim(zpre)//
'n2', dimlens, data_type, ifail)
525 call cdfinqvar(ncid, trim(zpre)//
'x1pkg', dimlens, data_type, ifail)
534 call cdfgetvar(ncid, trim(zpre)//
'n1', n1, ifail)
535 call cdfgetvar(ncid, trim(zpre)//
'isLinear', spline_o%isLinear, ifail)
536 if(ifail.ne.0) spline_o%isLinear=0
538 if(spline_o%isLinear.eq.1)
then
539 call ezlinear_init1_r4(spline_o, n1, ier)
542 call ezspline_init1_r4(spline_o, n1, bcs1, ier)
546 call cdfgetvar(ncid, trim(zpre)//
'klookup1', spline_o%klookup1, ifail)
547 if(ifail.ne.0) spline_o%klookup1=-3
549 call cdfgetvar(ncid, trim(zpre)//
'isHermite', spline_o%isHermite, ifail)
550 call cdfgetvar(ncid, trim(zpre)//
'isReady', spline_o%isReady, ifail)
551 call cdfgetvar(ncid, trim(zpre)//
'ibctype1', spline_o%ibctype1, ifail)
552 call cdfgetvar(ncid, trim(zpre)//
'x1', spline_o%x1, ifail)
553 call cdfgetvar(ncid, trim(zpre)//
'bcval1min', spline_o%bcval1min, ifail)
554 call cdfgetvar(ncid, trim(zpre)//
'bcval1max', spline_o%bcval1max, ifail)
562 if(spline_o%isReady==1)
then
563 call cdfgetvar(ncid, trim(zpre)//
'f', f, ifail)
568 call cdfgetvar(ncid, trim(zpre)//
'x1min', spline_o%x1min, ifail)
569 call cdfgetvar(ncid, trim(zpre)//
'x1max', spline_o%x1max, ifail)
570 call cdfgetvar(ncid, trim(zpre)//
'ilin1', spline_o%ilin1, ifail)
571 call cdfgetvar(ncid, trim(zpre)//
'x1pkg', spline_o%x1pkg, ifail)
572 call cdfgetvar(ncid, trim(zpre)//
'fspl', spline_o%fspl, ifail)
583 call ezspline_setup1_r4x(spline_o, f, ier)
585 if(ifail /=0) ier = 22
588 end subroutine ezspline_load1_r4
599 subroutine ezspline_load2_r4(spline_o, filename, ier, spl_name)
603 type(EZspline2_r4) :: spline_o
604 character*(*) :: filename
609 integer,
intent(out) :: ier
611 character*(*),
intent(in),
OPTIONAL :: spl_name
614 integer ncid, ifail, in0, in1, in2
616 character(2),
parameter :: real8=
'R8'
617 character(3),
parameter :: int=
'INT'
618 integer n1, n2, BCS1(2), BCS2(2), hspline(2)
619 real(ezspline_r4),
dimension(:,:),
allocatable :: f
621 character*4 :: data_type
626 if(
present(spl_name))
then
633 call cdfopn(ncid, filename,
'r')
642 call cdfinqvar(ncid, trim(zpre)//
'n1', dimlens, data_type, ifail)
647 call cdfinqvar(ncid, trim(zpre)//
'n2', dimlens, data_type, ifail)
652 call cdfinqvar(ncid, trim(zpre)//
'n3', dimlens, data_type, ifail)
661 call cdfinqvar(ncid, trim(zpre)//
'x1pkg', dimlens, data_type, ifail)
670 call cdfgetvar(ncid, trim(zpre)//
'n1', n1, ifail)
671 call cdfgetvar(ncid, trim(zpre)//
'n2', n2, ifail)
672 call cdfgetvar(ncid, trim(zpre)//
'isLinear', spline_o%isLinear, ifail)
673 if(ifail.ne.0) spline_o%isLinear=0
674 call cdfgetvar(ncid, trim(zpre)//
'isHybrid', spline_o%isHybrid, ifail)
675 if(ifail.ne.0) spline_o%isHybrid=0
678 if(spline_o%isLinear.eq.1)
then
679 call ezlinear_init2_r4(spline_o, n1, n2, ier)
680 else if(spline_o%isHybrid.eq.1)
then
681 call cdfgetvar(ncid, trim(zpre)//
'hspline', hspline, ifail)
682 call ezhybrid_init2_r4x(spline_o, n1, n2, hspline, ier)
684 bcs1 = (/0, 0/); bcs2 = (/0, 0/)
685 call ezspline_init2_r4(spline_o, n1, n2, bcs1, bcs2, ier)
689 call cdfgetvar(ncid, trim(zpre)//
'klookup1', spline_o%klookup1, ifail)
690 if(ifail.ne.0) spline_o%klookup1=-3
691 call cdfgetvar(ncid, trim(zpre)//
'klookup2', spline_o%klookup2, ifail)
692 if(ifail.ne.0) spline_o%klookup2=-3
694 call cdfgetvar(ncid, trim(zpre)//
'isHermite', spline_o%isHermite, ifail)
695 call cdfgetvar(ncid, trim(zpre)//
'isReady', spline_o%isReady, ifail)
696 call cdfgetvar(ncid, trim(zpre)//
'ibctype1', spline_o%ibctype1, ifail)
697 call cdfgetvar(ncid, trim(zpre)//
'ibctype2', spline_o%ibctype2, ifail)
698 call cdfgetvar(ncid, trim(zpre)//
'x1', spline_o%x1, ifail)
699 call cdfgetvar(ncid, trim(zpre)//
'x2', spline_o%x2, ifail)
700 call cdfgetvar(ncid, trim(zpre)//
'bcval1min', spline_o%bcval1min, ifail)
701 call cdfgetvar(ncid, trim(zpre)//
'bcval1max', spline_o%bcval1max, ifail)
702 call cdfgetvar(ncid, trim(zpre)//
'bcval2min', spline_o%bcval2min, ifail)
703 call cdfgetvar(ncid, trim(zpre)//
'bcval2max', spline_o%bcval2max, ifail)
709 in0=
size(spline_o%fspl,1)
710 in1=
size(spline_o%fspl,2)
711 in2=
size(spline_o%fspl,3)
715 if(spline_o%isReady==1)
then
716 call cdfgetvar(ncid, trim(zpre)//
'f', f, ifail)
721 call cdfgetvar(ncid, trim(zpre)//
'x1min', spline_o%x1min, ifail)
722 call cdfgetvar(ncid, trim(zpre)//
'x1max', spline_o%x1max, ifail)
723 call cdfgetvar(ncid, trim(zpre)//
'ilin1', spline_o%ilin1, ifail)
724 call cdfgetvar(ncid, trim(zpre)//
'x2min', spline_o%x2min, ifail)
725 call cdfgetvar(ncid, trim(zpre)//
'x2max', spline_o%x2max, ifail)
726 call cdfgetvar(ncid, trim(zpre)//
'ilin2', spline_o%ilin2, ifail)
727 call cdfgetvar(ncid, trim(zpre)//
'x1pkg', spline_o%x1pkg, ifail)
728 call cdfgetvar(ncid, trim(zpre)//
'x2pkg', spline_o%x2pkg, ifail)
729 call cdfgetvar(ncid, trim(zpre)//
'fspl', spline_o%fspl, ifail)
740 call ezspline_setup2_r4x(spline_o, f, ier)
742 if(ifail /=0) ier = 22
745 end subroutine ezspline_load2_r4
753 subroutine ezspline_load3_r4(spline_o, filename, ier, spl_name)
757 type(EZspline3_r4) :: spline_o
758 character*(*) :: filename
762 integer,
intent(out) :: ier
764 character*(*),
intent(in),
OPTIONAL :: spl_name
767 integer ncid, ifail, in0, in1, in2, in3
769 character(2),
parameter :: real8=
'R8'
770 character(3),
parameter :: int=
'INT'
771 integer n1, n2, n3, BCS1(2), BCS2(2), BCS3(2), hspline(3)
772 real(ezspline_r4),
dimension(:,:,:),
allocatable :: f
774 character*4 :: data_type
779 if(
present(spl_name))
then
786 call cdfopn(ncid, filename,
'r')
795 call cdfinqvar(ncid, trim(zpre)//
'n1', dimlens, data_type, ifail)
800 call cdfinqvar(ncid, trim(zpre)//
'n2', dimlens, data_type, ifail)
805 call cdfinqvar(ncid, trim(zpre)//
'n3', dimlens, data_type, ifail)
814 call cdfinqvar(ncid, trim(zpre)//
'x1pkg', dimlens, data_type, ifail)
823 call cdfgetvar(ncid, trim(zpre)//
'n1', n1, ifail)
824 call cdfgetvar(ncid, trim(zpre)//
'n2', n2, ifail)
825 call cdfgetvar(ncid, trim(zpre)//
'n3', n3, ifail)
826 call cdfgetvar(ncid, trim(zpre)//
'isLinear', spline_o%isLinear, ifail)
827 if(ifail.ne.0) spline_o%isLinear=0
828 call cdfgetvar(ncid, trim(zpre)//
'isHybrid', spline_o%isHybrid, ifail)
829 if(ifail.ne.0) spline_o%isHybrid=0
832 if(spline_o%isLinear.eq.1)
then
833 call ezlinear_init3_r4(spline_o, n1, n2, n3, ier)
834 else if(spline_o%isHybrid.eq.1)
then
835 call cdfgetvar(ncid, trim(zpre)//
'hspline', hspline, ifail)
836 call ezhybrid_init3_r4x(spline_o, n1, n2, n3, hspline, ier)
838 bcs1 = (/0, 0/); bcs2 = (/0, 0/); bcs3 = (/0, 0/)
839 call ezspline_init3_r4(spline_o, n1, n2, n3, bcs1, bcs2, bcs3, ier)
843 call cdfgetvar(ncid, trim(zpre)//
'klookup1', spline_o%klookup1, ifail)
844 if(ifail.ne.0) spline_o%klookup1=-3
845 call cdfgetvar(ncid, trim(zpre)//
'klookup2', spline_o%klookup2, ifail)
846 if(ifail.ne.0) spline_o%klookup2=-3
847 call cdfgetvar(ncid, trim(zpre)//
'klookup3', spline_o%klookup3, ifail)
848 if(ifail.ne.0) spline_o%klookup3=-3
850 call cdfgetvar(ncid, trim(zpre)//
'isHermite', spline_o%isHermite, ifail)
851 call cdfgetvar(ncid, trim(zpre)//
'isReady', spline_o%isReady, ifail)
852 call cdfgetvar(ncid, trim(zpre)//
'ibctype1', spline_o%ibctype1, ifail)
853 call cdfgetvar(ncid, trim(zpre)//
'ibctype2', spline_o%ibctype2, ifail)
854 call cdfgetvar(ncid, trim(zpre)//
'ibctype3', spline_o%ibctype3, ifail)
855 call cdfgetvar(ncid, trim(zpre)//
'x1', spline_o%x1, ifail)
856 call cdfgetvar(ncid, trim(zpre)//
'x2', spline_o%x2, ifail)
857 call cdfgetvar(ncid, trim(zpre)//
'x3', spline_o%x3, ifail)
858 call cdfgetvar(ncid, trim(zpre)//
'bcval1min', spline_o%bcval1min, ifail)
859 call cdfgetvar(ncid, trim(zpre)//
'bcval1max', spline_o%bcval1max, ifail)
860 call cdfgetvar(ncid, trim(zpre)//
'bcval2min', spline_o%bcval2min, ifail)
861 call cdfgetvar(ncid, trim(zpre)//
'bcval2max', spline_o%bcval2max, ifail)
862 call cdfgetvar(ncid, trim(zpre)//
'bcval3min', spline_o%bcval3min, ifail)
863 call cdfgetvar(ncid, trim(zpre)//
'bcval3max', spline_o%bcval3max, ifail)
869 in0=
size(spline_o%fspl,1)
870 in1=
size(spline_o%fspl,2)
871 in2=
size(spline_o%fspl,3)
872 in3=
size(spline_o%fspl,4)
875 allocate(f(in1,in2,in3))
876 if(spline_o%isReady==1)
then
877 call cdfgetvar(ncid, trim(zpre)//
'f', f, ifail)
882 call cdfgetvar(ncid, trim(zpre)//
'x1min', spline_o%x1min, ifail)
883 call cdfgetvar(ncid, trim(zpre)//
'x1max', spline_o%x1max, ifail)
884 call cdfgetvar(ncid, trim(zpre)//
'ilin1', spline_o%ilin1, ifail)
885 call cdfgetvar(ncid, trim(zpre)//
'x2min', spline_o%x2min, ifail)
886 call cdfgetvar(ncid, trim(zpre)//
'x2max', spline_o%x2max, ifail)
887 call cdfgetvar(ncid, trim(zpre)//
'ilin2', spline_o%ilin2, ifail)
888 call cdfgetvar(ncid, trim(zpre)//
'x3min', spline_o%x3min, ifail)
889 call cdfgetvar(ncid, trim(zpre)//
'x3max', spline_o%x3max, ifail)
890 call cdfgetvar(ncid, trim(zpre)//
'ilin3', spline_o%ilin3, ifail)
891 call cdfgetvar(ncid, trim(zpre)//
'x1pkg', spline_o%x1pkg, ifail)
892 call cdfgetvar(ncid, trim(zpre)//
'x2pkg', spline_o%x2pkg, ifail)
893 call cdfgetvar(ncid, trim(zpre)//
'x3pkg', spline_o%x3pkg, ifail)
894 call ezspline_cdfget3(ncid, trim(zpre)//
'fspl', spline_o%fspl, &
895 in0*in1, in2, in3, ifail)
906 call ezspline_setup3_r4x(spline_o, f, ier)
908 if(ifail /=0) ier = 22
911 end subroutine ezspline_load3_r4