Page 1 Source Listing SIGVAR_ALLNORMS 2022-05-02 15:46 sigvar_allnorms.f 1 c ********************************************************************** 2 c ********************************************************************** 3 c ****** ETKF code to provide geographical distribution of signal ****** 4 c ******* variance for any given deployment in file 'track.tp' ********* 5 c ********************************************************************** 6 c ********************************************************************** 7 c ***** (c) S.J.Majumdar, C.H.Bishop, B.J.Etherton, December 1999. ***** 8 c *************** Code developed at Penn State University ************** 9 c ********************************************************************** 10 c ********************************************************************** 11 12 13 c 3456789012345678901234567890123456789012345678901234567890123456789012 14 15 program sigvar_allnorms 16 17 real uvsd,uv850sd,prcpsd,mslpsd,z500sd 18 19 double precision,allocatable::xvvec(:,:) 20 double precision,allocatable::cmat(:,:) 21 double precision,allocatable::ceval(:) 22 double precision,allocatable::ytvec(:,:) 23 double precision,allocatable::yvvec(:,:) 24 double precision,allocatable::hsty(:,:) 25 double precision,allocatable::hstyt(:,:) 26 double precision,allocatable::bsig(:,:) 27 double precision,allocatable::betasig(:) 28 double precision,allocatable::bsig2(:,:) 29 double precision,allocatable::work3(:,:) 30 31 read(5,*)idim,jdim,npts12,mem,nd,nd9,rlon1,rlon2,rlat1,rlat2, 32 &nflights,georad,ne9,nv,ltcode,ivnorm,ltstep 33 34 allocate(xvvec(npts12,mem)) 35 allocate(cmat(mem,mem)) 36 allocate(ceval(mem)) 37 allocate(ytvec(ne9,mem)) 38 allocate(yvvec(npts12,mem)) 39 allocate(hsty(nd9,mem)) 40 allocate(hstyt(nd9,mem)) 41 allocate(bsig(mem,mem)) 42 allocate(betasig(mem)) 43 allocate(bsig2(mem,mem)) 44 allocate(work3(mem,mem)) 45 46 47 i1=nint(rlon1/2.5)+1 48 i2=nint(rlon2/2.5)+1 49 if (idim11.gt.idim12) idim12=idim12+idim 50 j1=nint((90.-rlat1)/2.5)+1 51 j2=nint((90.-rlat2)/2.5)+1 52 53 knum1=ltcode+8200 54 knum2=ltcode+8300 55 knum3=ltcode+8400 56 57 read(knum1) ytvec Page 2 Source Listing SIGVAR_ALLNORMS 2022-05-02 15:46 sigvar_allnorms.f 58 read(knum2) ceval 59 read(knum3) cmat 60 61 knum0=1234 62 open(knum0,form='formatted') 63 read(knum0,*) uvsd 64 read(knum0,*) uv850sd 65 read(knum0,*) prcpsd 66 read(knum0,*) mslpsd 67 read(knum0,*) z500sd 68 close(knum0) 69 70 do 300 kkk=0,ltstep 71 call read_tv(kkk,i1,i2,j1,j2,xvvec,idim,jdim,mem,npts12) 72 call calc_y(xvvec,yvvec,cmat,npts12,mem) 73 call flights(mem,ytvec,hsty,nd,ne9,nd9,idim,jdim,nv) 74 CALL DTRANS(nd9,MEM,hsty,hstyt) 75 CALL DMRRRR(MEM,nd9,hstyt,MEM,nd9,MEM,hsty,nd9,MEM,MEM,WORK3,MEM) 76 CALL DEVCSF(MEM,WORK3,MEM,BETASIG,BSIG,MEM) 77 78 do 1231 nm1=1,mem 79 if (BETASIG(nm1).le.1.0e-12)BETASIG(nm1)=1.0e-15 80 1231 continue 81 82 do 123 nm1=1,mem 83 do 123 nm2=1,mem 84 BSIG2(nm1,nm2)=BSIG(nm1,nm2)*sqrt(BETASIG(nm2)/(1.+BETASIG(nm2))) 85 123 continue 86 87 print*, uv850sd, uvsd,mslpsd,z500sd 88 89 call calc_sigvar(kkk,i1,i2,j1,j2,yvvec,bsig2, 90 & uvsd,uv850sd,prcpsd,mslpsd,z500sd, 91 & npts12,mem,idim,jdim,ivnorm) 92 300 continue 93 94 STOP 95 END Page 3 Source Listing SIGVAR_ALLNORMS 2022-05-02 15:46 Entry Points sigvar_allnorms.f ENTRY POINTS Name MAIN__ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 123 Label 85 82,83 1231 Label 80 78 300 Label 92 70 BETASIG Local 27 R(8) 8 1 1 ALC 42,76,79,84 BSIG Local 26 R(8) 8 2 1 ALC 41,76,84 BSIG2 Local 28 R(8) 8 2 1 ALC 43,84,89 CALC_SIGVAR Subr 89 89 CALC_Y Subr 72 72 CEVAL Local 21 R(8) 8 1 1 ALC 36,58 CMAT Local 20 R(8) 8 2 1 ALC 35,59,72 DEVCSF Subr 76 76 DMRRRR Subr 75 75 DTRANS Subr 74 74 FLIGHTS Subr 73 73 GEORAD Local 32 R(4) 4 scalar 32 HSTY Local 24 R(8) 8 2 1 ALC 39,73,74,75 HSTYT Local 25 R(8) 8 2 1 ALC 40,74,75 I1 Local 47 I(4) 4 scalar 47,71,89 I2 Local 48 I(4) 4 scalar 48,71,89 IDIM Local 31 I(4) 4 scalar 31,49,71,73,91 IDIM11 Local 49 I(4) 4 scalar 49 IDIM12 Local 49 I(4) 4 scalar 49 IVNORM Local 32 I(4) 4 scalar 32,91 J1 Local 50 I(4) 4 scalar 50,71,89 J2 Local 51 I(4) 4 scalar 51,71,89 JDIM Local 31 I(4) 4 scalar 31,71,73,91 KKK Local 70 I(4) 4 scalar 70,71,89 KNUM0 Local 61 I(4) 4 scalar 61,62,63,64,65,66,67,68 KNUM1 Local 53 I(4) 4 scalar 53,57 KNUM2 Local 54 I(4) 4 scalar 54,58 KNUM3 Local 55 I(4) 4 scalar 55,59 LTCODE Local 32 I(4) 4 scalar 32,53,54,55 LTSTEP Local 32 I(4) 4 scalar 32,70 MEM Local 31 I(4) 4 scalar 31,34,35,36,37,38,39,40,41,42,43,4 4,71,72,73,74,75,76,78,82,83,91 MSLPSD Local 17 R(4) 4 scalar 66,87,90 ND Local 31 I(4) 4 scalar 31,73 ND9 Local 31 I(4) 4 scalar 31,39,40,73,74,75 NE9 Local 32 I(4) 4 scalar 32,37,73 NFLIGHTS Local 32 I(4) 4 scalar 32 NINT Func 47 scalar 47,48,50,51 NM1 Local 78 I(4) 4 scalar 78,79,82,84 NM2 Local 83 I(4) 4 scalar 83,84 NPTS12 Local 31 I(4) 4 scalar 31,34,38,71,72,91 Page 4 Source Listing SIGVAR_ALLNORMS 2022-05-02 15:46 Symbol Table sigvar_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References NV Local 32 I(4) 4 scalar 32,73 PRCPSD Local 17 R(4) 4 scalar 65,90 READ_TV Subr 71 71 RLAT1 Local 31 R(4) 4 scalar 31,50 RLAT2 Local 31 R(4) 4 scalar 31,51 RLON1 Local 31 R(4) 4 scalar 31,47 RLON2 Local 31 R(4) 4 scalar 31,48 SIGVAR_ALLNORMS Prog 15 SQRT Func 84 scalar 84 UV850SD Local 17 R(4) 4 scalar 64,87,90 UVSD Local 17 R(4) 4 scalar 63,87,90 WORK3 Local 29 R(8) 8 2 1 ALC 44,75,76 XVVEC Local 19 R(8) 8 2 1 ALC 34,71,72 YTVEC Local 22 R(8) 8 2 1 ALC 37,57,73 YVVEC Local 23 R(8) 8 2 1 ALC 38,72,89 Z500SD Local 17 R(4) 4 scalar 67,87,90 Page 5 Source Listing SIGVAR_ALLNORMS 2022-05-02 15:46 sigvar_allnorms.f 96 97 ************************************************************************ 98 ************************************************************************ 99 100 101 ************************************************************************ 102 * ----------------------------------------------------------------- 103 * Noting that keeping a bunch of extra variables around, the time 104 * has come to make matrix transposes a calculates, rather than a 105 * stored quantity. 106 * ----------------------------------------------------------------- 107 ************************************************************************ 108 SUBROUTINE DTRANS(M,N,A,B) 109 ************************************************************************ 110 111 double precision A(m,n) 112 double precision B(n,m) 113 do 1111 i=1,n 114 do 1111 j=1,m 115 1111 B(i,j)=A(j,i) 116 117 return 118 end ENTRY POINTS Name dtrans_ Page 6 Source Listing DTRANS 2022-05-02 15:46 Symbol Table sigvar_allnorms.f SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1111 Label 115 113,114 A Dummy 108 R(8) 8 2 0 ARG,INOUT 115 B Dummy 108 R(8) 8 2 0 ARG,INOUT 115 DTRANS Subr 108 I Local 113 I(4) 4 scalar 113,115 J Local 114 I(4) 4 scalar 114,115 M Dummy 108 I(4) 4 scalar ARG,INOUT 111,112,114 N Dummy 108 I(4) 4 scalar ARG,INOUT 111,112,113 Page 7 Source Listing DTRANS 2022-05-02 15:46 sigvar_allnorms.f 119 120 121 122 123 ************************************************************************ 124 * ----------------------------------------------------------------- 125 * Prescribed flight tracks -- set matrix HY 126 * ----------------------------------------------------------------- 127 subroutine flights(mm,ytvec,hsty,nd,ne9,nd9,idim,jdim,nv) 128 * ----------------------------------------------------------------- 129 ************************************************************************ 130 131 integer mm 132 real*4 obslon(nd),obslat(nd) 133 integer lat1(nd),lat2(nd),lon1(nd),lon2(nd) 134 double precision ytvec(ne9,mm),hmat(nd,4),hsty(nd9,mm) 135 double precision oberr(idim,jdim,nv) 136 137 * -------------------------------------------------------- 138 * First generate the observation error covariance matrix 139 * -------------------------------------------------------- 140 do 125 i=1,idim 141 do 125 j=1,jdim 142 oberr(i,j,1)=2.4**2 143 oberr(i,j,2)=2.4**2 144 oberr(i,j,3)=2.8**2 145 oberr(i,j,4)=2.8**2 146 oberr(i,j,5)=2.95**2 147 oberr(i,j,6)=2.95**2 148 oberr(i,j,7)=0.8**2 149 oberr(i,j,8)=0.8**2 150 oberr(i,j,9)=1.2**2 151 125 continue 152 153 * ---------------------------------------------------------- 154 * Create the translation matrix from gridpoint space to 155 * observation space known as H. 156 * ---------------------------------------------------------- 157 open(7,form='formatted',status='unknown') 158 pi=acos(-1.0) 159 read(7,*) ndd 160 do 20 iobs=1,ndd 161 read(7,*) obslon(iobs), obslat(iobs) 162 C Y Song added to adjust for positive obslon 163 if (obslon(iobs).lt.0) then 164 obslon(iobs)=360.+obslon(iobs) 165 endif 166 xlo1=int(obslon(iobs)*144./360.)*2.5 167 xlo2=xlo1+2.5 168 yla1=int(obslat(iobs)*72./180.)*2.5 169 yla2=yla1+2.5 170 zquot=(xlo2-xlo1)*(yla2-yla1) 171 c print*, 'obslon(iobs), obslat(iobs), xlo1,xlo2,yla1,yla2' 172 c print*, obslon(iobs), obslat(iobs), xlo1,xlo2,yla1,yla2 173 hmat(iobs,1)= (obslon(iobs)-xlo2)*(obslat(iobs)-yla2)/zquot 174 hmat(iobs,2)=-(obslon(iobs)-xlo2)*(obslat(iobs)-yla1)/zquot 175 hmat(iobs,3)=-(obslon(iobs)-xlo1)*(obslat(iobs)-yla2)/zquot Page 8 Source Listing FLIGHTS 2022-05-02 15:46 sigvar_allnorms.f 176 hmat(iobs,4)= (obslon(iobs)-xlo1)*(obslat(iobs)-yla1)/zquot 177 c print*, 'h1=',hmat(iobs,1),' h2=',hmat(iobs,2) 178 c print*, 'h3=',hmat(iobs,3),' h4=',hmat(iobs,4) 179 lon1(iobs)=nint(xlo1/2.5)+1 180 lon2(iobs)=nint(xlo2/2.5)+1 181 lat1(iobs)=37-nint(yla1/2.5) 182 lat2(iobs)=37-nint(yla2/2.5) 183 c print*, 'lon1=',lon1(iobs),' lon2=',lon2(iobs) 184 c print*, 'lat1=',lat1(iobs),' lat2=',lat2(iobs) 185 20 continue 186 close(7) 187 188 * -------------------------------------------------------- 189 * Generate the nice small matrix H*Y, using our brains! 190 * -------------------------------------------------------- 191 do 33 nm=1,mm 192 do 33 iobs=1,ndd 193 do 33 iv=1,nv 194 mm1=9*(lat1(iobs)-1)*idim + 9*(lon1(iobs)-1) + iv 195 mm2=9*(lat2(iobs)-1)*idim + 9*(lon1(iobs)-1) + iv 196 mm3=9*(lat1(iobs)-1)*idim + 9*(lon2(iobs)-1) + iv 197 mm4=9*(lat2(iobs)-1)*idim + 9*(lon2(iobs)-1) + iv 198 io=9*(iobs-1) + iv 199 hsty(io,nm)=hmat(iobs,1)*ytvec(mm1,nm)+hmat(iobs,2)*ytvec(mm2,nm)+ 200 & hmat(iobs,3)*ytvec(mm3,nm)+hmat(iobs,4)*ytvec(mm4,nm) 201 hsty(io,nm)=hsty(io,nm)/sqrt(oberr(1,1,iv)) 202 33 continue 203 204 return 205 end Page 9 Source Listing FLIGHTS 2022-05-02 15:46 Entry Points sigvar_allnorms.f ENTRY POINTS Name flights_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 125 Label 151 140,141 20 Label 185 160 33 Label 202 191,192,193 ACOS Func 158 scalar 158 FLIGHTS Subr 127 HMAT Local 134 R(8) 8 2 0 173,174,175,176,199,200 HSTY Dummy 127 R(8) 8 2 0 ARG,INOUT 199,201 I Local 140 I(4) 4 scalar 140,142,143,144,145,146,147,148,14 9,150 IDIM Dummy 127 I(4) 4 scalar ARG,INOUT 135,140,194,195,196,197 INT Func 166 scalar 166,168 IO Local 198 I(4) 4 scalar 198,199,201 IOBS Local 160 I(4) 4 scalar 160,161,163,164,166,168,173,174,17 5,176,179,180,181,182,192,194,195, 196,197,198,199,200 IV Local 193 I(4) 4 scalar 193,194,195,196,197,198,201 J Local 141 I(4) 4 scalar 141,142,143,144,145,146,147,148,14 9,150 JDIM Dummy 127 I(4) 4 scalar ARG,INOUT 135,141 LAT1 Local 133 I(4) 4 1 0 181,194,196 LAT2 Local 133 I(4) 4 1 0 182,195,197 LON1 Local 133 I(4) 4 1 0 179,194,195 LON2 Local 133 I(4) 4 1 0 180,196,197 MM Dummy 127 I(4) 4 scalar ARG,INOUT 134,191 MM1 Local 194 I(4) 4 scalar 194,199 MM2 Local 195 I(4) 4 scalar 195,199 MM3 Local 196 I(4) 4 scalar 196,200 MM4 Local 197 I(4) 4 scalar 197,200 ND Dummy 127 I(4) 4 scalar ARG,INOUT 132,133,134 ND9 Dummy 127 I(4) 4 scalar ARG,INOUT 134 NDD Local 159 I(4) 4 scalar 159,160,192 NE9 Dummy 127 I(4) 4 scalar ARG,INOUT 134 NINT Func 179 scalar 179,180,181,182 NM Local 191 I(4) 4 scalar 191,199,200,201 NV Dummy 127 I(4) 4 scalar ARG,INOUT 135,193 OBERR Local 135 R(8) 8 3 0 142,143,144,145,146,147,148,149,15 0,201 OBSLAT Local 132 R(4) 4 1 0 161,168,173,174,175,176 OBSLON Local 132 R(4) 4 1 0 161,163,164,166,173,174,175,176 PI Local 158 R(4) 4 scalar 158 SQRT Func 201 scalar 201 XLO1 Local 166 R(4) 4 scalar 166,167,170,175,176,179 XLO2 Local 167 R(4) 4 scalar 167,170,173,174,180 YLA1 Local 168 R(4) 4 scalar 168,169,170,174,176,181 Page 10 Source Listing FLIGHTS 2022-05-02 15:46 Symbol Table sigvar_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References YLA2 Local 169 R(4) 4 scalar 169,170,173,175,182 YTVEC Dummy 127 R(8) 8 2 0 ARG,INOUT 199,200 ZQUOT Local 170 R(4) 4 scalar 170,173,174,175,176 Page 11 Source Listing FLIGHTS 2022-05-02 15:46 sigvar_allnorms.f 206 207 208 ************************************************************************ 209 * ----------------------------------------------------------------- 210 * Read in ensemble perturbations at later times t_V 211 * ----------------------------------------------------------------- 212 subroutine read_tv(kkk,i1,i2,j1,j2,xvvec,idim,jdim,mem,npts12) 213 * ----------------------------------------------------------------- 214 ************************************************************************ 215 216 dimension datav(idim,jdim,mem,12) 217 218 double precision xvvec(npts12,mem) 219 220 open(1100+kkk,form='unformatted') 221 read(1100+kkk) datav 222 close(1100+kkk) 223 224 1234 sm=sqrt(float(mem)) 225 226 do 35 nm=1,mem 227 ie1=0 228 do 211 j=j1,j2,2 229 do 211 i=i1,i2,2 230 do 221 iv=1,12 231 ie1=ie1+1 232 xvvec(ie1,nm)=datav(i,j,nm,iv)/sm 233 221 continue 234 211 continue 235 35 continue 236 237 return 238 end Page 12 Source Listing READ_TV 2022-05-02 15:46 Entry Points sigvar_allnorms.f ENTRY POINTS Name read_tv_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1234 Label 224 211 Label 234 228,229 221 Label 233 230 35 Label 235 226 DATAV Local 216 R(4) 4 4 0 221,232 FLOAT Func 224 scalar 224 I Local 229 I(4) 4 scalar 229,232 I1 Dummy 212 I(4) 4 scalar ARG,INOUT 229 I2 Dummy 212 I(4) 4 scalar ARG,INOUT 229 IDIM Dummy 212 I(4) 4 scalar ARG,INOUT 216 IE1 Local 227 I(4) 4 scalar 227,231,232 IV Local 230 I(4) 4 scalar 230,232 J Local 228 I(4) 4 scalar 228,232 J1 Dummy 212 I(4) 4 scalar ARG,INOUT 228 J2 Dummy 212 I(4) 4 scalar ARG,INOUT 228 JDIM Dummy 212 I(4) 4 scalar ARG,INOUT 216 KKK Dummy 212 I(4) 4 scalar ARG,INOUT 220,221,222 MEM Dummy 212 I(4) 4 scalar ARG,INOUT 216,218,224,226 NM Local 226 I(4) 4 scalar 226,232 NPTS12 Dummy 212 I(4) 4 scalar ARG,INOUT 218 READ_TV Subr 212 SM Local 224 R(4) 4 scalar 224,232 SQRT Func 224 scalar 224 XVVEC Dummy 212 R(8) 8 2 0 ARG,INOUT 232 Page 13 Source Listing READ_TV 2022-05-02 15:46 sigvar_allnorms.f 239 240 241 ************************************************************************ 242 * ----------------------------------------------------------------- 243 * Using the C's, evaluate transformed ensemble Y 244 * ----------------------------------------------------------------- 245 subroutine calc_y(xvvec,yvvec,cmat,npts12,mem) 246 * ----------------------------------------------------------------- 247 ************************************************************************ 248 249 double precision xvvec(npts12,mem),yvvec(npts12,mem) 250 double precision cmat(mem,mem) 251 252 * ------------------------------------------------------------- 253 * Store Y matrices for unadapted observational network 254 * Outer product of Y is first guess prediction error cov matrix 255 * ------------------------------------------------------------- 256 CALL DMRRRR 257 &(npts12,mem,xvvec,npts12,mem,mem,cmat,mem,npts12,mem,yvvec,npts12) 258 259 return 260 end ENTRY POINTS Name calc_y_ Page 14 Source Listing CALC_Y 2022-05-02 15:46 Symbol Table sigvar_allnorms.f SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References CALC_Y Subr 245 CMAT Dummy 245 R(8) 8 2 0 ARG,INOUT 257 DMRRRR Subr 256 256 MEM Dummy 245 I(4) 4 scalar ARG,INOUT 249,250,257 NPTS12 Dummy 245 I(4) 4 scalar ARG,INOUT 249,257 XVVEC Dummy 245 R(8) 8 2 0 ARG,INOUT 257 YVVEC Dummy 245 R(8) 8 2 0 ARG,INOUT 257 Page 15 Source Listing CALC_Y 2022-05-02 15:46 sigvar_allnorms.f 261 262 263 264 265 ************************************************************************ 266 * ----------------------------------------------------------------- 267 * Calculate Reduction of Error Variance 268 * ----------------------------------------------------------------- 269 subroutine calc_sigvar(kkk,i1,i2,j1,j2,yvvec,bsig2, 270 & uvsd,uv850sd,prcpsd,mslpsd,z500sd, 271 & npts12,mem,idim,jdim,ivnorm) 272 * ----------------------------------------------------------------- 273 ************************************************************************ 274 275 double precision yvvec(npts12,mem),bsig2(mem,mem) 276 double precision svv(npts12,mem),impv(idim,jdim) 277 278 real uvsd,uv850sd,prcpsd,mslpsd,z500sd 279 280 * ----------------------------------------------------------------- 281 * Reduction of prediction error variance 282 * ----------------------------------------------------------------- 283 CALL DMRRRR(npts12,mem,yvvec,npts12,mem,mem,bsig2,mem, 284 & npts12,mem,svv,npts12) 285 * ----------------------------------------------------------------- 286 print*, 'Signal Variance calculated for t_T+',(kkk*12) 287 288 do 500 i=1,idim 289 do 500 j=1,jdim 290 impv(i,j)=0.0 291 500 continue 292 293 294 c *** (u,v,T) signal variance *** 295 ipt=1 296 do 271 j=j1,j2,2 297 do 281 i=i1,i2,2 298 impv(i,j)=0.0 299 iu850=(ipt-1)*12 + 1 300 iv850=(ipt-1)*12 + 2 301 iu500=(ipt-1)*12 + 3 302 iv500=(ipt-1)*12 + 4 303 iu200=(ipt-1)*12 + 5 304 iv200=(ipt-1)*12 + 6 305 it850=(ipt-1)*12 + 7 306 it500=(ipt-1)*12 + 8 307 it200=(ipt-1)*12 + 9 308 iprcp=(ipt-1)*12 + 10 309 imslp=(ipt-1)*12 + 11 310 iz500=(ipt-1)*12 + 12 311 312 do 35 k=1,mem 313 314 if (ivnorm.eq.1) then 315 impv(i,j)=impv(i,j) + svv(iu850,k)**2+svv(iv850,k)**2 316 & + svv(iu500,k)**2+svv(iv500,k)**2 317 & + svv(iu200,k)**2+svv(iv200,k)**2 Page 16 Source Listing CALC_SIGVAR 2022-05-02 15:46 sigvar_allnorms.f 318 endif 319 320 if (ivnorm.eq.2) then 321 impv(i,j)=impv(i,j) + 0.5*(svv(iu850,k)**2+svv(iv850,k)**2 322 & +svv(iu500,k)**2+svv(iv500,k)**2 323 & +svv(iu200,k)**2+svv(iv200,k)**2) 324 & + 3.346*(svv(it850,k)**2+svv(it500,k)**2 325 & +svv(it200,k)**2) 326 endif 327 328 if (ivnorm.eq.3) then 329 impv(i,j)=impv(i,j) + (svv(iu850,k)**2+svv(iv850,k)**2) 330 & /uv850sd**2 + (svv(iprcp,k)/prcpsd)**2 331 & + (svv(imslp,k)/mslpsd)**2 332 endif 333 334 35 continue 335 336 ipt=ipt+1 337 281 continue 338 271 continue 339 340 open(1200+kkk,form='formatted') 341 do 501 i=i1,i2,2 342 do 501 j=j1,j2,2 343 write(1200+kkk,666)i,j,impv(i,j)/3.0 344 501 continue 345 close(1200+kkk) 346 347 666 format(2i5,f8.3) 348 349 350 351 return 352 end Page 17 Source Listing CALC_SIGVAR 2022-05-02 15:46 Entry Points sigvar_allnorms.f ENTRY POINTS Name calc_sigvar_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 271 Label 338 296 281 Label 337 297 35 Label 334 312 500 Label 291 288,289 501 Label 344 341,342 666 Label 347 343 BSIG2 Dummy 269 R(8) 8 2 0 ARG,INOUT 283 CALC_SIGVAR Subr 269 DMRRRR Subr 283 283 I Local 288 I(4) 4 scalar 288,290,297,298,315,321,329,341,34 3 I1 Dummy 269 I(4) 4 scalar ARG,INOUT 297,341 I2 Dummy 269 I(4) 4 scalar ARG,INOUT 297,341 IDIM Dummy 271 I(4) 4 scalar ARG,INOUT 276,288 IMPV Local 276 R(8) 8 2 0 290,298,315,321,329,343 IMSLP Local 309 I(4) 4 scalar 309,331 IPRCP Local 308 I(4) 4 scalar 308,330 IPT Local 295 I(4) 4 scalar 295,299,300,301,302,303,304,305,30 6,307,308,309,310,336 IT200 Local 307 I(4) 4 scalar 307,325 IT500 Local 306 I(4) 4 scalar 306,324 IT850 Local 305 I(4) 4 scalar 305,324 IU200 Local 303 I(4) 4 scalar 303,317,323 IU500 Local 301 I(4) 4 scalar 301,316,322 IU850 Local 299 I(4) 4 scalar 299,315,321,329 IV200 Local 304 I(4) 4 scalar 304,317,323 IV500 Local 302 I(4) 4 scalar 302,316,322 IV850 Local 300 I(4) 4 scalar 300,315,321,329 IVNORM Dummy 271 I(4) 4 scalar ARG,INOUT 314,320,328 IZ500 Local 310 I(4) 4 scalar 310 J Local 289 I(4) 4 scalar 289,290,296,298,315,321,329,342,34 3 J1 Dummy 269 I(4) 4 scalar ARG,INOUT 296,342 J2 Dummy 269 I(4) 4 scalar ARG,INOUT 296,342 JDIM Dummy 271 I(4) 4 scalar ARG,INOUT 276,289 K Local 312 I(4) 4 scalar 312,315,316,317,321,322,323,324,32 5,329,330,331 KKK Dummy 269 I(4) 4 scalar ARG,INOUT 286,340,343,345 MEM Dummy 271 I(4) 4 scalar ARG,INOUT 275,276,283,284,312 MSLPSD Dummy 270 R(4) 4 scalar ARG,INOUT 331 NPTS12 Dummy 271 I(4) 4 scalar ARG,INOUT 275,276,283,284 PRCPSD Dummy 270 R(4) 4 scalar ARG,INOUT 330 SVV Local 276 R(8) 8 2 0 284,315,316,317,321,322,323,324,32 5,329,330,331 Page 18 Source Listing CALC_SIGVAR 2022-05-02 15:46 Symbol Table sigvar_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References UV850SD Dummy 270 R(4) 4 scalar ARG,INOUT 330 UVSD Dummy 270 R(4) 4 scalar ARG,INOUT YVVEC Dummy 269 R(8) 8 2 0 ARG,INOUT 283 Z500SD Dummy 270 R(4) 4 scalar ARG,INOUT Page 19 Source Listing CALC_SIGVAR 2022-05-02 15:46 Subprograms/Common Blocks sigvar_allnorms.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References CALC_SIGVAR Subr 269 CALC_Y Subr 245 DTRANS Subr 108 FLIGHTS Subr 127 READ_TV Subr 212 SIGVAR_ALLNORMS Prog 15 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 20 Source Listing CALC_SIGVAR 2022-05-02 15:46 sigvar_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 21 Source Listing CALC_SIGVAR 2022-05-02 15:46 sigvar_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 : sigvar_allnorms.lst no -o COMPILER: Intel(R) Fortran 19.1-1655