NEDAS.models.topaz.abfile module

exception NEDAS.models.topaz.abfile.AFileError[source]

Bases: Exception

exception NEDAS.models.topaz.abfile.BFileError[source]

Bases: Exception

class NEDAS.models.topaz.abfile.AFile(idm, jdm, filename, action, mask=False, real4=True, endian='big')[source]

Bases: object

Class for doing binary input/output on hycom .a files. Normally used by ABFile* classes, but can be called by itself to read a .a-file

huge = 1.2676506002282294e+30
writerecord(h, mask=None, record=None)[source]

Write one record to file.

Parameters:
  • h – data field to write. Must conform to shape (self._jdm, self._idm)

  • mask – where mask is set to True, h is set to spval. Ignored if masking not set in class

Keyword Arguments:

record – not implemented yet

read_record(record)[source]
seekrecord(record)[source]
close()[source]
property n2drec
property idm
property jdm
class NEDAS.models.topaz.abfile.ABFile(basename, action, mask=False, real4=True, endian='big')[source]

Bases: object

Class for doing input/output on pairs of hycom .a and .b files. Base class, not meant to be used directly

scanitem(item=None, conversion=None)[source]
writeitem(key, value)[source]
readline()[source]
bminmax(*arks, **kwargs) tuple[source]
property fieldnames
write_field(*args, **kwargs) None[source]
read_field(*args, **kwargs)[source]
write_header(*args, **kwargs) None[source]
read_header(*args, **kwargs) None[source]
close()[source]
check_dimensions(field)[source]
property idm
property jdm
property fields
classmethod strip_ab_ending(fname)[source]
classmethod check_minmax(w, mydict)[source]
property basename
class NEDAS.models.topaz.abfile.ABFileBathy(basename, action, mask=True, real4=True, endian='big', idm=None, jdm=None)[source]

Bases: ABFile

Class for doing input/output on pairs of hycom .a and .b files. This is for bathymetry files

write_header()[source]
read_header()[source]
read_field_info()[source]
write_field(field, mask)[source]
read_field(fieldname)[source]

Read field corresponding to fieldname and level from bathy file

bminmax(fieldname)[source]
class NEDAS.models.topaz.abfile.ABFileRmu(basename, action, mask=False, real4=True, endian='big', idm=None, jdm=None, cline1='', cline2='')[source]

Bases: ABFile

Class for doing input/output on pairs of hycom .a and .b files. This is for nesting/relax rmu files

write_header()[source]
read_header()[source]
read_field_info()[source]
write_field(field, mask, fieldname, fmt='%16.8g')[source]
read_field(fieldname)[source]

Read field corresponding to fieldname and level from bathy file

bminmax(fieldname)[source]
class NEDAS.models.topaz.abfile.ABFileGrid(basename, action, mask=False, real4=True, endian='big', mapflg=-1)[source]

Bases: ABFile

Class for doing input/output on pairs of hycom .a and .b files. This is for grid files

fieldkeys = ['min', 'max']
read_header()[source]
write_header()[source]
read_field_info()[source]
read_field(fieldname)[source]

Read field corresponding to fieldname and level from archive file

write_field(field, mask, fieldname, fmt='%16.8g')[source]
bminmax(fieldname)[source]
class NEDAS.models.topaz.abfile.ABFileArchv(basename, action, mask=True, real4=True, endian='big', iversn=None, iexpt=None, yrflag=None, cline1='', cline2='', cline3='')[source]

Bases: ABFile

Class for doing input/output on pairs of hycom .a and .b files. This is for archv files

fieldkeys = ['field', 'step', 'day', 'k', 'dens', 'min', 'max']
read_header()[source]
read_field_info()[source]
read_field(fieldname, level)[source]

Read field corresponding to fieldname and level from archive file

write_header()[source]
write_field(field, mask, fieldname, time_step, model_day, k, dens)[source]
get_fields()[source]
property fieldlevels
bminmax(fieldname, k)[source]
property iversn
property iexpt
property yrflag
class NEDAS.models.topaz.abfile.ABFileForcing(basename, action, mask=False, real4=True, endian='big', idm=None, jdm=None, cline1='', cline2='')[source]

Bases: ABFile

Class for doing input/output on pairs of hycom .a and .b files. This is for forcing files

fieldkeys = ['field', 'min', 'max']
find_record(fieldname, dtime1)[source]
write_bfile_info()[source]
read_header()[source]
write_header()[source]
write_field(field, mask, fieldname, dtime1, rdtime)[source]
overwrite_field(field, mask, fieldname, dtime1)[source]
read_field_info()[source]
read_field(field, dtime1)[source]

Read field corresponding to fieldname and level from archive file

bminmax(fieldname, dtime1)[source]
property field_times
class NEDAS.models.topaz.abfile.ABFileRiver(basename, action, mask=False, real4=True, endian='big', idm=None, jdm=None, cline1='', cline2='')[source]

Bases: ABFile

Class for doing input/output on pairs of hycom .a and .b files. This is for river forcing files

fieldkeys = ['field', 'min', 'max']
write_header()[source]
write_field(field, mask, fieldname, month)[source]
class NEDAS.models.topaz.abfile.ABFileRestart(basename, action, mask=False, real4=True, endian='big', iversn=None, iexpt=None, yrflag=None, idm=None, jdm=None)[source]

Bases: ABFile

Class for doing input/output on pairs of hycom .a and .b files. This is for restart files

fieldkeys = ['field', 'step', 'day', 'k', 'dens', 'min', 'max']
read_header()[source]
read_field_info()[source]
write_bfile_info()[source]
find_record(fieldname, level, tlevel)[source]
read_field(fieldname, level, tlevel=1, mask=None)[source]

Read field corresponding to fieldname and level from archive file

overwrite_field(field, mask, fieldname, level, tlevel=1)[source]
write_header(iexpt, iversn, yrflag, sigver, nstep, dtime, thbase)[source]
write_field(field, mask, fieldname, k, time, record=None)[source]
property fieldlevels
bminmax(fieldname, k)[source]
class NEDAS.models.topaz.abfile.ABFileRelax(basename, action, mask=False, real4=True, endian='big', idm=None, jdm=None, cline1='', cline2='')[source]

Bases: ABFile

Class for doing input/output on pairs of hycom .a and .b files. This is for hybrid coord relaxation data used by hycom

fieldkeys = ['field', 'layer', 'dens', 'min', 'max']
read_header()[source]
read_field_info()[source]
read_field(fieldname, level, month)[source]

Read field corresponding to fieldname and level from archive file

class NEDAS.models.topaz.abfile.ABFileRelaxZ(basename, action, mask=False, real4=True, endian='big', idm=None, jdm=None, cline1='', cline2='')[source]

Bases: ABFile

Class for doing input/output on pairs of hycom .a and .b files. This is for z level data used by hycom relax routine

fieldkeys = ['field', 'depth', 'min', 'max']
read_header()[source]
write_header()[source]
write_field(field, mask, fieldname, depth)[source]
read_field_info()[source]
read_field(field, dtime1)[source]

Read field corresponding to fieldname and level from archive file

bminmax(fieldname, depth)[source]
NEDAS.models.topaz.abfile.write_bathymetry(exp, version, d, threshold)[source]
NEDAS.models.topaz.abfile.write_regional_grid(datadict, endian='big')[source]
NEDAS.models.topaz.abfile.read_regional_grid(endian='big')[source]
NEDAS.models.topaz.abfile.write_diag_nc(datadict, fname='hycom_grid.nc')[source]