本帖最后由 藍原なみだ 于 2018-6-27 19:23 编辑
subroutine lineplu_v1的宣告:
REAL*8 ALPHA,AREA,B,CO2,COMG,CN2,CNMG,DS,DZ,DENSEA,DENSEP,DENSEW,
+DIAMM,E,FDO,FDN,FRACO,FRACN,FSAL,FTEMP,FGO,FGN,G,GAMMA,HO2,HN2,
+KOLN,KOLO,L,LAMBDA,MOMENT,N,PI,PO,PN,PSTD,PZ,QSCFM,QSCMS,QW,QGAS,
+RB,RGAS,SALAMB,SALPLU,TAMB,TPLUME,TSTD,V,VB,VBUB,VG,VGUESS,
+YO2,YN2,Z,AA,BB,CC,BNOT,LNOT,ELEV,DT,TE(1000),XLOC,DEPTH,
+CO2M(1000),LOCAT(1000),DOAMB,COMGP,CNMGP,WSEL,PATM,SAL(1000),
+DIFFEL,GROSSMT,FGONOT,DNAMB,DMPR,TAVG,SUMTEMP,SUMSAL,
+LAMBNOT,FRCONOT,RBNOT,H,DYDX(8),Y(8),YOUT(8),
+DENSE20,OTEFF,FRNOT,VDIFF,FR,BUOY,DCO2,QGFRAC,LDIFF,TDS(1000),
+JDAY,EL(70),DELTAC,COMGNOT,ELEVT,QWT,TPLUMET,COMGPT,QWD(500),
+PWD(500),BWD(500),AWD(500),
+HWITH,HCELL,JULDAY,BTOP,BEQUIV
INTEGER II,IJ,IK,IN,JJ,LL,NEQN,NN,MI,JK,JL,LAKE,LAYTOP
+LAYERS,KM,KN,KO,KP,ROWS,KQ,KR,KU,KV,KW,KX,KY,KZ,KS,LAYDIFF,YEAR
INTEGER NELS
subroutine doubplu_v1的宣告:
REAL*8 ALPHA,ALPHAA,ALPHAI,ALPHAO,AREA,B,BO,BH(1000),CO2,CO2H(1000),COMG,CN2,
+CN2H(1000),CNMG,DS,DZ,DENSEA,DENSEAH(1000),DENSEP,DENSEW,DENSEWH(1000),
+DIAMM,E,EH(1000),EO,EOH(1000),FDO,FDOO,FDN,FDNO,FRACO,FRACN,FSAL,FSALO,
+FTEMP,FTEMPO,FGO,FGOO,FGN,FGNO,G,GAMMA,HO2,HO2H(ID),HN2,HN2H(ID),
+KOLN,KOLNH(1000),KOLO,KOLOH(1000),L,LAMBDA,MOMENT,MOMENTO,N,PI,PO,
+POH(1000),PN,PNH(1000),PSTD,PZ,QSCFM,QSCMS,QW,QWO,QGAS,
+RB,RB(1000),RGAS,SALAMB,SALPLU,SALPLUH(1000),SALPLUO,SALPLUOH(1000),TAMB,
+TAMBH(1000),TPLUME,TPLUMEH(1000),TPLUMEO,TPLUMEOH(1000),TSTD,
+V,VH(1000),VI,VO,VOH(1000),VB,VBH(1000),VBUB,VG,VGUESS,VGUESSO,
+YO2,YN2,Z,AA,BB,CC,BNOT,LNOT,ELEV,DT,TE(1000),XLOC,DEPTH,
+CO2M,LOCAT(1000),DOAMB,
+COMGP,COMGPH(1000),CNMGP,CNMGPH(1000),WSEL,PATM,SAL(1000),
+DIFFEL,GROSSMT,FGONOT,DNAMB,DMPR,TAVG,SUMTEMP,SUMSAL,
+LAMBNOT,FRCONOT,RBNOT,H,DYDX(8),Y(8),YOUT(8),
+DENSE20,OTEFF,FRNOT,FRNOTO,VDIFF,FR,BUOY,DCO2,QGFRAC,LDIFF,TDS(1000),
+JDAY,EL(70),DELTAC,COMGNOT,ELEVT,ELEVOB,QWT,QWOB,TPLUMET,TPLUMEOB,
+COMGPT,COMGPOB,QWD(500),PWD(500),BWD(500),AWD(500),
+HWITH,HCELL,JULDAY,BTOP,BOB,BEQUIV
INTEGER II,IJ,IK,IN,JJ,LL,NEQN,NN,MI,JK,JL,LAKE,LAYTOP,LAYOB,
+LAYERS,KM,KN,KO,KP,ROWS,KQ,KR,KU,KV,KW,KX,KY,KZ,KS,LAYDIFF,YEAR
INTEGER NELS,ID,IDM
各个实参的宣告:INTEGER :: iyr, imon, iday, ihr
INTEGER :: im, im1, i1, jm, jm1, j1, km, km1, k1, ndx, ndy, ndz, nts, &
& ndim, maxnz, nw, inw, ibdwd, ifirst, ilast, jfirst, jlast
REAL(8) :: wselev, dfelev, dflgth, hcell, rjulday, lambnot, diamm
REAL(8) :: elevt, qwt, tplumt, comgpt, tplum0, comgp0, qscfm, frconot
REAL(8), DIMENSION (1:km1) :: zamb, Tamb, DOamb ! B.C.
REAL(8), DIMENSION (1:km1) :: qwd ! Outflow rate
REAL(8), DIMENSION (1:km1) :: bwd ! Radius of circular plume
REAL*8 :: oteff
INTEGER :: nn, inn, i, j, k, kk, l, k1s, kms, nwl, ktop, kob, ksrc, plmdim, itr
我今天尝试强制把locat(1:layers)的正确值在subroutine里赋值,结果运行程序还是出现severe (174) segmentation fault。网上查了一下,可能是数组太大了,于是设定了unlimited stack,并且编译语句后面加上 -heap-arrays,但没有用...参数传递仍然不正确。
|