Page 1 Source Listing RAWIN_ALLNORMS 2022-05-02 15:46 rawin_allnorms.f 1 c ********************************************************************** 2 c ********************************************************************** 3 c ******* ETKF code to calculate total signal variance in the VR ******* 4 c ********** for any stations ********** 5 c ********************************************************************** 6 c *************** Yucheng Song ********************************************* 7 c *************** Code developed at NCEP ************** 8 c ********************************************************************** 9 c ********************************************************************** 10 11 12 c 3456789012345678901234567890123456789012345678901234567890123456789012 13 14 program rawin_allnorms 15 16 allocatable sistr(:) 17 allocatable sigtop(:) 18 double precision,allocatable::xvvest(:,:) 19 double precision,allocatable::cmat(:,:) 20 double precision,allocatable::ceval(:) 21 double precision,allocatable::yvvest(:,:) 22 double precision,allocatable::ytvec(:,:) 23 double precision,allocatable::hy(:,:) 24 double precision,allocatable::hyt(:,:) 25 double precision,allocatable::obs(:,:,:) 26 double precision,allocatable::bsig(:,:) 27 double precision,allocatable::betasig(:) 28 double precision,allocatable::bsig2(:,:) 29 double precision,allocatable::svpvr(:,:) 30 double precision,allocatable::work3(:,:) 31 double precision sig(100),fev_routine 32 double precision sigold(100) 33 real*4 , allocatable::obslon(:),obslat(:) 34 integer, allocatable:: lat1(:),lat2(:),lon1(:),lon2(:) 35 integer, allocatable:: number(:),id(:) 36 character*34, allocatable:: station(:) 37 character*1, allocatable:: mark(:) 38 double precision,allocatable::hmat(:,:) 39 40 integer eid(100),ira(100) 41 character*2 tfl 42 character*8 hires 43 real uvsd,uv850sd,prcpsd,mslpsd,z500sd 44 45 read(5,*)idim,jdim,jstr,mem,vrlon,vrlat,radvr,nd,nd9, 46 &nd12,nrawin,georad,ne1,n2,nvr,nvr12,nv,ne9,ltcode, 47 &casecode,ivnorm 48 49 allocate(obslon(nrawin)) 50 allocate(obslat(nrawin)) 51 allocate(lat1(nrawin)) 52 allocate(lat2(nrawin)) 53 allocate(lon1(nrawin)) 54 allocate(lon2(nrawin)) 55 allocate(number(nrawin)) 56 allocate(id(nrawin)) 57 allocate(station(nrawin)) Page 2 Source Listing RAWIN_ALLNORMS 2022-05-02 15:46 rawin_allnorms.f 58 allocate(mark(nrawin)) 59 allocate(hmat(nd,4)) 60 61 allocate(sistr(jstr)) 62 allocate(sigtop(jstr)) 63 allocate(xvvest(ne1,mem)) 64 allocate(cmat(mem,mem)) 65 allocate(ceval(mem)) 66 allocate(yvvest(nvr12,mem)) 67 allocate(ytvec(ne9,mem)) 68 allocate(hy(nd9,mem)) 69 allocate(hyt(mem,nd9)) 70 allocate(obs(idim,jdim,12)) 71 allocate(bsig(mem,mem)) 72 allocate(betasig(mem)) 73 allocate(bsig2(mem,mem)) 74 allocate(svpvr(nvr12,mem)) 75 allocate(work3(mem,mem)) 76 77 ivr=nint(vrlon/2.5)+1 78 jvr=nint((90.-vrlat)/2.5)+1 79 80 knum1=ltcode+8200 81 knum2=ltcode+8300 82 knum3=ltcode+8400 83 knum5=casecode+8600 84 85 read(knum1) ytvec 86 read(knum2) ceval 87 read(knum3) cmat 88 read(knum5) xvvest 89 90 pi=acos(-1.0) 91 dpsieq=1./36. 92 do j=1,jstr 93 jeq=37-j 94 sistr(j)=asin(jeq*dpsieq) 95 sigtop(j)=(pi/2.)-sistr(j) 96 end do 97 98 knum0=1234 99 open(knum0,form='formatted') 100 read(knum0,*) uvsd 101 read(knum0,*) uv850sd 102 read(knum0,*) prcpsd 103 read(knum0,*) mslpsd 104 read(knum0,*) z500sd 105 close(knum0) 106 107 call calcvrci(ivr,jvr,sistr,sigtop,cmat,ivm,xvvest,yvvest, 108 &jstr,ne1,mem,nvr12,idim,jdim,radvr,georad) 109 call calc_fev_routine(ivm,yvvest,fev_routine, 110 & uvsd,uv850sd,prcpsd,mslpsd,z500sd, 111 & nvr12,mem,ivnorm) 112 113 do 125 i=1,idim 114 do 125 j=1,jdim Page 3 Source Listing RAWIN_ALLNORMS 2022-05-02 15:46 rawin_allnorms.f 115 obs(i,j,1)=2.4**2 116 obs(i,j,2)=2.8**2 117 obs(i,j,3)=2.95**2 118 obs(i,j,4)=2.4**2 119 obs(i,j,5)=2.8**2 120 obs(i,j,6)=2.95**2 121 obs(i,j,7)=0.8**2 122 obs(i,j,8)=0.8**2 123 obs(i,j,9)=1.2**2 124 125 continue 125 126 sigmax=0.0 127 sigmin=1.0e5 128 129 * -------------------------------------------------------- 130 * START INTRODUCING DIFFERENT SETS OF OBSERVATIONS 131 * -------------------------------------------------------- 132 133 read(10,*) 134 do 20 iobs=1,nrawin 135 read(10,100)number(iobs),id(iobs),station(iobs),hires,lat,lon 136 obslon(iobs)=float(lon)/100.0 137 obslat(iobs)=float(lat)/100.0 138 if(obslon(iobs).lt.0) then 139 obslon(iobs)=360.+obslon(iobs) 140 endif 141 print*, obslon(iobs),obslat(iobs) 142 xlo1=int(obslon(iobs)*144./360.)*2.5 143 xlo2=xlo1+2.5 144 yla1=int(obslat(iobs)*72./180.)*2.5 145 yla2=yla1+2.5 146 zquot=(xlo2-xlo1)*(yla2-yla1) 147 hmat(iobs,1)= (obslon(iobs)-xlo2)*(obslat(iobs)-yla2)/zquot 148 hmat(iobs,2)=-(obslon(iobs)-xlo2)*(obslat(iobs)-yla1)/zquot 149 hmat(iobs,3)=-(obslon(iobs)-xlo1)*(obslat(iobs)-yla2)/zquot 150 hmat(iobs,4)= (obslon(iobs)-xlo1)*(obslat(iobs)-yla1)/zquot 151 lon1(iobs)=nint(xlo1/2.5)+1 152 lon2(iobs)=nint(xlo2/2.5)+1 153 lat1(iobs)=37-nint(yla1/2.5) 154 lat2(iobs)=37-nint(yla2/2.5) 155 20 continue 156 close(10) 157 100 format(I2,2X,I5,1x,A34,2x,A8,2x,I4,2x,I5) 158 159 c do 10102 id = 1, itask 160 c sigvar(id)=0.0 161 162 c obslon(id)= 163 c obslat(id)= 164 165 do 10101 iobs=1,nrawin 166 167 ndd=1 168 hy=0.0 169 hyt=0.0 170 betasig=0.0 171 bsig=0.0 Page 4 Source Listing RAWIN_ALLNORMS 2022-05-02 15:46 rawin_allnorms.f 172 173 C call rawin2(iobs,obs,hy,ytvec,nd,ne9,nd9,mem,idim, 174 c &jdim,nv) 175 176 * -------------------------------------------------------- 177 * Generate the nice small matrix H*Y 178 * -------------------------------------------------------- 179 do 33 nm=1,mem 180 c do 33 iobs=1,ndd 181 do 33 iv=1,nv 182 mm1=9*(lat1(iobs)-1)*idim + 9*(lon1(iobs)-1) + iv 183 mm2=9*(lat2(iobs)-1)*idim + 9*(lon1(iobs)-1) + iv 184 mm3=9*(lat1(iobs)-1)*idim + 9*(lon2(iobs)-1) + iv 185 mm4=9*(lat2(iobs)-1)*idim + 9*(lon2(iobs)-1) + iv 186 c io=9*(iobs-1) + iv 187 io=iv 188 hy(io,nm)=hmat(iobs,1)*ytvec(mm1,nm)+hmat(iobs,2)*ytvec(mm2,nm)+ 189 & hmat(iobs,3)*ytvec(mm3,nm)+hmat(iobs,4)*ytvec(mm4,nm) 190 hy(io,nm)=hy(io,nm)/sqrt(obs(1,1,iv)) 191 33 continue 192 193 194 * ------------------------------------------------------------- 195 * Time to calculate the MEM eigenvalues [BETA_sigma] and 196 * eigenvectors [B_sigma] of Hstar*P*Hstar(T) 197 * ------------------------------------------------------------- 198 CALL DTRANS(nd9,MEM,hy,hyt) 199 CALL DMRRRR(MEM,nd9,hyt,MEM,nd9,MEM,hy,nd9,MEM,MEM,WORK3,MEM) 200 CALL DEVCSF(MEM,WORK3,MEM,BETASIG,BSIG,MEM) 201 202 do 1231 nm1=1,mem 203 if (BETASIG(nm1).le.1.0e-12)BETASIG(nm1)=1.0e-15 204 1231 continue 205 206 do 123 nm1=1,mem 207 do 123 nm2=1,mem 208 BSIG2(nm1,nm2)= 209 & BSIG(nm1,nm2)*sqrt(BETASIG(nm2)/(1.+BETASIG(nm2))) 210 123 continue 211 212 * ---------------------------------------------------------------- 213 * Calculate signal variance variance as function of target region 214 * ---------------------------------------------------------------- 215 CALL DMRRRR(nvr12,MEM,yvvest,nvr12,MEM,MEM,BSIG2,MEM, 216 & nvr12,MEM,svpvr,nvr12) 217 * ---------------------------------------------------------------- 218 * HERE IS WHERE WE DEFINE THE NORM !! 219 * ---------------------------------------------------------------- 220 sig(iobs)=0.0 221 do 61 ivcount=1,ivm 222 do 61 k=1,mem 223 iu850=(ivcount-1)*12 + 1 224 iv850=(ivcount-1)*12 + 2 225 iu500=(ivcount-1)*12 + 3 226 iv500=(ivcount-1)*12 + 4 227 iu200=(ivcount-1)*12 + 5 228 iv200=(ivcount-1)*12 + 6 Page 5 Source Listing RAWIN_ALLNORMS 2022-05-02 15:46 rawin_allnorms.f 229 it850=(ivcount-1)*12 + 7 230 it500=(ivcount-1)*12 + 8 231 it200=(ivcount-1)*12 + 9 232 iprcp=(ivcount-1)*12 + 10 233 imslp=(ivcount-1)*12 + 11 234 iz500=(ivcount-1)*12 + 12 235 236 * ****** (u,v) verifying norm ****** 237 if (ivnorm.eq.1) then 238 sig(iobs)=sig(iobs) + 239 & svpvr(iu850,k)**2 + svpvr(iv850,k)**2 + 240 & svpvr(iu500,k)**2 + svpvr(iv500,k)**2 + 241 & svpvr(iu200,k)**2 + svpvr(iv200,k)**2 242 endif 243 244 * ****** Total energy verifying norm ****** 245 if (ivnorm.eq.2) then 246 sig(iobs)=sig(iobs) + 247 & 0.5*( svpvr(iu850,k)**2 + svpvr(iv850,k)**2 + 248 & svpvr(iu500,k)**2 + svpvr(iv500,k)**2 + 249 & svpvr(iu200,k)**2 + svpvr(iv200,k)**2 ) + 250 & 3.346*( svpvr(it850,k)**2 + svpvr(it500,k)**2 + 251 & svpvr(it200,k)**2 ) 252 endif 253 254 * ****** (u850,v850,precip,mslp) verifying norm ****** 255 if (ivnorm.eq.3) then 256 sig(iobs)=sig(iobs) + 257 & (svpvr(iu850,k)**2 + svpvr(iv850,k)**2)/uv850sd**2 + 258 & (svpvr(iprcp,k)/prcpsd)**2 + (svpvr(imslp,k)/mslpsd)**2 259 endif 260 261 61 continue 262 263 if (ivnorm.eq.1) then 264 sig(iobs)=sig(iobs)/(mem*ivm*3.0) 265 endif 266 267 if (ivnorm.eq.2) then 268 sig(iobs)=sig(iobs)/(mem*ivm*3.0) 269 endif 270 271 if (ivnorm.eq.3) then 272 sig(iobs)=sig(iobs)/(mem*ivm) 273 endif 274 275 write(6,99) 'Signal Variance(',iobs,')=',sig(iobs), 276 & ' fcst.err.var of routine network=',fev_routine 277 278 if (sig(iobs).gt.sigmax) then 279 sigmax=sig(iobs) 280 endif 281 282 if (sig(iobs).lt.sigmin.and.sig(iobs).gt.0.1) then 283 sigmin=sig(iobs) 284 endif 285 Page 6 Source Listing RAWIN_ALLNORMS 2022-05-02 15:46 rawin_allnorms.f 286 10101 continue 287 288 289 open(1020,form='formatted') 290 do 602 iobs=1,nrawin 291 write(1020,666)iobs,sig(iobs) 292 602 continue 293 close(1020) 294 295 call bubble_sort(sig,sigold,eid,ira,nrawin) 296 297 499 write(1021,*) 5* int(sigmax/5.0) + 5 298 write(1022,*) 5* int(sigmin/5.0) 299 300 mark=' ' 301 write(1023,*)20 302 write(1023,*)sigmax 303 write(1023,*)sigmin 304 write(1050,*)'THE FOLLOWING STATIONS ARE SELECTED:' 305 do 55 i=1,20 306 tfl='00' 307 if (eid(i).ge.10) then 308 write(tfl(1:2),'(i2)')eid(i) 309 else 310 write(tfl(2:2),'(i1)')eid(i) 311 endif 312 write(6,*) tfl, i 313 write(1023,*)obslon(eid(i)), obslat(eid(i)),sigold(eid(i)) 314 write(1050,110)i, id(eid(i)),station(eid(i)) 315 mark(eid(i))='X' 316 55 continue 317 318 C do iobs=1,20 319 C if (mark(ibos).eq.'X') then 320 C write(1050,110)number(iobs),id(iobs),station(iobs),mark(iobs) 321 C endif 322 C enddo 323 C 110 format(I2,2X,I5,1x,A34,2x,A1) 324 325 110 format(2X,I2,2X,I5,1X,A34) 326 327 328 10102 continue 329 330 99 format (A16,I2,A2,F7.2,A35,F7.2) 331 666 format(i5,f8.3) 332 333 STOP 334 END Page 7 Source Listing RAWIN_ALLNORMS 2022-05-02 15:46 Entry Points rawin_allnorms.f ENTRY POINTS Name MAIN__ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 100 Label 157 135 10101 Label 286 165 10102 Label 328 110 Label 325 314 123 Label 210 206,207 1231 Label 204 202 125 Label 124 113,114 20 Label 155 134 33 Label 191 179,181 499 Label 297 55 Label 316 305 602 Label 292 290 61 Label 261 221,222 666 Label 331 291 99 Label 330 275 ACOS Func 90 scalar 90 ASIN Func 94 scalar 94 BETASIG Local 27 R(8) 8 1 1 ALC 72,170,200,203,209 BSIG Local 26 R(8) 8 2 1 ALC 71,171,200,209 BSIG2 Local 28 R(8) 8 2 1 ALC 73,208,215 BUBBLE_SORT Subr 295 295 CALCVRCI Subr 107 107 CALC_FEV_ROUTINE Subr 109 109 CASECODE Local 47 R(4) 4 scalar 47,83 CEVAL Local 20 R(8) 8 1 1 ALC 65,86 CMAT Local 19 R(8) 8 2 1 ALC 64,87,107 DEVCSF Subr 200 200 DMRRRR Subr 199 199,215 DPSIEQ Local 91 R(4) 4 scalar 91,94 DTRANS Subr 198 198 EID Local 40 I(4) 4 1 100 295,307,308,310,313,314,315 FEV_ROUTINE Local 31 R(8) 8 scalar 109,276 FLOAT Func 136 scalar 136,137 GEORAD Local 46 R(4) 4 scalar 46,108 HIRES Local 42 CHAR 8 scalar 135 HMAT Local 38 R(8) 8 2 1 ALC 59,147,148,149,150,188,189 HY Local 23 R(8) 8 2 1 ALC 68,168,188,190,198,199 HYT Local 24 R(8) 8 2 1 ALC 69,169,198,199 I Local 113 I(4) 4 scalar 113,115,116,117,118,119,120,121,12 2,123,305,307,308,310,312,313,314, 315 ID Local 35 I(4) 4 1 1 ALC 56,135,314 IDIM Local 45 I(4) 4 scalar 45,70,108,113,182,183,184,185 IMSLP Local 233 I(4) 4 scalar 233,258 Page 8 Source Listing RAWIN_ALLNORMS 2022-05-02 15:46 Symbol Table rawin_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References INT Func 142 scalar 142,144,297,298 IO Local 187 I(4) 4 scalar 187,188,190 IOBS Local 134 I(4) 4 scalar 134,135,136,137,138,139,141,142,14 4,147,148,149,150,151,152,153,154, 165,182,183,184,185,188,189,220,23 8,246,256,264,268,272,275,278,279, 282,283,290,291 IPRCP Local 232 I(4) 4 scalar 232,258 IRA Local 40 I(4) 4 1 100 295 IT200 Local 231 I(4) 4 scalar 231,251 IT500 Local 230 I(4) 4 scalar 230,250 IT850 Local 229 I(4) 4 scalar 229,250 IU200 Local 227 I(4) 4 scalar 227,241,249 IU500 Local 225 I(4) 4 scalar 225,240,248 IU850 Local 223 I(4) 4 scalar 223,239,247,257 IV Local 181 I(4) 4 scalar 181,182,183,184,185,187,190 IV200 Local 228 I(4) 4 scalar 228,241,249 IV500 Local 226 I(4) 4 scalar 226,240,248 IV850 Local 224 I(4) 4 scalar 224,239,247,257 IVCOUNT Local 221 I(4) 4 scalar 221,223,224,225,226,227,228,229,23 0,231,232,233,234 IVM Local 107 I(4) 4 scalar 107,109,221,264,268,272 IVNORM Local 47 I(4) 4 scalar 47,111,237,245,255,263,267,271 IVR Local 77 I(4) 4 scalar 77,107 IZ500 Local 234 I(4) 4 scalar 234 J Local 92 I(4) 4 scalar 92,93,94,95,114,115,116,117,118,11 9,120,121,122,123 JDIM Local 45 I(4) 4 scalar 45,70,108,114 JEQ Local 93 I(4) 4 scalar 93,94 JSTR Local 45 I(4) 4 scalar 45,61,62,92,108 JVR Local 78 I(4) 4 scalar 78,107 K Local 222 I(4) 4 scalar 222,239,240,241,247,248,249,250,25 1,257,258 KNUM0 Local 98 I(4) 4 scalar 98,99,100,101,102,103,104,105 KNUM1 Local 80 I(4) 4 scalar 80,85 KNUM2 Local 81 I(4) 4 scalar 81,86 KNUM3 Local 82 I(4) 4 scalar 82,87 KNUM5 Local 83 I(4) 4 scalar 83,88 LAT Local 135 I(4) 4 scalar 135,137 LAT1 Local 34 I(4) 4 1 1 ALC 51,153,182,184 LAT2 Local 34 I(4) 4 1 1 ALC 52,154,183,185 LON Local 135 I(4) 4 scalar 135,136 LON1 Local 34 I(4) 4 1 1 ALC 53,151,182,183 LON2 Local 34 I(4) 4 1 1 ALC 54,152,184,185 LTCODE Local 46 I(4) 4 scalar 46,80,81,82 MARK Local 37 CHAR 1 1 1 ALC 58,300,315 MEM Local 45 I(4) 4 scalar 45,63,64,65,66,67,68,69,71,72,73,7 4,75,108,111,179,198,199,200,202,2 06,207,215,216,222,264,268,272 MM1 Local 182 I(4) 4 scalar 182,188 MM2 Local 183 I(4) 4 scalar 183,188 MM3 Local 184 I(4) 4 scalar 184,189 MM4 Local 185 I(4) 4 scalar 185,189 MSLPSD Local 43 R(4) 4 scalar 103,110,258 N2 Local 46 I(4) 4 scalar 46 Page 9 Source Listing RAWIN_ALLNORMS 2022-05-02 15:46 Symbol Table rawin_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References ND Local 45 I(4) 4 scalar 45,59 ND12 Local 46 I(4) 4 scalar 46 ND9 Local 45 I(4) 4 scalar 45,68,69,198,199 NDD Local 167 I(4) 4 scalar 167 NE1 Local 46 I(4) 4 scalar 46,63,108 NE9 Local 46 I(4) 4 scalar 46,67 NINT Func 77 scalar 77,78,151,152,153,154 NM Local 179 I(4) 4 scalar 179,188,189,190 NM1 Local 202 I(4) 4 scalar 202,203,206,208,209 NM2 Local 207 I(4) 4 scalar 207,208,209 NRAWIN Local 46 I(4) 4 scalar 46,49,50,51,52,53,54,55,56,57,58,1 34,165,290,295 NUMBER Local 35 I(4) 4 1 1 ALC 55,135 NV Local 46 I(4) 4 scalar 46,181 NVR Local 46 I(4) 4 scalar 46 NVR12 Local 46 I(4) 4 scalar 46,66,74,108,111,215,216 OBS Local 25 R(8) 8 3 1 ALC 70,115,116,117,118,119,120,121,122 ,123,190 OBSLAT Local 33 R(4) 4 1 1 ALC 50,137,141,144,147,148,149,150,313 OBSLON Local 33 R(4) 4 1 1 ALC 49,136,138,139,141,142,147,148,149 ,150,313 PI Local 90 R(4) 4 scalar 90,95 PRCPSD Local 43 R(4) 4 scalar 102,110,258 RADVR Local 45 R(4) 4 scalar 45,108 RAWIN_ALLNORMS Prog 14 SIG Local 31 R(8) 8 1 100 220,238,246,256,264,268,272,275,27 8,279,282,283,291,295 SIGMAX Local 126 R(4) 4 scalar 126,278,279,297,302 SIGMIN Local 127 R(4) 4 scalar 127,282,283,298,303 SIGOLD Local 32 R(8) 8 1 100 295,313 SIGTOP Local 17 R(4) 4 1 1 ALC 62,95,107 SISTR Local 16 R(4) 4 1 1 ALC 61,94,95,107 SQRT Func 190 scalar 190,209 STATION Local 36 CHAR 34 1 1 ALC 57,135,314 SVPVR Local 29 R(8) 8 2 1 ALC 74,216,239,240,241,247,248,249,250 ,251,257,258 TFL Local 41 CHAR 2 scalar 306,308,310,312 UV850SD Local 43 R(4) 4 scalar 101,110,257 UVSD Local 43 R(4) 4 scalar 100,110 VRLAT Local 45 R(4) 4 scalar 45,78 VRLON Local 45 R(4) 4 scalar 45,77 WORK3 Local 30 R(8) 8 2 1 ALC 75,199,200 XLO1 Local 142 R(4) 4 scalar 142,143,146,149,150,151 XLO2 Local 143 R(4) 4 scalar 143,146,147,148,152 XVVEST Local 18 R(8) 8 2 1 ALC 63,88,107 YLA1 Local 144 R(4) 4 scalar 144,145,146,148,150,153 YLA2 Local 145 R(4) 4 scalar 145,146,147,149,154 YTVEC Local 22 R(8) 8 2 1 ALC 67,85,188,189 YVVEST Local 21 R(8) 8 2 1 ALC 66,107,109,215 Z500SD Local 43 R(4) 4 scalar 104,110 ZQUOT Local 146 R(4) 4 scalar 146,147,148,149,150 Page 10 Source Listing RAWIN_ALLNORMS 2022-05-02 15:46 rawin_allnorms.f 335 336 ************************************************************************ 337 ************************************************************************ 338 339 340 ************************************************************************ 341 * ----------------------------------------------------------------- 342 * Noting that keeping a bunch of extra variables around, the time 343 * has come to make matrix transposes a calculates, rather than a 344 * stored quantity. 345 * ----------------------------------------------------------------- 346 ************************************************************************ 347 SUBROUTINE DTRANS(M,N,A,B) 348 ************************************************************************ 349 350 double precision A(m,n) 351 double precision B(n,m) 352 do 1111 i=1,n 353 do 1111 j=1,m 354 1111 B(i,j)=A(j,i) 355 356 return 357 end ENTRY POINTS Name dtrans_ Page 11 Source Listing DTRANS 2022-05-02 15:46 Symbol Table rawin_allnorms.f SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1111 Label 354 352,353 A Dummy 347 R(8) 8 2 0 ARG,INOUT 354 B Dummy 347 R(8) 8 2 0 ARG,INOUT 354 DTRANS Subr 347 I Local 352 I(4) 4 scalar 352,354 J Local 353 I(4) 4 scalar 353,354 M Dummy 347 I(4) 4 scalar ARG,INOUT 350,351,353 N Dummy 347 I(4) 4 scalar ARG,INOUT 350,351,352 Page 12 Source Listing DTRANS 2022-05-02 15:46 rawin_allnorms.f 358 359 360 361 362 ************************************************************************ 363 * ----------------------------------------------------------------- 364 * Prescribed -- set matrix HY 365 * ----------------------------------------------------------------- 366 subroutine rawin2(iobs,obs,hy,ytvec, 367 &nd,ne9,nd9,mem,idim,jdim,nv) 368 * ----------------------------------------------------------------- 369 ************************************************************************ 370 371 real*4 obslon(nd),obslat(nd) 372 integer lat1(nd),lat2(nd),lon1(nd),lon2(nd) 373 double precision ytvec(ne9,mem),hmat(nd,4),hy(nd9,mem) 374 double precision obs(idim,jdim,nv) 375 376 * ---------------------------------------------------------- 377 * Create the translation matrix from gridpoint space to 378 * observation space known as H. 379 * ---------------------------------------------------------- 380 381 pi=acos(-1.0) 382 383 384 do 20 iobs=1,ndd 385 xlo1=int(obslon(iobs)*144./360.)*2.5 386 xlo2=xlo1+2.5 387 yla1=int(obslat(iobs)*72./180.)*2.5 388 yla2=yla1+2.5 389 zquot=(xlo2-xlo1)*(yla2-yla1) 390 hmat(iobs,1)= (obslon(iobs)-xlo2)*(obslat(iobs)-yla2)/zquot 391 hmat(iobs,2)=-(obslon(iobs)-xlo2)*(obslat(iobs)-yla1)/zquot 392 hmat(iobs,3)=-(obslon(iobs)-xlo1)*(obslat(iobs)-yla2)/zquot 393 hmat(iobs,4)= (obslon(iobs)-xlo1)*(obslat(iobs)-yla1)/zquot 394 lon1(iobs)=nint(xlo1/2.5)+1 395 lon2(iobs)=nint(xlo2/2.5)+1 396 lat1(iobs)=37-nint(yla1/2.5) 397 lat2(iobs)=37-nint(yla2/2.5) 398 20 continue 399 400 * -------------------------------------------------------- 401 * Generate the nice small matrix H*Y, using our brains! 402 * -------------------------------------------------------- 403 do 33 nm=1,mem 404 do 33 iobs=1,ndd 405 do 33 iv=1,nv 406 mm1=9*(lat1(iobs)-1)*idim + 9*(lon1(iobs)-1) + iv 407 mm2=9*(lat2(iobs)-1)*idim + 9*(lon1(iobs)-1) + iv 408 mm3=9*(lat1(iobs)-1)*idim + 9*(lon2(iobs)-1) + iv 409 mm4=9*(lat2(iobs)-1)*idim + 9*(lon2(iobs)-1) + iv 410 io=9*(iobs-1) + iv 411 hy(io,nm)=hmat(iobs,1)*ytvec(mm1,nm)+hmat(iobs,2)*ytvec(mm2,nm)+ 412 & hmat(iobs,3)*ytvec(mm3,nm)+hmat(iobs,4)*ytvec(mm4,nm) 413 hy(io,nm)=hy(io,nm)/sqrt(obs(1,1,iv)) 414 33 continue Page 13 Source Listing RAWIN2 2022-05-02 15:46 rawin_allnorms.f 415 416 return 417 end ENTRY POINTS Name rawin2_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 20 Label 398 384 33 Label 414 403,404,405 ACOS Func 381 scalar 381 HMAT Local 373 R(8) 8 2 0 390,391,392,393,411,412 HY Dummy 366 R(8) 8 2 0 ARG,INOUT 411,413 IDIM Dummy 367 I(4) 4 scalar ARG,INOUT 374,406,407,408,409 INT Func 385 scalar 385,387 IO Local 410 I(4) 4 scalar 410,411,413 IOBS Dummy 366 I(4) 4 scalar ARG,INOUT 384,385,387,390,391,392,393,394,39 5,396,397,404,406,407,408,409,410, 411,412 IV Local 405 I(4) 4 scalar 405,406,407,408,409,410,413 JDIM Dummy 367 I(4) 4 scalar ARG,INOUT 374 LAT1 Local 372 I(4) 4 1 0 396,406,408 LAT2 Local 372 I(4) 4 1 0 397,407,409 LON1 Local 372 I(4) 4 1 0 394,406,407 LON2 Local 372 I(4) 4 1 0 395,408,409 MEM Dummy 367 I(4) 4 scalar ARG,INOUT 373,403 MM1 Local 406 I(4) 4 scalar 406,411 MM2 Local 407 I(4) 4 scalar 407,411 MM3 Local 408 I(4) 4 scalar 408,412 MM4 Local 409 I(4) 4 scalar 409,412 ND Dummy 367 I(4) 4 scalar ARG,INOUT 371,372,373 ND9 Dummy 367 I(4) 4 scalar ARG,INOUT 373 NDD Local 384 I(4) 4 scalar 384,404 NE9 Dummy 367 I(4) 4 scalar ARG,INOUT 373 NINT Func 394 scalar 394,395,396,397 NM Local 403 I(4) 4 scalar 403,411,412,413 NV Dummy 367 I(4) 4 scalar ARG,INOUT 374,405 OBS Dummy 366 R(8) 8 3 0 ARG,INOUT 413 OBSLAT Local 371 R(4) 4 1 0 387,390,391,392,393 OBSLON Local 371 R(4) 4 1 0 385,390,391,392,393 PI Local 381 R(4) 4 scalar 381 RAWIN2 Subr 366 SQRT Func 413 scalar 413 XLO1 Local 385 R(4) 4 scalar 385,386,389,392,393,394 XLO2 Local 386 R(4) 4 scalar 386,389,390,391,395 YLA1 Local 387 R(4) 4 scalar 387,388,389,391,393,396 YLA2 Local 388 R(4) 4 scalar 388,389,390,392,397 YTVEC Dummy 366 R(8) 8 2 0 ARG,INOUT 411,412 ZQUOT Local 389 R(4) 4 scalar 389,390,391,392,393 Page 14 Source Listing RAWIN2 2022-05-02 15:46 rawin_allnorms.f 418 419 420 421 422 423 424 ************************************************************************ 425 * ----------------------------------------------------------------- 426 * Circular verification region, calculate Y matrix in VR 427 * ----------------------------------------------------------------- 428 subroutine calcvrci(ivr,jvr,sistr,sigtop,cmat,ivm,xvvest,yvvest, 429 &jstr,ne1,mem,nvr12,idim,jdim,radvr,georad) 430 * ----------------------------------------------------------------- 431 ************************************************************************ 432 433 dimension sistr(jstr),sigtop(jstr) 434 integer ivra(500),jvra(500) 435 double precision xvvest(ne1,mem),cmat(mem,mem),yvvest(nvr12,mem) 436 437 pi=acos(-1.0) 438 439 c compute coordinates of the verification area 440 c ============================================ 441 radjvr=float(jvr-1)*pi/72. 442 radivr=float(ivr-1)*2.0*pi/144. 443 zvr=cos(radjvr) 444 xvr=sin(radjvr)*cos(radivr) 445 yvr=sin(radjvr)*sin(radivr) 446 447 c ================================================================ 448 c define distance of grid point from center of verification region 449 c ================================================================ 450 ie2=0 451 c print*, 'j, sistr(j)*180./pi, sigtop(j)*180./pi' 452 do 70 j=1,jstr 453 c print*, j, sistr(j)*180./pi, sigtop(j)*180./pi 454 radj=sigtop(j) 455 z=cos(radj) 456 hr=sin(radj) 457 do 60 i=1,idim 458 radi=float(i-1)*2.0*pi/144. 459 x=hr*cos(radi) 460 y=hr*sin(radi) 461 costh=(xvr*x+yvr*y+zvr*z) 462 th=acos(costh) 463 dist=georad*th 464 if (dist.le.radvr) then 465 ie2=ie2+1 466 ivra(ie2)=i 467 jvra(ie2)=j 468 c print*, ie2,float(i-1)*2.5,sistr(j)*180./pi 469 end if 470 60 continue 471 70 continue 472 ivm=ie2 473 c print*, 'ivmemo=',ivm 474 Page 15 Source Listing CALCVRCI 2022-05-02 15:46 rawin_allnorms.f 475 do 61 ivcount=1,ivm 476 mmm=12*((jvra(ivcount)-1)*idim) + 12*(ivra(ivcount)-1) 477 do 61 k=1,mem 478 do 61 ivar=1,12 479 num=mmm+ivar 480 iv=(ivcount-1)*12+ivar 481 yvvest(iv,k)=0.0 482 do 62 nm2=1,mem 483 yvvest(iv,k)=yvvest(iv,k)+xvvest(num,nm2)*cmat(nm2,k) 484 62 continue 485 61 continue 486 487 return 488 end ENTRY POINTS Name calcvrci_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 60 Label 470 457 61 Label 485 475,477,478 62 Label 484 482 70 Label 471 452 ACOS Func 437 scalar 437,462 CALCVRCI Subr 428 CMAT Dummy 428 R(8) 8 2 0 ARG,INOUT 483 COS Func 443 scalar 443,444,455,459 COSTH Local 461 R(4) 4 scalar 461,462 DIST Local 463 R(4) 4 scalar 463,464 FLOAT Func 441 scalar 441,442,458 GEORAD Dummy 429 R(4) 4 scalar ARG,INOUT 463 HR Local 456 R(4) 4 scalar 456,459,460 I Local 457 I(4) 4 scalar 457,458,466 IDIM Dummy 429 I(4) 4 scalar ARG,INOUT 457,476 IE2 Local 450 I(4) 4 scalar 450,465,466,467,472 IV Local 480 I(4) 4 scalar 480,481,483 IVAR Local 478 I(4) 4 scalar 478,479,480 IVCOUNT Local 475 I(4) 4 scalar 475,476,480 IVM Dummy 428 I(4) 4 scalar ARG,INOUT 472,475 IVR Dummy 428 I(4) 4 scalar ARG,INOUT 442 IVRA Local 434 I(4) 4 1 500 466,476 J Local 452 I(4) 4 scalar 452,454,467 JDIM Dummy 429 I(4) 4 scalar ARG,INOUT JSTR Dummy 429 I(4) 4 scalar ARG,INOUT 433,452 JVR Dummy 428 I(4) 4 scalar ARG,INOUT 441 JVRA Local 434 I(4) 4 1 500 467,476 K Local 477 I(4) 4 scalar 477,481,483 MEM Dummy 429 I(4) 4 scalar ARG,INOUT 435,477,482 MMM Local 476 I(4) 4 scalar 476,479 Page 16 Source Listing CALCVRCI 2022-05-02 15:46 Symbol Table rawin_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References NE1 Dummy 429 I(4) 4 scalar ARG,INOUT 435 NM2 Local 482 I(4) 4 scalar 482,483 NUM Local 479 I(4) 4 scalar 479,483 NVR12 Dummy 429 I(4) 4 scalar ARG,INOUT 435 PI Local 437 R(4) 4 scalar 437,441,442,458 RADI Local 458 R(4) 4 scalar 458,459,460 RADIVR Local 442 R(4) 4 scalar 442,444,445 RADJ Local 454 R(4) 4 scalar 454,455,456 RADJVR Local 441 R(4) 4 scalar 441,443,444,445 RADVR Dummy 429 R(4) 4 scalar ARG,INOUT 464 SIGTOP Dummy 428 R(4) 4 1 0 ARG,INOUT 454 SIN Func 444 scalar 444,445,456,460 SISTR Dummy 428 R(4) 4 1 0 ARG,INOUT TH Local 462 R(4) 4 scalar 462,463 X Local 459 R(4) 4 scalar 459,461 XVR Local 444 R(4) 4 scalar 444,461 XVVEST Dummy 428 R(8) 8 2 0 ARG,INOUT 483 Y Local 460 R(4) 4 scalar 460,461 YVR Local 445 R(4) 4 scalar 445,461 YVVEST Dummy 428 R(8) 8 2 0 ARG,INOUT 481,483 Z Local 455 R(4) 4 scalar 455,461 ZVR Local 443 R(4) 4 scalar 443,461 Page 17 Source Listing CALCVRCI 2022-05-02 15:46 rawin_allnorms.f 489 490 491 ************************************************************************ 492 * ----------------------------------------------------------------- 493 * Calculate forecast error variance for routine obs. network 494 * ----------------------------------------------------------------- 495 subroutine calc_fev_routine(ivm,yvvest,fev_routine, 496 & uvsd,uv850sd,prcpsd,mslpsd,z500sd, 497 & nvr12,mem,ivnorm) 498 * ----------------------------------------------------------------- 499 ************************************************************************ 500 501 integer ivm 502 double precision yvvest(nvr12,mem),fev_routine 503 504 real uvsd,uv850sd,prcpsd,mslpsd,z500sd 505 506 fev_routine=0.0 507 do 161 ivcount=1,ivm 508 do 161 k=1,mem 509 iu850=(ivcount-1)*12 + 1 510 iv850=(ivcount-1)*12 + 2 511 iu500=(ivcount-1)*12 + 3 512 iv500=(ivcount-1)*12 + 4 513 iu200=(ivcount-1)*12 + 5 514 iv200=(ivcount-1)*12 + 6 515 it850=(ivcount-1)*12 + 7 516 it500=(ivcount-1)*12 + 8 517 it200=(ivcount-1)*12 + 9 518 iprcp=(ivcount-1)*12 + 10 519 imslp=(ivcount-1)*12 + 11 520 iz500=(ivcount-1)*12 + 12 521 522 * ****** (u,v) verifying norm ****** 523 if (ivnorm.eq.1) then 524 fev_routine = fev_routine + 525 & yvvest(iu850,k)**2 + yvvest(iv850,k)**2 + 526 & yvvest(iu500,k)**2 + yvvest(iv500,k)**2 + 527 & yvvest(iu200,k)**2 + yvvest(iv200,k)**2 528 endif 529 530 * ****** Total energy verifying norm ****** 531 if (ivnorm.eq.2) then 532 fev_routine = fev_routine + 533 & 0.5*( yvvest(iu850,k)**2 + yvvest(iv850,k)**2 + 534 & yvvest(iu500,k)**2 + yvvest(iv500,k)**2 + 535 & yvvest(iu200,k)**2 + yvvest(iv200,k)**2 ) + 536 & 3.346*( yvvest(it850,k)**2 + yvvest(it500,k)**2 + 537 & yvvest(it200,k)**2 ) 538 endif 539 540 * ****** (u850,v850,precip,mslp) verifying norm ****** 541 if (ivnorm.eq.3) then 542 fev_routine = fev_routine + 543 & (yvvest(iu850,k)**2 + yvvest(iv850,k)**2)/uv850sd**2 + 544 & (yvvest(iprcp,k)/prcpsd)**2 + (yvvest(imslp,k)/mslpsd)**2 545 endif Page 18 Source Listing CALC_FEV_ROUTINE 2022-05-02 15:46 rawin_allnorms.f 546 547 161 continue 548 549 if (ivnorm.eq.1) then 550 fev_routine = fev_routine/(mem*ivm*3.0) 551 endif 552 553 if (ivnorm.eq.2) then 554 fev_routine = fev_routine/(mem*ivm*3.0) 555 endif 556 557 if (ivnorm.eq.3) then 558 fev_routine = fev_routine/(mem*ivm) 559 endif 560 561 return 562 end ENTRY POINTS Name calc_fev_routine_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 161 Label 547 507,508 CALC_FEV_ROUTINE Subr 495 FEV_ROUTINE Dummy 495 R(8) 8 scalar ARG,INOUT 506,524,532,542,550,554,558 IMSLP Local 519 I(4) 4 scalar 519,544 IPRCP Local 518 I(4) 4 scalar 518,544 IT200 Local 517 I(4) 4 scalar 517,537 IT500 Local 516 I(4) 4 scalar 516,536 IT850 Local 515 I(4) 4 scalar 515,536 IU200 Local 513 I(4) 4 scalar 513,527,535 IU500 Local 511 I(4) 4 scalar 511,526,534 IU850 Local 509 I(4) 4 scalar 509,525,533,543 IV200 Local 514 I(4) 4 scalar 514,527,535 IV500 Local 512 I(4) 4 scalar 512,526,534 IV850 Local 510 I(4) 4 scalar 510,525,533,543 IVCOUNT Local 507 I(4) 4 scalar 507,509,510,511,512,513,514,515,51 6,517,518,519,520 IVM Dummy 495 I(4) 4 scalar ARG,INOUT 507,550,554,558 IVNORM Dummy 497 I(4) 4 scalar ARG,INOUT 523,531,541,549,553,557 IZ500 Local 520 I(4) 4 scalar 520 K Local 508 I(4) 4 scalar 508,525,526,527,533,534,535,536,53 7,543,544 MEM Dummy 497 I(4) 4 scalar ARG,INOUT 502,508,550,554,558 MSLPSD Dummy 496 R(4) 4 scalar ARG,INOUT 544 NVR12 Dummy 497 I(4) 4 scalar ARG,INOUT 502 PRCPSD Dummy 496 R(4) 4 scalar ARG,INOUT 544 UV850SD Dummy 496 R(4) 4 scalar ARG,INOUT 543 UVSD Dummy 496 R(4) 4 scalar ARG,INOUT Page 19 Source Listing CALC_FEV_ROUTINE 2022-05-02 15:46 Symbol Table rawin_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References YVVEST Dummy 495 R(8) 8 2 0 ARG,INOUT 525,526,527,533,534,535,536,537,54 3,544 Z500SD Dummy 496 R(4) 4 scalar ARG,INOUT Page 20 Source Listing CALC_FEV_ROUTINE 2022-05-02 15:46 rawin_allnorms.f 563 564 565 c ********************************************************************** 566 subroutine bubble_sort(signal,sigold,iid,ira,nrawin) 567 c ********************************************************************** 568 569 integer iid(500), iid2(500), ira(500), nrawin 570 double precision signal(500), sigold(500), sigve2(500), maxsig 571 572 do 10 k=1,nrawin 573 iid(k)=k 574 iid2(k)=iid(k) 575 sigve2(k)=signal(k) 576 sigold(k)=signal(k) 577 10 continue 578 579 do 18 k=1,nrawin 580 maxsig=0.0 581 do 19 kk=k,nrawin 582 if (signal(kk).gt.maxsig) then 583 maxsig=signal(kk) 584 kkk=kk 585 endif 586 19 continue 587 c print *,kkk 588 do 20 kk=k+1,kkk 589 signal(kk)=sigve2(kk-1) 590 iid(kk)=iid2(kk-1) 591 20 continue 592 signal(k)=maxsig 593 iid(k)=iid2(kkk) 594 do 21 kk=1,nrawin 595 sigve2(kk)=signal(kk) 596 iid2(kk)=iid(kk) 597 21 continue 598 18 continue 599 close(17) 600 601 do 30 ir=1,nd 602 ira(iid(ir))=ir 603 30 continue 604 return 605 end Page 21 Source Listing BUBBLE_SORT 2022-05-02 15:46 Entry Points rawin_allnorms.f ENTRY POINTS Name bubble_sort_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 10 Label 577 572 18 Label 598 579 19 Label 586 581 20 Label 591 588 21 Label 597 594 30 Label 603 601 BUBBLE_SORT Subr 566 IID Dummy 566 I(4) 4 1 500 ARG,INOUT 573,574,590,593,596,602 IID2 Local 569 I(4) 4 1 500 574,590,593,596 IR Local 601 I(4) 4 scalar 601,602 IRA Dummy 566 I(4) 4 1 500 ARG,INOUT 602 K Local 572 I(4) 4 scalar 572,573,574,575,576,579,581,588,59 2,593 KK Local 581 I(4) 4 scalar 581,582,583,584,588,589,590,594,59 5,596 KKK Local 584 I(4) 4 scalar 584,588,593 MAXSIG Local 570 R(8) 8 scalar 580,582,583,592 ND Local 601 I(4) 4 scalar 601 NRAWIN Dummy 566 I(4) 4 scalar ARG,INOUT 572,579,581,594 SIGNAL Dummy 566 R(8) 8 1 500 ARG,INOUT 575,576,582,583,589,592,595 SIGOLD Dummy 566 R(8) 8 1 500 ARG,INOUT 576 SIGVE2 Local 570 R(8) 8 1 500 575,589,595 Page 22 Source Listing BUBBLE_SORT 2022-05-02 15:46 Subprograms/Common Blocks rawin_allnorms.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References BUBBLE_SORT Subr 566 CALCVRCI Subr 428 CALC_FEV_ROUTINE Subr 495 DTRANS Subr 347 RAWIN2 Subr 366 RAWIN_ALLNORMS Prog 14 COMPILER OPTIONS BEING USED -align noall -align nonone -align nocommons -align nodcommons -align noqcommons -align nozcommons -align records -align sequence -align norec1byte -align norec2byte -align norec4byte -align norec8byte -align norec16byte -align norec32byte -align norec64byte -align noarray8byte -align noarray16byte -align noarray32byte -align noarray64byte -align noarray128byte -align noarray256byte -altparam -assume accuracy_sensitive -assume nobscc -assume nobuffered_io -assume nobuffered_stdout -assume byterecl -assume nocontiguous_assumed_shape -assume nocontiguous_pointer -assume nocc_omp -assume nocstring -assume nodummy_aliases -assume nofpe_summary -assume noieee_fpe_flags -assume nominus0 -assume noold_boz -assume old_complex_align -assume old_unit_star -assume old_inquire_recl -assume old_ldout_format -assume old_ldout_zero -assume noold_logical_assign -assume noold_logical_ldio -assume old_maxminloc -assume old_xor -assume noprotect_allocates -assume protect_constants -assume noprotect_parens -assume split_common -assume source_include -assume nostd_intent_in -assume std_minus0_rounding -assume nostd_mod_proc_name -assume std_value -assume realloc_lhs -assume underscore -assume no2underscores -assume norecursion no -auto -auto_scalar no -bintext -ccdefault default -check noarg_temp_created -check noassume -check nobounds -check nocontiguous -check noformat -check nooutput_conversion -check nooverflow -check nopointers -check noshape -check nostack -check nouninitialized -check noudio_iostat -coarray-num-procs 0 no -coarray-config-file -convert big_endian -cross_reference -D __INTEL_COMPILER=1910 -D __INTEL_COMPILER_UPDATE=3 -D __unix__ -D __unix -D __linux__ -D __linux Page 23 Source Listing BUBBLE_SORT 2022-05-02 15:46 rawin_allnorms.f -D __gnu_linux__ -D unix -D linux -D __ELF__ -D __x86_64 -D __x86_64__ -D __amd64 -D __amd64__ -D __INTEL_COMPILER_BUILD_DATE=20200925 -D __INTEL_OFFLOAD -D __MMX__ -D __SSE__ -D __SSE_MATH__ -D __SSE2__ -D __SSE2_MATH__ -D __SSE3__ -D __SSSE3__ -D __SSE4_1__ -D __SSE4_2__ -D __POPCNT__ -D __PCLMUL__ -D __AES__ -D __AVX__ -D __F16C__ -D __AVX_I__ -D __RDRND__ -D __FMA__ -D __FP_FAST_FMA -D __FP_FAST_FMAF -D __BMI__ -D __LZCNT__ -D __AVX2__ -D __haswell -D __haswell__ -D __tune_haswell__ -D __core_avx2 -D __core_avx2__ -D __tune_core_avx2__ -double_size 64 no -d_lines no -Qdyncom -error_limit 30 no -f66 no -f77rtl no -fast -fpscomp nofilesfromcmd -fpscomp nogeneral -fpscomp noioformat -fpscomp noldio_spacing -fpscomp nologicals -fixed no -fpconstant -fpe3 -fprm nearest -ftz -fp_model precise -fp_model nofast -fp_model nostrict -fp_model nosource -fp_model nodouble -fp_model noextended -fp_model novery_fast -fp_model noexcept -fp_model nono_except -fp_modbits nofp_contract -fp_modbits nono_fp_contract -fp_modbits nofenv_access -fp_modbits nono_fenv_access -fp_modbits nocx_limited_range -fp_modbits nono_cx_limited_range -fp_modbits noprec_div -fp_modbits no_prec_div -fp_modbits noprec_sqrt -fp_modbits no_prec_sqrt -fp_modbits ftz -fp_modbits nono_ftz -fp_modbits nointrin_limited_range -fp_modbits nono_intrin_limited_range -fp_modbits notrunc_compares -fp_modbits nono_trunc_compares -fp_modbits noieee_nan_compares -fp_modbits nono_ieee_nan_compares -fp_modbits nohonor_f32_conversion -fp_modbits nono_honor_f32_conversion -fp_modbits nohonor_f64_conversion -fp_modbits nono_honor_f64_conversion -fp_modbits nono_x87_copy -fp_modbits nono_no_x87_copy -fp_modbits noexception_semantics -fp_modbits nono_exception_semantics -fp_modbits noprecise_libm_functions -fp_modbits no_precise_libm_functions -heap_arrays 0 no -threadprivate_compat -g0 -iface nomixed_str_len_arg -iface nono_mixed_str_len_arg -init noarrays -init nohuge -init noinfinity -init nominus_huge -init nominus_infinity -init nominus_tiny -init nonan -init nosnan -init notiny -init nozero no -intconstant -integer_size 32 no -mixed_str_len_arg no -module -names lowercase no -noinclude no -o Page 24 Source Listing BUBBLE_SORT 2022-05-02 15:46 rawin_allnorms.f -offload-build=host -openmp-simd -O3 no -pad_source -real_size 32 no -recursive -reentrancy threaded -vec=simd -show nofullpath -show noinclude -show map -show options no -syntax_only no -threadcom no -U no -vms -w noall -w nonone -w alignments -w nodeclarations -w noexternals -w general -w noignore_bounds -w noignore_loc -w nointerfaces -w noshape -w notruncated_source -w uncalled -w uninitialized -w nounused -w usage no -wrap-margins -includepath : /pe/intel/compilers_and_libraries_2020.4.304/linux/ipp/include/,/pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/intel64/, /usr/include/,.FOR,./.FOR,/opt/cray/pe/mpich/8.1.9/ofi/intel/19.0/include/.FOR,/pe/intel/compilers_and_libraries_2020.4.304/linux/mkl/include/intel64/lp64/.FOR, /pe/intel/compilers_and_libraries_2020.4.304/linux/mkl/include/.FOR,/pe/intel/compilers_and_libraries_2020.4.304/linux/ipp/include/.FOR, /pe/intel/compilers_and_libraries_2020.4.304/linux/mkl/include/.FOR,/pe/intel/compilers_and_libraries_2020.4.304/linux/pstl/include/.FOR, /pe/intel/compilers_and_libraries_2020.4.304/linux/pstl/stdlib/.FOR,/pe/intel/compilers_and_libraries_2020.4.304/linux/tbb/include/.FOR, /pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/intel64/.FOR,/pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/icc/.FOR, /pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/.FOR,/usr/lib64/gcc/x86_64-suse-linux/7/include/.FOR, /usr/lib64/gcc/x86_64-suse-linux/7/include-fixed/.FOR,/usr/include/.FOR,/usr/include/.FOR,/usr/include/.FOR -list filename : rawin_allnorms.lst no -o COMPILER: Intel(R) Fortran 19.1-1655