/[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.1 by molod, Fri Jun 4 16:23:37 2004 UTC revision 1.26 by molod, Wed Jun 1 18:08:02 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 17  c                   now and interpolate Line 18  c                   now and interpolate
18  c      the other fixed parameters are:  c      the other fixed parameters are:
19  c         N2O, Methane (vary with space)  c         N2O, Methane (vary with space)
20  c         CO2, CFC11, CFC12, CFC22 (set to a global value)  c         CO2, CFC11, CFC12, CFC22 (set to a global value)
21  c   2) This routine will also read the data.fizhi namelist interface  c   3) For now, the fizhi package contains the alarms and clocks
22  c      to obtain information about diagnostic selection.  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 "land_SIZE.h"  #include "fizhi_land_SIZE.h"
28  #include "EEPARAMS.h"  #include "EEPARAMS.h"
29  #include "chemistry_coms.h"  #include "fizhi_chemistry_coms.h"
30  #include "earth_coms.h"  #include "fizhi_earth_coms.h"
31    #include "fizhi_land_coms.h"
32    #include "fizhi_ocean_coms.h"
33    #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
43           character*40 vegdata
44           _RL pressure0(Nrphys+1)
45           _RL pressure(Nrphys)
46           _RL lats(sNx,sNy,Nsx,Nsy), lons(sNx,sNy,Nsx,Nsy)
47           _RL fracland(sNx,sNy,Nsx,Nsy)
48           _RL tempoverlap(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nsx,Nsy)
49    
50           idim2 = sNx+OLx
51           jdim2 = sNy+OLy
52           im1 = 1
53           im2 = sNx
54           jm1 = 1
55           jm2 = sNy
56           nymdb = nymd0
57           nhmsb = nhms0
58    
59    #ifdef ALLOW_MNC
60           if (useMNC) then
61            call fizhi_mnc_init(myThid)
62           endif
63    #endif
64    
65         im1 = 1-OLx         call fizhi_alarms(nymdb,nhmsb,deltaTClock)
        im2 = sNx+OLx  
        jm1 = 1-OLy  
        jm2 = sNy+OLy  
        idim1 = 1  
        idim2 = sNx  
        jdim1 = 1  
        jdim2 = sNy  
66    
67         do bj = myByLo(myThid), myByHi(myThid)         do bj = myByLo(myThid), myByHi(myThid)
68         do bi = myBxLo(myThid), myBxHi(myThid)         do bi = myBxLo(myThid), myBxHi(myThid)
69  C Dummy routine - nothing to do for now         do j = jm1,jm2
70           do i = im1,im2
71            lons(i,j,bi,bj) = xC(i,j,bi,bj)
72            lats(i,j,bi,bj) = yC(i,j,bi,bj)
73           enddo
74           enddo
75           enddo
76           enddo
77           vegdata = 'veg19232.data'
78           call fizhi_init_veg ( mythid, vegdata,im2,jm2,Nsx,Nsy,
79         .         nSx*nPx,nSy*nPy,maxtyp,nchp,nchptot,nchpland,lons,lats,
80         .         surftype,tilefrac,igrd,ityp,chfr,chlt,chlon)
81    
82    C And now fill the earth export landtype
83           do bj = myByLo(myThid), myByHi(myThid)
84           do bi = myBxLo(myThid), myBxHi(myThid)
85            call get_landfrac(im2,jm2,Nsx,Nsy,bi,bj,maxtyp,
86         .        surftype,tilefrac,fracland)
87            do j=jm1,jm2
88            do i=im1,im2
89             landtype(i,j,bi,bj) = surftype(i,j,1,bi,bj)
90             if(fracland(i,j,bi,bj).ge.0.3.and.surftype(i,j,1,bi,bj).ge.100)
91         .            landtype(i,j,bi,bj) = surftype(i,j,2,bi,bj)
92             if(sice(i,j,bi,bj).ne.0.0)landtype(i,j,bi,bj) = 101
93            enddo
94            enddo
95           enddo
96           enddo
97    
98    C Compute pressure profile to get methane and n2o values
99    C     - First bottom-up (in mb)
100    
101           pressure0(1)=1000.
102           do L = 2,Nrphys+1
103            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
110    
111           call fizhi_init_chem(mythid,
112         .      nlatsoz,nlevsoz,ntimesoz,latsoz,levsoz,ozone,
113         .      nlatsq,nlevsq,ntimesq,latsq,levsq,stratq,
114         .      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           CALL READ_REC_XY_RL('topvar19232.data',tempoverlap,1,0,mythid )
118           _BARRIER
119    
120           do bj = myByLo(myThid), myByHi(myThid)
121           do bi = myBxLo(myThid), myBxHi(myThid)
122            do j=jm1,jm2
123            do i=im1,im2
124             if(fracland(i,j,bi,bj).gt.0.3) then
125              phis_var(i,j,bi,bj) = tempoverlap(i,j,bi,bj)
126             else
127              phis_var(i,j,bi,bj) = 0.
128             endif
129            enddo
130            enddo
131         enddo         enddo
132         enddo         enddo
133    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.26

  ViewVC Help
Powered by ViewVC 1.1.22