TABLE OF CONTENTS

1. MLT_RSS/date_and_time.f90 [ Programs ]

[ Top ] [ Programs ]

NAME

    module date_and_time

PURPOSE

    pseudoclass for date and time calculations

DESCRIPTION

    pseudoclass for date and time calculations.

VARIABLES

    the pseudoclass has two important types defined

               type time_str
                       real(8)         :: m_secs               ! seconds since midnight
                       integer(4)      :: hour                 ! hour of day
                       integer(4)      :: minute               ! minute of hour
                       real(8)         :: sec                  ! second of minute
                       logical         :: updated              ! true if m_secs agree with hours,minute and second
               end type time_str
               type date_str
                       real(8)                 :: r_d      ! days since Jan 1, 1, gregorian calender
                       real(8)                 :: rd_2000  ! days since Jan 1, 2000
                       integer(4)              :: year         ! year
                       integer(4)              :: oday         ! ordinal day in the given year
                       integer(4)              :: month        ! month in year
                       integer(4)              :: day          ! day in month
                       type(time_str)  :: time         ! time of day
                       logical                 :: updated  ! true if Jul_day agrees with other info
               end type date_str

REMARKS

       There are 3 overloaded subroutines for setting the date and time

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

   THIS SOFTWARE AND ITS DOCUMENTATION ARE COPYRIGHT 2012 REMOTE SENSING SYSTEMS.
   THEY ARE PROVIDED FOR INFORMATIONAL AND ALGORITHM VERIFICATION PURPOSES ONLY
   AND MAY NOT BE USED IN WHOLE OR IN PART FOR ANY OTHER PURPOSE WITHOUT WRITTEN
   PERMISSION FROM REMOTE SENSING SYSTEMS.  THEY ARE FURNISHED "AS IS." THE
   AUTHORS, THE UNITED STATES GOVERNMENT, ITS INSTRUMENTALITIES, OFFICERS, EMPLOYEES,
   AND AGENTS MAKE NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE USEFULNESS OF THE
   SOFTWARE AND DOCUMENTATION FOR ANY PURPOSE. THEY ASSUME NO RESPONSIBILITY (1) FOR
   THE USE OF THE SOFTWARE AND DOCUMENTATION; OR (2) TO PROVIDE TECHNICAL SUPPORT
   TO USERS.

HISTORY

    2/21/2012 Initial Version prepared for NCDC

USAGE

    use date_and_time

2. MLT_RSS/date_and_time.f90/set_date [ Programs ]

[ Top ] [ Programs ]

NAME

             set_date

PURPOSE

             set_date sets the date and time using 6 different methods.  The method is choosen automatically depending on the

