/[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.29 by jmc, Sat Aug 13 20:50:50 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    #ifdef ALLOW_DIAGNOSTICS
66          if ( useDiagnostics ) then
67            call fizhi_diagnostics_init( myThid )
68          endif
69    #endif
70    
71         call fizhi_alarms(nymdb,nhmsb,deltaTClock)         call fizhi_alarms(nymdb,nhmsb,deltaTClock)
72    
73         do bj = myByLo(myThid), myByHi(myThid)         do bj = myByLo(myThid), myByHi(myThid)
# Line 66  c--------------------------------------- Line 80  c---------------------------------------
80         enddo         enddo
81         enddo         enddo
82         enddo         enddo
83         call fizhi_init_veg ( mythid, vegdata,idim2,jdim2,Nsx,Nsy,         vegdata = 'veg19232.data'
84       .            nSx*nPx,nSy*nPy,maxtyp,nchp,nchpland,lons,lats,         call fizhi_init_veg ( mythid, vegdata,im2,jm2,Nsx,Nsy,
85       .            surftype,tilefrac,igrd,ityp,chfr,chlt,chlon)       .         nSx*nPx,nSy*nPy,maxtyp,nchp,nchptot,nchpland,lons,lats,
86         .         surftype,tilefrac,igrd,ityp,chfr,chlt,chlon)
87    
88  C And now fill the earth export landtype  C And now fill the earth export landtype
89         do bj = myByLo(myThid), myByHi(myThid)         do bj = myByLo(myThid), myByHi(myThid)
90         do bi = myBxLo(myThid), myBxHi(myThid)         do bi = myBxLo(myThid), myBxHi(myThid)
91          call get_landfrac(im2,jm2,Nsx,Nsy,bi,bj,maxtyp,          call get_landfrac(im2,jm2,Nsx,Nsy,bi,bj,maxtyp,
92       .        surftype,tilefrac,fracland)       .        surftype,tilefrac,fracland(1,1,bi,bj))
93          do j=jm1,jm2          do j=jm1,jm2
94          do i=im1,im2          do i=im1,im2
95           landtype(i,j,bi,bj) = surftype(i,j,1,bi,bj)           landtype(i,j,bi,bj) = surftype(i,j,1,bi,bj)
# Line 86  C And now fill the earth export landtype Line 101  C And now fill the earth export landtype
101         enddo         enddo
102         enddo         enddo
103    
104  C Compute pressure profile to get methane and n2o values (bottom-up)  C Compute pressure profile to get methane and n2o values
105    C     - First bottom-up (in mb)
106    
107         pressure(1)=1000.         pressure0(1)=1000.
108         do L = 2,Nrphys+1         do L = 2,Nrphys+1
109          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.
110           enddo
111    C Now flip pressure to a top-down array and average to mid levels
112    C     to send to fizhi init chem
113           do L = 1,Nrphys
114            pressure(L)=(pressure0(Nrphys+2-L)+pressure0(Nrphys+1-L))/2.
115         enddo         enddo
116    
117         call fizhi_init_chem(mythid,         call fizhi_init_chem(mythid,
# Line 98  C Compute pressure profile to get methan Line 119  C Compute pressure profile to get methan
119       .      nlatsq,nlevsq,ntimesq,latsq,levsq,stratq,       .      nlatsq,nlevsq,ntimesq,latsq,levsq,stratq,
120       .      Nrphys,pressure,n2o,methane,co2,cfc11,cfc12,cfc22)       .      Nrphys,pressure,n2o,methane,co2,cfc11,cfc12,cfc22)
121    
122    C Read dataset that contains topography variance (10m by 10m in a 2x2.5 box)
123           CALL READ_REC_XY_RL('topvar19232.data',tempoverlap,1,0,mythid )
124           _BARRIER
125    
126           do bj = myByLo(myThid), myByHi(myThid)
127           do bi = myBxLo(myThid), myBxHi(myThid)
128            do j=jm1,jm2
129            do i=im1,im2
130             if(fracland(i,j,bi,bj).gt.0.3) then
131              phis_var(i,j,bi,bj) = tempoverlap(i,j,bi,bj)
132             else
133              phis_var(i,j,bi,bj) = 0.
134             endif
135            enddo
136            enddo
137           enddo
138           enddo
139    
140    C Finally, grab unit numbers for reading sst and sea ice
141    C   (held in common block fizhi ocean coms)
142    
143           call mdsfindunit( kice, myThid )
144           open(kice)
145           call mdsfindunit( ksst, myThid )
146           open(ksst)
147    
148         return         return
149         end         end

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

  ViewVC Help
Powered by ViewVC 1.1.22