Hello
I have a fortran subroutine (beginning of the code attached below). I want to call it from my NCL script.
I wrote a "REGTST_interface.stub"
C NCLFORTSTART
SUBROUTINE REGTST(NSITES,NAMES,LEN,XMOM,A,B,SEED,NSIM,NPROB,PROB,KPRINT,KOUT,RMOM,D,VOBS,VBAR,VSD,H,Z,PARA)
PARAMETER (MAXNS=200,MAXQ=30,MAXREC=200)
CHARACTER*1 BLANK,STAR,LOOK1,LOOK2
CHARACTER*12 NAMES(NSITES)
CHARACTER*18 DISTRI(6)
DOUBLE PRECISION D(NSITES),DC1(14),DC2(18),H(3),PARA(5,6)
DOUBLE PRECISION PROB(NPROB),Q(MAXQ),RMOM(5),RPARA(4),SMAT(3,3),TMOM(4),T4FIT(5)
DOUBLE PRECISION VBAR(3),VOBS(3),VSD(3),WORK(MAXNS,3),X(MAXREC),XMOM(5,NSITES),Z(5)
INTEGER LEN(NSITES)
C NCLEND
I run the *.stub with the fortran code and got an error massage
WRAPIT Version: 100111
A syntax error occurred while parsing: PARAMETER
>From previous emails on WRAPIT, I get the impression that WRAPIT has a problem with using PARAMETER
Therefore, I put the PARAMETER Statement outside the subroutine arguments and my new "REGTST_interface.stub" is
C NCLFORTSTART
SUBROUTINE REGTST(NSITES,NAMES,LEN,XMOM,A,B,SEED,NSIM,NPROB,PROB,KPRINT,KOUT,RMOM,D,VOBS,VBAR,VSD,H,Z,PARA)
CHARACTER*1 BLANK,STAR,LOOK1,LOOK2
CHARACTER*12 NAMES(NSITES)
CHARACTER*18 DISTRI(6)
DOUBLE PRECISION D(NSITES),DC1(14),DC2(18),H(3),PARA(5,6)
DOUBLE PRECISION PROB(NPROB),Q(MAXQ),RMOM(5),RPARA(4),SMAT(3,3),TMOM(4),T4FIT(5)
DOUBLE PRECISION VBAR(3),VOBS(3),VSD(3),WORK(MAXNS,3),X(MAXREC),XMOM(5,NSITES),Z(5)
INTEGER LEN(NSITES)
C NCLEND
PARAMETER (MAXNS=200,MAXQ=30,MAXREC=200)
When I run it it does not recognize the MAXNS and MAXQ and got an error
WRAPIT Version: 100111
A syntax error occurred while parsing: MAXQ
Any suggestion and clue for solving this problem will be appreciated. Beginning of the fortran subroutine is attached below
Thanks
Debasish
C===================================================== REGTST.FOR
SUBROUTINE REGTST(NSITES,NAMES,LEN,XMOM,A,B,SEED,NSIM,NPROB,PROB,
* KPRINT,KOUT,RMOM,D,VOBS,VBAR,VSD,H,Z,PARA)
C***********************************************************************
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
PARAMETER (MAXNS=200,MAXQ=30,MAXREC=200)
C
CHARACTER*1 BLANK,STAR,LOOK1,LOOK2
CHARACTER*12 NAMES(NSITES)
CHARACTER*18 DISTRI(6)
DOUBLE PRECISION D(NSITES),DC1(14),DC2(18),H(3),PARA(5,6),
* PROB(NPROB),Q(MAXQ),RMOM(5),RPARA(4),SMAT(3,3),TMOM(4),T4FIT(5),
* VBAR(3),VOBS(3),VSD(3),WORK(MAXNS,3),X(MAXREC),XMOM(5,NSITES),
* Z(5)
INTEGER LEN(NSITES)
DATA BLANK/' '/,STAR/'*'/
DATA ZERO/0D0/,ONE/1D0/,TWO/2D0/,THREE/3D0/
DATA DISTRI/
* 'GEN. LOGISTIC ','GEN. EXTREME VALUE','GEN. NORMAL ',
* 'PEARSON TYPE III ','GEN. PARETO ','WAKEBY '/
C
C COEFFICIENTS OF POWER-SERIES APPROXIMATIONS OF TAU-4 IN TERMS
C OF TAU-3, FOR THE FIRST 5 DISTRIBUTIONS IN ARRAY DISTRI
C
DATA GLOC0,GLOC2/0.16667D0,0.83333D0/
DATA GEVC0,GEVC1,GEVC2,GEVC3,GEVC4,GEVC5,GEVC6/
* 0.10701D0, 0.11090D0, 0.84838D0,-0.06669D0,
* 0.00567D0,-0.04208D0, 0.03763D0/
DATA GNOC0,GNOC2,GNOC4,GNOC6,GNOC8/
* 0.12282D0,0.77518D0,0.12279D0,-0.13638D0,0.11368D0/
DATA PE3C0,PE3C2,PE3C4,PE3C6,PE3C8/
* 0.12240D0,0.30115D0,0.95812D0,-0.57488D0,0.19383D0/
DATA GPAC1,GPAC2,GPAC3,GPAC4/
* 0.20196D0,0.95924D0,-0.20096D0,0.04061D0/
C
C CRITICAL VALUES FOR D, H AND Z STATISTICS
C
DATA DC1/4*3D0,1.3330D0,1.6481D0,1.9166D0,2.1401D0,2.3287D0,
* 2.4906D0,2.6321D0,2.7573D0,2.8694D0,2.9709D0/
DATA DC2/4*4D0,1.3333D0,1.6648D0,1.9821D0,2.2728D0,2.5337D0,
* 2.7666D0,2.9748D0,3.1620D0,3.3310D0,3.4844D0,
* 3.6246D0,3.7532D0,3.8718D0,3.9816D0/
DATA HCRIT1,HCRIT2/1D0,2D0/
DATA ZCRIT/1.645D0/
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Wed Feb 23 12:29:41 2011
This archive was generated by hypermail 2.1.8 : Wed Feb 23 2011 - 16:47:57 MST