/[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.3 by molod, Mon Jun 7 20:26:43 2004 UTC revision 1.21 by molod, Fri Oct 22 14:52:14 2004 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 29  c--------------------------------------- Line 29  c---------------------------------------
29  #include "fizhi_chemistry_coms.h"  #include "fizhi_chemistry_coms.h"
30  #include "fizhi_earth_coms.h"  #include "fizhi_earth_coms.h"
31  #include "fizhi_land_coms.h"  #include "fizhi_land_coms.h"
32    #include "fizhi_ocean_coms.h"
33  #include "chronos.h"  #include "chronos.h"
34    #include "gridalt_mapping.h"
35    #include "GRID.h"
36    #include "PARAMS.h"
37    
38         integer myThid         integer myThid
39    
40         integer bi, bj         integer i,j,L,bi,bj
41         integer im1, im2, jm1, jm2, idim1, idim2, jdim1, 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         im1 = 1-OLx         _RL pressure(Nrphys)
46         im2 = sNx+OLx         _RL lats(sNx,sNy,Nsx,Nsy), lons(sNx,sNy,Nsx,Nsy)
47         jm1 = 1-OLy         _RL fracland(sNx,sNy,Nsx,Nsy)
48         jm2 = sNy+OLy  
49         idim1 = 1         idim2 = sNx+OLx
50         idim2 = sNx         jdim2 = sNy+OLy
51         jdim1 = 1         im1 = 1
52         jdim2 = sNy         im2 = sNx
53           jm1 = 1
54           jm2 = sNy
55         nymdb = nymd0         nymdb = nymd0
56         nhmsb = nhms0         nhmsb = nhms0
57    
58    #ifdef ALLOW_MNC
59           if (useMNC) then
60            call fizhi_mnc_init(myThid)
61           endif
62    #endif
63    
64         call fizhi_alarms(nymdb,nhmsb,deltaTClock)         call fizhi_alarms(nymdb,nhmsb,deltaTClock)
        call fizhi_init_veg ( mythid, vegdata,idim2,jdim2,Nsx,Nsy,maxtyp,  
      .            surftype,tilefrac,igrd,ityp,chfr )  
65    
 C Compute pressure profile to get methane and n2o values (bottom-up)  
66         do bj = myByLo(myThid), myByHi(myThid)         do bj = myByLo(myThid), myByHi(myThid)
67         do bi = myBxLo(myThid), myBxHi(myThid)         do bi = myBxLo(myThid), myBxHi(myThid)
68           do j = jm1,jm2
69           do i = im1,im2
70            lons(i,j,bi,bj) = xC(i,j,bi,bj)
71            lats(i,j,bi,bj) = yC(i,j,bi,bj)
72           enddo
73           enddo
74           enddo
75           enddo
76           call fizhi_init_veg ( mythid, vegdata,im2,jm2,Nsx,Nsy,
77         .         nSx*nPx,nSy*nPy,maxtyp,nchp,nchptot,nchpland,lons,lats,
78         .         surftype,tilefrac,igrd,ityp,chfr,chlt,chlon)
79    
80    C And now fill the earth export landtype
81           do bj = myByLo(myThid), myByHi(myThid)
82           do bi = myBxLo(myThid), myBxHi(myThid)
83            call get_landfrac(im2,jm2,Nsx,Nsy,bi,bj,maxtyp,
84         .        surftype,tilefrac,fracland)
85            do j=jm1,jm2
86            do i=im1,im2
87             landtype(i,j,bi,bj) = surftype(i,j,1,bi,bj)
88             if(fracland(i,j,bi,bj).ge.0.3.and.surftype(i,j,1,bi,bj).ge.100)
89         .            landtype(i,j,bi,bj) = surftype(i,j,2,bi,bj)
90             if(sice(i,j,bi,bj).ne.0.0)landtype(i,j,bi,bj) = 101
91            enddo
92            enddo
93         enddo         enddo
94         enddo         enddo
95    
96         call fizhi_init_chem(mythid,nozlats,nozlevs,ozlats,ozlevs,  C Compute pressure profile to get methane and n2o values
97       . ozone,nwatlats,nwatlevs,watlats,watlevs,water,  C     - First bottom-up (in mb)
98       . Nrphys,pressure,n20,methane,co2,cfc11,cfc12,cfc22)  
99           pressure0(1)=1000.
100           do L = 2,Nrphys+1
101            pressure0(L)=pressure0(L-1)-dpphys0(1,1,L-1,1,1)/100.
102           enddo
103    C Now flip pressure to a top-down array and average to mid levels
104    C     to send to fizhi init chem
105           do L = 1,Nrphys
106            pressure(L)=(pressure0(Nrphys+2-L)+pressure0(Nrphys+1-L))/2.
107           enddo
108    
109           call fizhi_init_chem(mythid,
110         .      nlatsoz,nlevsoz,ntimesoz,latsoz,levsoz,ozone,
111         .      nlatsq,nlevsq,ntimesq,latsq,levsq,stratq,
112         .      Nrphys,pressure,n2o,methane,co2,cfc11,cfc12,cfc22)
113    
114           do bj = myByLo(myThid), myByHi(myThid)
115           do bi = myBxLo(myThid), myBxHi(myThid)
116            do j=jm1,jm2
117            do i=im1,im2
118             phis_var(i,j,bi,bj) = 0.
119            enddo
120            enddo
121           enddo
122           enddo
123    
124         return         return
125         end         end

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

  ViewVC Help
Powered by ViewVC 1.1.22