|
make_netcdf.py.html |
|
|
Source file: make_netcdf.py
|
|
Directory: /Users/rjl/clawpack_src/clawpack_master/geoclaw/examples/tsunami/chile2010_fgmax-fgout
|
|
Converted: Mon Feb 19 2024 at 14:27:24
using clawcode2html
|
|
This documentation file will
not reflect any later changes in the source file.
|
"""
Test script to read in a sequence of fgout frames, and write a netCDF file
containing only eta from each fgout frame, along with the final topography B.
Then print info about it, and read it back in.
With datatype = 'f8' there should be no difference from the original.
With datatype = 'f4' (32-bit floats) the netCDF file is only half as large.
This example should be turned into a notebook with more discussin...
"""
from clawpack.geoclaw import fgout_tools
try:
import netCDF4
except:
'You must install netCDF4 in order to write a netCDF file'
raise
fgno = 1 # which fgout grid
outdir = '_output'
format = 'binary' # format of fgout grid output
fgframenos = range(1,5) # frames of fgout solution to write to netCDF file
# Instantiate object for reading fgout frames:
fgout_grid = fgout_tools.FGoutGrid(fgno, outdir, format)
fgout_frames = []
for fgframeno in fgframenos:
fgout = fgout_grid.read_frame(fgframeno)
fgout_frames.append(fgout)
datatype = 'f4' # 'f4' or 'f8'
fgout_tools.write_netcdf(fgout_frames,
fname_nc='fgout_frames.nc',
qois=['eta'],
datatype=datatype,
include_B0=True,
include_Bfinal=False,
description='Chile 2010 test problem',
verbose=True)
# ================================================
# Print out info about this file:
fgout_tools.print_netcdf_info('fgout_frames.nc')
# ================================================
# Read back the saved fgout frames as arrays:
x,y,t,qoi_arrays = fgout_tools.read_netcdf_arrays('fgout_frames.nc',
['eta','B0'], verbose=True)
B0 = qoi_arrays['B0']
eta = qoi_arrays['eta']
# Compare h in first frame with the original data:
h0_original = fgout_frames[0].h
h0 = eta[0,:,:] - B0
dh0 = abs(h0 - h0_original).max()
print("With datatype='%s', abs(h0 - h0_original).max() = %.3e" % (datatype,dh0))