Page 1           Source Listing                  P2FILTF
2025-03-12 18:24                                 P2FILTF.f

      1       SUBROUTINE P2FILTF(MKOUNT,HBM2,FIELD)
      2 CFPP$ NOCONCUR R
      3 C$$$  SUBPROGRAM DOCUMENTATION BLOCK
      4 C                .      .    .     
      5 C SUBPROGRAM:    P2FILTF     4-TH ORDER SMOOTHER FOR MASS 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 MASS 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   ??-??-??  ??? - SUBROUTINE P2FILT IN ETA MODEL.
     17 C   93-03-02  RUSS TREADON - ADDED DOCBLOC
     18 C   98-06-04  BLACK - CONVERSION TO 2-D
     19 C     
     20 C USAGE:    CALL P2FILT(MKOUNT,HBM2,FIELD)
     21 C   INPUT ARGUMENT LIST:
     22 C     MKOUNT   - NUMBER OF APPLICATIONS OF THE SMOOTHER.
     23 C     HBM2     - MASS POINT BOUNDARY MASK.
     24 C     FIELD    - MASS POINT FIELD TO BE SMOOTHED.
     25 C
     26 C   OUTPUT ARGUMENT LIST: 
     27 C     FIELD    - SMOOTHED MASS POINT FIELD.
     28 C     
     29 C   OUTPUT FILES:
     30 C     NONE
     31 C     
     32 C   SUBPROGRAMS CALLED:
     33 C     UTILITIES:
     34 C       NONE
     35 C     LIBRARY:
     36 C       NONE
     37 C     
     38 C   ATTRIBUTES:
     39 C     LANGUAGE: FORTRAN
     40 C     MACHINE : CRAY C-90
     41 C$$$  
     42 C     
     43 C     
     44 C     INCLUDE GLOBAL PARAMETERS.  SET DEPENDENT VARIABLES.
     45 C
     46 C-----------------------------------------------------------------------
     47       INCLUDE "parmeta"
     48 C-----------------------------------------------------------------------
     66       INCLUDE "INDX.comm"
     67 C-----------------------------------------------------------------------
     73                             D I M E N S I O N
     74      1 HBM2(IM,JM),FIELD(IM,JM),WFIELD(IM,JM),FNE(IM,JM),FSE(IM,JM)
     75 C     
     76 C***********************************************************************
     77 C     START P2FILT HERE.
     78 C     
     79 C     IF NUMBER OF PASSES IS LESS THAN 1, EXIT ROUTINE.

Page 2           Source Listing                  P2FILTF
2025-03-12 18:24                                 P2FILTF.f

     80 C
     81       IF(MKOUNT.LT.1)        RETURN
     82 C     
     83 C     OTHERWISE, APPLY SMOOTHER MKOUNT TIMES.
     84 C
     85       DO 400 KOUNT=1,MKOUNT
     86 C
     87 C        FILTERING STARTS
     88 C
     89 !$omp  parallel do
     90       DO J=1,JM
     91       DO I=1,IM
     92         FNE   (I,J)=0.0
     93         FSE   (I,J)=0.0
     94         WFIELD(I,J)=0.0
     95       ENDDO
     96       ENDDO
     97 C
     98 C        2-ND ORDER DIAGONAL CONTRIBUTIONS
     99 C
    100 !$omp  parallel do
    101       DO J=1,JM-1
    102       DO I=1,IM-1
    103         FNE(I,J)=FIELD(I+IHE(J),J+1)-FIELD(I,J)
    104       ENDDO
    105       ENDDO
    106 C
    107 !$omp  parallel do
    108       DO J=2,JM
    109       DO I=1,IM-1
    110         FSE(I,J)=FIELD(I+IHE(J),J-1)-FIELD(I,J)
    111       ENDDO
    112       ENDDO
    113 C
    114 !$omp  parallel do
    115       DO J=3,JM-2
    116       DO I=2,IM-1
    117         WFIELD(I,J)=(FNE(I,J)-FNE(I+IHW(J),J-1)
    118      1           +FSE(I,J)-FSE(I+IHW(J),J+1))*HBM2(I,J)*0.125
    119       ENDDO
    120       ENDDO
    121 C
    122 C     4-TH ORDER DIAGONAL CONTRIBUTIONS
    123 C
    124 !$omp  parallel do
    125       DO J=1,JM-1
    126       DO I=1,IM-1
    127         FNE(I,J)=WFIELD(I+IHE(J),J+1)-WFIELD(I,J)
    128       ENDDO
    129       ENDDO
    130 C
    131 !$omp  parallel do
    132       DO J=2,JM
    133       DO I=1,IM-1
    134         FSE(I,J)=WFIELD(I+IHE(J),J-1)-WFIELD(I,J)
    135       ENDDO
    136       ENDDO

Page 3           Source Listing                  P2FILTF
2025-03-12 18:24                                 P2FILTF.f

    137 C
    138 !$omp  parallel do
    139       DO J=3,JM-2
    140       DO I=2,IM-1
    141         FIELD(I,J)=FIELD(I,J)-(FNE(I,J)-FNE(I+IHW(J),J-1)
    142      1                        +FSE(I,J)-FSE(I+IHW(J),J+1))
    143      2                        *HBM2(I,J)*0.125
    144       ENDDO
    145       ENDDO
    146 C
    147  400  CONTINUE
    148 C     
    149 C     END OF ROUTINE
    150       RETURN
    151       END


ENTRY POINTS

  Name                
                      
 p2filtf_             


