私は私に与えられたコードを編集しています。編集の一部は、変数の名前を変更することです。ほとんどの名前変更はうまく機能しますが、実行時にエラーを引き起こすものもいくつかあります。例えば:
fdat1
変数の名前を からに変更するつもりでしたがlatestDate
、正常にコンパイルされました。実行時に、Windows からプログラムが動作を停止したというエラーが表示されました。エラーが発生した場所を見つけるために、変数名を少しずつ変更することにしました。私はfdat1
-> fdate1
-> fdate2
->から行きましたldate2
。名前を に変更するldate2
と、エラーが再び表示されました。変数名を に変更するfLatestDate
と、プログラムは期待どおりに実行されました。
私はimplicit none
自分のプログラムに持っているので、最初の文字が問題を引き起こすことはありません。私がまだ出会っていない命名規則について微妙な何かがあるのではないかと思っています。開始するために他のいくつかの変数latest
の名前を変更しましたが、他の名前を変更しても問題はありませんでした。
編集:fdat1
プログラムに関連するほぼすべてのファイルで発生するため、変数を使用して別の例を使用しますidmul
。idmul
でのみ使用されthresh
、名前を に変更するpowerCoeff
と、プログラムは自動的に終了します。名前を に変更できます*powerCoeff
。*
は d から i までの任意の文字です。
program thresh
implicit none
integer,parameter:: double=kind(1d0)
integer:: numStations,maxLines,nlo20
integer:: i,j,ctr,sysMonth,sysDay,sysHour
integer:: imid,ssumTrecent,ssumTantecedent,st
integer:: tptr,xptr,k,flag,timezoneOffset,sysYear
integer:: sysMinute,sysSeconds,lastDayOfMonth(12)
integer:: lineCtr,f24,sumTintensity,sumTavgIntensity
integer:: sumPrecip,maxDataGap,year
integer:: stationCtr,unitNumber(10),Tintensity,Trecent
integer:: Tantecedent,rph,numNewLines,fmins
integer:: ev315,evid,evia,evi3,m
integer:: numContRowsExceed,evawid,resetAntMo,antda
integer,allocatable:: timestampMonth(:),da(:)
integer,allocatable:: hr(:),precip(:),ctrHolder(:)
integer,allocatable:: stationPtr(:),latestDay(:)
integer,allocatable:: latestMonth(:),latestHour(:)
integer,allocatable:: timestampYear(:),latestYear(:)
integer,allocatable:: mins(:),latestMinute(:) ! ,ifmt(:)
integer,allocatable:: pt315(:),ptid(:),ptia(:),pti3(:),ptawid(:)
integer,allocatable:: tlenx(:),numTimestampsHolder(:)
integer :: tRainfallBegan,tRainfallEnd
integer :: TstormGap,minTStormGap
integer :: TavgIntensity,numPlotPoints,numPlotPoints2
integer :: AWICompOffset,numTimestamps
integer :: ctr315,ctrid,ctria,cum15dRainfallCtr,ctra
integer :: ctri,diffSysMinTimestampMinute,AWIExceedCtr,AWIIntensCtr
integer :: ctri3
character (len=255),allocatable:: dataLocation(:)
character (len=255):: outputFile,pathThlast
character (len=224):: outputFolder
character (len=80):: header
character (len=50), allocatable:: stationLocation(:)
character (len=31):: junk
character (len=31):: archiveFile='ThArchive'
character (len=31):: defaultOutputFile='threshout.txt'
character (len=31):: dgOutputfile='dgthresh.txt'
character (len=31):: updateFile='ThUpdate.txt'
character (len=20), allocatable:: datimb(:)
character (len=17), allocatable:: datim(:)
character (len=11):: fLatestDate,revdate
character (len=10):: fdat,sysTime
character (len=8):: timeSeriesPlotFile='ThTSplot'
character (len=8):: sysDate,ThlastStationNo,vrsn
character (len=8), allocatable:: stationNumber(:)
character (len=6):: psn(2) !,snum
character (len=6):: timeSeriesExceedFile='ThTime'
character (len=5):: fLatestTime
character (len=4):: plotFormat
character (len=3)::month(12)
character (len=2)::unt,powerUnit
character (len=1):: tb,pd,cm
logical ::lgyr,match,stats,lsfil,powerSwitch,flagRealtime
real:: slope3day15day,intercept3day15day,in2mm
real:: idmul,idexp,inia,slia,kd,fieldCap,decayFactor
real:: aw,AWIconversion,evp(12),floatPrecip,AWIThresh
real:: awimx,sum3mx,rntsymx
real:: x,polynomArr(6)
real,allocatable:: threshIntensityDuration(:),threshAvgExceed(:)
real,allocatable:: AWI(:),AWI_0(:)
real,allocatable:: sumTrecent(:),sumTantecedent(:)
real,allocatable:: intensity(:),dur(:)
real,allocatable:: runIntensity(:),deficitSurplus3d15d(:)!,antst(:)
real,allocatable:: sum3s(:),sum15s(:),intsys(:),durs(:)
real,allocatable:: srunIntensity(:),def315s(:)
real,allocatable:: sthreshIntensityDuration(:)
real,allocatable:: sthreshAvgIntensity(:)!,antsts(:)
real (double):: dlast,trfbeg,trfend,dgap
real (double),allocatable:: dtdate1904eachLine(:),tdate1904last(:)
real (double),allocatable:: tdate1904newest(:)
real (double),allocatable:: tdate1904stormBeg(:),tdate1904stormEnd(:)