[Dart-dev] DART/branches Revision: 12742

dart at ucar.edu dart at ucar.edu
Thu Jul 12 12:00:00 MDT 2018


nancy at ucar.edu
2018-07-12 12:00:00 -0600 (Thu, 12 Jul 2018)
258
closer to what we want.  added initial guess at proper
metadata, fixed read/write/interactive routines.
calling interpolate, but not calling any rttov routines yet.

need allocate, read coefficients, and the call to the
actual radiance computation routine.




Modified: DART/branches/radiance/observations/forward_operators/obs_def_rttov_mod.f90
===================================================================
--- DART/branches/radiance/observations/forward_operators/obs_def_rttov_mod.f90	2018-07-12 17:34:30 UTC (rev 12741)
+++ DART/branches/radiance/observations/forward_operators/obs_def_rttov_mod.f90	2018-07-12 18:00:00 UTC (rev 12742)
@@ -91,32 +91,38 @@
 character(len=32 ), parameter :: revision = "$Revision$"
 character(len=128), parameter :: revdate  = "$Date$"
 
-character(len=256) :: string1, string2
+character(len=512) :: string1, string2
 logical, save      :: module_initialized = .false.
 
 ! Metadata for rttov observations.
-! There are soil parameters for each site that must be added to each
-! observation in the sequence. Also COSMIC parameters ...
 
+! AIRS is sensor 11 w/ 1-2378 channels (visible/near infrared/infrared)
+! AMSU-A is sensor 3 with 1-15 channels (infrared/microwave)
+
 !FIXME
-type site_metadata
+type obs_metadata
    private
-   real(r8)            :: bd         ! Dry Soil Bulk Density [  g / cm^3]
-   real(r8)            :: lattwat    ! Lattice Water Content [M^3 /  M^3]
-   real(r8)            :: N          ! High Energy Neutron Intensity
-   real(r8)            :: alpha      ! Ratio of Fast Neutron Creation Factor
-   real(r8)            :: L1         ! High Energy   Soil Attenuation Length
-   real(r8)            :: L2         ! High Energy  Water Attenuation Length
-   real(r8)            :: L3         ! Fast Neutron  Soil Attenuation Length
-   real(r8)            :: L4         ! Fast Neutron Water Attenuation Length
-end type site_metadata
+!    sat az/el
+!    sun az/el
+!    platform
+!    instrument
+!    channel
+   real(r8)            :: sat_az     ! azimuth of satellite position
+   real(r8)            :: sat_ze     ! azimuth of satellite position
+   real(r8)            :: sun_az     ! zenith of solar position
+   real(r8)            :: sun_ze     ! zenith of solar position
+   integer             :: platform   ! see rttov user guide
+   integer             :: sensor     ! see rttov user guide
+   integer             :: channel    ! each channel is a different obs
+   ! more here as we need it
+end type obs_metadata
 
-type(site_metadata), allocatable, dimension(:) :: observation_metadata
-type(site_metadata) :: missing_metadata
-character(len=6), parameter :: RTTOVSTRING = 'rttov'
+type(obs_metadata), allocatable, dimension(:) :: observation_metadata
+type(obs_metadata) :: missing_metadata
+character(len=5), parameter :: RTTOVSTRING = 'rttov'
 
 logical :: debug = .FALSE.
-integer :: MAXrttovkey = 24*366  !FIXME
+integer :: MAXrttovkey = 100000  !FIXME - some initial number of obs
 integer ::    rttovkey = 0       ! useful length of metadata arrays
 
 contains
@@ -130,31 +136,29 @@
 
 module_initialized = .true.
 
-missing_metadata%bd       = MISSING_R8
-missing_metadata%lattwat  = MISSING_R8
-missing_metadata%N        = MISSING_R8
-missing_metadata%alpha    = MISSING_R8
-missing_metadata%L1       = MISSING_R8
-missing_metadata%L2       = MISSING_R8
-missing_metadata%L3       = MISSING_R8
-missing_metadata%L4       = MISSING_R8
+missing_metadata%sat_az   = MISSING_R8
+missing_metadata%sat_ze   = MISSING_R8
+missing_metadata%sun_az   = MISSING_R8
+missing_metadata%sun_ze   = MISSING_R8
+missing_metadata%platform = MISSING_I
+missing_metadata%sensor   = MISSING_I
+missing_metadata%channel  = MISSING_I
 
 allocate(observation_metadata(MAXrttovkey))
 
 observation_metadata(:) = missing_metadata
 
+!FIXME call an init routine for rttov here
+
 end subroutine initialize_module
 
-
-
- subroutine set_rttov_metadata(key, bd, lattwat, N, alpha, L1, L2, L3, L4)
 !----------------------------------------------------------------------
-!subroutine set_rttov_metadata(key, bd, lattwat, N, alpha, L1, L2, L3, L4)
-!
 ! Fill the module storage metadata for a particular observation.
 
+subroutine set_rttov_metadata(key, sat_az, sat_ze, sun_az, sun_ze, platform, sensor, channel)
 integer,  intent(out) :: key
-real(r8), intent(in)  :: bd, lattwat, N, alpha, L1, L2, L3, L4
+real(r8), intent(in)  :: sat_az, sat_ze, sun_az, sun_ze
+integer,  intent(in)  :: platform, sensor, channel


More information about the Dart-dev mailing list