/[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.11 by molod, Tue Jun 15 21:18:18 2004 UTC revision 1.19 by molod, Thu Sep 30 16:25:58 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 33  c--------------------------------------- Line 33  c---------------------------------------
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    #ifdef ALLOW_MNC
38    #include "MNC_PARAMS.h"
39    #endif
40    
41         integer myThid         integer myThid
42    
43         integer i,j,bi,bj         integer i,j,L,bi,bj
44         integer im1, im2, jm1, jm2, idim1, idim2, jdim1, jdim2         integer im1, im2, jm1, jm2, idim2, jdim2
45         integer nymdb,nhmsb         integer nymdb,nhmsb
46         character*40 vegdata         character*40 vegdata
47           _RL pressure0(Nrphys)
48         _RL pressure(Nrphys)         _RL pressure(Nrphys)
49         _RL lats(sNx,sNy,Nsx,Nsy), lons(sNx,sNy,Nsx,Nsy)         _RL lats(sNx,sNy,Nsx,Nsy), lons(sNx,sNy,Nsx,Nsy)
50         _RL fracland(sNx,sNy,Nsx,Nsy)         _RL fracland(sNx,sNy,Nsx,Nsy)
51    
        idim1 = 1-OLx  
52         idim2 = sNx+OLx         idim2 = sNx+OLx
        jdim1 = 1-OLy  
53         jdim2 = sNy+OLy         jdim2 = sNy+OLy
54         im1 = 1         im1 = 1
55         im2 = sNx         im2 = sNx
# Line 55  c--------------------------------------- Line 58  c---------------------------------------
58         nymdb = nymd0         nymdb = nymd0
59         nhmsb = nhms0         nhmsb = nhms0
60    
61    #ifdef ALLOW_MNC
62           if (useMNC) then
63            call fizhi_mnc_init(myThid)
64           endif
65    #endif
66    
67         call fizhi_alarms(nymdb,nhmsb,deltaTClock)         call fizhi_alarms(nymdb,nhmsb,deltaTClock)
68    
69         do bj = myByLo(myThid), myByHi(myThid)         do bj = myByLo(myThid), myByHi(myThid)
# Line 67  c--------------------------------------- Line 76  c---------------------------------------
76         enddo         enddo
77         enddo         enddo
78         enddo         enddo
79         call fizhi_init_veg ( mythid, vegdata,idim2,jdim2,Nsx,Nsy,         call fizhi_init_veg ( mythid, vegdata,im2,jm2,Nsx,Nsy,
80       .                 nSx*nPx,nSy*nPy,maxtyp,nchp,lons,lats,       .         nSx*nPx,nSy*nPy,maxtyp,nchp,nchptot,nchpland,lons,lats,
81       .            surftype,tilefrac,igrd,ityp,chfr,chlt,chlon)       .         surftype,tilefrac,igrd,ityp,chfr,chlt,chlon)
82    
83  C And now fill the earth export landtype  C And now fill the earth export landtype
84         do bj = myByLo(myThid), myByHi(myThid)         do bj = myByLo(myThid), myByHi(myThid)
# Line 79  C And now fill the earth export landtype Line 88  C And now fill the earth export landtype
88          do j=jm1,jm2          do j=jm1,jm2
89          do i=im1,im2          do i=im1,im2
90           landtype(i,j,bi,bj) = surftype(i,j,1,bi,bj)           landtype(i,j,bi,bj) = surftype(i,j,1,bi,bj)
91           if(fracland(i,j).ge.0.3.and.surftype(i,j,1,bi,bj).ge.100)           if(fracland(i,j,bi,bj).ge.0.3.and.surftype(i,j,1,bi,bj).ge.100)
92       .            landtype(i,j,bi,bj) = surftype(i,j,2,bi,bj)       .            landtype(i,j,bi,bj) = surftype(i,j,2,bi,bj)
93           if(sice(i,j,bi,bj).ne.0.0)landtype(i,j,bi,bj) = 101           if(sice(i,j,bi,bj).ne.0.0)landtype(i,j,bi,bj) = 101
94          enddo          enddo
# Line 89  C And now fill the earth export landtype Line 98  C And now fill the earth export landtype
98    
99  C Compute pressure profile to get methane and n2o values (bottom-up)  C Compute pressure profile to get methane and n2o values (bottom-up)
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 to send to fizhi init chem
106           do L = 1,Nrphys+1
107            pressure(L)=pressure0(Nrphys+2-L)
108         enddo         enddo
109    
110         call fizhi_init_chem(mythid,         call fizhi_init_chem(mythid,
111       .      nlatsoz,nlevsoz,ntimesoz,latsoz,levsoz,ozone,       .      nlatsoz,nlevsoz,ntimesoz,latsoz,levsoz,ozone,
112       .      nlatsq,nlevsq,ntimesq,latsq,levsq,stratq,       .      nlatsq,nlevsq,ntimesq,latsq,levsq,stratq,
113       .      Nrphys,pressure,n20,methane,co2,cfc11,cfc12,cfc22)       .      Nrphys,pressure,n2o,methane,co2,cfc11,cfc12,cfc22)
114    
115           do bj = myByLo(myThid), myByHi(myThid)
116           do bi = myBxLo(myThid), myBxHi(myThid)
117            do j=jm1,jm2
118            do i=im1,im2
119             phis_var(i,j,bi,bj) = 0.
120            enddo
121            enddo
122           enddo
123           enddo
124    
125         return         return
126         end         end

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.19

  ViewVC Help
Powered by ViewVC 1.1.22