Page 1 Source Listing 2013-01-11 18:25 o3mr_datasets.f90 1 module o3mr_datasets 2 3 !$$$ MODULE DOCUMENTATION BLOCK 4 ! 5 ! MODULE: O3MR_DATASETS 6 ! PRGMMR: D. KEYSER ORG: NP22 DATE: 2010-06-19 7 ! 8 ! ABSTRACT: Provides the datatypes for reading MLS O3MR 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 ! 2010-06-16 Haixia Liu - revise it for MLS data set 14 ! 15 ! USAGE: CALL O3MR_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_o3mr =DSH5_T("O3", -1, -1,-1,4,-1,2,(/-1,-1,-1,-1/) ) 53 type(DSh5_T) :: ds_precisn=DSH5_T("O3Precision", -1, -1,-1,4,-1,2,(/-1,-1,-1,-1/) ) 54 type(DSh5_T) :: ds_qualt =DSH5_T("Quality", -1, -1,-1,4,-1,1,(/-1,-1,-1,-1/) ) 55 type(DSh5_T) :: ds_stat =DSH5_T("Status", -1, -1,-1,4,-1,1,(/-1,-1,-1,-1/) ) 56 type(DSh5_T) :: ds_conv =DSH5_T("Convergence", -1, -1,-1,4,-1,1,(/-1,-1,-1,-1/) ) 57 type(DSh5_T) :: ds_lat =DSH5_T("Latitude", -1, -1,-1,4,-1,1,(/-1,-1,-1,-1/) ) Page 2 Source Listing 2013-01-11 18:25 o3mr_datasets.f90 58 type(DSh5_T) :: ds_lon =DSH5_T("Longitude", -1, -1,-1,4,-1,1,(/-1,-1,-1,-1/) ) 59 type(DSh5_T) :: ds_sza =DSH5_T("SolarZenithAngle", -1, -1,-1,4,-1,1,(/-1,-1,-1,-1/) ) 60 type(DSh5_T) :: ds_time =DSH5_T("Time", -1, -1,-1,4,-1,1,(/-1,-1,-1,-1/) ) 61 type(DSh5_T) :: ds_press =DSH5_T("Pressure", -1, -1,-1,4,-1,1,(/-1,-1,-1,-1/) ) 62 63 64 ! Arrays to hold the datasets read from hdf5. 65 real(kind=4), allocatable, dimension(:,:) :: o3mr 66 real(kind=4), allocatable, dimension(:,:) :: precisn 67 real(kind=4), allocatable, dimension(:) :: qualt 68 real(kind=4), allocatable, dimension(:) :: conv 69 real(kind=4), allocatable, dimension(:) :: lat 70 real(kind=4), allocatable, dimension(:) :: lon 71 real(kind=4), allocatable, dimension(:) :: sza 72 real(kind=8), allocatable, dimension(:) :: time 73 real(kind=4), allocatable, dimension(:) :: press 74 real(kind=4), allocatable, dimension(:) :: stat 75 76 77 end module o3mr_datasets SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References CLASS Local 42 I(4) 4 scalar CONV Local 68 R(4) 4 1 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_CONV Local 56 DSH5_T 144 scalar 56 DS_LAT Local 57 DSH5_T 144 scalar 57 DS_LON Local 58 DSH5_T 144 scalar 58 DS_O3MR Local 52 DSH5_T 144 scalar 52 DS_PRECISN Local 53 DSH5_T 144 scalar 53 DS_PRESS Local 61 DSH5_T 144 scalar 61 DS_QUALT Local 54 DSH5_T 144 scalar 54 DS_STAT Local 55 DSH5_T 144 scalar 55 DS_SZA Local 59 DSH5_T 144 scalar 59 DS_TIME Local 60 DSH5_T 144 scalar 60 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 69 R(4) 4 1 1 ALC LON Local 70 R(4) 4 1 1 ALC MAXRANK Param 36 I(4) 4 scalar 46 NAME Local 38 CHAR 80 scalar NATSCANS Local 49 I(4) 4 scalar O3MR Local 65 R(4) 4 2 1 ALC O3MR_DATASETS Module 1 PRECISN Local 66 R(4) 4 2 1 ALC PRESS Local 73 R(4) 4 1 1 ALC QUALT Local 67 R(4) 4 1 1 ALC RANK Local 45 I(4) 4 scalar Page 3 Source Listing 2013-01-11 18:25 Symbol Table o3mr_datasets.f90 Name Object Declared Type Bytes Dimen Elements Attributes References SIZE Local 43 I(8) 8 scalar SIZE_T Param 43 I(4) 4 scalar 43 STAT Local 74 R(4) 4 1 1 ALC SZA Local 71 R(4) 4 1 1 ALC TIME Local 72 R(8) 8 1 1 ALC Page 4 Source Listing 2013-01-11 18:25 o3mr_datasets.f90 78 Page 5 Source Listing 2013-01-11 18:25 Subprograms/Common Blocks o3mr_datasets.f90 SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References O3MR_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 2013-01-11 18:25 o3mr_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 : o3mr_datasets.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100