IBM XL Fortran for AIX, V12.1 (5724-U82) Version 12.01.0000.0001 --- ../core/zterp.F 03/09/11 11:04:57 >>>>> OPTIONS SECTION <<<<< *** Options In Effect *** == On / Off Options == CR DBG ESCAPE FULLPATH I4 INLGLUE NOLIBESSL NOLIBPOSIX OBJECT SOURCE STRICT SWAPOMP THREADED UNWIND ZEROSIZE == Options Of Integer Type == ALIAS_SIZE(65536) MAXMEM(-1) OPTIMIZE(2) SPILLSIZE(2000) STACKTEMP(0) == Options Of Character Type == 64(LARGETYPE) ALIAS(STD,NOINTPTR) ALIGN(BINDC(POWER),STRUCT(NATURAL)) ARCH(PWR6) ATTR(FULL) AUTODBL(NONE) DESCRIPTOR(V1) DIRECTIVE(IBM*,IBMT) ENUM() FLAG(I,I) FLOAT(RNDSNGL,MAF,FOLD,RNGCHK,SINGLE) FREE(F90) HALT(S) IEEE(NEAR) INTSIZE(4) LANGLVL(EXTENDED) REALSIZE(4) NOSAVE() TUNE(PWR6) UNROLL(AUTO) XREF(FULL) XLF2003(NOPOLYMORPHIC,NOBOZLITARGS,NOSTOPEXCEPT,NOVOLATILE,NOAUTOREALLOC,OLDNANINF) XLF77(LEADZERO,BLANKPAD) XLF90(NOSIGNEDZERO,NOAUTODEALLOC,OLDPAD) >>>>> SOURCE SECTION <<<<< 1 |#line 1 "../core/zterp.F" 1 |!------------------------------------------------------------------------- 2 |! NASA Goddard Space Flight Center Land Information System (LIS) V3.0 3 |! Released May 2004 4 |! 5 |! See SOFTWARE DISTRIBUTION POLICY for software distribution policies 6 |! 7 |! The LIS source code and documentation are in the public domain, 8 |! available without fee for educational, research, non-commercial and 9 |! commercial purposes. Users may distribute the binary or source 10 |! code to third parties provided this statement appears on all copies and 11 |! that no charge is made for such copies. 12 |! 13 |! NASA GSFC MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE 14 |! SOFTWARE FOR ANY PURPOSE. IT IS PROVIDED AS IS WITHOUT EXPRESS OR 15 |! IMPLIED WARRANTY. NEITHER NASA GSFC NOR THE US GOVERNMENT SHALL BE 16 |! LIABLE FOR ANY DAMAGES SUFFERED BY THE USER OF THIS SOFTWARE. 17 |! 18 |! See COPYRIGHT.TXT for copyright details. 19 |! 20 |!------------------------------------------------------------------------- 21 |!BOP 22 |! 23 |! !ROUTINE: zterp.F90 24 |! 25 |! !DESCRIPTION: 26 |! This subroutine is based, in part, on modified subroutines from 27 |! Jean C. Morrill of the GSWP project. The program temporally interpolates 28 |! time averge or instantaneous data to that needed by the model 29 |! at the current timestep. It does this by combining a linear interpolation 30 |! approach with a solar zenith angle approach in a fashion suitable for use 31 |! with data such as short wave radiation values. 32 |! It cannot be used with input data points which are more 33 |! than 24 hours apart. The program outputs two weights which can then be 34 |! applied to the original data to arrive at the interpolated data. If 35 |! IFLAG=0, then WEIGHT1 is the weight which should be applied to the 36 |! time averaged data (from the time period which the model is currently in) 37 |! to arrive at the interpolated value and weight 2 is not used at all. If 38 |! IFLAG=1, then WEIGHT1 should be applied to the original instantaneous 39 |! data located just prior to the model time step, and WEIGHT2 should be 40 |! applied to the original instantaneous data located just after the model 41 |! time step.\\ 42 |! i.e. (IF IFLAG=0) interpolated data = (WEIGHT1 * time averaged data from 43 |! time period that model is currently in)\\ 44 |! i.e. (IF IFLAG=1) interp. data = (WEIGHT1*past data)+(WEIGHT2*future data) 45 |! 46 |! !REVISION HISTORY: 47 |! 10/2/98 Brian Cosgrove 48 |! 6/28/00 Brian Cosgrove; changed code so that it uses LDAS%UDEF and 49 |! not a hard-wired undefined value of -999.999. Also changed 50 |! call to ZTERP subroutine so that LDAS and GRID mod files 51 |! are brought in and can be accessed in this subroutine 52 |! 2/27/01 Brian Cosgrove; Added czmodel into call for ZTERP subroutine 53 |! 10/7/01 Urszula Jambor; Added conditional to prevent stop in code when 54 |! AGRMET data are available, but both endtime cos(zen.) are small. 55 |! 56 |! !INTERFACE: 57 |subroutine zterp (iflag,lat,lon,btime,etime, & 58 | mbtime,julianb,weight1,weight2,czbegdata, & 59 | czenddata,czmodel,lis) 60 |! !USES: 61 | use lis_module ! LDAS non-model-specific 1-D variables 62 | implicit none 63 |! !INPUT PARAMETERS 64 | type (lisdec) :: lis 65 | integer :: iflag !Flag specifying if input data is 66 | !time averaged or not 67 | real :: lat,lon !Latitude and longitudes of current 68 | !data point 69 | real :: mbtime !Time of current time step Expects 70 | !GMT time in hour fractions 71 | integer :: julianb !Julian day upon which BTIME falls 72 | real :: interval 73 | real :: btime !beginning time of orig. avg. data (IFLAG=0) or 74 | !time of original instantaneous data point which 75 | !is located at or just prior to the current model 76 | !time step (IFLAG=1). Expects GMT time in hour 77 | !fractions. i.e., 6:30 Z would be 6.5. 78 | real :: etime !Ending time of orig. avg. data (IFLAG=0) or 79 | !time of original instantaneous data point which 80 | !is located at or just after the current model 81 | !time step (IFLAG=1). Expects GMT time in hour 82 | !fractions. i.e., 6:30 Z would be 6.5. 83 | real :: weight1 !weight applied to original time averaged 84 | !data (IFLAG=0) or 85 | !weight applied to orig instantaneous data point 86 | !located just prior to the current model time step 87 | real :: weight2 !weight applied to orig instantaneous 88 | !data point located just after the current model 89 | !time step (IFLAG=1) 90 | !If IFLAG=0, then this weight is meaningless and 91 | !should not be used 92 |!EOP 93 | real czmodel,czavgdata,totangle,avgangle 94 | real czenddata,czbegdata,lhour,gmt 95 | real lmbtime,letime,lbtime,weighte,weightb 96 | real diffeb,diffbm,diffem 97 | integer zoneetime,zonebtime,zonembtime 98 | integer zone,juliane,julianmb,juliantemp,i 99 |!BOC 100 |!-------------------------------------------------------------------- 101 |! This section contains hardwired data that will be supplied by main program. 102 |! These values were chosen arbitrarily and exist simply to check the 103 |! functioning of the program. 104 |! 105 |! Initialize variables 106 |!-------------------------------------------------------------------- 107 | i=1 108 | totangle=0. 109 | weighte=lis%d%udef 110 | weightb=lis%d%udef 111 | weight1=lis%d%udef 112 | weight2=lis%d%udef 113 | czbegdata=lis%d%udef 114 | czenddata=lis%d%udef 115 | czmodel=lis%d%udef 116 | gmt=btime 117 | juliane=julianb 118 | julianmb=julianb 119 | juliantemp=julianb 120 | 121 | if (mbtime.lt.btime) julianmb=julianmb+1 122 | if (etime.le.btime) juliane=juliane+1 123 |!-------------------------------------------------------------------- 124 |! First case, IFLAG=0 (Time average input, instantaneous output) 125 |! Compute time interval, here arbitrarily divided into 36 parts 126 |!-------------------------------------------------------------------- 127 | if (iflag.eq.0) then 128 | call localtime (btime,lon,lbtime,zone) 129 | if (lbtime.gt.btime) julianb=julianb-1 130 | call coszenith(lon,lat,lbtime,zone,julianb,czbegdata) 131 | call localtime (etime,lon,letime,zone) 132 | if (letime.gt.etime) juliane=juliane-1 133 | call coszenith(lon,lat,letime,zone,juliane,czenddata) 134 | call localtime (mbtime,lon,lhour,zone) 135 | if (lhour.gt.mbtime) julianmb=julianmb-1 136 | call coszenith(lon,lat,lhour,zone,julianmb,czmodel) 137 | if (czmodel.eq.0) then 138 | weight1=0. 139 | weight2=0. 140 | goto 818 141 | endif 142 | 143 | if (etime.gt.btime) then 144 | interval = ((etime-btime)/36.0) 145 | elseif (etime.lt.btime) then 146 | interval = (((24-btime)+(etime))/36.0) 147 | else 148 | interval=24.0/36.0 149 | endif 150 | 151 |!-------------------------------------------------------------------- 152 |! Compute cosine of zenith angle for each time interval 153 |!-------------------------------------------------------------------- 154 | totangle = 0. 155 | czavgdata = 0. 156 | do while (i.le.37) 157 | 158 | ! if ((gmt+interval).lt.24) then 159 | ! gmt=gmt+interval !JESSE 20050405 gmt offside by 1 interval. 160 | ! else ! move the increment after calculation. 161 | ! gmt=(interval-(24-gmt)) 162 | ! juliantemp=juliantemp+1 163 | ! endif 164 | call localtime (gmt,lon,lhour,zone) 165 | call coszenith(lon,lat,lhour,zone, & 166 | juliantemp,czavgdata) 167 | totangle=totangle+czavgdata 168 | 169 | if ((gmt+interval).lt.24) then 170 | gmt=gmt+interval 171 | else 172 | gmt=(interval-(24-gmt)) 173 | juliantemp=juliantemp+1 174 | endif 175 | 176 | i=i+1 177 | enddo 178 |!-------------------------------------------------------------------- 179 |! Compute average cosine of zenith angle and also 180 |! weight which will be applied to original data (WEIGHT1 181 |!-------------------------------------------------------------------- 182 | avgangle=(totangle/37.0) 183 | if (avgangle.eq.0) then 184 | weight1=0 185 | else 186 | weight1=(czmodel/avgangle) 187 | weight2=avgangle !JESSE 20060405 reference only 188 | endif 189 | endif 190 |!-------------------------------------------------------------------- 191 |! Second case: IFLAG=1 (instantaneous input and output) 192 |!-------------------------------------------------------------------- 193 | if (iflag.eq.1) then 194 |!-------------------------------------------------------------------- 195 |! Compute local times and cosine (zenith angle) 196 |!-------------------------------------------------------------------- 197 | call localtime (btime,lon,lbtime,zonebtime) 198 | if (lbtime.gt.btime) julianb=julianb-1 199 | call localtime (etime,lon,letime,zoneetime) 200 | if (letime.gt.etime) juliane=juliane-1 201 | call localtime (mbtime,lon,lmbtime,zonembtime) 202 | if (lmbtime.gt.mbtime) julianmb=julianmb-1 203 | call coszenith (lon,lat,lbtime,zonebtime, & 204 | julianb,czbegdata) 205 | call coszenith (lon,lat,letime,zoneetime, & 206 | juliane,czenddata) 207 | call coszenith (lon,lat,lmbtime,zonembtime, & 208 | julianmb,czmodel) 209 |!-------------------------------------------------------------------- 210 |! Decision tree to deal with contingencies 211 |! If COS(zenith angle at current model time =0, weight =0 212 |! If COS(zenith angle =0 at beg. and end times, PROBLEM, STOP 213 |! Otherwise use beginning and ending data to calculate weight 214 |!-------------------------------------------------------------------- 215 | if (czmodel.le.0.01) then 216 | weight1=0 217 | weight2=0 218 | else 219 | if ((czbegdata.gt.0.01).or.(czenddata.gt.0.01)) then 220 | if (czbegdata.le.0.01) then 221 | weight1=0 222 | weight2=(czmodel/czenddata) 223 | endif 224 | if (czenddata.le.0.01) then 225 | weight1=(czmodel/czbegdata) 226 | weight2=0 227 | endif 228 | if((czenddata.gt.0.01).and. & 229 | (czbegdata.gt.0.01))then 230 | 231 | if (btime.le.mbtime) then 232 | diffbm=mbtime-btime 233 | else 234 | diffbm=24-btime+mbtime 235 | endif 236 | 237 | if (etime.ge.mbtime) then 238 | diffem=etime-mbtime 239 | else 240 | diffem=24-mbtime+etime 241 | endif 242 | 243 | if (etime.gt.btime) then 244 | diffeb=etime-btime 245 | elseif (etime.eq.btime) then 246 | 247 | diffeb=24 248 | else 249 | diffeb=24-btime+etime 250 | endif 251 | weighte=(diffbm/diffeb) 252 | weightb=(diffem/diffeb) 253 | 254 | weight1=((czmodel/czbegdata)*weightb) 255 | weight2=((czmodel/czenddata)*weighte) 256 | endif 257 | else 258 | call lis_log_msg('MSG: zterp -- no data to interpolate to/from') 259 | call lis_log_msg('MSG: zterp -- beginning and ending data both = 0') 260 | call lis_log_msg('MSG: zterp -- setting the weights to 0') 261 | !print*, 'stopping!!!' 262 | !call endrun 263 | weight1 = 0 264 | weight2 = 0 265 | endif 266 | endif 267 | endif 268 |818 continue 269 | return 270 |!EOC 271 |end subroutine zterp >>>>> ATTRIBUTE AND CROSS REFERENCE SECTION <<<<< IDENTIFIER NAME CROSS REFERENCE AND ATTRIBUTES a Use associated, Derived type: lisassimil, Component of Derived type definition: lisdec, Offset: 1276, Alignment: full word 0-61.7$ avgangle Automatic, Real(4), Offset: 0, Alignment: full word 0-93.35$ 0-182.6@ 0-183.10 0-186.26 0-187.17 avhrrdir Use associated, Character(40), Component of Derived type definition: lisparameters, Offset: 400, Alignment: byte 0-61.7$ btime Reference argument, Real(4), Offset: 0, Alignment: full word 0-73.22$ 0-57.33 0-116.7 0-121.17 0-122.16 0-128.22 0-129.20 0-143.19 0-144.28 0-145.23 0-146.26 0-197.22 0-198.20 0-231.19 0-232.32 0-234.28 0-243.28 0-244.31 0-245.32 0-249.28 clfile Use associated, Character(40), Component of Derived type definition: lisparameters, Offset: 160, Alignment: byte 0-61.7$ coszenith External Subroutine 0-130.11 0-133.11 0-136.11 0-165.14 0-203.11 0-205.11 0-207.11 czavgdata Automatic, Real(4), Offset: 0, Alignment: full word 0-93.16$ 0-155.6@ 0-166.25 0-167.27 czbegdata Reference argument, Real(4), Offset: 0, Alignment: full word 0-94.18$ 0-58.37 0-113.3@ 0-130.49 0-204.19 0-219.14 0-220.16 0-225.32 0-229.18 0-254.33 czenddata Reference argument, Real(4), Offset: 0, Alignment: full word 0-94.8$ 0-59.6 0-114.3@ 0-133.49 0-206.19 0-219.37 0-222.32 0-224.16 0-228.16 0-255.33 czmodel Reference argument, Real(4), Offset: 0, Alignment: full word 0-93.8$ 0-59.16 0-115.3@ 0-136.49 0-137.10 0-186.18 0-208.20 0-215.10 0-222.24 0-225.24 0-254.25 0-255.25 d Use associated, Derived type: lisdomain, Component of Derived type definition: lisdec, Offset: 0, Alignment: full word 0-61.7$ da Use associated, Integer(4), Component of Derived type definition: listime, Offset: 88, Alignment: full word 0-61.7$ dfile Use associated, Character(40), Component of Derived type definition: lisoutput, Offset: 92, Alignment: byte 0-61.7$ diffbm Automatic, Real(4), Offset: 0, Alignment: full word 0-96.15$ 0-232.18@ 0-234.18@ 0-251.24 diffeb Automatic, Real(4), Offset: 0, Alignment: full word 0-96.8$ 0-244.18@ 0-247.18@ 0-249.18@ 0-251.31 0-252.31 diffem Automatic, Real(4), Offset: 0, Alignment: full word 0-96.22$ 0-238.18@ 0-240.18@ 0-252.24 domain Use associated, Integer(4), Component of Derived type definition: lisdomain, Offset: 28, Alignment: full word 0-61.7$ doy Use associated, Integer(4), Component of Derived type definition: listime, Offset: 76, Alignment: full word 0-61.7$ ecor Use associated, Integer(4), Component of Derived type definition: lisforcing, Offset: 4, Alignment: full word 0-61.7$ eda Use associated, Integer(4), Component of Derived type definition: listime, Offset: 48, Alignment: full word 0-61.7$ edoy Use associated, Integer(4), Component of Derived type definition: listime, Offset: 40, Alignment: full word 0-61.7$ egmt Use associated, Real(4), Component of Derived type definition: listime, Offset: 132, Alignment: full word 0-61.7$ ehr Use associated, Integer(4), Component of Derived type definition: listime, Offset: 44, Alignment: full word 0-61.7$ elev Use associated, Integer(4), Component of Derived type definition: lisdomain, Offset: 12, Alignment: full word 0-61.7$ elev_griddesc Use associated, Real(4) (1:6), Component of Derived type definition: lisdomain, Offset: 296, Alignment: full word 0-61.7$ elevfile Use associated, Character(40), Component of Derived type definition: lisparameters, Offset: 520, Alignment: byte 0-61.7$ emn Use associated, Integer(4), Component of Derived type definition: listime, Offset: 36, Alignment: full word 0-61.7$ emo Use associated, Integer(4), Component of Derived type definition: listime, Offset: 52, Alignment: full word 0-61.7$ endcode Use associated, Integer(4), Component of Derived type definition: listime, Offset: 28, Alignment: full word 0-61.7$ endtime Use associated, Integer(4), Component of Derived type definition: listime, Offset: 104, Alignment: full word 0-61.7$ ess Use associated, Integer(4), Component of Derived type definition: listime, Offset: 32, Alignment: full word 0-61.7$ etime Reference argument, Real(4), Offset: 0, Alignment: full word 0-78.21$ 0-57.39 0-122.7 0-131.22 0-132.20 0-143.10 0-144.22 0-145.14 0-146.34 0-199.22 0-200.20 0-237.19 0-238.25 0-240.35 0-243.19 0-244.25 0-245.23 0-249.34 etime Use associated, Real(8), Component of Derived type definition: listime, Offset: 120, Alignment: double word 0-61.7$ expcode Use associated, Integer(4), Component of Derived type definition: lisoutput, Offset: 20, Alignment: full word 0-61.7$ eyr Use associated, Integer(4), Component of Derived type definition: listime, Offset: 56, Alignment: full word 0-61.7$ f Use associated, Derived type: lisforcing, Component of Derived type definition: lisdec, Offset: 344, Alignment: full word 0-61.7$ f00_flag Use associated, Integer(4), Component of Derived type definition: lisforcing, Offset: 60, Alignment: full word 0-61.7$ f06_flag Use associated, Integer(4), Component of Derived type definition: lisforcing, Offset: 64, Alignment: full word 0-61.7$ fidgm Use associated, Integer(4), Component of Derived type definition: lisoutput, Offset: 36, Alignment: full word 0-61.7$ fidtm Use associated, Integer(4), Component of Derived type definition: lisoutput, Offset: 44, Alignment: full word 0-61.7$ findagrtime1 Use associated, Integer(4), Component of Derived type definition: lisforcing, Offset: 52, Alignment: full word 0-61.7$ findagrtime2 Use associated, Integer(4), Component of Derived type definition: lisforcing, Offset: 56, Alignment: full word 0-61.7$ findtime1 Use associated, Integer(4), Component of Derived type definition: lisforcing, Offset: 44, Alignment: full word 0-61.7$ findtime2 Use associated, Integer(4), Component of Derived type definition: lisforcing, Offset: 48, Alignment: full word 0-61.7$ force Use associated, Integer(4), Component of Derived type definition: lisforcing, Offset: 0, Alignment: full word 0-61.7$ foropen Use associated, Integer(4), Component of Derived type definition: lisoutput, Offset: 28, Alignment: full word 0-61.7$ glbnch Use associated, Integer(4), Component of Derived type definition: lisdomain, Offset: 16, Alignment: full word 0-61.7$ glbngrid Use associated, Integer(4), Component of Derived type definition: lisdomain, Offset: 24, Alignment: full word 0-61.7$ gmt Use associated, Real(4), Component of Derived type definition: listime, Offset: 128, Alignment: full word 0-61.7$ gmt Automatic, Real(4), Offset: 0, Alignment: full word 0-94.34$ 0-116.3@ 0-164.25 0-169.14 0-170.12@ 0-170.16 0-172.12@ 0-172.30 gnc Use associated, Integer(4), Component of Derived type definition: lisdomain, Offset: 36, Alignment: full word 0-61.7$ gnr Use associated, Integer(4), Component of Derived type definition: lisdomain, Offset: 40, Alignment: full word 0-61.7$ gpcpsrc Use associated, Integer(4), Component of Derived type definition: lisforcing, Offset: 68, Alignment: full word 0-61.7$ gridchange Use associated, Integer(4), Component of Derived type definition: lisforcing, Offset: 24, Alignment: full word 0-61.7$ griddesc Use associated, Real(4) (1:50), Component of Derived type definition: lisdomain, Offset: 72, Alignment: full word 0-61.7$ hhmmss Use associated, Integer(4), Component of Derived type definition: listime, Offset: 72, Alignment: full word 0-61.7$ hr Use associated, Integer(4), Component of Derived type definition: listime, Offset: 92, Alignment: full word 0-61.7$ i Automatic, Integer(4), Offset: 0, Alignment: full word 0-98.44$ 0-107.3@ 0-156.16 0-176.9@ 0-176.11 ic Use associated, Integer(4), Component of Derived type definition: lisdomain, Offset: 52, Alignment: full word 0-61.7$ iflag Reference argument, Integer(4), Offset: 0, Alignment: full word 0-65.21$ 0-57.19 0-127.7 0-193.7 interp Use associated, Integer(4), Component of Derived type definition: lisforcing, Offset: 28, Alignment: full word 0-61.7$ interval Automatic, Real(4), Offset: 0, Alignment: full word 0-72.21$ 0-144.9@ 0-146.9@ 0-148.9@ 0-169.18 0-170.20 0-172.17 ir Use associated, Integer(4), Component of Derived type definition: lisdomain, Offset: 56, Alignment: full word 0-61.7$ iscfile Use associated, Character(40), Component of Derived type definition: lisparameters, Offset: 480, Alignment: byte 0-61.7$ julianb Reference argument, Integer(4), Offset: 0, Alignment: full word 0-71.21$ 0-58.13 0-117.11 0-118.12 0-119.14 0-129.27@ 0-129.35 0-130.41 0-198.27@ 0-198.35 0-204.11 juliane Automatic, Integer(4), Offset: 0, Alignment: full word 0-98.16$ 0-117.3@ 0-122.23@ 0-122.31 0-132.27@ 0-132.35 0-133.41 0-200.27@ 0-200.35 0-206.11 julianmb Automatic, Integer(4), Offset: 0, Alignment: full word 0-98.24$ 0-118.3@ 0-121.24@ 0-121.33 0-135.27@ 0-135.36 0-136.40 0-202.29@ 0-202.38 0-208.11 juliantemp Automatic, Integer(4), Offset: 0, Alignment: full word 0-98.33$ 0-119.3@ 0-166.14 0-173.12@ 0-173.23 lai Use associated, Integer(4), Component of Derived type definition: lisparameters, Offset: 0, Alignment: full word 0-61.7$ laiflag Use associated, Integer(4), Component of Derived type definition: lisparameters, Offset: 12, Alignment: full word 0-61.7$ laitime Use associated, Real(8), Component of Derived type definition: lisparameters, Offset: 560, Alignment: double word 0-61.7$ landcover Use associated, Integer(4), Component of Derived type definition: lisdomain, Offset: 32, Alignment: full word 0-61.7$ lat Reference argument, Real(4), Offset: 0, Alignment: full word 0-67.21$ 0-57.25 0-130.25 0-133.25 0-136.25 0-165.28 0-203.26 0-205.26 0-207.26 latmax Use associated, Integer(4), Component of Derived type definition: lisforcing, Offset: 32, Alignment: full word 0-61.7$ lbtime Automatic, Real(4), Offset: 0, Alignment: full word 0-95.23$ 0-128.32 0-129.10 0-130.29 0-197.32 0-198.10 0-203.30 lc_griddesc Use associated, Real(4) (1:6), Component of Derived type definition: lisdomain, Offset: 320, Alignment: full word 0-61.7$ letime Automatic, Real(4), Offset: 0, Alignment: full word 0-95.16$ 0-131.32 0-132.10 0-133.29 0-199.32 0-200.10 0-205.30 lhour Automatic, Real(4), Offset: 0, Alignment: full word 0-94.28$ 0-134.33 0-135.10 0-136.29 0-164.33 0-165.32 lis Reference argument, Derived type: lisdec, Offset: 0, Alignment: double word 0-64.20$ 0-59.24 lis%a Reference argument, Derived type: lisassimil, Offset: 1276, Alignment: full word 0-64.20$ lis%a%rbias Reference argument, Integer(4), Offset: 1280, Alignment: quadruple word 0-64.20$ lis%a%rdbc Reference argument, Integer(4), Offset: 1288, Alignment: double word 0-64.20$ lis%a%ribc Reference argument, Integer(4), Offset: 1284, Alignment: full word 0-64.20$ lis%a%rpsas Reference argument, Integer(4), Offset: 1276, Alignment: full word 0-64.20$ lis%a%rsdbc Reference argument, Integer(4), Offset: 1292, Alignment: full word 0-64.20$ lis%d Reference argument, Derived type: lisdomain, Offset: 0, Alignment: quadruple word 0-64.20$ lis%d%domain Reference argument, Integer(4), Offset: 28, Alignment: full word 0-64.20$ lis%d%elev Reference argument, Integer(4), Offset: 12, Alignment: full word 0-64.20$ lis%d%elev_griddesc Reference argument, Real(4) (1:6), Offset: 296, Alignment: double word 0-64.20$ lis%d%glbnch Reference argument, Integer(4), Offset: 16, Alignment: quadruple word 0-64.20$ lis%d%glbngrid Reference argument, Integer(4), Offset: 24, Alignment: double word 0-64.20$ lis%d%gnc Reference argument, Integer(4), Offset: 36, Alignment: full word 0-64.20$ lis%d%gnr Reference argument, Integer(4), Offset: 40, Alignment: double word 0-64.20$ lis%d%griddesc Reference argument, Real(4) (1:50), Offset: 72, Alignment: double word 0-64.20$ lis%d%ic Reference argument, Integer(4), Offset: 52, Alignment: full word 0-64.20$ lis%d%ir Reference argument, Integer(4), Offset: 56, Alignment: double word 0-64.20$ lis%d%landcover Reference argument, Integer(4), Offset: 32, Alignment: quadruple word 0-64.20$ lis%d%lc_griddesc Reference argument, Real(4) (1:6), Offset: 320, Alignment: quadruple word 0-64.20$ lis%d%lnc Reference argument, Integer(4), Offset: 44, Alignment: full word 0-64.20$ lis%d%lnr Reference argument, Integer(4), Offset: 48, Alignment: quadruple word 0-64.20$ lis%d%lsm Reference argument, Integer(4), Offset: 4, Alignment: full word 0-64.20$ lis%d%maxt Reference argument, Integer(4), Offset: 60, Alignment: full word 0-64.20$ lis%d%mina Reference argument, Real(4), Offset: 64, Alignment: quadruple word 0-64.20$ lis%d%nch Reference argument, Integer(4), Offset: 0, Alignment: quadruple word 0-64.20$ lis%d%ngrid Reference argument, Integer(4), Offset: 20, Alignment: full word 0-64.20$ lis%d%soil Reference argument, Integer(4), Offset: 8, Alignment: double word 0-64.20$ lis%d%soil_griddesc Reference argument, Real(4) (1:6), Offset: 272, Alignment: quadruple word 0-64.20$ lis%d%udef Reference argument, Real(4), Offset: 68, Alignment: full word 0-64.20$ 0-109.11 0-110.11 0-111.11 0-112.11 0-113.13 0-114.13 0-115.11 lis%f Reference argument, Derived type: lisforcing, Offset: 344, Alignment: double word 0-64.20$ lis%f%ecor Reference argument, Integer(4), Offset: 348, Alignment: full word 0-64.20$ lis%f%f00_flag Reference argument, Integer(4), Offset: 404, Alignment: full word 0-64.20$ lis%f%f06_flag Reference argument, Integer(4), Offset: 408, Alignment: double word 0-64.20$ lis%f%findagrtime1 Reference argument, Integer(4), Offset: 396, Alignment: full word 0-64.20$ lis%f%findagrtime2 Reference argument, Integer(4), Offset: 400, Alignment: quadruple word 0-64.20$ lis%f%findtime1 Reference argument, Integer(4), Offset: 388, Alignment: full word 0-64.20$ lis%f%findtime2 Reference argument, Integer(4), Offset: 392, Alignment: double word 0-64.20$ lis%f%force Reference argument, Integer(4), Offset: 344, Alignment: double word 0-64.20$ lis%f%gpcpsrc Reference argument, Integer(4), Offset: 412, Alignment: full word 0-64.20$ lis%f%gridchange Reference argument, Integer(4), Offset: 368, Alignment: quadruple word 0-64.20$ lis%f%interp Reference argument, Integer(4), Offset: 372, Alignment: full word 0-64.20$ lis%f%latmax Reference argument, Integer(4), Offset: 376, Alignment: double word 0-64.20$ lis%f%longflag Reference argument, Integer(4), Offset: 384, Alignment: quadruple word 0-64.20$ lis%f%nf Reference argument, Integer(4), Offset: 356, Alignment: full word 0-64.20$ lis%f%nforce Reference argument, Integer(4), Offset: 352, Alignment: quadruple word 0-64.20$ lis%f%nmif Reference argument, Integer(4), Offset: 360, Alignment: double word 0-64.20$ lis%f%radsrc Reference argument, Integer(4), Offset: 416, Alignment: quadruple word 0-64.20$ lis%f%rstflag Reference argument, Integer(4), Offset: 364, Alignment: full word 0-64.20$ lis%f%shortflag Reference argument, Integer(4), Offset: 380, Alignment: full word 0-64.20$ lis%o Reference argument, Derived type: lisoutput, Offset: 1144, Alignment: double word 0-64.20$ lis%o%dfile Reference argument, Character(40), Offset: 1236, Alignment: full word 0-64.20$ lis%o%expcode Reference argument, Integer(4), Offset: 1164, Alignment: full word 0-64.20$ lis%o%fidgm Reference argument, Integer(4), Offset: 1180, Alignment: full word 0-64.20$ lis%o%fidtm Reference argument, Integer(4), Offset: 1188, Alignment: full word 0-64.20$ lis%o%foropen Reference argument, Integer(4), Offset: 1172, Alignment: full word 0-64.20$ lis%o%numoutf Reference argument, Integer(4), Offset: 1176, Alignment: double word 0-64.20$ lis%o%odir Reference argument, Character(40), Offset: 1196, Alignment: full word 0-64.20$ lis%o%rcgm Reference argument, Integer(4), Offset: 1184, Alignment: quadruple word 0-64.20$ lis%o%rctm Reference argument, Integer(4), Offset: 1192, Alignment: double word 0-64.20$ lis%o%startcode Reference argument, Integer(4), Offset: 1168, Alignment: quadruple word 0-64.20$ lis%o%wfor Reference argument, Integer(4), Offset: 1144, Alignment: double word 0-64.20$ lis%o%wout Reference argument, Integer(4), Offset: 1152, Alignment: quadruple word 0-64.20$ lis%o%wparam Reference argument, Integer(4), Offset: 1160, Alignment: double word 0-64.20$ lis%o%wsingle Reference argument, Integer(4), Offset: 1156, Alignment: full word 0-64.20$ lis%o%wtil Reference argument, Integer(4), Offset: 1148, Alignment: full word 0-64.20$ lis%p Reference argument, Derived type: lisparameters, Offset: 424, Alignment: double word 0-64.20$ lis%p%avhrrdir Reference argument, Character(40), Offset: 824, Alignment: double word 0-64.20$ lis%p%clfile Reference argument, Character(40), Offset: 584, Alignment: double word 0-64.20$ lis%p%elevfile Reference argument, Character(40), Offset: 944, Alignment: quadruple word 0-64.20$ lis%p%iscfile Reference argument, Character(40), Offset: 904, Alignment: double word 0-64.20$ lis%p%lai Reference argument, Integer(4), Offset: 424, Alignment: double word 0-64.20$ lis%p%laiflag Reference argument, Integer(4), Offset: 436, Alignment: full word 0-64.20$ lis%p%laitime Reference argument, Real(8), Offset: 984, Alignment: double word 0-64.20$ lis%p%mfile Reference argument, Character(50), Offset: 444, Alignment: full word 0-64.20$ lis%p%modisdir Reference argument, Character(40), Offset: 864, Alignment: quadruple word 0-64.20$ lis%p%nt Reference argument, Integer(4), Offset: 428, Alignment: full word 0-64.20$ lis%p%po1file Reference argument, Character(40), Offset: 624, Alignment: quadruple word 0-64.20$ lis%p%po2file Reference argument, Character(40), Offset: 664, Alignment: double word 0-64.20$ lis%p%po3file Reference argument, Character(40), Offset: 704, Alignment: quadruple word 0-64.20$ lis%p%safile Reference argument, Character(40), Offset: 544, Alignment: quadruple word 0-64.20$ lis%p%saiflag Reference argument, Integer(4), Offset: 440, Alignment: double word 0-64.20$ lis%p%saitime Reference argument, Real(8), Offset: 992, Alignment: quadruple word 0-64.20$ lis%p%sifile Reference argument, Character(40), Offset: 784, Alignment: quadruple word 0-64.20$ lis%p%slfile Reference argument, Character(40), Offset: 744, Alignment: double word 0-64.20$ lis%p%vclass Reference argument, Integer(4), Offset: 432, Alignment: quadruple word 0-64.20$ lis%p%vfile Reference argument, Character(50), Offset: 494, Alignment: half word 0-64.20$ lis%t Reference argument, Derived type: listime, Offset: 1000, Alignment: double word 0-64.20$ lis%t%da Reference argument, Integer(4), Offset: 1088, Alignment: quadruple word 0-64.20$ lis%t%doy Reference argument, Integer(4), Offset: 1076, Alignment: full word 0-64.20$ lis%t%eda Reference argument, Integer(4), Offset: 1048, Alignment: double word 0-64.20$ lis%t%edoy Reference argument, Integer(4), Offset: 1040, Alignment: quadruple word 0-64.20$ lis%t%egmt Reference argument, Real(4), Offset: 1132, Alignment: full word 0-64.20$ lis%t%ehr Reference argument, Integer(4), Offset: 1044, Alignment: full word 0-64.20$ lis%t%emn Reference argument, Integer(4), Offset: 1036, Alignment: full word 0-64.20$ lis%t%emo Reference argument, Integer(4), Offset: 1052, Alignment: full word 0-64.20$ lis%t%endcode Reference argument, Integer(4), Offset: 1028, Alignment: full word 0-64.20$ lis%t%endtime Reference argument, Integer(4), Offset: 1104, Alignment: quadruple word 0-64.20$ lis%t%ess Reference argument, Integer(4), Offset: 1032, Alignment: double word 0-64.20$ lis%t%etime Reference argument, Real(8), Offset: 1120, Alignment: quadruple word 0-64.20$ lis%t%eyr Reference argument, Integer(4), Offset: 1056, Alignment: quadruple word 0-64.20$ lis%t%gmt Reference argument, Real(4), Offset: 1128, Alignment: double word 0-64.20$ lis%t%hhmmss Reference argument, Integer(4), Offset: 1072, Alignment: quadruple word 0-64.20$ lis%t%hr Reference argument, Integer(4), Offset: 1092, Alignment: full word 0-64.20$ lis%t%mn Reference argument, Integer(4), Offset: 1096, Alignment: double word 0-64.20$ lis%t%mo Reference argument, Integer(4), Offset: 1084, Alignment: full word 0-64.20$ lis%t%pda Reference argument, Integer(4), Offset: 1108, Alignment: full word 0-64.20$ lis%t%sda Reference argument, Integer(4), Offset: 1016, Alignment: double word 0-64.20$ lis%t%sdoy Reference argument, Integer(4), Offset: 1004, Alignment: full word 0-64.20$ lis%t%sgmt Reference argument, Real(4), Offset: 1136, Alignment: quadruple word 0-64.20$ lis%t%shr Reference argument, Integer(4), Offset: 1012, Alignment: full word 0-64.20$ lis%t%smn Reference argument, Integer(4), Offset: 1008, Alignment: quadruple word 0-64.20$ lis%t%smo Reference argument, Integer(4), Offset: 1020, Alignment: full word 0-64.20$ lis%t%ss Reference argument, Integer(4), Offset: 1100, Alignment: full word 0-64.20$ lis%t%sss Reference argument, Integer(4), Offset: 1000, Alignment: double word 0-64.20$ lis%t%syr Reference argument, Integer(4), Offset: 1024, Alignment: quadruple word 0-64.20$ lis%t%time Reference argument, Real(8), Offset: 1112, Alignment: double word 0-64.20$ lis%t%ts Reference argument, Integer(4), Offset: 1060, Alignment: full word 0-64.20$ lis%t%tscount Reference argument, Integer(4), Offset: 1064, Alignment: double word 0-64.20$ lis%t%yr Reference argument, Integer(4), Offset: 1080, Alignment: double word 0-64.20$ lis%t%yyyymmdd Reference argument, Integer(4), Offset: 1068, Alignment: full word 0-64.20$ lis_log_msg External Subroutine 0-258.17 0-259.17 0-260.17 lis_module Use associated, Nonintrinsic Module 0-61.7$ 0-61.7 lisassimil Use associated, Derived type definition 0-61.7$ lisdec Use associated, Derived type definition 0-61.7$ 0-64.9 lisdomain Use associated, Derived type definition 0-61.7$ lisforcing Use associated, Derived type definition 0-61.7$ lisoutput Use associated, Derived type definition 0-61.7$ lisparameters Use associated, Derived type definition 0-61.7$ listime Use associated, Derived type definition 0-61.7$ lmbtime Automatic, Real(4), Offset: 0, Alignment: full word 0-95.8$ 0-201.33 0-202.10 0-207.30 lnc Use associated, Integer(4), Component of Derived type definition: lisdomain, Offset: 44, Alignment: full word 0-61.7$ lnr Use associated, Integer(4), Component of Derived type definition: lisdomain, Offset: 48, Alignment: full word 0-61.7$ localtime External Subroutine 0-128.11 0-131.11 0-134.11 0-164.14 0-197.11 0-199.11 0-201.11 lon Reference argument, Real(4), Offset: 0, Alignment: full word 0-67.25$ 0-57.29 0-128.28 0-130.21 0-131.28 0-133.21 0-134.29 0-136.21 0-164.29 0-165.24 0-197.28 0-199.28 0-201.29 0-203.22 0-205.22 0-207.22 longflag Use associated, Integer(4), Component of Derived type definition: lisforcing, Offset: 40, Alignment: full word 0-61.7$ lsm Use associated, Integer(4), Component of Derived type definition: lisdomain, Offset: 4, Alignment: full word 0-61.7$ maxt Use associated, Integer(4), Component of Derived type definition: lisdomain, Offset: 60, Alignment: full word 0-61.7$ mbtime Reference argument, Real(4), Offset: 0, Alignment: full word 0-69.21$ 0-58.6 0-121.7 0-134.22 0-135.19 0-201.22 0-202.21 0-231.28 0-232.25 0-234.34 0-237.28 0-238.31 0-240.28 mfile Use associated, Character(50), Component of Derived type definition: lisparameters, Offset: 20, Alignment: byte 0-61.7$ mina Use associated, Real(4), Component of Derived type definition: lisdomain, Offset: 64, Alignment: full word 0-61.7$ mn Use associated, Integer(4), Component of Derived type definition: listime, Offset: 96, Alignment: full word 0-61.7$ mo Use associated, Integer(4), Component of Derived type definition: listime, Offset: 84, Alignment: full word 0-61.7$ modisdir Use associated, Character(40), Component of Derived type definition: lisparameters, Offset: 440, Alignment: byte 0-61.7$ nch Use associated, Integer(4), Component of Derived type definition: lisdomain, Offset: 0, Alignment: full word 0-61.7$ nf Use associated, Integer(4), Component of Derived type definition: lisforcing, Offset: 12, Alignment: full word 0-61.7$ nforce Use associated, Integer(4), Component of Derived type definition: lisforcing, Offset: 8, Alignment: full word 0-61.7$ ngrid Use associated, Integer(4), Component of Derived type definition: lisdomain, Offset: 20, Alignment: full word 0-61.7$ nmif Use associated, Integer(4), Component of Derived type definition: lisforcing, Offset: 16, Alignment: full word 0-61.7$ nt Use associated, Integer(4), Component of Derived type definition: lisparameters, Offset: 4, Alignment: full word 0-61.7$ numoutf Use associated, Integer(4), Component of Derived type definition: lisoutput, Offset: 32, Alignment: full word 0-61.7$ o Use associated, Derived type: lisoutput, Component of Derived type definition: lisdec, Offset: 1144, Alignment: full word 0-61.7$ odir Use associated, Character(40), Component of Derived type definition: lisoutput, Offset: 52, Alignment: byte 0-61.7$ p Use associated, Derived type: lisparameters, Component of Derived type definition: lisdec, Offset: 424, Alignment: double word 0-61.7$ pda Use associated, Integer(4), Component of Derived type definition: listime, Offset: 108, Alignment: full word 0-61.7$ po1file Use associated, Character(40), Component of Derived type definition: lisparameters, Offset: 200, Alignment: byte 0-61.7$ po2file Use associated, Character(40), Component of Derived type definition: lisparameters, Offset: 240, Alignment: byte 0-61.7$ po3file Use associated, Character(40), Component of Derived type definition: lisparameters, Offset: 280, Alignment: byte 0-61.7$ radsrc Use associated, Integer(4), Component of Derived type definition: lisforcing, Offset: 72, Alignment: full word 0-61.7$ rbias Use associated, Integer(4), Component of Derived type definition: lisassimil, Offset: 4, Alignment: full word 0-61.7$ rcgm Use associated, Integer(4), Component of Derived type definition: lisoutput, Offset: 40, Alignment: full word 0-61.7$ rctm Use associated, Integer(4), Component of Derived type definition: lisoutput, Offset: 48, Alignment: full word 0-61.7$ rdbc Use associated, Integer(4), Component of Derived type definition: lisassimil, Offset: 12, Alignment: full word 0-61.7$ ribc Use associated, Integer(4), Component of Derived type definition: lisassimil, Offset: 8, Alignment: full word 0-61.7$ rpsas Use associated, Integer(4), Component of Derived type definition: lisassimil, Offset: 0, Alignment: full word 0-61.7$ rsdbc Use associated, Integer(4), Component of Derived type definition: lisassimil, Offset: 16, Alignment: full word 0-61.7$ rstflag Use associated, Integer(4), Component of Derived type definition: lisforcing, Offset: 20, Alignment: full word 0-61.7$ safile Use associated, Character(40), Component of Derived type definition: lisparameters, Offset: 120, Alignment: byte 0-61.7$ saiflag Use associated, Integer(4), Component of Derived type definition: lisparameters, Offset: 16, Alignment: full word 0-61.7$ saitime Use associated, Real(8), Component of Derived type definition: lisparameters, Offset: 568, Alignment: double word 0-61.7$ sda Use associated, Integer(4), Component of Derived type definition: listime, Offset: 16, Alignment: full word 0-61.7$ sdoy Use associated, Integer(4), Component of Derived type definition: listime, Offset: 4, Alignment: full word 0-61.7$ sgmt Use associated, Real(4), Component of Derived type definition: listime, Offset: 136, Alignment: full word 0-61.7$ shortflag Use associated, Integer(4), Component of Derived type definition: lisforcing, Offset: 36, Alignment: full word 0-61.7$ shr Use associated, Integer(4), Component of Derived type definition: listime, Offset: 12, Alignment: full word 0-61.7$ sifile Use associated, Character(40), Component of Derived type definition: lisparameters, Offset: 360, Alignment: byte 0-61.7$ slfile Use associated, Character(40), Component of Derived type definition: lisparameters, Offset: 320, Alignment: byte 0-61.7$ smn Use associated, Integer(4), Component of Derived type definition: listime, Offset: 8, Alignment: full word 0-61.7$ smo Use associated, Integer(4), Component of Derived type definition: listime, Offset: 20, Alignment: full word 0-61.7$ soil Use associated, Integer(4), Component of Derived type definition: lisdomain, Offset: 8, Alignment: full word 0-61.7$ soil_griddesc Use associated, Real(4) (1:6), Component of Derived type definition: lisdomain, Offset: 272, Alignment: full word 0-61.7$ ss Use associated, Integer(4), Component of Derived type definition: listime, Offset: 100, Alignment: full word 0-61.7$ sss Use associated, Integer(4), Component of Derived type definition: listime, Offset: 0, Alignment: full word 0-61.7$ startcode Use associated, Integer(4), Component of Derived type definition: lisoutput, Offset: 24, Alignment: full word 0-61.7$ syr Use associated, Integer(4), Component of Derived type definition: listime, Offset: 24, Alignment: full word 0-61.7$ t Use associated, Derived type: listime, Component of Derived type definition: lisdec, Offset: 1000, Alignment: double word 0-61.7$ time Use associated, Real(8), Component of Derived type definition: listime, Offset: 112, Alignment: double word 0-61.7$ totangle Automatic, Real(4), Offset: 0, Alignment: full word 0-93.26$ 0-108.3@ 0-154.6@ 0-167.9@ 0-167.18 0-182.16 ts Use associated, Integer(4), Component of Derived type definition: listime, Offset: 60, Alignment: full word 0-61.7$ tscount Use associated, Integer(4), Component of Derived type definition: listime, Offset: 64, Alignment: full word 0-61.7$ udef Use associated, Real(4), Component of Derived type definition: lisdomain, Offset: 68, Alignment: full word 0-61.7$ vclass Use associated, Integer(4), Component of Derived type definition: lisparameters, Offset: 8, Alignment: full word 0-61.7$ vfile Use associated, Character(50), Component of Derived type definition: lisparameters, Offset: 70, Alignment: byte 0-61.7$ weight1 Reference argument, Real(4), Offset: 0, Alignment: full word 0-83.21$ 0-58.21 0-111.3@ 0-138.9@ 0-184.9@ 0-186.9@ 0-216.9@ 0-221.15@ 0-225.15@ 0-254.15@ 0-263.12@ weight2 Reference argument, Real(4), Offset: 0, Alignment: full word 0-87.21$ 0-58.29 0-112.3@ 0-139.9@ 0-187.9@ 0-217.9@ 0-222.15@ 0-226.15@ 0-255.15@ 0-264.12@ weightb Automatic, Real(4), Offset: 0, Alignment: full word 0-95.38$ 0-110.3@ 0-252.15@ 0-254.44 weighte Automatic, Real(4), Offset: 0, Alignment: full word 0-95.30$ 0-109.3@ 0-251.15@ 0-255.44 wfor Use associated, Integer(4), Component of Derived type definition: lisoutput, Offset: 0, Alignment: full word 0-61.7$ wout Use associated, Integer(4), Component of Derived type definition: lisoutput, Offset: 8, Alignment: full word 0-61.7$ wparam Use associated, Integer(4), Component of Derived type definition: lisoutput, Offset: 16, Alignment: full word 0-61.7$ wsingle Use associated, Integer(4), Component of Derived type definition: lisoutput, Offset: 12, Alignment: full word 0-61.7$ wtil Use associated, Integer(4), Component of Derived type definition: lisoutput, Offset: 4, Alignment: full word 0-61.7$ yr Use associated, Integer(4), Component of Derived type definition: listime, Offset: 80, Alignment: full word 0-61.7$ yyyymmdd Use associated, Integer(4), Component of Derived type definition: listime, Offset: 68, Alignment: full word 0-61.7$ zone Automatic, Integer(4), Offset: 0, Alignment: full word 0-98.11$ 0-128.39 0-130.36 0-131.39 0-133.36 0-134.39 0-136.35 0-164.39 0-165.38 zonebtime Automatic, Integer(4), Offset: 0, Alignment: full word 0-97.21$ 0-197.39 0-203.37 zoneetime Automatic, Integer(4), Offset: 0, Alignment: full word 0-97.11$ 0-199.39 0-205.37 zonembtime Automatic, Integer(4), Offset: 0, Alignment: full word 0-97.31$ 0-201.41 0-207.38 zterp Subroutine 0-57.12$ ** zterp === End of Compilation 1 === >>>>> COMPILATION UNIT EPILOGUE SECTION <<<<< FORTRAN Summary of Diagnosed Conditions TOTAL UNRECOVERABLE SEVERE ERROR WARNING INFORMATIONAL (U) (S) (E) (W) (I) 0 0 0 0 0 0 >>>>> OPTIONS SECTION <<<<< *** Options In Effect *** == On / Off Options == CR DBG ESCAPE FULLPATH I4 INLGLUE NOLIBESSL NOLIBPOSIX OBJECT SOURCE STRICT SWAPOMP THREADED UNWIND ZEROSIZE == Options Of Integer Type == ALIAS_SIZE(65536) MAXMEM(-1) OPTIMIZE(2) SPILLSIZE(2000) STACKTEMP(0) == Options Of Character Type == 64(LARGETYPE) ALIAS(STD,NOINTPTR) ALIGN(BINDC(POWER),STRUCT(NATURAL)) ARCH(PWR6) ATTR(FULL) AUTODBL(NONE) DESCRIPTOR(V1) DIRECTIVE(IBM*,IBMT) ENUM() FLAG(I,I) FLOAT(RNDSNGL,MAF,FOLD,RNGCHK,SINGLE) FREE(F90) HALT(S) IEEE(NEAR) INTSIZE(4) LANGLVL(EXTENDED) REALSIZE(4) NOSAVE() TUNE(PWR6) UNROLL(AUTO) XREF(FULL) XLF2003(NOPOLYMORPHIC,NOBOZLITARGS,NOSTOPEXCEPT,NOVOLATILE,NOAUTOREALLOC,OLDNANINF) XLF77(LEADZERO,BLANKPAD) XLF90(NOSIGNEDZERO,NOAUTODEALLOC,OLDPAD) >>>>> SOURCE SECTION <<<<< 272 | 273 |!BOP 274 |! 275 |! !ROUTINE: coszenith 276 |! 277 |! !DESCRIPTION: 278 |! 279 |! 1) Day angle (GAMMA) 280 |! 281 |! 2) Solar DEClination 282 |! 283 |! 3) Equation of time 284 |! 285 |! 4) Local apparent time 286 |! 287 |! 5) Hour angle 288 |! 289 |! 6) Cosine of zenith angle 290 |! 291 |! All equations come from "An Introduction to 292 |! Solar Radition" By Muhammad Iqbal, 1983. 293 |! 294 |! !INTERFACE: 295 |subroutine coszenith (lon,latd,lhour,zone,julian,czenith) 296 | 297 | implicit none 298 |! !ARGUMENTS: 299 | integer :: zone ! time zone (1-24) gmt=12 300 | integer :: julian ! julian day 301 | real :: czenith ! cosine of zenith angle (radians) 302 | real :: dec ! solar declination (radians) 303 | real :: et ! equation of time (minutes) 304 | real :: gamma ! day angle (radians) 305 | real :: latime ! local apparent time 306 | real :: lcorr ! longitudical correction 307 | real :: lhour ! local standard time 308 | real :: lon ! local longitude (deg) 309 | real :: llat ! local latitude in radians 310 | real :: latd ! local latitude in degrees 311 | real :: ls ! standard longitude (deg) 312 | real :: omegad ! omega in degrees 313 | real :: omega ! omega in radians 314 | real :: pi ! universal constant pi [-] 315 | real :: zenith ! zenith angle(radians) 316 |!EOP 317 |!BOC 318 |!------------------------------------------------------------------------- 319 |! Neither ZENITH nor ZEND are necessary for this program. 320 |! I originally used them as checks, and left them here in 321 |! case anyone else had a use for them. 322 |! 323 |! 1) Day angle GAMMA (radians) page 3 324 |!------------------------------------------------------------------------- 325 | pi= 3.141592 ! universal constant pi 326 | gamma=2*pi*(julian-1)/365. 327 |!----------------------------------------------------------------------- 328 |! 2) Solar declination (assumed constant for a 24 hour period) page 7 329 |! in radians 330 |!----------------------------------------------------------------------- 331 | dec=(0.006918-0.399912*cos(gamma)+0.070257*sin(gamma) & 332 | -0.006758*cos(2*gamma)+0.000907*sin(2*gamma) & 333 | -0.002697*cos(3*gamma)+0.00148*sin(3*gamma)) 334 |!----------------------------------------------------------------------- 335 |! maximum error 0.0006 rad (<3'), leads to error of less than 1/2 degree 336 |! in ZENITH angle 337 |! 3) Equation of time page 11 338 |!----------------------------------------------------------------------- 339 | 340 | et=(0.000075+0.001868*cos(gamma)-0.032077*sin(gamma) & 341 | -0.014615*cos(2*gamma)-0.04089*sin(2*gamma))*229.18 342 |!----------------------------------------------------------------------- 343 |! 4) Local apparent time page 13 344 |! 345 |! LS standard longitude (nearest 15 degree meridian) 346 |! LON local longitude 347 |! LHOUR local standard time 348 |! LATIME local apparent time 349 |! LCORR longitudunal correction (minutes) 350 |!----------------------------------------------------------------------- 351 | ls=((zone-1)*15)-180. 352 | lcorr=4.*(ls-lon)*(-1) 353 | latime=lhour+lcorr/60.+et/60. 354 | if (latime.lt.0.) latime=latime+24 355 | if (latime.gt.24.) latime=latime-24 356 |!----------------------------------------------------------------------- 357 |! 5) Hour angle OMEGA page 15 358 |! 359 |! hour angle is zero at noon, postive in the morning 360 |! It ranges from 180 to -180 361 |! 362 |! OMEGAD is OMEGA in degrees, OMEGA is in radians 363 |!----------------------------------------------------------------------- 364 | OMEGAD=(LATime-12.)*(-15.) 365 | OMEGA=OMEGAD*PI/180. 366 |!----------------------------------------------------------------------- 367 |! 6) Zenith angle page 15 368 |! 369 |! CZENITH cosine of zenith angle (radians) 370 |! LATD=local latitude in degrees 371 |! LLAT=local latitude in radians 372 |!----------------------------------------------------------------------- 373 | llat=latd*pi/180. 374 | czenith=sin(dec)*sin(llat)+cos(dec)*cos(llat)*cos(omega) 375 | czenith=amax1(0.,czenith) 376 | zenith=asin(czenith) 377 | return 378 |!EOC 379 |end subroutine coszenith >>>>> ATTRIBUTE AND CROSS REFERENCE SECTION <<<<< IDENTIFIER NAME CROSS REFERENCE AND ATTRIBUTES amax1 Pure Intrinsic Real(4) 0-375.11 asin Pure Intrinsic 0-376.10 cos Pure Intrinsic 0-331.26 0-332.18 0-333.18 0-340.25 0-341.18 0-374.30 0-374.39 0-374.49 coszenith Subroutine 0-295.12$ czenith Reference argument, Real(4), Offset: 0, Alignment: full word 0-301.12$ 0-295.50 0-374.3@ 0-375.3@ 0-375.20 0-376.15 dec Automatic, Real(4), Offset: 0, Alignment: full word 0-302.12$ 0-331.3@ 0-374.15 0-374.34 et Automatic, Real(4), Offset: 0, Alignment: full word 0-303.12$ 0-340.3@ 0-353.26 gamma Automatic, Real(4), Offset: 0, Alignment: full word 0-304.12$ 0-326.3@ 0-331.30 0-331.50 0-332.24 0-332.46 0-333.24 0-333.45 0-340.29 0-340.49 0-341.24 0-341.45 julian Reference argument, Integer(4), Offset: 0, Alignment: full word 0-300.14$ 0-295.43 0-326.15 latd Reference argument, Real(4), Offset: 0, Alignment: full word 0-310.12$ 0-295.27 0-373.8 latime Automatic, Real(4), Offset: 0, Alignment: full word 0-305.12$ 0-353.3@ 0-354.7 0-354.21@ 0-354.28 0-355.7 0-355.22@ 0-355.29 0-364.11 lcorr Automatic, Real(4), Offset: 0, Alignment: full word 0-306.12$ 0-352.3@ 0-353.16 lhour Reference argument, Real(4), Offset: 0, Alignment: full word 0-307.12$ 0-295.32 0-353.10 llat Automatic, Real(4), Offset: 0, Alignment: full word 0-309.12$ 0-373.3@ 0-374.24 0-374.43 lon Reference argument, Real(4), Offset: 0, Alignment: full word 0-308.12$ 0-295.23 0-352.16 ls Automatic, Real(4), Offset: 0, Alignment: full word 0-311.12$ 0-351.3@ 0-352.13 omega Automatic, Real(4), Offset: 0, Alignment: full word 0-313.12$ 0-365.3@ 0-374.53 omegad Automatic, Real(4), Offset: 0, Alignment: full word 0-312.12$ 0-364.3@ 0-365.9 pi Automatic, Real(4), Offset: 0, Alignment: full word 0-314.12$ 0-325.3@ 0-326.11 0-365.16 0-373.13 sin Pure Intrinsic 0-331.46 0-332.40 0-333.39 0-340.45 0-341.39 0-374.11 0-374.20 zenith Automatic, Real(4), Offset: 0, Alignment: full word 0-315.12$ 0-376.3@ zone Reference argument, Integer(4), Offset: 0, Alignment: full word 0-299.14$ 0-295.38 0-351.8 ** coszenith === End of Compilation 2 === >>>>> COMPILATION UNIT EPILOGUE SECTION <<<<< FORTRAN Summary of Diagnosed Conditions TOTAL UNRECOVERABLE SEVERE ERROR WARNING INFORMATIONAL (U) (S) (E) (W) (I) 0 0 0 0 0 0 >>>>> OPTIONS SECTION <<<<< *** Options In Effect *** == On / Off Options == CR DBG ESCAPE FULLPATH I4 INLGLUE NOLIBESSL NOLIBPOSIX OBJECT SOURCE STRICT SWAPOMP THREADED UNWIND ZEROSIZE == Options Of Integer Type == ALIAS_SIZE(65536) MAXMEM(-1) OPTIMIZE(2) SPILLSIZE(2000) STACKTEMP(0) == Options Of Character Type == 64(LARGETYPE) ALIAS(STD,NOINTPTR) ALIGN(BINDC(POWER),STRUCT(NATURAL)) ARCH(PWR6) ATTR(FULL) AUTODBL(NONE) DESCRIPTOR(V1) DIRECTIVE(IBM*,IBMT) ENUM() FLAG(I,I) FLOAT(RNDSNGL,MAF,FOLD,RNGCHK,SINGLE) FREE(F90) HALT(S) IEEE(NEAR) INTSIZE(4) LANGLVL(EXTENDED) REALSIZE(4) NOSAVE() TUNE(PWR6) UNROLL(AUTO) XREF(FULL) XLF2003(NOPOLYMORPHIC,NOBOZLITARGS,NOSTOPEXCEPT,NOVOLATILE,NOAUTOREALLOC,OLDNANINF) XLF77(LEADZERO,BLANKPAD) XLF90(NOSIGNEDZERO,NOAUTODEALLOC,OLDPAD) >>>>> SOURCE SECTION <<<<< 380 |#line 382 382 |!BOP 383 |! 384 |! !ROUTINE: localtime 385 |! 386 |! !DESCRIPTION: 387 |! 388 |! Calculates the local time based on GMT 389 |! 390 |! !INTERFACE: 391 |subroutine localtime (gmt,lon,lhour,zone) 392 |! !ARGUMENTS: 393 | real:: gmt ! GMT time (0-23) 394 | real:: lon ! longitude in degrees 395 | real:: change ! the change in number of hours between 396 | real:: lhour ! local hour (0-23) 0= midnight, 23= 11:00 p.m. 397 | 398 | integer:: i ! working integer 399 | integer:: zone ! time zone (1-24) 400 |!EOP 401 |!BOC 402 |!---------------------------------------------------------------------- 403 |! Determine into which time ZONE (15 degree interval) the 404 |! longitude falls. 405 |!---------------------------------------------------------------------- 406 | do i=1,25 407 | if (lon.lt.(-187.5+(15*i))) then 408 | zone=i 409 | if (zone.eq.25) zone=1 410 | go to 60 411 | end if 412 | end do 413 |!---------------------------------------------------------------------- 414 |! Calculate change (in number of hours) from GMT time to 415 |! local hour. Change will be negative for zones < 13 and 416 |! positive for zones > 13. 417 |! There is also a correction for LHOUR < 0 and LHOUR > 23 418 |! to LHOUR between 0 and 23. 419 |!---------------------------------------------------------------------- 420 |60 if (zone.lt.13) then 421 | change=zone-13 422 | lhour=gmt+change 423 | elseif (zone.eq.13) then 424 | lhour=gmt 425 | else 426 | change=zone-13 427 | lhour=gmt+change 428 | end if 429 | if (lhour.lt.0) lhour=lhour+24 430 | if (lhour.gt.23) lhour=lhour-24 431 | return 432 |!EOC 433 |end subroutine localtime >>>>> ATTRIBUTE AND CROSS REFERENCE SECTION <<<<< IDENTIFIER NAME CROSS REFERENCE AND ATTRIBUTES change Automatic, Real(4), Offset: 0, Alignment: full word 0-395.10$ 0-421.6@ 0-422.16 0-426.6@ 0-427.16 gmt Reference argument, Real(4), Offset: 0, Alignment: full word 0-393.10$ 0-391.23 0-422.12 0-424.12 0-427.12 i Automatic, Integer(4), Offset: 0, Alignment: full word 0-398.14$ 0-406.6@ 0-407.29 0-408.14 lhour Reference argument, Real(4), Offset: 0, Alignment: full word 0-396.10$ 0-391.31 0-422.6@ 0-424.6@ 0-427.6@ 0-429.7 0-429.19@ 0-429.25 0-430.7 0-430.20@ 0-430.26 localtime Subroutine 0-391.12$ lon Reference argument, Real(4), Offset: 0, Alignment: full word 0-394.10$ 0-391.27 0-407.10 zone Reference argument, Integer(4), Offset: 0, Alignment: full word 0-399.13$ 0-391.37 0-408.9@ 0-409.13 0-409.25@ 0-420.8 0-421.13 0-423.11 0-426.13 ** localtime === End of Compilation 3 === >>>>> COMPILATION UNIT EPILOGUE SECTION <<<<< FORTRAN Summary of Diagnosed Conditions TOTAL UNRECOVERABLE SEVERE ERROR WARNING INFORMATIONAL (U) (S) (E) (W) (I) 0 0 0 0 0 0 >>>>> FILE TABLE SECTION <<<<< FILE CREATION FROM FILE NO FILENAME DATE TIME FILE LINE 0 ../core/zterp.F 03/09/11 11:04:57 >>>>> COMPILATION EPILOGUE SECTION <<<<< FORTRAN Summary of Diagnosed Conditions TOTAL UNRECOVERABLE SEVERE ERROR WARNING INFORMATIONAL (U) (S) (E) (W) (I) 0 0 0 0 0 0 Source records read....................................... 433 1501-510 Compilation successful for file zterp.F. 1501-543 Object file created.