Page 1 Source Listing 2012-12-13 18:38 to3_datasets.f90 1 module to3_datasets 2 3 !$$$ MODULE DOCUMENTATION BLOCK 4 ! 5 ! MODULE: TO3_DATASETS 6 ! PRGMMR: D. KEYSER ORG: NP22 DATE: 2009-01-19 7 ! 8 ! ABSTRACT: Provides the datatypes for reading OMTO3 data from HDF-EOS5 file. 9 ! 10 ! Program history log: 11 ! 2008-12-31 Greg Krasowski - Original author (adapted from decoder written 12 ! by Trevor Beck, NESDIS Sensor Physics Branch) 13 ! 2009-01-16 Dennis Keyser - Prepared for implementation into NCEP production 14 ! 15 ! USAGE: CALL TO3_DATASETS 16 ! 17 ! OUTPUT FILES: 18 ! UNIT 06 - PRINTOUT 19 ! UNIT 68 - RADCOR INFORMATION FILE 20 ! 21 ! REMARKS: 22 ! 23 ! Attributes: 24 ! Language: FORTRAN 90 (free format) 25 ! Machine: NCEP WCOSS 26 ! 27 !$$$ 28 29 use hdf5 30 31 ! 32 ! ***MUST DEFINE ALL VARIABLES*** 33 implicit none 34 35 ! Set parameters 36 integer, parameter :: MAXRANK=4 37 TYPE, PUBLIC :: DSh5_T 38 CHARACTER (LEN = 80) :: name 39 INTEGER (HID_T) :: dataset_id 40 INTEGER (HID_T) :: datatype ! datatype determines class, order, size, 41 ! and vise versa 42 INTEGER :: class 43 INTEGER (SIZE_T) :: size 44 INTEGER (HID_T) :: dataspace ! dataspace determines rank, dims 45 INTEGER :: rank 46 INTEGER(HSIZE_T), DIMENSION(MAXRANK) :: dims 47 END TYPE DSh5_T 48 49 integer :: nATscans 50 51 ! Information for reading datasets from the hdf5 file, ds=dataset 52 type(DSh5_T) :: ds_toz =DSH5_T("ColumnAmountO3", -1, -1,-1,4,-1,2,(/-1,-1,-1,-1/) ) 53 type(DSh5_T) :: ds_lat =DSH5_T("Latitude", -1, -1,-1,4,-1,2,(/-1,-1,-1,-1/) ) 54 type(DSh5_T) :: ds_lon =DSH5_T("Longitude", -1, -1,-1,4,-1,2,(/-1,-1,-1,-1/) ) 55 type(DSh5_T) :: ds_cld =DSH5_T("RadiativeCloudFraction",-1, -1,-1,4,-1,2,(/-1,-1,-1,-1/) ) 56 type(DSh5_T) :: ds_sza =DSH5_T("SolarZenithAngle", -1, -1,-1,4,-1,2,(/-1,-1,-1,-1/) ) 57 type(DSh5_T) :: ds_vza =DSH5_T("ViewingZenithAngle",-1, -1,-1,4,-1,2,(/-1,-1,-1,-1/) ) Page 2 Source Listing 2012-12-13 18:38 to3_datasets.f90 58 type(DSh5_T) :: ds_sec =DSH5_T("SecondsInDay", -1, -1,-1,4,-1,1,(/-1,-1,-1,-1/) ) 59 type(DSh5_T) :: ds_algflag=DSH5_T("AlgorithmFlags", -1, -1,-1,4,-1,2,(/-1,-1,-1,-1/) ) 60 type(DSh5_T) :: ds_qflag =DSH5_T("QualityFlags", -1, -1,-1,4,-1,2,(/-1,-1,-1,-1/) ) 61 type(DSh5_T) :: ds_acidx =DSH5_T("UVAerosolIndex", -1, -1,-1,4,-1,2,(/-1,-1,-1,-1/) ) 62 63 64 ! Arrays to hold the datasets read from hdf5. 65 real(kind=4), allocatable, dimension(:,:) :: tozone 66 real(kind=4), allocatable, dimension(:,:) :: cldfcn 67 real(kind=4), allocatable, dimension(:,:) :: lat 68 real(kind=4), allocatable, dimension(:,:) :: lon 69 real(kind=4), allocatable, dimension(:,:) :: sza 70 real(kind=4), allocatable, dimension(:,:) :: vza 71 real(kind=4), allocatable, dimension(:) :: sec 72 real(kind=4), allocatable, dimension(:,:) :: acidx 73 integer(kind=4),allocatable, dimension(:,:) :: aflags 74 integer(kind=4),allocatable, dimension(:,:) :: qflags 75 76 77 end module to3_datasets SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References ACIDX Local 72 R(4) 4 2 1 ALC AFLAGS Local 73 I(4) 4 2 1 ALC CLASS Local 42 I(4) 4 scalar CLDFCN Local 66 R(4) 4 2 1 ALC DATASET_ID Local 39 I(4) 4 scalar DATASPACE Local 44 I(4) 4 scalar DATATYPE Local 40 I(4) 4 scalar DIMS Local 46 I(8) 8 1 4 DSH5_T Type 37 144 scalar 47,52,53,54,55,56,57,58,59,60,61 DS_ACIDX Local 61 DSH5_T 144 scalar 61 DS_ALGFLAG Local 59 DSH5_T 144 scalar 59 DS_CLD Local 55 DSH5_T 144 scalar 55 DS_LAT Local 53 DSH5_T 144 scalar 53 DS_LON Local 54 DSH5_T 144 scalar 54 DS_QFLAG Local 60 DSH5_T 144 scalar 60 DS_SEC Local 58 DSH5_T 144 scalar 58 DS_SZA Local 56 DSH5_T 144 scalar 56 DS_TOZ Local 52 DSH5_T 144 scalar 52 DS_VZA Local 57 DSH5_T 144 scalar 57 HDF5 Module 29 29 HID_T Param 39 I(4) 4 scalar 39,40,44 HSIZE_T Param 46 I(4) 4 scalar 46 LAT Local 67 R(4) 4 2 1 ALC LON Local 68 R(4) 4 2 1 ALC MAXRANK Param 36 I(4) 4 scalar 46 NAME Local 38 CHAR 80 scalar NATSCANS Local 49 I(4) 4 scalar QFLAGS Local 74 I(4) 4 2 1 ALC RANK Local 45 I(4) 4 scalar SEC Local 71 R(4) 4 1 1 ALC SIZE Local 43 I(8) 8 scalar Page 3 Source Listing 2012-12-13 18:38 Symbol Table to3_datasets.f90 Name Object Declared Type Bytes Dimen Elements Attributes References SIZE_T Param 43 I(4) 4 scalar 43 SZA Local 69 R(4) 4 2 1 ALC TO3_DATASETS Module 1 TOZONE Local 65 R(4) 4 2 1 ALC VZA Local 70 R(4) 4 2 1 ALC Page 4 Source Listing 2012-12-13 18:38 to3_datasets.f90 78 Page 5 Source Listing 2012-12-13 18:38 Subprograms/Common Blocks to3_datasets.f90 SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References TO3_DATASETS Module 1 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 nobyterecl -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 -auto no -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 -fpscomp nogeneral -fpscomp noioformat -fpscomp noldio_spacing -fpscomp nologicals no -fpconstant -fpe3 -fprm nearest no -ftz Page 6 Source Listing 2012-12-13 18:38 to3_datasets.f90 -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 -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 : /usrx/local/intel/composerxe/tbb/include/,/usr/include/,./,/usrx/local/hdf5-1.8.9/include/, /usrx/local/hdf5-1.8.9/lib/,/usrx/local/intel/composerxe/mkl/include/,/usrx/local/intel/composerxe/tbb/include/, /gpfs/tp2/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/intel64/,/gpfs/tp2/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/, /usr/local/include/,/usr/lib/gcc/x86_64-redhat-linux/4.4.6/include/,/usr/include/,/usr/include/ -list filename : to3_datasets.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100