Page 1 Source Listing CALPW 2025-03-12 18:23 CALPW.f 1 SUBROUTINE CALPW(PW) 2 C$$$ SUBPROGRAM DOCUMENTATION BLOCK 3 C . . . 4 C SUBPROGRAM: CALPW COMPUTES 5 C PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-24 6 C 7 C ABSTRACT: 8 C THIS ROUTINE COMPUTES PRECIPITABLE WATER IN A COLUMN 9 C EXTENDING FROM THE FIRST ATMOSPHERIC ETA LAYER TO THE 10 C MODEL TOP. THE DEFINITION USED IS 11 C TOP 12 C PRECIPITABLE WATER = SUM (Q+CLDW) DP*HTM/G 13 C BOT 14 C WHERE, 15 C BOT IS THE FIRST ETA LAYER, 16 C TOP IS THE MODEL TOP, 17 C Q IS THE SPECIFIC HUMIDITY (KG/KG) IN THE LAYER 18 C CLDW IS THE CLOUD WATER (KG/KG) IN THE LAYER 19 C DP (Pa) IS THE LAYER THICKNESS. 20 C HTM IS THE HEIGHT MASK AT THAT LAYER (=0 IF BELOW GROUND) 21 C G IS THE GRAVITATIONAL CONSTANT 22 C 23 C PROGRAM HISTORY LOG: 24 C 92-12-24 RUSS TREADON 25 C 96-03-04 MIKE BALDWIN - ADD CLOUD WATER AND SPEED UP CODE 26 C 98-06-15 T BLACK - CONVERSION FROM 1-D TO 2-D 27 C 00-01-04 JIM TUCCILLO - MPI VERSION 28 C 29 C USAGE: CALL CALPW(PW) 30 C INPUT ARGUMENT LIST: 31 C PW - ARRAY OF PRECIPITABLE WATER. 32 C 33 C OUTPUT ARGUMENT LIST: 34 C NONE 35 C 36 C OUTPUT FILES: 37 C NONE 38 C 39 C SUBPROGRAMS CALLED: 40 C UTILITIES: 41 C NONE 42 C LIBRARY: 43 C COMMON - LOOPS 44 C EXTRA 45 C VRBLS 46 C MASKS 47 C CLDWTR 48 C 49 C ATTRIBUTES: 50 C LANGUAGE: FORTRAN 51 C MACHINE : CRAY C-90 52 C$$$ 53 C 54 C 55 C INCLUDE/SET PARAMETERS. 56 INCLUDE "parmeta" 74 INCLUDE "params" Page 2 Source Listing CALPW 2025-03-12 18:23 CALPW.f 75 C 76 C SET DENSITY OF WATER AT 1 ATMOSPHERE PRESSURE, 0C. 77 C UNITS ARE KG/M**3. 119 PARAMETER (RHOWAT=1.E3) 120 C 121 C DECLARE VARIABLES. 122 C 123 INTEGER LLMH 124 REAL ALPM,DZ,PM,PWSUM,RHOAIR 125 REAL PW(IM,JM) 126 C 127 C INCLUDE COMMON BLOCKS. 128 INCLUDE "VRBLS.comm" 135 INCLUDE "EXTRA.comm" 147 INCLUDE "LOOPS.comm" 155 INCLUDE "MASKS.comm" 163 INCLUDE "CLDWTR.comm" 169 INCLUDE "CTLBLK.comm" 170 C 171 C*************************************************************** 172 C START CALPW HERE. 173 C 174 C INITIALIZE PW TO 0. 175 C 190 PW = 0. 191 C 192 C OUTER LOOP OVER VERTICAL DIMENSION. 193 C INNER LOOP OVER HORIZONTAL GRID. 194 C 195 !$omp parallel do 196 !$omp& private(dp) 197 DO L = 1,LM 198 DO J=JSTA,JEND 199 DO I=1,IM 200 DP =PINT(I,J,L+1)-PINT(I,J,L) 201 PW(I,J)=PW(I,J)+(Q(I,J,L)+CWM(I,J,L))*DP*GI*HTM(I,J,L) 202 ENDDO 203 ENDDO 204 ENDDO 205 C 206 C AT ONE TIME THE SUM WAS DIVIDED BY THE DENSITY OF 207 C WATER. (TO GET PW IN M) THIS IS NO LONGER DONE. 208 C PW(I,J) = PWSUM/RHOWAT 209 C 210 C END OF ROUTINE. 211 C 212 RETURN 213 END Page 3 Source Listing CALPW 2025-03-12 18:23 Entry Points CALPW.f ENTRY POINTS Name calpw_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References A2 Param 118 R(4) 4 scalar A3 Param 118 R(4) 4 scalar A4 Param 118 R(4) 4 scalar AD05 Param 110 R(4) 4 scalar ALPM Local 124 R(4) 4 scalar BETA Param 114 R(4) 4 scalar 114 BTG Param 114 R(4) 4 scalar CALPW Subr 1 CAPA Param 105 R(4) 4 scalar 112 CFT0 Param 110 R(4) 4 scalar CLDWTR Common 165 17610408 SAVE CM1 Param 100 R(4) 4 scalar CM2 Param 100 R(4) 4 scalar CM3 Param 100 R(4) 4 scalar CP Param 111 R(4) 4 scalar 113,117 CPDR Param 113 R(4) 4 scalar CTLBLK Common 177 96 SAVE D00 Param 102 R(4) 4 scalar D001 Param 102 R(4) 4 scalar D0065 Param 106 R(4) 4 scalar D01 Param 102 R(4) 4 scalar D05 Param 106 R(4) 4 scalar 110 D1 Param 102 R(4) 4 scalar D115 Param 106 R(4) 4 scalar D125 Param 104 R(4) 4 scalar D25 Param 104 R(4) 4 scalar D50 Param 102 R(4) 4 scalar D608 Param 106 R(4) 4 scalar DP Local 200 R(4) 4 scalar 200,201 DP10M Param 112 R(4) 4 scalar DTR Param 111 R(4) 4 scalar 111 DZ Local 124 R(4) 4 scalar ELDR Param 113 R(4) 4 scalar ELWV Param 113 R(4) 4 scalar 113 EPS Param 116 R(4) 4 scalar 116 EPSQ2 Param 117 R(4) 4 scalar ERAD Param 111 R(4) 4 scalar EXTRA Common 138 71506268 SAVE FMD Param 116 R(4) 4 scalar 116 FMW Param 116 R(4) 4 scalar 116 G Param 109 R(4) 4 scalar 109 GI Param 109 R(4) 4 scalar 113,201 H1 Param 103 R(4) 4 scalar 110 H100 Param 104 R(4) 4 scalar Page 4 Source Listing CALPW 2025-03-12 18:23 Symbol Table CALPW.f Name Object Declared Type Bytes Dimen Elements Attributes References H1000 Param 104 R(4) 4 scalar H10000 Param 105 R(4) 4 scalar H10E5 Param 105 R(4) 4 scalar H1E2 Param 107 R(4) 4 scalar H1E4 Param 107 R(4) 4 scalar H1M12 Param 103 R(4) 4 scalar H1M2 Param 107 R(4) 4 scalar H1M5 Param 104 R(4) 4 scalar H2 Param 103 R(4) 4 scalar H4 Param 103 R(4) 4 scalar H999 Param 102 R(4) 4 scalar H99999 Param 103 R(4) 4 scalar I Local 199 I(4) 4 scalar 199,200,201 IDIM1 Param 70 I(4) 4 scalar IDIM2 Param 70 I(4) 4 scalar IGSTL Param 65 I(4) 4 scalar 70 IGSTR Param 65 I(4) 4 scalar 70 IM Param 59 I(4) 4 scalar 67,70,81,83,84,86,125,131,133,137, 139,140,141,142,143,144,152,158,16 0,166,199 IM1 Param 83 I(4) 4 scalar IMJM Param 137 I(4) 4 scalar 140 IMT Param 81 I(4) 4 scalar INPES Param 62 I(4) 4 scalar 67,70 ITAIL Param 67 I(4) 4 scalar J Local 198 I(4) 4 scalar 198,200,201 JAM Param 83 I(4) 4 scalar 150 JDIM1 Param 71 I(4) 4 scalar JDIM2 Param 71 I(4) 4 scalar JGSTL Param 66 I(4) 4 scalar 71 JGSTR Param 66 I(4) 4 scalar 71 JM Param 59 I(4) 4 scalar 68,71,81,83,86,125,131,133,137,139 ,140,141,142,143,144,152,158,160,1 66 JM2 Param 83 I(4) 4 scalar JMT Param 81 I(4) 4 scalar JNPES Param 62 I(4) 4 scalar 68,71 JTAIL Param 68 I(4) 4 scalar KSAV Param 91 I(4) 4 scalar KSFI Param 90 I(4) 4 scalar KSLI Param 91 I(4) 4 scalar KSLP Param 91 I(4) 4 scalar KSLPD Param 90 I(4) 4 scalar KSMUD Param 90 I(4) 4 scalar KSRH Param 91 I(4) 4 scalar KSSLP Param 90 I(4) 4 scalar KST Param 90 I(4) 4 scalar KSUV Param 91 I(4) 4 scalar L Local 197 I(4) 4 scalar 197,200,201 LB Param 86 I(4) 4 scalar LHEAT Param 117 I(4) 4 scalar 117 LHTOCP Param 117 I(4) 4 scalar LLMH Local 123 I(4) 4 scalar LM Param 59 I(4) 4 scalar 85,96,133,140,160,166,197 LM1 Param 85 I(4) 4 scalar Page 5 Source Listing CALPW 2025-03-12 18:23 Symbol Table CALPW.f Name Object Declared Type Bytes Dimen Elements Attributes References LOOPS Common 149 748952 SAVE LP1 Param 85 I(4) 4 scalar 139 LSM Param 59 I(4) 4 scalar MASKS Common 157 34853220 SAVE NINC Param 84 I(4) 4 scalar NSTAT Param 96 I(4) 4 scalar NSUMD Param 92 I(4) 4 scalar NWORD Param 96 I(4) 4 scalar 96 NWORD3 Param 96 I(4) 4 scalar NWORD6 Param 96 I(4) 4 scalar ONEPS Param 116 R(4) 4 scalar OVERRC Param 110 R(4) 4 scalar 110 P1000 Param 112 R(4) 4 scalar PARALLEL Common 184 8240 PM Local 124 R(4) 4 scalar PQ0 Param 118 R(4) 4 scalar PW Dummy 1 R(4) 4 2 91719 ARG,INOUT 190,201 PWSUM Local 124 R(4) 4 scalar RCAPA Param 112 R(4) 4 scalar RD Param 109 R(4) 4 scalar 109,113,117 RDOCP Param 117 R(4) 4 scalar RG Param 113 R(4) 4 scalar RHOAIR Local 124 R(4) 4 scalar RHOWAT Param 119 R(4) 4 scalar ROG Param 109 R(4) 4 scalar RTD Param 111 R(4) 4 scalar SMTHA Param 92 R(4) 4 scalar SMTHB Param 92 R(4) 4 scalar TFRZ Param 116 R(4) 4 scalar VRBLS Common 130 67138308 TYPE COMPONENTS/COMMON VARIABLES Name Type Bytes Offset Dimen Elements Attributes References ALPINT R(4) 4 16876296 3 4219074 COM CWM R(4) 4 0 3 4127355 COM 201 DT R(4) 4 48 scalar COM FIRST R(4) 4 24 scalar COM FIS R(4) 4 733752 2 91719 COM FSL R(4) 4 70405632 2 91719 COM HBM2 R(4) 4 0 2 91719 COM HTM R(4) 4 1834380 3 4127355 COM 201 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 IHHA I(4) 4 3040 1 760 COM IHLA I(4) 4 0 1 760 COM IHRST I(4) 4 20 scalar COM IOUT I(4) 4 44 scalar COM IUP I(4) 4 32 scalar COM IVHA I(4) 4 9120 1 760 COM Page 6 Source Listing CALPW 2025-03-12 18:23 Symbol Table CALPW.f Name Type Bytes Offset Dimen Elements Attributes References IVLA I(4) 4 6080 1 760 COM JEND I(4) 4 12 scalar COM 198 JEND_2U I(4) 4 8236 scalar COM JEND_M I(4) 4 20 scalar COM JEND_M2 I(4) 4 28 scalar COM JRA I(4) 4 12160 1 760 COM JSTA I(4) 4 8 scalar COM 198 JSTA_2L I(4) 4 8232 scalar COM JSTA_M I(4) 4 16 scalar COM JSTA_M2 I(4) 4 24 scalar COM KMNT I(4) 4 50629068 2 4118670 COM KMNTM I(4) 4 50628888 1 45 COM LC I(4) 4 16876656 2 91719 COM LIST I(4) 4 40 scalar COM LMH I(4) 4 15200 2 91719 COM LMV I(4) 4 382076 2 91719 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 OLDRD R(4) 4 71506260 scalar COM PD R(4) 4 0 2 91719 COM PDSL R(4) 4 67837500 2 91719 COM PDVP1 R(4) 4 68204376 2 91719 COM PFSL R(4) 4 69305004 2 91719 COM PINT R(4) 4 0 3 4219074 COM 200 PSLP R(4) 4 68571252 2 91719 COM PTSL R(4) 4 68938128 2 91719 COM Q R(4) 4 50628888 3 4127355 COM 201 QSL R(4) 4 70772508 2 91719 COM RES R(4) 4 366876 2 91719 COM RESTRT R(4) 4 28 scalar COM RUN R(4) 4 4 scalar COM SICE R(4) 4 1467504 2 91719 COM SIGMA R(4) 4 0 scalar COM SLP R(4) 4 67103748 2 91719 COM SM R(4) 4 1100628 2 91719 COM SR R(4) 4 17243532 2 91719 COM STDRD R(4) 4 71506264 scalar COM T R(4) 4 34119468 3 4127355 COM T500 R(4) 4 67470624 2 91719 COM TSL R(4) 4 69671880 2 91719 COM TTV R(4) 4 70038756 2 91719 COM U R(4) 4 1100628 3 4127355 COM U00 R(4) 4 16509420 2 91719 COM Page 7 Source Listing CALPW 2025-03-12 18:23 Symbol Table CALPW.f Name Type Bytes Offset Dimen Elements Attributes References UL R(4) 4 16876296 1 90 COM V R(4) 4 17610048 3 4127355 COM VBM2 R(4) 4 366876 2 91719 COM VBM3 R(4) 4 733752 2 91719 COM VTM R(4) 4 18343800 3 4127355 COM Z1000 R(4) 4 71139384 2 91719 COM ZINT R(4) 4 33752592 3 4219074 COM Page 8 Source Listing CALPW 2025-03-12 18:23 Subprograms/Common Blocks CALPW.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References CALPW Subr 1 CLDWTR Common 165 17610408 SAVE CTLBLK Common 177 96 SAVE EXTRA Common 138 71506268 SAVE LOOPS Common 149 748952 SAVE MASKS Common 157 34853220 SAVE PARALLEL Common 184 8240 VRBLS Common 130 67138308 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 Page 9 Source Listing CALPW 2025-03-12 18:23 CALPW.f -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 -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 Page 10 Source Listing CALPW 2025-03-12 18:23 CALPW.f -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 : CALPW.lst no -o COMPILER: Intel(R) Fortran 19.1-1655