<p><b>duda</b> 2010-05-20 17:43:36 -0600 (Thu, 20 May 2010)</p><p>BRANCH COMMIT<br>
<br>
Reverse the expected order of the Ae, Be, Ac, and Bc arrays in the<br>
CAM_INIDAT_TO_MPAS and CAM_RESTART_TO_MPAS routines, so that the <br>
vertical index runs from the surface to the model top, as it does<br>
with other arrays.<br>
<br>
M src/driver_cam_interface/module_mpas_cam_interface.F<br>
M src/driver_cam_interface/test_driver.F<br>
</p><hr noshade><pre><font color="gray">Modified: branches/mpas_cam_coupling/src/driver_cam_interface/module_mpas_cam_interface.F
===================================================================
--- branches/mpas_cam_coupling/src/driver_cam_interface/module_mpas_cam_interface.F        2010-05-20 21:33:46 UTC (rev 296)
+++ branches/mpas_cam_coupling/src/driver_cam_interface/module_mpas_cam_interface.F        2010-05-20 23:43:36 UTC (rev 297)
@@ -266,11 +266,11 @@
znwv(1) = (znwc(1)-.252)*pii/2.
do k=1,Plev
- znuc(Plev+1-k) = Ac(k) + Bc(k)
- znwc(Plev+1-k+1) = Ae(k) + Be(k)
+ znuc(Plev+1-k) = Ac(Plev+1-k) + Bc(Plev+1-k)
+ znwc(Plev+1-k+1) = Ae(Plev+2-k) + Be(Plev+2-k)
znu (Plev+1-k ) = (znuc(Plev+1-k )*p0-Ptop)/(p0-Ptop)
znw (Plev+1-k+1) = (znwc(Plev+1-k+1)*p0-Ptop)/(p0-Ptop)
- bn(k+1) = Be(Plev+1-k)
+ bn(k+1) = Be(k+1)
end do
do k=1,Plev
Modified: branches/mpas_cam_coupling/src/driver_cam_interface/test_driver.F
===================================================================
--- branches/mpas_cam_coupling/src/driver_cam_interface/test_driver.F        2010-05-20 21:33:46 UTC (rev 296)
+++ branches/mpas_cam_coupling/src/driver_cam_interface/test_driver.F        2010-05-20 23:43:36 UTC (rev 297)
@@ -13,6 +13,7 @@
real (kind=RKIND) :: Pref, Ptop
real (kind=RKIND), dimension(26) :: Ac, Bc
real (kind=RKIND), dimension(27) :: Ae, Be
+ real (kind=RKIND), dimension(27) :: Ae_reversed, Be_reversed
real (kind=RKIND), dimension(:), pointer :: Psd, Phis
real (kind=RKIND), dimension(:), pointer :: Psd_rst, Phis_rst
real (kind=RKIND), dimension(:,:), pointer :: T, Ux, Uy, dPdt
@@ -31,31 +32,35 @@
! Initialize arrays that will be passed from CAM driver to MPAS
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- data Ae / 0.002194067, 0.004895209, 0.009882418, 0.018052010, &
- 0.029837240, 0.044623340, 0.061605870, 0.078512430, &
- 0.077312710, 0.075901310, 0.074240860, 0.072287440, &
- 0.069989330, 0.067285740, 0.064105090, 0.060363220, &
- 0.055961110, 0.050782250, 0.044689600, 0.037521910, &
- 0.029089490, 0.020847390, 0.013344430, 0.007084990, &
- 0.002521360, 0.000000000, 0.000000000 /
+ data Ae_reversed / 0.002194067, 0.004895209, 0.009882418, 0.018052010, &
+ 0.029837240, 0.044623340, 0.061605870, 0.078512430, &
+ 0.077312710, 0.075901310, 0.074240860, 0.072287440, &
+ 0.069989330, 0.067285740, 0.064105090, 0.060363220, &
+ 0.055961110, 0.050782250, 0.044689600, 0.037521910, &
+ 0.029089490, 0.020847390, 0.013344430, 0.007084990, &
+ 0.002521360, 0.000000000, 0.000000000 /
- data Be / 0.000000000, 0.000000000, 0.000000000, 0.000000000, &
- 0.000000000, 0.000000000, 0.000000000, 0.000000000, &
- 0.015053090, 0.032762280, 0.053596220, 0.078106270, &
- 0.106941100, 0.140863700, 0.180772000, 0.227722000, &
- 0.282956200, 0.347936400, 0.424382200, 0.514316800, &
- 0.620120200, 0.723535500, 0.817676800, 0.896215300, &
- 0.953476103, 0.985112200, 1.000000000 /
+ data Be_reversed / 0.000000000, 0.000000000, 0.000000000, 0.000000000, &
+ 0.000000000, 0.000000000, 0.000000000, 0.000000000, &
+ 0.015053090, 0.032762280, 0.053596220, 0.078106270, &
+ 0.106941100, 0.140863700, 0.180772000, 0.227722000, &
+ 0.282956200, 0.347936400, 0.424382200, 0.514316800, &
+ 0.620120200, 0.723535500, 0.817676800, 0.896215300, &
+ 0.953476103, 0.985112200, 1.000000000 /
phys_dt = 1800.
+ do k=1,27
+ Ae(k) = Ae_reversed(28-k)
+ Be(k) = Be_reversed(28-k)
+ end do
do k=1,26
Ac(k) = 0.5*(Ae(k) + Ae(k+1))
Bc(k) = 0.5*(Be(k) + Be(k+1))
end do
Pref = 100000.
- Ptop = Pref * Ae(1)
+ Ptop = Pref * Ae(27)
write(filename, '(a,i4.4)') 'test_driver_input.', mpi_procID
open(22, file=trim(filename), form='unformatted', status='old')
</font>
</pre>