Page 1 Source Listing CALTHTE 2025-03-12 18:23 CALTHTE.f 1 SUBROUTINE CALTHTE(P1D,T1D,Q1D,THTE) 2 C$$$ SUBPROGRAM DOCUMENTATION BLOCK 3 C . . . 4 C SUBPROGRAM: CALTHTE COMPUTES THETA-E 5 C PRGRMMR: TREADON ORG: W/NP2 DATE: 93-06-18 6 C 7 C ABSTRACT: 8 C THIS ROUTINE COMPUTES THE EQUIVALENT POTENTIAL TEMPERATURE 9 C GIVEN PRESSURE, TEMPERATURE, AND SPECIFIC HUMIDITY. THE 10 C EQUATIONS OF BOLTON (MWR,1980) ARE USED. 11 C . 12 C 13 C PROGRAM HISTORY LOG: 14 C 93-06-18 RUSS TREADON 15 C 98-06-16 T BLACK - CONVERSION FROM 1-D TO 2-D 16 C 00-01-04 JIM TUCCILLO - MPI VERSION 17 C 18 C USAGE: CALL CALTHTE(P1D,T1D,Q1D,THTE) 19 C INPUT ARGUMENT LIST: 20 C P1D - PRESSURE (PA) 21 C T1D - TEMPERATURE (K) 22 C Q1D - SPECIFIC HUMIDITY (KG/KG) 23 C 24 C OUTPUT ARGUMENT LIST: 25 C THTE - THETA-E (K) 26 C 27 C OUTPUT FILES: 28 C NONE 29 C 30 C SUBPROGRAMS CALLED: 31 C UTILITIES: 32 C VAPOR - FUNCTION TO CALCULATE VAPOR PRESSURE. 33 C LIBRARY: 34 C NONE 35 C 36 C ATTRIBUTES: 37 C LANGUAGE: FORTRAN 38 C MACHINE : CRAY C-90 39 C$$$ 40 C 41 C 42 C INCLUDE/SET PARAMETERS. 43 INCLUDE "parmeta" 61 INCLUDE "params" 103 INCLUDE "CTLBLK.comm" 104 C 119 PARAMETER (KG2G=1.E3) 120 PARAMETER (D35=3.5,D4805=4.805,H2840=2840.,H55=55.) 121 PARAMETER (D2845=0.2845,D00028=0.00028,D3376=3.376) 122 PARAMETER (D00254=0.00254,D00081=0.00081,D81=0.81) 123 PARAMETER (D28=0.28,H2675=2675.) 124 C 125 C DECLARE VARIABLES. 126 C 127 REAL P1D(IM,JM),T1D(IM,JM),Q1D(IM,JM),THTE(IM,JM) 128 C 129 C*************************************************************** Page 2 Source Listing CALTHTE 2025-03-12 18:23 CALTHTE.f 130 C START CALTHTE. 131 C 132 C ZERO THETA-E ARRAY 133 DO J=JSTA,JEND 134 DO I=1,IM 135 THTE(I,J)=D00 136 ENDDO 137 ENDDO 138 C 139 C COMPUTE THETA-E. 140 C 141 DO J=JSTA_M,JEND_M 142 DO I=2,IM-1 143 P = P1D(I,J) 144 T = T1D(I,J) 145 Q = Q1D(I,J) 146 EVP = P*Q/(EPS+ONEPS*Q) 147 RMX = EPS*EVP/(P-EVP) 148 CKAPA = D2845*(1.-D28*RMX) 149 RKAPA = 1./CKAPA 150 ARG = EVP*D01 151 ARG = AMAX1(H1M12,ARG) 152 DENOM = D35*ALOG(T) - ALOG(EVP*D01) - D4805 153 TLCL = H2840/DENOM + H55 154 PLCL = P*(TLCL/T)**RKAPA 155 FAC = (P1000/P)**CKAPA 156 ETERM = (D3376/TLCL-D00254)*(RMX*KG2G*(H1+D81*RMX)) 157 THETAE = T*FAC*EXP(ETERM) 158 THTE(I,J)= THETAE 159 ENDDO 160 ENDDO 161 C 162 C END OF ROUTINE. 163 C 164 RETURN 165 END Page 3 Source Listing CALTHTE 2025-03-12 18:23 Entry Points CALTHTE.f ENTRY POINTS Name calthte_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References A2 Param 102 R(4) 4 scalar A3 Param 102 R(4) 4 scalar A4 Param 102 R(4) 4 scalar AD05 Param 94 R(4) 4 scalar ALOG Func 152 scalar 152 AMAX1 Func 151 scalar 151 ARG Local 150 R(4) 4 scalar 150,151 BETA Param 98 R(4) 4 scalar 98 BTG Param 98 R(4) 4 scalar CALTHTE Subr 1 CAPA Param 89 R(4) 4 scalar 96 CFT0 Param 94 R(4) 4 scalar CKAPA Local 148 R(4) 4 scalar 148,149,155 CM1 Param 84 R(4) 4 scalar CM2 Param 84 R(4) 4 scalar CM3 Param 84 R(4) 4 scalar CP Param 95 R(4) 4 scalar 97,101 CPDR Param 97 R(4) 4 scalar CTLBLK Common 106 96 SAVE D00 Param 86 R(4) 4 scalar 135 D00028 Param 121 R(4) 4 scalar D00081 Param 122 R(4) 4 scalar D001 Param 86 R(4) 4 scalar D00254 Param 122 R(4) 4 scalar 156 D0065 Param 90 R(4) 4 scalar D01 Param 86 R(4) 4 scalar 150,152 D05 Param 90 R(4) 4 scalar 94 D1 Param 86 R(4) 4 scalar D115 Param 90 R(4) 4 scalar D125 Param 88 R(4) 4 scalar D25 Param 88 R(4) 4 scalar D28 Param 123 R(4) 4 scalar 148 D2845 Param 121 R(4) 4 scalar 148 D3376 Param 121 R(4) 4 scalar 156 D35 Param 120 R(4) 4 scalar 152 D4805 Param 120 R(4) 4 scalar 152 D50 Param 86 R(4) 4 scalar D608 Param 90 R(4) 4 scalar D81 Param 122 R(4) 4 scalar 156 DENOM Local 152 R(4) 4 scalar 152,153 DP10M Param 96 R(4) 4 scalar DTR Param 95 R(4) 4 scalar 95 ELDR Param 97 R(4) 4 scalar ELWV Param 97 R(4) 4 scalar 97 Page 4 Source Listing CALTHTE 2025-03-12 18:23 Symbol Table CALTHTE.f Name Object Declared Type Bytes Dimen Elements Attributes References EPS Param 100 R(4) 4 scalar 100,146,147 EPSQ2 Param 101 R(4) 4 scalar ERAD Param 95 R(4) 4 scalar ETERM Local 156 R(4) 4 scalar 156,157 EVP Local 146 R(4) 4 scalar 146,147,150,152 EXP Func 157 scalar 157 FAC Local 155 R(4) 4 scalar 155,157 FMD Param 100 R(4) 4 scalar 100 FMW Param 100 R(4) 4 scalar 100 G Param 93 R(4) 4 scalar 93 GI Param 93 R(4) 4 scalar 97 H1 Param 87 R(4) 4 scalar 94,156 H100 Param 88 R(4) 4 scalar H1000 Param 88 R(4) 4 scalar H10000 Param 89 R(4) 4 scalar H10E5 Param 89 R(4) 4 scalar H1E2 Param 91 R(4) 4 scalar H1E4 Param 91 R(4) 4 scalar H1M12 Param 87 R(4) 4 scalar 151 H1M2 Param 91 R(4) 4 scalar H1M5 Param 88 R(4) 4 scalar H2 Param 87 R(4) 4 scalar H2675 Param 123 R(4) 4 scalar H2840 Param 120 R(4) 4 scalar 153 H4 Param 87 R(4) 4 scalar H55 Param 120 R(4) 4 scalar 153 H999 Param 86 R(4) 4 scalar H99999 Param 87 R(4) 4 scalar I Local 134 I(4) 4 scalar 134,135,142,143,144,145,158 IDIM1 Param 57 I(4) 4 scalar IDIM2 Param 57 I(4) 4 scalar IGSTL Param 52 I(4) 4 scalar 57 IGSTR Param 52 I(4) 4 scalar 57 IM Param 46 I(4) 4 scalar 54,57,65,67,68,70,127,134,142 IM1 Param 67 I(4) 4 scalar IMT Param 65 I(4) 4 scalar INPES Param 49 I(4) 4 scalar 54,57 ITAIL Param 54 I(4) 4 scalar J Local 133 I(4) 4 scalar 133,135,141,143,144,145,158 JAM Param 67 I(4) 4 scalar JDIM1 Param 58 I(4) 4 scalar JDIM2 Param 58 I(4) 4 scalar JGSTL Param 53 I(4) 4 scalar 58 JGSTR Param 53 I(4) 4 scalar 58 JM Param 46 I(4) 4 scalar 55,58,65,67,70,127 JM2 Param 67 I(4) 4 scalar JMT Param 65 I(4) 4 scalar JNPES Param 49 I(4) 4 scalar 55,58 JTAIL Param 55 I(4) 4 scalar KG2G Param 119 I(4) 4 scalar 156 KSAV Param 75 I(4) 4 scalar KSFI Param 74 I(4) 4 scalar KSLI Param 75 I(4) 4 scalar KSLP Param 75 I(4) 4 scalar KSLPD Param 74 I(4) 4 scalar Page 5 Source Listing CALTHTE 2025-03-12 18:23 Symbol Table CALTHTE.f Name Object Declared Type Bytes Dimen Elements Attributes References KSMUD Param 74 I(4) 4 scalar KSRH Param 75 I(4) 4 scalar KSSLP Param 74 I(4) 4 scalar KST Param 74 I(4) 4 scalar KSUV Param 75 I(4) 4 scalar LB Param 70 I(4) 4 scalar LHEAT Param 101 I(4) 4 scalar 101 LHTOCP Param 101 I(4) 4 scalar LM Param 46 I(4) 4 scalar 69,80 LM1 Param 69 I(4) 4 scalar LP1 Param 69 I(4) 4 scalar LSM Param 46 I(4) 4 scalar NINC Param 68 I(4) 4 scalar NSTAT Param 80 I(4) 4 scalar NSUMD Param 76 I(4) 4 scalar NWORD Param 80 I(4) 4 scalar 80 NWORD3 Param 80 I(4) 4 scalar NWORD6 Param 80 I(4) 4 scalar ONEPS Param 100 R(4) 4 scalar 146 OVERRC Param 94 R(4) 4 scalar 94 P Local 143 R(4) 4 scalar 143,146,147,154,155 P1000 Param 96 R(4) 4 scalar 155 P1D Dummy 1 R(4) 4 2 91719 ARG,INOUT 143 PARALLEL Common 113 8240 PLCL Local 154 R(4) 4 scalar 154 PQ0 Param 102 R(4) 4 scalar Q Local 145 R(4) 4 scalar 145,146 Q1D Dummy 1 R(4) 4 2 91719 ARG,INOUT 145 RCAPA Param 96 R(4) 4 scalar RD Param 93 R(4) 4 scalar 93,97,101 RDOCP Param 101 R(4) 4 scalar RG Param 97 R(4) 4 scalar RKAPA Local 149 R(4) 4 scalar 149,154 RMX Local 147 R(4) 4 scalar 147,148,156 ROG Param 93 R(4) 4 scalar RTD Param 95 R(4) 4 scalar SMTHA Param 76 R(4) 4 scalar SMTHB Param 76 R(4) 4 scalar T Local 144 R(4) 4 scalar 144,152,154,157 T1D Dummy 1 R(4) 4 2 91719 ARG,INOUT 144 TFRZ Param 100 R(4) 4 scalar THETAE Local 157 R(4) 4 scalar 157,158 THTE Dummy 1 R(4) 4 2 91719 ARG,INOUT 135,158 TLCL Local 153 R(4) 4 scalar 153,154,156 Page 6 Source Listing CALTHTE 2025-03-12 18:23 Symbol Table CALTHTE.f 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 133 JEND_2U I(4) 4 8236 scalar COM JEND_M I(4) 4 20 scalar COM 141 JEND_M2 I(4) 4 28 scalar COM JSTA I(4) 4 8 scalar COM 133 JSTA_2L I(4) 4 8232 scalar COM JSTA_M I(4) 4 16 scalar COM 141 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 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 7 Source Listing CALTHTE 2025-03-12 18:23 Subprograms/Common Blocks CALTHTE.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References CALTHTE Subr 1 CTLBLK Common 106 96 SAVE PARALLEL Common 113 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 -D __gnu_linux__ -D unix -D linux -D __ELF__ -D __x86_64 -D __x86_64__ Page 8 Source Listing CALTHTE 2025-03-12 18:23 CALTHTE.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 CALTHTE 2025-03-12 18:23 CALTHTE.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 : CALTHTE.lst no -o COMPILER: Intel(R) Fortran 19.1-1655