[Dart-dev] DART/branches Revision: 10802

dart at ucar.edu dart at ucar.edu
Fri Dec 16 09:57:06 MST 2016


nancy at ucar.edu
2016-12-16 09:57:04 -0700 (Fri, 16 Dec 2016)
147
add the converter which runs GSI and takes the
precomputed FO values for observations and creates
a dart obs_seq file that can be read by filter.




Added: DART/branches/rma_trunk_inf/observations/GSI2DART/README
===================================================================
--- DART/branches/rma_trunk_inf/observations/GSI2DART/README	                        (rev 0)
+++ DART/branches/rma_trunk_inf/observations/GSI2DART/README	2016-12-16 16:57:04 UTC (rev 10802)
@@ -0,0 +1,39 @@
+
+gsi_to_dart.f90: the main program
+dart_obs_seq_mod.f90: the DART obs_seq output subroutine
+params.f90: same module name as GSI/enkf/params.f90 but with different content. The purpose is to avoid modifying enkf/read*.f90
+radinfo.f90: same module name as GSI/radinfo.f90 but with different content. The purpose is to avoid modifying enkf/read*.f90
+mpisetup.f90: same module name as GSI/enkf/mpisetup.f90 but with different content. The purpose is to avoid dependency on GSI.
+
+The files that are copied directly from GSI/enkf without modifications
+are placed under the directory enkf
+   constants.f90
+   kinds.F90
+   mpi_readobs.f90
+   read_diag.f90
+   readconvobs.f90
+   readozobs.f90
+   readsatobs.f90
+
+DART modifications:
+   modified ../../../obs_def/DEFAULT_obs_def_mod.F90
+   modified ../../../obs_kind/DEFAULT_obs_kind_mod.F90
+   modified ../../../preprocess/preprocess.f90
+   Added   ../../../obs_def/obs_def_radiance_mod.f90 which has radiance observation types
+
+
+
+
+ISSUES:
+
+1) Radiance and surface pressure bias correction
+2) Surface pressure altimeter adjustment?
+3) Specific humidity obs are transformed to relative humidity.  What to do? [Just run EnSRF with psuedo_rh=.false. and assimilate RH obs]
+4) DART must use W and PH as control variables [okay, EnSRF can do this too (nvars=6 for WRF-ARW)]
+5) Does DART not do vertical localization for surface obs?
+
+     ! If which_vert has no vertical definition for either location do only horizontal
+     if(loc1%which_vert == VERTISUNDEF .or. loc2%which_vert == VERTISUNDEF) comp_h_only = .true.
+     ! If both verts are surface, do only horizontal
+     if(loc1%which_vert == VERTISSURFACE .and. loc2%which_vert == VERTISSURFACE) comp_h_only = .true.
+


Property changes on: DART/branches/rma_trunk_inf/observations/GSI2DART/README
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Rev Author HeadURL Id
\ No newline at end of property
Added: DART/branches/rma_trunk_inf/observations/GSI2DART/dart_obs_seq_mod.f90
===================================================================
--- DART/branches/rma_trunk_inf/observations/GSI2DART/dart_obs_seq_mod.f90	                        (rev 0)
+++ DART/branches/rma_trunk_inf/observations/GSI2DART/dart_obs_seq_mod.f90	2016-12-16 16:57:04 UTC (rev 10802)
@@ -0,0 +1,430 @@
+module dart_obs_seq_mod
+
+use kinds, only: r_kind, r_single, i_kind
+use params
+use mpisetup
+
+use  obs_utilities_mod, only : add_obs_to_seq
+use  obs_sequence_mod, only : obs_type, obs_sequence_type, init_obs_sequence, insert_obs_in_seq, &
+                              set_copy_meta_data, set_qc_meta_data, write_obs_seq, assignment(=), &
+                              init_obs, static_init_obs_sequence, set_obs_def, set_obs_values, set_qc, &
+                              destroy_obs, destroy_obs_sequence
+use       obs_def_mod, only : set_obs_def_location, set_obs_def_error_variance, &
+                              set_obs_def_kind, set_obs_def_time, set_obs_def_key, &
+                              obs_def_type,set_obs_def_external_FO,destroy_obs_def ! CSS added set_obs_def_external_FO, destroy_obs_def
+use   obs_def_gps_mod, only : set_gpsro_ref
+use      obs_kind_mod
+use      location_mod, only : location_type, set_location, VERTISSURFACE, VERTISPRESSURE, VERTISHEIGHT
+use  time_manager_mod, only : time_type, set_date, set_time, set_calendar_type, GREGORIAN, &
+                              increment_time, decrement_time, get_time
+use radinfo, only           : nuchan
+use utilities_mod, only     : to_upper
+
+implicit none
+
+private 
+
+! Public subroutine
+public :: dart_obs_seq
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+contains
+
+subroutine dart_obs_seq (datestring,                              &
+                         nobs_conv, nobs_oz, nobs_sat, nobstot,   &
+                         ens_size, obs_seq_out_filename, nobs_start, nobs_end)
+   implicit none


More information about the Dart-dev mailing list