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

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

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


Revision 1.11 - (show annotations) (download)
Thu Oct 7 19:39:37 2004 UTC (19 years, 8 months ago) by molod
Branch: MAIN
CVS Tags: checkpoint55d_pre, checkpoint55e_post, checkpoint55d_post
Changes since 1.10: +3 -3 lines
*** empty log message ***

1 C $Header: /u/gcmpack/MITgcm/pkg/fizhi/fizhi_read_pickup.F,v 1.10 2004/10/07 03:20:56 molod Exp $
2 C $Name: $
3
4 #include "FIZHI_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: FIZHI_READ_PICKUP
8 C !INTERFACE:
9 SUBROUTINE FIZHI_READ_PICKUP( myIter, myThid )
10
11 C !DESCRIPTION: \bv
12 C *==========================================================*
13 C | S/R FIZHI_READ_PICKUP
14 C | o Reads current fizhi state from a pickup file
15 C *==========================================================*
16 C \ev
17
18 C !USES:
19 CEOP
20 IMPLICIT NONE
21
22 C == Global variables ===
23 #include "SIZE.h"
24 #include "fizhi_SIZE.h"
25 #include "fizhi_land_SIZE.h"
26 #include "fizhi_coms.h"
27 #include "fizhi_land_coms.h"
28 #include "fizhi_io_comms.h"
29 #include "EEPARAMS.h"
30 #include "PARAMS.h"
31 #ifdef ALLOW_MNC
32 #include "MNC_PARAMS.h"
33 #endif
34
35 C == Routine Arguments ==
36 C myIter :: time-step number
37 C myThid :: Number of this instance
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 k :: loop index
45 INTEGER i, prec
46 CHARACTER*(MAX_LEN_FNAM) fn
47 _RL temp(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nrphys,Nsx,Nsy)
48 integer j,bi,bj
49
50 DO i = 1,MAX_LEN_FNAM
51 fn(i:i) = ' '
52 ENDDO
53 WRITE(fn,'(A,I10.10)') 'pickup_fizhi.',myIter
54 prec = precFloat64
55
56 C#ifdef ALLOW_MDSIO
57 IF ( fizhi_mdsio_read_pickup ) THEN
58
59 C Read fields as consecutive records
60 CALL MDSREADFIELD(fn,prec,'RL',Nrphys,uphy,1,myThid)
61 CALL MDSREADFIELD(fn,prec,'RL',Nrphys,vphy,2,myThid)
62 CALL MDSREADFIELD(fn,prec,'RL',Nrphys,thphy,3,myThid)
63 CALL MDSREADFIELD(fn,prec,'RL',Nrphys,sphy,4,myThid)
64 CALL MDSREADFIELD(fn,prec,'RL',Nrphys,cldtot_lw,5,myThid)
65 CALL MDSREADFIELD(fn,prec,'RL',Nrphys,cldras_lw,6,myThid)
66 CALL MDSREADFIELD(fn,prec,'RL',Nrphys,cldlsp_lw,7,myThid)
67 CALL MDSREADFIELD(fn,prec,'RL',Nrphys,lwlz,8,myThid)
68 CALL MDSREADFIELD(fn,prec,'RL',Nrphys,cldtot_sw,9,myThid)
69 CALL MDSREADFIELD(fn,prec,'RL',Nrphys,cldras_sw,10,myThid)
70 CALL MDSREADFIELD(fn,prec,'RL',Nrphys,cldlsp_sw,11,myThid)
71 CALL MDSREADFIELD(fn,prec,'RL',Nrphys,swlz,12,myThid)
72 CALL MDSREADFIELD(fn,prec,'RL',Nrphys,qliqavelw,13,myThid)
73 CALL MDSREADFIELD(fn,prec,'RL',Nrphys,qliqavesw,14,myThid)
74 CALL MDSREADFIELD(fn,prec,'RL',Nrphys,fccavelw,15,myThid)
75 CALL MDSREADFIELD(fn,prec,'RL',Nrphys,fccavesw,16,myThid)
76 CALL MDSREADFIELD(fn,prec,'RL',Nrphys,temp,17,myThid)
77
78 do bj = 1,myByLo(myThid), myByHi(myThid)
79 do bi = 1,myBxLo(myThid), myBxHi(myThid)
80 do j = 1-OLy,sNy+OLy
81 do i = 1-OLx,sNx+OLx
82 raincon(i,j,bi,bj) = temp(i,j,1,bi,bj)
83 rainlsp(i,j,bi,bj) = temp(i,j,2,bi,bj)
84 snowfall(i,j,bi,bj) = temp(i,j,3,bi,bj)
85 enddo
86 enddo
87 enddo
88 enddo
89
90 iras = nint(temp(1,1,4,1,1))
91 nlwcld = nint(temp(2,1,4,1,1))
92 nlwlz = nint(temp(3,1,4,1,1))
93 nswcld = nint(temp(4,1,4,1,1))
94 nswlz = nint(temp(5,1,4,1,1))
95 imstturbsw = nint(temp(6,1,4,1,1))
96 imstturblw = nint(temp(7,1,4,1,1))
97
98 ENDIF
99
100 #ifdef ALLOW_MNC
101 IF ( useMNC .and. fizhi_mnc_read_pickup ) THEN
102
103 _BEGIN_MASTER(myThid)
104
105 WRITE(fn,'(A,I10.10)') 'pickup_fizhi.',myIter
106
107 CALL MNC_CW_RL_R('D',fn,0,0,'uphy',uphy,myThid)
108 CALL MNC_CW_RL_R('D',fn,0,0,'vphy',vphy,myThid)
109 CALL MNC_CW_RL_R('D',fn,0,0,'thphy',thphy,myThid)
110 CALL MNC_CW_RL_R('D',fn,0,0,'sphy',sphy,myThid)
111 CALL MNC_CW_RL_R('D',fn,0,0,'sphy',sphy,myThid)
112
113
114 _END_MASTER()
115
116 ENDIF
117 #endif
118
119 RETURN
120 END

  ViewVC Help
Powered by ViewVC 1.1.22