DESCRIPTION

             set_date sets the date and time using 6 different methods.  The method is choosen automatically depending on the
             number and type of the arguments.
             here is a list of the methods:
                   -module procedure set_date_int_r_d          !(r_d,error)   2 integer(4)'s
                           -module procedure set_date_real_r_d         !(r_d,error)   1 real(8) and 1 integer(4)
                           -module procedure set_date_m_d_y                    !(month,day,year,error) 4 integer(4)'s
                           -module procedure set_date_m_d_y_int_t      !(month,day,year,hour,minute,second,error) 7 integer(4)'s
                           -module procedure set_date_m_d_y_real_t     !(month,day,year,hour,minute,second,error) 5 integer(4)'s, 1 real(8), 1 integer(4)
                           -module procedure set_date_m_d_y_m_secs     !(month,day,year,secs_since_midnight,error) 3 integer(4)'s, 1 real(8), 1 integer(4)
                           -module procedure set_date_od_y_msecs       !(secs_since_midnight,ordinal_day#,year,error) 1 real(8), 3 integer(4)'s          !

3. MLT_RSS/date_and_time.f90/set_time [ Programs ]

[ Top ] [ Programs ]

NAME

         set_time 

PURPOSE

            sets the time of day using two different methods.  The method is chosen
            automatically depending on the number and type of arguments

                   NAME
               type(time_str) function set_time_msecs(msecs,error)

INPUT

               real(8),intent(IN)                      :: msecs   !seconds since midnight

OUTPUT

                           integer(4),intent(OUT)              :: error   !set to zero if no error

RETURN VALUE

               type(time_str)              :: time

USAGE

               time = set_time(msecs,error)\

                   NAME
              type(time_str) function set_time_hms(hours,minutes,secs,error)

INPUTS

               integer(4)                                      :: hours    !hour of day (0 - 23)
                       integer(4)                                      :: minutes  !minutes in hour
                       real(8),intent(IN)                      :: secs     !seconds in minute

OUTPUT

                       integer(4),intent(OUT)          :: error    !set to zero if no error

RETURN VALUE

               type(time_str)              :: time

USAGE

               time =set_time(hour,minutes,secs,error)

4. MLT_RSS/AMSU_Diurnal.f90/amsu_ccm3_diurnal_tb [ Subroutines ]

[ Top ] [ Subroutines ]

NAME

       amsu_ccm3_diurnal_tb

PURPOSE

       calculates diurnal value from diurnal climatology for given channel,fov,location,date and local_time

INPUTS

       chan    AMSU_CHANNEL
       fov     AMSU Field of View
       lon     longitude
       lat     latitude
       date    date, to find time of year, in date structure (date_str) defined in date_and_time.f90
       local_time  local time, defined in time structure (time_str) defined in date_and_time.f90

RETURNED VALUE

       diur_tb  interpolated value of dirunal Tb

USAGE

       tb_diurnal = amsu_ccm3_diurnal_tb(chan,fov,lon,lat,date,local_time)

5. MLT_RSS/AMSU_Diurnal.f90/calculate_diurnal_correction [ Subroutines ]

[ Top ] [ Subroutines ]

NAME

      calculate_diurnal_correction

PURPOSE

      Calculate Diurnal Correction for a single AMSU scan line

INPUTS

      channel     AMSU channel number

INPUTS_OUTPUTS

      L2A_Scan    Structure containing AMSU L2A Scan data

OUTPUTS

      Error       Error Flag.  0 if everything OK, not zero otherwise

USAGE

      Call calculate_diurnal_correction(L2A_scan,channel,error)

6. MLT_RSS/AMSU_Diurnal.f90/read_amsu_ccm3_diurnal [ Subroutines ]

[ Top ] [ Subroutines ]

NAME

        read_amsu_ccm3_diurnal

PURPOSE

        reads CCM3-derived AMSU Diurnal Climatology for the given AMSU channel

INPUTS

        chan    AMSU channel

OUTPUTS

        error   error flag.  0 if everything OK, -1 if invalid channel passed

REMARKS

        loads climatology into the module variable diur_tb_sim. The number of the channel currently loaded is contained in channel_loaded

USAGE

        call read_amsu_ccm3_diurnal(5,error)

7. MLT_RSS/AMSU_equator_crossing_times.f90 [ Subroutines ]

[ Top ] [ Subroutines ]

NAME

    AMSU_equator_crossing_times.f90

PURPOSE

    Module for finding ascending node equator crossing times for NOAA and EUMETSAT satellites

DESCRIPTION

    Module for finding ascending node equator crossing times for NOAA and EUMETSAT satellites

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

   THIS SOFTWARE AND ITS DOCUMENTATION ARE COPYRIGHT 2012 REMOTE SENSING SYSTEMS.  
   THEY ARE PROVIDED FOR INFORMATIONAL AND ALGORITHM VERIFICATION PURPOSES ONLY 
   AND MAY NOT BE USED IN WHOLE OR IN PART FOR ANY OTHER PURPOSE WITHOUT WRITTEN
   PERMISSION FROM REMOTE SENSING SYSTEMS.  THEY ARE FURNISHED "AS IS." THE 
   AUTHORS, THE UNITED STATES GOVERNMENT, ITS INSTRUMENTALITIES, OFFICERS, EMPLOYEES, 
   AND AGENTS MAKE NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE USEFULNESS OF THE 
   SOFTWARE AND DOCUMENTATION FOR ANY PURPOSE. THEY ASSUME NO RESPONSIBILITY (1) FOR
   THE USE OF THE SOFTWARE AND DOCUMENTATION; OR (2) TO PROVIDE TECHNICAL SUPPORT 
   TO USERS.

HISTORY

    8/15/2012 Initial Version prepared for NCDC

USAGE

    use AMSU_equator_crossing_times

SUBPROGRAMS:

NAME

      equator_crossing_rd_2000_from_AMSU_rev_num

PURPOSE

      Calculate Diurnal Correction for a single AMSU scan line

INPUTS

       sat_num     AMSU satellite number (10 = NOAA-15, 11 = NOAA-16, etc)
       rev_num     AMSU orbit number.    

OUTPUTS

       Error       Error Flag.  0 if everything OK, not zero otherwise

RETURNED VALUE

       ascending node eqaotor crossing time in rd_2000 format (days since midnight, jan 1, 2000) (real*8)

USAGE

      crossing_time = equator_crossing_rd_2000_from_AMSU_rev_num(sat_num,rev_num,error)

NAME

      AMSU_rev_num_from_rd_2000

PURPOSE

      Calculates AMSU rev num from time in rd_2000 format

INPUTS

       sat_num     AMSU satellite number (10 = NOAA-15, 11 = NOAA-16, etc)
       rd_2000     Time in rd_2000 format 

OUTPUTS

       Error       Error Flag.  0 if everything OK, not zero otherwise

RETURNED VALUE

       AMSU orbit number corresponding to given time

USAGE

      orbit_num = AMSU_rev_num_from_rd_2000(sat_num,rd_2000,error)

NAME

        load_NOAA_15_eqx_data

PURPOSE

        reads equator crossing time data for NOAA-15
     SIDE EFFECTS
        loads climatology into the module variable eq_x_time_NOAA_15, and the equator crossing longitude into eq_x_longitude_NOAA_15. 

REMARKS

        exactly analogous routines exist for the other NOAA and EUMETSAT satellites. (NOAA-16, etc.)  These are:
        - load_NOAA_16_eqx_data
        - load_NOAA_17_eqx_data
        - load_NOAA_18_eqx_data
        - load_NOAA_19_eqx_data
        - load_METOP_A_eqx_data

USAGE

        load_NOAA_15_eqx_data

8. MLT_RSS/AMSU_inventory.f90 [ Subroutines ]

[ Top ] [ Subroutines ]

NAME

    AMSU_inventory

PURPOSE

    AMSU_inventory psuedoclass

DESCRIPTION

    pseudoclass for reading and writing AMSU orbit inventories

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

   THIS SOFTWARE AND ITS DOCUMENTATION ARE COPYRIGHT 2012 REMOTE SENSING SYSTEMS.  
   THEY ARE PROVIDED FOR INFORMATIONAL AND ALGORITHM VERIFICATION PURPOSES ONLY 
   AND MAY NOT BE USED IN WHOLE OR IN PART FOR ANY OTHER PURPOSE WITHOUT WRITTEN
   PERMISSION FROM REMOTE SENSING SYSTEMS.  THEY ARE FURNISHED "AS IS." THE 
   AUTHORS, THE UNITED STATES GOVERNMENT, ITS INSTRUMENTALITIES, OFFICERS, EMPLOYEES, 
   AND AGENTS MAKE NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE USEFULNESS OF THE 
   SOFTWARE AND DOCUMENTATION FOR ANY PURPOSE. THEY ASSUME NO RESPONSIBILITY (1) FOR
   THE USE OF THE SOFTWARE AND DOCUMENTATION; OR (2) TO PROVIDE TECHNICAL SUPPORT 
   TO USERS.

HISTORY

    2/21/2012 Initial Version prepared for NCDC

USAGE

    use msu_L2A_inventory

9. MLT_RSS/AMSU_inventory.f90/read_amsu_l1b_inventory_file [ Subroutines ]

[ Top ] [ Subroutines ]

NAME

      read_amsu_l1b_inventory_file(sat_num,inv,error)

PURPOSE

    reads AMSU L1B Inventory file

INPUTS

    sat_num    AMSU satellite number (10 = NOAA-15, etc)

OUTPUTS

    type(amsu_inventory_str)   :: inv   ! inventory of AMSU orbits in structured variable.
    integer(4) :: error                 ! error flag.  0 if all OK, -1 if out of bounds satellite number passed  

USAGE

    read_amsu_l1b_inventory_file(sat_num,inv,error)      

      write_msu_L2A_inventory_file_text
      update_L2A_inventory_data

10. MLT_RSS/AMSU_Level_2A.f90/add_corrections_to_AQUA_L2A_orbits [ Subroutines ]

[ Top ] [ Subroutines ]

NAME

    add_corrections_to_AQUA_L2A_orbits

PURPOSE

    Adds corrections to AMSU-AQUA L2A orbit files.

DESCRIPTION

   Adds corrections to AMSU-AQUA L2A orbit files.  AQUA files arrive as brightness temperatures, so L1B to L2A
   is not needed.  For NOAA and EUMETSAT satellites, diurnal and angle adjustments are performed as this conversion
   is done.  So we need a separate routine for AQUA to calculate adjustments.

INPUTS

    integer(4)                     :: sat_num                  ! satellite name (NOAA-15, etc)
    integer(4)                     :: channel                  ! AMSU channel
    integer(4)                     :: num_orbits               ! number of orbits to process
    integer(4),dimension(MAX_ORBITS_TO_PROCESS) :: orbit_list   ! list of orbits to process

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

   THIS SOFTWARE AND ITS DOCUMENTATION ARE COPYRIGHT 2012 REMOTE SENSING SYSTEMS.
   THEY ARE PROVIDED FOR INFORMATIONAL AND ALGORITHM VERIFICATION PURPOSES ONLY
   AND MAY NOT BE USED IN WHOLE OR IN PART FOR ANY OTHER PURPOSE WITHOUT WRITTEN
   PERMISSION FROM REMOTE SENSING SYSTEMS.  THEY ARE FURNISHED "AS IS." THE
   AUTHORS, THE UNITED STATES GOVERNMENT, ITS INSTRUMENTALITIES, OFFICERS, EMPLOYEES,
   AND AGENTS MAKE NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE USEFULNESS OF THE
   SOFTWARE AND DOCUMENTATION FOR ANY PURPOSE. THEY ASSUME NO RESPONSIBILITY (1) FOR
   THE USE OF THE SOFTWARE AND DOCUMENTATION; OR (2) TO PROVIDE TECHNICAL SUPPORT
   TO USERS.

HISTORY

    2/21/2012 Initial Version prepared for NCDC

USAGE

    call add_corrections_to_AQUA_L2A_orbits(sat_num,channel,num_orbits,orbit_list)

11. MLT_RSS/AMSU_Level_2A.f90/AQUA_AMSU_L2A_add_corrections_driver.f90 [ Subroutines ]

[ Top ] [ Subroutines ]

NAME

    AQUA_AMSU_L2A_add_corrections_driver

PURPOSE

    To level driver routine for adding corrections to AMSU-AQUA L2A orbit files.

DESCRIPTION

   Adds corrections to AMSU-AQUA L2A orbit files.  AQUA files arrive as brightness temperatures, so L1B to L2A
   is not needed.  For NOAA and EUMETSAT satellites, diurnal and angle adjustments are performed as this conversion
   is done.  So we need a separate routine for AQUA to calculate adjustments.

INPUTS

    integer(4)                     :: channel                  ! AMSU channel, command line argument
  INPUT FILE
    file of robit numbers to process:  orbits_to_adjust.txt
    integer(4)                     :: num_orbits               ! number of orbits to process
    integer(4),dimension(MAX_ORBITS_TO_PROCESS) :: orbit_list   ! list of orbits to process

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

   THIS SOFTWARE AND ITS DOCUMENTATION ARE COPYRIGHT 2012 REMOTE SENSING SYSTEMS.
   THEY ARE PROVIDED FOR INFORMATIONAL AND ALGORITHM VERIFICATION PURPOSES ONLY
   AND MAY NOT BE USED IN WHOLE OR IN PART FOR ANY OTHER PURPOSE WITHOUT WRITTEN
   PERMISSION FROM REMOTE SENSING SYSTEMS.  THEY ARE FURNISHED "AS IS." THE
   AUTHORS, THE UNITED STATES GOVERNMENT, ITS INSTRUMENTALITIES, OFFICERS, EMPLOYEES,
   AND AGENTS MAKE NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE USEFULNESS OF THE
   SOFTWARE AND DOCUMENTATION FOR ANY PURPOSE. THEY ASSUME NO RESPONSIBILITY (1) FOR
   THE USE OF THE SOFTWARE AND DOCUMENTATION; OR (2) TO PROVIDE TECHNICAL SUPPORT
   TO USERS.

HISTORY

    10/21/2012 Initial Version prepared for NCDC

USAGE

    AQUA_AMSU_L2A_add_corrections_driver 5   (at command line)

12. MLT_RSS/AMSU_Level_2A.f90/decode_AMSU_L2A_Header [ Subroutines ]

[ Top ] [ Subroutines ]

NAME

    decode_AMSU_L2A_Header

PURPOSE

    decodes AMSU L2A Header in binary form to structured form

INPUTS

    character(len = AMSU_LEVEL_2A_RECORD_LENGTH)               :: scan_string    ! header and scan valid data in bianry form for writing to L2A file

OUTPUTS

    type(AMSU_L2A_orbit_header)                     :: L2A_orbit_header  ! in structured from
    integer(4),dimension(AMSU_MAX_SCANS_PER_ORBIT)      :: scan_valid        ! positive value means scan is valid

USAGE

     call decode_AMSU_L2A_Header(scan_string,L2A_orbit_header,scan_valid)

13. MLT_RSS/AMSU_Level_2A.f90/decode_AMSU_L2A_scan [ Subroutines ]

[ Top ] [ Subroutines ]

NAME

    decode_AMSU_L2A_scan

PURPOSE

    decodes AMSU L2A scan to structured from binary form

INPUTS

    character(len = AMSU_LEVEL_2A_RECORD_LENGTH)               :: scan_string    ! header and scan valid data in bianry form for writing to L2A file

OUTPUTS

    type(AMSU_A_L2A_Swath_Data)                                                :: AMSU_L2A_scan

USAGE

     call encode_AMSU_L2A_scan(AMSU_L2A_scan,scan_string)

14. MLT_RSS/AMSU_Level_2A.f90/encode_AMSU_L2A_Header [ Subroutines ]

[ Top ] [ Subroutines ]

NAME

    encode_AMSU_L2A_Header

PURPOSE

    encodes AMSU L2A Header from structured to binary form

INPUTS

    type(AMSU_L2A_orbit_header)                     :: L2A_orbit_header  ! in structured from
    integer(4),dimension(AMSU_MAX_SCANS_PER_ORBIT)      :: scan_valid        ! positive value means scan is valid
    integer(4)                     :: channel         ! AMSU channel

OUTPUTS

    character(len = AMSU_LEVEL_2A_RECORD_LENGTH)               :: scan_string    ! header and scan valid data in bianry form for writing to L2A file

USAGE

     call encode_AMSU_L2A_Header(      L2A_orbit_header,scan_valid,scan_string) 

15. MLT_RSS/AMSU_Level_2A.f90/encode_AMSU_L2A_scan [ Subroutines ]

[ Top ] [ Subroutines ]

NAME

    encode_AMSU_L2A_scan

PURPOSE

    encodes AMSU L2A scan from structured to binary form

INPUTS

    type(AMSU_A_L2A_Swath_Data)                                                :: AMSU_L2A_scan

OUTPUTS

    character(len = AMSU_LEVEL_2A_RECORD_LENGTH)               :: scan_string    ! header and scan valid data in bianry form for writing to L2A file

USAGE

     call encode_AMSU_L2A_scan(AMSU_L2A_scan,scan_string)

16. MLT_RSS/AMSU_Level_2A.f90/ero_amsu_L2A_orbit_file_header [ Subroutines ]

[ Top ] [ Subroutines ]

NAME

    zero_amsu_L2A_orbit_file_header

PURPOSE

    zeros AMSU L2A scan in structured form

INPUTS_OUTPUTS

               type(AMSU_L2A_orbit_header)                     :: L2A_orbit_header

USAGE

     callzero_amsu_L2A_orbit_file_header(L2A_orbit_header)

17. MLT_RSS/AMSU_Level_2A.f90/read_AMSU_L2A_orbit_file [ Subroutines ]

[ Top ] [ Subroutines ]

NAME

    read_AMSU_L2A_orbit_file

PURPOSE

    reads AMSU_L2A_orbit_file

INPUTS

    character(len=7)                           :: satellite_name  ! satellite name (NOAA-15, etc)
    integer(4)                                         :: orbit_number    ! AMSU orbit number
    integer(4)                     :: channel         ! AMSU channel

OUTPUTS

    type(AMSU_L2A_orbit_header)    :: L2A_orbit_header  ! in structured from
        type(AMSU_L2A_orbit_data)              :: L2A_orbit         ! in structured from
    integer(4)                    :: error             ! error flag

USAGE

     call write_AMSU_L1A_orbit_file(   satellite_name,orbit_num,channel,L2A_orbit_header,L2A_orbit,error)

18. MLT_RSS/AMSU_Level_2A.f90/read_AMSU_L2A_orbit_file_header [ Subroutines ]

[ Top ] [ Subroutines ]

NAME

    read_AMSU_L2A_orbit_file_header 

PURPOSE

    reads AMSU_L2A orbit file header

INPUTS

    character(len=7)                           :: satellite_name  ! satellite name (NOAA-15, etc)
    integer(4)                                         :: orbit_number    ! AMSU orbit number
    integer(4)                     :: channel         ! AMSU channel

OUTPUTS

    type(AMSU_L2A_orbit_header)    :: L2A_orbit_header  ! in structured from
    integer(4)                    :: error             ! error flag

USAGE

     call write_AMSU_L1A_orbit_file_header(satellite_name,orbit_num,channel,L2A_orbit_header,error)

19. MLT_RSS/AMSU_Level_2A.f90/write_AMSU_L2A_orbit_file [ Subroutines ]

[ Top ] [ Subroutines ]

NAME

    write_AMSU_L2A_orbit_file

PURPOSE

    writes AMSU_L2A_orbit_file

INPUTS

    character(len=7)                           :: satellite_name  ! satellite name (NOAA-15, etc)
    integer(4)                                         :: orbit_number    ! AMSU orbit number
    integer(4)                     :: channel         ! AMSU channel
    type(AMSU_L2A_orbit_header)    :: L2A_orbit_header  ! in structured from
        type(AMSU_L2A_orbit_data)              :: L2A_orbit         ! in structured from

OUTPUTS

     integer(4)                    :: error             ! error flag

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

   THIS SOFTWARE AND ITS DOCUMENTATION ARE COPYRIGHT 2012 REMOTE SENSING SYSTEMS.
   THEY ARE PROVIDED FOR INFORMATIONAL AND ALGORITHM VERIFICATION PURPOSES ONLY
   AND MAY NOT BE USED IN WHOLE OR IN PART FOR ANY OTHER PURPOSE WITHOUT WRITTEN
   PERMISSION FROM REMOTE SENSING SYSTEMS.  THEY ARE FURNISHED "AS IS." THE
   AUTHORS, THE UNITED STATES GOVERNMENT, ITS INSTRUMENTALITIES, OFFICERS, EMPLOYEES,
   AND AGENTS MAKE NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE USEFULNESS OF THE
   SOFTWARE AND DOCUMENTATION FOR ANY PURPOSE. THEY ASSUME NO RESPONSIBILITY (1) FOR
   THE USE OF THE SOFTWARE AND DOCUMENTATION; OR (2) TO PROVIDE TECHNICAL SUPPORT
   TO USERS.

HISTORY

    2/21/2012 Initial Version prepared for NCDC

USAGE

     call write_AMSU_L1A_orbit_file(   satellite_name,orbit_num,channel,L2A_orbit_header,L2A_orbit,error)

20. MLT_RSS/AMSU_Level_2A.f90/zero_amsu_L2A_scan [ Subroutines ]

[ Top ] [ Subroutines ]

NAME

    zero_amsu_L2A_scan

PURPOSE

    zeros AMSU L2A scan in structured form

INPUTS_OUTPUTS

    type(AMSU_A_L2A_Swath_Data)                                                :: AMSU_L2A_scan

USAGE

     call zero_amsu_L2A_scan(L2A_Scan)

21. MLT_RSS/AMSU_Constants.f90 [ Methods ]

[ Top ] [ Methods ]

NAME

    AMSU_Constants.f90

PURPOSE

    Module containing constants for AMSU processing

DESCRIPTION

    Module containing constants for AMSU processing.
    Contains physical constants, file unit numbers, and constant related to satellite operation

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

   THIS SOFTWARE AND ITS DOCUMENTATION ARE COPYRIGHT 2012 REMOTE SENSING SYSTEMS.  
   THEY ARE PROVIDED FOR INFORMATIONAL AND ALGORITHM VERIFICATION PURPOSES ONLY 
   AND MAY NOT BE USED IN WHOLE OR IN PART FOR ANY OTHER PURPOSE WITHOUT WRITTEN
   PERMISSION FROM REMOTE SENSING SYSTEMS.  THEY ARE FURNISHED "AS IS." THE 
   AUTHORS, THE UNITED STATES GOVERNMENT, ITS INSTRUMENTALITIES, OFFICERS, EMPLOYEES, 
   AND AGENTS MAKE NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE USEFULNESS OF THE 
   SOFTWARE AND DOCUMENTATION FOR ANY PURPOSE. THEY ASSUME NO RESPONSIBILITY (1) FOR
   THE USE OF THE SOFTWARE AND DOCUMENTATION; OR (2) TO PROVIDE TECHNICAL SUPPORT 
   TO USERS.

HISTORY

    8/15/2012 Initial Version prepared for NCDC

USAGE

    use AMSU_Constants

22. MLT_RSS/AMSU_Diurnal.f90 [ Methods ]

[ Top ] [ Methods ]

NAME

    AMSU_Diurnal.f90

PURPOSE

    Module for performing diurnal adjustment to AMSU measurements

DESCRIPTION

    Module for performing diurnal adjustment to AMSU measurements
    Uses a model derived diurnal climatology to make the adjustment

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

   THIS SOFTWARE AND ITS DOCUMENTATION ARE COPYRIGHT 2012 REMOTE SENSING SYSTEMS.  
   THEY ARE PROVIDED FOR INFORMATIONAL AND ALGORITHM VERIFICATION PURPOSES ONLY 
   AND MAY NOT BE USED IN WHOLE OR IN PART FOR ANY OTHER PURPOSE WITHOUT WRITTEN
   PERMISSION FROM REMOTE SENSING SYSTEMS.  THEY ARE FURNISHED "AS IS." THE 
   AUTHORS, THE UNITED STATES GOVERNMENT, ITS INSTRUMENTALITIES, OFFICERS, EMPLOYEES, 
   AND AGENTS MAKE NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE USEFULNESS OF THE 
   SOFTWARE AND DOCUMENTATION FOR ANY PURPOSE. THEY ASSUME NO RESPONSIBILITY (1) FOR
   THE USE OF THE SOFTWARE AND DOCUMENTATION; OR (2) TO PROVIDE TECHNICAL SUPPORT 
   TO USERS.

HISTORY

    8/15/2012 Initial Version prepared for NCDC

USAGE

    use AMSU_Diurnal

23. MLT_RSS/AMSU_File_Locations.f90 [ Methods ]

[ Top ] [ Methods ]

NAME

    AMSU_File_Locations.f90

PURPOSE

    Module containing file locations for AMSU processing

DESCRIPTION

    Module containing file locations for AMSU processing

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

   THIS SOFTWARE AND ITS DOCUMENTATION ARE COPYRIGHT 2012 REMOTE SENSING SYSTEMS.  
   THEY ARE PROVIDED FOR INFORMATIONAL AND ALGORITHM VERIFICATION PURPOSES ONLY 
   AND MAY NOT BE USED IN WHOLE OR IN PART FOR ANY OTHER PURPOSE WITHOUT WRITTEN
   PERMISSION FROM REMOTE SENSING SYSTEMS.  THEY ARE FURNISHED "AS IS." THE 
   AUTHORS, THE UNITED STATES GOVERNMENT, ITS INSTRUMENTALITIES, OFFICERS, EMPLOYEES, 
   AND AGENTS MAKE NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE USEFULNESS OF THE 
   SOFTWARE AND DOCUMENTATION FOR ANY PURPOSE. THEY ASSUME NO RESPONSIBILITY (1) FOR
   THE USE OF THE SOFTWARE AND DOCUMENTATION; OR (2) TO PROVIDE TECHNICAL SUPPORT 
   TO USERS.

HISTORY

    8/15/2012 Initial Version prepared for NCDC

USAGE

    use AMSU_File_Locations

24. MLT_RSS/AMSU_Level_2A.f90 [ Methods ]

[ Top ] [ Methods ]

NAME

    AMSU_Level_2A.f90

PURPOSE

    Module for reading, writing and storing AMSU L2A data

DESCRIPTION

    Module for reading, writing and storing AMSU L2A data.  L2A files are stored in flat binary form,
    so there is quite a bit of code that converts from the flat binary form to easier to understand
    fortran structures.  Structures are defined in AMSU_types.f90

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

   THIS SOFTWARE AND ITS DOCUMENTATION ARE COPYRIGHT 2012 REMOTE SENSING SYSTEMS.  
   THEY ARE PROVIDED FOR INFORMATIONAL AND ALGORITHM VERIFICATION PURPOSES ONLY 
   AND MAY NOT BE USED IN WHOLE OR IN PART FOR ANY OTHER PURPOSE WITHOUT WRITTEN
   PERMISSION FROM REMOTE SENSING SYSTEMS.  THEY ARE FURNISHED "AS IS." THE 
   AUTHORS, THE UNITED STATES GOVERNMENT, ITS INSTRUMENTALITIES, OFFICERS, EMPLOYEES, 
   AND AGENTS MAKE NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE USEFULNESS OF THE 
   SOFTWARE AND DOCUMENTATION FOR ANY PURPOSE. THEY ASSUME NO RESPONSIBILITY (1) FOR
   THE USE OF THE SOFTWARE AND DOCUMENTATION; OR (2) TO PROVIDE TECHNICAL SUPPORT 
   TO USERS.

HISTORY

    8/15/2012 Initial Version prepared for NCDC

USAGE

    use AMSU_Level_2A

25. MLT_RSS/AMSU_Quality.f90 [ Methods ]

[ Top ] [ Methods ]

NAME

    AMSU_Quality.f90

PURPOSE

    Module for performing rudimentary quality control for AMSU brightness temperatures

DESCRIPTION

    Module for performing rudimentary quality control for AMSU brightness temperatures

ROUTINES

     subroutine evaluate_amsu_quality_indicator(quality_indicator,scan_ok)  ! evaluates NOAA quality bits for fatal problems
     subrouinte check_tbs_against_bounds(Tbs,chan,fov_qual)                 ! checks TBs against reasonableness bounds for each channel

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

   THIS SOFTWARE AND ITS DOCUMENTATION ARE COPYRIGHT 2012 REMOTE SENSING SYSTEMS.  
   THEY ARE PROVIDED FOR INFORMATIONAL AND ALGORITHM VERIFICATION PURPOSES ONLY 
   AND MAY NOT BE USED IN WHOLE OR IN PART FOR ANY OTHER PURPOSE WITHOUT WRITTEN
   PERMISSION FROM REMOTE SENSING SYSTEMS.  THEY ARE FURNISHED "AS IS." THE 
   AUTHORS, THE UNITED STATES GOVERNMENT, ITS INSTRUMENTALITIES, OFFICERS, EMPLOYEES, 
   AND AGENTS MAKE NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE USEFULNESS OF THE 
   SOFTWARE AND DOCUMENTATION FOR ANY PURPOSE. THEY ASSUME NO RESPONSIBILITY (1) FOR
   THE USE OF THE SOFTWARE AND DOCUMENTATION; OR (2) TO PROVIDE TECHNICAL SUPPORT 
   TO USERS.

HISTORY

    8/15/2012 Initial Version prepared for NCDC

USAGE

    use AMSU_quality

26. MLT_RSS/AMSU_Quality.f90/check_tbs_against_bounds [ Methods ]

[ Top ] [ Methods ]

NAME

    check_tbs_against_bounds

PURPOSE

    Checks brightness temperatures agains reasonableness bounds.

DESCRIPTION

    Checks brightness temperatures agains reasonableness bounds.

INPUTS

    integer(4)   :: quality indicator   ! 4 byte integer of quality indicator flags

OUTPUTS

    integer(1),dimension(30)        :: fov_qual           !  field of view flag -- set to negative number if out of bounds
                                                          !  or not finite

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

   THIS SOFTWARE AND ITS DOCUMENTATION ARE COPYRIGHT 2012 REMOTE SENSING SYSTEMS.  
   THEY ARE PROVIDED FOR INFORMATIONAL AND ALGORITHM VERIFICATION PURPOSES ONLY 
   AND MAY NOT BE USED IN WHOLE OR IN PART FOR ANY OTHER PURPOSE WITHOUT WRITTEN
   PERMISSION FROM REMOTE SENSING SYSTEMS.  THEY ARE FURNISHED "AS IS." THE 
   AUTHORS, THE UNITED STATES GOVERNMENT, ITS INSTRUMENTALITIES, OFFICERS, EMPLOYEES, 
   AND AGENTS MAKE NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE USEFULNESS OF THE 
   SOFTWARE AND DOCUMENTATION FOR ANY PURPOSE. THEY ASSUME NO RESPONSIBILITY (1) FOR
   THE USE OF THE SOFTWARE AND DOCUMENTATION; OR (2) TO PROVIDE TECHNICAL SUPPORT 
   TO USERS.

HISTORY

    8/15/2012 Initial Version prepared for NCDC

USAGE

    call check_tbs_against_bounds(Tbs,chan,fov_qual)

27. MLT_RSS/AMSU_Quality.f90/evaluate_amsu_quality_indicator [ Methods ]

[ Top ] [ Methods ]

NAME

    evaluate_amsu_quality_indicator

PURPOSE

    Evaluates NOAA provided quality flags for fatal errors

DESCRIPTION

    Evaluates NOAA provided quality flags for fatal errors

INPUTS

    integer(4)   :: quality indicator   ! 4 byte integer of quality indicator flags

OUTPUTS

    logical(4)   :: scan_ok  !  flag -- set true of scan appears to be OK

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

   THIS SOFTWARE AND ITS DOCUMENTATION ARE COPYRIGHT 2012 REMOTE SENSING SYSTEMS.  
   THEY ARE PROVIDED FOR INFORMATIONAL AND ALGORITHM VERIFICATION PURPOSES ONLY 
   AND MAY NOT BE USED IN WHOLE OR IN PART FOR ANY OTHER PURPOSE WITHOUT WRITTEN
   PERMISSION FROM REMOTE SENSING SYSTEMS.  THEY ARE FURNISHED "AS IS." THE 
   AUTHORS, THE UNITED STATES GOVERNMENT, ITS INSTRUMENTALITIES, OFFICERS, EMPLOYEES, 
   AND AGENTS MAKE NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE USEFULNESS OF THE 
   SOFTWARE AND DOCUMENTATION FOR ANY PURPOSE. THEY ASSUME NO RESPONSIBILITY (1) FOR
   THE USE OF THE SOFTWARE AND DOCUMENTATION; OR (2) TO PROVIDE TECHNICAL SUPPORT 
   TO USERS.

HISTORY

    8/15/2012 Initial Version prepared for NCDC

USAGE

    call evaluate_amsu_quality_indicator(quality_indicator,scan_ok)

28. MLT_RSS/NAN_support_intel.f90 [ Methods ]

[ Top ] [ Methods ]

NAME

    module NAN_Support

PURPOSE

    module containing Not-A-Number wrapper routines for intel compiler and
    constant parameter NAN valued set equal to 1.0/0.0
    emulates behavior of early module for a compiler that did not explicitly
    support ieee not-a-numbers

DESCRIPTION

     module Not-A-Numbers Wrapper routines for intel compiler 

ROUTINES

      logical function finite(x), overloaded to accept both real(4) and real(8) arguaments

INPUTS

       x    real   number to be tested

OUTPUTS

       returns logical true if number is finite, false if number in any type of non-finite number

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

   THIS SOFTWARE AND ITS DOCUMENTATION ARE COPYRIGHT 2012 REMOTE SENSING SYSTEMS.  
   THEY ARE PROVIDED FOR INFORMATIONAL AND ALGORITHM VERIFICATION PURPOSES ONLY 
   AND MAY NOT BE USED IN WHOLE OR IN PART FOR ANY OTHER PURPOSE WITHOUT WRITTEN
   PERMISSION FROM REMOTE SENSING SYSTEMS.  THEY ARE FURNISHED "AS IS." THE 
   AUTHORS, THE UNITED STATES GOVERNMENT, ITS INSTRUMENTALITIES, OFFICERS, EMPLOYEES, 
   AND AGENTS MAKE NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE USEFULNESS OF THE 
   SOFTWARE AND DOCUMENTATION FOR ANY PURPOSE. THEY ASSUME NO RESPONSIBILITY (1) FOR
   THE USE OF THE SOFTWARE AND DOCUMENTATION; OR (2) TO PROVIDE TECHNICAL SUPPORT 
   TO USERS.

HISTORY

    2/21/2012 Initial Version prepared for NCDC

USAGE

    use NAN_Support