SYMBOL CROSS REFERENCE

 Name                       Object Declared Type            Bytes Dimen Elements Attributes       References                        
                                                                                                                                    
 400                        Label  147                                                            85                                
 FIELD                      Dummy  1        R(4)            4     2     91719    ARG,INOUT        103,110,141                       
 FNE                        Local  74       R(4)            4     2     91719                     92,103,117,127,141                
 FSE                        Local  74       R(4)            4     2     91719                     93,110,118,134,142                
 HBM2                       Dummy  1        R(4)            4     2     91719    ARG,INOUT        118,143                           
 I                          Local  91       I(4)            4           scalar                    91,92,93,94,102,103,109,110,116,11
                                                                                                  7,118,126,127,133,134,140,141,142,
                                                                                                  143                               
 IDIM1                      Param  62       I(4)            4           scalar                                                      
 IDIM2                      Param  62       I(4)            4           scalar                                                      
 IGSTL                      Param  57       I(4)            4           scalar                    62                                
 IGSTR                      Param  57       I(4)            4           scalar                    62                                
 IM                         Param  51       I(4)            4           scalar                    59,62,74,91,102,109,116,126,133,14
                                                                                                  0                                 
 INDX                       Common 69                                   6192     SAVE                                               
 INPES                      Param  54       I(4)            4           scalar                    59,62                             
 ITAIL                      Param  59       I(4)            4           scalar                                                      
 J                          Local  90       I(4)            4           scalar                    90,92,93,94,101,103,108,110,115,11
                                                                                                  7,118,125,127,132,134,139,141,142,
                                                                                                  143                               
 JDIM1                      Param  63       I(4)            4           scalar                                                      
 JDIM2                      Param  63       I(4)            4           scalar                                                      
 JGSTL                      Param  58       I(4)            4           scalar                    63                                
 JGSTR                      Param  58       I(4)            4           scalar                    63                                
 JM                         Param  51       I(4)            4           scalar                    60,63,70,74,90,101,108,115,125,132
                                                                                                  ,139                              
 JNPES                      Param  54       I(4)            4           scalar                    60,63                             
 JTAIL                      Param  60       I(4)            4           scalar                                                      
 KOUNT                      Local  85       I(4)            4           scalar                    85                                

Page 4           Source Listing                  P2FILTF
2025-03-12 18:24 Symbol Table                    P2FILTF.f

 Name                       Object Declared Type            Bytes Dimen Elements Attributes       References                        
                                                                                                                                    
 LM                         Param  51       I(4)            4           scalar                                                      
 LSM                        Param  51       I(4)            4           scalar                                                      
 MKOUNT                     Dummy  1        I(4)            4           scalar   ARG,INOUT        81,85                             
 P2FILTF                    Subr   1                                                                                                
 WFIELD                     Local  74       R(4)            4     2     91719                     94,117,127,134                    


TYPE COMPONENTS/COMMON VARIABLES

 Name                       Type            Bytes Offset   Dimen Elements Attributes       References                         
                                                                                                                              
 IHE                        I(4)            4     0        1     387      COM              103,110,127,134                    
 IHW                        I(4)            4     1548     1     387      COM              117,118,141,142                    
 IVE                        I(4)            4     3096     1     387      COM                                                 
 IVW                        I(4)            4     4644     1     387      COM                                                 

Page 5           Source Listing                  P2FILTF
2025-03-12 18:24 Subprograms/Common Blocks       P2FILTF.f



SUBPROGRAMS/COMMON BLOCKS

 Name                       Object Declared Type            Bytes Dimen Elements Attributes       References                        
                                                                                                                                    
 INDX                       Common 69                                   6192     SAVE                                               
 P2FILTF                    Subr   1                                                                                                

COMPILER OPTIONS BEING USED

       -align noall                          -align nonone
       -align nocommons                      -align nodcommons
       -align noqcommons                     -align nozcommons
       -align records                        -align nosequence
       -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
       -D __gnu_linux__                      -D unix
       -D linux                              -D __ELF__
       -D __x86_64                           -D __x86_64__
       -D __amd64                            -D __amd64__

Page 6           Source Listing                  P2FILTF
2025-03-12 18:24                                 P2FILTF.f

       -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__
       -D __CRAY_X86_ROME                    -D __CRAYXT_COMPUTE_LINUX_TARGET
       -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
  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         -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
       -offload-build=host                   -openmp-simd
       -O2                              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


Page 7           Source Listing                  P2FILTF
2025-03-12 18:24                                 P2FILTF.f

       -includepath : /pe/intel/compilers_and_libraries_2020.4.304/linux/pstl/include/,/pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/,
           .f90,./.f90,/opt/cray/pe/mpich/8.1.12/ofi/intel/19.0/include/.f90,/pe/intel/compilers_and_libraries_2020.4.304/linux/ipp/include/.f90,
           /pe/intel/compilers_and_libraries_2020.4.304/linux/mkl/include/.f90,/pe/intel/compilers_and_libraries_2020.4.304/linux/pstl/include/.f90,
           /pe/intel/compilers_and_libraries_2020.4.304/linux/pstl/stdlib/.f90,/pe/intel/compilers_and_libraries_2020.4.304/linux/tbb/include/.f90,
           /pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/intel64/.f90,/pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/icc/.f90,
           /pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/.f90,/usr/lib64/gcc/x86_64-suse-linux/7/include/.f90,
           /usr/lib64/gcc/x86_64-suse-linux/7/include-fixed/.f90,/usr/include/.f90,/usr/include/.f90,/usr/include/.f90
       -list filename : P2FILTF.lst
  no   -o

COMPILER: Intel(R) Fortran 19.1-1655