[Dart-dev] DART/branches Revision: 11923
dart at ucar.edu
dart at ucar.edu
Wed Aug 30 16:37:32 MDT 2017
thoar at ucar.edu
2017-08-30 16:37:27 -0600 (Wed, 30 Aug 2017)
383
The electron density observations from the CDAAC site are now
supported and documented. There is a bit of ambiguity as to whether
the COSMIC_ELECTRON_DENSITY quantity should be in the obs_def_gps_mod.f90
or the obs_def_upper_atm_mod.f90 or maybe a new obs_def_CDAAC_mod.f90
I do not have an observation error lookup table, and I should commit
a single profile for people to test.
Modified: DART/branches/rma_trunk/observations/obs_converters/gps/convert_cosmic_ionosphere.f90
===================================================================
--- DART/branches/rma_trunk/observations/obs_converters/gps/convert_cosmic_ionosphere.f90 2017-08-30 17:17:42 UTC (rev 11922)
+++ DART/branches/rma_trunk/observations/obs_converters/gps/convert_cosmic_ionosphere.f90 2017-08-30 22:37:27 UTC (rev 11923)
@@ -2,73 +2,94 @@
! by UCAR, "as is", without charge, subject to all terms of use at
! http://www.image.ucar.edu/DAReS/DART/DART_download
!
-! $Id$
+! DART $Id$
-!> a version of the netcdf -> dart obs_seq converter for ionosphere profiles
-!> the file type from the CDAAC data site is 'ionPrf'.
+!> An observation sequence converter for ionosphere profiles
+!> from the CDAAC web site http://cosmic-io.cosmic.ucar.edu/cdaac
+!> The usual mission is 'cosmic2013', the file type is 'ionPrf'.
!>
-!> i don't know where the obs errors are going to come from.
+!> The strategy here is to read the raw vertical locations and interpolate
+!> to a fixed set of vertical locations. If there are any 'bad' observations
+!> below the lowest desired level - they are ignored. If there are any 'bad'
+!> observations ABOVE the lowest desired level - the entire profile is IGNORED.
+!>
+!> modified from GPS atmospheric radio/occultation version
+!> which was created June 2008 by Ryan Torn, NCAR/MMM
+!> nsc 11 mar 2016
+!>
+!> Incorporated multiple methods for setting the observation error variance
+!> Feb. 2010 I-TE LEE, NCAR/HAO & NCU
+!> Modify to read the ionPrf data file of COSMIC
+!> and write the data to the DART format.
+!> Oct. 2010 I-TE LEE, NCAR/HAO & NCU
+!> Remove the code for lower atmospheric observations
+!> Dec. 2010 I-TE LEE, NCAR/HAO & NCU
+!> Add new error valur for log scale testing
+!> Jan. 2011 I-TE LEE, NCAR/HAO & NCU
+!> Modify for real GOX observations
+!> Jan. 2011 I-TE LEE, NACR/HAO & NCU
+!> Add subroutine to calculate the observation variance
+!> the ancestor of this routine modified the observation time with the desired
+!> analysis time - this is not done - windowing is done in a post-processing step.
+!>
+!> The normal usage pattern is to create a list of input files for all satellite
+!> pairs for a given day and create a SINGLE observation sequence file. That file
+!> can then be post-processed any way you like - but it is a lot more manageable
+!> than reprocessing a thousand (literally) netCDF files.
program convert_cosmic_ionosphere
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-!
-! convert_cosmic_ionosphere - program that reads a COSMIC GPS ionosphere
-! profile and writes the data to a DART
-! observation sequence file.
-!
-! copied from GPS atmospheric radio/occultation version
-! which was created June 2008 by Ryan Torn, NCAR/MMM
-! nsc 11 mar 2016
-!
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-use types_mod, only : r8
+use types_mod, only : r8, MISSING_R8
use time_manager_mod, only : time_type, set_calendar_type, GREGORIAN, set_time,&
increment_time, get_time, set_date, operator(-), &
print_date
-use utilities_mod, only : initialize_utilities, find_namelist_in_file, &
- check_namelist_read, nmlfileunit, do_nml_file, &
- get_next_filename, error_handler, E_ERR, E_MSG, &
- nc_check, find_textfile_dims, do_nml_term, finalize_utilities
+use utilities_mod, only : initialize_utilities, find_namelist_in_file, &
+ check_namelist_read, nmlfileunit, do_nml_file, &
+ get_next_filename, error_handler, E_ERR, E_MSG, &
+ nc_check, find_textfile_dims, do_nml_term, &
+ to_upper, open_file, finalize_utilities
use location_mod, only : VERTISHEIGHT, set_location
-use obs_sequence_mod, only : obs_sequence_type, obs_type, read_obs_seq, &
- static_init_obs_sequence, init_obs, destroy_obs, &
- write_obs_seq, init_obs_sequence, get_num_obs, &
- insert_obs_in_seq, destroy_obs_sequence, &
- set_copy_meta_data, set_qc_meta_data, set_qc, &
- set_obs_values, set_obs_def, insert_obs_in_seq
-use obs_def_mod, only : obs_def_type, set_obs_def_time, set_obs_def_type_of_obs, &
+use obs_sequence_mod, only : obs_sequence_type, obs_type, read_obs_seq, &
+ static_init_obs_sequence, init_obs, destroy_obs, &
+ write_obs_seq, init_obs_sequence, get_num_obs, &
+ insert_obs_in_seq, destroy_obs_sequence, &
+ set_copy_meta_data, set_qc_meta_data, set_qc, &
+ set_obs_values, set_obs_def, insert_obs_in_seq, &
+ get_num_copies, get_num_qc
+use obs_def_mod, only : obs_def_type, set_obs_def_time, set_obs_def_type_of_obs, &
set_obs_def_error_variance, set_obs_def_location, &
set_obs_def_key
+use obs_utilities_mod, only : add_obs_to_seq
use obs_kind_mod, only : COSMIC_ELECTRON_DENSITY
-use obs_utilities_mod, only : add_obs_to_seq
-use netcdf
+use netcdf
implicit none
More information about the Dart-dev
mailing list