[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