Skip to content

Improved nctiles & interp workflow + other IO related changes

Compare
Choose a tag to compare
@gaelforget gaelforget released this 08 Nov 17:25
· 41 commits to master since this release
37e397d
Nctilesdev (#3)

* - add dirDiags as input argument (interp2nctiles.m, process2interp.m)
- add dimlist, dimname, and clmbnds optional arguments (write2nctiles.m)
- revise handling of directories and time loop (process2interp.m, process2nctiles.m)
- rename dirModel,fileModel,fldModel as dirDiags,fileDiags,selectFld (process2nctiles.m)
- revise handling of doClim option and time axis using clmbnds (process2nctiles.m, write2nctiles.m)
- add possibility to rename variables on the fly using filRename  (process2nctiles.m)
- rename coordinates as 't','k','j','i' (previously 'i1','i2','i3','i4') via dimlist,
  dimname being passed as arguments to write2nctiles.m (process2nctiles.m).
- set 'xtype' to 'float' for main variable to reduce file sizes (process2nctiles.m).
- revise handling of dimension, file, and variable names (write2nctiles.m).

* Changes in grid_load.m (XW etc.), gcmfaces_loc_tile.m (tile numbering), nctiles I/O (dimensions etc.).
- grid_load.m: (re)assign RF(nr+1) and DRC(nr+1) if needed; compute XW/YW, XS/YS from XC/YC.
- gcmfaces_loc_tile.m: switch to ordering convention that is consistent with MITgcm/pkg/exch2.
- read_nctiles.m: add nctiles_old_tile_order switch so that the user can revert to the old ordering if needed (only matters for smaller tile sizes).
- gcmfaces_IO/write2nctiles.m: add itile, ntile attributes (their presence will notably indicate that the new tile ordering convention was used); revisit the handling of dimlist in the doCreate 1/0 phases (needed after previous commit).
- process2nctiles.m: fix bug introduced in previous commit (tim in doClim case & handling of filRename); revisit set_grid_diag function to use predefined dimension names that distinguish C,W,S and C,L,U points (e.g., {'t','kc','jc','ic'} for tracer fields) and set the longitude/latitude variables accordingly (e.g., use XW/YW for velocity components).
- interp2nctiles.m: comment out adhoc DRC, DRF, mskC definitions to avoid putting these in the netcdf files.
- write2nctiles.m: add itile, mtile attributes; clean up the two stage handling of dimlist, dimname, dimvec.

* - interp2nctiles.m : update to match revised process2nctiles.m argument handling.
- process2interp.m : go directly from mds output to interpolation (rather than via
  nctiles first); revise handling of input arguments (see help section for detail).
- process2nctiles.m : revise handling of input arguments (see help section for
  detail); use rdmds_meta.m in place of embeded duplicate (read_meta function).
- rdmds_search_subdirs.m (new) : searches for fileDiags within the subdirectories
  of dirDiags (now used in process2interp.m and process2nctiles.m)

* - process2UVSTAR.m (new) computes bolus velocity from GM_PsiX,Y
- process2UEVN.m get dirDiags,fileDiags via function arguments (as now done in process*.m),
  use rdmds_search_subdirs (to identify subDir), and calc_UV_zonmer (no masking unlike before).

* changes related to rdmds_meta.m and process2interp.m
- deal with adding '*' to file name within rdmds_meta.m (not in caller)
- add possibility to rely on interp_precomputed.mat in process2interp.m

* improve treatment of missing_value, _FillValue, scale_factor (new), and add_offset (new)