|
19 | 19 | ! flexible inputs to facilitate parallelization.
|
20 | 20 | ! Read (combined or uncombined) nc outputs for multiple files at all nodes
|
21 | 21 | ! Works for mixed tri/quad outputs on NODE based vars.
|
22 |
| -! Inputs: screen; combined or uncombined nc file; filter_flag (for |
23 |
| -! filtering outputs), output file name |
24 |
| -! Outputs: time series (ascii); |
| 22 | +! Inputs: screen; combined or uncombined nc file |
| 23 | +! Outputs: extract.out (time series (ascii)); |
25 | 24 | ! History: (1) added non-standard outputs (April 2012) - transparent to most scripts
|
26 | 25 | ! as format is same; (2) added ivcor=1 (Dec 2013); (3)
|
27 | 26 | ! added quads (Nov. 2014) (4) changed to nc outputs (Sept
|
@@ -97,13 +96,13 @@ program read_out
|
97 | 96 | read(*,*) iday1,iday2
|
98 | 97 | print*, '<<<<<start and end stack #: ',iday1,iday2
|
99 | 98 |
|
100 |
| - print*, 'name for output time series:' |
101 |
| - read(*,*) file63 |
102 |
| - print*, 'Output name is:',file63 |
| 99 | +! print*, 'name for output time series:' |
| 100 | +! read(*,*) file63 |
| 101 | +! print*, 'Output name is:',file63 |
103 | 102 |
|
104 |
| - print*, 'File name for filter outputs:' |
105 |
| - read(*,*) filter_flag |
106 |
| - print*, 'Filter input is:',filter_flag |
| 103 | +! print*, 'File name for filter outputs:' |
| 104 | +! read(*,*) filter_flag |
| 105 | +! print*, 'Filter input is:',filter_flag |
107 | 106 |
|
108 | 107 | ! print*, 'Do you want to compute stats for 2D var? (0/1:min; 0/1:max; 0/1:time avg)'
|
109 | 108 | !!!'
|
@@ -133,7 +132,7 @@ program read_out
|
133 | 132 | ! is_elev=0
|
134 | 133 | ! endif
|
135 | 134 |
|
136 |
| - open(65,file=trim(adjustl(file63)),status='replace') |
| 135 | + open(65,file='extract.out',status='replace') |
137 | 136 |
|
138 | 137 | !... Header
|
139 | 138 | !Returned vars: ne,np,ns,nrec,[x y dp](np),
|
@@ -170,11 +169,11 @@ program read_out
|
170 | 169 | outvar=-huge(1.0) !test mem
|
171 | 170 |
|
172 | 171 | ! Read in filtering flags for output
|
173 |
| - open(60,file=trim(adjustl(filter_flag)),status='old') |
174 |
| - do i=1,np |
175 |
| - read(60,*)include2(i) |
176 |
| - enddo !i |
177 |
| - close(60) |
| 172 | +! open(60,file=trim(adjustl(filter_flag)),status='old') |
| 173 | +! do i=1,np |
| 174 | +! read(60,*)include2(i) |
| 175 | +! enddo !i |
| 176 | +! close(60) |
178 | 177 |
|
179 | 178 | ! Read vgrid.in
|
180 | 179 | ! call get_vgrid_single('vgrid.in',np,nvrt,ivcor,kz,h_s,h_c,theta_b,theta_f,ztot,sigma,sigma_lcl,kbp)
|
@@ -232,17 +231,18 @@ program read_out
|
232 | 231 |
|
233 | 232 | if(mod(i23d-1,3)==0) then !2D
|
234 | 233 | ! Output: time, 2D variable at selected nodes
|
235 |
| - icount=0 |
236 |
| - do i=1,np |
237 |
| - if(include2(i)/=0) then |
238 |
| - icount=icount+1 |
239 |
| - outvar2(1:ivs,icount)=outvar(1:ivs,1,i,irec) |
240 |
| - endif |
241 |
| - enddo !i |
242 |
| - !write(65,'(e14.6,10000000(1x,e14.4))')timeout(irec_real)/86400,((outvar(m,1,i,irec),m=1,ivs),i=1,np) |
243 |
| - write(65,'(e14.6,10000000(1x,e14.4))')timeout(irec_real)/86400,outvar2(1:ivs,1:icount) |
| 234 | +! icount=0 |
| 235 | +! do i=1,np |
| 236 | +! if(include2(i)/=0) then |
| 237 | +! icount=icount+1 |
| 238 | +! outvar2(1:ivs,icount)=outvar(1:ivs,1,i,irec) |
| 239 | +! endif |
| 240 | +! enddo !i |
| 241 | + write(65,'(e14.6,10000000(1x,e14.4))')timeout(irec_real)/86400,((outvar(m,1,i,irec),m=1,ivs),i=1,np) |
| 242 | +! write(65,'(e14.6,10000000(1x,e14.4))')timeout(irec_real)/86400,outvar2(1:ivs,1:icount) |
244 | 243 |
|
245 | 244 | else !if(i23d==3) then !3D
|
| 245 | + !Add your own output for 3D outvar() |
246 | 246 | stop 'Cannot be 3D var'
|
247 | 247 | endif !i23d
|
248 | 248 | enddo !irec
|
|
0 commit comments