[Dart-dev] DART/branches Revision: 10980

dart at ucar.edu dart at ucar.edu
Wed Feb 1 15:58:03 MST 2017


hendric at ucar.edu
2017-02-01 15:58:03 -0700 (Wed, 01 Feb 2017)
71
reading in last inflation values from last time slot in
single files.




Modified: DART/branches/rma_single_file/io/direct_netcdf_mod.f90
===================================================================
--- DART/branches/rma_single_file/io/direct_netcdf_mod.f90	2017-02-01 20:07:34 UTC (rev 10979)
+++ DART/branches/rma_single_file/io/direct_netcdf_mod.f90	2017-02-01 22:58:03 UTC (rev 10980)
@@ -95,8 +95,7 @@
 
 public :: read_transpose, &
           transpose_write, &
-          read_variables, &
-          read_single_file
+          read_variables
 
 ! version controlled file description for error handling, do not edit
 character(len=256), parameter :: source   = &
@@ -1544,95 +1543,6 @@
 
 end function find_start_point
 
-
-!-------------------------------------------------------
-!> 
-!> 
-!> 
-
-
-subroutine read_single_file(state_ens_handle, file_info, use_time_from_file, time)
-
-type(ensemble_type),  intent(inout) :: state_ens_handle
-type(file_info_type), intent(in)    :: file_info
-logical,              intent(in)    :: use_time_from_file
-type(time_type),      intent(inout) :: time
-
-integer :: dart_index ! where to start in state_ens_handle%copies
-type(stage_metadata_type) :: name_handle
-
-! NetCDF IO variables
-integer :: ncid, varid, MemDimID, ret, icopy, ivar, istart, iend, i
-integer :: ens_size, mem_size, model_size, var_size, domain
-character(len=32) :: var_name
-real(r8), allocatable :: var_block(:)
-character(len=256) :: fname
-
-! check whether file_info handle is initialized
-!#! call assert_file_info_initialized(file_info, 'read_restart_direct')
-
-! do this once
-name_handle = get_stage_metadata(file_info)
-
-ens_size = state_ens_handle%num_copies - state_ens_handle%num_extras
-
-! read time from input file if time not set in namelist
-!>@todo Check time constistency across files? This is assuming they are consistent.
-if(use_time_from_file) then
-   time = read_model_time(fname)
-endif
-
-state_ens_handle%time = time
-
-fname = get_single_filename(file_info)
-print*, 'fname -> ', fname
-
-domain = 1 !>@todo : single domain for single file read supported
-
-ret = nf90_open(fname, NF90_NOWRITE, ncid)
-call nc_check(ret, 'read_single_file: nf90_open', fname)
-
-do ivar = 1, get_num_variables(domain)
-   var_size = get_variable_size(domain, ivar)
-   allocate( var_block(var_size) )
-   
-   var_name = get_variable_name(domain, ivar)
-   ret = nf90_inq_varid(ncid, var_name, varid)
-   call nc_check(ret, 'read_single_file: nf90_inq_varid', fname)
-
-   ! if member dimension is defined then we are reading from a single file
-   !>@todo there is probably a cleaner way of doing this
-   ret = nf90_inq_dimid(ncid, "member", MemDimID)
-   if( ret == 0 ) then
-      ret = nf90_inquire_dimension(ncid, MemDimID, len=mem_size) 
-      call nc_check(ret, 'read_single_file: nf90_inquire_dimension', fname)
-      if (mem_size < ens_size) ens_size = mem_size
-      !#! print*, 'num members : ', ens_size
-   endif
-
-   do icopy = 1, ens_size
-      ret = nf90_get_var(ncid, varid, var_block, start=(/1,icopy,1/))
-      call nc_check(ret, 'read_single_file: nf90_get_var', fname)
-      istart = 1
-      iend   = var_size
-      state_ens_handle%copies(icopy, istart:iend) = var_block
-
-      !#! istart = var_size + 1
-
-      !#! write(*,*) 'var_block : icopy = ', icopy, var_size
-      !#! do i = 1, var_size
-      !#!    write(*,*) state_ens_handle%copies(icopy, i)
-      !#! enddo
-   enddo
-   deallocate( var_block )
-enddo
-


More information about the Dart-dev mailing list