Page 1           Source Listing                  GENLL
2025-03-12 18:23                                 GENLL.f

      1       SUBROUTINE GENLL(GDLAT,GDLON)
      2 C
      3 C$$$  SUBPROGRAM DOCUMENTATION BLOCK
      4 C                .      .    .     
      5 C SUBPROGRAM:    GENLL       COMPUTE (LAT,LON) FOR OUTPUT GRID
      6 C   PRGRMMR: TREADON         ORG: W/NP2      DATE: 92-12-23       
      7 C     
      8 C ABSTRACT:
      9 C     GIVEN THE STANDARD NMC GRID SPECIFICATIONS THIS ROUTINE
     10 C     COMPUTES THE GEODETIC (LAT,LON) OF THE GRID POINTS.
     11 C   .     
     12 C     
     13 C PROGRAM HISTORY LOG:
     14 C   ??-??-??  DAVID PLUMMER - SUBROUTINE CGTLL IN ETAPACKC
     15 C   93-02-26  RUSS TREADON  - EXTRACTED THIS CODE FROM CGTLL
     16 C                             AND GENERALIZED TO HANDLE
     17 C                             VARIOUS OUTPUT GRIDS.
     18 C   93-06-13  RUSS TREADON  - ADDED LOLA PROJECTION.
     19 C     
     20 C USAGE:    CALL GENLL(GDLAT,GDLON)
     21 C   INPUT ARGUMENT LIST:
     22 C     NONE     
     23 C
     24 C   OUTPUT ARGUMENT LIST: 
     25 C     GDLAT    - GEODETIC LATITUDE OF OUTPUT GRID POINTS.
     26 C     GDLON    - GEODETIC LONGITUDE OF OUTPUT GRID POINTS.
     27 C     
     28 C   OUTPUT FILES:
     29 C     NONE
     30 C     
     31 C   SUBPROGRAMS CALLED:
     32 C     UTILITIES:
     33 C       NONE
     34 C     LIBRARY:
     35 C       COMMON   - OUTGRD
     36 C     
     37 C   ATTRIBUTES:
     38 C     LANGUAGE: FORTRAN
     39 C     MACHINE : CRAY C-90
     40 C$$$  
     41 C
     42 C     
     43 C     INCLUDE/SET PARAMETERS.
     44 C
     45       INCLUDE "parmeta"
     63       INCLUDE "parmout"
     64 C     
     65 C     DECLARE VARIABLES.
     66 C
     70       LOGICAL NORTH
     71       CHARACTER*6 PROJ
     72       REAL LAMBDA
     73       REAL GDLAT(IMX,JMX), GDLON(IMX,JMX)
     74 C     
     75 C     INCLUDE OUTPUT GRID COMMON BLOCK.
     76       INCLUDE "OUTGRD.comm"
     77 C

Page 2           Source Listing                  GENLL
2025-03-12 18:23                                 GENLL.f

     78 C     SET EARTH RADIUS.
     83       DATA EARTHR /6371.2/
     84 C     
     85 C*********************************************************************
     86 C     START GENLL HERE.
     87 C
     88 C     SET CONSTANTS.
     89       PI     = ACOS(-1.)
     90       HALFPI = PI/2.
     91       TWOPI  = 2.*PI
     92       D2R    = PI/180.
     93       R2D    = 1./D2R
     94 C     
     95 C     CASE 1:  POLAR STEROGRAPHIC PROJECTION.
     96 C     
     97       IF (INDEX(PROJ,'POLA').NE.0) THEN
     98 C
     99 C        COMPUTE GEODETIC (LAT,LON) FOR OUTPUT GRID.
    100          DO 20 J = 1,JGOUT
    101             DO 10 I = 1,IGOUT
    102                XI   = REAL(I)
    103                YJ   = REAL(J)
    104                DELX = XI-POLEI
    105                DELY = YJ-POLEJ
    106                R2   = DELX*DELX+DELY*DELY
    107 C
    108 C              VARIABLES YLAT AND WLON ARE THE GEODETIC 
    109 C              LATITUDE (POSITIVE NORTH) AND LONGITUDE 
    110 C              (POSITIVE WEST) OF THE OUTPUT GRID POINTS.
    111 C
    112                IF (R2.NE.0.) THEN
    113                   TLON = R2D*ATAN2(DELY,DELX)
    114                   IF (NORTH) THEN
    115                      WLON = ALONVT-90.-TLON
    116                      YLAT = ASIN((GI2-R2)/(GI2+R2))*R2D
    117                   ELSE
    118                      WLON = ALONVT+90.+TLON
    119                      YLAT = -ASIN((GI2-R2)/(GI2+R2))*R2D
    120                   ENDIF
    121                   IF (WLON.GT.360.) WLON = WLON-360.
    122                   IF (WLON.LT.0.)   WLON = WLON+360.
    123                ELSE
    124                   YLAT = 90.
    125                   IF (.NOT.NORTH) YLAT = -90.
    126                   WLON = ALONVT
    127                ENDIF
    128                GDLAT(I,J) = YLAT
    129                GDLON(I,J) = WLON
    130  10         CONTINUE
    131  20      CONTINUE
    132 C     
    133 C     CASE II:  LATITUDE-LONGITUDE PROJECTION.
    134 C     
    135       ELSEIF (INDEX(PROJ,'LOLA').NE.0) THEN
    136          SWLAT = ALONVT
    137          SWLON = POLEJ
    138          DO 40 J = 1,JGOUT

