Page 1 Source Listing AVH_BRIG 2012-12-13 18:36 func.f90 1 real function avh_brig(r,l,ier) 2 !BUT/PURPOSE 3 ! convert an avhrr ir channel l radiance into brightness temperature 4 ! using band correction coefficients and central wave numbers 5 ! already read from avhrr calibration coefficient file 6 ! and stored into cavh_cpi.h 7 ! 8 ! (another way to develop later is to use 1B avhrr header variables 9 ! from avh_h_radtempcnv array) 10 ! 11 !DESCRIPTION 12 ! FORTRAN 77 with UKMO/METEO-FRANCE accepted extensions 13 ! 14 !PROPRIETAIRE/OWNER 15 ! Marcel Derrien 16 ! 17 !HISTORIQUE/HISTORY (MODIFICATIONS/CHANGES) 18 !(version date comment ) 19 ! 1.0 Nov. 95 initial Marcel Derrien 20 ! 21 !ARGUMENTS 22 ! input real r 23 ! input integer l ir channel order 24 ! 1 for channle 3B 25 ! 2 for channel 4 26 ! 3 for channel 5 27 ! output real brightness temperature 28 ! output ier exit status 0 =ok 29 !FUNCTIONS AND SUBROUTINES CALLS (RETURN CODES FOR FUNCTIONS) 30 ! 31 ! 32 ! 33 !COPYRIGHT (c) Meteo-France (EVOLUNIX - ATOVS - EUMETSAT project <1994>) 34 ! 35 ! 36 !DECLARATIONS 37 ! 38 implicit none 39 ! 40 ! identification variable for "what" 41 character*62 sccsid 42 ! 43 data sccsid/'@(#) avh_brig.F version 1.1 on 3/24/98'/ 44 ! 45 !arguments 46 real r 47 integer l 48 integer ier 49 !commons 50 include 'cavh_cpi.inc' 51 !local variables 143 real alge,expn,tt 144 integer k 145 !functions 146 intrinsic alog 147 !- 148 ier = 1 Page 2 Source Listing AVH_BRIG 2012-12-13 18:36 func.f90 149 k = l 150 avh_brig = 0.0 151 152 if (k.ge.1 .or. k.le.3) then 153 if(r.lt.0.) r = 1.e-12 154 expn = planck1(k)/r + 1. 155 if (expn.ge.1.) then 156 alge = alog(expn) 157 if (alge.ge.1.) then 158 tt = planck2(k)/alge 159 ! 160 ! Xu Li: 11/03/2005: band correction Tb = (T* - A) / B 161 ! T* is the equavilent black body temperature (brightness temperature) calculated by plank function 162 ! Tb is the BT after band correction 163 ! How to apply the band corretion depends on the definition of A & B! 164 ! After comparing A & B read from GAC 1b data set with those on NOAA web site, Dr. Chao pointed out 165 ! that the band correction should be done (with the read A & B) as follows: 166 ! Tb = A + B x T* 167 ! 168 ! avh_brig = (tt-avh_bandcor(2 ,k))/avh_bandcor(3,k) 169 170 avh_brig = avh_bandcor(2 ,k) + avh_bandcor(3,k)*tt 171 172 ier = 0 173 endif 174 endif 175 endif 176 end function avh_brig Page 3 Source Listing AVH_BRIG 2012-12-13 18:36 Entry Points func.f90 ENTRY POINTS Name avh_brig_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References ALGE Local 52 R(4) 4 scalar 65,66,67 ALOG Func 55 scalar 65 AVH_BANDCOR Scalar 71 R(8) 8 2 9 COM 79 AVH_BRIG Func 1 R(4) 4 scalar 59,79 AVH_BRIG@0 Local 1 R(4) 4 scalar A_RADCOR Scalar 60 R(4) 4 1 3 COM BB_MAX Scalar 53 I(4) 4 1 3 COM BB_MIN Scalar 53 I(4) 4 1 3 COM B_RADCOR Scalar 60 R(4) 4 1 3 COM C1 Scalar 24 R(8) 8 scalar COM C2 Scalar 24 R(8) 8 scalar COM CAVHCPIDS Common 83 2000 CONV_PRT Scalar 25 R(4) 4 2 20 COM CPLANCK Common 91 64 CTH_MAX Scalar 55 I(4) 4 1 4 COM CTH_MIN Scalar 55 I(4) 4 1 4 COM C_RADCOR Scalar 60 R(4) 4 1 3 COM EXPN Local 52 R(4) 4 scalar 63,64,65 IER Dummy 1 I(4) 4 scalar ARG,INOUT 57,81 IR_CENTWA Scalar 48 R(4) 4 2 12 COM IR_NRESP Scalar 45 R(8) 8 2 180 COM IR_STARTWA Scalar 42 R(8) 8 1 3 COM IR_WAVINC Scalar 42 R(8) 8 1 3 COM IT1 Scalar 46 I(4) 4 1 4 COM IT2 Scalar 46 I(4) 4 1 4 COM K Local 53 I(4) 4 scalar 58,61,63,67,79 L Dummy 1 I(4) 4 scalar ARG,INOUT 58 NBVISCHN Scalar 16 I(4) 4 scalar COM PLANCK1 Scalar 90 R(8) 8 1 3 COM 63 PLANCK2 Scalar 90 R(8) 8 1 3 COM 67 R Dummy 1 R(4) 4 scalar ARG,INOUT 62,63 RSP Scalar 70 R(4) 4 1 3 COM SCCSID Local 41 CHAR 62 scalar 43 SP_MAX Scalar 50 I(4) 4 1 6 COM SP_MIN Scalar 50 I(4) 4 1 6 COM TT Local 52 R(4) 4 scalar 67,79 VERSDY Scalar 22 I(4) 4 scalar COM VERSNB Scalar 18 I(4) 4 scalar COM VERSYR Scalar 20 I(4) 4 scalar COM VIS_CNTLIM Scalar 58 I(4) 4 1 3 COM VIS_ECWA Scalar 36 R(4) 4 1 3 COM VIS_EQWI Scalar 36 R(4) 4 1 3 COM VIS_INT Scalar 30 R(4) 4 2 6 COM VIS_ISI Scalar 36 R(4) 4 1 3 COM Page 4 Source Listing AVH_BRIG 2012-12-13 18:36 Symbol Table func.f90 Name Object Declared Type Bytes Dimen Elements Attributes References VIS_SLOPE Scalar 30 R(4) 4 2 6 COM WEIGHT_PRT Scalar 28 R(4) 4 1 4 COM Page 5 Source Listing AVH_BRIG 2012-12-13 18:36 func.f90 177 178 real function avh_cir_r(r,c) 179 !BUT/PURPOSE 180 ! returns the Kelvin corresponding to the radiance r from avhrr 181 ! channel c 182 ! 183 !DESCRIPTION 184 ! FORTRAN 77 with UKMO/METEO-FRANCE accepted extensions 185 ! 186 !PROPRIETAIRE/OWNER 187 ! Marcel Derrien 188 ! 189 !HISTORIQUE/HISTORY (MODIFICATIONS/CHANGES) 190 !(version date comment ) 191 ! 1.0 Nov. 95 initial Marcel Derrien 192 ! 193 !ARGUMENTS 194 ! input real r 195 ! input integer c ir channel order 196 ! 1 for channle 3B 197 ! 2 for channel 4 198 ! 3 for channel 5 199 ! output ier exit status 0 =ok 200 ! 201 ! 202 !FUNCTIONS AND SUBROUTINES CALLS (RETURN CODES FOR FUNCTIONS) 203 ! 204 !COPYRIGHT (c) Meteo-France (EVOLUNIX - ATOVS - EUMETSAT project <1994>) 205 ! 206 !DECLARATIONS 207 ! 208 implicit none 209 ! 210 ! identification variable for "what" 211 character*62 sccsid 212 ! 213 data sccsid/'@(#) avh_cir_r.F version 1.1 on 3/24/98'/ 214 ! arguments 215 real r 216 integer c 217 !commons 218 real rbeg(3),rstep(3),rend(3) 219 real tconv(4000,3) 220 common/temp_conv/rbeg,rstep,rend,tconv 221 ! local variables 222 integer k 223 !functions 224 !- 225 k = int( ( r - rbeg(c) ) / rstep(c) ) + 1 226 !-saturations ? 227 if(k.lt.1) then 228 avh_cir_r = tconv(1,c) 229 else if(k.ge.4000) then 230 avh_cir_r = tconv(4000,c) 231 else 232 ! 233 ! interpolation between k and k+1 Page 6 Source Listing AVH_CIR_R 2012-12-13 18:36 func.f90 234 ! 235 avh_cir_r = tconv(k,c) + ( tconv(k+1,c) -tconv(k,c) ) * & 236 ( r - ( rbeg(c) + (k-1)*rstep(c)) ) / rstep(c) 237 endif 238 239 end function avh_cir_r ENTRY POINTS Name avh_cir_r_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References AVH_CIR_R Func 87 R(4) 4 scalar 137,139,144 AVH_CIR_R@0 Local 87 R(4) 4 scalar C Dummy 87 I(4) 4 scalar ARG,INOUT 134,137,139,144,145 INT Func 134 scalar 134 K Local 131 I(4) 4 scalar 134,136,138,144,145 R Dummy 87 R(4) 4 scalar ARG,INOUT 134,145 RBEG Scalar 127 R(4) 4 1 3 COM 134,145 REND Scalar 127 R(4) 4 1 3 COM RSTEP Scalar 127 R(4) 4 1 3 COM 134,145 SCCSID Local 120 CHAR 62 scalar 122 TCONV Scalar 128 R(4) 4 2 12000 COM 137,139,144 TEMP_CONV Common 129 48036 Page 7 Source Listing AVH_CIR_R 2012-12-13 18:36 func.f90 240 241 Page 8 Source Listing AVH_CIR_R 2012-12-13 18:36 Subprograms/Common Blocks func.f90 SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References AVH_BRIG Func 1 R(4) 4 scalar 59,79 AVH_CIR_R Func 87 R(4) 4 scalar 137,139,144 CAVHCPIDS Common 83 2000 CPLANCK Common 91 64 TEMP_CONV Common 129 48036 COMPILER OPTIONS BEING USED -align nocommons -align nodcommons -align noqcommons -align records -align nosequence -align norec1byte -align norec2byte -align norec4byte -align norec8byte -align norec16byte -altparam -assume accuracy_sensitive -assume nobscc -assume nobuffered_io -assume byterecl -assume nocc_omp -assume nocstring -assume nodummy_aliases -assume nofpe_summary -assume noieee_fpe_flags -assume nominus0 -assume noold_boz -assume old_unit_star -assume noold_ldout_format -assume noold_logical_ldio -assume old_maxminloc -assume old_xor -assume protect_constants -assume noprotect_parens -assume split_common -assume source_include -assume nostd_intent_in -assume nostd_mod_proc_name -assume norealloc_lhs -assume underscore -assume no2underscores no -auto -auto_scalar no -bintext -ccdefault default -check noargs -check noarg_temp_created -check nobounds -check noformat -check nooutput_conversion -check nooverflow -check nopointers -check power -check noshape -check nounderflow -check nouninitialized -coarray-num-procs 0 no -coarray-config-file -convert big_endian -cross_reference -D __INTEL_COMPILER=1210 -D __unix__ -D __unix -D __linux__ -D __linux -D __gnu_linux__ -D unix -D linux -D __ELF__ -D __x86_64 -D __x86_64__ -D _MT -D __INTEL_COMPILER_BUILD_DATE=20120612 -D __i686 -D __i686__ -D __pentiumpro -D __pentiumpro__ -D __pentium4 -D __pentium4__ -D __tune_pentium4__ -D __SSE2__ -D __SSE__ -D __MMX__ -double_size 64 no -d_lines no -Qdyncom -error_limit 30 no -f66 no -f77rtl no -fast -fpscomp nofilesfromcmd Page 9 Source Listing AVH_CIR_R 2012-12-13 18:36 func.f90 -fpscomp nogeneral -fpscomp noioformat -fpscomp noldio_spacing -fpscomp nologicals no -fpconstant -fpe3 -fprm nearest no -ftz -fp_model noprecise -fp_model nofast -fp_model strict -fp_model nosource -fp_model nodouble -fp_model noextended -fp_model novery_fast -fp_model noexcept -fp_model nono_except -fp_modbits nofp_contract -fp_modbits nono_fp_contract -fp_modbits nofenv_access -fp_modbits nono_fenv_access -fp_modbits nocx_limited_range -fp_modbits nono_cx_limited_range -fp_modbits noprec_div -fp_modbits nono_prec_div -fp_modbits noprec_sqrt -fp_modbits nono_prec_sqrt -fp_modbits noftz -fp_modbits no_ftz -fp_modbits nointrin_limited_range -fp_modbits nono_intrin_limited_range -fp_modbits notrunc_compares -fp_modbits nono_trunc_compares -fp_modbits noieee_nan_compares -fp_modbits nono_ieee_nan_compares -fp_modbits nohonor_f32_conversion -fp_modbits nono_honor_f32_conversion -fp_modbits nohonor_f64_conversion -fp_modbits nono_honor_f64_conversion -fp_modbits nono_x87_copy -fp_modbits nono_no_x87_copy -fp_modbits noexception_semantics -fp_modbits nono_exception_semantics -fp_modbits noprecise_libm_functions -fp_modbits nono_precise_libm_functions -heap_arrays 0 no -threadprivate_compat -free -g0 -iface nomixed_str_len_arg -iface nono_mixed_str_len_arg no -intconstant -integer_size 32 no -mixed_str_len_arg no -module -names lowercase no -noinclude -O2 no -pad_source -real_size 32 no -recursive -reentrancy none no -sharable_localsaves -vec=simd -show noinclude -show map -show options no -syntax_only no -threadcom no -U no -vms -w noall -w nonone -w alignments -w noargument_checking -w nodeclarations -w general -w noignore_bounds -w noignore_loc -w nointerfaces -w notruncated_source -w uncalled -w uninitialized -w nounused -w usage -includepath : /gpfs/tp2/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/,.f,./.f,/usrx/local/intel/composerxe/mkl/include/.f, /usrx/local/intel/composerxe/tbb/include/.f,/gpfs/tp2/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/intel64/.f, /gpfs/tp2/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/.f,/usr/local/include/.f,/usr/lib/gcc/x86_64-redhat-linux/4.4.6/include/.f, /usr/include/.f,/usr/include/.f -list filename : func.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100