[Dart-dev] DART/branches Revision: 12986
dart at ucar.edu
dart at ucar.edu
Thu Feb 14 09:45:49 MST 2019
hendric at ucar.edu
2019-02-14 09:45:49 -0700 (Thu, 14 Feb 2019)
137
adding solar and satellite metadata from the observation to the profile,
in addition to using bottom level data to the skin variables.
Modified: DART/branches/radiance/observations/forward_operators/obs_def_rttov_mod.f90
===================================================================
--- DART/branches/radiance/observations/forward_operators/obs_def_rttov_mod.f90 2019-02-14 16:43:43 UTC (rev 12985)
+++ DART/branches/radiance/observations/forward_operators/obs_def_rttov_mod.f90 2019-02-14 16:45:49 UTC (rev 12986)
@@ -124,14 +124,14 @@
!FIXME - add additional fields here as needed
type obs_metadata
private
- real(r8) :: sat_az ! azimuth of satellite position
- real(r8) :: sat_ze ! zenith of satellite position
- real(r8) :: sun_az ! azimuth of solar position
- real(r8) :: sun_ze ! zenith of solar position
- integer :: platform ! see rttov user guide, table 2
- integer :: sat_id ! see rttov user guide, table 2
- integer :: sensor ! see rttov user guide, table 3
- integer :: channel ! each channel is a different obs
+ real(r8) :: sat_az ! azimuth of satellite position
+ real(r8) :: sat_ze ! zenith of satellite position
+ real(r8) :: sun_az ! azimuth of solar position
+ real(r8) :: sun_ze ! zenith of solar position
+ integer :: platform ! see rttov user guide, table 2
+ integer :: sat_id ! see rttov user guide, table 2
+ integer :: sensor ! see rttov user guide, table 3
+ integer :: channel ! each channel is a different obs
! more here as we need it
end type obs_metadata
@@ -624,6 +624,10 @@
u=u_wind, &
v=v_wind, &
wvmr=water_vapor_mr, &
+ sat_az=sat_az, &
+ sat_ze=sat_ze, &
+ sun_az=sun_az, &
+ sun_ze=sun_ze, &
radiances=radiance, &
error_status=this_istatus)
Modified: DART/branches/radiance/observations/forward_operators/rttov_interface_mod.f90
===================================================================
--- DART/branches/radiance/observations/forward_operators/rttov_interface_mod.f90 2019-02-14 16:43:43 UTC (rev 12985)
+++ DART/branches/radiance/observations/forward_operators/rttov_interface_mod.f90 2019-02-14 16:45:49 UTC (rev 12986)
@@ -85,7 +85,7 @@
USE parkind1, ONLY : jpim, jprb, jplm
! are these I4, R8, ? what's a logical kind?
!
- ! (JPH) INTEGER, PARAMETER :: JPIM = SELECTED_INT_KIND(9) !< Standard integer type
+ ! (JPH) INTEGER, PARAMETER :: JPIM = SELECTED_INT_KIND(9) !< Standard integer type
! (JPH) INTEGER, PARAMETER :: JPRB = SELECTED_REAL_KIND(13,300) !< Standard real type
! (JPH) INTEGER, PARAMETER :: JPLM = KIND(.TRUE.) !< Standard logical type
IMPLICIT NONE
@@ -108,61 +108,60 @@
! the setup and returned? larger single structure
! to collect these together in a single (opaque) type?
- ! RTTOV variables/structures
- !====================
- TYPE(rttov_options) :: opts ! Options structure
- TYPE(rttov_coefs) :: coefs ! Coefficients structure
- TYPE(rttov_chanprof), POINTER :: chanprof(:) => NULL() ! Input channel/profile list
- LOGICAL(KIND=jplm), POINTER :: calcemis(:) => NULL() ! Flag to indicate calculation of emissivity within RTTOV
- TYPE(rttov_emissivity), POINTER :: emissivity(:) => NULL() ! Input/output surface emissivity
- LOGICAL(KIND=jplm), POINTER :: calcrefl(:) => NULL() ! Flag to indicate calculation of BRDF within RTTOV
- TYPE(rttov_reflectance), POINTER :: reflectance(:) => NULL() ! Input/output surface BRDF
- TYPE(rttov_profile), POINTER :: profiles(:) => NULL() ! Input profiles
- TYPE(rttov_transmission) :: transmission ! Output transmittances
- TYPE(rttov_radiance) :: radiance ! Output radiances
+! RTTOV variables/structures
+!====================
+TYPE(rttov_options) :: opts ! Options structure
+TYPE(rttov_coefs) :: coefs ! Coefficients structure
+TYPE(rttov_chanprof), POINTER :: chanprof(:) => NULL() ! Input channel/profile list
+LOGICAL(KIND=jplm), POINTER :: calcemis(:) => NULL() ! Flag to indicate calculation of emissivity within RTTOV
+TYPE(rttov_emissivity), POINTER :: emissivity(:) => NULL() ! Input/output surface emissivity
+LOGICAL(KIND=jplm), POINTER :: calcrefl(:) => NULL() ! Flag to indicate calculation of BRDF within RTTOV
+TYPE(rttov_reflectance), POINTER :: reflectance(:) => NULL() ! Input/output surface BRDF
+TYPE(rttov_profile), POINTER :: profiles(:) => NULL() ! Input profiles
+TYPE(rttov_transmission) :: transmission ! Output transmittances
+TYPE(rttov_radiance) :: radiance ! Output radiances
- INTEGER(KIND=jpim) :: errorstatus ! Return error status of RTTOV subroutine calls
+INTEGER(KIND=jpim) :: errorstatus ! Return error status of RTTOV subroutine calls
- INTEGER(KIND=jpim) :: alloc_status
- CHARACTER(LEN=*), parameter :: NameOfRoutine = 'rttov_interfaces' !FIXME unused
+INTEGER(KIND=jpim) :: alloc_status
+CHARACTER(LEN=*), parameter :: NameOfRoutine = 'rttov_interfaces' !FIXME unused
- ! variables for input
- !====================
- CHARACTER(LEN=256) :: coef_filename
- CHARACTER(LEN=256) :: prof_filename
- INTEGER(KIND=jpim) :: nthreads = 1
- INTEGER(KIND=jpim) :: dosolar = 0
- INTEGER(KIND=jpim) :: nlevels
- INTEGER(KIND=jpim) :: nprof
- INTEGER(KIND=jpim) :: nchannels
- INTEGER(KIND=jpim) :: nchanprof
+! variables for input
+!====================
More information about the Dart-dev
mailing list