Page 1 Source Listing FILTER 2014-12-17 20:47 FILTER.f 1 SUBROUTINE FILTER (IMX,JMX,ZI,IPASS) 2 C 3 C$$$ SUBPROGRAM DOCUMENTATION BLOCK 4 C . . . . 5 C SUBPROGRAM: FILTER FILTERS THE ARRAY ZI 6 C PRGMMR: DIMEGO ORG: W/NP22 DATE: 86-07-18 7 C 8 C ABSTRACT: FILTERS AN ARRAY USING A 25PT BLECK FILTER IN THE 9 C INTERIOR OF THE DOMAIN 10 C 11 C PROGRAM HISTORY LOG: 12 C 86-07-18 G DIMEGO 13 C 88-09-23 B SCHMIDT ADDED THE DOCBLOCK 14 C 90-11-27 G DIMEGO LEFT Z AS INTERNAL WORK ARRAY ON CRAY 15 C 93-06-21 R TREADON STREAMLINED CODE 16 C 17 C USAGE: CALL FILTER (IMX, JMX, ZI, IPASS) 18 C INPUT ARGUMENT LIST: 19 C ZI - ARRAY CONTAINING THE ARRAY TO BE FILTERED 20 C IMX - I DIMENSION OF ARRAYS ZI AND Z 21 C JMX - J DIMENSION OF ARRAYS ZI AND Z 22 C IPASS - NUMBER OF PASSES THROUGH THE FILTER 23 C 24 C OUTPUT ARGUMENT LIST: 25 C ZI - ARRAY CONTAINING THE FILTERED FIELD 26 C 27 C ATTRIBUTES: 28 C LANGUAGE: STANDARD FORTRAN 29 C MACHINE: 30 C 31 C$$$ 32 DIMENSION ZI(IMX,JMX),Z(IMX,JMX) 33 LOGICAL BND,FST,SMTH 34 C 35 LI=IMX 36 LJ=JMX 37 I1 = 1 38 J1 = 1 39 I2 = I1 + 1 40 J2 = J1 + 1 41 I3 = I2 + 1 42 LI1 = LI - 1 43 LJ1 = LJ - 1 44 LI2 = LI - 2 45 LJ3 = LJ - 3 46 LI4 = LI - 4 47 LJ4 = LJ - 4 48 LI5 = LI - 5 49 IPC = IPASS 50 C 51 DO 105 IP = 1,IPC 52 C ** FILTER REST OF INTERIOR POINTS 25-PT BLECK FILTER 53 !$omp parallel do 54 !$omp& private(i,ii,im1,im2,ip1,ip2,j,jm1,jm2,jp1,jp2) 55 DO 102 JJ = J1,LJ4 56 JM2=JJ 57 JM1=JJ+1 Page 2 Source Listing FILTER 2014-12-17 20:47 FILTER.f 58 J =JJ+2 59 JP1=JJ+3 60 JP2=JJ+4 61 DO 101 II = I1,LI4 62 IM2=II 63 IM1=II+1 64 I =II+2 65 IP1=II+3 66 IP2=II+4 67 Z(I,J) = 0.279372 * ZI(I,J) 68 + +0.171943*((ZI(IM1,J )+ZI(I ,JM1))+(ZI(IP1,J )+ZI(I ,JP1))) 69 + -0.006918*((ZI(IM2,J )+ZI(I ,JM2))+(ZI(IP2,J )+ZI(I ,JP2))) 70 + +0.077458*((ZI(IM1,JM1)+ZI(IP1,JP1))+(ZI(IP1,JM1)+ZI(IM1,JP1))) 71 + -0.024693*((ZI(IM1,JM2)+ZI(IP1,JM2))+(ZI(IM2,JM1)+ZI(IP2,JM1)) 72 + +(ZI(IM2,JP1)+ZI(IP2,JP1))+(ZI(IM1,JP2)+ZI(IP1,JP2))) 73 + -0.01294 *((ZI(IM2,JM2)+ZI(IP2,JM2))+(ZI(IM2,JP2)+ZI(IP2,JP2))) 74 101 CONTINUE 75 102 CONTINUE 76 C 77 !$omp parallel do 78 !$omp& private(i,j) 79 DO 104 JJ= J1,LJ4 80 J = JJ + 2 81 DO 103 II= I1,LI4 82 I = II + 2 83 ZI(I,J) = Z(I,J) 84 103 CONTINUE 85 104 CONTINUE 86 C 87 105 CONTINUE 88 RETURN 89 END Page 3 Source Listing FILTER 2014-12-17 20:47 Entry Points FILTER.f ENTRY POINTS Name filter_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 101 Label 74 61 102 Label 75 55 103 Label 84 81 104 Label 85 79 105 Label 87 51 BND Local 33 L(4) 4 scalar FILTER Subr 1 FST Local 33 L(4) 4 scalar I Local 64 I(4) 4 scalar 64,67,68,69,82,83 I1 Local 37 I(4) 4 scalar 37,39,61,81 I2 Local 39 I(4) 4 scalar 39,41 I3 Local 41 I(4) 4 scalar 41 II Local 61 I(4) 4 scalar 61,62,63,64,65,66,81,82 IM1 Local 63 I(4) 4 scalar 63,68,70,71,72 IM2 Local 62 I(4) 4 scalar 62,69,71,72,73 IMX Dummy 1 I(4) 4 scalar ARG,INOUT 32,35 IP Local 51 I(4) 4 scalar 51 IP1 Local 65 I(4) 4 scalar 65,68,70,71,72 IP2 Local 66 I(4) 4 scalar 66,69,71,72,73 IPASS Dummy 1 I(4) 4 scalar ARG,INOUT 49 IPC Local 49 I(4) 4 scalar 49,51 J Local 58 I(4) 4 scalar 58,67,68,69,80,83 J1 Local 38 I(4) 4 scalar 38,40,55,79 J2 Local 40 I(4) 4 scalar 40 JJ Local 55 I(4) 4 scalar 55,56,57,58,59,60,79,80 JM1 Local 57 I(4) 4 scalar 57,68,70,71 JM2 Local 56 I(4) 4 scalar 56,69,71,73 JMX Dummy 1 I(4) 4 scalar ARG,INOUT 32,36 JP1 Local 59 I(4) 4 scalar 59,68,70,72 JP2 Local 60 I(4) 4 scalar 60,69,72,73 LI Local 35 I(4) 4 scalar 35,42,44,46,48 LI1 Local 42 I(4) 4 scalar 42 LI2 Local 44 I(4) 4 scalar 44 LI4 Local 46 I(4) 4 scalar 46,61,81 LI5 Local 48 I(4) 4 scalar 48 LJ Local 36 I(4) 4 scalar 36,43,45,47 LJ1 Local 43 I(4) 4 scalar 43 LJ3 Local 45 I(4) 4 scalar 45 LJ4 Local 47 I(4) 4 scalar 47,55,79 SMTH Local 33 L(4) 4 scalar Z Local 32 R(4) 4 2 0 67,83 ZI Dummy 1 R(4) 4 2 0 ARG,INOUT 67,68,69,70,71,72,73,83 Page 4 Source Listing FILTER 2014-12-17 20:47 Subprograms/Common Blocks FILTER.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References FILTER Subr 1 COMPILER OPTIONS BEING USED -align nocommons -align nodcommons -align noqcommons -align records -align nosequence -align norec1byte -align norec2byte -align norec4byte -align norec8byte -align norec16byte -altparam -assume accuracy_sensitive -assume nobscc -assume nobuffered_io -assume byterecl -assume nocc_omp -assume nocstring -assume nodummy_aliases -assume nofpe_summary -assume noieee_fpe_flags -assume nominus0 -assume noold_boz -assume old_unit_star -assume old_ldout_format -assume noold_logical_ldio -assume old_maxminloc -assume old_xor -assume protect_constants -assume noprotect_parens -assume split_common -assume source_include -assume nostd_intent_in -assume nostd_mod_proc_name -assume norealloc_lhs -assume underscore -assume no2underscores no -auto -auto_scalar no -bintext -ccdefault default -check noargs -check noarg_temp_created -check nobounds -check noformat -check nooutput_conversion -check nooverflow -check nopointers -check power -check noshape -check nounderflow -check nouninitialized -coarray-num-procs 0 no -coarray-config-file -convert big_endian -cross_reference -D __INTEL_COMPILER=1210 -D __unix__ -D __unix -D __linux__ -D __linux -D __gnu_linux__ -D unix -D linux -D __ELF__ -D __x86_64 -D __x86_64__ -D _MT -D __INTEL_COMPILER_BUILD_DATE=20120612 -D __i686 -D __i686__ -D __pentiumpro -D __pentiumpro__ -D __pentium4 -D __pentium4__ -D __tune_pentium4__ -D __SSE2__ -D __SSE__ -D __MMX__ -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 Page 5 Source Listing FILTER 2014-12-17 20:47 FILTER.f no -ftz -fp_model noprecise -fp_model fast -fp_model nostrict -fp_model nosource -fp_model nodouble -fp_model noextended -fp_model novery_fast -fp_model noexcept -fp_model nono_except -heap_arrays 0 no -threadprivate_compat -g2 -iface nomixed_str_len_arg -iface nono_mixed_str_len_arg no -intconstant -integer_size 32 no -mixed_str_len_arg no -module -names lowercase no -noinclude -O2 no -pad_source -real_size 32 no -recursive -reentrancy none no -sharable_localsaves -vec=simd -show noinclude -show map -show options no -syntax_only no -threadcom no -U no -vms -w noall -w nonone -w alignments -w noargument_checking -w nodeclarations -w general -w noignore_bounds -w noignore_loc -w nointerfaces -w notruncated_source -w uncalled -w uninitialized -w nounused -w usage -includepath : /gpfs/tp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/,.f,./.f,/usrx/local/intel/composerxe/mkl/include/.f, /usrx/local/intel/composerxe/tbb/include/.f,/gpfs/tp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/intel64/.f, /gpfs/tp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/.f,/usr/local/include/.f,/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/.f, /usr/include/.f,/usr/include/.f -list filename : FILTER.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100