TABLE OF CONTENTS


MLT_RSS/AMSU_zonal.f90 [ Programs ]

[ Top ] [ Programs ]

NAME

    module amsu_zonal

PURPOSE

    psuedoclass that defines and manipulates zonal means of AMSU data

DESCRIPTION

    psuedoclass that defines and manipulates zonal means of AMSU data
    
  Components
    the pseudoclass defines a zonal average type

       type amsu_zonal_ave_rec
               type (date_str)                                 :: begin_date
               type (date_str)                                 :: end_date
               type(ave),dimension(NUM_ZONES,NUM_AMSU_FOVS,NUM_NODES,NUM_SURFACES+1)   :: dat
       end type amsu_zonal_ave_rec

       and a second type that contains the same information, but with the date in rd2000 form.
       This is easier to write directly to a binary file.

       type amsu_zonal_output_structure 
               integer(4)                      :: pentad_num
               real(8)                         :: begin_rd
               real(8)                         :: end_rd
               real(4),dimension(4,NUM_ZONES,NUM_AMSU_FOVS,NUM_NODES,NUM_SURFACES+1) :: dat
       end type amsu_zonal_output_structure


  ROUTINES
    zero_zonal_ave_rec(z)
        fills zonal average record z with initial values.
    put_in_zone(x,lon,lat,date,zone,fov,node,surf,z)  
        adds a single observation to a zonal average record z

INPUTS

           lon         longitude of observation
           lat         latitude of observation
           date        date of observation, in data_str form
           fov         field of view
           node        ascending or descending
           z           zonal average record to add to

OUTPUTS

           zone        zonal index of choosen zone
           surf        surface type (land or ocean) of location
           z           updated zonal average record

    put_scan_in_zone(scan,ok,z,chan,corr_level)
        adds a single MSU scan to a zonal average record

INPUTS

           scan        MSU scan structure
           ok          array of fov quality flags
           z           zonal average record to add to
           chan        msu_channel
           corr_level  msu correction level

OUTPUTS

           z           updated zonal average record
    put_scan_in_zone_xswath(scan,ok,z,chan,corr_level)
        adds a single cross-swath difference to a zonal average.  deprecated.
        adds a single MSU scan to a zonal average record

INPUTS

           scan        MSU scan structure
           ok          array of fov quality flags
           z           zonal average record to add to
           chan        msu_channel
           corr_level  msu correction level

OUTPUTS

           z           updated zonal average record

    update_zonal_ave_rec(z)
        updates a zonal average record  -- i.e computed averages from totals so they are consistent

INPUTS

           z           zonal average record to add to

OUTPUTS

           z           updated zonal average record
    write_zonal_ave_rec(z,lu,full,error)
        writes a zonal average record in standard binary form.

INPUTS

           z           zonal average record to write
           lu          logical unit to write to
           full        set to true to write "full" set of data

OUTPUTS

           error       error flag -- if non zero, write was not successful
    write_zonal_ave_rec_direct(pentad,offset,z,lu,error)
        writes a zonal average record in standard binary form to fortran direct access file.

INPUTS

           pentad      pentad number to write data to.
           offset      beginning pentad number in file
           z           zonal average record to write
           lu          logical unit to write to

OUTPUTS

           error       error flag -- if non zero, write was not successful

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

    THIS SOFTWARE AND ITS DOCUMENTATION ARE CONSIDERED TO BE IN THE PUBLIC DOMAIN AND
    THUS ARE AVAILABLE FOR UNRESTRICTED PUBLIC USE.  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

    9/21/2012 Initial Version prepared for NCDC

USAGE

    use zonal

MLT_RSS/AMSU_zonal.f90/amsu_put_in_zone [ Programs ]

[ Top ] [ Programs ]

NAME

      amsu_put_in_zone

PURPOSE

        adds a single observation to a zonal average record

INPUTS

       real(4) ::      x               ! The number to be added to average
       real(4) ::      lon             ! The longitude of the observation
       real(4) ::      lat             ! The latitude of the observation
       type(date_str) ::       date    ! Time and Date of the observation
       integer(4) :: zone              ! zonal index
       integer(4) ::   fov     ! field of view index
       integer(4) :: node      ! nodal index (asc = 1, desc = 2)
       integer(4) :: surf      ! surface type index (1 = sea, 2 = land 3 = both)
       integer(4) :: lu_lug    ! logical unit of log file

