<p><b>duda</b> 2011-11-29 10:02:48 -0700 (Tue, 29 Nov 2011)</p><p>BRANCH COMMIT<br>
<br>
Since PIO doesn't support scalar values, change scalars in non-hydrostatic dycore <br>
and initialization to 1d arrays of size 1.<br>
<br>
Also, add required namelist variables config_pio_num_iotasks and config_pio_stride <br>
to Registry in init_nhyd_atmos core.<br>
<br>
<br>
M src/core_init_nhyd_atmos/mpas_init_atm_test_cases.F<br>
M src/core_init_nhyd_atmos/Registry<br>
M src/core_nhyd_atmos/mpas_atm_test_cases.F<br>
M src/core_nhyd_atmos/mpas_atm_time_integration.F<br>
M src/core_nhyd_atmos/Registry<br>
</p><hr noshade><pre><font color="gray">Modified: branches/pio/src/core_init_nhyd_atmos/Registry
===================================================================
--- branches/pio/src/core_init_nhyd_atmos/Registry        2011-11-28 23:03:27 UTC (rev 1217)
+++ branches/pio/src/core_init_nhyd_atmos/Registry        2011-11-29 17:02:48 UTC (rev 1218)
@@ -30,6 +30,8 @@
namelist character io config_restart_name restart.nc
namelist character io config_decomp_file_prefix graph.info.part.
namelist integer io config_frames_per_outfile 0
+namelist integer io config_pio_num_iotasks 0
+namelist integer io config_pio_stride 1
namelist integer restart config_restart_interval 0
namelist logical restart config_do_restart false
namelist real restart config_restart_time 172800.0
@@ -55,6 +57,7 @@
dim nFGSoilLevels namelist:config_nfgsoillevels
dim nVertLevelsP1 nVertLevels+1
dim nMonths 12
+dim Scalar 1
#
# var type name_in_file ( dims ) iro- name_in_code super-array array_class
@@ -115,9 +118,9 @@
# some solver scalar coefficients
# coefficients for vertical extrapolation to the surface
-var persistent real cf1 ( ) 0 io cf1 mesh - -
-var persistent real cf2 ( ) 0 io cf2 mesh - -
-var persistent real cf3 ( ) 0 io cf3 mesh - -
+var persistent real cf1 ( Scalar ) 0 io cf1 mesh - -
+var persistent real cf2 ( Scalar ) 0 io cf2 mesh - -
+var persistent real cf3 ( Scalar ) 0 io cf3 mesh - -
# static terrestrial fields
var persistent real ter ( nCells ) 0 io ter mesh - -
Modified: branches/pio/src/core_init_nhyd_atmos/mpas_init_atm_test_cases.F
===================================================================
--- branches/pio/src/core_init_nhyd_atmos/mpas_init_atm_test_cases.F        2011-11-28 23:03:27 UTC (rev 1217)
+++ branches/pio/src/core_init_nhyd_atmos/mpas_init_atm_test_cases.F        2011-11-29 17:02:48 UTC (rev 1218)
@@ -356,9 +356,9 @@
write(0,*) ' cf1, cf2, cf3 = ',cf1,cf2,cf3
- grid % cf1 % scalar = cf1
- grid % cf2 % scalar = cf2
- grid % cf3 % scalar = cf3
+ grid % cf1 % array(1) = cf1
+ grid % cf2 % array(1) = cf2
+ grid % cf3 % array(1) = cf3
do iCell=1,grid % nCells
do k=1,nz        
@@ -1057,9 +1057,9 @@
! cf2 = d1*d3*(d1-d3)/(d2*d3*(d3-d2)+d1*d3*(d1-d3)+d1*d2*(d2-d1))
! cf3 = d1*d2*(d2-d1)/(d2*d3*(d3-d2)+d1*d3*(d1-d3)+d1*d2*(d2-d1))
- grid % cf1 % scalar = cf1
- grid % cf2 % scalar = cf2
- grid % cf3 % scalar = cf3
+ grid % cf1 % array(1) = cf1
+ grid % cf2 % array(1) = cf2
+ grid % cf3 % array(1) = cf3
do iCell=1,grid % nCells
do k=1,nz        
@@ -1599,9 +1599,9 @@
cf2 = fzm(2) - cof1 - cof2
cf3 = cof2
- grid % cf1 % scalar = cf1
- grid % cf2 % scalar = cf2
- grid % cf3 % scalar = cf3
+ grid % cf1 % array(1) = cf1
+ grid % cf2 % array(1) = cf2
+ grid % cf3 % array(1) = cf3
! setting for terrain
do iCell=1,grid % nCells
@@ -2997,9 +2997,9 @@
write(0,*) ' cf1, cf2, cf3 = ',cf1,cf2,cf3
- grid % cf1 % scalar = cf1
- grid % cf2 % scalar = cf2
- grid % cf3 % scalar = cf3
+ grid % cf1 % array(1) = cf1
+ grid % cf2 % array(1) = cf2
+ grid % cf3 % array(1) = cf3
! Smoothing algorithm for coordinate surfaces
Modified: branches/pio/src/core_nhyd_atmos/Registry
===================================================================
--- branches/pio/src/core_nhyd_atmos/Registry        2011-11-28 23:03:27 UTC (rev 1217)
+++ branches/pio/src/core_nhyd_atmos/Registry        2011-11-29 17:02:48 UTC (rev 1218)
@@ -68,6 +68,7 @@
dim R3 3
dim nVertLevels namelist:config_nvertlevels
dim nVertLevelsP1 nVertLevels+1
+dim Scalar 1
#
# var type name_in_file ( dims ) iro- name_in_code super-array array_class
@@ -130,9 +131,9 @@
# some solver scalar coefficients
# coefficients for vertical extrapolation to the surface
-var persistent real cf1 ( ) 0 iro cf1 mesh - -
-var persistent real cf2 ( ) 0 iro cf2 mesh - -
-var persistent real cf3 ( ) 0 iro cf3 mesh - -
+var persistent real cf1 ( Scalar ) 0 iro cf1 mesh - -
+var persistent real cf2 ( Scalar ) 0 iro cf2 mesh - -
+var persistent real cf3 ( Scalar ) 0 iro cf3 mesh - -
var persistent real cpr ( THREE nEdges ) 0 ro cpr mesh - -
var persistent real cpl ( THREE nEdges ) 0 ro cpl mesh - -
Modified: branches/pio/src/core_nhyd_atmos/mpas_atm_test_cases.F
===================================================================
--- branches/pio/src/core_nhyd_atmos/mpas_atm_test_cases.F        2011-11-28 23:03:27 UTC (rev 1217)
+++ branches/pio/src/core_nhyd_atmos/mpas_atm_test_cases.F        2011-11-29 17:02:48 UTC (rev 1218)
@@ -357,9 +357,9 @@
write(0,*) ' cf1, cf2, cf3 = ',cf1,cf2,cf3
- grid % cf1 % scalar = cf1
- grid % cf2 % scalar = cf2
- grid % cf3 % scalar = cf3
+ grid % cf1 % array(1) = cf1
+ grid % cf2 % array(1) = cf2
+ grid % cf3 % array(1) = cf3
do iCell=1,grid % nCells
do k=1,nz        
@@ -1176,9 +1176,9 @@
! cf2 = d1*d3*(d1-d3)/(d2*d3*(d3-d2)+d1*d3*(d1-d3)+d1*d2*(d2-d1))
! cf3 = d1*d2*(d2-d1)/(d2*d3*(d3-d2)+d1*d3*(d1-d3)+d1*d2*(d2-d1))
- grid % cf1 % scalar = cf1
- grid % cf2 % scalar = cf2
- grid % cf3 % scalar = cf3
+ grid % cf1 % array(1) = cf1
+ grid % cf2 % array(1) = cf2
+ grid % cf3 % array(1) = cf3
do iCell=1,grid % nCells
do k=1,nz        
@@ -1719,9 +1719,9 @@
cf2 = fzm(2) - cof1 - cof2
cf3 = cof2
- grid % cf1 % scalar = cf1
- grid % cf2 % scalar = cf2
- grid % cf3 % scalar = cf3
+ grid % cf1 % array(1) = cf1
+ grid % cf2 % array(1) = cf2
+ grid % cf3 % array(1) = cf3
! setting for terrain
do iCell=1,grid % nCells
Modified: branches/pio/src/core_nhyd_atmos/mpas_atm_time_integration.F
===================================================================
--- branches/pio/src/core_nhyd_atmos/mpas_atm_time_integration.F        2011-11-28 23:03:27 UTC (rev 1217)
+++ branches/pio/src/core_nhyd_atmos/mpas_atm_time_integration.F        2011-11-29 17:02:48 UTC (rev 1218)
@@ -823,9 +823,9 @@
nCellsSolve = grid % nCellsSolve
nVertLevels = grid % nVertLevels
- cf1 = grid % cf1 % scalar
- cf2 = grid % cf2 % scalar
- cf3 = grid % cf3 % scalar
+ cf1 = grid % cf1 % array(1)
+ cf2 = grid % cf2 % array(1)
+ cf3 = grid % cf3 % array(1)
cpr => grid % cpr % array
cpl => grid % cpl % array
@@ -1074,9 +1074,9 @@
rcv = rgas/(cp-rgas)
p0 = 1.e+05 ! this should come from somewhere else...
- cf1 = grid % cf1 % scalar
- cf2 = grid % cf2 % scalar
- cf3 = grid % cf3 % scalar
+ cf1 = grid % cf1 % array(1)
+ cf2 = grid % cf2 % array(1)
+ cf3 = grid % cf3 % array(1)
coef_3rd_order = config_coef_3rd_order
if(config_theta_adv_order /=3) coef_3rd_order = 0
@@ -2016,9 +2016,9 @@
tend_u(:,:) = 0.0
- cf1 = grid % cf1 % scalar
- cf2 = grid % cf2 % scalar
- cf3 = grid % cf3 % scalar
+ cf1 = grid % cf1 % array(1)
+ cf2 = grid % cf2 % array(1)
+ cf3 = grid % cf3 % array(1)
! tendency for density
! divergence_ru may calculated in the diagnostic subroutine - it is temporary
</font>
</pre>