Page 1 Source Listing CALMCVG 2014-12-17 20:47 CALMCVG.f 1 SUBROUTINE CALMCVG(Q1D,U1D,V1D,IH,QCNVG) 2 C$$$ SUBPROGRAM DOCUMENTATION BLOCK 3 C . . . 4 C SUBPROGRAM: CALMCVG COMPUTES MOISTURE CONVERGENCE 5 C PRGRMMR: TREADON ORG: W/NP2 DATE: 93-01-22 6 C 7 C ABSTRACT: 8 C GIVEN SPECIFIC HUMIDITY, Q, AND THE U-V WIND COMPONENTS 9 C THIS ROUTINE EVALUATES THE VECTOR OPERATION, 10 C DEL DOT (Q*VEC) 11 C WHERE, 12 C DEL IS THE VECTOR GRADIENT OPERATOR, 13 C DOT IS THE STANDARD DOT PRODUCT OPERATOR, AND 14 C VEC IS THE VECTOR WIND. 15 C MINUS ONE TIMES THE RESULTING SCALAR FIELD IS THE 16 C MOISTURE CONVERGENCE WHICH IS RETURNED BY THIS ROUTINE. 17 C 18 C THE ROUTINE USES THE SAME FINITE DIFFERENCING SCHEME 19 C USED IN CALCULATING ABSOLUTE VORTICITY (SUBROUTINE 20 C CALVOR). THIS REQUIRES WINDS BE AT VELOCITY POINTS. 21 C IF THE U-V WIND COMPONENTS ARE AT MASS POINTS, SET 22 C IH TO A POSITIVE INTEGER GREATER THAN ZERO. REGARDLESS, 23 C SPECIFIC HUMIDITY IS INTERPOLATED TO VELOCITY POINTS. 24 C . 25 C 26 C PROGRAM HISTORY LOG: 27 C 93-01-22 RUSS TREADON 28 C 98-06-08 T BLACK - CONVERSION FROM 1-D TO 2-D 29 C 00-01-04 JIM TUCCILLO - MPI VERSION 30 C 31 C USAGE: CALL CALMCVG(Q1D,U1D,V1D,IH,QCNVG) 32 C INPUT ARGUMENT LIST: 33 C Q1D - SPECIFIC HUMIDITY AT MASS POINTS (KG/KG) 34 C U1D - U WIND COMPONENT (M/S) 35 C V1D - V WIND COMPONENT (M/S) 36 C IH - FLAG FOR MASS POINT WINDS. 37 C IH.GT.0 MEANS WINDS AT MASS POINTS. 38 C 39 C OUTPUT ARGUMENT LIST: 40 C QCNVG - MOISTURE CONVERGENCE (1/S) 41 C 42 C OUTPUT FILES: 43 C NONE 44 C 45 C SUBPROGRAMS CALLED: 46 C UTILITIES: 47 C NONE 48 C LIBRARY: 49 C COMMON - MASKS 50 C DYNAM 51 C OPTIONS 52 C INDX 53 C 54 C ATTRIBUTES: 55 C LANGUAGE: FORTRAN 90 56 C MACHINE : CRAY C-90 57 C$$$ Page 2 Source Listing CALMCVG 2014-12-17 20:47 CALMCVG.f 58 C 59 C 60 C 61 C INCLUDE ETA GRID DIMENSIONS. SET/DERIVE OTHER PARAMETERS. 62 C PARAMETER IPASS WAS THE NUMBER OF SMOOTHING PASSES TO APPLY 63 C TO THE FIELDS. THIS IS NO LONGER DONE. 64 C 65 INCLUDE "parmeta" 83 INCLUDE "params" 125 PARAMETER (IPASS=6) 126 C 127 C DECLARE VARIABLES. 128 C 129 REAL QDIV, R2DY, R2DX 130 REAL Q1D(IM,JM), U1D(IM,JM), V1D(IM,JM), QV(IM,JM) 131 REAL QCNVG(IM,JM), UWND(IM,JM), VWND(IM,JM) 132 C 133 C DECLARE COMMONS. 134 INCLUDE "DYNAM.comm" 146 INCLUDE "MASKS.comm" 154 INCLUDE "OPTIONS.comm" 158 INCLUDE "INDX.comm" 164 INCLUDE "CTLBLK.comm" 165 C 166 C 167 C*************************************************************************** 168 C START CALMCVG HERE. 169 C 170 C INITIALIZE MOISTURE CONVERGENCE ARRAY. LOAD TEMPORARY WIND ARRAYS. 171 C 172 !$omp parallel do 187 DO J=JSTA,JEND 188 DO I=1,IM 189 QV(I,J) = D00 190 QCNVG(I,J) = D00 191 UWND(I,J) = U1D(I,J) 192 VWND(I,J) = V1D(I,J) 193 IF (UWND(I,J).EQ.SPVAL) UWND(I,J) = D00 194 IF (VWND(I,J).EQ.SPVAL) VWND(I,J) = D00 195 ENDDO 196 ENDDO 197 C 198 C FIND Q (AND U-V IF NECESSARY) AT V POINTS. 199 C 200 CALL EXCH(Q1D) 201 CALL EXCH(U1D) 202 CALL EXCH(V1D) 203 C 204 !$omp parallel do 205 DO J=JSTA_M,JEND_M 206 DO I=2,IM-1 207 QV(I,J) = D25*(Q1D(I,J-1)+Q1D(I+IVW(J),J) 208 1 +Q1D(I+IVE(J),J)+Q1D(I,J+1)) 209 IF (IH.GT.0) THEN 210 UWND(I,J) = D25*(U1D(I,J-1)+U1D(I+IVW(J),J) 211 1 +U1D(I+IVE(J),J)+U1D(I,J+1)) 212 2 *VBM2(I,J) Page 3 Source Listing CALMCVG 2014-12-17 20:47 CALMCVG.f 213 VWND(I,J) = D25*(V1D(I,J-1)+V1D(I+IVW(J),J) 214 1 +V1D(I+IVE(J),J)+V1D(I,J+1)) 215 2 *VBM2(I,J) 216 ENDIF 217 ENDDO 218 ENDDO 219 C 220 C LOOP TO COMPUTE MOISTURE CONVERGENCE. 221 C 222 CALL EXCH(QV) 223 CALL EXCH(VWND) 224 C 225 !$omp parallel do 226 !$omp& private(iend,qdiv,qudx,qvdy,r2dx,r2dy) 227 DO J=JSTA_M2,JEND_M2 228 IEND=IM-1-MOD(J,2) 229 DO I=2,IEND 230 R2DX = 1./(2.*DX(I,J)) 231 R2DY = 1./(2.*DY) 232 QUDX = (QV(I+IHE(J),J)*UWND(I+IHE(J),J) 233 1 -QV(I+IHW(J),J)*UWND(I+IHW(J),J))*R2DX 234 QVDY = (QV(I,J+1)*VWND(I,J+1)-QV(I,J-1)*VWND(I,J-1))*R2DY 235 QDIV = QUDX + QVDY 236 QCNVG(I,J) = -1.*QDIV*HBM2(I,J) 237 ENDDO 238 ENDDO 239 C 240 C END OF ROUTINE. 241 C 242 RETURN 243 END Page 4 Source Listing CALMCVG 2014-12-17 20:47 Entry Points CALMCVG.f ENTRY POINTS Name calmcvg_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References A2 Param 41 R(4) 4 scalar A3 Param 41 R(4) 4 scalar A4 Param 41 R(4) 4 scalar AD05 Param 33 R(4) 4 scalar AETA Scalar 4 R(4) 4 1 45 COM BETA Param 37 R(4) 4 scalar 37 BTG Param 37 R(4) 4 scalar CALMCVG Subr 1 CAPA Param 28 R(4) 4 scalar 35 CFT0 Param 33 R(4) 4 scalar CM1 Param 23 R(4) 4 scalar CM2 Param 23 R(4) 4 scalar CM3 Param 23 R(4) 4 scalar CP Param 34 R(4) 4 scalar 36,40 CPDR Param 36 R(4) 4 scalar CPGFU Scalar 8 R(4) 4 2 91719 COM CPGFV Scalar 3 R(4) 4 scalar COM CTLBLK Common 2 96 CURV Scalar 8 R(4) 4 2 91719 COM D00 Param 25 R(4) 4 scalar 91,92,95,96 D001 Param 25 R(4) 4 scalar D0065 Param 29 R(4) 4 scalar D01 Param 25 R(4) 4 scalar D05 Param 29 R(4) 4 scalar 33 D1 Param 25 R(4) 4 scalar D115 Param 29 R(4) 4 scalar D125 Param 27 R(4) 4 scalar D25 Param 27 R(4) 4 scalar 109,112,115 D50 Param 25 R(4) 4 scalar D608 Param 29 R(4) 4 scalar DDMPU Scalar 9 R(4) 4 2 91719 COM DDMPV Scalar 9 R(4) 4 2 91719 COM DETA Scalar 4 R(4) 4 1 45 COM DFL Scalar 4 R(4) 4 1 46 COM DP10M Param 35 R(4) 4 scalar DT Scalar 4 R(4) 4 scalar COM DTR Param 34 R(4) 4 scalar 34 DX Scalar 8 R(4) 4 2 91719 COM 132 DY Scalar 3 R(4) 4 scalar COM 133 DYNAM Common 2 3675964 EF4T Scalar 3 R(4) 4 scalar COM ELDR Param 36 R(4) 4 scalar ELWV Param 36 R(4) 4 scalar 36 EM Scalar 6 R(4) 4 1 760 COM Page 5 Source Listing CALMCVG 2014-12-17 20:47 Symbol Table CALMCVG.f Name Object Declared Type Bytes Dimen Elements Attributes References EMT Scalar 6 R(4) 4 1 760 COM EN Scalar 3 R(4) 4 scalar COM ENT Scalar 3 R(4) 4 scalar COM EPS Param 39 R(4) 4 scalar 39 EPSQ2 Param 40 R(4) 4 scalar ERAD Param 34 R(4) 4 scalar ETA Scalar 4 R(4) 4 1 46 COM EXCH Subr 102 102,103,104,124,125 F Scalar 9 R(4) 4 2 91719 COM F4D Scalar 3 R(4) 4 scalar COM F4Q Scalar 3 R(4) 4 scalar COM F4Q2 Scalar 4 R(4) 4 1 45 COM FAD Scalar 9 R(4) 4 2 91719 COM FCP Scalar 8 R(4) 4 2 91719 COM FDIV Scalar 9 R(4) 4 2 91719 COM FIRST Scalar 3 R(4) 4 scalar COM FMD Param 39 R(4) 4 scalar 39 FMW Param 39 R(4) 4 scalar 39 G Param 32 R(4) 4 scalar 32 GI Param 32 R(4) 4 scalar 36 H1 Param 26 R(4) 4 scalar 33 H100 Param 27 R(4) 4 scalar H1000 Param 27 R(4) 4 scalar H10000 Param 28 R(4) 4 scalar H10E5 Param 28 R(4) 4 scalar H1E2 Param 30 R(4) 4 scalar H1E4 Param 30 R(4) 4 scalar H1M12 Param 26 R(4) 4 scalar H1M2 Param 30 R(4) 4 scalar H1M5 Param 27 R(4) 4 scalar H2 Param 26 R(4) 4 scalar H4 Param 26 R(4) 4 scalar H999 Param 25 R(4) 4 scalar H99999 Param 26 R(4) 4 scalar HBM2 Scalar 3 R(4) 4 2 91719 COM 138 HTM Scalar 5 R(4) 4 3 4127355 COM I Local 90 I(4) 4 scalar 90,91,92,93,94,95,96,108,109,110,1 12,113,114,115,116,117,131,132,134 ,135,136,138 IBESSL Scalar 2 I(4) 4 scalar COM ICNT Scalar 7 I(4) 4 1 1024 COM IDAT Scalar 3 I(4) 4 1 3 COM IDIM1 Param 14 I(4) 4 scalar IDIM2 Param 14 I(4) 4 scalar IDN Scalar 7 I(4) 4 scalar COM IDSP Scalar 7 I(4) 4 1 1024 COM IDTAD Scalar 4 I(4) 4 scalar COM IEND Local 130 I(4) 4 scalar 130,131 IFLAG Scalar 2 I(4) 4 scalar COM IGSTL Param 9 I(4) 4 scalar 14 IGSTR Param 9 I(4) 4 scalar 14 IH Dummy 1 I(4) 4 scalar ARG,INOUT 111 IHE Scalar 3 I(4) 4 1 387 COM 134 IHRST Scalar 3 I(4) 4 scalar COM IHW Scalar 3 I(4) 4 1 387 COM 135 Page 6 Source Listing CALMCVG 2014-12-17 20:47 Symbol Table CALMCVG.f Name Object Declared Type Bytes Dimen Elements Attributes References IM Param 3 I(4) 4 scalar 3,4,5,6,7,8,9,11,14,72,73,90,108,1 30 IM1 Param 6 I(4) 4 scalar IMT Param 4 I(4) 4 scalar INDX Common 2 6192 INPES Param 6 I(4) 4 scalar 11,14 IOFFS Scalar 2 I(4) 4 scalar COM IOUT Scalar 3 I(4) 4 scalar COM IPASS Param 67 I(4) 4 scalar ITAIL Param 11 I(4) 4 scalar IUP Scalar 7 I(4) 4 scalar COM IVE Scalar 3 I(4) 4 1 387 COM 110,113,116 IVW Scalar 3 I(4) 4 1 387 COM 109,112,115 J Local 89 I(4) 4 scalar 89,91,92,93,94,95,96,107,109,110,1 12,113,114,115,116,117,129,130,132 ,134,135,136,138 JAM Param 6 I(4) 4 scalar 6 JDIM1 Param 15 I(4) 4 scalar JDIM2 Param 15 I(4) 4 scalar JEND Scalar 6 I(4) 4 scalar COM 89 JEND_2U Scalar 8 I(4) 4 scalar COM JEND_M Scalar 7 I(4) 4 scalar COM 107 JEND_M2 Scalar 7 I(4) 4 scalar COM 129 JGSTL Param 10 I(4) 4 scalar 15 JGSTR Param 10 I(4) 4 scalar 15 JM Param 3 I(4) 4 scalar 3,4,5,6,8,9,12,15,72,73 JM2 Param 6 I(4) 4 scalar JMT Param 4 I(4) 4 scalar JNPES Param 6 I(4) 4 scalar 12,15 JSTA Scalar 6 I(4) 4 scalar COM 89 JSTA_2L Scalar 8 I(4) 4 scalar COM JSTA_M Scalar 7 I(4) 4 scalar COM 107 JSTA_M2 Scalar 7 I(4) 4 scalar COM 129 JTAIL Param 12 I(4) 4 scalar KSAV Param 14 I(4) 4 scalar KSB Scalar 2 I(4) 4 scalar COM KSFI Param 13 I(4) 4 scalar KSLI Param 14 I(4) 4 scalar KSLP Param 14 I(4) 4 scalar KSLPD Param 13 I(4) 4 scalar KSMUD Param 13 I(4) 4 scalar KSRH Param 14 I(4) 4 scalar KSSLP Param 13 I(4) 4 scalar KST Param 13 I(4) 4 scalar KSUV Param 14 I(4) 4 scalar LB Param 9 I(4) 4 scalar LHEAT Param 40 I(4) 4 scalar 40 LHTOCP Param 40 I(4) 4 scalar LIST Scalar 3 I(4) 4 scalar COM LM Param 3 I(4) 4 scalar 4,5,8,19 LM1 Param 8 I(4) 4 scalar LP1 Param 8 I(4) 4 scalar 4 LSM Param 3 I(4) 4 scalar MASKS Common 2 34853220 ME Scalar 6 I(4) 4 scalar COM Page 7 Source Listing CALMCVG 2014-12-17 20:47 Symbol Table CALMCVG.f Name Object Declared Type Bytes Dimen Elements Attributes References MOD Func 130 scalar 130 NBC Scalar 3 I(4) 4 scalar COM NBOCO Scalar 4 I(4) 4 scalar COM NCP Scalar 4 I(4) 4 scalar COM NDDAMP Scalar 4 I(4) 4 scalar COM NFCST Scalar 3 I(4) 4 scalar COM NINC Param 7 I(4) 4 scalar NPHS Scalar 5 I(4) 4 scalar COM NPREC Scalar 4 I(4) 4 scalar COM NRADL Scalar 5 I(4) 4 scalar COM NRADS Scalar 5 I(4) 4 scalar COM NSHDE Scalar 4 I(4) 4 scalar COM NSTAT Param 19 I(4) 4 scalar NSUMD Param 15 I(4) 4 scalar NTSD Scalar 4 I(4) 4 scalar COM NTSTM Scalar 4 I(4) 4 scalar COM NUM_PROCS Scalar 6 I(4) 4 scalar COM NWORD Param 19 I(4) 4 scalar 19 NWORD3 Param 19 I(4) 4 scalar NWORD6 Param 19 I(4) 4 scalar ONEPS Param 39 R(4) 4 scalar OPTIONS Common 2 24 OVERRC Param 33 R(4) 4 scalar 33 P1000 Param 35 R(4) 4 scalar PARALLEL Common 9 8240 PQ0 Param 41 R(4) 4 scalar PT Scalar 3 R(4) 4 scalar COM Q1D Dummy 1 R(4) 4 2 91719 ARG,INOUT 102,109,110 QCNVG Dummy 1 R(4) 4 2 91719 ARG,INOUT 92,138 QDIV Local 71 R(4) 4 scalar 137,138 QUDX Local 134 R(4) 4 scalar 134,137 QV Local 72 R(4) 4 2 91719 91,109,124,134,135,136 QVDY Local 136 R(4) 4 scalar 136,137 R Scalar 3 R(4) 4 scalar COM R2DX Local 71 R(4) 4 scalar 132,135 R2DY Local 71 R(4) 4 scalar 133,136 RCAPA Param 35 R(4) 4 scalar RD Param 32 R(4) 4 scalar 32,36,40 RDETA Scalar 4 R(4) 4 1 45 COM RDOCP Param 40 R(4) 4 scalar RESTRT Scalar 3 R(4) 4 scalar COM RG Param 36 R(4) 4 scalar ROG Param 32 R(4) 4 scalar RTD Param 34 R(4) 4 scalar RUN Scalar 3 R(4) 4 scalar COM SATDEL Scalar 2 R(4) 4 scalar COM SICE Scalar 3 R(4) 4 2 91719 COM SIGMA Scalar 3 R(4) 4 scalar COM SM Scalar 3 R(4) 4 2 91719 COM SMTHA Param 15 R(4) 4 scalar SMTHB Param 15 R(4) 4 scalar SPVAL Scalar 2 R(4) 4 scalar COM 95,96 TFRZ Param 39 R(4) 4 scalar U1D Dummy 1 R(4) 4 2 91719 ARG,INOUT 93,103,112,113 UWND Local 73 R(4) 4 2 91719 93,95,112,134,135 Page 8 Source Listing CALMCVG 2014-12-17 20:47 Symbol Table CALMCVG.f Name Object Declared Type Bytes Dimen Elements Attributes References V1D Dummy 1 R(4) 4 2 91719 ARG,INOUT 94,104,115,116 VBM2 Scalar 3 R(4) 4 2 91719 COM 114,117 VBM3 Scalar 3 R(4) 4 2 91719 COM VTM Scalar 5 R(4) 4 3 4127355 COM VWND Local 73 R(4) 4 2 91719 94,96,115,125,136 WPDAR Scalar 8 R(4) 4 2 91719 COM Page 9 Source Listing CALMCVG 2014-12-17 20:47 CALMCVG.f 244 Page 10 Source Listing CALMCVG 2014-12-17 20:47 Subprograms/Common Blocks CALMCVG.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References CALMCVG Subr 1 CTLBLK Common 2 96 DYNAM Common 2 3675964 INDX Common 2 6192 MASKS Common 2 34853220 OPTIONS Common 2 24 PARALLEL Common 9 8240 COMPILER OPTIONS BEING USED -align nocommons -align nodcommons -align noqcommons -align records -align nosequence -align norec1byte -align norec2byte -align norec4byte -align norec8byte -align norec16byte -altparam -assume accuracy_sensitive -assume nobscc -assume nobuffered_io -assume byterecl -assume nocc_omp -assume nocstring -assume nodummy_aliases -assume nofpe_summary -assume noieee_fpe_flags -assume nominus0 -assume noold_boz -assume old_unit_star -assume old_ldout_format -assume noold_logical_ldio -assume old_maxminloc -assume old_xor -assume protect_constants -assume noprotect_parens -assume split_common -assume source_include -assume nostd_intent_in -assume nostd_mod_proc_name -assume norealloc_lhs -assume underscore -assume no2underscores no -auto -auto_scalar no -bintext -ccdefault default -check noargs -check noarg_temp_created -check nobounds -check noformat -check nooutput_conversion -check nooverflow -check nopointers -check power -check noshape -check nounderflow -check nouninitialized -coarray-num-procs 0 no -coarray-config-file -convert big_endian -cross_reference -D __INTEL_COMPILER=1210 -D __unix__ -D __unix -D __linux__ -D __linux -D __gnu_linux__ -D unix -D linux -D __ELF__ -D __x86_64 -D __x86_64__ -D _MT -D __INTEL_COMPILER_BUILD_DATE=20120612 -D __i686 -D __i686__ -D __pentiumpro -D __pentiumpro__ -D __pentium4 -D __pentium4__ -D __tune_pentium4__ -D __SSE2__ -D __SSE__ -D __MMX__ -double_size 64 no -d_lines no -Qdyncom -error_limit 30 Page 11 Source Listing CALMCVG 2014-12-17 20:47 CALMCVG.f 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 no -intconstant -integer_size 32 no -mixed_str_len_arg no -module -names lowercase no -noinclude -O2 no -pad_source -real_size 32 no -recursive -reentrancy none no -sharable_localsaves -vec=simd -show noinclude -show map -show options no -syntax_only no -threadcom no -U no -vms -w noall -w nonone -w alignments -w noargument_checking -w nodeclarations -w general -w noignore_bounds -w noignore_loc -w nointerfaces -w notruncated_source -w uncalled -w uninitialized -w nounused -w usage -includepath : /gpfs/tp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/,.f,./.f,/usrx/local/intel/composerxe/mkl/include/.f, /usrx/local/intel/composerxe/tbb/include/.f,/gpfs/tp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/intel64/.f, /gpfs/tp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/.f,/usr/local/include/.f,/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/.f, /usr/include/.f,/usr/include/.f -list filename : CALMCVG.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100