Page 1 Source Listing GENEUV 2025-03-12 18:23 GENEUV.f 1 SUBROUTINE GENEUV(EVLAT,EVLON) 2 C 3 C$$$ SUBPROGRAM DOCUMENTATION BLOCK 4 C . . . 5 C SUBPROGRAM: GENEUV COMPUTE ROTATION (LAT,LON) 6 C PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-23 7 C 8 C ABSTRACT: 9 C THIS ROUTINE LOADS V POINT LATITUDE AND LONGITUDE 10 C ARRAYS USED BY SUBROUTINE EUVGUV WHICH ROTATES 11 C U-V WINDS ON A FILLED E-GRID TO THE OUTPUT GRID 12 C ORIENTATION. 13 C . 14 C 15 C PROGRAM HISTORY LOG: 16 C 92-12-23 RUSS TREADON 17 C 18 C USAGE: CALL GENEUV(EVLAT,EVLON) 19 C INPUT ARGUMENT LIST: 20 C NONE 21 C 22 C OUTPUT ARGUMENT LIST: 23 C EVLAT - V POINT LATITUDES ON A FILLED E-GRID. 24 C EVLON - V POINT LONGITUDES ON A FILED E-GRID. 25 C 26 C OUTPUT FILES: 27 C STDOUT - RUN TIME STANDARD OUT. 28 C 29 C SUBPROGRAMS CALLED: 30 C UTILITIES: 31 C NONE 32 C LIBRARY: 33 C COMMON - EGRID 34 C IOUNIT 35 C 36 C ATTRIBUTES: 37 C LANGUAGE: FORTRAN 38 C MACHINE : CRAY C-90 39 C$$$ 40 C 41 C 42 C INCLUDE ETA MODEL DIMENSIONS. 43 INCLUDE "parmeta" 61 PARAMETER (IMT=2*IM-1,JMT=JM) 62 C 63 C DECLARE VARIABLES. 64 LOGICAL NORTH 65 REAL ALONVT, DLAM, DPHI, LAM0, PHI0, POLEI 66 REAL POLEJ, COSPH0, SINPH0, TANPH0, WLONC, XMESHL 67 REAL YLATC 68 REAL EVLAT(IMT,JMT),EVLON(IMT,JMT) 69 C 70 C INCLUDE COMMONS. 71 INCLUDE "EGRID.comm" 77 INCLUDE "IOUNIT.comm" 78 C 86 EQUIVALENCE (YLATC,ALONVT), (DPHI, POLEI) Page 2 Source Listing GENEUV 2025-03-12 18:23 GENEUV.f 87 EQUIVALENCE (WLONC, POLEJ), (DLAM,XMESHL) 88 C 89 DATA CONV2R/0.017453293/,CONV2D/57.2958/ 90 C 91 C************************************************************** 92 C START GENEUV HERE. 93 C 94 WRITE(STDOUT,*)'GENEUV: LOAD EVLAT,EVLON' 95 C 96 C COMPUTE GEODETIC LAT-LON OF E-GRID WIND POINTS. 97 C 98 DO 20 J = 1,JMT 99 DO 20 I = 1,IMT 100 XI = I 101 YJ = J 102 BIGPHI = (YJ-(JDIM+1)/2.0)*DPHI*CONV2R 103 BIGLAM = (XI-(IDIM+1)/2.0)*DLAM*CONV2R 104 COSPHI = COS(BIGPHI) 105 SINPHI = SIN(BIGPHI) 106 COSLAM = COS(BIGLAM) 107 PHI = ASIN(SINPHI*COSPH0+COSPHI*SINPH0*COSLAM) 108 X = (COSPHI*COSLAM)/(COS(PHI)*COSPH0) 109 Y1 = AMIN1(1.0,(X-TAN(PHI)*TANPH0)) 110 Y = ACOS(Y1)*CONV2D 111 YLAT = PHI*CONV2D 112 IF (BIGLAM.LT.0.0) WLON = WLONC+Y 113 IF (BIGLAM.GE.0.0) WLON = WLONC-Y 114 EVLAT(I,J) = YLAT 115 EVLON(I,J) = WLON 116 20 CONTINUE 117 C 118 C END OF ROUTINE. 119 C 120 RETURN 121 END Page 3 Source Listing GENEUV 2025-03-12 18:23 Entry Points GENEUV.f ENTRY POINTS Name geneuv_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 20 Label 116 98,99 ACOS Func 110 scalar 110 AMIN1 Func 109 scalar 109 ASIN Func 107 scalar 107 BIGLAM Local 103 R(4) 4 scalar 103,106,112,113 BIGPHI Local 102 R(4) 4 scalar 102,104,105 CONV2D Local 89 R(4) 4 scalar 89,110,111 CONV2R Local 89 R(4) 4 scalar 89,102,103 COS Func 104 scalar 104,106,108 COSLAM Local 106 R(4) 4 scalar 106,107,108 COSPHI Local 104 R(4) 4 scalar 104,107,108 EGRID Common 73 48 SAVE EVLAT Dummy 1 R(4) 4 2 183051 ARG,INOUT 114 EVLON Dummy 1 R(4) 4 2 183051 ARG,INOUT 115 GENEUV Subr 1 I Local 99 I(4) 4 scalar 99,100,114,115 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,61 IMT Param 61 I(4) 4 scalar 68,99 INPES Param 49 I(4) 4 scalar 54,57 IOUNIT Common 82 20 SAVE ITAIL Param 54 I(4) 4 scalar J Local 98 I(4) 4 scalar 98,101,114,115 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,61 JMT Param 61 I(4) 4 scalar 68,98 JNPES Param 49 I(4) 4 scalar 55,58 JTAIL Param 55 I(4) 4 scalar LM Param 46 I(4) 4 scalar LSM Param 46 I(4) 4 scalar PHI Local 107 R(4) 4 scalar 107,108,109,111 SIN Func 105 scalar 105 SINPHI Local 105 R(4) 4 scalar 105,107 TAN Func 109 scalar 109 WLON Local 112 R(4) 4 scalar 112,113,115 X Local 108 R(4) 4 scalar 108,109 XI Local 100 R(4) 4 scalar 100,103 Y Local 110 R(4) 4 scalar 110,112,113 Page 4 Source Listing GENEUV 2025-03-12 18:23 Symbol Table GENEUV.f Name Object Declared Type Bytes Dimen Elements Attributes References Y1 Local 109 R(4) 4 scalar 109,110 YJ Local 101 R(4) 4 scalar 101,102 YLAT Local 111 R(4) 4 scalar 111,114 TYPE COMPONENTS/COMMON VARIABLES Name Type Bytes Offset Dimen Elements Attributes References ALONVT R(4) 4 4 scalar COM COSPH0 R(4) 4 36 scalar COM 107,108 DLAM R(4) 4 16 scalar COM 103 DPHI R(4) 4 8 scalar COM 102 IDIM I(4) 4 20 scalar COM 103 JDIM I(4) 4 24 scalar COM 102 LAM0 R(4) 4 32 scalar COM LCNTRL I(4) 4 4 scalar COM LUNCO I(4) 4 8 scalar COM LUNLL I(4) 4 12 scalar COM LUNOUT I(4) 4 16 scalar COM NORTH L(4) 4 0 scalar COM PHI0 R(4) 4 28 scalar COM POLEI R(4) 4 8 scalar COM POLEJ R(4) 4 12 scalar COM SINPH0 R(4) 4 40 scalar COM 107 STDOUT I(4) 4 0 scalar COM 94 TANPH0 R(4) 4 44 scalar COM 109 WLONC R(4) 4 12 scalar COM 112,113 XMESHL R(4) 4 16 scalar COM YLATC R(4) 4 4 scalar COM Page 5 Source Listing GENEUV 2025-03-12 18:23 Subprograms/Common Blocks GENEUV.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References EGRID Common 73 48 SAVE GENEUV Subr 1 IOUNIT Common 82 20 SAVE 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 6 Source Listing GENEUV 2025-03-12 18:23 GENEUV.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 7 Source Listing GENEUV 2025-03-12 18:23 GENEUV.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 : GENEUV.lst no -o COMPILER: Intel(R) Fortran 19.1-1655