/[MITgcm]/MITgcm/pkg/fizhi/fizhi_write_pickup.F
ViewVC logotype

Contents of /MITgcm/pkg/fizhi/fizhi_write_pickup.F

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


Revision 1.5 - (show annotations) (download)
Thu Oct 7 00:06:09 2004 UTC (19 years, 7 months ago) by molod
Branch: MAIN
Changes since 1.4: +44 -1 lines
Changes to write out more fields on pickup to make smooth restarts

1 C $Header: /u/gcmpack/MITgcm/pkg/fizhi/fizhi_write_pickup.F,v 1.4 2004/07/26 18:45:17 molod Exp $
2 C $Name: $
3
4 #include "FIZHI_OPTIONS.h"
5 CBOP
6 C !ROUTINE: FIZHI_WRITE_PICKUP
7 C !INTERFACE:
8 SUBROUTINE FIZHI_WRITE_PICKUP( suff, myTime, myIter, myThid )
9
10 C !DESCRIPTION: \bv
11 C *==========================================================*
12 C | S/R FIZHI_WRITE_PICKUP
13 C | o Writes current state of fizhi package to a pickup file
14 C *==========================================================*
15 C \ev
16
17 C !USES:
18 CEOP
19 IMPLICIT NONE
20
21 C == Global variables ===
22 #include "SIZE.h"
23 #include "fizhi_SIZE.h"
24 #include "fizhi_land_SIZE.h"
25 #include "fizhi_coms.h"
26 #include "fizhi_land_coms.h"
27 #include "EEPARAMS.h"
28 #include "PARAMS.h"
29
30 C !INPUT/OUTPUT PARAMETERS:
31 C == Routine Arguments ==
32 C suff :: suffix for pickup file (eg. ckptA or 0000000010)
33 C myTime :: current time
34 C myIter :: time-step number
35 C myThid :: Number of this instance
36 CHARACTER*(*) suff
37 _RL myTime
38 INTEGER myIter
39 INTEGER myThid
40
41 C !LOCAL VARIABLES:
42 C fn :: character buffer for creating filename
43 C prec :: precision of pickup files
44 C lgf :: flag to write "global" files
45 INTEGER prec, iChar, lChar
46 CHARACTER*(MAX_LEN_FNAM) fn
47 LOGICAL lgf
48 _RL temp(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nrphys,Nsx,Nsy)
49 integer i,j,k,bi,bj
50
51 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
52 do bj = 1,Nsy
53 do bi = 1,Nsx
54 do k = 1,Nrphys
55 do j = 1-OLy,sNy+OLy
56 do i = 1-OLx,sNx+OLx
57 temp(i,j,k,bi,bj) = 0.
58 enddo
59 enddo
60 enddo
61 enddo
62 enddo
63
64 lChar = 0
65 DO iChar = 1,len(suff)
66 IF ( suff(iChar:iChar) .NE. ' ') lChar=iChar
67 ENDDO
68 WRITE(fn,'(A,A)') 'pickup_fizhi.',suff(1:lChar)
69 prec = precFloat64
70 lgf = globalFiles
71
72 C-- Write fields as consecutive records
73 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,uphy,1,myIter,myThid)
74 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,vphy,2,myIter,myThid)
75 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,thphy,3,myIter,myThid)
76 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,sphy,4,myIter,myThid)
77
78 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,cldtot_lw,5,myIter,
79 . myThid)
80 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,cldras_lw,6,myIter,
81 . myThid)
82 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,cldlsp_lw,7,myIter,
83 . myThid)
84 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,cldtot_sw,8,myIter,
85 . myThid)
86 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,cldras_sw,9,myIter,
87 . myThid)
88 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,cldlsp_sw,10,myIter,
89 . myThid)
90 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,qliqavelw,11,myIter,
91 . myThid)
92 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,qliqavesw,12,myIter,
93 . myThid)
94 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,fccavelw,13,myIter,
95 . myThid)
96 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,fccavesw,14,myIter,
97 . myThid)
98
99 temp(1,1,1,1,1) = float(iras)
100 temp(2,1,1,1,1) = float(nlwcld)
101 temp(3,1,1,1,1) = float(nlwlz)
102 temp(4,1,1,1,1) = float(nswcld)
103 temp(5,1,1,1,1) = float(nswlz)
104 temp(6,1,1,1,1) = float(imstturbsw)
105 temp(7,1,1,1,1) = float(imstturblw)
106 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,temp,15,myIter,myThid)
107
108 RETURN
109 END

  ViewVC Help
Powered by ViewVC 1.1.22