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

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

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

revision 1.12 by molod, Tue Jul 13 21:11:08 2004 UTC revision 1.27 by molod, Tue Jun 14 18:14:21 2005 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2  C $Name$  C $Name$
3    
4    #include "FIZHI_OPTIONS.h"
5         subroutine fizhi_init_fixed (myThid)         subroutine fizhi_init_fixed (myThid)
6  c-----------------------------------------------------------------------  c-----------------------------------------------------------------------
7  c  Routine to initialise the fizhi package.  c  Routine to initialise the fizhi package.
# Line 21  c   3) For now, the fizhi package contai Line 22  c   3) For now, the fizhi package contai
22  c      routines, so this routine will also initialize the alarms.  c      routines, so this routine will also initialize the alarms.
23  c-----------------------------------------------------------------------  c-----------------------------------------------------------------------
24         implicit none         implicit none
 #include "CPP_OPTIONS.h"  
25  #include "SIZE.h"  #include "SIZE.h"
26  #include "fizhi_SIZE.h"  #include "fizhi_SIZE.h"
27  #include "fizhi_land_SIZE.h"  #include "fizhi_land_SIZE.h"
# Line 41  c--------------------------------------- Line 41  c---------------------------------------
41         integer im1, im2, jm1, jm2, idim2, jdim2         integer im1, im2, jm1, jm2, idim2, jdim2
42         integer nymdb,nhmsb         integer nymdb,nhmsb
43         character*40 vegdata         character*40 vegdata
44           _RL pressure0(Nrphys+1)
45         _RL pressure(Nrphys)         _RL pressure(Nrphys)
46         _RL lats(sNx,sNy,Nsx,Nsy), lons(sNx,sNy,Nsx,Nsy)         _RL lats(sNx,sNy,Nsx,Nsy), lons(sNx,sNy,Nsx,Nsy)
47         _RL fracland(sNx,sNy,Nsx,Nsy)         _RL fracland(sNx,sNy,Nsx,Nsy)
48           _RL tempoverlap(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nsx,Nsy)
49    
50         idim2 = sNx+OLx         idim2 = sNx+OLx
51         jdim2 = sNy+OLy         jdim2 = sNy+OLy
# Line 54  c--------------------------------------- Line 56  c---------------------------------------
56         nymdb = nymd0         nymdb = nymd0
57         nhmsb = nhms0         nhmsb = nhms0
58    
59    #ifdef ALLOW_MNC
60           if (useMNC) then
61            call fizhi_mnc_init(myThid)
62           endif
63    #endif
64    
65         call fizhi_alarms(nymdb,nhmsb,deltaTClock)         call fizhi_alarms(nymdb,nhmsb,deltaTClock)
66    
67         do bj = myByLo(myThid), myByHi(myThid)         do bj = myByLo(myThid), myByHi(myThid)
# Line 66  c--------------------------------------- Line 74  c---------------------------------------
74         enddo         enddo
75         enddo         enddo
76         enddo         enddo
77         call fizhi_init_veg ( mythid, vegdata,idim2,jdim2,Nsx,Nsy,         vegdata = 'veg19232.data'
78       .            nSx*nPx,nSy*nPy,maxtyp,nchp,nchpland,lons,lats,         call fizhi_init_veg ( mythid, vegdata,im2,jm2,Nsx,Nsy,
79       .            surftype,tilefrac,igrd,ityp,chfr,chlt,chlon)       .         nSx*nPx,nSy*nPy,maxtyp,nchp,nchptot,nchpland,lons,lats,
80         .         surftype,tilefrac,igrd,ityp,chfr,chlt,chlon)
81    
82  C And now fill the earth export landtype  C And now fill the earth export landtype
83         do bj = myByLo(myThid), myByHi(myThid)         do bj = myByLo(myThid), myByHi(myThid)
# Line 86  C And now fill the earth export landtype Line 95  C And now fill the earth export landtype
95         enddo         enddo
96         enddo         enddo
97    
98  C Compute pressure profile to get methane and n2o values (bottom-up)  C Compute pressure profile to get methane and n2o values
99    C     - First bottom-up (in mb)
100    
101         pressure(1)=1000.         pressure0(1)=1000.
102         do L = 2,Nrphys+1         do L = 2,Nrphys+1
103          pressure(L)=pressure(L-1)-dpphys0(1,1,L-1,1,1)          pressure0(L)=pressure0(L-1)-dpphys0(1,1,L-1,1,1)/100.
104           enddo
105    C Now flip pressure to a top-down array and average to mid levels
106    C     to send to fizhi init chem
107           do L = 1,Nrphys
108            pressure(L)=(pressure0(Nrphys+2-L)+pressure0(Nrphys+1-L))/2.
109         enddo         enddo
110    
111         call fizhi_init_chem(mythid,         call fizhi_init_chem(mythid,
# Line 98  C Compute pressure profile to get methan Line 113  C Compute pressure profile to get methan
113       .      nlatsq,nlevsq,ntimesq,latsq,levsq,stratq,       .      nlatsq,nlevsq,ntimesq,latsq,levsq,stratq,
114       .      Nrphys,pressure,n2o,methane,co2,cfc11,cfc12,cfc22)       .      Nrphys,pressure,n2o,methane,co2,cfc11,cfc12,cfc22)
115    
116    C Read dataset that contains topography variance (10m by 10m in a 2x2.5 box)
117           CALL READ_REC_XY_RL('topvar19232.data',tempoverlap,1,0,mythid )
118           _BARRIER
119    
120           do bj = myByLo(myThid), myByHi(myThid)
121           do bi = myBxLo(myThid), myBxHi(myThid)
122            do j=jm1,jm2
123            do i=im1,im2
124             if(fracland(i,j,bi,bj).gt.0.3) then
125              phis_var(i,j,bi,bj) = tempoverlap(i,j,bi,bj)
126             else
127              phis_var(i,j,bi,bj) = 0.
128             endif
129            enddo
130            enddo
131           enddo
132           enddo
133    
134    C Finally, grab unit numbers for reading sst and sea ice
135    C   (held in common block fizhi ocean coms)
136    
137           call mdsfindunit( kice, myThid )
138           open(kice)
139           call mdsfindunit( ksst, myThid )
140           open(ksst)
141    
142         return         return
143         end         end

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.27

  ViewVC Help
Powered by ViewVC 1.1.22