[Dart-dev] DART/branches Revision: 11757
dart at ucar.edu
dart at ucar.edu
Thu Jun 22 16:22:14 MDT 2017
hendric at ucar.edu
2017-06-22 16:22:13 -0600 (Thu, 22 Jun 2017)
523
Merging in the branch rma_mmc. The code can now run with
oned, twod, threed_cartesian, and threed_sphere location
modules.
There is additional code to run model_mod_check with
the single_file option (all members in one file) in
the namelist 'single_file'.
restart_file_list has been renamed to input_state_files
and similarly for output_state_files.
Moved model_mod_check to the programs directory and updated
the html and all model's path_names and nmls to be consistent
with the location of model_mod_check.f90.
Index: DART/branches/rma_trunk
===================================================================
--- DART/branches/rma_trunk 2017-06-21 23:54:17 UTC (rev 11756)
+++ DART/branches/rma_trunk 2017-06-22 22:22:13 UTC (rev 11757)
Property changes on: DART/branches/rma_trunk
___________________________________________________________________
Modified: svn:mergeinfo
## -14,6 +14,7 ##
/DART/branches/rma_fixed_filenames:10708-10901
/DART/branches/rma_kinds_to_state_structure:8958-9437
/DART/branches/rma_kinds_to_state_strucutre:8909-8957
+/DART/branches/rma_mmc:11731-11755
/DART/branches/rma_model_mod_check:8965-9178
/DART/branches/rma_mpas_fold_mean_fwd:9348-9458
/DART/branches/rma_mpas_get_state_meta_data:8871-8890
\ No newline at end of property
Modified: DART/branches/rma_trunk/assimilation_code/location/column/location_mod.f90
===================================================================
--- DART/branches/rma_trunk/assimilation_code/location/column/location_mod.f90 2017-06-21 23:54:17 UTC (rev 11756)
+++ DART/branches/rma_trunk/assimilation_code/location/column/location_mod.f90 2017-06-22 22:22:13 UTC (rev 11757)
@@ -8,9 +8,10 @@
! Implements location interfaces for a one dimensional column domain
-use types_mod, only : r8, MISSING_R8, MISSING_I
-use utilities_mod, only : register_module, error_handler, E_ERR, ascii_file_format, &
- nc_check
+use types_mod, only : i8, r8, MISSING_R8, MISSING_I
+use ensemble_manager_mod, only : ensemble_type
+use utilities_mod, only : register_module, error_handler, E_ERR, ascii_file_format, &
+ nc_check
implicit none
private
Modified: DART/branches/rma_trunk/assimilation_code/modules/io/dart_time_io_mod.f90
===================================================================
--- DART/branches/rma_trunk/assimilation_code/modules/io/dart_time_io_mod.f90 2017-06-21 23:54:17 UTC (rev 11756)
+++ DART/branches/rma_trunk/assimilation_code/modules/io/dart_time_io_mod.f90 2017-06-22 22:22:13 UTC (rev 11757)
@@ -57,7 +57,6 @@
real(digits12) :: model_time, time_array(1)
integer, dimension(NF90_MAX_VAR_DIMS) :: dimIDs
-character(len=NF90_MAX_NAME) :: varname,dimname
character(len=256) :: file_calendar, dart_calendar
character(len=256) :: unitstring
@@ -163,7 +162,7 @@
endif
! This is the start of their calendar
- base_time = set_date(year, month, day, hour, minute, second)
+ base_time = set_date(year, month, day, hour, minute, second)
delta_time = set_time(seconds)
read_model_time = base_time + delta_time
@@ -208,8 +207,7 @@
real(digits12) :: model_time
integer, dimension(NF90_MAX_VAR_DIMS) :: dimIDs
-character(len=NF90_MAX_NAME) :: varname,dimname
-character(len=NF90_MAX_NAME) :: dart_calendar, file_calendar
+character (len=NF90_MAX_NAME) :: dart_calendar, file_calendar
! this is used in many error messages below. set it here, and
! don't reuse string3 here, please.
@@ -227,6 +225,15 @@
ios = nf90_Redef(ncid)
call nc_check(ios, "write_model_time", "redef")
+ ! check to see if there is a time dimension
+ ios = nf90_inq_dimid(ncid, "time", dimIds(1))
+
+ ! if time dimension does not exist create it
+ if (ios /= NF90_NOERR) then
+ call nc_check(nf90_def_dim(ncid, "time", nf90_unlimited, dimIds(1)), &
+ "write_model_time def_var dimension time")
+ endif
+
!>@todo NF90_UNLIMITED
ios = nf90_def_var(ncid, name="time", xtype=nf90_int, varid=VarID)
call nc_check(ios, "write_model_time", "time def_var")
@@ -295,7 +302,7 @@
! Since the time variable is known to have only 1 dimension, we know it is the first one.
-ios = nf90_inquire_dimension(ncid, dimids(1), len=ntimes)
+ios = nf90_inquire_dimension(ncid, dimIds(1), len=ntimes)
call nc_check(ios, 'write_model_time', 'inquire_dimension for time dimension')
! convert time to something that netCDF can store, fractional days
Modified: DART/branches/rma_trunk/assimilation_code/modules/io/io_filenames_mod.f90
===================================================================
--- DART/branches/rma_trunk/assimilation_code/modules/io/io_filenames_mod.f90 2017-06-21 23:54:17 UTC (rev 11756)
+++ DART/branches/rma_trunk/assimilation_code/modules/io/io_filenames_mod.f90 2017-06-22 22:22:13 UTC (rev 11757)
@@ -488,8 +488,8 @@
! check that the number of domains matches the size of file names provided
if (get_num_domains() /= size(fnames(:),1)) then
More information about the Dart-dev
mailing list