[Dart-dev] DART/branches Revision: 12527

dart at ucar.edu dart at ucar.edu
Tue Apr 17 11:34:45 MDT 2018


nancy at ucar.edu
2018-04-17 11:34:45 -0600 (Tue, 17 Apr 2018)
436
add the cheat sheet for interface changes between
classic and manhattan for location mods.  need to fold
in the recam changes for get_maxdist() to my branch here.

also continue to try to consolidate output through
a single routine in utils (instead of writing to * and
then to the logfileunit directly) so we can more easily
control where output goes.  this is for things that
don't call the error handler - usually debugging output.




Modified: DART/branches/all_nsc_changes/assimilation_code/location/channel/location_mod.f90
===================================================================
--- DART/branches/all_nsc_changes/assimilation_code/location/channel/location_mod.f90	2018-04-17 17:13:37 UTC (rev 12526)
+++ DART/branches/all_nsc_changes/assimilation_code/location/channel/location_mod.f90	2018-04-17 17:34:45 UTC (rev 12527)
@@ -14,7 +14,7 @@
 use      types_mod, only : r8, i8, MISSING_R8, MISSING_I, PI, RAD2DEG, DEG2RAD
 use  utilities_mod, only : register_module, error_handler, E_ERR, ascii_file_format, &
                            E_MSG, open_file, close_file, set_output,       &
-                           logfileunit, nmlfileunit, find_namelist_in_file,          &
+                           nmlfileunit, find_namelist_in_file,          &
                            check_namelist_read, do_output, do_nml_file,              &
                            do_nml_term, is_longitude_between
 use random_seq_mod, only : random_seq_type, init_random_seq, random_uniform

Added: DART/branches/all_nsc_changes/assimilation_code/location/location_changes
===================================================================
--- DART/branches/all_nsc_changes/assimilation_code/location/location_changes	                        (rev 0)
+++ DART/branches/all_nsc_changes/assimilation_code/location/location_changes	2018-04-17 17:34:45 UTC (rev 12527)
@@ -0,0 +1,197 @@
+
+old public interface list:                                                               new public interface list:
+
+ LocationDims                                                                             LocationDims
+ LocationLName                                                                            LocationLName
+ LocationName                                                                             LocationName
+ get_close_maxdist_init                                                                   LocationStorageOrder
+ get_close_obs                                                                            LocationUnits
+ get_close_obs_destroy                                                                    convert_vertical_obs
+ get_close_obs_init                                                                       convert_vertical_state
+ get_close_type                                                                           get_close_destroy
+ get_dist                                                                                 get_close_init
+ get_location                                                                             get_close_obs
+ get_vert                                                                                 get_close_state
+ has_vertical_localization                                                                get_close_type
+ interactive_location                                                                     get_dist
+ is_location_in_region                                                                    get_location
+ nc_get_location_varids                                                                   get_vertical_localization_coord
+ nc_write_location                                                                        has_vertical_choice
+ nc_write_location_atts                                                                   interactive_location
+ operator(/=)                                                                             is_location_in_region
+ operator(==)                                                                             is_vertical
+ query_location                                                                           location_type
+ read_location                                                                            operator(/=)
+ set_location                                                                             operator(==)
+ set_location_missing                                                                     query_location
+ set_vert                                                                                 read_location
+ set_which_vert                                                                           set_location
+ vert_is_height                                                                           set_location_missing
+ vert_is_level                                                                            set_vertical
+ vert_is_pressure                                                                         set_vertical_localization_coord
+ vert_is_surface                                                                          vertical_localization_on
+ vert_is_undef                                                                            write_location
+ write_location
+ location_type
+                                                                                         ! example location parms
+
+                                                                                         integer,             parameter :: LocationDims = 1
+                                                                                         character(len = 64), parameter :: LocationName = "loc1d"
+                                                                                         character(len = 64), parameter :: LocationLName = "location on unit circle"
+                                                                                         character(len = 64), parameter :: LocationStorageOrder = "X"
+                                                                                         character(len = 64), parameter :: LocationUnits = "none"
+
+                                                                                         interface operator(==); module procedure loc_eq; end interface
+                                                                                         interface operator(/=); module procedure loc_ne; end interface
+
+                                                                                         interface set_location
+                                                                                            module procedure set_location_single
+                                                                                            module procedure set_location_array
+                                                                                         end interface set_location
+
+                                                                                         ! if no vert
+                                                                                         use default_location_mod, only : has_vertical_choice, vertical_localization_on, &
+                                                                                                                          get_vertical_localization_coord, &
+                                                                                                                          set_vertical_localization_coord
+
+
+
+                                                                                         subroutine initialize_module
+subroutine initialize_module
+                                                                                         function get_dist(loc1, loc2, type1, kind2)
+function get_dist(loc1, loc2, type1, kind2)                                              type(location_type), intent(in) :: loc1, loc2
+type(location_type), intent(in) :: loc1, loc2                                            integer, optional,   intent(in) :: type1, kind2
+integer, optional,   intent(in) :: type1, kind2                                          real(r8)                        :: get_dist
+real(r8)                        :: get_dist
+                                                                                         function loc_eq(loc1,loc2)
+function loc_eq(loc1,loc2)                                                               type(location_type), intent(in) :: loc1, loc2
+type(location_type), intent(in) :: loc1, loc2                                            logical                         :: loc_eq
+logical                         :: loc_eq
+                                                                                         function loc_ne(loc1,loc2)
+function loc_ne(loc1,loc2)                                                               type(location_type), intent(in) :: loc1, loc2
+type(location_type), intent(in) :: loc1, loc2                                            logical                         :: loc_ne
+logical                         :: loc_ne
+                                                                                         function get_location(loc)
+function get_location(loc)                                                               type(location_type), intent(in) :: loc
+type(location_type), intent(in) :: loc                                                   real(r8)                        :: get_location
+real(r8), dimension(2) :: get_location
+                                                                                         function set_location_single(x)
+function set_location_single(lon, lat)                                                   real(r8), intent(in) :: x
+real(r8), intent(in) :: lon, lat                                                         type (location_type) :: set_location_single
+type (location_type) :: set_location_single
+                                                                                         function set_location_array(list)


More information about the Dart-dev mailing list