/[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.14 by molod, Fri Jul 23 22:32:28 2004 UTC revision 1.25 by molod, Tue May 31 21:33:41 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           vegdata = 'veg19232.data'
78         call fizhi_init_veg ( mythid, vegdata,im2,jm2,Nsx,Nsy,         call fizhi_init_veg ( mythid, vegdata,im2,jm2,Nsx,Nsy,
79       .         nSx*nPx,nSy*nPy,maxtyp,nchp,nchptot,nchpland,lons,lats,       .         nSx*nPx,nSy*nPy,maxtyp,nchp,nchptot,nchpland,lons,lats,
80       .         surftype,tilefrac,igrd,ityp,chfr,chlt,chlon)       .         surftype,tilefrac,igrd,ityp,chfr,chlt,chlon)
# 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            _BEGIN_MASTER( myThid )
118            CALL READ_REC_XY_RL('topvar19232.data',tempoverlap,1,0,mythid )
119            _END_MASTER(myThid)
120            _BARRIER
121    
122           do bj = myByLo(myThid), myByHi(myThid)
123           do bi = myBxLo(myThid), myBxHi(myThid)
124            do j=jm1,jm2
125            do i=im1,im2
126             if(fracland(i,j,bi,bj).gt.0.3) then
127              phis_var(i,j,bi,bj) = tempoverlap(i,j,bi,bj)
128             else
129              phis_var(i,j,bi,bj) = 0.
130             endif
131            enddo
132            enddo
133           enddo
134           enddo
135    
136         return         return
137         end         end

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.25

  ViewVC Help
Powered by ViewVC 1.1.22