/[MITgcm]/MITgcm/verification/fizhi-gridalt-hs/code/fizhi_init_fixed.F
ViewVC logotype

Diff of /MITgcm/verification/fizhi-gridalt-hs/code/fizhi_init_fixed.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.2 by molod, Fri Aug 20 13:47:36 2004 UTC revision 1.3 by molod, Tue May 24 14:57:00 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    
49           idim2 = sNx+OLx
50           jdim2 = sNy+OLy
51           im1 = 1
52           im2 = sNx
53           jm1 = 1
54           jm2 = sNy
55           nymdb = nymd0
56           nhmsb = nhms0
57    
58    #ifdef ALLOW_MNC
59           if (useMNC) then
60            call fizhi_mnc_init(myThid)
61           endif
62    #endif
63    
64         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  
65    
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  C Dummy routine - nothing to do for now         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           vegdata = 'veg19232.data'
77           call fizhi_init_veg ( mythid, vegdata,im2,jm2,Nsx,Nsy,
78         .         nSx*nPx,nSy*nPy,maxtyp,nchp,nchptot,nchpland,lons,lats,
79         .         surftype,tilefrac,igrd,ityp,chfr,chlt,chlon)
80    
81    C And now fill the earth export landtype
82           do bj = myByLo(myThid), myByHi(myThid)
83           do bi = myBxLo(myThid), myBxHi(myThid)
84            call get_landfrac(im2,jm2,Nsx,Nsy,bi,bj,maxtyp,
85         .        surftype,tilefrac,fracland)
86            do j=jm1,jm2
87            do i=im1,im2
88             landtype(i,j,bi,bj) = surftype(i,j,1,bi,bj)
89             if(fracland(i,j,bi,bj).ge.0.3.and.surftype(i,j,1,bi,bj).ge.100)
90         .            landtype(i,j,bi,bj) = surftype(i,j,2,bi,bj)
91             if(sice(i,j,bi,bj).ne.0.0)landtype(i,j,bi,bj) = 101
92            enddo
93            enddo
94           enddo
95           enddo
96    
97    C Compute pressure profile to get methane and n2o values
98    C     - First bottom-up (in mb)
99    
100           pressure0(1)=1000.
101           do L = 2,Nrphys+1
102            pressure0(L)=pressure0(L-1)-dpphys0(1,1,L-1,1,1)/100.
103           enddo
104    C Now flip pressure to a top-down array and average to mid levels
105    C     to send to fizhi init chem
106           do L = 1,Nrphys
107            pressure(L)=(pressure0(Nrphys+2-L)+pressure0(Nrphys+1-L))/2.
108           enddo
109    
110           call fizhi_init_chem(mythid,
111         .      nlatsoz,nlevsoz,ntimesoz,latsoz,levsoz,ozone,
112         .      nlatsq,nlevsq,ntimesq,latsq,levsq,stratq,
113         .      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         enddo
123         enddo         enddo
124    

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

  ViewVC Help
Powered by ViewVC 1.1.22