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

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

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


Revision 1.7 - (hide annotations) (download)
Thu Oct 7 03:20:56 2004 UTC (19 years, 8 months ago) by molod
Branch: MAIN
Changes since 1.6: +15 -11 lines
pickup stuff

1 molod 1.7 C $Header: /u/gcmpack/MITgcm/pkg/fizhi/fizhi_write_pickup.F,v 1.6 2004/10/07 01:20:47 molod Exp $
2 edhill 1.2 C $Name: $
3    
4 molod 1.4 #include "FIZHI_OPTIONS.h"
5 molod 1.1 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 molod 1.3 #include "fizhi_land_SIZE.h"
25 molod 1.1 #include "fizhi_coms.h"
26 molod 1.3 #include "fizhi_land_coms.h"
27 molod 1.1 #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 molod 1.6 INTEGER prec, iChara, lChar
46 molod 1.1 CHARACTER*(MAX_LEN_FNAM) fn
47     LOGICAL lgf
48 molod 1.5 _RL temp(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nrphys,Nsx,Nsy)
49     integer i,j,k,bi,bj
50 molod 1.1
51     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
52 molod 1.5 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 molod 1.1
64     lChar = 0
65 molod 1.6 DO iChara = 1,len(suff)
66     IF ( suff(iChara:iChara) .NE. ' ') lChar=iChara
67 molod 1.1 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 molod 1.5
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 molod 1.7 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,lwlz,8,myIter,
85 molod 1.5 . myThid)
86 molod 1.7 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,cldtot_sw,9,myIter,
87 molod 1.5 . myThid)
88 molod 1.7 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,cldras_sw,10,myIter,
89 molod 1.5 . myThid)
90 molod 1.7 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,cldlsp_sw,11,myIter,
91 molod 1.5 . myThid)
92 molod 1.7 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,swlz,12,myIter,
93 molod 1.5 . myThid)
94 molod 1.7 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,qliqavelw,13,myIter,
95 molod 1.5 . myThid)
96 molod 1.7 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,qliqavesw,14,myIter,
97     . myThid)
98     CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,fccavelw,15,myIter,
99     . myThid)
100     CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,fccavesw,16,myIter,
101 molod 1.5 . myThid)
102    
103 molod 1.6 do bj = 1,Nsy
104     do bi = 1,Nsx
105 molod 1.7 do j = 1,sNy
106     do i = 1,sNx
107 molod 1.6 temp(i,j,1,bi,bj) = raincon(i,j,bi,bj)
108     temp(i,j,2,bi,bj) = rainlsp(i,j,bi,bj)
109     temp(i,j,3,bi,bj) = snowfall(i,j,bi,bj)
110     enddo
111     enddo
112     enddo
113     enddo
114    
115     temp(1,1,4,1,1) = float(iras)
116     temp(2,1,4,1,1) = float(nlwcld)
117     temp(3,1,4,1,1) = float(nlwlz)
118     temp(4,1,4,1,1) = float(nswcld)
119     temp(5,1,4,1,1) = float(nswlz)
120     temp(6,1,4,1,1) = float(imstturbsw)
121     temp(7,1,4,1,1) = float(imstturblw)
122    
123 molod 1.7 CALL MDSWRITEFIELD(fn,prec,lgf,'RL',Nrphys,temp,17,myIter,myThid)
124 molod 1.1
125     RETURN
126     END

  ViewVC Help
Powered by ViewVC 1.1.22