-
Notifications
You must be signed in to change notification settings - Fork 164
Open
Labels
BugSomething isn't workingSomething isn't workingobs_diagpmppossible Marlee projectpossible Marlee project
Description
π π π¨
Describe the bug
- Run obs_diag with wrf_hyrdo obs_seq.finals with SNOW_THICKNESS
- What was the expected outcome? Successful run of obs_diag
- What actually happened?
Errors out with message about NC_UNLIMITED size already in use.
Error Message
ERROR FROM:
source : netcdf_utilities_mod.f90
routine: WriteNetCDF
message: types:def_dim obs_diag_output.nc: NetCDF: NC_UNLIMITED size already i
n use
message: ...
Which model(s) are you working with?
wrf_hydro
Version of DART
Which version of DART are you using?
Reported with v9.9.0-637-g654607621
Reproduced with v9.13.2
Have you modified the DART code?
Yes - v9.9.0-637-g654607621 has the fix for bug: #323
v9.13.2 nope.
Build information
Please describe:
- Cheyenne
- intel
Suspected cause
The error is happening because streamflow_obs_diag.f90 has a local max_defined_types that is undefined
86 integer :: max_defined_types_of_obs
There is
550 max_defined_types_of_obs = lookup_flavor(flavor)
but this is in an if statement that is not entered.
So when you get to the netcdf writing:
max_defined_types_of_obs 0 NF90_UNLIMITED 0
so for this line:
call nc_check(nf90_def_dim(ncid=ncid, &
name='obstypes', len=max_defined_types_of_obs, dimid=TypesDimID), &
'WriteNetCDF', 'types:def_dim '//trim(fname))
Netcdf thinks you are defining the unlimited dimension again.
The 3D sphere obs_diag obs_kind_mod::max_defined_types_of_obs. I'm not sure at the moment why streamflow_obs_diag has a local max_defined_types_of_obs
"! All streamflow observations are identity observations at this point" is not true right?
! Check to see if it is an identity observation.
- ! All streamflow observations are identity observations at this point
if (flavor < 0) then
! Not every model location has a streamflow observation, but the
! location can be anywhere in the model state, so the 'flavor' can
! be quite large. We cannot allocate that much space, so we create
! a lookup array ....
- max_defined_types_of_obs = lookup_flavor(flavor) !HK max_defined_types_of_obs is unset for real obs.
if (flavor > num_obs_types) then
write(string1,*)'unsupported identity observation ',-1*flavor
write(string2,*)'Increase "num_obs_types" and recompile.'
call error_handler(E_ERR, 'obs_diag', string1, source, text2=string2)
endif
obsname = 'STREAM_FLOW'
Nidentity = Nidentity + 1
endifMetadata
Metadata
Assignees
Labels
BugSomething isn't workingSomething isn't workingobs_diagpmppossible Marlee projectpossible Marlee project