Page 1 Source Listing VDIFQ 2025-03-12 18:22 /tmp/ifortaH1qTn.i 1 # 1 "VDIFQ.F" 2 C&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 3 SUBROUTINE VDIFQ(LMHK,KTM,DTQ2,Q2,EL,Z) 4 C ****************************************************************** 5 C * * 6 C * VERTICAL DIFFUSION * 7 C * * 8 C ****************************************************************** 9 C----------------------------------------------------------------------- 10 INCLUDE "parmeta" 11 # 1 "./sp.h" 1 12 # 4 13 14 # 11 "VDIFQ.F" 2 15 C----------------------------------------------------------------------- 38 P A R A M E T E R 39 &(LP1=LM+1,LM1=LM-1,LM2=LM-2) 40 P A R A M E T E R 41 &(ESQ=0.20,ELZ0=0.) 42 C----------------------------------------------------------------------- 43 D I M E N S I O N 44 & Q2 (LM) 45 D I M E N S I O N 46 & EL (LM1) 47 &,Z (LP1) 48 D I M E N S I O N 49 & CM (LM2),CR (LM2),RSQ2 (LM2),AKQ (LM2),DTOZ (LM2) 50 C----------------------------------------------------------------------- 51 C*********************************************************************** 52 DTDIF=DTQ2/FLOAT(KTM) 53 LMHM=LMHK-1 54 LMH2=LMHK-2 55 LMHP=LMHK+1 56 C----------------------------------------------------------------------- 57 DO 300 KT=1,KTM 58 C----------------------------------------------------------------------- 59 DO 100 L=1,LMH2 60 DTOZ(L)=(DTDIF+DTDIF)/(Z(L)-Z(L+2)) 61 AKQ(L)=SQRT((Q2(L)+Q2(L+1))*0.5)*(EL(L)+EL(L+1))*0.5*ESQ 62 & /(Z(L+1)-Z(L+2)) 63 CR(L)=-DTOZ(L)*AKQ(L) 64 100 CONTINUE 65 C 66 CM(1)=DTOZ(1)*AKQ(1)+1. 67 RSQ2(1)=Q2(1) 68 C----------------------------------------------------------------------- 69 DO 110 L=2,LMH2 70 CF=-DTOZ(L)*AKQ(L-1)/CM(L-1) 71 CM(L)=-CR(L-1)*CF+(AKQ(L-1)+AKQ(L))*DTOZ(L)+1. 72 RSQ2(L)=-RSQ2(L-1)*CF+Q2(L) 73 110 CONTINUE 74 C----------------------------------------------------------------------- 75 DTOZS=(DTDIF+DTDIF)/(Z(LMHM)-Z(LMHP)) 76 AKQS=SQRT((Q2(LMHM)+Q2(LMHK))*0.5)*(EL(LMHM)+ELZ0)*0.5*ESQ 77 & /(Z(LMHK)-Z(LMHP)) 78 C 79 CF=-DTOZS*AKQ(LMH2)/CM(LMH2) Page 2 Source Listing VDIFQ 2025-03-12 18:22 VDIFQ.F 80 C----------------------------------------------------------------------- 81 Q2(LMHM)=(DTOZS*AKQS*Q2(LMHK)-RSQ2(LMH2)*CF+Q2(LMHM)) 82 & /((AKQ(LMH2)+AKQS)*DTOZS-CR(LMH2)*CF+1.) 83 C 84 DO 120 IVI=1,LMH2 85 L=LMHM-IVI 86 Q2(L)=(-CR(L)*Q2(L+1)+RSQ2(L))/CM(L) 87 120 CONTINUE 88 C----------------------------------------------------------------------- 89 300 CONTINUE 90 C----------------------------------------------------------------------- 91 RETURN 92 END ENTRY POINTS Name vdifq_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 100 Label 64 59 110 Label 73 69 120 Label 87 84 300 Label 89 57 AKQ Local 49 R(4) 4 1 43 61,63,66,70,71,79,82 AKQS Local 76 R(4) 4 scalar 76,81,82 CF Local 70 R(4) 4 scalar 70,71,72,79,81,82 CM Local 49 R(4) 4 1 43 66,70,71,79,86 CR Local 49 R(4) 4 1 43 63,71,82,86 DTDIF Local 52 R(4) 4 scalar 52,60,75 DTOZ Local 49 R(4) 4 1 43 60,63,66,70,71 DTOZS Local 75 R(4) 4 scalar 75,79,81,82 DTQ2 Dummy 3 R(4) 4 scalar ARG,INOUT 52 EL Dummy 3 R(4) 4 1 44 ARG,INOUT 61,76 ELZ0 Param 41 R(4) 4 scalar 76 ESQ Param 41 R(4) 4 scalar 61,76 FLOAT Func 52 scalar 52 IDIM1 Param 34 I(4) 4 scalar IDIM2 Param 34 I(4) 4 scalar IGSTL Param 29 I(4) 4 scalar 34 IGSTR Param 29 I(4) 4 scalar 34 IM Param 18 I(4) 4 scalar 31,34 INPES Param 26 I(4) 4 scalar 31,34 ITAIL Param 31 I(4) 4 scalar IVI Local 84 I(4) 4 scalar 84,85 JDIM1 Param 35 I(4) 4 scalar JDIM2 Param 35 I(4) 4 scalar JGSTL Param 30 I(4) 4 scalar 35 JGSTR Param 30 I(4) 4 scalar 35 JM Param 18 I(4) 4 scalar 32,35 JNPES Param 26 I(4) 4 scalar 32,35 Page 3 Source Listing VDIFQ 2025-03-12 18:22 Symbol Table VDIFQ.F Name Object Declared Type Bytes Dimen Elements Attributes References JTAIL Param 32 I(4) 4 scalar KT Local 57 I(4) 4 scalar 57 KTM Dummy 3 I(4) 4 scalar ARG,INOUT 52,57 L Local 59 I(4) 4 scalar 59,60,61,62,63,69,70,71,72,85,86 LM Param 18 I(4) 4 scalar 39,44 LM1 Param 39 I(4) 4 scalar 46 LM2 Param 39 I(4) 4 scalar 49 LMH2 Local 54 I(4) 4 scalar 54,59,69,79,81,82,84 LMHK Dummy 3 I(4) 4 scalar ARG,INOUT 53,54,55,76,77,81 LMHM Local 53 I(4) 4 scalar 53,75,76,81,85 LMHP Local 55 I(4) 4 scalar 55,75,77 LP1 Param 39 I(4) 4 scalar 47 LSM Param 18 I(4) 4 scalar Q2 Dummy 3 R(4) 4 1 45 ARG,INOUT 61,67,72,76,81,86 RSQ2 Local 49 R(4) 4 1 43 67,72,81,86 SQRT Func 61 scalar 61,76 VDIFQ Subr 3 Z Dummy 3 R(4) 4 1 46 ARG,INOUT 60,62,75,77 Page 4 Source Listing VDIFQ 2025-03-12 18:22 VDIFQ.F 93 Page 5 Source Listing VDIFQ 2025-03-12 18:22 Subprograms/Common Blocks VDIFQ.F SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References VDIFQ Subr 3 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 6 Source Listing VDIFQ 2025-03-12 18:22 VDIFQ.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 precise -fp_model nofast -fp_model nostrict -fp_model nosource -fp_model nodouble -fp_model noextended -fp_model novery_fast -fp_model noexcept -fp_model nono_except -fp_modbits nofp_contract -fp_modbits nono_fp_contract -fp_modbits nofenv_access -fp_modbits nono_fenv_access -fp_modbits nocx_limited_range -fp_modbits nono_cx_limited_range -fp_modbits noprec_div -fp_modbits nono_prec_div -fp_modbits noprec_sqrt -fp_modbits nono_prec_sqrt -fp_modbits noftz -fp_modbits no_ftz -fp_modbits nointrin_limited_range -fp_modbits nono_intrin_limited_range -fp_modbits notrunc_compares -fp_modbits nono_trunc_compares -fp_modbits noieee_nan_compares -fp_modbits nono_ieee_nan_compares -fp_modbits nohonor_f32_conversion -fp_modbits nono_honor_f32_conversion -fp_modbits nohonor_f64_conversion -fp_modbits nono_honor_f64_conversion -fp_modbits nono_x87_copy -fp_modbits nono_no_x87_copy -fp_modbits noexception_semantics -fp_modbits nono_exception_semantics -fp_modbits noprecise_libm_functions -fp_modbits nono_precise_libm_functions -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 Page 7 Source Listing VDIFQ 2025-03-12 18:22 VDIFQ.F -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/, .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 : VDIFQ.lst no -o COMPILER: Intel(R) Fortran 19.1-1655