1 |
C $Header$ |
C $Header$ |
2 |
C $Name$ |
C $Name$ |
3 |
|
|
4 |
|
#include "FIZHI_OPTIONS.h" |
5 |
subroutine update_chemistry_exports (myTime, myIter, myThid) |
subroutine update_chemistry_exports (myTime, myIter, myThid) |
6 |
c---------------------------------------------------------------------- |
c---------------------------------------------------------------------- |
7 |
c Subroutine update_chemistry_exports - 'Wrapper' routine to update |
c Subroutine update_chemistry_exports - 'Wrapper' routine to update |
12 |
c Call: interp_chemistry |
c Call: interp_chemistry |
13 |
c----------------------------------------------------------------------- |
c----------------------------------------------------------------------- |
14 |
implicit none |
implicit none |
|
#include "CPP_OPTIONS.h" |
|
15 |
#include "SIZE.h" |
#include "SIZE.h" |
16 |
#include "fizhi_SIZE.h" |
#include "fizhi_SIZE.h" |
17 |
#include "fizhi_land_SIZE.h" |
#include "fizhi_land_SIZE.h" |
26 |
integer myTime, myIter, myThid |
integer myTime, myIter, myThid |
27 |
|
|
28 |
c pe on physics grid refers to bottom edge |
c pe on physics grid refers to bottom edge |
29 |
real pephy(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nrphys+1,nSx,nSy) |
_RL pephy(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nrphys+1,nSx,nSy) |
30 |
real pphy(sNx,sNy,Nrphys,nSx,nSy) |
_RL pphy(sNx,sNy,Nrphys,nSx,nSy) |
31 |
real oz1(nlatsoz,nlevsoz), strq1(nlatsq,nlevsq) |
_RL oz1(nlatsoz,nlevsoz), strq1(nlatsq,nlevsq) |
32 |
real waterin(sNx,sNy,Nrphys), xlat(sNx,sNy) |
_RL waterin(sNx,sNy,Nrphys), xlat(sNx,sNy) |
33 |
|
|
34 |
integer i, j, L, LL, bi, bj |
integer i, j, L, LL, bi, bj |
35 |
integer im1, im2, jm1, jm2, idim1, idim2, jdim1, jdim2 |
integer im1, im2, jm1, jm2, idim1, idim2, jdim1, jdim2 |
36 |
integer nhms1,nymd1,nhms2,nymd2,imns,ipls |
integer nhms1,nymd1,nhms2,nymd2,imns,ipls |
37 |
real facm, facp |
_RL facm, facp |
38 |
logical alarm |
logical alarm |
39 |
external alarm |
external alarm |
40 |
|
|
111 |
. watlats,ozone,nozlevs,nozlats,ozlevs,ozlats, |
. watlats,ozone,nozlevs,nozlats,ozlevs,ozlats, |
112 |
. qz,plz,xlat,im,jm,lm,nSx,nSy,bi,bj,ozrad,qzrad) |
. qz,plz,xlat,im,jm,lm,nSx,nSy,bi,bj,ozrad,qzrad) |
113 |
|
|
|
#include "CPP_OPTIONS.h" |
|
114 |
implicit none |
implicit none |
115 |
|
|
116 |
c Input Variables |
c Input Variables |
117 |
c --------------- |
c --------------- |
118 |
integer nwatlevs,nwatlats,nozlevs,nozlats,nSx,nSy,bi,bj |
integer nwatlevs,nwatlats,nozlevs,nozlats,nSx,nSy,bi,bj |
119 |
real stratq(nwatlats,nwatlevs),ozone(nozlats,nozlevs) |
_RL stratq(nwatlats,nwatlevs),ozone(nozlats,nozlevs) |
120 |
_RL watlevs(nwatlevs),watlats(nwatlats) |
_RL watlevs(nwatlevs),watlats(nwatlats) |
121 |
_RL ozlevs(nozlevs),ozlats(nozlats) |
_RL ozlevs(nozlevs),ozlats(nozlats) |
122 |
integer im,jm,lm |
integer im,jm,lm |
123 |
real qz(im,jm,lm),plz(im,jm,lm) |
_RL qz(im,jm,lm),plz(im,jm,lm) |
124 |
real xlat(im,jm) |
_RL xlat(im,jm) |
125 |
_RL ozrad(im,jm,lm,nSx,nSy) |
_RL ozrad(im,jm,lm,nSx,nSy) |
126 |
_RL qzrad(im,jm,lm,nSx,nSy) |
_RL qzrad(im,jm,lm,nSx,nSy) |
127 |
|
|
154 |
C |
C |
155 |
C*********************************************************************** |
C*********************************************************************** |
156 |
|
|
|
#include "CPP_OPTIONS.h" |
|
157 |
implicit none |
implicit none |
158 |
integer nwatlevs,nwatlats |
integer nwatlevs,nwatlats |
159 |
real stratq ( nwatlats,nwatlevs ) |
_RL stratq ( nwatlats,nwatlevs ) |
160 |
_RL watlats (nwatlats) |
_RL watlats (nwatlats) |
161 |
_RL watlevs (nwatlevs) |
_RL watlevs (nwatlevs) |
162 |
|
|
163 |
integer irun,nlevs |
integer irun,nlevs |
164 |
real xlat (irun) |
_RL xlat (irun) |
165 |
real pres (irun,nlevs) |
_RL pres (irun,nlevs) |
166 |
real qz_in (irun,nlevs) |
_RL qz_in (irun,nlevs) |
167 |
_RL qz_out(irun,nlevs) |
_RL qz_out(irun,nlevs) |
168 |
|
|
169 |
c Local Variables |
c Local Variables |
174 |
parameter ( dpq = pql-pqu ) |
parameter ( dpq = pql-pqu ) |
175 |
|
|
176 |
integer i,k,L1,L2,LM,LP |
integer i,k,L1,L2,LM,LP |
177 |
real h2o_time_lat (irun,nwatlevs) |
_RL h2o_time_lat (irun,nwatlevs) |
178 |
real qz_clim(irun,nlevs) |
_RL qz_clim(irun,nlevs) |
179 |
|
|
180 |
real qpr1(irun), qpr2(irun), slope(irun) |
_RL qpr1(irun), qpr2(irun), slope(irun) |
181 |
real pr1(irun), pr2(irun) |
_RL pr1(irun), pr2(irun) |
182 |
|
|
183 |
integer jlat,jlatm,jlatp |
integer jlat,jlatm,jlatp |
184 |
|
|
290 |
C ozrad ...... Ozone on Physics Grid (kg/kg mass mixing radtio) |
C ozrad ...... Ozone on Physics Grid (kg/kg mass mixing radtio) |
291 |
C |
C |
292 |
C*********************************************************************** |
C*********************************************************************** |
|
#include "CPP_OPTIONS.h" |
|
293 |
implicit none |
implicit none |
294 |
integer nozlevs,nozlats,irun,nlevs |
integer nozlevs,nozlats,irun,nlevs |
295 |
real ozone(nozlats,nozlevs) |
_RL ozone(nozlats,nozlevs) |
296 |
real xlat(irun) |
_RL xlat(irun) |
297 |
real plevs(irun,nlevs) |
_RL plevs(irun,nlevs) |
298 |
_RL ozrad(irun,nlevs) |
_RL ozrad(irun,nlevs) |
299 |
_RL ozlevs(nozlevs),ozlats(nozlats) |
_RL ozlevs(nozlevs),ozlats(nozlats) |
300 |
|
|
301 |
c Local Variables |
c Local Variables |
302 |
c --------------- |
c --------------- |
303 |
real zero,one,o3min,voltomas |
_RL zero,one,o3min,voltomas |
304 |
PARAMETER ( ZERO = 0.0 ) |
PARAMETER ( ZERO = 0.0 ) |
305 |
PARAMETER ( ONE = 1.0 ) |
PARAMETER ( ONE = 1.0 ) |
306 |
PARAMETER ( O3MIN = 1.0E-10 ) |
PARAMETER ( O3MIN = 1.0E-10 ) |
308 |
|
|
309 |
integer i,k,L1,L2,LM,LP |
integer i,k,L1,L2,LM,LP |
310 |
integer jlat,jlatm,jlatp |
integer jlat,jlatm,jlatp |
311 |
real O3INT1(IRUN,nozlevs) |
_RL O3INT1(IRUN,nozlevs) |
312 |
real QPR1(IRUN), QPR2(IRUN), SLOPE(IRUN) |
_RL QPR1(IRUN), QPR2(IRUN), SLOPE(IRUN) |
313 |
real PR1(IRUN), PR2(IRUN) |
_RL PR1(IRUN), PR2(IRUN) |
314 |
|
|
315 |
C ********************************************************************** |
C ********************************************************************** |
316 |
C **** INTERPOLATE ozone data to model latitudes *** |
C **** INTERPOLATE ozone data to model latitudes *** |