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

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

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


Revision 1.4 - (hide annotations) (download)
Tue Mar 20 19:46:17 2012 UTC (12 years ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint64, checkpoint65, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, HEAD
Changes since 1.3: +37 -23 lines
- fix fracland filling (already done in standard version on Aug 13, 2005)
- edits to reduce number of differences with startdand version file.

1 jmc 1.4 C $Header: /u/gcmpack/MITgcm/verification/fizhi-cs-aqualev20/code/fizhi_init_fixed.F,v 1.1 2006/04/03 20:55:14 molod Exp $
2 molod 1.1 C $Name: $
3    
4 molod 1.3 #include "FIZHI_OPTIONS.h"
5 jmc 1.4 SUBROUTINE FIZHI_INIT_FIXED (myThid)
6 molod 1.1 c-----------------------------------------------------------------------
7     c Routine to initialise the fizhi package.
8 jmc 1.4 c
9 molod 1.1 c Input: myThid - Process number calling this routine
10     c
11 jmc 1.4 c Notes:
12 molod 1.1 c 1) This routine is the interface to read input datasets and set
13     c other fixed variables for fizhi
14     c the datasets are:
15     c vegetation (data for each tile at every grid point)
16     c ozone (varies with lat, height and time - read it all in
17     c now and interpolate between values later)
18     c the other fixed parameters are:
19     c N2O, Methane (vary with space)
20     c CO2, CFC11, CFC12, CFC22 (set to a global value)
21 molod 1.3 c 3) For now, the fizhi package contains the alarms and clocks
22     c routines, so this routine will also initialize the alarms.
23 molod 1.1 c-----------------------------------------------------------------------
24 jmc 1.4 IMPLICIT NONE
25 molod 1.1 #include "SIZE.h"
26     #include "fizhi_SIZE.h"
27 molod 1.3 #include "fizhi_land_SIZE.h"
28 molod 1.1 #include "EEPARAMS.h"
29 molod 1.3 #include "fizhi_chemistry_coms.h"
30     #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 molod 1.1
38 jmc 1.4 INTEGER myThid
39 molod 1.1
40 jmc 1.4 INTEGER i,j,L,bi,bj
41     INTEGER im1, im2, jm1, jm2, idim2, jdim2
42     INTEGER nymdb,nhmsb
43     CHARACTER*40 vegdata
44 molod 1.3 _RL pressure0(Nrphys+1)
45     _RL pressure(Nrphys)
46 jmc 1.4 _RL lats(sNx,sNy,nSx,nSy), lons(sNx,sNy,nSx,nSy)
47     _RL fracland(sNx,sNy,nSx,nSy)
48 molod 1.3
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 molod 1.1
64 jmc 1.4 #ifdef ALLOW_DIAGNOSTICS
65     if ( useDiagnostics ) then
66     call fizhi_diagnostics_init( myThid )
67     endif
68     #endif
69    
70 molod 1.3 call fizhi_alarms(nymdb,nhmsb,deltaTClock)
71 molod 1.1
72     do bj = myByLo(myThid), myByHi(myThid)
73     do bi = myBxLo(myThid), myBxHi(myThid)
74 molod 1.3 do j = jm1,jm2
75     do i = im1,im2
76     lons(i,j,bi,bj) = xC(i,j,bi,bj)
77     lats(i,j,bi,bj) = yC(i,j,bi,bj)
78     enddo
79     enddo
80     enddo
81     enddo
82     vegdata = 'veg19232.data'
83 jmc 1.4 call fizhi_init_veg ( myThid, vegdata,im2,jm2,nSx,nSy,
84     & nSx*nPx,nSy*nPy,maxtyp,nchp,nchptot,nchpland,lons,lats,
85     & surftype,tilefrac,igrd,ityp,chfr,chlt,chlon)
86 molod 1.3
87     C And now fill the earth export landtype
88     do bj = myByLo(myThid), myByHi(myThid)
89     do bi = myBxLo(myThid), myBxHi(myThid)
90 jmc 1.4 call get_landfrac(im2,jm2,nSx,nSy,bi,bj,maxtyp,
91     & surftype,tilefrac,fracland(1,1,bi,bj))
92 molod 1.3 do j=jm1,jm2
93     do i=im1,im2
94     landtype(i,j,bi,bj) = surftype(i,j,1,bi,bj)
95     if(fracland(i,j,bi,bj).ge.0.3.and.surftype(i,j,1,bi,bj).ge.100)
96 jmc 1.4 & landtype(i,j,bi,bj) = surftype(i,j,2,bi,bj)
97 molod 1.3 if(sice(i,j,bi,bj).ne.0.0)landtype(i,j,bi,bj) = 101
98     enddo
99     enddo
100     enddo
101     enddo
102    
103 jmc 1.4 C Compute pressure profile to get methane and n2o values
104 molod 1.3 C - First bottom-up (in mb)
105    
106     pressure0(1)=1000.
107     do L = 2,Nrphys+1
108     pressure0(L)=pressure0(L-1)-dpphys0(1,1,L-1,1,1)/100.
109     enddo
110     C Now flip pressure to a top-down array and average to mid levels
111     C to send to fizhi init chem
112     do L = 1,Nrphys
113     pressure(L)=(pressure0(Nrphys+2-L)+pressure0(Nrphys+1-L))/2.
114     enddo
115    
116 jmc 1.4 call fizhi_init_chem(myThid,
117     & nlatsoz,nlevsoz,ntimesoz,latsoz,levsoz,ozone,
118     & nlatsq,nlevsq,ntimesq,latsq,levsq,stratq,
119     & Nrphys,pressure,n2o,methane,co2,cfc11,cfc12,cfc22)
120 molod 1.3
121     do bj = myByLo(myThid), myByHi(myThid)
122     do bi = myBxLo(myThid), myBxHi(myThid)
123     do j=jm1,jm2
124     do i=im1,im2
125     phis_var(i,j,bi,bj) = 0.
126     enddo
127     enddo
128 molod 1.1 enddo
129     enddo
130    
131 jmc 1.4 C Finally, grab unit numbers for reading sst and sea ice
132     C (held in common block fizhi ocean coms)
133    
134     c call mdsfindunit( kice, myThid )
135     c open(kice)
136     c call mdsfindunit( ksst, myThid )
137     c open(ksst)
138    
139 molod 1.1 return
140     end

  ViewVC Help
Powered by ViewVC 1.1.22