Page 1 Source Listing TTBLEX 2025-03-12 18:24 TTBLEX.f 1 SUBROUTINE TTBLEX(TREF,TTBL,ITB,JTB,KARR,PDSL,AETAL,HTML 2 1, PT,PL,QQ,PP,RDP,THE0,STHE,RDTHE,THESP 3 2, IPTB,ITHTB) 4 CFPP$ NOCONCUR R 5 C$$$ SUBPROGRAM DOCUMENTATION BLOCK 6 C . . . 7 C SUBPROGRAM: TTBLEX COMPUTES T ALONG A MOIST ADIABAT 8 C PRGRMMR: BLACK ORG: W/NP2 DATE: ??-??-?? 9 C 10 C ABSTRACT: 11 C THIS ROUTINE COMPUTES THE TEMPERATURE ALONG A MOIST 12 C ADIABAT GIVEN THE SATURATION POTENTIAL TEMPERATURE 13 C AND THE PRESSURE 14 C . 15 C 16 C PROGRAM HISTORY LOG: 17 C ??-??-?? T BLACK - ORIGINATOR 18 C 98-06-12 T BLACK - CONVERSION FROM 1-D TO 2-D 19 C 00-01-04 JIM TUCCILLO - MPI VERSION 20 C 21 C OUTPUT FILES: 22 C NONE 23 C 24 C SUBPROGRAMS CALLED: 25 C UTILITIES: 26 C NONE 27 C 28 C ATTRIBUTES: 29 C LANGUAGE: FORTRAN 30 C---------------------------------------------------------------------- 31 INCLUDE "parmeta" 49 INCLUDE "CTLBLK.comm" 50 C---------------------------------------------------------------------- 65 D I M E N S I O N 66 1 TREF(IM,JM),TTBL(JTB,ITB),KARR(IM,JM),PDSL(IM,JM),HTML(IM,JM) 67 2,QQ(IM,JM),PP(IM,JM),THE0(ITB),STHE(ITB),THESP(IM,JM) 68 3,IPTB(IM,JM),ITHTB(IM,JM) 69 C----------------------------------------------------------------------- 70 !$omp parallel do 71 !$omp& private(bthe00k,bthe10k,bthk,ip,iptbk,ith,pk,sthe00k,sthe10k, 72 !$omp& sthk,t00k,t01k,t10k,t11k,tpk,tthk) 73 DO 500 J=JSTA_M,JEND_M 74 DO 500 I=2,IM-1 75 IF(KARR(I,J).GT.0)THEN 76 C--------------SCALING PRESSURE & TT TABLE INDEX------------------------ 77 PK=PDSL(I,J)*AETAL+PT 78 TPK=(PK-PL)*RDP 79 QQ(I,J)=TPK-AINT(TPK) 80 IPTB(I,J)=INT(TPK)+1 81 C--------------KEEPING INDICES WITHIN THE TABLE------------------------- 82 IF(IPTB(I,J).LT.1)THEN 83 IPTB(I,J)=1 84 QQ(I,J)=0. 85 ENDIF 86 C 87 IF(IPTB(I,J).GE.ITB)THEN 88 IPTB(I,J)=ITB-1 Page 2 Source Listing TTBLEX 2025-03-12 18:24 TTBLEX.f 89 QQ(I,J)=0. 90 ENDIF 91 C--------------BASE AND SCALING FACTOR FOR THE-------------------------- 92 IPTBK=IPTB(I,J) 93 BTHE00K=THE0(IPTBK) 94 STHE00K=STHE(IPTBK) 95 BTHE10K=THE0(IPTBK+1) 96 STHE10K=STHE(IPTBK+1) 97 C--------------SCALING THE & TT TABLE INDEX----------------------------- 98 BTHK=(BTHE10K-BTHE00K)*QQ(I,J)+BTHE00K 99 STHK=(STHE10K-STHE00K)*QQ(I,J)+STHE00K 100 TTHK=(THESP(I,J)-BTHK)/STHK*RDTHE 101 PP(I,J)=TTHK-AINT(TTHK) 102 ITHTB(I,J)=INT(TTHK)+1 103 C--------------KEEPING INDICES WITHIN THE TABLE------------------------- 104 IF(ITHTB(I,J).LT.1)THEN 105 ITHTB(I,J)=1 106 PP(I,J)=0. 107 ENDIF 108 C 109 IF(ITHTB(I,J).GE.JTB)THEN 110 ITHTB(I,J)=JTB-1 111 PP(I,J)=0. 112 ENDIF 113 C--------------TEMPERATURE AT FOUR SURROUNDING TT TABLE PTS.------------ 114 ITH=ITHTB(I,J) 115 IP=IPTB(I,J) 116 T00K=TTBL(ITH ,IP ) 117 T10K=TTBL(ITH+1,IP ) 118 T01K=TTBL(ITH ,IP+1) 119 T11K=TTBL(ITH+1,IP+1) 120 C--------------PARCEL TEMPERATURE------------------------------------- 121 TREF(I,J)=(T00K+(T10K-T00K)*PP(I,J)+(T01K-T00K)*QQ(I,J) 122 1 +(T00K-T10K-T01K+T11K)*PP(I,J)*QQ(I,J))*HTML(I,J) 123 ENDIF 124 500 CONTINUE 125 C 126 RETURN 127 END Page 3 Source Listing TTBLEX 2025-03-12 18:24 Entry Points TTBLEX.f ENTRY POINTS Name ttblex_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 500 Label 124 73,74 AETAL Dummy 1 R(4) 4 scalar ARG,INOUT 77 AINT Func 79 scalar 79,101 BTHE00K Local 93 R(4) 4 scalar 93,98 BTHE10K Local 95 R(4) 4 scalar 95,98 BTHK Local 98 R(4) 4 scalar 98,100 CTLBLK Common 52 96 SAVE HTML Dummy 1 R(4) 4 2 91719 ARG,INOUT 122 I Local 74 I(4) 4 scalar 74,75,77,79,80,82,83,84,87,88,89,9 2,98,99,100,101,102,104,105,106,10 9,110,111,114,115,121,122 IDIM1 Param 45 I(4) 4 scalar IDIM2 Param 45 I(4) 4 scalar IGSTL Param 40 I(4) 4 scalar 45 IGSTR Param 40 I(4) 4 scalar 45 IM Param 34 I(4) 4 scalar 42,45,66,67,68,74 INPES Param 37 I(4) 4 scalar 42,45 INT Func 80 scalar 80,102 IP Local 115 I(4) 4 scalar 115,116,117,118,119 IPTB Dummy 3 I(4) 4 2 91719 ARG,INOUT 80,82,83,87,88,92,115 IPTBK Local 92 I(4) 4 scalar 92,93,94,95,96 ITAIL Param 42 I(4) 4 scalar ITB Dummy 1 I(4) 4 scalar ARG,INOUT 66,67,87,88 ITH Local 114 I(4) 4 scalar 114,116,117,118,119 ITHTB Dummy 3 I(4) 4 2 91719 ARG,INOUT 102,104,105,109,110,114 J Local 73 I(4) 4 scalar 73,75,77,79,80,82,83,84,87,88,89,9 2,98,99,100,101,102,104,105,106,10 9,110,111,114,115,121,122 JDIM1 Param 46 I(4) 4 scalar JDIM2 Param 46 I(4) 4 scalar JGSTL Param 41 I(4) 4 scalar 46 JGSTR Param 41 I(4) 4 scalar 46 JM Param 34 I(4) 4 scalar 43,46,66,67,68 JNPES Param 37 I(4) 4 scalar 43,46 JTAIL Param 43 I(4) 4 scalar JTB Dummy 1 I(4) 4 scalar ARG,INOUT 66,109,110 KARR Dummy 1 I(4) 4 2 91719 ARG,INOUT 75 LM Param 34 I(4) 4 scalar LSM Param 34 I(4) 4 scalar PARALLEL Common 59 8240 PDSL Dummy 1 R(4) 4 2 91719 ARG,INOUT 77 PK Local 77 R(4) 4 scalar 77,78 PL Dummy 2 R(4) 4 scalar ARG,INOUT 78 PP Dummy 2 R(4) 4 2 91719 ARG,INOUT 101,106,111,121,122 Page 4 Source Listing TTBLEX 2025-03-12 18:24 Symbol Table TTBLEX.f Name Object Declared Type Bytes Dimen Elements Attributes References PT Dummy 2 R(4) 4 scalar ARG,INOUT 77 QQ Dummy 2 R(4) 4 2 91719 ARG,INOUT 79,84,89,98,99,121,122 RDP Dummy 2 R(4) 4 scalar ARG,INOUT 78 RDTHE Dummy 2 R(4) 4 scalar ARG,INOUT 100 STHE Dummy 2 R(4) 4 1 0 ARG,INOUT 94,96 STHE00K Local 94 R(4) 4 scalar 94,99 STHE10K Local 96 R(4) 4 scalar 96,99 STHK Local 99 R(4) 4 scalar 99,100 T00K Local 116 R(4) 4 scalar 116,121,122 T01K Local 118 R(4) 4 scalar 118,121,122 T10K Local 117 R(4) 4 scalar 117,121,122 T11K Local 119 R(4) 4 scalar 119,122 THE0 Dummy 2 R(4) 4 1 0 ARG,INOUT 93,95 THESP Dummy 2 R(4) 4 2 91719 ARG,INOUT 100 TPK Local 78 R(4) 4 scalar 78,79,80 TREF Dummy 1 R(4) 4 2 91719 ARG,INOUT 121 TTBL Dummy 1 R(4) 4 2 0 ARG,INOUT 116,117,118,119 TTBLEX Subr 1 TTHK Local 100 R(4) 4 scalar 100,101,102 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 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 IHRST I(4) 4 20 scalar COM IOUT I(4) 4 44 scalar COM IUP I(4) 4 32 scalar COM JEND I(4) 4 12 scalar COM JEND_2U I(4) 4 8236 scalar COM JEND_M I(4) 4 20 scalar COM 73 JEND_M2 I(4) 4 28 scalar COM JSTA I(4) 4 8 scalar COM JSTA_2L I(4) 4 8232 scalar COM JSTA_M I(4) 4 16 scalar COM 73 JSTA_M2 I(4) 4 24 scalar COM LIST I(4) 4 40 scalar COM ME I(4) 4 4 scalar 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 Page 5 Source Listing TTBLEX 2025-03-12 18:24 Symbol Table TTBLEX.f Name Type Bytes Offset Dimen Elements Attributes References 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 SIGMA R(4) 4 0 scalar COM Page 6 Source Listing TTBLEX 2025-03-12 18:24 TTBLEX.f 128 C&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Page 7 Source Listing TTBLEX 2025-03-12 18:24 Subprograms/Common Blocks TTBLEX.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References CTLBLK Common 52 96 SAVE PARALLEL Common 59 8240 TTBLEX 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__ Page 8 Source Listing TTBLEX 2025-03-12 18:24 TTBLEX.f -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 -w notruncated_source -w uncalled -w uninitialized -w nounused -w usage no -wrap-margins Page 9 Source Listing TTBLEX 2025-03-12 18:24 TTBLEX.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 : TTBLEX.lst no -o COMPILER: Intel(R) Fortran 19.1-1655