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

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

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

revision 1.3 by molod, Mon Jun 7 18:11:37 2004 UTC revision 1.11 by molod, Thu Oct 7 19:39:37 2004 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2  C $Name$  C $Name$
3    
4    #include "FIZHI_OPTIONS.h"
5    
6  CBOP  CBOP
7  C     !ROUTINE: FIZHI_READ_PICKUP  C     !ROUTINE: FIZHI_READ_PICKUP
8  C     !INTERFACE:  C     !INTERFACE:
# Line 18  CEOP Line 20  CEOP
20        IMPLICIT NONE        IMPLICIT NONE
21    
22  C     == Global variables ===  C     == Global variables ===
 #include "CPP_OPTIONS.h"  
23  #include "SIZE.h"  #include "SIZE.h"
24  #include "fizhi_SIZE.h"  #include "fizhi_SIZE.h"
25  #include "fizhi_land_SIZE.h"  #include "fizhi_land_SIZE.h"
26  #include "fizhi_coms.h"  #include "fizhi_coms.h"
27  #include "fizhi_land_coms.h"  #include "fizhi_land_coms.h"
28    #include "fizhi_io_comms.h"
29  #include "EEPARAMS.h"  #include "EEPARAMS.h"
30  #include "PARAMS.h"  #include "PARAMS.h"
31    #ifdef ALLOW_MNC
32    #include "MNC_PARAMS.h"
33    #endif
34    
35  C     == Routine Arguments ==  C     == Routine Arguments ==
36  C     myIter  :: time-step number  C     myIter  :: time-step number
# Line 36  C     myThid  :: Number of this instance Line 41  C     myThid  :: Number of this instance
41  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
42  C     fn      :: character buffer for creating filename  C     fn      :: character buffer for creating filename
43  C     prec    :: precision of pickup files  C     prec    :: precision of pickup files
 C     lgf     :: flag to write "global" files  
44  C     k       :: loop index  C     k       :: loop index
45        INTEGER prec, iChar, lChar, k        INTEGER i, prec
46        CHARACTER*(MAX_LEN_FNAM) fn        CHARACTER*(MAX_LEN_FNAM) fn
47        LOGICAL lgf        _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        WRITE(fn,'(A,I10.10)') 'pickup_fizhi.',myIter
54        prec = precFloat64        prec = precFloat64
55    
56  C-    Read fields as consecutive records  C#ifdef ALLOW_MDSIO
57        CALL MDSREADFIELD(fn,prec,'RL',Nrphys,uphy,1,myThid)        IF ( fizhi_mdsio_read_pickup ) THEN
58        CALL MDSREADFIELD(fn,prec,'RL',Nrphys,vphy,2,myThid)  
59        CALL MDSREADFIELD(fn,prec,'RL',Nrphys,thphy,3,myThid)  C       Read fields as consecutive records
60        CALL MDSREADFIELD(fn,prec,'RL',Nrphys,sphy,4,myThid)         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        RETURN
120        END        END

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.22