[Dart-dev] DART/branches Revision: 12046

dart at ucar.edu dart at ucar.edu
Fri Nov 3 17:04:51 MDT 2017


thoar at ucar.edu
2017-11-03 17:04:51 -0600 (Fri, 03 Nov 2017)
45
Worth committing to a branch, but not done.




Modified: DART/branches/mmc/assimilation_code/location/threed_sphere/location_mod.f90
===================================================================
--- DART/branches/mmc/assimilation_code/location/threed_sphere/location_mod.f90	2017-11-03 23:02:37 UTC (rev 12045)
+++ DART/branches/mmc/assimilation_code/location/threed_sphere/location_mod.f90	2017-11-03 23:04:51 UTC (rev 12046)
@@ -815,7 +815,7 @@
    case (VERTISSURFACE)
       write(charstring, '(A,F13.5,A)') trim(string1), loc%vloc, ' surface (m)'
    case (VERTISLEVEL)
-      write(charstring, '(A,F6.0,A)')  trim(string1), loc%vloc, '        level'
+      write(charstring, '(A,F13.6,A)') trim(string1), loc%vloc, '        level'
    case (VERTISPRESSURE)
       write(charstring, '(A,F13.7,A)') trim(string1), loc%vloc / 100.0_r8, ' hPa'
    case (VERTISHEIGHT)

Modified: DART/branches/mmc/assimilation_code/location/utilities/default_location_mod.f90
===================================================================
--- DART/branches/mmc/assimilation_code/location/utilities/default_location_mod.f90	2017-11-03 23:02:37 UTC (rev 12045)
+++ DART/branches/mmc/assimilation_code/location/utilities/default_location_mod.f90	2017-11-03 23:04:51 UTC (rev 12046)
@@ -23,17 +23,15 @@
           get_vertical_localization_coord, set_vertical_localization_coord
 
 ! version controlled file description for error handling, do not edit
-character(len=256), parameter :: source   = &
+character(len=*), parameter :: source   = &
    "$URL$"
-character(len=32 ), parameter :: revision = "$Revision$"
-character(len=128), parameter :: revdate  = "$Date$"
+character(len=*), parameter :: revision = "$Revision$"
+character(len=*), parameter :: revdate  = "$Date$"
 
 integer :: location_vertical_localization_coord = 0
 
 logical, save :: module_initialized = .false.
 
-character(len = 129) :: errstring
-
 contains
 
 !----------------------------------------------------------------------------

Modified: DART/branches/mmc/assimilation_code/modules/io/dart_time_io_mod.f90
===================================================================
--- DART/branches/mmc/assimilation_code/modules/io/dart_time_io_mod.f90	2017-11-03 23:02:37 UTC (rev 12045)
+++ DART/branches/mmc/assimilation_code/modules/io/dart_time_io_mod.f90	2017-11-03 23:04:51 UTC (rev 12046)
@@ -234,7 +234,7 @@
    endif
 
    !>@todo NF90_UNLIMITED
-   ios = nf90_def_var(ncid, name="time", xtype=nf90_int, varid=VarID)
+   ios = nf90_def_var(ncid, name="time", xtype=nf90_double, varid=VarID)
    call nc_check(ios, "write_model_time", "time def_var")
 
    ! define time attributes consistent with CF convention

Modified: DART/branches/mmc/assimilation_code/modules/io/state_structure_mod.f90
===================================================================
--- DART/branches/mmc/assimilation_code/modules/io/state_structure_mod.f90	2017-11-03 23:02:37 UTC (rev 12045)
+++ DART/branches/mmc/assimilation_code/modules/io/state_structure_mod.f90	2017-11-03 23:04:51 UTC (rev 12046)
@@ -219,10 +219,11 @@
    integer :: num_variables
    type(variable_type), allocatable :: variable(:) 
    
-   ! dimension informaion for domain
+   ! dimension information for domain
    integer :: num_unique_dims
    character(len=NF90_MAX_NAME), allocatable :: unique_dim_names(:)
    integer,                      allocatable :: unique_dim_length(:)
+   integer,                      allocatable :: unique_dim_Ids(:)
    integer :: unlimDimId = -1 ! initialize to no unlimited dimension
    logical :: has_unlimited = .false.
 
@@ -424,16 +425,32 @@
 state%domain(dom_id)%dom_size      = domain_size
 state%model_size = state%model_size + domain_size
 
+state%domain(dom_id)%num_unique_dims = 3
+allocate(state%domain(dom_id)%unique_dim_names(3))
+allocate(state%domain(dom_id)%unique_dim_length(3))
+allocate(state%domain(dom_id)%unique_dim_Ids(3))
+
+state%domain(dom_id)%unique_dim_names(1)  = 'location'
+state%domain(dom_id)%unique_dim_names(2)  = 'member'
+state%domain(dom_id)%unique_dim_names(3)  = 'time'
+
+state%domain(dom_id)%unique_dim_length(1) =  domain_size
+state%domain(dom_id)%unique_dim_length(2) =  1
+state%domain(dom_id)%unique_dim_length(3) =  1
+
+state%domain(dom_id)%unique_dim_Ids(1) =  1
+state%domain(dom_id)%unique_dim_Ids(2) =  2
+state%domain(dom_id)%unique_dim_Ids(3) =  NF90_UNLIMITED
+
+domain_offset = 0
+if (state%num_domains > 1 ) domain_offset = get_index_end(dom_id-1,get_num_variables(dom_id-1))
+
 ! variable
 allocate(state%domain(dom_id)%variable(1))
-state%domain(dom_id)%variable(1)%varname            = 'state'
-state%domain(dom_id)%variable(1)%io_info%units      = 'none'
-state%domain(dom_id)%variable(1)%numdims            = 1
-state%domain(dom_id)%variable(1)%io_info%io_numdims = 3


More information about the Dart-dev mailing list