[Dart-dev] DART/branches Revision: 11894

dart at ucar.edu dart at ucar.edu
Wed Aug 9 14:55:47 MDT 2017


thoar at ucar.edu
2017-08-09 14:55:47 -0600 (Wed, 09 Aug 2017)
46
First crack at testing the quad interp code.




Modified: DART/branches/quad_interp/assimilation_code/modules/io/state_structure_mod.f90
===================================================================
--- DART/branches/quad_interp/assimilation_code/modules/io/state_structure_mod.f90	2017-08-09 20:54:32 UTC (rev 11893)
+++ DART/branches/quad_interp/assimilation_code/modules/io/state_structure_mod.f90	2017-08-09 20:55:47 UTC (rev 11894)
@@ -923,7 +923,7 @@
 
 
 !-------------------------------------------------------------------------------
-!> Return and array containing the dimension lengths, excluding the UNLIMITED dim
+!> Return an array containing the dimension lengths, excluding the UNLIMITED dim
 
 
 function get_dim_lengths(dom_id, ivar)

Modified: DART/branches/quad_interp/models/ROMS/model_mod.f90
===================================================================
--- DART/branches/quad_interp/models/ROMS/model_mod.f90	2017-08-09 20:54:32 UTC (rev 11893)
+++ DART/branches/quad_interp/models/ROMS/model_mod.f90	2017-08-09 20:55:47 UTC (rev 11894)
@@ -47,7 +47,7 @@
                              write_location, set_location_missing,              &
                              get_close_obs, get_close_state,                    &
                              convert_vertical_obs, convert_vertical_state,      &
-                             VERTISHEIGHT, VERTISSURFACE
+                             VERTISHEIGHT, VERTISSURFACE, is_vertical
 
 use    utilities_mod, only : register_module, error_handler, do_nml_term,       &
                              E_ERR, E_WARN, E_MSG, logfileunit, get_unit,       &
@@ -89,12 +89,18 @@
 use netcdf_utilities_mod, only : nc_add_global_attribute, nc_sync, nc_check, &
                                  nc_add_global_creation_time, nc_redef, nc_enddef
 
-use location_io_mod,      only :  nc_write_location_atts, nc_get_location_varids, &
-                                  nc_write_location
+use location_io_mod,      only : nc_write_location_atts, nc_get_location_varids, &
+                                 nc_write_location
 
-use default_model_mod,     only : pert_model_copies, nc_write_model_vars, init_conditions, &
-                                  init_time, adv_1step
+use default_model_mod,    only : pert_model_copies, nc_write_model_vars, init_conditions, &
+                                 init_time, adv_1step
 
+use quad_utils_mod,       only : quad_interp_handle, init_quad_interp, &
+                                 finalize_quad_interp, set_quad_coords, quad_lon_lat_locate, &
+                                 quad_lon_lat_evaluate, print_quad_handle, &
+                                 GRID_QUAD_FULLY_IRREGULAR, QUAD_LOCATED_CELL_CENTERS, &
+                                 QUAD_LOCATED_LON_EDGES, QUAD_LOCATED_LAT_EDGES
+
 use typesizes
 use netcdf
 
@@ -127,8 +133,8 @@
           get_close_state
 
 ! not required interfaces but useful for utility programs
-public :: get_time_information,          &
-          get_location_from_ijk
+public :: get_time_information!,          &
+!          get_location_from_ijk
 
 ! version controlled file description for error handling, do not edit
 character(len=256), parameter :: source   = &
@@ -139,6 +145,8 @@
 character(len=512) :: string1, string2, string3
 logical, save :: module_initialized = .false.
 
+type(quad_interp_handle) :: ugrid_handle, vgrid_handle, tgrid_handle
+
 ! things which can/should be in the model_nml
 logical  :: output_state_vector          = .false.
 integer  :: assimilation_period_days     = 1
@@ -145,12 +153,16 @@
 integer  :: assimilation_period_seconds  = 0
 integer  :: vert_localization_coord      = VERTISHEIGHT
 integer  :: debug = 0   ! turn up for more and more debug messages
-character(len=256) :: roms_filename = 'roms_input.nc'
+character(len=256) :: roms_grid_file     = 'roms_grid.nc'
+character(len=256) :: roms_filename      = 'roms_input.nc'
+integer  :: vert_transform               = 4
 
 namelist /model_nml/  &
    assimilation_period_days,    &
    assimilation_period_seconds, &
+   roms_grid_file,              &
    roms_filename,               &
+   vert_transform,              &
    vert_localization_coord,     &
    debug,                       &
    variables
@@ -189,14 +201,25 @@
 integer :: Ns_rho
 integer :: Ns_w
 
+! Vertical grid parameters
+real(r8) :: theta_s, theta_b
+real(r8) :: Tcline,  hc
+ 
+
 !>@todo FIXME ... nancy suggested creating pointers for each of these so
 !    we could simply use the myvarid as the index in the pointer ...
 
-real(r8), allocatable, target :: ULAT(:,:), ULON(:,:), UDEP(:,:,:), &


More information about the Dart-dev mailing list