3 |
|
|
4 |
subroutine fizhi_init_chem(mythid,nozlats,nozlevs,ozlats,ozlevs, |
subroutine fizhi_init_chem(mythid,nozlats,nozlevs,ozlats,ozlevs, |
5 |
. o3,nwatlats,nwatlevs,watlats,watlevs,water, |
. o3,nwatlats,nwatlevs,watlats,watlevs,water, |
6 |
. Nrphys,pressure,n20,methane,co2,cfc11,cfc12,cfc22) |
. Nrphys,pressure,n2o,methane,co2,cfc11,cfc12,cfc22) |
7 |
C*********************************************************************** |
C*********************************************************************** |
8 |
C Subroutine fizhi_init_chem - routine to read in the ozone and upper |
C Subroutine fizhi_init_chem - routine to read in the ozone and upper |
9 |
C atmosphere water vapor, and set the methane, n2o and cfc values |
C atmosphere water vapor, and set the methane, n2o and cfc values |
27 |
_RL pressure(Nrphys),methane(Nrphys),n2o(Nrphys) |
_RL pressure(Nrphys),methane(Nrphys),n2o(Nrphys) |
28 |
_RL co2,cfc11,cfc12,cfc22 |
_RL co2,cfc11,cfc12,cfc22 |
29 |
|
|
30 |
_RL getcon |
real getcon |
31 |
|
integer kqz,koz |
32 |
|
call mdsfindunit( kqz, myThid ) |
33 |
|
call mdsfindunit( koz, myThid ) |
34 |
|
|
35 |
call read_qz (kqz,water,watlats,watlevs,nwatlats,nwatlevs,12) |
call read_qz (kqz,water,watlats,watlevs,nwatlats,nwatlevs,12) |
36 |
call read_oz (koz,o3,ozlats,ozlevs,nozlats,nozlevs,12) |
call read_oz (koz,o3,ozlats,ozlevs,nozlats,nozlevs,12) |
37 |
|
|
38 |
call get_methane_n2o (pressure,Nrphys,n2o,methane) |
call get_methane_n2o (pressure,Nrphys,n2o,methane) |
39 |
|
|
40 |
co2 = getcon('CO2' )*1.e-6 |
co2 = getcon('CO2' )*1.e-6 |
41 |
cfc11 = getcon('CFC11')*1.e-9 |
cfc11 = getcon('CFC11')*1.e-9 |
42 |
cfc12 = getcon('CFC12')*1.e-9 |
cfc12 = getcon('CFC12')*1.e-9 |
65 |
#include "CPP_EEOPTIONS.h" |
#include "CPP_EEOPTIONS.h" |
66 |
integer ku,nlat,nlev,ntime |
integer ku,nlat,nlev,ntime |
67 |
|
|
68 |
_RL qz(nlat,nlev,ntime) |
_RL qz(nlat,nlev,ntime) |
69 |
_RL lats(nlat) |
_RL lats(nlat) |
70 |
_RL levs(nlev) |
_RL levs(nlev) |
71 |
|
|
73 |
integer lat |
integer lat |
74 |
integer lev |
integer lev |
75 |
|
|
76 |
_RL voltomas |
real voltomas |
77 |
parameter ( voltomas = 0.622e-6 ) |
parameter ( voltomas = 0.622e-6 ) |
78 |
|
|
79 |
rewind ku |
rewind ku |
84 |
lats(lat) = -85. + (lat-1)*10. |
lats(lat) = -85. + (lat-1)*10. |
85 |
enddo |
enddo |
86 |
|
|
|
|
|
87 |
c Read Moisture Pressure Levels |
c Read Moisture Pressure Levels |
88 |
c ----------------------------- |
c ----------------------------- |
89 |
read(ku,1000) (levs(lev),lev=1,nlev) |
read(ku,1000) (levs(lev),lev=1,nlev) |
90 |
|
|
|
|
|
91 |
c Read Moisture Amounts by Month and Level |
c Read Moisture Amounts by Month and Level |
92 |
c ---------------------------------------- |
c ---------------------------------------- |
93 |
do time=1,ntime |
do time=1,ntime |
133 |
integer ku,nlat,nlev,ntime |
integer ku,nlat,nlev,ntime |
134 |
|
|
135 |
_RL oz(nlat,nlev,ntime) |
_RL oz(nlat,nlev,ntime) |
136 |
_RL*4 o3(nlat) |
_RL o3(nlat) |
137 |
_RL lats(nlat) |
_RL lats(nlat) |
138 |
_RL levs(nlev) |
_RL levs(nlev) |
139 |
|
|
162 |
levs(lev) = plevs(lev) |
levs(lev) = plevs(lev) |
163 |
enddo |
enddo |
164 |
|
|
|
|
|
165 |
c Read Ozone Amounts by Month and Level |
c Read Ozone Amounts by Month and Level |
166 |
c ------------------------------------- |
c ------------------------------------- |
167 |
close (ku) |
close (ku) |
196 |
implicit none |
implicit none |
197 |
#include "CPP_EEOPTIONS.h" |
#include "CPP_EEOPTIONS.h" |
198 |
|
|
|
_RL n2o(Nrphys),methane(Nrphys) |
|
199 |
integer Nrphys |
integer Nrphys |
200 |
|
_RL n2o(Nrphys),methane(Nrphys) |
201 |
_RL pres(Nrphys) |
_RL pres(Nrphys) |
202 |
_RL hght(Nrphys), slope,pr1,pr2,hpr1,hpr2 |
_RL hght(Nrphys), slope,pr1,pr2,hpr1,hpr2 |
203 |
integer L,L1,L2,lup,ldn |
integer L,L1,L2,lup,ldn |