<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         =&gt; grid % cpr % array
       cpl         =&gt; 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>