Parent Directory | Revision Log | Revision Graph
checkpoint47b_post Merging from release1_p9: o pkg/seaice - removed GOTO's and added taf directives - double precision constants to reduce the g77 (Linux) to F77 (SGI) differences reported in release1_p8 o tools/genmake - added SGI options o verification/testscript - updated to that of checkpoint47a_post o verification/global_ocean.90x40x15/input/eedata - modified for SGI f77 compatibility o verification/lab_sea - added description of sea-ice model - added missing matlab routines - added test of thermodynamics parallelization Modified Files: doc/tag-index pkg/seaice/SEAICE_FFIELDS.h pkg/seaice/SEAICE_PARAMS.h pkg/seaice/adi.F pkg/seaice/advect.F pkg/seaice/budget.F pkg/seaice/diffus.F pkg/seaice/dynsolver.F pkg/seaice/groatb.F pkg/seaice/growth.F pkg/seaice/lsr.F pkg/seaice/ostres.F pkg/seaice/seaice_do_diags.F pkg/seaice/seaice_get_forcing.F pkg/seaice/seaice_init.F pkg/seaice/seaice_model.F pkg/seaice/seaice_readparms.F tools/genmake verification/global_ocean.90x40x15/input/eedata verification/lab_sea/README verification/lab_sea/matlab/lookat_exp1.m verification/lab_sea/matlab/lookat_exp2.m verification/lab_sea/matlab/lookat_exp3.m verification/lab_sea/matlab/lookat_exp4.m verification/lab_sea/matlab/lookat_exp5.m verification/lab_sea/matlab/lookat_exp6.m verification/lab_sea/results/AREAtave.0000000010.data verification/lab_sea/results/HEFFtave.0000000010.data verification/lab_sea/results/UICEtave.0000000010.data verification/lab_sea/results/VICEtave.0000000010.data verification/lab_sea/results/output.txt Added Files: verification/lab_sea/seaice.ps verification/lab_sea/matlab/lookat_exp7.m verification/lab_sea/matlab/mmax.m verification/lab_sea/matlab/mypcolor.m verification/lab_sea/matlab/myquiver.m verification/lab_sea/matlab/readbin.m verification/lab_sea/matlab/wysiwyg.m Removed Files: verification/lab_sea/code/KPP_OPTIONS.h
1 | dimitri | 1.2 | function fld=readbin(fnam,siz,typ,prec,skip) |
2 | |||
3 | % Function fld=readbin(fnam,siz,typ,prec,skip) | ||
4 | % read in N-D binary field | ||
5 | % | ||
6 | % INPUTS | ||
7 | % fnam input path and file name | ||
8 | % siz grid dimension (default [360 224 46]) | ||
9 | % typ 0: sequential FORTRAN (default); 1: plain binary | ||
10 | % prec numeric precision (default 'real*4') | ||
11 | % skip records to skip before reading (default 0) | ||
12 | % | ||
13 | % OUTPUTS | ||
14 | % fld output array of dimension siz | ||
15 | % | ||
16 | % SEE ALSO | ||
17 | % writebin | ||
18 | |||
19 | if nargin < 5, skip=0; end | ||
20 | if nargin < 4, prec='real*4'; end | ||
21 | if nargin < 3, typ=0; end | ||
22 | if nargin < 2, siz=[360 224 46]; end | ||
23 | if nargin < 1, t=1; end | ||
24 | if nargin < 0, error('please specify input file name'); end | ||
25 | |||
26 | fid=fopen(fnam,'r','ieee-be'); | ||
27 | |||
28 | if skip>0 | ||
29 | if typ==0 | ||
30 | error('feature not implemented yet'); | ||
31 | else | ||
32 | switch prec | ||
33 | case {'int8','integer*1'} | ||
34 | reclength=prod(siz); | ||
35 | case {'int16','integer*2','uint16','integer*2'} | ||
36 | reclength=2*prod(siz); | ||
37 | case {'int32','integer*4','uint32','single','real*4','float32'} | ||
38 | reclength=4*prod(siz); | ||
39 | case {'int64','integer*8','uint64','double','real*8','float64'} | ||
40 | reclength=8*prod(siz); | ||
41 | end | ||
42 | end | ||
43 | fseek(fid,skip*reclength,'bof'); | ||
44 | end | ||
45 | |||
46 | switch typ | ||
47 | case 0 | ||
48 | tmp=read_record(fid,prec); | ||
49 | case 1 | ||
50 | tmp=fread(fid,[siz(1),prod(siz(2:length(siz)))],prec); | ||
51 | end | ||
52 | fid=fclose(fid); | ||
53 | |||
54 | switch length(siz) | ||
55 | case 2 | ||
56 | fld=reshape(tmp,siz(1),siz(2)); | ||
57 | case 3 | ||
58 | fld=reshape(tmp,siz(1),siz(2),siz(3)); | ||
59 | case 4 | ||
60 | fld=reshape(tmp,siz(1),siz(2),siz(3),siz(4)); | ||
61 | case 5 | ||
62 | fld=reshape(tmp,siz(1),siz(2),siz(3),siz(4),siz(5)); | ||
63 | otherwise | ||
64 | fld=tmp; | ||
65 | end |
ViewVC Help | |
Powered by ViewVC 1.1.22 |