summaryrefslogtreecommitdiff
path: root/Dragon/src/LIB.f
diff options
context:
space:
mode:
Diffstat (limited to 'Dragon/src/LIB.f')
-rw-r--r--Dragon/src/LIB.f31
1 files changed, 28 insertions, 3 deletions
diff --git a/Dragon/src/LIB.f b/Dragon/src/LIB.f
index d8a8b5b..5a453f6 100644
--- a/Dragon/src/LIB.f
+++ b/Dragon/src/LIB.f
@@ -59,12 +59,12 @@
* LOCAL PARAMETERS
*----
CHARACTER TEXT12*12,HSIGN*12,HVECT(MAXED)*8,HADD*8,NAMLCM*12,
- > NAMMY*12
+ > NAMMY*12,HHLIB*8,CFILNA*64
INTEGER ISTATE(NSTATE),IPRINT,NBISOX,NBMIXX,MAXMIX,INDREC,
> NBISO,NGRO,NGT,NGF,NGFR,NL,ITRANC,ITIME,NLIB,NIDEPL,
> NCOMB,NEDMAC,NBMIX,NRES,MAXISM,ILCMLN,ILCMTY,IED,
> JED,KED,IDP,IBSTEP,MAXISO,NDEPL,NEDMA0,ITPROC,ISOADD,
- > NADDXS,IPROB,IPROC,IMAC,NDEL,NFISS,IPRECI,STERN,
+ > NADDXS,IPROB,IPROC,IMAC,NDEL,NFISS,IPRECI,NEL,STERN,
> STERNR
REAL TMPDAY(3),DELT,TIMBRN,SVDEPS
INTEGER IKSTEP
@@ -373,7 +373,32 @@
IF(ITYPLU .NE. 1) CALL XABORT(NAMSBR//
> ': INTEGER VALUE EXPECTED FOR CALENDF ACCURACY')
ELSE IF(CARLIR(1:4) .EQ. 'DEPL') THEN
- CALL LIBDEP(IPLIB,IPRINT,NIDEPL)
+ CFILNA='**UNKNOWN**'
+ NEL=0
+ CALL REDGET(ITYPLU,NEL,REALIR,CARLIR,DBLLIR)
+ IF(ITYPLU.EQ.1) THEN
+ CFILNA=' '
+ ELSE IF((ITYPLU.EQ.3).AND.(CARLIR.EQ.'LIB:')) THEN
+ CALL REDGET(ITYPLU,INTLIR,REALIR,HHLIB,DBLLIR)
+ IF(ITYPLU.NE.3) THEN
+ CALL XABORT('LIB: CHARACTER LIBRARY NAME REQUIRED.')
+ ELSE IF((HHLIB.NE.'DRAGON ').AND.(HHLIB.NE.'WIMSAECL').AND.
+ > (HHLIB.NE.'WIMSD4 ').AND.(HHLIB.NE.'WIMSE ').AND.
+ > (HHLIB.NE.'APLIB2 ').AND.(HHLIB.NE.'APLIB3 ').AND.
+ > (HHLIB.NE.'NDAS ').AND.(HHLIB.NE.'APXSM ') ) THEN
+ WRITE(HSMG,'(27HLIB: INVALID EVOL LIB TYPE ,A8)') HHLIB
+ CALL XABORT(HSMG)
+ ENDIF
+ CALL REDGET(ITYPLU,INTLIR,REALIR,CARLIR,DBLLIR)
+ IF((ITYPLU.NE.3).OR.(CARLIR.NE.'FIL:'))
+ > CALL XABORT('LIB: FIL: EXPECTED.')
+ CFILNA=' '
+ CALL REDGET(ITYPLU,INTLIR,REALIR,CFILNA,DBLLIR)
+ IF(ITYPLU.NE.3) CALL XABORT('LIB: CHARACTER DATA EXPECTED.')
+ ELSE
+ CALL XABORT('LIB: INVALID KEY WORD AFTER DEPL.')
+ ENDIF
+ CALL LIBDEP(IPLIB,HHLIB,CFILNA,NEL,IPRINT,NIDEPL)
ELSE IF(CARLIR.EQ.'ADED') THEN
CALL REDGET(ITYPLU,NEDMA0,REALIR,CARLIR,DBLLIR)
IF(ITYPLU .NE. 1) CALL XABORT(NAMSBR//