koichi_sakaguchi@pnnl_gov
Member
I'd like to run off-line CLM4/5 simulations using CAM outputs on an unstructured grid like those for SE and MPAS dycores. I tried first by remapping the CCSM4 outputs (found in namelist_definition_datm.xml) to a ~1degree unstructured grid along with corresponding domain files, surface file, and initial file, but got the following run-time error
0: ERROR: (shr_dmodel_readstrm) ERROR in data sizes
1: (shr_dmodel_readstrm) ERROR in data sizes 40962 248 39716 55296
(40962 is the number of columns in the unstructured grid; I don't know how the model gets other three numbers)
The subroutine generated this error message (shr_dmodel_readstrm) seems to assume that the forcing data has both x and y dimensions (code snippet below), is this true?
Are there any (relatively) simple ways to use unstructured 1D data as atmospheric forcing? I'd like to avoid remapping all the 3/6 hourly CAM outputs to a regular lat/lon grid.
Best,
Koichi
0: ERROR: (shr_dmodel_readstrm) ERROR in data sizes
1: (shr_dmodel_readstrm) ERROR in data sizes 40962 248 39716 55296
(40962 is the number of columns in the unstructured grid; I don't know how the model gets other three numbers)
The subroutine generated this error message (shr_dmodel_readstrm) seems to assume that the forcing data has both x and y dimensions (code snippet below), is this true?
Are there any (relatively) simple ways to use unstructured 1D data as atmospheric forcing? I'd like to avoid remapping all the 3/6 hourly CAM outputs to a regular lat/lon grid.
Code:
if (gsize == nx*ny) then
d3dflag = .false.
allocate(data2d(nx,ny))
elseif (gsize == nx*ny*nz) then
d3dflag = .true.
allocate(data3d(nx,ny,nz))
else
write(logunit,F01) "ERROR in data sizes ",nx,ny,nz,gsize
call shr_sys_abort(subname//"ERROR in data sizes")
endif
Best,
Koichi