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

Contents of /MITgcm_contrib/mitgcm_tools/loadstate.m

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


Revision 1.1.1.1 - (show annotations) (download) (vendor branch)
Thu Sep 25 13:42:11 2003 UTC (21 years, 9 months ago) by adcroft
Branch: adcroft, MAIN
CVS Tags: initial, HEAD
Changes since 1.1: +0 -0 lines
Checking in Adcroft's matlab scripts for posterity.

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