/[MITgcm]/MITgcm_contrib/bbl/code/mypackage_write_pickup.F
ViewVC logotype

Contents of /MITgcm_contrib/bbl/code/mypackage_write_pickup.F

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


Revision 1.3 - (show annotations) (download)
Sat Aug 6 03:11:43 2011 UTC (13 years, 11 months ago) by dimitri
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +1 -1 lines
FILE REMOVED
moving pkg/bbl to main branch

1 C $Header: /u/gcmpack/MITgcm_contrib/bbl/code/mypackage_write_pickup.F,v 1.2 2010/12/19 05:13:36 dimitri Exp $
2 C $Name: $
3
4 #include "BBL_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: BBL_WRITE_PICKUP
8
9 C !INTERFACE: ==========================================================
10 SUBROUTINE MYPACKAGE_WRITE_PICKUP( permPickup,
11 & suff, myTime, myIter, myThid )
12
13 C !DESCRIPTION:
14 C Writes current state of passive tracers to a pickup file
15
16 C !USES: ===============================================================
17 IMPLICIT NONE
18 #include "SIZE.h"
19 #include "EEPARAMS.h"
20 #include "PARAMS.h"
21 #include "BBL.h"
22
23 C !INPUT PARAMETERS: ===================================================
24 C permPickup :: write a permanent pickup
25 C suff :: suffix for pickup file (eg. ckptA or 0000000010)
26 C myTime :: model time
27 C myIter :: time-step number
28 C myThid :: thread number
29 LOGICAL permPickup
30 CHARACTER*(*) suff
31 _RL myTime
32 INTEGER myIter
33 INTEGER myThid
34
35 C !OUTPUT PARAMETERS: ==================================================
36 C none
37
38 #ifdef ALLOW_BBL
39
40 C === Functions ====
41 INTEGER ILNBLNK
42 EXTERNAL ILNBLNK
43
44 C !LOCAL VARIABLES: ====================================================
45 C j :: loop index / field number
46 C fp :: pickup-file precision
47 C glf :: local flag for "globalFiles"
48 C fn :: character buffer for creating filename
49 C nWrFlds :: number of fields being written
50 C listDim :: dimension of "wrFldList" local array
51 C wrFldList :: list of written fields
52 C msgBuf :: Informational/error message buffer
53 INTEGER j, fp, lChar
54 LOGICAL glf
55 CHARACTER*(MAX_LEN_FNAM) fn
56 INTEGER listDim, nWrFlds
57 PARAMETER( listDim = 3 )
58 CHARACTER*(8) wrFldList(listDim)
59 CHARACTER*(MAX_LEN_MBUF) msgBuf
60 CEOP
61
62 lChar = ILNBLNK(suff)
63 IF ( lChar.EQ.0 ) THEN
64 WRITE(fn,'(2A)') 'pickup_bbl'
65 ELSE
66 WRITE(fn,'(2A)') 'pickup_bbl.',suff(1:lChar)
67 ENDIF
68 fp = precFloat64
69 j = 0
70
71 C Write 2-D fields
72 C record number < 0 : a hack not to write meta files now:
73
74 j = j + 1
75 CALL WRITE_REC_3D_RL( fn, fp, 1,
76 & bbl_theta, -j, myIter, myThid )
77 IF (j.LE.listDim) wrFldList(j) = 'bblTheta'
78
79 j = j + 1
80 CALL WRITE_REC_3D_RL( fn, fp, 1,
81 & bbl_salt, -j, myIter, myThid )
82 IF (j.LE.listDim) wrFldList(j) = 'bblSalt '
83
84 j = j + 1
85 CALL WRITE_REC_3D_RL( fn, fp, 1,
86 & bbl_eta, -j, myIter, myThid )
87 IF (j.LE.listDim) wrFldList(j) = 'bblEta '
88
89 C--------------------------
90 nWrFlds = j
91 IF ( nWrFlds.GT.listDim ) THEN
92 WRITE(msgBuf,'(2A,I5,A)') 'BBL_WRITE_PICKUP: ',
93 & 'trying to write ',nWrFlds,' fields'
94 CALL PRINT_ERROR( msgBuf, myThid )
95 WRITE(msgBuf,'(2A,I5,A)') 'BBL_WRITE_PICKUP: ',
96 & 'field-list dimension (listDim=',listDim,') too small'
97 CALL PRINT_ERROR( msgBuf, myThid )
98 STOP 'ABNORMAL END: S/R BBL_WRITE_PICKUP (list-size Pb)'
99 ENDIF
100 #ifdef ALLOW_MDSIO
101 C uses this specific S/R to write meta file
102 glf = globalFiles
103 CALL MDS_WR_METAFILES( fn, fp, glf, .FALSE.,
104 & 0, 0, 1, ' ',
105 & nWrFlds, wrFldList,
106 & 1, myTime,
107 & j, myIter, myThid )
108 #endif /* ALLOW_MDSIO */
109 C--------------------------
110
111 #endif /* ALLOW_BBL */
112
113 RETURN
114 END

  ViewVC Help
Powered by ViewVC 1.1.22