/[MITgcm]/MITgcm/model/src/write_state.F
ViewVC logotype

Contents of /MITgcm/model/src/write_state.F

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


Revision 1.3 - (show annotations) (download)
Mon Mar 27 22:25:45 2000 UTC (24 years, 1 month ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint28, checkpoint29, checkpoint27, checkpoint26, checkpoint31, checkpoint30
Changes since 1.2: +1 -8 lines
Removed unused variables and fixed some unitialized variables.

1 C $Header: /u/gcmpack/models/MITgcmUV/model/src/write_state.F,v 1.2 1999/07/30 15:43:00 adcroft Exp $
2 #include "CPP_OPTIONS.h"
3
4 C-- File read_write.F: Routines to handle mid-level I/O interface.
5 C-- Contents
6 C-- o WRITE_STATE - Write out model state.
7
8 CStartofinterface
9 SUBROUTINE WRITE_STATE ( forceOutput, myCurrentTime,
10 & myIter, myThid )
11 C /==========================================================\
12 C | SUBROUTINE WRITE_STATE |
13 C | o Controlling routine for IO to dump model state. |
14 C |==========================================================|
15 C | Write model state files for post-processing. This file |
16 C | includes code for diagnosing W and RHO for output. |
17 C \==========================================================/
18 IMPLICIT NONE
19
20 C == Global variables ===
21 #include "SIZE.h"
22 #include "EEPARAMS.h"
23 #include "PARAMS.h"
24 #include "DYNVARS.h"
25 #include "CG2D.h"
26 #ifdef ALLOW_NONHYDROSTATIC
27 #include "CG3D.h"
28 #include "GW.h"
29 #endif
30
31 LOGICAL DIFFERENT_MULTIPLE
32 EXTERNAL DIFFERENT_MULTIPLE
33 INTEGER IO_ERRCOUNT
34 EXTERNAL IO_ERRCOUNT
35
36 C == Routine arguments ==
37 C myThid - Thread number for this instance of the routine.
38 C myIter - Iteration number
39 C myCurrentTime - Current time of simulation ( s )
40 LOGICAL forceOutput
41 _RL myCurrentTime
42 INTEGER myThid
43 INTEGER myIter
44 CEndofinterface
45
46 C == Local variables ==
47 C suff - Hold suffix part of a filename
48 CHARACTER*(MAX_LEN_MBUF) suff
49
50 IF (
51 & ( DIFFERENT_MULTIPLE(dumpFreq,myCurrentTime,
52 & myCurrentTime-deltaTClock) .AND. myCurrentTime.NE.startTime )
53 & .OR. forceOutput
54 & ) THEN
55
56 C-- Going to really do some IO. Make everyone except master thread wait.
57 _BARRIER
58 _BEGIN_MASTER( myThid )
59
60 WRITE(suff,'(I10.10)') myIter
61
62 C-- Write model fields
63 CALL WRITE_FLD_XYZ_RL( 'U.',suff,uVel,myIter,myThid)
64 CALL WRITE_FLD_XYZ_RL( 'V.',suff,vVel,myIter,myThid)
65 CALL WRITE_FLD_XYZ_RL( 'T.',suff,theta,myIter,myThid)
66 CALL WRITE_FLD_XYZ_RL( 'S.',suff,salt,myIter,myThid)
67 CALL WRITE_FLD_XY_RL( 'PS.',suff,cg2d_x,myIter,myThid)
68
69 #ifdef ALLOW_NONHYDROSTATIC
70 IF (nonHydroStatic) THEN
71 CALL WRITE_FLD_XYZ_RL( 'PNH.',suff,cg3d_x,myIter,myThid)
72 ENDIF
73 CALL WRITE_FLD_XYZ_RL( 'W.',suff,wVel,myIter,myThid)
74 #endif
75
76 _END_MASTER( myThid )
77 _BARRIER
78
79 ENDIF
80
81 RETURN
82 END

  ViewVC Help
Powered by ViewVC 1.1.22