/[MITgcm]/MITgcm/pkg/ocn_compon_interf/cpl_write_pickup.F
ViewVC logotype

Diff of /MITgcm/pkg/ocn_compon_interf/cpl_write_pickup.F

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

revision 1.3 by jscott, Thu May 10 21:15:52 2007 UTC revision 1.4 by jmc, Fri Oct 19 03:21:39 2007 UTC
# Line 3  C $Name$ Line 3  C $Name$
3    
4  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
5    
6  CStartOfInterface  CBOP
7    C     !ROUTINE: CPL_WRITE_PICKUP
8    C     !INTERFACE:
9        SUBROUTINE CPL_WRITE_PICKUP(        SUBROUTINE CPL_WRITE_PICKUP(
10       &               prec, lgf, permCheckPoint, myIter, myThid)       I                             suff, myTime, myIter, myThid )
11  C     /==========================================================\  C     !DESCRIPTION: \bv
12    C     *==========================================================*
13  C     | SUBROUTINE  CPL_WRITE_PICKUP                             |  C     | SUBROUTINE  CPL_WRITE_PICKUP                             |
14  C     | o Store coupling state for restart.                      |  C     | o Store coupling state for restart.                      |
15  C     | - Oceanic version -                                      |  C     | - Oceanic version -                                      |
16  C     |==========================================================|  C     *==========================================================*
17  C     | Presently, the atmospheric compon. is in charge of the   |  C     | Presently, the atmospheric compon. is in charge of the   |
18  C     |  writing of coupling fields ; nothing done here for now. |  C     |  writing of coupling fields ; nothing done here for now. |
19  C     \==========================================================/  C     *==========================================================*
20    C     \ev
21    
22    C     !USES:
23        IMPLICIT NONE        IMPLICIT NONE
24    
25  C     == Global variables ==  C     == Global variables ==
# Line 23  C     == Global variables == Line 29  C     == Global variables ==
29  #include "OCNIDS.h"  #include "OCNIDS.h"
30  #include "OCNCPL.h"  #include "OCNCPL.h"
31    
32    C     !INPUT/OUTPUT PARAMETERS:
33  C     == Routine arguments ==  C     == Routine arguments ==
34  C     myThid - Thread number for this instance of the routine.  C     permPickup :: write a permanent pickup
35  C     myIter - Timestep number.  C     suff    :: suffix for pickup file (eg. ckptA or 0000000010)
36  C     permCheckpoint - Controls whether timestamped or rolling checkpoint.  C     myTime  :: Current time in simulation
37  C     lgf            - Controls whether global files are used.  C     myIter  :: Current iteration number in simulation
38  C     caroffset      - offset in pickup file if carbon variables included  C     myThid  :: My Thread Id number
39          LOGICAL permPickup
40          CHARACTER*(*) suff
41          _RL     myTime
42        INTEGER myIter        INTEGER myIter
43        INTEGER myThid        INTEGER myThid
44        LOGICAL permCheckPoint  CEOP
       INTEGER prec  
       LOGICAL lgf  
       INTEGER caroffset  
 CEndOfInterface  