Page 3           Source Listing                  GENLL
2025-03-12 18:23                                 GENLL.f

    139             DLAT = (J-1)*POLEI
    140             DO 30 I = 1,IGOUT
    141                DLON = (I-1)*XMESHL
    142                GDLAT(I,J) = SWLAT + DLAT
    143                GDLON(I,J) = SWLON - DLON
    144  30         CONTINUE
    145  40      CONTINUE
    146 C
    147 C     CASE III:  LAMBERT CONFORMAL (TANGENT) PROJECTION).
    148 C
    149       ELSEIF (INDEX(PROJ,'LMBC').NE.0) THEN
    150 C
    151 C        CONVERT WEST LONGITUDE TO EAST.
    152          POLEJE  = -1.*POLEJ
    153          ALONVTE = -1.*ALONVT
    154 C
    155 C        COMPUTE TANGENT CONE CONSTANT AND FACTOR A.
    156          PSIT = HALFPI - ABS(ALATVT*D2R)
    157          CONE = COS(PSIT)
    158          A    = EARTHR/CONE
    159 C
    160 C        COMPUTE LINEAR COORDINATES CORRESPONDING TO
    161 C        GRIDPOINT (1,1)=(POLEI,POLEJE).
    162          PHI    = POLEI*D2R
    163          LAMBDA = POLEJE*D2R
    164          IF (NORTH) THEN
    165             PSI = HALFPI - PHI
    166          ELSE
    167             PSI = HALFPI + PHI
    168          ENDIF
    169          TERMA  = PSI/2.
    170          TERMB  = CONE*(LAMBDA-ALONVTE*D2R)
    171          X1     = A * TAN(TERMA)**CONE * SIN(TERMB)
    172          Y1     = A * TAN(TERMA)**CONE * COS(TERMB)
    173          IF (NORTH) Y1 = -1. * Y1
    174 C
    175 C        LOOP TO COMPUTE GEODETIC (LAT,LON).
    176          ALPHA = (TAN(PSIT/2.)**CONE) / SIN(PSIT)
    177          DO 60 J = 1,JGOUT
    178             DO 50 I = 1,IGOUT
    179                X = X1 + (I-1)*ALPHA*XMESHL
    180                Y = Y1 + (J-1)*ALPHA*XMESHL
    181 C
    182                TERM = (SQRT(X*X+Y*Y)/A)**(1./CONE)
    183                GPHI = HALFPI - 2.*ATAN(TERM)
    184 C
    185                IF (.NOT.NORTH) GPHI = -1.*GPHI
    186                IF (NORTH) THEN
    187                   GTHETA = ATAN2(X,-1.*Y)
    188                ELSE
    189                   GTHETA = ATAN2(X,Y)
    190                ENDIF
    191 C
    192                GLAM = ALONVTE*D2R + GTHETA/CONE
    193                IF (GLAM.GT.PI)     GLAM = GLAM - TWOPI
    194                IF (GLAM.LT.-PI) GLAM = GLAM + TWOPI
    195 C

