Page 1 Source Listing EFILL 2025-03-12 18:23 EFILL.f 1 SUBROUTINE EFILL(EGRID,IM,JM) 2 C$$$ SUBPROGRAM DOCUMENTATION BLOCK 3 C . . . 4 C SUBPROGRAM: EFILL FILLS MISSING VALUES ON E-GRID 5 C PRGRMMR: TREADON ORG: W/NP2 6 C 7 C ABSTRACT: 8 C THIS ROUTINE REPLACES ARRAY ELEMENTS ON A E-GRID MARKED 9 C BY A MISSING DATA FLAG WITH THE FIELD MEAN. THE FIELD 10 C MEAN IS COMPUTED FROM ALL NON-MISSING ARRAY VALUES. 11 C THE MISSING DATA FLAG, SPVAL, IS SET IN INCLUDE FILE 12 C (AND COMMON BLOCK) OPTIONS. 13 C . 14 C 15 C PROGRAM HISTORY LOG: 16 C 93-02-03 RUSS TREADON 17 C 98-06-01 BLACK - CONVERSION FROM 1-D TO 2-D 18 C 19 C USAGE: CALL EFILL(EGRID,IM,JM) 20 C INPUT ARGUMENT LIST: 21 C EGRID - DATA ON STAGGERED E-GRID 22 C IM,JM - DIMENSIONS OF E-GRID 23 C 24 C OUTPUT ARGUMENT LIST: 25 C EGRID - SAME A INPUT EXCEPT MISSING VALUES 26 C ARE REPLACED BY THE FIELD MEAN 27 C 28 C OUTPUT FILES: 29 C STDOUT - RUN TIME STANDARD OUT. 30 C 31 C SUBPROGRAMS CALLED: 32 C UTILITIES: 33 C NONE 34 C LIBRARY: 35 C COMMON - OPTIONS 36 C IOUNIT 37 C 38 C ATTRIBUTES: 39 C LANGUAGE: FORTRAN 40 C MACHINE : CRAY C-90 41 C$$$ 42 C 43 C SET PARAMETER 44 PARAMETER (SMALL=1.E-12) 45 C 46 C DECLARE VARIABLES 47 REAL EGRID(IM,JM) 48 REAL(8) SUM 49 REAL(8) SUMT 50 C 51 C INCLUDE COMMON BLOCK WITH SPVAL 52 INCLUDE "OPTIONS.comm" 56 INCLUDE "IOUNIT.comm" 64 INCLUDE "CTLBLK.comm" 79 INCLUDE 'mpif.h' 80 C 81 C********************************************************************** Page 2 Source Listing EFILL 2025-03-12 18:23 EFILL.f 82 C START EFILL HERE 83 C 84 C SEE IF THERE ARE ANY MISSING VALUES IN THE ARRAY. IF NOT, 85 C RETURN TO CALLING PROGRAM. 86 C 304 CALL MINMAX(EGRID,IM,JM,FMIN,FMAX) 305 CALL MPI_ALLREDUCE(FMAX,TEMP,1,MPI_REAL,MPI_MAX, 306 * MPI_COMM_WORLD,IERR) 307 FMAX = TEMP 308 IF (ABS(FMAX-SPVAL).GT.SMALL) RETURN 309 C 310 C COMPUTE FIELD MEAN, EXCLUDING MISSING POINTS. 311 C 312 NPTS=0 313 SUM =0. 314 C 315 DO J=JSTA,JEND 316 DO I=1,IM 317 IF(ABS(EGRID(I,J)-SPVAL).GE.SMALL)THEN 318 NPTS=NPTS+1 319 SUM =SUM+EGRID(I,J) 320 ENDIF 321 ENDDO 322 ENDDO 323 CALL MPI_ALLREDUCE(SUM,SUMT,1,MPI_REAL8,MPI_SUM, 324 * MPI_COMM_WORLD,IERR) 325 SUM = SUMT 326 CALL MPI_ALLREDUCE(NPTS,ITEMP,1,MPI_INTEGER,MPI_SUM, 327 * MPI_COMM_WORLD,IERR) 328 NPTS = ITEMP 329 IF(NPTS.EQ.0)THEN 330 WRITE(STDOUT,*)'EFILL: ALL DATA ON EGRID EQUAL SPVAL' 331 RETURN 332 ENDIF 333 AVG=SUM/NPTS 334 c if ( me .eq. 0 ) print *, ' avg, sum, npts = ', avg, sum, npts 335 C 336 C REPLACE MISSING VALUES WITH FIELD MEAN. 337 C 338 !$omp parallel do 339 DO J=JSTA,JEND 340 DO I=1,IM 341 IF(ABS(EGRID(I,J)-SPVAL).LT.SMALL)EGRID(I,J)=AVG 342 ENDDO 343 ENDDO 344 CX CALL MINMAX(EGRID,IM,JM,FMIN,FMAX) 345 CX WRITE(STDOUT,*)'EFILL: EGRID MIN,MAX,AVG: ',FMIN,FMAX,AVG 346 C 347 C END OF ROUTINE. 348 C 349 RETURN 350 END Page 3 Source Listing EFILL 2025-03-12 18:23 Entry Points EFILL.f ENTRY POINTS Name efill_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References ABS Func 308 scalar 308,317,341 AVG Local 333 R(4) 4 scalar 333,341 CTLBLK Common 66 96 SAVE EFILL Subr 1 EGRID Dummy 1 R(4) 4 2 0 ARG,INOUT 304,317,319,341 FMAX Local 304 R(4) 4 scalar 304,305,307,308 FMIN Local 304 R(4) 4 scalar 304 I Local 316 I(4) 4 scalar 316,317,319,340,341 IERR Local 306 I(4) 4 scalar 306,324,327 IM Dummy 1 I(4) 4 scalar ARG,INOUT 47,304,316,340 IOUNIT Common 60 20 SAVE ITEMP Local 326 I(4) 4 scalar 326,328 J Local 315 I(4) 4 scalar 315,317,319,339,341 JM Dummy 1 I(4) 4 scalar ARG,INOUT 47,304 MINMAX Subr 304 304 MPIPRIV Common 295 36 SAVE MPI_2COMPLEX Param 196 I(4) 4 scalar MPI_2DOUBLE_COMPLEX Param 196 I(4) 4 scalar MPI_2DOUBLE_PRECISION Param 196 I(4) 4 scalar MPI_2INTEGER Param 195 I(4) 4 scalar MPI_2REAL Param 195 I(4) 4 scalar MPI_ADDRESS_KIND Param 275 I(4) 4 scalar MPI_ALLREDUCE Subr 305 305,323,326 MPI_ANY_SOURCE Param 266 I(4) 4 scalar MPI_ANY_TAG Param 268 I(4) 4 scalar MPI_BAND Param 200 I(4) 4 scalar MPI_BOR Param 201 I(4) 4 scalar MPI_BSEND_OVERHEAD Param 141 I(4) 4 scalar MPI_BXOR Param 201 I(4) 4 scalar MPI_BYTE Param 195 I(4) 4 scalar MPI_CART Param 136 I(4) 4 scalar MPI_CHARACTER Param 195 I(4) 4 scalar MPI_COMM_NULL Param 154 I(4) 4 scalar MPI_COMM_SELF Param 199 I(4) 4 scalar MPI_COMM_WORLD Param 199 I(4) 4 scalar 306,324,327 MPI_COMPLEX Param 194 I(4) 4 scalar MPI_COMPLEX16 Param 233 I(4) 4 scalar MPI_COMPLEX32 Param 233 I(4) 4 scalar MPI_COMPLEX8 Param 233 I(4) 4 scalar MPI_CONGRUENT Param 172 I(4) 4 scalar MPI_DATATYPE_NULL Param 157 I(4) 4 scalar MPI_DISTRIBUTE_BLOCK Param 217 I(4) 4 scalar MPI_DISTRIBUTE_CYCLIC Param 217 I(4) 4 scalar MPI_DISTRIBUTE_DFLT_DARG Param 218 I(4) 4 scalar Page 4 Source Listing EFILL 2025-03-12 18:23 Symbol Table EFILL.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_DISTRIBUTE_NONE Param 218 I(4) 4 scalar MPI_DOUBLE_COMPLEX Param 194 I(4) 4 scalar MPI_DOUBLE_PRECISION Param 193 I(4) 4 scalar MPI_ERRHANDLER_NULL Param 160 I(4) 4 scalar MPI_ERROR Param 144 I(4) 4 scalar MPI_ERRORS_ARE_FATAL Param 204 I(4) 4 scalar MPI_ERRORS_RETURN Param 204 I(4) 4 scalar MPI_ERR_ARG Param 119 I(4) 4 scalar MPI_ERR_BUFFER Param 116 I(4) 4 scalar MPI_ERR_COMM Param 117 I(4) 4 scalar MPI_ERR_COUNT Param 116 I(4) 4 scalar MPI_ERR_DIMS Param 119 I(4) 4 scalar MPI_ERR_GROUP Param 118 I(4) 4 scalar MPI_ERR_INTERN Param 121 I(4) 4 scalar MPI_ERR_IN_STATUS Param 121 I(4) 4 scalar MPI_ERR_LASTCODE Param 122 I(4) 4 scalar MPI_ERR_OP Param 119 I(4) 4 scalar MPI_ERR_OTHER Param 120 I(4) 4 scalar MPI_ERR_PENDING Param 121 I(4) 4 scalar MPI_ERR_RANK Param 117 I(4) 4 scalar MPI_ERR_REQUEST Param 122 I(4) 4 scalar MPI_ERR_ROOT Param 117 I(4) 4 scalar MPI_ERR_TAG Param 117 I(4) 4 scalar MPI_ERR_TOPOLOGY Param 119 I(4) 4 scalar MPI_ERR_TRUNCATE Param 120 I(4) 4 scalar MPI_ERR_TYPE Param 116 I(4) 4 scalar MPI_ERR_UNKNOWN Param 120 I(4) 4 scalar MPI_GRAPH Param 136 I(4) 4 scalar MPI_GROUP_EMPTY Param 199 I(4) 4 scalar MPI_GROUP_NULL Param 163 I(4) 4 scalar MPI_HOST Param 189 I(4) 4 scalar MPI_IDENT Param 172 I(4) 4 scalar MPI_INFO_NULL Param 224 I(4) 4 scalar MPI_INTEGER Param 193 I(4) 4 scalar 326 MPI_INTEGER1 Param 230 I(4) 4 scalar MPI_INTEGER16 Param 231 I(4) 4 scalar MPI_INTEGER2 Param 230 I(4) 4 scalar MPI_INTEGER4 Param 230 I(4) 4 scalar MPI_INTEGER8 Param 230 I(4) 4 scalar MPI_IO Param 189 I(4) 4 scalar MPI_KEYVAL_INVALID Param 166 I(4) 4 scalar MPI_LAND Param 200 I(4) 4 scalar MPI_LB Param 197 I(4) 4 scalar MPI_LOGICAL Param 194 I(4) 4 scalar MPI_LOR Param 201 I(4) 4 scalar MPI_LXOR Param 201 I(4) 4 scalar MPI_MAX Param 200 I(4) 4 scalar 305 MPI_MAXLOC Param 202 I(4) 4 scalar MPI_MAX_ERROR_STRING Param 148 I(4) 4 scalar MPI_MAX_INFO_KEY Param 222 I(4) 4 scalar MPI_MAX_INFO_VAL Param 222 I(4) 4 scalar MPI_MAX_NAME_STRING Param 151 I(4) 4 scalar MPI_MAX_PROCESSOR_NAME Param 148 I(4) 4 scalar MPI_MIN Param 200 I(4) 4 scalar MPI_MINLOC Param 201 I(4) 4 scalar Page 5 Source Listing EFILL 2025-03-12 18:23 Symbol Table EFILL.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_OFFSET_KIND Param 275 I(4) 4 scalar MPI_OP_NULL Param 203 I(4) 4 scalar MPI_ORDER_C Param 215 I(4) 4 scalar MPI_ORDER_FORTRAN Param 215 I(4) 4 scalar MPI_PACKED Param 198 I(4) 4 scalar MPI_PROC_NULL Param 138 I(4) 4 scalar MPI_PROD Param 200 I(4) 4 scalar MPI_REAL Param 193 I(4) 4 scalar 305 MPI_REAL16 Param 232 I(4) 4 scalar MPI_REAL4 Param 232 I(4) 4 scalar MPI_REAL8 Param 232 I(4) 4 scalar 323 MPI_REQUEST_NULL Param 169 I(4) 4 scalar MPI_SIMILAR Param 172 I(4) 4 scalar MPI_SOURCE Param 144 I(4) 4 scalar MPI_STATUS_SIZE Param 146 I(4) 4 scalar 191,192 MPI_SUBVERSION Param 271 I(4) 4 scalar MPI_SUCCESS Param 116 I(4) 4 scalar MPI_SUM Param 200 I(4) 4 scalar 323,326 MPI_TAG Param 144 I(4) 4 scalar MPI_TAG_UB Param 189 I(4) 4 scalar MPI_UB Param 197 I(4) 4 scalar MPI_UNDEFINED Param 133 I(4) 4 scalar MPI_UNEQUAL Param 172 I(4) 4 scalar MPI_VERSION Param 271 I(4) 4 scalar MPI_WTIME_IS_GLOBAL Param 198 I(4) 4 scalar NPTS Local 312 I(4) 4 scalar 312,318,326,328,329,333 OPTIONS Common 54 24 SAVE PARALLEL Common 73 8240 SMALL Param 44 R(4) 4 scalar 308,317,341 SUM Local 48 R(8) 8 scalar 313,319,323,325,333 SUMT Local 49 R(8) 8 scalar 323,325 TEMP Local 305 R(4) 4 scalar 305,307 TYPE COMPONENTS/COMMON VARIABLES Name Type Bytes Offset Dimen Elements Attributes References DT R(4) 4 48 scalar COM FIRST R(4) 4 24 scalar COM IBESSL I(4) 4 4 scalar COM ICNT I(4) 4 40 1 1024 COM IDAT I(4) 4 8 1 3 COM IDN I(4) 4 36 scalar COM IDSP I(4) 4 4136 1 1024 COM IDTAD I(4) 4 68 scalar COM IFLAG I(4) 4 16 scalar COM IHRST I(4) 4 20 scalar COM IOFFS I(4) 4 12 scalar COM IOUT I(4) 4 44 scalar COM IUP I(4) 4 32 scalar COM JEND I(4) 4 12 scalar COM 315,339 JEND_2U I(4) 4 8236 scalar COM JEND_M I(4) 4 20 scalar COM JEND_M2 I(4) 4 28 scalar COM Page 6 Source Listing EFILL 2025-03-12 18:23 Symbol Table EFILL.f Name Type Bytes Offset Dimen Elements Attributes References JSTA I(4) 4 8 scalar COM 315,339 JSTA_2L I(4) 4 8232 scalar COM JSTA_M I(4) 4 16 scalar COM JSTA_M2 I(4) 4 24 scalar COM KSB I(4) 4 8 scalar COM LCNTRL I(4) 4 4 scalar COM LIST I(4) 4 40 scalar COM LUNCO I(4) 4 8 scalar COM LUNLL I(4) 4 12 scalar COM LUNOUT I(4) 4 16 scalar COM ME I(4) 4 4 scalar COM MPI_BOTTOM I(4) 4 0 scalar COM MPI_STATUSES_IGNORE I(4) 4 20 1 4 COM MPI_STATUS_IGNORE I(4) 4 4 1 4 COM NBC I(4) 4 36 scalar COM NBOCO I(4) 4 72 scalar COM NCP I(4) 4 80 scalar COM NDDAMP I(4) 4 60 scalar COM NFCST I(4) 4 32 scalar COM NPHS I(4) 4 84 scalar COM NPREC I(4) 4 64 scalar COM NRADL I(4) 4 92 scalar COM NRADS I(4) 4 88 scalar COM NSHDE I(4) 4 76 scalar COM NTSD I(4) 4 52 scalar COM NTSTM I(4) 4 56 scalar COM NUM_PROCS I(4) 4 0 scalar COM RESTRT R(4) 4 28 scalar COM RUN R(4) 4 4 scalar COM SATDEL R(4) 4 20 scalar COM SIGMA R(4) 4 0 scalar COM SPVAL R(4) 4 0 scalar COM 308,317,341 STDOUT I(4) 4 0 scalar COM 330 Page 7 Source Listing EFILL 2025-03-12 18:23 Subprograms/Common Blocks EFILL.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References CTLBLK Common 66 96 SAVE EFILL Subr 1 IOUNIT Common 60 20 SAVE MPIPRIV Common 295 36 SAVE OPTIONS Common 54 24 SAVE PARALLEL Common 73 8240 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 Page 8 Source Listing EFILL 2025-03-12 18:23 EFILL.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__ -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 Page 9 Source Listing EFILL 2025-03-12 18:23 EFILL.f -w notruncated_source -w uncalled -w uninitialized -w nounused -w usage no -wrap-margins -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 : EFILL.lst no -o COMPILER: Intel(R) Fortran 19.1-1655