Page 1 Source Listing P2FLTVF 2014-12-17 20:48 P2FLTVF.f 1 SUBROUTINE P2FLTVF(MKOUNT,VBM2,FIELD) 2 CFPP$ NOCONCUR R 3 C$$$ SUBPROGRAM DOCUMENTATION BLOCK 4 C . . . 5 C SUBPROGRAM: P2FLTVF 4-TH ORDER SMOOTHER for vel pts 6 C PRGRMMR: TREADON ORG: W/NP2 DATE: 93-03-02 7 C 8 C ABSTRACT: 9 C THIS ROUTINE WILL APPLY A FOURTH OTHER FILTER (SMOOTHER) 10 C OF A CONTINOUS FIELD AT VELOCITY POINTS ON THE STAGGERED 11 C E-GRID. MULTIPLE APPLICATIONS OF THIS FILTER MAY BE 12 C MADE. DOES FULL FIELD 13 C . 14 C 15 C PROGRAM HISTORY LOG: 16 C 93-03-02 RUSS TREADON - MODIFIED SUBROUTINE P2FILT. 17 C 98-06-04 BLACK - CONVERSION TO 2-D 18 C 19 C USAGE: CALL P2FLTV(MKOUNT,VBM2,FIELD) 20 C INPUT ARGUMENT LIST: 21 C MKOUNT - NUMBER OF APPLICATIONS OF THE SMOOTHER. 22 C HBM2 - VELOCITY POINT BOUNDARY MASK. 23 C FIELD - VELOCITY POINT FIELD TO BE SMOOTHED. 24 C 25 C OUTPUT ARGUMENT LIST: 26 C FIELD - SMOOTHED VELOCITY POINT FIELD. 27 C 28 C OUTPUT FILES: 29 C NONE 30 C 31 C SUBPROGRAMS CALLED: 32 C UTILITIES: 33 C NONE 34 C LIBRARY: 35 C NONE 36 C 37 C ATTRIBUTES: 38 C LANGUAGE: FORTRAN 39 C MACHINE : CRAY Y-MP 40 C$$$ 41 C 42 C 43 C INCLUDE GLOBAL PARAMETERS. SET DEPENDENT VARIABLES. 44 C 45 C---------------------------------------------------------------------- 46 INCLUDE "parmeta" 47 C 65 INCLUDE "INDX.comm" 66 C---------------------------------------------------------------------- 72 D I M E N S I O N 73 & VBM2(IM,JM),FIELD(IM,JM),WFIELD(IM,JM),FNE(IM,JM),FSE(IM,JM) 74 C 75 C*********************************************************************** 76 C START P2FLTV HERE. 77 C 78 C IF NUMBER OF PASSES IS LESS THAN 1, EXIT ROUTINE. 79 C Page 2 Source Listing P2FLTVF 2014-12-17 20:48 P2FLTVF.f 80 IF(MKOUNT.LT.1) RETURN 81 C 82 C OTHERWISE, APPLY SMOOTHER MKOUND TIMES. 83 C 84 C----------------------------------------------------------------------- 85 DO 400 KOUNT=1,MKOUNT 86 C----------------------------------------------------------------------- 87 C 88 C FILTERING STARTS 89 C 90 C----------------------------------------------------------------------- 91 !$omp parallel do 92 DO J=1,JM 93 DO I=1,IM 94 FNE (I,J)=0.0 95 FSE (I,J)=0.0 96 WFIELD(I,J)=0.0 97 ENDDO 98 ENDDO 99 C 100 C 2-ND ORDER DIAGONAL CONTRIBUTIONS 101 C 102 !$omp parallel do 103 DO J=1,JM-1 104 DO I=1,IM-1 105 FNE(I,J)=FIELD(I+IVE(J),J+1)-FIELD(I,J) 106 ENDDO 107 ENDDO 108 C 109 !$omp parallel do 110 DO J=2,JM 111 DO I=1,IM-1 112 FSE(I,J)=FIELD(I+IVE(J),J-1)-FIELD(I,J) 113 ENDDO 114 ENDDO 115 C 116 !$omp parallel do 117 DO J=3,JM-2 118 DO I=2,IM-1 119 WFIELD(I,J)=(FNE(I,J)-FNE(I+IVW(J),J-1) 120 1 +FSE(I,J)-FSE(I+IVW(J),J+1)) 121 2 *VBM2(I,J)*0.125 122 ENDDO 123 ENDDO 124 C 125 C 4-TH ORDER DIAGONAL CONTRIBUTIONS 126 C 127 !$omp parallel do 128 DO J=1,JM-1 129 DO I=1,IM-1 130 FNE(I,J)=WFIELD(I+IHE(J),J+1)-WFIELD(I,J) 131 ENDDO 132 ENDDO 133 C 134 !$omp parallel do 135 DO J=2,JM 136 DO I=1,IM-1 Page 3 Source Listing P2FLTVF 2014-12-17 20:48 P2FLTVF.f 137 FSE(I,J)=WFIELD(I+IVE(J),J-1)-WFIELD(I,J) 138 ENDDO 139 ENDDO 140 C 141 !$omp parallel do 142 DO J=3,JM-2 143 DO I=2,IM-1 144 FIELD(I,J)=FIELD(I,J)-(FNE(I,J)-FNE(I+IVW(J),J-1) 145 1 +FSE(I,J)-FSE(I+IVW(J),J+1)) 146 2 *VBM2(I,J)*0.125 147 ENDDO 148 ENDDO 149 C 150 400 CONTINUE 151 C 152 C END OF ROUTINE 153 RETURN 154 END ENTRY POINTS Name p2fltvf_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 400 Label 128 63 FIELD Dummy 1 R(4) 4 2 91719 ARG,INOUT 83,90,122 FNE Local 51 R(4) 4 2 91719 72,83,97,108,122 FSE Local 51 R(4) 4 2 91719 73,90,98,115,123 I Local 71 I(4) 4 scalar 71,72,73,74,82,83,89,90,96,97,98,9 9,107,108,114,115,121,122,123,124 IDIM1 Param 14 I(4) 4 scalar IDIM2 Param 14 I(4) 4 scalar IGSTL Param 9 I(4) 4 scalar 14 IGSTR Param 9 I(4) 4 scalar 14 IHE Scalar 3 I(4) 4 1 387 COM 108 IHW Scalar 3 I(4) 4 1 387 COM IM Param 3 I(4) 4 scalar 11,14,51,71,82,89,96,107,114,121 INDX Common 2 6192 INPES Param 6 I(4) 4 scalar 11,14 ITAIL Param 11 I(4) 4 scalar IVE Scalar 3 I(4) 4 1 387 COM 83,90,115 IVW Scalar 3 I(4) 4 1 387 COM 97,98,122,123 J Local 70 I(4) 4 scalar 70,72,73,74,81,83,88,90,95,97,98,9 9,106,108,113,115,120,122,123,124 JDIM1 Param 15 I(4) 4 scalar JDIM2 Param 15 I(4) 4 scalar JGSTL Param 10 I(4) 4 scalar 15 JGSTR Param 10 I(4) 4 scalar 15 JM Param 3 I(4) 4 scalar 3,12,15,51,70,81,88,95,106,113,120 JNPES Param 6 I(4) 4 scalar 12,15 Page 4 Source Listing P2FLTVF 2014-12-17 20:48 Symbol Table P2FLTVF.f Name Object Declared Type Bytes Dimen Elements Attributes References JTAIL Param 12 I(4) 4 scalar KOUNT Local 63 I(4) 4 scalar 63 LM Param 3 I(4) 4 scalar LSM Param 3 I(4) 4 scalar MKOUNT Dummy 1 I(4) 4 scalar ARG,INOUT 58,63 P2FLTVF Subr 1 VBM2 Dummy 1 R(4) 4 2 91719 ARG,INOUT 99,124 WFIELD Local 51 R(4) 4 2 91719 74,97,108,115 Page 5 Source Listing P2FLTVF 2014-12-17 20:48 Subprograms/Common Blocks P2FLTVF.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References INDX Common 2 6192 P2FLTVF 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 Page 6 Source Listing P2FLTVF 2014-12-17 20:48 P2FLTVF.f -fpe3 -fprm nearest 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 : P2FLTVF.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100