Page 4           Source Listing                  GENLL
2025-03-12 18:23                                 GENLL.f

    196                GDLAT(I,J) = GPHI*R2D
    197                GDLON(I,J) = ABS(GLAM*R2D)
    198 C
    199  50         CONTINUE
    200  60      CONTINUE
    201 C     
    202 C     CASE IV:  ETA PROJECTION (TRANSFORMED LAT-LON).
    203 C        (DO NOTHING HERE, SINCE THE MODEL PROVIDES GDLAT,GDLON.)
    204 C     
    205       ENDIF
    206 C     
    207 C     END OF ROUTINE.
    208 C
    209       RETURN
    210       END


ENTRY POINTS

  Name              
                    
 genll_             


SYMBOL CROSS REFERENCE

 Name                       Object Declared Type            Bytes Dimen Elements Attributes       References                        
                                                                                                                                    
 10                         Label  130                                                            101                               
 20                         Label  131                                                            100                               
 30                         Label  144                                                            140                               
 40                         Label  145                                                            138                               
 50                         Label  199                                                            178                               
 60                         Label  200                                                            177                               
 A                          Local  158      R(4)            4           scalar                    158,171,172,182                   
 ABS                        Func   156                                  scalar                    156,197                           
 ACOS                       Func   89                                   scalar                    89                                
 ALONVTE                    Local  153      R(4)            4           scalar                    153,170,192                       
 ALPHA                      Local  176      R(4)            4           scalar                    176,179,180                       
 ASIN                       Func   116                                  scalar                    116,119                           
 ATAN                       Func   183                                  scalar                    183                               
 ATAN2                      Func   113                                  scalar                    113,187,189                       
 CONE                       Local  157      R(4)            4           scalar                    157,158,170,171,172,176,182,192   
 COS                        Func   157                                  scalar                    157,172                           
 D2R                        Local  92       R(4)            4           scalar                    92,93,156,162,163,170,192         
 DELX                       Local  104      R(4)            4           scalar                    104,106,113                       
 DELY                       Local  105      R(4)            4           scalar                    105,106,113                       
 DLAT                       Local  139      R(4)            4           scalar                    139,142                           
 DLON                       Local  141      R(4)            4           scalar                    141,143                           
 EARTHR                     Local  83       R(4)            4           scalar                    83,158                            
 GDLAT                      Dummy  1        R(4)            4     2     91719    ARG,INOUT        128,142,196                       
 GDLON                      Dummy  1        R(4)            4     2     91719    ARG,INOUT        129,143,197                       
 GENLL                      Subr   1                                                                                                
 GLAM                       Local  192      R(4)            4           scalar                    192,193,194,197                   
 GPHI                       Local  183      R(4)            4           scalar                    183,185,196                       
 GTHETA                     Local  187      R(4)            4           scalar                    187,189,192                       
 HALFPI                     Local  90       R(4)            4           scalar                    90,156,165,167,183                

