summaryrefslogtreecommitdiff
path: root/Dragon/src/LIBND0.f
blob: 2a2ccf944ff01301d5587b71f9a0da3298e25100 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
*DECK LIBND0
      SUBROUTINE LIBND0 (NAMFIL,NGRO,IPENER)
*
*-----------------------------------------------------------------------
*
*Purpose:
* Recover energy group information from a NDAS library.
*
*Copyright:
* Copyright (C) 2006 Ecole Polytechnique de Montreal
*
*Author(s): A. Hebert
*
*Parameters: input
* NAMFIL  name of the NDAS file.
*
*Parameters: output
* NGRO    number of energy groups.
* IPENER  pointer of the energy mesh limit array.
*
*Reference:
* Copyright (C) from NDAS Atomic Energy of Canada Limited utility (2006)
*
*-----------------------------------------------------------------------
*
      USE GANLIB
      USE FSDF
      IMPLICIT NONE
*----
*  Subroutine arguments
*----
      INTEGER NGRO
      CHARACTER NAMFIL*(*)
      TYPE(C_PTR) IPENER
*----
*  Local variables
*----
      INTEGER IERR,HEADER(16)
      REAL, POINTER, DIMENSION(:) :: ENERG
*
      CALL XSDOPN(NAMFIL,IERR)
      IF(IERR.NE.0) CALL XABORT('LIBND0: XSDOPN could not open Library'
     >  //' files')
      CALL XSDBLD(6001,HEADER,IERR)
      IF(IERR.NE.0) CALL XABORT('LIBND0: XSDBLD could not read library'
     > //' parameters')
      NGRO=HEADER(2)
      IPENER=LCMARA(NGRO+1)
      CALL C_F_POINTER(IPENER,ENERG,(/ NGRO+1 /))
      CALL XSDBLD(5019,ENERG,IERR)
      IF(IERR.NE.0) CALL XABORT('LIBND0: XSDBLD could not read energy '
     >  //'group limits')
      CALL XSDCL()
      RETURN
      END