Page 1 Source Listing FILLH 2025-03-12 18:23 FILLH.f 1 SUBROUTINE FILLH(ARR1,ARR2,IDIM,JDIM) 2 C$$$ SUBPROGRAM DOCUMENTATION BLOCK 3 C . . . 4 C SUBPROGRAM: FILLH FILL H POINTS ON E-GRID V FIELD 5 C PRGRMMR: BLACK ORG: W/NP2 DATE: 92-12-23 6 C 7 C ABSTRACT: 8 C THIS ROUTINE FILLS MASS (H) POINTS ON A VELOCITY (V) 9 C POINT E-GRID. 10 C . 11 C 12 C PROGRAM HISTORY LOG: 13 C ??-??-?? BLACK - ORIGINATOR 14 C 93-12-23 RUSS TREADON - ADDED COMMENTS AND VARIABLE 15 C GRID DIMENSIONS TO 16 C SUBROUTINE CALL. 17 C 98-06-04 BLACK - CONVERSION TO 2-D 18 C 19 C USAGE: CALL FILLH(ARR1,ARR2,IDIM,JDIM) 20 C INPUT ARGUMENT LIST: 21 C ARR2 - VELOCITY POINT DATA ON STAGGERED E-GRID. 22 C IDIM - FIRST DIMENSION OF FILLED E-GRID. 23 C JDIM - SECOND DIMENSION OF FILLED E-GRID. 24 C 25 C OUTPUT ARGUMENT LIST: 26 C ARR1 - VELOCITY POINT DATA ON FILLED E-GRID. 27 C 28 C OUTPUT FILES: 29 C NONE 30 C 31 C SUBPROGRAMS CALLED: 32 C UTILITIES: 33 C EFILL - FILL MISSING VALUES ON STAGGERED 34 C E-GRID WITH FIELD MEAN. 35 C LIBRARY: 36 C COMMON 37 C 38 C ATTRIBUTES: 39 C LANGUAGE: FORTRAN 40 C MACHINE : CRAY C-90 41 C$$$ 42 C 43 C-------------------------------------------------------------------- 44 D I M E N S I O N 45 & ARR1((IDIM+1)/2,JDIM), ARR2(IDIM,JDIM) 46 C 47 C******************************************************************** 48 C START FILLH HERE. 49 C 50 C REPLACE MISSING VALUES ON EGRID WITH FIELD MEAN 51 IM=(IDIM+1)/2 52 CALL EFILL(ARR1,IM,JDIM) 53 C 54 DO J=1,JDIM 55 DO I=1,IDIM 56 ARR2(I,J)=0. 57 ENDDO Page 2 Source Listing FILLH 2025-03-12 18:23 FILLH.f 58 ENDDO 59 C*** 60 C*** REASSIGN VALUES OF MODEL GRID TO V POINTS ON IDIM X JDIM GRID 61 C*** ON ODD ROWS. 62 C*** 63 DO J=1,JDIM,2 64 DO I=2,IDIM-1,2 65 II=I/2 66 ARR2(I,J)=ARR1(II,J) 67 ENDDO 68 ENDDO 69 C*** 70 C*** REASSIGN VALUES OF MODEL GRID TO V POINTS ON IDIM X JDIM GRID 71 C*** ON EVEN ROWS. 72 C*** 73 DO J=2,JDIM-1,2 74 DO I=1,IDIM,2 75 II=(I+1)/2 76 ARR2(I,J)=ARR1(II,J) 77 ENDDO 78 ENDDO 79 C*** 80 C*** INTERPOLATE VALUES TO THOSE CORRESPONDING TO H POINTS ON THE 81 C*** IDIM X JDIM GRID ON THE BOTTOM AND TOP ROWS. 82 C*** 83 DO I=3,IDIM-2,2 84 II=I/2 85 ARR2(I,1)=(ARR1(II,1)+ARR1(II+1,1))*0.5 86 ARR2(I,JDIM)=(ARR1(II,JDIM)+ARR1(II+1,JDIM))*0.5 87 ENDDO 88 C*** 89 C*** INTERPOLATE VALUES TO THOSE CORRESPONDING TO H POINTS ON THE 90 C*** IDIM X JDIM GRID ON THE WEST AND EAST SIDES. 91 C*** 92 DO J=3,JDIM-2,2 93 ARR2(1,J)=(ARR1(1,J+1)+ARR1(1,J-1))*0.5 94 ARR2(IDIM,J)=(ARR1(IM,J+1)+ARR1(IM,J-1))*0.5 95 ENDDO 96 C*** 97 C*** INTERPOLATE TO CORRESPONDING H POINTS ON ODD ROWS 98 C*** EXCLUDING THE SIDES. 99 C*** 100 DO J=3,JDIM-2,2 101 DO I=3,IDIM-2,2 102 II=I/2 103 ARR2(I,J)=0.25*(ARR1(II,J)+ARR1(II+1,J)+ARR1(II+1,J+1)+ 104 1 ARR1(II+1,J-1)) 105 ENDDO 106 ENDDO 107 C*** 108 C*** INTERPOLATE TO CORRESPONDING H POINTS ON EVEN ROWS 109 C*** EXCLUDING THE SIDES. 110 C*** 111 DO J=2,JDIM-1,2 112 DO I=2,IDIM-1,2 113 II=I/2 114 ARR2(I,J)=0.25*(ARR1(II,J)+ARR1(II+1,J)+ARR1(II,J+1)+ Page 3 Source Listing FILLH 2025-03-12 18:23 FILLH.f 115 1 ARR1(II,J-1)) 116 ENDDO 117 ENDDO 118 C*** 119 C*** EXTRAPOLATE TO THE FOUR CORNER H POINTS. 120 C*** 121 ARR2(1,1)=0.5*(1.5*(ARR1(1,1)+ARR1(1,2)) 122 1 -0.5*(ARR1(2,1)+ARR1(1,4))) 123 ARR2(IDIM,1)=0.5*(1.5*(ARR1(IM-1,1)+ARR1(IM,2)) 124 1 -0.5*(ARR1(IM-2,1)+ARR1(IM,4))) 125 ARR2(1,JDIM)=0.5*(1.5*(ARR1(1,JDIM)+ARR1(1,JDIM-1)) 126 1 -0.5*(ARR1(2,JDIM)+ARR1(1,JDIM-3))) 127 ARR2(IDIM,JDIM)=0.5*(1.5*(ARR1(IM-1,JDIM)+ARR1(IM,JDIM-1)) 128 1 -0.5*(ARR1(IM-2,JDIM)+ARR1(IM,JDIM-3))) 129 RETURN 130 END ENTRY POINTS Name fillh_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References ARR1 Dummy 1 R(4) 4 2 0 ARG,INOUT 52,66,76,85,86,93,94,103,104,114,1 15,121,122,123,124,125,126,127,128 ARR2 Dummy 1 R(4) 4 2 0 ARG,INOUT 56,66,76,85,86,93,94,103,114,121,1 23,125,127 EFILL Subr 52 52 FILLH Subr 1 I Local 55 I(4) 4 scalar 55,56,64,65,66,74,75,76,83,84,85,8 6,101,102,103,112,113,114 IDIM Dummy 1 I(4) 4 scalar ARG,INOUT 45,51,55,64,74,83,94,101,112,123,1 27 II Local 65 I(4) 4 scalar 65,66,75,76,84,85,86,102,103,104,1 13,114,115 IM Local 51 I(4) 4 scalar 51,52,94,123,124,127,128 J Local 54 I(4) 4 scalar 54,56,63,66,73,76,92,93,94,100,103 ,104,111,114,115 JDIM Dummy 1 I(4) 4 scalar ARG,INOUT 45,52,54,63,73,86,92,100,111,125,1 26,127,128 Page 4 Source Listing FILLH 2025-03-12 18:23 Subprograms/Common Blocks FILLH.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References FILLH 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__ -D __INTEL_COMPILER_BUILD_DATE=20200925 -D __INTEL_OFFLOAD Page 5 Source Listing FILLH 2025-03-12 18:23 FILLH.f -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 -includepath : /pe/intel/compilers_and_libraries_2020.4.304/linux/pstl/include/,/pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/, Page 6 Source Listing FILLH 2025-03-12 18:23 FILLH.f .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 : FILLH.lst no -o COMPILER: Intel(R) Fortran 19.1-1655