Page 5           Source Listing                  GENLL
2025-03-12 18:23 Symbol Table                    GENLL.f

 Name                       Object Declared Type            Bytes Dimen Elements Attributes       References                        
                                                                                                                                    
 I                          Local  101      I(4)            4           scalar                    101,102,128,129,140,141,142,143,17
                                                                                                  8,179,196,197                     
 IDIM1                      Param  59       I(4)            4           scalar                                                      
 IDIM2                      Param  59       I(4)            4           scalar                                                      
 IGSTL                      Param  54       I(4)            4           scalar                    59                                
 IGSTR                      Param  54       I(4)            4           scalar                    59                                
 IM                         Param  48       I(4)            4           scalar                    56,59,69                          
 IMX                        Param  69       I(4)            4           scalar                    73                                
 INDEX                      Func   97                                   scalar                    97,135,149                        
 INPES                      Param  51       I(4)            4           scalar                    56,59                             
 ITAIL                      Param  56       I(4)            4           scalar                                                      
 J                          Local  100      I(4)            4           scalar                    100,103,128,129,138,139,142,143,17
                                                                                                  7,180,196,197                     
 JDIM1                      Param  60       I(4)            4           scalar                                                      
 JDIM2                      Param  60       I(4)            4           scalar                                                      
 JGSTL                      Param  55       I(4)            4           scalar                    60                                
 JGSTR                      Param  55       I(4)            4           scalar                    60                                
 JM                         Param  48       I(4)            4           scalar                    57,60,69                          
 JMX                        Param  69       I(4)            4           scalar                    73                                
 JNPES                      Param  51       I(4)            4           scalar                    57,60                             
 JTAIL                      Param  57       I(4)            4           scalar                                                      
 LAMBDA                     Local  72       R(4)            4           scalar                    163,170                           
 LM                         Param  48       I(4)            4           scalar                    69                                
 LSM                        Param  48       I(4)            4           scalar                                                      
 MXFLD                      Param  69       I(4)            4           scalar                                                      
 MXLVL                      Param  69       I(4)            4           scalar                                                      
 OUTGRD                     Common 80                                   50       SAVE                                               
 PHI                        Local  162      R(4)            4           scalar                    162,165,167                       
 PI                         Local  89       R(4)            4           scalar                    89,90,91,92,193,194               
 POLEJE                     Local  152      R(4)            4           scalar                    152,163                           
 PSI                        Local  165      R(4)            4           scalar                    165,167,169                       
 PSIT                       Local  156      R(4)            4           scalar                    156,157,176                       
 R2                         Local  106      R(4)            4           scalar                    106,112,116,119                   
 R2D                        Local  93       R(4)            4           scalar                    93,113,116,119,196,197            
 REAL                       Func   102                                  scalar                    102,103                           
 SIN                        Func   171                                  scalar                    171,176                           
 SQRT                       Func   182                                  scalar                    182                               
 SWLAT                      Local  136      R(4)            4           scalar                    136,142                           
 SWLON                      Local  137      R(4)            4           scalar                    137,143                           
 TAN                        Func   171                                  scalar                    171,172,176                       
 TERM                       Local  182      R(4)            4           scalar                    182,183                           
 TERMA                      Local  169      R(4)            4           scalar                    169,171,172                       
 TERMB                      Local  170      R(4)            4           scalar                    170,171,172                       
 TLON                       Local  113      R(4)            4           scalar                    113,115,118                       
 TWOPI                      Local  91       R(4)            4           scalar                    91,193,194                        
 WLON                       Local  115      R(4)            4           scalar                    115,118,121,122,126,129           
 X                          Local  179      R(4)            4           scalar                    179,182,187,189                   
 X1                         Local  171      R(4)            4           scalar                    171,179                           
 XI                         Local  102      R(4)            4           scalar                    102,104                           
 Y                          Local  180      R(4)            4           scalar                    180,182,187,189                   
 Y1                         Local  172      R(4)            4           scalar                    172,173,180                       
 YJ                         Local  103      R(4)            4           scalar                    103,105                           
 YLAT                       Local  116      R(4)            4           scalar                    116,119,124,125,128               



Page 6           Source Listing                  GENLL
2025-03-12 18:23 Symbol Table                    GENLL.f

TYPE COMPONENTS/COMMON VARIABLES

 Name                       Type            Bytes Offset   Dimen Elements Attributes       References                         
                                                                                                                              
 ALATVT                     R(4)            4     0              scalar   COM              156                                
 ALONVT                     R(4)            4     4              scalar   COM              115,118,126,136,153                
 GI2                        R(4)            4     36             scalar   COM              116,119                            
 IGOUT                      I(4)            4     20             scalar   COM              101,140,178                        
 IMDLTY                     I(4)            4     28             scalar   COM                                                 
 JGOUT                      I(4)            4     24             scalar   COM              100,138,177                        
 NORTH                      L(4)            4     40             scalar   COM              114,125,164,173,185,186            
 POLEI                      R(4)            4     8              scalar   COM              104,139,162                        
 POLEJ                      R(4)            4     12             scalar   COM              105,137,152                        
 PROJ                       CHAR            6     44             scalar   COM              97,135,149                         
 RE                         R(4)            4     32             scalar   COM                                                 
 XMESHL                     R(4)            4     16             scalar   COM              141,179,180                        

Page 7           Source Listing                  GENLL
2025-03-12 18:23 Subprograms/Common Blocks       GENLL.f



SUBPROGRAMS/COMMON BLOCKS

 Name                       Object Declared Type            Bytes Dimen Elements Attributes       References                        
                                                                                                                                    
 GENLL                      Subr   1                                                                                                
 OUTGRD                     Common 80                                   50       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__
       -D __amd64                            -D __amd64__

Page 8           Source Listing                  GENLL
2025-03-12 18:23                                 GENLL.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 9           Source Listing                  GENLL
2025-03-12 18:23                                 GENLL.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 : GENLL.lst
  no   -o

COMPILER: Intel(R) Fortran 19.1-1655