/[MITgcm]/MITgcm_contrib/darwin2/pkg/darwin/darwin_write_pickup.F
ViewVC logotype

Annotation of /MITgcm_contrib/darwin2/pkg/darwin/darwin_write_pickup.F

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


Revision 1.1 - (hide annotations) (download)
Wed Apr 13 18:56:24 2011 UTC (14 years, 4 months ago) by jahn
Branch: MAIN
CVS Tags: ctrb_darwin2_ckpt63l_20120405, ctrb_darwin2_ckpt62v_20110413, ctrb_darwin2_ckpt63f_20111201, ctrb_darwin2_ckpt64a_20121116, ctrb_darwin2_ckpt62y_20110526, ctrb_darwin2_ckpt62x_20110513, ctrb_darwin2_ckpt62w_20110426, ctrb_darwin2_ckpt63o_20120629, ctrb_darwin2_ckpt63c_20111011, ctrb_darwin2_ckpt63i_20120124, ctrb_darwin2_ckpt63m_20120506, ctrb_darwin2_ckpt63s_20120908, ctrb_darwin2_ckpt63e_20111107, ctrb_darwin2_ckpt63b_20110830, ctrb_darwin2_ckpt63j_20120217, ctrb_darwin2_ckpt63r_20120817, ctrb_darwin2_ckpt63g_20111220, ctrb_darwin2_ckpt63a_20110804, ctrb_darwin2_ckpt63h_20111230, ctrb_darwin2_ckpt63p_20120707, ctrb_darwin2_ckpt63d_20111107, ctrb_darwin2_ckpt63q_20120731, ctrb_darwin2_ckpt63_20110728, ctrb_darwin2_ckpt64b_20121224, ctrb_darwin2_ckpt64_20121012, ctrb_darwin2_baseline, ctrb_darwin2_ckpt63n_20120604, ctrb_darwin2_ckpt63k_20120317, ctrb_darwin2_ckpt62z_20110622
darwin2 initial checkin

1 jahn 1.1 C $Header$
2     C $Name$
3    
4     #include "DARWIN_OPTIONS.h"
5    
6     CBOP
7     C !ROUTINE: DARWIN_WRITE_PICKUP
8    
9     C !INTERFACE: ==========================================================
10     SUBROUTINE DARWIN_WRITE_PICKUP( permPickup,
11     I suff, myTime, myIter, myThid )
12    
13     C !DESCRIPTION:
14     C Writes PAR_day array (needed for a restart) to a pickup file
15    
16     C !USES: ===============================================================
17     IMPLICIT NONE
18     C === Global variables ===
19     #include "SIZE.h"
20     #include "EEPARAMS.h"
21     #include "PARAMS.h"
22     #include "DARWIN_SIZE.h"
23     #include "DARWIN_IO.h"
24    
25     C !INPUT PARAMETERS: ===================================================
26     C permPickup :: write a permanent pickup
27     C suff :: suffix for pickup file (eg. ckptA or 0000000010)
28     C myTime :: Current time in simulation
29     C myIter :: Current iteration number in simulation
30     C myThid :: My Thread Id number
31     LOGICAL permPickup
32     CHARACTER*(*) suff
33     _RL myTime
34     INTEGER myIter
35     INTEGER myThid
36     CEOP
37    
38     #ifdef ALLOW_DARWIN
39     C add more ALLOWs here for other fields in pickup
40     #ifdef ALLOW_PAR_DAY
41    
42     C !LOCAL VARIABLES:
43     C == Local variables ==
44     CHARACTER*(MAX_LEN_FNAM) fn
45     LOGICAL glf
46     INTEGER prec, irec, ifld
47     INTEGER listDim, nWrFlds
48     PARAMETER( listDim = 2 )
49     CHARACTER*(8) wrFldList(listDim)
50     CHARACTER*(MAX_LEN_MBUF) msgBuf
51    
52     c IF ( DARWIN_pickup_write_mdsio ) THEN
53     prec = precFloat64
54     WRITE(fn,'(A,A)') 'pickup_darwin.',suff
55    
56     ifld = 0
57     irec = 0
58    
59     #ifdef ALLOW_PAR_DAY
60     C record number < 0 : a hack not to write meta files now:
61     ifld = ifld + 1
62     irec = irec - 1
63     CALL WRITE_REC_3D_RL( fn, prec, nR,
64     & PARday(1-OLx,1-OLy,1,1,1,1),
65     & irec, myIter, myThid )
66     IF (ifld.LE.listDim) wrFldList(ifld) = 'PARday1 '
67     ifld = ifld + 1
68     irec = irec - 1
69     CALL WRITE_REC_3D_RL( fn, prec, nR,
70     & PARday(1-OLx,1-OLy,1,1,1,2),
71     & irec, myIter, myThid )
72     IF (ifld.LE.listDim) wrFldList(ifld) = 'PARday2 '
73     #endif
74    
75     C--------------------------
76     nWrFlds = ifld
77     IF ( nWrFlds.GT.listDim ) THEN
78     WRITE(msgBuf,'(2A,I5,A)') 'DARWIN_WRITE_PICKUP: ',
79     & 'trying to write ',nWrFlds,' fields'
80     CALL PRINT_ERROR( msgBuf, myThid )
81     WRITE(msgBuf,'(2A,I5,A)') 'DARWIN_WRITE_PICKUP: ',
82     & 'field-list dimension (listDim=',listDim,') too small'
83     CALL PRINT_ERROR( msgBuf, myThid )
84     STOP 'ABNORMAL END: S/R DARWIN_WRITE_PICKUP (list-size Pb)'
85     ENDIF
86    
87     #ifdef ALLOW_MDSIO
88     C uses this specific S/R to write (with more informations) only meta
89     C files
90     glf = globalFiles
91     irec = ABS(irec)
92     CALL MDS_WR_METAFILES( fn, prec, glf, .FALSE.,
93     & 0, 0, nR, ' ',
94     & nWrFlds, wrFldList,
95     & 1, myTime,
96     & irec, myIter, myThid )
97     #endif /* ALLOW_MDSIO */
98     C--------------------------
99    
100     c ENDIF /* DARWIN_pickup_write_mdsio */
101    
102     #endif /* ALLOW_PAR_DAY */
103     #endif /* ALLOW_DARWIN */
104    
105     RETURN
106     END

  ViewVC Help
Powered by ViewVC 1.1.22