Page 1 Source Listing EFILL 2014-12-17 20:47 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 2014-12-17 20:47 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 2014-12-17 20:47 Entry Points EFILL.f ENTRY POINTS Name efill_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References ABS Func 67 scalar 67,76,100 AVG Local 92 R(4) 4 scalar 92,100 CTLBLK Common 2 96 DT Scalar 4 R(4) 4 scalar COM EFILL Subr 1 EGRID Dummy 1 R(4) 4 2 0 ARG,INOUT 63,76,78,100 FIRST Scalar 3 R(4) 4 scalar COM FMAX Local 63 R(4) 4 scalar 63,64,66,67 FMIN Local 63 R(4) 4 scalar 63 I Local 75 I(4) 4 scalar 75,76,78,99,100 IBESSL Scalar 2 I(4) 4 scalar COM ICNT Scalar 7 I(4) 4 1 1024 COM IDAT Scalar 3 I(4) 4 1 3 COM IDN Scalar 7 I(4) 4 scalar COM IDSP Scalar 7 I(4) 4 1 1024 COM IDTAD Scalar 4 I(4) 4 scalar COM IERR Local 65 I(4) 4 scalar 65,83,86 IFLAG Scalar 2 I(4) 4 scalar COM IHRST Scalar 3 I(4) 4 scalar COM IM Dummy 1 I(4) 4 scalar ARG,INOUT 47,63,75,99 IOFFS Scalar 2 I(4) 4 scalar COM IOUNIT Common 4 20 IOUT Scalar 3 I(4) 4 scalar COM ITEMP Local 85 I(4) 4 scalar 85,87 IUP Scalar 7 I(4) 4 scalar COM J Local 74 I(4) 4 scalar 74,76,78,98,100 JEND Scalar 6 I(4) 4 scalar COM 74,98 JEND_2U Scalar 8 I(4) 4 scalar COM JEND_M Scalar 7 I(4) 4 scalar COM JEND_M2 Scalar 7 I(4) 4 scalar COM JM Dummy 1 I(4) 4 scalar ARG,INOUT 47,63 JSTA Scalar 6 I(4) 4 scalar COM 74,98 JSTA_2L Scalar 8 I(4) 4 scalar COM JSTA_M Scalar 7 I(4) 4 scalar COM JSTA_M2 Scalar 7 I(4) 4 scalar COM KSB Scalar 2 I(4) 4 scalar COM LCNTRL Scalar 5 I(4) 4 scalar COM LIST Scalar 3 I(4) 4 scalar COM LUNCO Scalar 5 I(4) 4 scalar COM LUNLL Scalar 5 I(4) 4 scalar COM LUNOUT Scalar 5 I(4) 4 scalar COM ME Scalar 6 I(4) 4 scalar COM MINMAX Subr 63 63 MPIPRIV Common 209 36 Page 4 Source Listing EFILL 2014-12-17 20:47 Symbol Table EFILL.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_2COMPLEX Param 110 I(4) 4 scalar MPI_2DOUBLE_COMPLEX Param 110 I(4) 4 scalar MPI_2DOUBLE_PRECISION Param 110 I(4) 4 scalar MPI_2INTEGER Param 109 I(4) 4 scalar MPI_2REAL Param 109 I(4) 4 scalar MPI_ADDRESS_KIND Param 189 I(4) 4 scalar MPI_ALLREDUCE Subr 64 64,82,85 MPI_ANY_SOURCE Param 180 I(4) 4 scalar MPI_ANY_TAG Param 182 I(4) 4 scalar MPI_BAND Param 114 I(4) 4 scalar MPI_BOR Param 115 I(4) 4 scalar MPI_BOTTOM Scalar 104 I(4) 4 scalar COM MPI_BSEND_OVERHEAD Param 55 I(4) 4 scalar MPI_BXOR Param 115 I(4) 4 scalar MPI_BYTE Param 109 I(4) 4 scalar MPI_CART Param 50 I(4) 4 scalar MPI_CHARACTER Param 109 I(4) 4 scalar MPI_COMM_NULL Param 68 I(4) 4 scalar MPI_COMM_SELF Param 113 I(4) 4 scalar MPI_COMM_WORLD Param 113 I(4) 4 scalar 65,83,86 MPI_COMPLEX Param 108 I(4) 4 scalar MPI_COMPLEX16 Param 147 I(4) 4 scalar MPI_COMPLEX32 Param 147 I(4) 4 scalar MPI_COMPLEX8 Param 147 I(4) 4 scalar MPI_CONGRUENT Param 86 I(4) 4 scalar MPI_DATATYPE_NULL Param 71 I(4) 4 scalar MPI_DISTRIBUTE_BLOCK Param 131 I(4) 4 scalar MPI_DISTRIBUTE_CYCLIC Param 131 I(4) 4 scalar MPI_DISTRIBUTE_DFLT_DARG Param 132 I(4) 4 scalar MPI_DISTRIBUTE_NONE Param 132 I(4) 4 scalar MPI_DOUBLE_COMPLEX Param 108 I(4) 4 scalar MPI_DOUBLE_PRECISION Param 107 I(4) 4 scalar MPI_ERRHANDLER_NULL Param 74 I(4) 4 scalar MPI_ERROR Param 58 I(4) 4 scalar MPI_ERRORS_ARE_FATAL Param 118 I(4) 4 scalar MPI_ERRORS_RETURN Param 118 I(4) 4 scalar MPI_ERR_ARG Param 33 I(4) 4 scalar MPI_ERR_BUFFER Param 30 I(4) 4 scalar MPI_ERR_COMM Param 31 I(4) 4 scalar MPI_ERR_COUNT Param 30 I(4) 4 scalar MPI_ERR_DIMS Param 33 I(4) 4 scalar MPI_ERR_GROUP Param 32 I(4) 4 scalar MPI_ERR_INTERN Param 35 I(4) 4 scalar MPI_ERR_IN_STATUS Param 35 I(4) 4 scalar MPI_ERR_LASTCODE Param 36 I(4) 4 scalar MPI_ERR_OP Param 33 I(4) 4 scalar MPI_ERR_OTHER Param 34 I(4) 4 scalar MPI_ERR_PENDING Param 35 I(4) 4 scalar MPI_ERR_RANK Param 31 I(4) 4 scalar MPI_ERR_REQUEST Param 36 I(4) 4 scalar MPI_ERR_ROOT Param 31 I(4) 4 scalar MPI_ERR_TAG Param 31 I(4) 4 scalar MPI_ERR_TOPOLOGY Param 33 I(4) 4 scalar MPI_ERR_TRUNCATE Param 34 I(4) 4 scalar MPI_ERR_TYPE Param 30 I(4) 4 scalar Page 5 Source Listing EFILL 2014-12-17 20:47 Symbol Table EFILL.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_ERR_UNKNOWN Param 34 I(4) 4 scalar MPI_GRAPH Param 50 I(4) 4 scalar MPI_GROUP_EMPTY Param 113 I(4) 4 scalar MPI_GROUP_NULL Param 77 I(4) 4 scalar MPI_HOST Param 103 I(4) 4 scalar MPI_IDENT Param 86 I(4) 4 scalar MPI_INFO_NULL Param 138 I(4) 4 scalar MPI_INTEGER Param 107 I(4) 4 scalar 85 MPI_INTEGER1 Param 144 I(4) 4 scalar MPI_INTEGER16 Param 145 I(4) 4 scalar MPI_INTEGER2 Param 144 I(4) 4 scalar MPI_INTEGER4 Param 144 I(4) 4 scalar MPI_INTEGER8 Param 144 I(4) 4 scalar MPI_IO Param 103 I(4) 4 scalar MPI_KEYVAL_INVALID Param 80 I(4) 4 scalar MPI_LAND Param 114 I(4) 4 scalar MPI_LB Param 111 I(4) 4 scalar MPI_LOGICAL Param 108 I(4) 4 scalar MPI_LOR Param 115 I(4) 4 scalar MPI_LXOR Param 115 I(4) 4 scalar MPI_MAX Param 114 I(4) 4 scalar 64 MPI_MAXLOC Param 116 I(4) 4 scalar MPI_MAX_ERROR_STRING Param 62 I(4) 4 scalar MPI_MAX_INFO_KEY Param 136 I(4) 4 scalar MPI_MAX_INFO_VAL Param 136 I(4) 4 scalar MPI_MAX_NAME_STRING Param 65 I(4) 4 scalar MPI_MAX_PROCESSOR_NAME Param 62 I(4) 4 scalar MPI_MIN Param 114 I(4) 4 scalar MPI_MINLOC Param 115 I(4) 4 scalar MPI_OFFSET_KIND Param 189 I(4) 4 scalar MPI_OP_NULL Param 117 I(4) 4 scalar MPI_ORDER_C Param 129 I(4) 4 scalar MPI_ORDER_FORTRAN Param 129 I(4) 4 scalar MPI_PACKED Param 112 I(4) 4 scalar MPI_PROC_NULL Param 52 I(4) 4 scalar MPI_PROD Param 114 I(4) 4 scalar MPI_REAL Param 107 I(4) 4 scalar 64 MPI_REAL16 Param 146 I(4) 4 scalar MPI_REAL4 Param 146 I(4) 4 scalar MPI_REAL8 Param 146 I(4) 4 scalar 82 MPI_REQUEST_NULL Param 83 I(4) 4 scalar MPI_SIMILAR Param 86 I(4) 4 scalar MPI_SOURCE Param 58 I(4) 4 scalar MPI_STATUSES_IGNORE Scalar 106 I(4) 4 1 4 COM MPI_STATUS_IGNORE Scalar 105 I(4) 4 1 4 COM MPI_STATUS_SIZE Param 60 I(4) 4 scalar 105,106 MPI_SUBVERSION Param 185 I(4) 4 scalar MPI_SUCCESS Param 30 I(4) 4 scalar MPI_SUM Param 114 I(4) 4 scalar 82,85 MPI_TAG Param 58 I(4) 4 scalar MPI_TAG_UB Param 103 I(4) 4 scalar MPI_UB Param 111 I(4) 4 scalar MPI_UNDEFINED Param 47 I(4) 4 scalar MPI_UNEQUAL Param 86 I(4) 4 scalar MPI_VERSION Param 185 I(4) 4 scalar Page 6 Source Listing EFILL 2014-12-17 20:47 Symbol Table EFILL.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_WTIME_IS_GLOBAL Param 112 I(4) 4 scalar NBC Scalar 3 I(4) 4 scalar COM NBOCO Scalar 4 I(4) 4 scalar COM NCP Scalar 4 I(4) 4 scalar COM NDDAMP Scalar 4 I(4) 4 scalar COM NFCST Scalar 3 I(4) 4 scalar COM NPHS Scalar 5 I(4) 4 scalar COM NPREC Scalar 4 I(4) 4 scalar COM NPTS Local 71 I(4) 4 scalar 71,77,85,87,88,92 NRADL Scalar 5 I(4) 4 scalar COM NRADS Scalar 5 I(4) 4 scalar COM NSHDE Scalar 4 I(4) 4 scalar COM NTSD Scalar 4 I(4) 4 scalar COM NTSTM Scalar 4 I(4) 4 scalar COM NUM_PROCS Scalar 6 I(4) 4 scalar COM OPTIONS Common 2 24 PARALLEL Common 9 8240 RESTRT Scalar 3 R(4) 4 scalar COM RUN Scalar 3 R(4) 4 scalar COM SATDEL Scalar 2 R(4) 4 scalar COM SIGMA Scalar 3 R(4) 4 scalar COM SMALL Param 44 R(4) 4 scalar 67,76,100 SPVAL Scalar 2 R(4) 4 scalar COM 67,76,100 STDOUT Scalar 2 I(4) 4 scalar COM 89 SUM Local 48 R(8) 8 scalar 72,78,82,84,92 SUMT Local 49 R(8) 8 scalar 82,84 TEMP Local 64 R(4) 4 scalar 64,66 Page 7 Source Listing EFILL 2014-12-17 20:47 Subprograms/Common Blocks EFILL.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References CTLBLK Common 2 96 EFILL Subr 1 IOUNIT Common 4 20 MPIPRIV Common 209 36 OPTIONS Common 2 24 PARALLEL Common 9 8240 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 Page 8 Source Listing EFILL 2014-12-17 20:47 EFILL.f 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 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 : EFILL.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100