45    
46    #ifdef COMPONENT_MODULE
47  C     == Local variables ==  C     == Local variables ==
48  C     fn          - Workspace for building file name  C     fn          :: Workspace for building file name
49    C     caroffset   :: Offset in pickup file if carbon variables included
50        CHARACTER*(MAX_LEN_FNAM) fn        CHARACTER*(MAX_LEN_FNAM) fn
51          INTEGER caroffset
52          INTEGER prec
53    
54        caroffset=0        caroffset=0
55        IF ( permCheckPoint ) THEN        prec = precFloat64
56         WRITE(fn,'(A,I10.10)') 'pickup_cpl.',myIter        WRITE(fn,'(A,A)') 'pickup_cpl.',suff
57        ELSE  
58         WRITE(fn,'(A,A)') 'pickup_cpl.',checkPtSuff(nCheckLev)        CALL WRITE_REC_3D_RL( fn,prec,1, atmSLPr   , 1, myIter, myThid )
59        ENDIF        CALL WRITE_REC_3D_RL( fn,prec,1, HeatFlux  , 2, myIter, myThid )
60        CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,atmSLPr   , 1,myIter,myThid)        CALL WRITE_REC_3D_RL( fn,prec,1, qShortWave, 3, myIter, myThid )
61        CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,HeatFlux  , 2,myIter,myThid)  c     CALL WRITE_REC_3D_RL( fn,prec,1, qLatent   , 3, myIter, myThid )
62        CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,qShortWave, 3,myIter,myThid)  c     CALL WRITE_REC_3D_RL( fn,prec,1, qSensible , 3, myIter, myThid )
63  c     CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,qLatent   , 3,myIter,myThid)  c     CALL WRITE_REC_3D_RL( fn,prec,1, qLongWave , 3, myIter, myThid )
64  c     CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,qSensible , 3,myIter,myThid)  c     CALL WRITE_REC_3D_RL( fn,prec,1, uVelGround, 3, myIter, myThid )
65  c     CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,qLongWave , 3,myIter,myThid)  c     CALL WRITE_REC_3D_RL( fn,prec,1, vVelGround, 3, myIter, myThid )
66  c     CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,uVelGround, 3,myIter,myThid)        CALL WRITE_REC_3D_RL( fn,prec,1, tauX      , 4, myIter, myThid )
67  c     CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,vVelGround, 3,myIter,myThid)        CALL WRITE_REC_3D_RL( fn,prec,1, tauY      , 5, myIter, myThid )
68        CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,tauX      , 4,myIter,myThid)        CALL WRITE_REC_3D_RL( fn,prec,1, FWFlux    , 6, myIter, myThid )
69        CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,tauY      , 5,myIter,myThid)        CALL WRITE_REC_3D_RL( fn,prec,1, iceSaltFlx, 7, myIter, myThid )
70        CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,FWFlux    , 6,myIter,myThid)        CALL WRITE_REC_3D_RL( fn,prec,1, seaIceMass, 8, myIter, myThid )
       CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,iceSaltFlx, 7,myIter,myThid)  
       CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,seaIceMass, 8,myIter,myThid)  
71    
72        IF ( ocnCpl_exchange_DIC ) THEN        IF ( ocnCpl_exchange_DIC ) THEN
73          CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,          CALL WRITE_REC_3D_RL( fn,prec,1,
74       &                     airCO2    ,  9,myIter,myThid)       &                     airCO2    ,  9,myIter,myThid)
75          CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,          CALL WRITE_REC_3D_RL( fn,prec,1,
76       &                     surfWSpeed, 10,myIter,myThid)       &                     surfWSpeed, 10,myIter,myThid)
77          CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,          CALL WRITE_REC_3D_RL( fn,prec,1,
78       &                     fracIce   , 11,myIter,myThid)       &                     fracIce   , 11,myIter,myThid)
79          CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,          CALL WRITE_REC_3D_RL( fn,prec,1,
80       &                     fluxCO2cpl, 12,myIter,myThid)       &                     fluxCO2cpl, 12,myIter,myThid)
81          caroffset=4          caroffset=4
82        ENDIF        ENDIF
83    
84        CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,ocMxlD2cpl,        CALL WRITE_REC_3D_RL( fn,prec,1, ocMxlD2cpl,
85       &                   9+caroffset, myIter,myThid)       &                    9+caroffset, myIter, myThid )
86        CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,SSTocn2cpl,        CALL WRITE_REC_3D_RL( fn,prec,1, SSTocn2cpl,
87       &                   10+caroffset,myIter,myThid)       &                   10+caroffset, myIter, myThid )
88        CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,SSSocn2cpl,        CALL WRITE_REC_3D_RL( fn,prec,1, SSSocn2cpl,
89       &                   11+caroffset,myIter,myThid)       &                   11+caroffset, myIter, myThid )
90        CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,vSqocn2cpl,        CALL WRITE_REC_3D_RL( fn,prec,1, vSqocn2cpl,
91       &                   12+caroffset,myIter,myThid)       &                   12+caroffset, myIter, myThid )
92    
93    #endif /* COMPONENT_MODULE */
94    
95        RETURN        RETURN
96        END        END

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.22