/[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.9 by molod, Wed Jun 9 20:33:37 2004 UTC revision 1.20 by edhill, Sun Oct 10 06:08:48 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"  #include "gridalt_mapping.h"
35  #include "GRID.h"  #include "GRID.h"
36    #include "PARAMS.h"
37    
38         integer myThid         integer myThid
39    
40         integer i,j,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)
45         _RL pressure(Nrphys)         _RL pressure(Nrphys)
46         real 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)
48    
49         im1 = 1-OLx         idim2 = sNx+OLx
50         im2 = sNx+OLx         jdim2 = sNy+OLy
51         jm1 = 1-OLy         im1 = 1
52         jm2 = sNy+OLy         im2 = sNx
53         idim1 = 1         jm1 = 1
54         idim2 = sNx         jm2 = sNy
        jdim1 = 1  
        jdim2 = 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)
65    
66         do bj = myByLo(myThid), myByHi(myThid)         do bj = myByLo(myThid), myByHi(myThid)
# Line 65  c--------------------------------------- Line 73  c---------------------------------------
73         enddo         enddo
74         enddo         enddo
75         enddo         enddo
76         call fizhi_init_veg ( mythid, vegdata,idim2,jdim2,Nsx,Nsy,         call fizhi_init_veg ( mythid, vegdata,im2,jm2,Nsx,Nsy,
77       .                 nSx*nPx,nSy*nPy,maxtyp,nchp,lons,lats,       .         nSx*nPx,nSy*nPy,maxtyp,nchp,nchptot,nchpland,lons,lats,
78       .            surftype,tilefrac,igrd,ityp,chfr,chlt,chlon)       .         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
94           enddo
95    
96  C Compute pressure profile to get methane and n2o values (bottom-up)  C Compute pressure profile to get methane and n2o values (bottom-up)
97    
98         pressure(1)=1000.         pressure0(1)=1000.
99         do L = 2,Nrphys+1         do L = 2,Nrphys+1
100          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.
101           enddo
102    C Now flip pressure to a top-down array to send to fizhi init chem
103           do L = 1,Nrphys+1
104            pressure(L)=pressure0(Nrphys+2-L)
105         enddo         enddo
106    
107         call fizhi_init_chem(mythid,         call fizhi_init_chem(mythid,
108       .      nlatsoz,nlevsoz,ntimesoz,latsoz,levsoz,ozone,       .      nlatsoz,nlevsoz,ntimesoz,latsoz,levsoz,ozone,
109       .      nlatsq,nlevsq,ntimesq,latsq,levsq,stratq,       .      nlatsq,nlevsq,ntimesq,latsq,levsq,stratq,
110       .      Nrphys,pressure,n20,methane,co2,cfc11,cfc12,cfc22)       .      Nrphys,pressure,n2o,methane,co2,cfc11,cfc12,cfc22)
111    
112           do bj = myByLo(myThid), myByHi(myThid)
113           do bi = myBxLo(myThid), myBxHi(myThid)
114            do j=jm1,jm2
115            do i=im1,im2
116             phis_var(i,j,bi,bj) = 0.
117            enddo
118            enddo
119           enddo
120           enddo
121    
122         return         return
123         end         end

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.20

  ViewVC Help
Powered by ViewVC 1.1.22