[Dart-dev] DART/branches Revision: 12737

dart at ucar.edu dart at ucar.edu
Wed Jul 11 17:06:14 MDT 2018


nancy at ucar.edu
2018-07-11 17:06:14 -0600 (Wed, 11 Jul 2018)
200
not at all finished - but a skeleton of what we'll need to
do for radiance obs.  i picked this one because it has model-level
loops in the forward operator that we can mimic to get our profile data.




Added: DART/branches/radiance/observations/forward_operators/obs_def_rttov_mod.f90
===================================================================
--- DART/branches/radiance/observations/forward_operators/obs_def_rttov_mod.f90	                        (rev 0)
+++ DART/branches/radiance/observations/forward_operators/obs_def_rttov_mod.f90	2018-07-11 23:06:14 UTC (rev 12737)
@@ -0,0 +1,785 @@
+! DART software - Copyright UCAR. This open source software is provided
+! by UCAR, "as is", without charge, subject to all terms of use at
+! http://www.image.ucar.edu/DAReS/DART/DART_download
+!
+! $Id$
+
+!----------------------------------------------------------------------
+! This module provides support for computing forward operators for
+! radiance observations by calling the rttov radiative transfer model.
+!
+! the additional metadata in each observation includes:
+!
+!  OBS            X
+! rttov
+!    sat az/el
+!    sun az/el
+!    platform
+!    instrument
+!    channel
+!    <anything else useful>
+!----------------------------------------------------------------------
+
+! BEGIN DART PREPROCESS KIND LIST
+! AIRS_AMSU_RADIANCE,    QTY_RADIANCE
+! END DART PREPROCESS KIND LIST
+
+
+! BEGIN DART PREPROCESS USE OF SPECIAL OBS_DEF MODULE
+!   use obs_def_rttov_mod, only : read_rttov_metadata, &
+!                                write_rttov_metadata, &
+!                          interactive_rttov_metadata, &
+!                                get_expected_radiance
+! END DART PREPROCESS USE OF SPECIAL OBS_DEF MODULE
+
+
+! BEGIN DART PREPROCESS GET_EXPECTED_OBS_FROM_DEF
+!      case(AIRS_AMSU_RADIANCE)
+!         call get_expected_radiance(state_handle, ens_size, location, obs_def%key, expected_obs, istatus)
+! END DART PREPROCESS GET_EXPECTED_OBS_FROM_DEF
+
+
+! BEGIN DART PREPROCESS READ_OBS_DEF
+!   case(AIRS_AMSU_RADIANCE)
+!      call read_rttov_metadata(obs_def%key, key, ifile, fform)
+! END DART PREPROCESS READ_OBS_DEF
+
+
+! BEGIN DART PREPROCESS WRITE_OBS_DEF
+!   case(AIRS_AMSU_RADIANCE)
+!      call write_rttov_metadata(obs_def%key, ifile, fform)
+! END DART PREPROCESS WRITE_OBS_DEF
+
+
+! BEGIN DART PREPROCESS INTERACTIVE_OBS_DEF
+!   case(AIRS_AMSU_RADIANCE)
+!      call interactive_rttov_metadata(obs_def%key)
+! END DART PREPROCESS INTERACTIVE_OBS_DEF
+
+
+! BEGIN DART PREPROCESS MODULE CODE
+module obs_def_rttov_mod
+
+use        types_mod, only : r8, PI, metadatalength, MISSING_R8
+use    utilities_mod, only : register_module, error_handler, E_ERR, E_WARN, E_MSG, &
+                             logfileunit, get_unit, open_file, close_file, nc_check, &
+                             file_exist, ascii_file_format
+use     location_mod, only : location_type, set_location, get_location, &
+                             VERTISHEIGHT, VERTISLEVEL, set_location_missing
+use     obs_kind_mod, only : QTY_GEOPOTENTIAL_HEIGHT, QTY_SOIL_MOISTURE
+use  assim_model_mod, only : interpolate
+
+use obs_def_utilities_mod, only : track_status
+use ensemble_manager_mod,  only : ensemble_type
+
+use typesizes
+use netcdf
+
+implicit none
+private
+
+public ::            set_rttov_metadata, &
+                     get_rttov_metadata, &
+                    read_rttov_metadata, &
+                   write_rttov_metadata, &
+             interactive_rttov_metadata, &
+                  get_expected_radiance
+
+! version controlled file description for error handling, do not edit
+character(len=256), parameter :: source   = &
+   "$URL$"
+character(len=32 ), parameter :: revision = "$Revision$"
+character(len=128), parameter :: revdate  = "$Date$"
+
+character(len=256) :: string1, string2
+logical, save      :: module_initialized = .false.
+


More information about the Dart-dev mailing list