/[MITgcm]/MITgcm_contrib/mitgcm_tools/loadstate.m
ViewVC logotype

Annotation of /MITgcm_contrib/mitgcm_tools/loadstate.m

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


Revision 1.1 - (hide annotations) (download)
Thu Sep 25 13:42:11 2003 UTC (21 years, 9 months ago) by adcroft
Branch point for: adcroft, MAIN
Initial revision

1 adcroft 1.1 function [STATE] = loadstate(varargin)
2     %loadstate()
3     %loadstate(DIRECTORY)
4     %loadstate(ITERATION)
5     %loadstate(DIRECTORY,ITERATION)
6     %
7     %Reads MITgcm parameter input files and output to create a STATE structure
8     %If ITERATION is not specified, the last model state is read by default.
9     %If DIRECTORY is not specified the current working directory is used.
10     %
11     %e.g.
12     % >> STATE=loadstate;
13     % >> STATE2=loadstate('/scratch/john/run2/');
14     % >> STATE3=loadstate(3000);
15     % >> STATE4=loadstate('/scratch/john/run2/',2460);
16     %
17     % Elements (u,v,w,t,s,eta) correspond to snap-shots.
18     % Elements (U,V,W,T,S,ETA) correspond to time averages.
19     %
20     %Written by adcroft@mit.edu, 2002
21     %$Header:
22    
23     Dir='./';
24     iter=inf;
25     if nargin~=0
26     for k = 1:nargin;
27     if isstr(varargin{k})
28     Dir=[varargin{k} '/'];
29     else
30     iter=varargin{k};
31     end
32     end
33     end
34    
35     Its=[];
36     [STATE.t,its]=rdmds([Dir 'T'],iter); if isempty(Its); Its=its; end
37     [STATE.s,its]=rdmds([Dir 'S'],iter); if isempty(Its); Its=its; end
38     [STATE.u,its]=rdmds([Dir 'U'],iter); if isempty(Its); Its=its; end
39     [STATE.v,its]=rdmds([Dir 'V'],iter); if isempty(Its); Its=its; end
40     [STATE.w,its]=rdmds([Dir 'W'],iter); if isempty(Its); Its=its; end
41     [STATE.eta,its]=rdmds([Dir 'Eta'],iter); if isempty(Its); Its=its; end
42     [STATE.T,its]=rdmds([Dir 'Ttave'],iter); if isempty(Its); Its=its; end
43     [STATE.S,its]=rdmds([Dir 'Stave'],iter); if isempty(Its); Its=its; end
44     [STATE.U,its]=rdmds([Dir 'uVeltave'],iter); if isempty(Its); Its=its; end
45     [STATE.V,its]=rdmds([Dir 'vVeltave'],iter); if isempty(Its); Its=its; end
46     [STATE.W,its]=rdmds([Dir 'wVeltave'],iter); if isempty(Its); Its=its; end
47     [STATE.ETA,its]=rdmds([Dir 'ETAtave'],iter); if isempty(Its); Its=its; end
48     STATE.iters=Its;
49    
50     datafile=[Dir 'data'];
51     dtClock = grepparameter(datafile,'deltatclock');
52     dtTracer = grepparameter(datafile,'deltattracer');
53     dtMom = grepparameter(datafile,'deltatmom');
54     dt = grepparameter(datafile,'deltat');
55     dt=[dt dtClock dtTracer dtMom]; dt=dt(1);
56    
57     STATE.dt=dt;
58     STATE.time_secs=its*dt;
59     STATE.time_days=its*dt/86400;
60     STATE.time_years=its*dt/86400/360;

  ViewVC Help
Powered by ViewVC 1.1.22