In create_and_open_state_output, only 'time' (lower case) can be the unlimited dimension.
|
! define dimensions, loop around unique dimensions |
|
do i = 1, get_io_num_unique_dims(dom_id) |
|
if ( trim(get_io_unique_dim_name(dom_id, i)) == 'time' ) then |
|
ret = nf90_def_dim(ncfile_out, 'time', NF90_UNLIMITED, new_dimid) |
|
else |
|
ret = nf90_def_dim(ncfile_out, get_io_unique_dim_name(dom_id, i), & |
|
get_io_unique_dim_length(dom_id, i), new_dimid) |
|
endif |
|
!>@todo if we already have a unique names we can take this test out |
|
if(ret /= NF90_NOERR .and. ret /= NF90_ENAMEINUSE) then |
|
call nc_check(ret, routine, & |
|
'defining dimensions'//trim(get_io_unique_dim_name(dom_id, i))) |
|
endif |
|
enddo |
If you have an unlimited dimension in the state_structure_mod, e.g. WRF has 'Time' this gets created as a limited dimension.
This means that your created netcdf files have a different netcdf dimension structure than your model files.
has_unlimited is a property of the state_stucture%domain, but it is (can be) different between netcdf files because of create_and_open_state_output. I think this is why dart_time_io_mod is querying the netcdf file rather than the state_structure (see comment above).
There is also domain%variable(ivar)%var_has_unlim which is per variable, set but never used.
Originally posted by @hkershaw-brown in #359
Originally posted by @hkershaw-brown in #359