[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