Commit 5c44cc6c923470fbb1f5ac9b128328133f25a774
1 parent
6ed9c6e8
Exists in
master
bug
Showing
3 changed files
with
70 additions
and
50 deletions
Show diff stats
Sources/Prop_code/main_sw1da_p.f
@@ -8,32 +8,33 @@ c======================================================================| | @@ -8,32 +8,33 @@ c======================================================================| | ||
8 | real*8 :: angref0,touts,dtr | 8 | real*8 :: angref0,touts,dtr |
9 | real*8 :: angref(30) | 9 | real*8 :: angref(30) |
10 | integer :: instop,instopfin,ifnpo,idprop | 10 | integer :: instop,instopfin,ifnpo,idprop |
11 | - character*100 :: fnin,fnout,fnin1,fnout1,fntmp(10),fntmp2(10) | 11 | + character*100 :: fnin,fnout,fnin1,fnout1,fntmp(12),fntmp2(12) |
12 | character*100 :: fdirtmp | 12 | character*100 :: fdirtmp |
13 | real*8,allocatable :: angref6(:) | 13 | real*8,allocatable :: angref6(:) |
14 | real*8 :: xmin1,xmax1,xear | 14 | real*8 :: xmin1,xmax1,xear |
15 | integer :: ix | 15 | integer :: ix |
16 | - | ||
17 | -c---setting | 16 | +!!!!! elena : namelist should be before executable statements |
18 | namelist /INPARA1/instop,fnin,fnout,ifnpo,dtr,touts,idprop | 17 | namelist /INPARA1/instop,fnin,fnout,ifnpo,dtr,touts,idprop |
19 | 1 ,fdirtmp,angref,idp_in,idp_prop,idp_out,xmin1,xmax1 | 18 | 1 ,fdirtmp,angref,idp_in,idp_prop,idp_out,xmin1,xmax1 |
19 | + | ||
20 | +c---setting | ||
21 | + angref(:)=-1.e10 | ||
22 | + | ||
20 | open(unit=50,file='namelist',status='old',form='formatted') | 23 | open(unit=50,file='namelist',status='old',form='formatted') |
21 | read(50,nml=INPARA1) | 24 | read(50,nml=INPARA1) |
22 | close(50) | 25 | close(50) |
23 | - | ||
24 | - angref(:)=-1.e10 | 26 | + |
25 | c----set angle | 27 | c----set angle |
26 | do i=1,30 | 28 | do i=1,30 |
27 | if(angref(i).eq.-1.e10) goto 319 | 29 | if(angref(i).eq.-1.e10) goto 319 |
28 | enddo | 30 | enddo |
29 | 319 continue | 31 | 319 continue |
30 | nang=i-1 | 32 | nang=i-1 |
31 | - allocate(angref6(nang)) | ||
32 | 33 | ||
33 | - ! angref6(1:nang)=angref | 34 | + allocate(angref6(nang)) |
34 | !!!! elena : dimensions mismatch 6/30 | 35 | !!!! elena : dimensions mismatch 6/30 |
35 | angref6(1:nang)=angref(1:nang) | 36 | angref6(1:nang)=angref(1:nang) |
36 | - | 37 | + |
37 | c----set filename | 38 | c----set filename |
38 | do iang=1,nang | 39 | do iang=1,nang |
39 | angref0=angref6(iang) | 40 | angref0=angref6(iang) |
@@ -52,7 +53,7 @@ c---prepare dataset at angref0 | @@ -52,7 +53,7 @@ c---prepare dataset at angref0 | ||
52 | if(instop.eq.0) call count_lines(fntmp(1),instop) | 53 | if(instop.eq.0) call count_lines(fntmp(1),instop) |
53 | 54 | ||
54 | c---solar wind propagation along angref0 | 55 | c---solar wind propagation along angref0 |
55 | - do iang=1,nang | 56 | + do iang=1,nang |
56 | angref0=angref6(iang) | 57 | angref0=angref6(iang) |
57 | fnin1=fntmp(iang) | 58 | fnin1=fntmp(iang) |
58 | fnout1=fntmp2(iang) | 59 | fnout1=fntmp2(iang) |
@@ -83,12 +84,12 @@ c======================================================================| | @@ -83,12 +84,12 @@ c======================================================================| | ||
83 | character*100 :: fnin,fnout | 84 | character*100 :: fnin,fnout |
84 | !!!!! elena | 85 | !!!!! elena |
85 | real*8 jjs | 86 | real*8 jjs |
86 | - | ||
87 | - namelist /INPARA2/npout,bx0at1au,gm | 87 | + |
88 | + namelist /INPARA2/npout,bx0at1au,gm | ||
88 | open(unit=50,file='namelist',status='old',form='formatted') | 89 | open(unit=50,file='namelist',status='old',form='formatted') |
89 | read(50,nml=INPARA2) | 90 | read(50,nml=INPARA2) |
90 | close(50) | 91 | close(50) |
91 | - | 92 | + |
92 | touts=touts0*0.5 | 93 | touts=touts0*0.5 |
93 | ix=int((xmax1-xmin1)*400.+1.e-10) | 94 | ix=int((xmax1-xmin1)*400.+1.e-10) |
94 | xear=(1.-xmin1)*400. | 95 | xear=(1.-xmin1)*400. |
@@ -177,16 +178,15 @@ c obtain time spacing | @@ -177,16 +178,15 @@ c obtain time spacing | ||
177 | else | 178 | else |
178 | write(fnpo,*) 'Time Spacing is NOT Correct! : dt0 > dt' | 179 | write(fnpo,*) 'Time Spacing is NOT Correct! : dt0 > dt' |
179 | write(fnpo,*) 'dt=',dt | 180 | write(fnpo,*) 'dt=',dt |
180 | - write(fnpo,*) 'dt0=',dt0 | 181 | + write(fnpo,*) 'dt0=',dt0 |
181 | endif | 182 | endif |
182 | if (merr.ne.0) goto 9999 | 183 | if (merr.ne.0) goto 9999 |
183 | 184 | ||
184 | 185 | ||
185 | c----data read & input---------- | 186 | c----data read & input---------- |
187 | + read(fnum,*) jjs,(parain(i),i=1,13) | ||
186 | !!!!! elena : js is defined as REAL in the file | 188 | !!!!! elena : js is defined as REAL in the file |
187 | - read(fnum,*) jjs,(parain(i),i=1,13) | ||
188 | js=int(jjs) | 189 | js=int(jjs) |
189 | -! read(fnum,*) js,(parain(i),i=1,13) | ||
190 | parain(3)=parain(3)*float(idprop) !--REV0318 | 190 | parain(3)=parain(3)*float(idprop) !--REV0318 |
191 | xin=minval(minloc(abs(parain(9)-x))) | 191 | xin=minval(minloc(abs(parain(9)-x))) |
192 | if(parain(9).lt.x(xin).and.idprop.eq.1) xin=xin-1 !--REV0318 | 192 | if(parain(9).lt.x(xin).and.idprop.eq.1) xin=xin-1 !--REV0318 |
@@ -196,7 +196,7 @@ c----data read & input---------- | @@ -196,7 +196,7 @@ c----data read & input---------- | ||
196 | parainref(1:2,ns)=parain(9:10) | 196 | parainref(1:2,ns)=parain(9:10) |
197 | parainref(3,ns)=x(xin) | 197 | parainref(3,ns)=x(xin) |
198 | parainref(4,ns)=parain(3) !km/s | 198 | parainref(4,ns)=parain(3) !km/s |
199 | - | 199 | + |
200 | call datin_varied3(ro,pr,vx,vy,vz,bx,by,bz | 200 | call datin_varied3(ro,pr,vx,vy,vz,bx,by,bz |
201 | & ,vstar,ns,ix,parain,xin,paranm ,idprop,x) !--REV0318 | 201 | & ,vstar,ns,ix,parain,xin,paranm ,idprop,x) !--REV0318 |
202 | 202 | ||
@@ -218,20 +218,26 @@ c solve hydrodynamic equations | @@ -218,20 +218,26 @@ c solve hydrodynamic equations | ||
218 | & ,gx,dsc,scm,dv,rr,rrm,drr,dx,ix) | 218 | & ,gx,dsc,scm,dv,rr,rrm,drr,dx,ix) |
219 | call bnd3_2(margin,ro,pr,vx,vy,vz,by,bz,gm,vstar,ix,idprop,x) !--REV0318 | 219 | call bnd3_2(margin,ro,pr,vx,vy,vz,by,bz,gm,vstar,ix,idprop,x) !--REV0318 |
220 | c----------------------------------------------------------------------| | 220 | c----------------------------------------------------------------------| |
221 | -c data output | ||
222 | - | 221 | +c data output |
222 | + | ||
223 | c---monitoring | 223 | c---monitoring |
224 | - if(minval(pr).lt.0.) write(6,*) ns,minval(pr) | ||
225 | - if(minval(pr).lt.0.) stop 'Pr<0' | 224 | + if(minval(pr).lt.0.) write(6,*) ns |
225 | + if(minval(pr).lt.0.) write(6,*) minval(pr) | ||
226 | + if(minval(pr).lt.0.) stop 'Pr<0' | ||
226 | if(idprop.eq.1.and.minval(vx).lt.0.) stop 'Vx opposite' | 227 | if(idprop.eq.1.and.minval(vx).lt.0.) stop 'Vx opposite' |
227 | - if(idprop.eq.-1.and.maxval(vx).gt.0.) stop 'Vx opposite' | ||
228 | - | 228 | + if(idprop.eq.-1.and.maxval(vx).gt.0.) then |
229 | + write(6,1115) vx | ||
230 | + stop 'Vx opposite' | ||
231 | + endif | ||
232 | +1115 format(15f10.7) | ||
229 | c----first dt estimation | 233 | c----first dt estimation |
230 | if (mod(int(ns),int(touts)).eq.0) then | 234 | if (mod(int(ns),int(touts)).eq.0) then |
231 | js=js0+ns*dtr *float(idprop) !--REV0318 | 235 | js=js0+ns*dtr *float(idprop) !--REV0318 |
232 | xout=minval(minloc(abs(parain(11)-x))) | 236 | xout=minval(minloc(abs(parain(11)-x))) |
233 | dtp1=(parain(11)-parain(9))*1.5d11/400./1.d3 | 237 | dtp1=(parain(11)-parain(9))*1.5d11/400./1.d3 |
234 | - | 238 | + |
239 | +! write(6,*) 'first dt estimation', dtp1 | ||
240 | + | ||
235 | if((js-dtp1.le.js0.and.idprop.eq.1) !--REV0318 | 241 | if((js-dtp1.le.js0.and.idprop.eq.1) !--REV0318 |
236 | 1 .or.(js+dtp1.ge.js0.and.idprop.eq.-1)) then !--REV0318 | 242 | 1 .or.(js+dtp1.ge.js0.and.idprop.eq.-1)) then !--REV0318 |
237 | write(fnum2,704) js,1.,1.,100.,1.,1.,1.d-5,1.d-5,1.d-5 | 243 | write(fnum2,704) js,1.,1.,100.,1.,1.,1.d-5,1.d-5,1.d-5 |
@@ -239,44 +245,45 @@ c----first dt estimation | @@ -239,44 +245,45 @@ c----first dt estimation | ||
239 | else | 245 | else |
240 | itin=minval(minloc(abs((js-dtp1*float(idprop))-jsinref))) !--REV0318 | 246 | itin=minval(minloc(abs((js-dtp1*float(idprop))-jsinref))) !--REV0318 |
241 | 247 | ||
242 | -!!!!! elena | 248 | + !!!!! elena |
243 | if(parainref(4,itin).eq.0.0)then | 249 | if(parainref(4,itin).eq.0.0)then |
244 | write(6,*) '!!!second dt',itin, ns, parain(12), parain(10) | 250 | write(6,*) '!!!second dt',itin, ns, parain(12), parain(10) |
245 | itin = ns | 251 | itin = ns |
246 | endif | 252 | endif |
247 | 253 | ||
248 | c----second dt estimation | 254 | c----second dt estimation |
249 | - dtp1=(parain(11)-parain(9))*1.5d11/parainref(4,itin)/1.d3 | ||
250 | - | 255 | + dtp1=(parain(11)-parain(9))*1.5d11/parainref(4,itin)/1.d3 |
256 | + | ||
251 | if((js-dtp1.le.js0.and.idprop.eq.1) | 257 | if((js-dtp1.le.js0.and.idprop.eq.1) |
252 | 1 .or.(js+dtp1.ge.js0.and.idprop.eq.-1)) then | 258 | 1 .or.(js+dtp1.ge.js0.and.idprop.eq.-1)) then |
253 | write(fnum2,704) js,1.,1.,100.,1.,1.,1.d-5,1.d-5,1.d-5 | 259 | write(fnum2,704) js,1.,1.,100.,1.,1.,1.d-5,1.d-5,1.d-5 |
254 | & ,0.d0,float(js0) | 260 | & ,0.d0,float(js0) |
255 | goto 1001 | 261 | goto 1001 |
256 | endif | 262 | endif |
263 | + | ||
257 | itin_tmp=itin | 264 | itin_tmp=itin |
258 | itin=minval(minloc(abs((js-dtp1*float(idprop))-jsinref))) | 265 | itin=minval(minloc(abs((js-dtp1*float(idprop))-jsinref))) |
259 | 266 | ||
260 | !!!!! elena | 267 | !!!!! elena |
261 | if (parainref(4,itin).eq.0.0) itin=itin_tmp | 268 | if (parainref(4,itin).eq.0.0) itin=itin_tmp |
262 | - | ||
263 | c----output | 269 | c----output |
264 | dang0=-(parain(12)-parainref(2,itin)) | 270 | dang0=-(parain(12)-parainref(2,itin)) |
265 | dang0=mod(dang0,360.) | 271 | dang0=mod(dang0,360.) |
266 | if(dang0.ge.180.) dang0=dang0-360. | 272 | if(dang0.ge.180.) dang0=dang0-360. |
273 | + | ||
267 | if(angref0.ge.0.) | 274 | if(angref0.ge.0.) |
268 | & dtp2=(parain(11)-x(xout))*1.5d11/vx(xout)/400.d3 | 275 | & dtp2=(parain(11)-x(xout))*1.5d11/vx(xout)/400.d3 |
269 | & -(parainref(1,itin)-parainref(3,itin))*1.5d11 !x_datain-x_in | 276 | & -(parainref(1,itin)-parainref(3,itin))*1.5d11 !x_datain-x_in |
270 | - & /parainref(4,itin)/1.d3 | ||
271 | - !!!! elena | 277 | + & /parainref(4,itin)/1.d3 |
278 | + !!!! elena | ||
272 | if (parainref(4,itin).eq.0.0) then ! NaN | 279 | if (parainref(4,itin).eq.0.0) then ! NaN |
273 | write(6,*) '!!!!!! NaN in dtp2 ', angref0 | 280 | write(6,*) '!!!!!! NaN in dtp2 ', angref0 |
274 | write(6,*) parain(11), x(xout),vx(xout) | 281 | write(6,*) parain(11), x(xout),vx(xout) |
275 | write(6,*) ns, itin, xout | 282 | write(6,*) ns, itin, xout |
276 | write(6,*) parain(12), parain(10) | 283 | write(6,*) parain(12), parain(10) |
277 | stop | 284 | stop |
278 | - endif | ||
279 | - | 285 | + endif |
286 | + | ||
280 | write(fnum2,704) js,ro(xout)*paranm(1) | 287 | write(fnum2,704) js,ro(xout)*paranm(1) |
281 | & ,pr(xout)*1937./ro(xout)*paranm(2) | 288 | & ,pr(xout)*1937./ro(xout)*paranm(2) |
282 | & ,vx(xout)*paranm(3)*float(idprop) !--REV0318 | 289 | & ,vx(xout)*paranm(3)*float(idprop) !--REV0318 |
@@ -285,6 +292,7 @@ c----output | @@ -285,6 +292,7 @@ c----output | ||
285 | & ,bz(xout)*paranm(8)*16.34 | 292 | & ,bz(xout)*paranm(8)*16.34 |
286 | & ,dtp2*float(idprop),jsinref(itin)-parainref(6,itin) | 293 | & ,dtp2*float(idprop),jsinref(itin)-parainref(6,itin) |
287 | endif | 294 | endif |
295 | + | ||
288 | 704 format(i15.1, 9e18.8,f18.1) | 296 | 704 format(i15.1, 9e18.8,f18.1) |
289 | 297 | ||
290 | 1001 continue | 298 | 1001 continue |
@@ -670,7 +678,7 @@ c----------------------------------------------------------------------| | @@ -670,7 +678,7 @@ c----------------------------------------------------------------------| | ||
670 | pi = acos(-1.0d0) | 678 | pi = acos(-1.0d0) |
671 | pi4i=0.25/pi | 679 | pi4i=0.25/pi |
672 | dtmin=2.0e-10 | 680 | dtmin=2.0e-10 |
673 | -! safety=0.8 !cf. 0.4 --original | 681 | +! safety=0.8 !cf. 0.4 --original |
674 | safety=0.4 | 682 | safety=0.4 |
675 | c----------------------------------------------------------------------| | 683 | c----------------------------------------------------------------------| |
676 | dt=1.e20 | 684 | dt=1.e20 |
@@ -689,6 +697,7 @@ c----------------------------------------------------------------------| | @@ -689,6 +697,7 @@ c----------------------------------------------------------------------| | ||
689 | dt=dtq(i) | 697 | dt=dtq(i) |
690 | endif | 698 | endif |
691 | enddo | 699 | enddo |
700 | +! write(6,*) minval(pr) | ||
692 | c----------------------------------------------------------------------| | 701 | c----------------------------------------------------------------------| |
693 | c write the point where dt is smaller than critical value | 702 | c write the point where dt is smaller than critical value |
694 | c----------------------------------------------------------------------| | 703 | c----------------------------------------------------------------------| |
Sources/Prop_code/sub_indat_p.f
@@ -29,9 +29,8 @@ c======================================================================| | @@ -29,9 +29,8 @@ c======================================================================| | ||
29 | open(ifn1,file=fnin,status='old') | 29 | open(ifn1,file=fnin,status='old') |
30 | do i=1,nnin | 30 | do i=1,nnin |
31 | read(ifn1,*) js1,(parain(j),j=1,12) | 31 | read(ifn1,*) js1,(parain(j),j=1,12) |
32 | - !!!!!!! elena : Dimensions mismatch (13/12) | ||
33 | - datain(1:12,i)=parain(:) | ||
34 | -! datain(:,i)=parain(:) | 32 | +!!!!!!! elena : Dimensions mismatch (13/12) |
33 | + datain(1:12,i)=parain(:) | ||
35 | jsin(i)=js1 | 34 | jsin(i)=js1 |
36 | enddo | 35 | enddo |
37 | dtin=(jsin(2)-jsin(1))*float(idprop) !--REV0318 | 36 | dtin=(jsin(2)-jsin(1))*float(idprop) !--REV0318 |
Sources/Prop_code/sub_slct_p.f
@@ -7,7 +7,7 @@ c======================================================================| | @@ -7,7 +7,7 @@ c======================================================================| | ||
7 | real*8,intent(in) :: angref6(nang),dtr,touts | 7 | real*8,intent(in) :: angref6(nang),dtr,touts |
8 | character*100 ,intent(in):: fntmp2(nang),fnin,fnout | 8 | character*100 ,intent(in):: fntmp2(nang),fnin,fnout |
9 | real*8,allocatable :: jsout(:,:),ddout(:,:,:) | 9 | real*8,allocatable :: jsout(:,:),ddout(:,:,:) |
10 | -!!!! elena : para(13) !!! not para(12) | 10 | +!!!! elena : para(13) !!! not para(12) |
11 | real*8 :: angref0,para(13),js1,sec0 | 11 | real*8 :: angref0,para(13),js1,sec0 |
12 | integer :: i,j,ifn0,ifn1,ifn2,iang,nstep | 12 | integer :: i,j,ifn0,ifn1,ifn2,iang,nstep |
13 | integer :: iy0,im0,id0,jdd,jdd2,ihr0,imin0,isec0 | 13 | integer :: iy0,im0,id0,jdd,jdd2,ihr0,imin0,isec0 |
@@ -84,7 +84,8 @@ c---angle evaluation | @@ -84,7 +84,8 @@ c---angle evaluation | ||
84 | bd1=dangi2(1); bd2=dangi2(nnin) | 84 | bd1=dangi2(1); bd2=dangi2(nnin) |
85 | call convim(jsin,jsinref(iang,:),dangi2,dang1(iang,:) | 85 | call convim(jsin,jsinref(iang,:),dangi2,dang1(iang,:) |
86 | 1 ,nnin,nstep,bd1,bd2) | 86 | 1 ,nnin,nstep,bd1,bd2) |
87 | - | 87 | + |
88 | + | ||
88 | dangi(:)=datain(12,:) !--input-ref | 89 | dangi(:)=datain(12,:) !--input-ref |
89 | dangi2(1)=dangi(1) | 90 | dangi2(1)=dangi(1) |
90 | do i=2,nnin | 91 | do i=2,nnin |
@@ -95,6 +96,7 @@ c---angle evaluation | @@ -95,6 +96,7 @@ c---angle evaluation | ||
95 | bd1=dangi2(1); bd2=dangi2(nnin) | 96 | bd1=dangi2(1); bd2=dangi2(nnin) |
96 | call convim(jsin,jsoutrev(iang,:),dangi2,ang0(:) | 97 | call convim(jsin,jsoutrev(iang,:),dangi2,ang0(:) |
97 | 1 ,nnin,nstep,bd1,bd2) | 98 | 1 ,nnin,nstep,bd1,bd2) |
99 | + | ||
98 | dango(:)=ang0(:)-angref0 !--output-ref | 100 | dango(:)=ang0(:)-angref0 !--output-ref |
99 | 101 | ||
100 | c---planeatry rotation effect (2nd step) | 102 | c---planeatry rotation effect (2nd step) |
@@ -208,7 +210,12 @@ c---angle evaluation: in-out | @@ -208,7 +210,12 @@ c---angle evaluation: in-out | ||
208 | if(idprop.eq.-1)then;bd1=dangi2(nnin);bd2=dangi2(1);endif | 210 | if(idprop.eq.-1)then;bd1=dangi2(nnin);bd2=dangi2(1);endif |
209 | call convim(jsin,dangw,dangi2,angwin(:) | 211 | call convim(jsin,dangw,dangi2,angwin(:) |
210 | 1 ,nnin,nwout,bd1,bd2) | 212 | 1 ,nnin,nwout,bd1,bd2) |
211 | - | 213 | +! write(6,1115) real(dangi(1:60)) |
214 | +! write(6,*) 'dangi2' | ||
215 | +! write(6,1115) real(dangi2) | ||
216 | +! write(6,*) 'angwin' | ||
217 | +! write(6,1115) real(angwin) | ||
218 | + | ||
212 | dangi(:)=datain(12,:) !--output-ref | 219 | dangi(:)=datain(12,:) !--output-ref |
213 | dangi2(1)=dangi(1) | 220 | dangi2(1)=dangi(1) |
214 | do i=2,nnin | 221 | do i=2,nnin |
@@ -220,41 +227,46 @@ c---angle evaluation: in-out | @@ -220,41 +227,46 @@ c---angle evaluation: in-out | ||
220 | if(idprop.eq.-1)then;bd1=dangi2(nnin);bd2=dangi2(1);endif | 227 | if(idprop.eq.-1)then;bd1=dangi2(nnin);bd2=dangi2(1);endif |
221 | call convim(jsin,jswout,dangi2,angwout(:) | 228 | call convim(jsin,jswout,dangi2,angwout(:) |
222 | 1 ,nnin,nwout,bd1,bd2) | 229 | 1 ,nnin,nwout,bd1,bd2) |
223 | - | ||
224 | - dangw=angwin-angwout !--difference | 230 | +! write(6, *) 'angwout', nnin, nwout |
231 | +! write(6,1115) real(angwout(1:60)) | ||
232 | +1115 format(15f7.1) | ||
233 | + dangw=angwin-angwout !--difference | ||
225 | call angrev(dangw,dangw,nwout) | 234 | call angrev(dangw,dangw,nwout) |
235 | +! write(6,1115) real(dangw) | ||
236 | + | ||
226 | idstep=0; idstep2=0 | 237 | idstep=0; idstep2=0 |
227 | do i=2,nwout | 238 | do i=2,nwout |
228 | angw(i)=dangw(i)-dangw(i-1) | 239 | angw(i)=dangw(i)-dangw(i-1) |
229 | - if(angw(i).ge.300.) then | 240 | + if(angw(i).ge.300.) then |
230 | idstep=idstep+1 | 241 | idstep=idstep+1 |
231 | jsout(2,idstep)=jswout(i) | 242 | jsout(2,idstep)=jswout(i) |
232 | - jsout(3,idstep)=float(i) | 243 | + jsout(3,idstep)=float(i) |
233 | endif | 244 | endif |
234 | if(angw(i).le.-300.) then | 245 | if(angw(i).le.-300.) then |
235 | idstep2=idstep2+1 | 246 | idstep2=idstep2+1 |
236 | jsout(4,idstep2)=jswout(i) | 247 | jsout(4,idstep2)=jswout(i) |
237 | - jsout(5,idstep2)=float(i) | 248 | + jsout(5,idstep2)=float(i) |
238 | endif | 249 | endif |
239 | - enddo | ||
240 | - | 250 | + enddo |
251 | + | ||
241 | if(idprop.eq.1.and.idstep.ge.1.and.idstep*2.eq.idstep2)then | 252 | if(idprop.eq.1.and.idstep.ge.1.and.idstep*2.eq.idstep2)then |
242 | dangw(int(jsout(5,idstep*2-1)):int(jsout(3,idstep))) | 253 | dangw(int(jsout(5,idstep*2-1)):int(jsout(3,idstep))) |
243 | 1 =dangw(int(jsout(5,idstep*2-1)):int(jsout(3,idstep)))+360. | 254 | 1 =dangw(int(jsout(5,idstep*2-1)):int(jsout(3,idstep)))+360. |
244 | - !!! elena dimensions mismatch | ||
245 | - dangw(int(jsout(3,idstep))-1:int(jsout(5,idstep*2))) | 255 | + dangw(int(jsout(3,idstep)):int(jsout(5,idstep*2))) |
246 | 1 =dangw(int(jsout(3,idstep))-1:int(jsout(5,idstep*2)))-360. | 256 | 1 =dangw(int(jsout(3,idstep))-1:int(jsout(5,idstep*2)))-360. |
247 | ddwout1(11,int(jsout(5,idstep*2-1)):int(jsout(5,idstep*2)))=1. | 257 | ddwout1(11,int(jsout(5,idstep*2-1)):int(jsout(5,idstep*2)))=1. |
248 | endif | 258 | endif |
249 | - if(idprop.eq.-1.and.idstep2.ge.1.and.idstep2*2.eq.idstep)then | 259 | + |
260 | + if(idprop.eq.-1.and.idstep2.ge.1.and.idstep2*2.eq.idstep)then | ||
250 | dangw(int(jsout(3,idstep2*2-1)):int(jsout(5,idstep2))) | 261 | dangw(int(jsout(3,idstep2*2-1)):int(jsout(5,idstep2))) |
251 | 1 =dangw(int(jsout(3,idstep2*2-1)):int(jsout(5,idstep2)))-360. | 262 | 1 =dangw(int(jsout(3,idstep2*2-1)):int(jsout(5,idstep2)))-360. |
252 | - !!! elena dimensions mismatch | 263 | +!!!!!! elena : dimensions mismatch |
253 | dangw(int(jsout(5,idstep2))-1:int(jsout(3,idstep2*2))) | 264 | dangw(int(jsout(5,idstep2))-1:int(jsout(3,idstep2*2))) |
254 | 1 =dangw(int(jsout(5,idstep2))-1:int(jsout(3,idstep2*2)))+360. | 265 | 1 =dangw(int(jsout(5,idstep2))-1:int(jsout(3,idstep2*2)))+360. |
255 | endif | 266 | endif |
267 | + | ||
256 | ddwout1(9,:)=dangw !separation angle | 268 | ddwout1(9,:)=dangw !separation angle |
257 | - | 269 | +! write(6,1115) real(dangw) |
258 | c---output | 270 | c---output |
259 | open(ifn2,file=fnout,status='unknown',form='formatted') | 271 | open(ifn2,file=fnout,status='unknown',form='formatted') |
260 | do i=1,nwout,1 | 272 | do i=1,nwout,1 |