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

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

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


Revision 1.11 - (hide annotations) (download)
Thu Oct 7 19:39:37 2004 UTC (19 years, 7 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 molod 1.11 C $Header: /u/gcmpack/MITgcm/pkg/fizhi/fizhi_read_pickup.F,v 1.10 2004/10/07 03:20:56 molod Exp $
2 edhill 1.2 C $Name: $
3    
4 molod 1.5 #include "FIZHI_OPTIONS.h"
5 edhill 1.6
6 molod 1.1 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 molod 1.3 #include "fizhi_land_SIZE.h"
26 molod 1.1 #include "fizhi_coms.h"
27 molod 1.3 #include "fizhi_land_coms.h"
28 edhill 1.6 #include "fizhi_io_comms.h"
29 molod 1.1 #include "EEPARAMS.h"
30     #include "PARAMS.h"
31 edhill 1.7 #ifdef ALLOW_MNC
32     #include "MNC_PARAMS.h"
33     #endif
34 molod 1.1
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 edhill 1.6 INTEGER i, prec
46 molod 1.1 CHARACTER*(MAX_LEN_FNAM) fn
47 molod 1.8 _RL temp(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nrphys,Nsx,Nsy)
48 molod 1.10 integer j,bi,bj
49 molod 1.1
50 edhill 1.6 DO i = 1,MAX_LEN_FNAM
51     fn(i:i) = ' '
52     ENDDO
53 molod 1.1 WRITE(fn,'(A,I10.10)') 'pickup_fizhi.',myIter
54     prec = precFloat64
55    
56 edhill 1.6 C#ifdef ALLOW_MDSIO
57     IF ( fizhi_mdsio_read_pickup ) THEN
58    
59     C Read fields as consecutive records
60 molod 1.8 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 molod 1.10 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 molod 1.9
78 molod 1.11 do bj = 1,myByLo(myThid), myByHi(myThid)
79     do bi = 1,myBxLo(myThid), myBxHi(myThid)
80 molod 1.9 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 molod 1.10 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 molod 1.9 imstturbsw = nint(temp(6,1,4,1,1))
96     imstturblw = nint(temp(7,1,4,1,1))
97 edhill 1.6
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 molod 1.8 CALL MNC_CW_RL_R('D',fn,0,0,'sphy',sphy,myThid)
111 edhill 1.6 CALL MNC_CW_RL_R('D',fn,0,0,'sphy',sphy,myThid)
112    
113    
114     _END_MASTER()
115    
116     ENDIF
117     #endif
118 molod 1.1
119     RETURN
120     END

  ViewVC Help
Powered by ViewVC 1.1.22