60 integer :: template_num
62 integer,
dimension(MAXLEN) :: mappds
72 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4/
78 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1/
84 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1/
90 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1,1,1,1,1,-4,-4,4,4,
97 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1,1,1,1,1,-4,4,4,
104 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1,-1,-4,-1,-4/
110 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1/
116 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4/
122 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,2,1,1,1,1,1,1,4,1,1,1,4,1,4/
128 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1,-1,-4,-1,-4,2,1,1,1,
129 & 1,1,1,4,1,1,1,4,1,4/
135 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,2,1,1,1,1,1,1,4,
142 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1,2,1,1,1,1,1,1,
149 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,
150 & 2,1,1,1,1,1,1,4,1,1,1,4,1,4/
156 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1,1,1,1,1,-4,-4,4,4,
157 & 1,-1,4,-1,4,2,1,1,1,1,1,1,4,1,1,1,4,1,4/
163 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1,1,1,1,1,-4,4,4,
164 & 1,-1,4,-1,4,2,1,1,1,1,1,1,4,1,1,1,4,1,4/
170 & /1,1,1,1,1,-4,4,2,4,2,1,1,1,1,1,2,1,3,2/
188 & /1,1,1,1,1,2,1,1,4/
194 & /1,1,1,1,1,2,1,1,4,4,1,1,1,4,1,4/
200 & /1,1,1,1,1,2,1,1,4,1,1,1,4,4,2/
206 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4/
212 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,4,1,1,1,4,1,4/
224 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1/
230 & /1,1,2,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4/
236 & /1,1,2,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1/
242 & /1,1,2,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,2,1,1,1,1,1,1,4,
249 & /1,1,2,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1,2,1,1,1,1,1,1,4,
256 & /1,1,2,1,-1,-4,-1,-4,1,1,1,2,1,1,2,1,-1,-4,1,-1,-4/
262 & /1,1,2,1,-1,-4,-1,-4,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1/
268 & /1,1,2,1,-1,-4,-1,-4,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,2,1,1,1,1,
275 & /1,1,1,2,1,-1,-4,-1,-4,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1,2,1,
276 & 1,1,1,1,1,4,1,1,1,4,1,4/
282 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1/
290 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1,-1,-4,-1,-4,
291 & 2,1,1,1,1,1,1,4,1,1,1,4,1,4/
297 & /1,1,1,1,1,2,1,1,4,1/
305 & /1,1,2,1,-1,-4,-1,-4,1,-1,-4,-1,-4,1,1,1,2,1,1,4,1,-1,-4,
314 & /1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,4,4,4,4/
322 & /1,1,1,1,1,1,1,1,2,1,1,4,1,-1,-4/
330 & /1,1,1,1,1,2,1,1,4,1,2,2,2,-1,-4,1,1,1/
338 & /1,1,1,1,1,2,1,1,4,1,2,2,2,-1,-4,1,1,1,2,1,1,1,
339 & 1,1,1,4,1,1,1,4,1,4/
347 & /1,1,1,1,4,2,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4/
355 & /1,1,1,1,4,2,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1/
372 integer,
intent(in) :: number
377 if (number.eq.
templates(j)%template_num)
then
413 integer,
intent(in) :: number
414 integer,
intent(out) :: nummap,map(*),iret
415 logical,
intent(out) :: needext
421 if (index.ne.-1)
then
424 map(1:nummap)=
templates(index)%mappds(1:nummap)
428 print *,
'getpdstemplate: PDS Template ',number,
460 integer,
intent(in) :: number,list(*)
461 integer,
intent(out) :: nummap,map(*)
464 if (index.eq.-1)
return
466 if ( .not.
templates(index)%needext )
return
468 map(1:nummap)=
templates(index)%mappds(1:nummap)
470 if ( number.eq.3 )
then
476 elseif ( number.eq.4 )
then
482 elseif ( number.eq.8 )
then
483 if ( list(22).gt.1 )
then
486 map(nummap+k)=map(23+k)
491 elseif ( number.eq.9 )
then
492 if ( list(29).gt.1 )
then
495 map(nummap+k)=map(30+k)
500 elseif ( number.eq.10 )
then
501 if ( list(23).gt.1 )
then
504 map(nummap+k)=map(24+k)
509 elseif ( number.eq.11 )
then
510 if ( list(25).gt.1 )
then
513 map(nummap+k)=map(26+k)
518 elseif ( number.eq.12 )
then
519 if ( list(24).gt.1 )
then
522 map(nummap+k)=map(25+k)
527 elseif ( number.eq.13 )
then
528 if ( list(38).gt.1 )
then
531 map(nummap+k)=map(39+k)
541 elseif ( number.eq.14 )
then
542 if ( list(37).gt.1 )
then
545 map(nummap+k)=map(38+k)
555 elseif ( number.eq.30 )
then
564 elseif ( number.eq.31 )
then
573 elseif ( number.eq.32 )
then
582 elseif ( number.eq.33 )
then
588 elseif ( number.eq.34 )
then
589 if ( list(25).gt.1 )
then
592 map(nummap+k)=map(26+k)
602 elseif ( number.eq.42 )
then
603 if ( list(23).gt.1 )
then
606 map(nummap+k)=map(24+k)
611 elseif ( number.eq.43 )
then
612 if ( list(26).gt.1 )
then
615 map(nummap+k)=map(27+k)
620 elseif ( number.eq.46 )
then
621 if ( list(28).gt.1 )
then
624 map(nummap+k)=map(29+k)
629 elseif ( number.eq.47 )
then
630 if ( list(31).gt.1 )
then
633 map(nummap+k)=map(32+k)
638 elseif ( number.eq.51 )
then
648 elseif ( number.eq.53 )
then
654 elseif ( number.eq.54 )
then
660 elseif ( number.eq.91 )
then
661 if ( list(29).gt.1 )
then
664 map(nummap+k)=map(30+k)
691 integer,
intent(in) :: number
697 if (index.ne.-1)
then