<p><b>duda</b> 2011-07-22 16:26:03 -0600 (Fri, 22 Jul 2011)</p><p>BRANCH COMMIT<br>
<br>
Add stub test case (8) to be developed into a case for generating<br>
sfc_update files.<br>
<br>
<br>
M src/core_init_nhyd_atmos/module_test_cases.F<br>
M src/core_init_nhyd_atmos/Registry<br>
</p><hr noshade><pre><font color="gray">Modified: branches/atmos_physics/src/core_init_nhyd_atmos/Registry
===================================================================
--- branches/atmos_physics/src/core_init_nhyd_atmos/Registry        2011-07-22 21:57:54 UTC (rev 928)
+++ branches/atmos_physics/src/core_init_nhyd_atmos/Registry        2011-07-22 22:26:03 UTC (rev 929)
@@ -159,7 +159,7 @@
var persistent real tslb ( nSoilLevels nCells Time ) 1 o tslb fg - -
var persistent real tmn ( nCells Time ) 1 o tmn fg - -
var persistent real skintemp ( nCells Time ) 1 o skintemp fg - -
-var persistent real sst ( nCells Time ) 1 o sst fg - -
+var persistent real sst ( nCells Time ) 1 so sst fg - -
var persistent real snow ( nCells Time ) 1 o snow fg - -
var persistent real snowc ( nCells Time ) 1 o snowc fg - -
var persistent real xice ( nCells Time ) 1 o xice fg - -
Modified: branches/atmos_physics/src/core_init_nhyd_atmos/module_test_cases.F
===================================================================
--- branches/atmos_physics/src/core_init_nhyd_atmos/module_test_cases.F        2011-07-22 21:57:54 UTC (rev 928)
+++ branches/atmos_physics/src/core_init_nhyd_atmos/module_test_cases.F        2011-07-22 22:26:03 UTC (rev 929)
@@ -100,6 +100,20 @@
block_ptr => block_ptr % next
end do
+ else if (config_test_case == 8 ) then
+
+ write(0,*) ' real-data surface (SST) update test case '
+ block_ptr => domain % blocklist
+ do while (associated(block_ptr))
+ call nhyd_test_case_sst(domain, domain % dminfo, block_ptr % mesh, block_ptr % fg, block_ptr % state % time_levs(1) % state, &
+ block_ptr % diag, config_test_case, block_ptr % parinfo)
+ do i=2,nTimeLevs
+ call copy_state(block_ptr % state % time_levs(i) % state, block_ptr % state % time_levs(1) % state)
+ end do
+
+ block_ptr => block_ptr % next
+ end do
+
else
@@ -3925,7 +3939,45 @@
end subroutine nhyd_test_case_gfs
+ subroutine nhyd_test_case_sst(domain, dminfo, grid, fg, state, diag, test_case, parinfo)
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ ! Real-data test case using SST data
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ use read_met
+ use llxy
+ use hinterp
+ use dmpar
+ use io_output
+
+ implicit none
+
+ type (domain_type), intent(inout) :: domain
+ type (dm_info), intent(in) :: dminfo
+ type (mesh_type), intent(inout) :: grid
+ type (fg_type), intent(inout) :: fg
+ type (state_type), intent(inout) :: state
+ type (diag_type), intent(inout) :: diag
+ integer, intent(in) :: test_case
+ type (parallel_info), pointer :: parinfo
+
+ type (io_output_object) :: sfc_update_obj
+
+ sfc_update_obj % time = 1
+ sfc_update_obj % filename = 'sfc_update.nc'
+
+ call output_state_init(sfc_update_obj, domain, "SFC")
+
+ do while (sfc_update_obj % time <= 5)
+ fg % sst % array(:) = real(sfc_update_obj % time * 100)
+ call output_state_for_domain(sfc_update_obj, domain, sfc_update_obj % time)
+ sfc_update_obj % time = sfc_update_obj % time + 1
+ end do
+
+ call output_state_finalize(sfc_update_obj, dminfo)
+
+ end subroutine nhyd_test_case_sst
+
#if 0
real function four_pt(nx, ny, array, xx, yy)
</font>
</pre>