-
Notifications
You must be signed in to change notification settings - Fork 54
Visualizing and processing output
To save cross sections or 3D fields the following settings are needed in the namelist file for Dales. Output is saved in netCDF format by default.
&NAMCROSSSECTION
lcross = .true.
crossheight = 20,40,80
dtav = 60
/
crossheights is a list of z-levels for which to save horizontal cross sections.
&NAMFIELDDUMP
lfielddump = .true.
dtav = 60
/
The upcoming Dales 4.2 enables compressed netCDF files, by switching to the netCDF4 format. The space saving is great, especially for the ql and qr which contains many 0s. Compressed netCDFs have the following quirks:
- if the Dales is interrupted, the files are not readable.
- the files cannot be read while Dales is running.
To work around these:
- add periodic calls to NF90_SYNC(ncid) on the netCDF files
-
export HDF5_USE_FILE_LOCKING=FALSE
before trying to view incomplete files
To save space, consider turning off output of all fields which are not needed. Fielddump saves many fields by default. For cloud visualization, only ql and possibly qr are needed.
- add synchronization calls
- make it possible to select which fields are saved
- ncview - oldfashioned but quick
- panoply
- paraview - 3D views possible
When Dales is run in parallel with MPI, each worker creates its own set of netCDF files. The following methods can be used to merge the pieces into single large files.
Convenient, possibly slow for large, compressed 3D data.
Fast but doesn't work with cross sections (or any variables on the velocity grids ?)
NX=`ls surf_xy.x*y000.001.nc | wc -l`
cdo -P 2 -f nc4 -z zip_6 -r -O collgrid,$NX `ls fielddump.*.001.nc | sort -t . -k 3` 3d.nc
cdo -P 2 -f nc4 -z zip_6 -r -O collgrid,$NX `ls surf_xy*.nc | sort -t y -k 3` surf.nc
The first line determines the number of tiles in X. The sort commands sort the input files in the right order, so the tiles are adjacent in X.
Change unlimited dimension, concatenate, change dimension. These scripts still merge only in one direction, they are from the time before 2D MPI parallelization. Probably they can be adapted.
Don't merge - load all tiles in paraview. Note that paraview may show a gap between the tiles. This gap goes away if you switch to point rendering.