Page 1 Source Listing GD2TLL 2025-03-12 18:23 GD2TLL.f 1 SUBROUTINE GD2TLL(GDLAT,GDLON,GDTLAT,GDTLON,IMOUT,JMOUT) 2 C 3 C$$$ SUBPROGRAM DOCUMENTATION BLOCK 4 C . . . 5 C SUBPROGRAM: GD2TLL COMPUTE TRANSFORMED (LAT,LON) 6 C PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-23 7 C 8 C ABSTRACT: 9 C THIS ROUTINE COMPUTES THE TRANSFORMED LATITUDE OF (LAT, 10 C LON) OF OUTPUT GRID POINTS. THE TRANSFORMED (LAT,LON) 11 C ARE WITH RESPECT TO THE INPUT E-GRID. 12 C . 13 C 14 C PROGRAM HISTORY LOG: 15 C ??-??-?? DAVID PLUMMER - SUBROUTINE CGTLL IN ETAPACKC 16 C 92-12-23 RUSS TREADON - GENERALIZED TO HANDLE VARIABLE 17 C OUTPUT GRIDS. 18 C 19 C USAGE: CALL GD2TLL(GDLAT,GDLON,GDTLAT,GDTLON,IMOUT,JMOUT) 20 C INPUT ARGUMENT LIST: 21 C GDLAT - GEODETIC LATITUDE OF OUTPUT GRID POINTS. 22 C GDLON - GEODETIC LONGTUDE OF OUTPUT GRID POINTS. 23 C IMOUT - FIRST DIMENSION OF OUTPUT GRID. 24 C JMOUT - SECOND DIMENSION OF OUTPUT GRID. 25 C 26 C OUTPUT ARGUMENT LIST: 27 C GDTLAT - TRANSFORMED LATITUDE OF OUTPUT GRID POINTS. 28 C GDTLON - TRANSFORMED LONGITUDE OF OUTPUT GRID POINTS. 29 C 30 C OUTPUT FILES: 31 C NONE 32 C 33 C SUBPROGRAMS CALLED: 34 C UTILITIES: 35 C NONE 36 C LIBRARY: 37 C COMMON - EGRID 38 C 39 C ATTRIBUTES: 40 C LANGUAGE: FORTRAN 41 C MACHINE : CRAY C-90 42 C$$$ 43 C 44 C 45 C INCLUDE ETA GRID DIMENSIONS 46 INCLUDE "parmeta" 64 INCLUDE "parmout" 68 PARAMETER (LP1=LM+1) 69 C 70 C SET CONVERSION CONSTANTS. 71 PARAMETER (R2D=57.29578,D2R=1./R2D) 72 C 73 C DECLARE VARIABLES AND COMMONS. 74 75 LOGICAL NORTH 76 REAL GDLAT(IMX,JMX), GDLON(IMX,JMX) 77 REAL GDTLAT(IMX,JMX), GDTLON(IMX,JMX) Page 2 Source Listing GD2TLL 2025-03-12 18:23 GD2TLL.f 78 C 79 C INCLUDE ETA GRID SPECIFICATIONS IN COMMON MAPOT. 80 INCLUDE "EGRID.comm" 81 C 82 C DECLARE EQUIVALENCES. 88 EQUIVALENCE (YLATC,ALONVT), (DPHI, POLEI) 89 EQUIVALENCE (WLONC, POLEJ), (DLAM,XMESHL) 90 C 91 C******************************************************************* 92 C START GD2TLL HERE. 93 C 94 C SET CONSTANTS. 95 C 96 ELAM0=WLONC+360. 97 EPHI0=YLATC 98 SPHI0=SINPH0 99 CPHI0=COSPH0 100 C 101 C LOOP TO COMPUTE TRANSFORMED (LAT,LON). 102 C 103 DO 20 J = 1,JMOUT 104 DO 10 I = 1,IMOUT 105 WLON = GDLON(I,J) 106 YLAT = GDLAT(I,J) 107 RELM = (WLON-ELAM0)*D2R 108 SRLM = SIN(RELM) 109 CRLM = COS(RELM) 110 APH = YLAT*D2R 111 SPH = SIN(APH) 112 CPH = COS(APH) 113 CC = CPH*CRLM 114 ANUM = -CPH*SRLM 115 DENOM = CPHI0*CC+SPHI0*SPH 116 TLM = ATAN2(ANUM,DENOM)/D2R 117 TPH = ASIN(CPHI0*SPH-SPHI0*CC)/D2R 118 GDTLAT(I,J) = TPH 119 GDTLON(I,J) = TLM 120 10 CONTINUE 121 20 CONTINUE 122 C 123 C END OF ROUTINE. 124 C 125 RETURN 126 END Page 3 Source Listing GD2TLL 2025-03-12 18:23 Entry Points GD2TLL.f ENTRY POINTS Name gd2tll_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 10 Label 120 104 20 Label 121 103 ANUM Local 114 R(4) 4 scalar 114,116 APH Local 110 R(4) 4 scalar 110,111,112 ASIN Func 117 scalar 117 ATAN2 Func 116 scalar 116 CC Local 113 R(4) 4 scalar 113,115,117 COS Func 109 scalar 109,112 CPH Local 112 R(4) 4 scalar 112,113,114 CPHI0 Local 99 R(4) 4 scalar 99,115,117 CRLM Local 109 R(4) 4 scalar 109,113 D2R Param 71 R(4) 4 scalar 107,110,116,117 DENOM Local 115 R(4) 4 scalar 115,116 EGRID Common 84 48 SAVE ELAM0 Local 96 R(4) 4 scalar 96,107 EPHI0 Local 97 R(4) 4 scalar 97 GD2TLL Subr 1 GDLAT Dummy 1 R(4) 4 2 91719 ARG,INOUT 106 GDLON Dummy 1 R(4) 4 2 91719 ARG,INOUT 105 GDTLAT Dummy 1 R(4) 4 2 91719 ARG,INOUT 118 GDTLON Dummy 1 R(4) 4 2 91719 ARG,INOUT 119 I Local 104 I(4) 4 scalar 104,105,106,118,119 IDIM1 Param 60 I(4) 4 scalar IDIM2 Param 60 I(4) 4 scalar IGSTL Param 55 I(4) 4 scalar 60 IGSTR Param 55 I(4) 4 scalar 60 IM Param 49 I(4) 4 scalar 57,60,67 IMOUT Dummy 1 I(4) 4 scalar ARG,INOUT 104 IMX Param 67 I(4) 4 scalar 76,77 INPES Param 52 I(4) 4 scalar 57,60 ITAIL Param 57 I(4) 4 scalar J Local 103 I(4) 4 scalar 103,105,106,118,119 JDIM1 Param 61 I(4) 4 scalar JDIM2 Param 61 I(4) 4 scalar JGSTL Param 56 I(4) 4 scalar 61 JGSTR Param 56 I(4) 4 scalar 61 JM Param 49 I(4) 4 scalar 58,61,67 JMOUT Dummy 1 I(4) 4 scalar ARG,INOUT 103 JMX Param 67 I(4) 4 scalar 76,77 JNPES Param 52 I(4) 4 scalar 58,61 JTAIL Param 58 I(4) 4 scalar LM Param 49 I(4) 4 scalar 67,68 LP1 Param 68 I(4) 4 scalar LSM Param 49 I(4) 4 scalar Page 4 Source Listing GD2TLL 2025-03-12 18:23 Symbol Table GD2TLL.f Name Object Declared Type Bytes Dimen Elements Attributes References MXFLD Param 67 I(4) 4 scalar MXLVL Param 67 I(4) 4 scalar R2D Param 71 R(4) 4 scalar 71 RELM Local 107 R(4) 4 scalar 107,108,109 SIN Func 108 scalar 108,111 SPH Local 111 R(4) 4 scalar 111,115,117 SPHI0 Local 98 R(4) 4 scalar 98,115,117 SRLM Local 108 R(4) 4 scalar 108,114 TLM Local 116 R(4) 4 scalar 116,119 TPH Local 117 R(4) 4 scalar 117,118 WLON Local 105 R(4) 4 scalar 105,107 YLAT Local 106 R(4) 4 scalar 106,110 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 99 DLAM R(4) 4 16 scalar COM DPHI R(4) 4 8 scalar COM IDIM I(4) 4 20 scalar COM JDIM I(4) 4 24 scalar COM LAM0 I(4) 4 32 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 98 TANPH0 R(4) 4 44 scalar COM WLONC R(4) 4 12 scalar COM 96 XMESHL R(4) 4 16 scalar COM YLATC R(4) 4 4 scalar COM 97 Page 5 Source Listing GD2TLL 2025-03-12 18:23 Subprograms/Common Blocks GD2TLL.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References EGRID Common 84 48 SAVE GD2TLL 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 6 Source Listing GD2TLL 2025-03-12 18:23 GD2TLL.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 7 Source Listing GD2TLL 2025-03-12 18:23 GD2TLL.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 : GD2TLL.lst no -o COMPILER: Intel(R) Fortran 19.1-1655