INPUTS_OUTPUTS

       type(amsu_zonal_ave_rec),intent(INOUT)          ::      z   ! zonal everage record to be added to

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

    THIS SOFTWARE AND ITS DOCUMENTATION ARE CONSIDERED TO BE IN THE PUBLIC DOMAIN AND
    THUS ARE AVAILABLE FOR UNRESTRICTED PUBLIC USE.  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

    9/21/2012 Initial Version prepared for NCDC

USAGE

    call amsu_put_in_zone(x,lon,lat,date,zone,fov,node,surf,z,lu_log)

MLT_RSS/AMSU_zonal.f90/amsu_update_zonal_ave_rec [ Programs ]

[ Top ] [ Programs ]

NAME

      amsu_update_zonal_ave_rec

PURPOSE

        updates average values in zonal average rec to reflect new total values

INPUTS_OUTPUTS

       type(amsu_zonal_ave_rec),intent(INOUT)          ::      z   ! zonal everage record to be updated

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

    THIS SOFTWARE AND ITS DOCUMENTATION ARE CONSIDERED TO BE IN THE PUBLIC DOMAIN AND
    THUS ARE AVAILABLE FOR UNRESTRICTED PUBLIC USE.  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

    9/21/2012 Initial Version prepared for NCDC

USAGE

    call amsu_update_zonal_ave_rec(z)

MLT_RSS/AMSU_zonal.f90/amsu_update_zonal_ave_rec [ Programs ]

[ Top ] [ Programs ]

NAME

      amsu_write_zonal_ave_rec

PURPOSE

        writes data in a zonal average record to logical unit lu.  

INPUTS

       type(amsu_zonal_ave_rec),intent(INOUT)          ::      z   ! zonal everage record to be written
       integer(4)  :: lu  ! logical unit to write to
       logical(4)  :: full  ! flag is true then write a more complete record, otherwise, write num,mean,stddev,loc_time only

OUTPUTS

       integer(4)  :: error ! error flag, if 0, everything is OK

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

    THIS SOFTWARE AND ITS DOCUMENTATION ARE CONSIDERED TO BE IN THE PUBLIC DOMAIN AND
    THUS ARE AVAILABLE FOR UNRESTRICTED PUBLIC USE.  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

    9/21/2012 Initial Version prepared for NCDC

USAGE

    call amsu_write_zonal_ave_rec(z,lu,.true.,error)

MLT_RSS/AMSU_zonal.f90/amsu_update_zonal_ave_rec_direct [ Programs ]

[ Top ] [ Programs ]

NAME

      amsu_write_zonal_ave_rec_direct

PURPOSE

        writes data in a zonal average record to direct access file at logical unit lu.  

INPUTS

       integer(4)  :: pentad
       integer(4)  :: offset
       type(amsu_zonal_ave_rec)  ::    z   ! zonal everage record to be written
       integer(4)  :: lu  ! logical unit to write to

OUTPUTS

       integer(4)  :: error ! error flag, if 0, everything is OK

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

    THIS SOFTWARE AND ITS DOCUMENTATION ARE CONSIDERED TO BE IN THE PUBLIC DOMAIN AND
    THUS ARE AVAILABLE FOR UNRESTRICTED PUBLIC USE.  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

    9/21/2012 Initial Version prepared for NCDC

USAGE

    call amsu_write_zonal_ave_rec(pentad_number,offset,z,lu,error)

MLT_RSS/AMSU_zonal.f90/zero_zonal_ave_rec [ Programs ]

[ Top ] [ Programs ]

NAME

      zero_zonal_ave_rec

PURPOSE

        fills zonal average record z with initial values.

INPUTS_OUTPUTS

        type(amsu_zonal_ave_rec),intent(INOUT)         ::      z   ! zonal everage record to be zeroed

AUTHOR

    Carl Mears, Remote Sensing Systems

COPYRIGHT

    THIS SOFTWARE AND ITS DOCUMENTATION ARE CONSIDERED TO BE IN THE PUBLIC DOMAIN AND
    THUS ARE AVAILABLE FOR UNRESTRICTED PUBLIC USE.  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

    9/21/2012 Initial Version prepared for NCDC

USAGE

    call zero_zonal_ave_rec(z)