OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
libraryarrays.f90
Go to the documentation of this file.
2 
4  !library descriptor parameters
10 
11  ! library bidirectional reflectance
12  ! added the wind speed dimension for cox-munk, index 1 is the lambertian library
13  ! WSDR for dimension manager, no need for these MS arrays
14  !real(single), allocatable, dimension(:,:,:,:,:,:,:) :: library_reflectance_water
15  !real(single), allocatable, dimension(:,:,:,:,:,:,:) :: library_reflectance_ice
16 
17  !real(single), allocatable, dimension(:,:,:,:,:,:,:) :: library_reflectance_water_sdev
18  !real(single), allocatable, dimension(:,:,:,:,:,:,:) :: library_reflectance_ice_sdev
19 
20  ! water vapor band cirrus retrieval library
21  real(single), allocatable, dimension(:,:,:,:,:,:) :: library_reflectance_138, library_reflectance_138_sdev
22  real(single), allocatable, dimension(:,:,:,:,:,:) :: library_slope_w03, library_slope_stdv_w03
23  real(single), allocatable, dimension(:,:,:,:,:,:) :: library_slope_w07, library_slope_stdv_w07
24  real(single), allocatable, dimension(:,:,:,:,:,:) :: library_slope_w15, library_slope_stdv_w15
25 
26 
27  ! flux parameters
28 
29  ! extinction ce extinction coefficient
30  ! singlescattering w single scattering albedo
31  ! asymmetry g asymetry factor
32  ! spherical_albedo sfr spherical albedo
33  ! flux_up fr upwards flux
34  ! flux_down ft downwards flux
35  !
36 
37 
38  real, allocatable,dimension(:,:,:,:) :: transmit_correction_table, transmit_stddev_table
39 
40  real(single), allocatable, dimension(:) :: library_taus
41  real(single), allocatable, dimension(:) :: library_solar_zenith, library_relative_azimuth
42  real(single), allocatable, dimension(:) :: library_sensor_zenith
43  real(single), allocatable, dimension(:) :: library_fluxsolarzenith, library_fluxsensorzenith
44 
45  real(single), allocatable, dimension(:) :: rayleigh_tau, aerosol_tau, aerosol_asym, aerosol_ssa
46 
47  real(single), allocatable, dimension(:) :: library_138_wavelengths, library_138_taus
48  real(single), allocatable, dimension(:) :: library_slope_wavelengths, library_slope_wspeed
49  real(single), allocatable, dimension(:) :: library_138_solar_zenith, library_138_relative_azimuth, &
51  real(single), allocatable, dimension(:) :: ice_radii_138
52  real(single), allocatable, dimension(:,:) :: asymmetry_ice_138
53 
54  real(single), allocatable, dimension(:) :: water_radii, phase_angles_water
55  real(single), allocatable, dimension(:,:) :: truncation_factor_water, phase_fun_norm_constant_water,&
57  real(single), allocatable, dimension(:,:) :: singlescattering_water
58  real(single), allocatable, dimension(:,:,:) :: spherical_albedo_water, phase_funcs_water
59  real(single), allocatable, dimension(:,:,:,:) :: flux_up_water_solar, flux_down_water_solar
60  real(single), allocatable, dimension(:,:,:,:) :: flux_up_water_sensor, flux_down_water_sensor
61 
62 
63  real(single), allocatable, dimension(:) :: ice_radii, phase_angles_ice
64  real(single), allocatable, dimension(:,:) :: singlescattering_ice, extinction_ice
65  real(single), allocatable, dimension(:,:) :: asymmetry_ice
66  real(single), allocatable, dimension(:,:) :: truncation_factor_ice, phase_fun_norm_constant_ice
67  real(single), allocatable, dimension(:,:,:) :: spherical_albedo_ice, phase_funcs_ice
68  real(single), allocatable, dimension(:,:,:,:) :: flux_up_ice_solar, flux_down_ice_solar
69  real(single), allocatable, dimension(:,:,:,:) :: flux_up_ice_sensor, flux_down_ice_sensor
70  real(single), allocatable, dimension(:,:,:,:,:) :: cloud_emissivity_water, surface_emissivity_water !4D plus wind speed
71  real(single), allocatable, dimension(:,:,:,:,:) :: cloud_emissivity_ice, surface_emissivity_ice !4D plus wind speed
72 
73  real(single), allocatable, dimension(:,:,:,:,:) :: cloud_emissivity_water_sdev, surface_emissivity_water_sdev !4D plus wind speed
74  real(single), allocatable, dimension(:,:,:,:,:) :: cloud_emissivity_ice_sdev, surface_emissivity_ice_sdev !4D plus wind speed
75 
76 ! this is for the alternate retrieval so we can have same exact code for Cox-Munk and Lambertian
77  real, dimension(:,:), allocatable :: refliba, reflibb, rad37lib
78  real, dimension(:), allocatable :: rayleigh_liq, rayleigh_ice
79 
80 
81 
82 end module libraryarrays
integer number_wavelengths
real(single), dimension(:), allocatable library_138_taus
real(single), dimension(:,:,:,:,:), allocatable surface_emissivity_water
real(single), dimension(:,:,:,:,:), allocatable cloud_emissivity_ice
real(single), dimension(:,:), allocatable asymmetry_ice_138
real, dimension(:,:), allocatable rad37lib
real(single), dimension(:,:), allocatable phase_fun_norm_constant_ice
integer number_fluxsensorzenith
real(single), dimension(:,:,:,:,:), allocatable surface_emissivity_water_sdev
real(single), dimension(:,:,:,:,:,:), allocatable library_reflectance_138_sdev
real(single), dimension(:,:,:,:,:), allocatable surface_emissivity_ice
real(single), dimension(:,:,:,:), allocatable flux_up_water_solar
integer number_phase_angles_water
real(single), dimension(:,:,:,:), allocatable flux_down_ice_sensor
real(single), dimension(:), allocatable library_relative_azimuth
real(single), dimension(:,:), allocatable phase_fun_norm_constant_water
real(single), dimension(:,:,:,:), allocatable flux_down_water_solar
real(single), dimension(:,:,:,:,:,:), allocatable library_slope_w15
real(single), dimension(:), allocatable library_solar_zenith
real(single), dimension(:,:), allocatable singlescattering_water
real(single), dimension(:,:,:,:,:), allocatable cloud_emissivity_water_sdev
real(single), dimension(:), allocatable water_radii
real(single), dimension(:), allocatable aerosol_ssa
real(single), dimension(:,:,:,:,:,:), allocatable library_slope_stdv_w07
real(single), dimension(:,:,:,:), allocatable flux_down_ice_solar
real(single), dimension(:), allocatable library_fluxsolarzenith
real(single), dimension(:), allocatable library_taus
real, dimension(:,:), allocatable refliba
integer, parameter single
real(single), dimension(:,:), allocatable asymmetry_ice
integer number_relazimuth
real(single), dimension(:,:,:), allocatable spherical_albedo_water
real(single), dimension(:,:,:,:,:), allocatable surface_emissivity_ice_sdev
real(single), dimension(:,:,:,:,:,:), allocatable library_slope_stdv_w03
real(single), dimension(:,:), allocatable singlescattering_ice
real(single), dimension(:,:), allocatable extinction_ice
real(single), dimension(:,:), allocatable extinction_water
real(single), dimension(:), allocatable library_sensor_zenith
integer number_sensorazimuth
real(single), dimension(:,:,:,:,:,:), allocatable library_slope_w07
real(single), dimension(:), allocatable library_138_sensor_zenith
real(single), dimension(:,:,:), allocatable spherical_albedo_ice
real, dimension(:,:,:,:), allocatable transmit_stddev_table
real(single), dimension(:,:,:), allocatable phase_funcs_ice
real, dimension(:), allocatable rayleigh_liq
real(single), dimension(:), allocatable ice_radii
real(single), dimension(:), allocatable aerosol_asym
real(single), dimension(:,:,:,:), allocatable flux_up_water_sensor
real(single), dimension(:,:,:,:), allocatable flux_down_water_sensor
real, dimension(:,:), allocatable reflibb
integer number_wind_speed
real(single), dimension(:), allocatable rayleigh_tau
real(single), dimension(:), allocatable library_138_solar_zenith
integer number_phase_angles_ice
real(single), dimension(:), allocatable ice_radii_138
real(single), dimension(:), allocatable library_138_relative_azimuth
real(single), dimension(:,:,:,:,:,:), allocatable library_reflectance_138
integer number_waterradii
real(single), dimension(:,:,:,:), allocatable flux_up_ice_solar
instead the metadata field ProcessingEnvinronment is filled in from the output of a call to the POSIX compliant function uname from within the L1B code A small bug in L1B_Tables an incorrect comparison of RVS coefficients for TEBs to RVS coefficients for RSBs was being made This was replaced with a comparison between TEB coefficients This error never resulted in an incorrect RVS correction but did lead to recalculating the coefficients for each detector in a thermal band even if the coefficients were the same for all detectors To reduce to overall size of the reflective LUT HDF fill values were eliminated from all LUTs previously dimensioned where and where NUM_TIMES is the number of time dependent table pieces In Preprocess a small error where the trailing dropped scan counter was incremented when the leading dropped scan counter should have been was fixed This counter is internal only and is not yet used for any chiefly to casting of were added to make it LINUX compatible Output of code run on LINUX machines displays differences of at most scaled integer(SI) from output of code run on IRIX machines. 3. Checking for non-functioning detectors
integer number_solarzenith
real(single), dimension(:), allocatable library_slope_wspeed
real(single), dimension(:,:,:,:,:), allocatable cloud_emissivity_ice_sdev
real(single), dimension(:,:), allocatable truncation_factor_ice
integer number_iceradii
real(single), dimension(:,:), allocatable asymmetry_water
real(single), dimension(:,:,:,:,:,:), allocatable library_slope_w03
real(single), dimension(:,:,:,:,:), allocatable cloud_emissivity_water
real(single), dimension(:,:,:), allocatable phase_funcs_water
real, dimension(:), allocatable rayleigh_ice
real(single), dimension(:), allocatable phase_angles_water
real(single), dimension(:,:,:,:,:,:), allocatable library_slope_stdv_w15
real(single), dimension(:,:,:,:), allocatable flux_up_ice_sensor
real(single), dimension(:), allocatable phase_angles_ice
real, dimension(:,:,:,:), allocatable transmit_correction_table
real(single), dimension(:), allocatable library_fluxsensorzenith
real(single), dimension(:), allocatable library_slope_wavelengths
real(single), dimension(:), allocatable aerosol_tau
integer number_fluxsolarzenith
real(single), dimension(:,:), allocatable truncation_factor_water
integer number_sensorzenith
real(single), dimension(:), allocatable library_138_wavelengths
integer number_taus