Page 1 Source Listing LL2EG 2025-03-12 18:23 LL2EG.f 1 SUBROUTINE LL2EG (YLAT,WLON,XI,YJ) 2 C$$$ SUBPROGRAM DOCUMENTATION BLOCK 3 C . . . 4 C SUBPROGRAM: LL2EG ETA (LAT,LON) TO (I,J) 5 C PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-23 6 C 7 C ABSTRACT: 8 C GIVEN (LAT,LON) ON A FILLED E-GRID THIS ROUTINE 9 C RETURNS THE CORRESPONDING FLOATING POINT (I,J) 10 C OF THIS LOCATION. 11 C . 12 C 13 C PROGRAM HISTORY LOG: 14 C ??-??-?? DAVID PLUMMER - SUBROUTINE LL2EG IN ETAPACKC. 15 C 93-02-26 RUSS TREADON - GENERALIZED LL2EG TO HANDLE 16 C VARIABLE SIZE E-GRIDS. 17 C 18 C USAGE: CALL LL2EG(YLAT,WLON,XI,YJ) 19 C INPUT ARGUMENT LIST: 20 C YLAT - LATITUDE OF (I,J) POINT. 21 C WLON - WEST LONGITUDE OF (I,J) POINT. 22 C 23 C OUTPUT ARGUMENT LIST: 24 C XI - FLOATING POINT "I" OF (LAT,LON) ON FILLED E-GRID. 25 C YJ - FLOATING POINT "J" OF (LAT,LON) ON FILLED E-GRID. 26 C 27 C OUTPUT FILES: 28 C NONE 29 C 30 C SUBPROGRAMS CALLED: 31 C UTILITIES: 32 C NONE 33 C LIBRARY: 34 C COMMON - EGRID 35 C 36 C ATTRIBUTES: 37 C LANGUAGE: FORTRAN 38 C MACHINE : CRAY C-90 39 C$$$ 40 C 41 C 42 C DECLARE VARIABLES, COMMON, EQUIVALENCES, AND CONSTANTS. 43 C 44 LOGICAL NORTH 45 REAL ALONVT, DLAM, DPHI, LAM, LAM0, PHI0, POLEI, POLEJ 46 REAL SINPH0, TANPH0, WLONC, XMESHL, YLATC 47 C 48 C INCLUDE EGRID SPECIFICATIONS. 49 INCLUDE "EGRID.comm" 50 C 56 EQUIVALENCE (YLATC,ALONVT), (DPHI, POLEI) 57 EQUIVALENCE (WLONC, POLEJ), (DLAM,XMESHL) 58 C 59 DATA CONV2R/0.017453293/,CONV2D/57.2958/ 60 DATA EARTHR/6371.2/ 61 C 62 C Page 2 Source Listing LL2EG 2025-03-12 18:23 LL2EG.f 63 C******************************************************************** 64 C START LL2EG HERE. 65 C 66 C CONVERT (LAT,LON) TO FLOATING POINT (I,J). 67 PHI = YLAT*CONV2R 68 LAM = WLON*CONV2R 69 COSPHI = COS(PHI) 70 SINPHI = SIN(PHI) 71 72 X1 = COSPHI*COS(LAM-LAM0) 73 X = COSPH0*X1+SINPH0*SINPHI 74 Y = -COSPHI*SIN(LAM-LAM0) 75 Z = -SINPH0*X1+COSPH0*SINPHI 76 BIGPHI = ATAN(Z/(SQRT(X*X+Y*Y)))*CONV2D 77 BIGLAM = ATAN(Y/X)*CONV2D 78 XI = (BIGLAM/DLAM)+(IDIM+1)/2.0 79 YJ = (BIGPHI/DPHI)+(JDIM+1)/2.0 80 C 81 C END OF ROUTINE. 82 C 83 RETURN 84 END ENTRY POINTS Name ll2eg_ Page 3 Source Listing LL2EG 2025-03-12 18:23 Symbol Table LL2EG.f SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References ATAN Func 76 scalar 76,77 BIGLAM Local 77 R(4) 4 scalar 77,78 BIGPHI Local 76 R(4) 4 scalar 76,79 CONV2D Local 59 R(4) 4 scalar 59,76,77 CONV2R Local 59 R(4) 4 scalar 59,67,68 COS Func 69 scalar 69,72 COSPHI Local 69 R(4) 4 scalar 69,72,74 EARTHR Local 60 R(4) 4 scalar 60 EGRID Common 52 48 SAVE LAM Local 45 R(4) 4 scalar 68,72,74 LL2EG Subr 1 PHI Local 67 R(4) 4 scalar 67,69,70 SIN Func 70 scalar 70,74 SINPHI Local 70 R(4) 4 scalar 70,73,75 SQRT Func 76 scalar 76 WLON Dummy 1 R(4) 4 scalar ARG,INOUT 68 X Local 73 R(4) 4 scalar 73,76,77 X1 Local 72 R(4) 4 scalar 72,73,75 XI Dummy 1 R(4) 4 scalar ARG,INOUT 78 Y Local 74 R(4) 4 scalar 74,76,77 YJ Dummy 1 R(4) 4 scalar ARG,INOUT 79 YLAT Dummy 1 R(4) 4 scalar ARG,INOUT 67 Z Local 75 R(4) 4 scalar 75,76 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 73,75 DLAM R(4) 4 16 scalar COM 78 DPHI R(4) 4 8 scalar COM 79 IDIM I(4) 4 20 scalar COM 78 JDIM I(4) 4 24 scalar COM 79 LAM0 R(4) 4 32 scalar COM 72,74 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 73,75 TANPH0 R(4) 4 44 scalar COM WLONC R(4) 4 12 scalar COM XMESHL R(4) 4 16 scalar COM YLATC R(4) 4 4 scalar COM Page 4 Source Listing LL2EG 2025-03-12 18:23 Subprograms/Common Blocks LL2EG.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References EGRID Common 52 48 SAVE LL2EG 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__ -D __amd64 -D __amd64__ Page 5 Source Listing LL2EG 2025-03-12 18:23 LL2EG.f -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 6 Source Listing LL2EG 2025-03-12 18:23 LL2EG.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 : LL2EG.lst no -o COMPILER: Intel(R) Fortran 19.1-1655