/[MITgcm]/MITgcm_contrib/gael/matlab_class/gcmfaces_diags/diags_diff_snapshots.m
ViewVC logotype

Annotation of /MITgcm_contrib/gael/matlab_class/gcmfaces_diags/diags_diff_snapshots.m

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (hide annotations) (download)
Mon Jul 28 20:42:01 2014 UTC (11 years ago) by gforget
Branch: MAIN
Changes since 1.1: +1 -1 lines
- diags_set_D.m, diags_set_F.m : fix typo in plot titles.
- fix windows PC compatibility (contributed by D.Spiegel).

1 gforget 1.1 function []=diags_diff_snapshots(dirModel,dirMat,fileStart);
2     %object: compute time derivatives between snapshots that
3     % will be compared with time mean flux terms in budgets
4     %input: dirModel is the model directory
5     % fileStart is the root of file names (e.g. budg2d_snap_set1)
6     %result: create e.g. rate_budg2d_snap_set1 files
7    
8     fileList=dir([dirModel 'diags/BUDG/' fileStart '.*.data']);
9     for ii=1:length(fileList)-1;
10    
11     %1) get the time of fld0 & fld1, & the data precision
12     fileMeta=[dirModel 'diags/BUDG/' fileList(ii).name(1:end-5) '.meta'];
13     time0={}; time1={};
14     fileMeta=[dirModel 'diags/BUDG/' fileList(ii).name(1:end-5) '.meta']; fid0=fopen(fileMeta);
15     fileMeta=[dirModel 'diags/BUDG/' fileList(ii+1).name(1:end-5) '.meta']; fid1=fopen(fileMeta);
16     while 1;
17     tline = fgetl(fid0);
18     if ~ischar(tline), break, end
19     if isempty(time0); time0=tline; else; time0=[time0 ' ' tline]; end;
20     tline = fgetl(fid1);
21     if isempty(time1); time1=tline; else; time1=[time1 ' ' tline]; end;
22     end
23     fclose(fid0); fclose(fid1);
24    
25     eval(time0); time0=timeInterval; clear timeInterval;
26     eval(time1); time1=timeInterval; clear timeInterval;
27     dataprec=str2num(dataprec(end-1:end));
28    
29     %2) get the binary data:
30     fld0=read2memory([dirModel 'diags/BUDG/' fileList(ii).name],[],dataprec);
31     fld1=read2memory([dirModel 'diags/BUDG/' fileList(ii+1).name],[],dataprec);
32    
33     %3) compute the tendency term:
34     fld2=(fld1-fld0)/(time1-time0);
35    
36     %4) write to file:
37     fileMetaOld=[dirModel 'diags/BUDG/' fileList(ii+1).name(1:end-5) '.meta'];
38     fileMetaNew=[dirMat 'BUDG/rate_' fileList(ii+1).name(1:end-5) '.meta'];
39 gforget 1.2 copyfile(fileMetaOld , fileMetaNew);
40 gforget 1.1 fileDataNew=[dirMat 'BUDG/rate_' fileList(ii+1).name(1:end-5) '.data'];
41     write2file(fileDataNew,fld2,dataprec);
42    
43     end;
44    

  ViewVC Help
Powered by ViewVC 1.1.22