<p><b>laura@ucar.edu</b> 2012-04-30 11:15:40 -0600 (Mon, 30 Apr 2012)</p><p>The arrays absnxt,abstot,and emstot used in the CAM radiation codes are not part of the restarts anymore because of their very large size. Users will need to be careful to save restarts at intervals for which the CAM radiation codes would update those arrays anyway. Changes to the longwave and shortwave radiation drivers were made accordingly.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/atmos_physics/src/core_atmos_physics/mpas_atmphys_driver.F
===================================================================
--- branches/atmos_physics/src/core_atmos_physics/mpas_atmphys_driver.F        2012-04-30 17:13:56 UTC (rev 1839)
+++ branches/atmos_physics/src/core_atmos_physics/mpas_atmphys_driver.F        2012-04-30 17:15:40 UTC (rev 1840)
@@ -84,8 +84,8 @@
call driver_radiation_lw(xtime_s,block%mesh,block%state%time_levs(1)%state, &
block%diag_physics,block%sfc_input,block%tend_physics)
endif
- if(l_camlw .and. config_radt_lw_scheme .eq. 'cam_lw') &
- call radiation_camlw_to_MPAS(block%diag_physics)
+! if(l_camlw .and. config_radt_lw_scheme .eq. 'cam_lw') &
+! call radiation_camlw_to_MPAS(block%diag_physics)
!call to accumulate long- and short-wave diagnostics if needed:
if(config_bucket_update /= 'none' .and. config_bucket_radt .gt. 0._RKIND) &
Modified: branches/atmos_physics/src/core_atmos_physics/mpas_atmphys_driver_radiation_lw.F
===================================================================
--- branches/atmos_physics/src/core_atmos_physics/mpas_atmphys_driver_radiation_lw.F        2012-04-30 17:13:56 UTC (rev 1839)
+++ branches/atmos_physics/src/core_atmos_physics/mpas_atmphys_driver_radiation_lw.F        2012-04-30 17:15:40 UTC (rev 1840)
@@ -220,30 +220,30 @@
do j = jts,jte
do k = kts,kte
do i = its,ite
- f_ice(i,k,j) = 0.
- f_rain(i,k,j) = 0.
+ f_ice(i,k,j) = 0.0_RKIND
+ f_rain(i,k,j) = 0.0_RKIND
enddo
enddo
enddo
do j = jts,jte
do i = its,ite
- glw_p(i,j) = 0.
- lwcf_p(i,j) = 0.
- lwdnb_p(i,j) = 0.
- lwdnbc_p(i,j) = 0.
- lwdnt_p(i,j) = 0.
- lwdntc_p(i,j) = 0.
- lwupb_p(i,j) = 0.
- lwupbc_p(i,j) = 0.
- lwupt_p(i,j) = 0.
- lwuptc_p(i,j) = 0.
- olrtoa_p(i,j) = 0.
+ glw_p(i,j) = 0.0_RKIND
+ lwcf_p(i,j) = 0.0_RKIND
+ lwdnb_p(i,j) = 0.0_RKIND
+ lwdnbc_p(i,j) = 0.0_RKIND
+ lwdnt_p(i,j) = 0.0_RKIND
+ lwdntc_p(i,j) = 0.0_RKIND
+ lwupb_p(i,j) = 0.0_RKIND
+ lwupbc_p(i,j) = 0.0_RKIND
+ lwupt_p(i,j) = 0.0_RKIND
+ lwuptc_p(i,j) = 0.0_RKIND
+ olrtoa_p(i,j) = 0.0_RKIND
enddo
do k = kts,kte
do i = its,ite
- rthratenlw_p(i,k,j) = 0.
+ rthratenlw_p(i,k,j) = 0.0_RKIND
enddo
enddo
enddo
@@ -254,10 +254,10 @@
do j = jts,jte
do k = kts,kte+2
do i = its,ite
- lwdnflx_p(i,k,j) = 0.
- lwdnflxc_p(i,k,j) = 0.
- lwupflx_p(i,k,j) = 0.
- lwupflxc_p(i,k,j) = 0.
+ lwdnflx_p(i,k,j) = 0.0_RKIND
+ lwdnflxc_p(i,k,j) = 0.0_RKIND
+ lwupflx_p(i,k,j) = 0.0_RKIND
+ lwupflxc_p(i,k,j) = 0.0_RKIND
enddo
enddo
enddo
@@ -269,24 +269,24 @@
xlon_p(i,j) = (mesh % lonCell % array(i)) / degrad
sfc_albedo_p(i,j) = diag_physics % sfc_albedo % array(i)
- coszr_p(i,j) = 0.
- gsw_p(i,j) = 0.
- swcf_p(i,j) = 0.
- swdnb_p(i,j) = 0.
- swdnbc_p(i,j) = 0.
- swdnt_p(i,j) = 0.
- swdntc_p(i,j) = 0.
- swupb_p(i,j) = 0.
- swupbc_p(i,j) = 0.
- swupt_p(i,j) = 0.
- swuptc_p(i,j) = 0.
+ coszr_p(i,j) = 0.0_RKIND
+ gsw_p(i,j) = 0.0_RKIND
+ swcf_p(i,j) = 0.0_RKIND
+ swdnb_p(i,j) = 0.0_RKIND
+ swdnbc_p(i,j) = 0.0_RKIND
+ swdnt_p(i,j) = 0.0_RKIND
+ swdntc_p(i,j) = 0.0_RKIND
+ swupb_p(i,j) = 0.0_RKIND
+ swupbc_p(i,j) = 0.0_RKIND
+ swupt_p(i,j) = 0.0_RKIND
+ swuptc_p(i,j) = 0.0_RKIND
enddo
do k = kts,kte
do i = its,ite
- rthratensw_p(i,k,j) = 0.
- cemiss_p(i,k,j) = 0.
- taucldc_p(i,k,j) = 0.
- taucldi_p(i,k,j) = 0.
+ rthratensw_p(i,k,j) = 0.0_RKIND
+ cemiss_p(i,k,j) = 0.0_RKIND
+ taucldc_p(i,k,j) = 0.0_RKIND
+ taucldi_p(i,k,j) = 0.0_RKIND
enddo
enddo
enddo
@@ -297,24 +297,45 @@
!these three arrays will be filled with the restart values.
call mpas_timer_start("CAM lw: fill arrays for infrared absorption")
if(xtime_s .lt. 1.e-12) then
+! do j = jts,jte
+! do n = 1,cam_abs_dim1
+! do k = kts,kte
+! do i = its,ite
+! absnxt_p(i,k,n,j) = diag_physics % absnxt % array(k,n,i)
+! enddo
+! enddo
+! enddo
+! do n = 1,cam_abs_dim2
+! do k = kts,kte+1
+! do i = its,ite
+! abstot_p(i,k,n,j) = diag_physics % abstot % array(k,n,i)
+! enddo
+! enddo
+! enddo
+! do k = kts,kte+1
+! do i = its,ite
+! emstot_p(i,k,j) = diag_physics % emstot % array(k,i)
+! enddo
+! enddo
+! enddo
do j = jts,jte
do n = 1,cam_abs_dim1
do k = kts,kte
do i = its,ite
- absnxt_p(i,k,n,j) = diag_physics % absnxt % array(k,n,i)
+ absnxt_p(i,k,n,j) = 0.0_RKIND
enddo
enddo
enddo
do n = 1,cam_abs_dim2
do k = kts,kte+1
do i = its,ite
- abstot_p(i,k,n,j) = diag_physics % abstot % array(k,n,i)
+ abstot_p(i,k,n,j) = 0.0_RKIND
enddo
enddo
enddo
do k = kts,kte+1
do i = its,ite
- emstot_p(i,k,j) = diag_physics % emstot % array(k,i)
+ emstot_p(i,k,j) = 0.0_RKIND
enddo
enddo
enddo
Modified: branches/atmos_physics/src/core_atmos_physics/mpas_atmphys_driver_radiation_sw.F
===================================================================
--- branches/atmos_physics/src/core_atmos_physics/mpas_atmphys_driver_radiation_sw.F        2012-04-30 17:13:56 UTC (rev 1839)
+++ branches/atmos_physics/src/core_atmos_physics/mpas_atmphys_driver_radiation_sw.F        2012-04-30 17:15:40 UTC (rev 1840)
@@ -227,30 +227,30 @@
do j = jts,jte
do k = kts,kte
do i = its,ite
- f_ice(i,k,j) = 0.
- f_rain(i,k,j) = 0.
+ f_ice(i,k,j) = 0.0_RKIND
+ f_rain(i,k,j) = 0.0_RKIND
enddo
enddo
enddo
do j = jts,jte
do i = its,ite
- coszr_p(i,j) = 0.
- gsw_p(i,j) = 0.
- swcf_p(i,j) = 0.
- swdnb_p(i,j) = 0.
- swdnbc_p(i,j) = 0.
- swdnt_p(i,j) = 0.
- swdntc_p(i,j) = 0.
- swupb_p(i,j) = 0.
- swupbc_p(i,j) = 0.
- swupt_p(i,j) = 0.
- swuptc_p(i,j) = 0.
+ coszr_p(i,j) = 0.0_RKIND
+ gsw_p(i,j) = 0.0_RKIND
+ swcf_p(i,j) = 0.0_RKIND
+ swdnb_p(i,j) = 0.0_RKIND
+ swdnbc_p(i,j) = 0.0_RKIND
+ swdnt_p(i,j) = 0.0_RKIND
+ swdntc_p(i,j) = 0.0_RKIND
+ swupb_p(i,j) = 0.0_RKIND
+ swupbc_p(i,j) = 0.0_RKIND
+ swupt_p(i,j) = 0.0_RKIND
+ swuptc_p(i,j) = 0.0_RKIND
enddo
do k = kts,kte
do i = its,ite
- rthratensw_p(i,k,j) = 0.
+ rthratensw_p(i,k,j) = 0.0_RKIND
enddo
enddo
enddo
@@ -261,10 +261,10 @@
do j = jts,jte
do k = kts,kte+2
do i = its,ite
- swdnflx_p(i,k,j) = 0.
- swdnflxc_p(i,k,j) = 0.
- swupflx_p(i,k,j) = 0.
- swupflxc_p(i,k,j) = 0.
+ swdnflx_p(i,k,j) = 0.0_RKIND
+ swdnflxc_p(i,k,j) = 0.0_RKIND
+ swupflx_p(i,k,j) = 0.0_RKIND
+ swupflxc_p(i,k,j) = 0.0_RKIND
enddo
enddo
enddo
@@ -274,24 +274,24 @@
do i = its,ite
sfc_emiss_p(i,j) = diag_physics % sfc_emiss % array(i)
- olrtoa_p(i,j) = 0.
- glw_p(i,j) = 0.
- lwcf_p(i,j) = 0.
- lwdnb_p(i,j) = 0.
- lwdnbc_p(i,j) = 0.
- lwdnt_p(i,j) = 0.
- lwdntc_p(i,j) = 0.
- lwupb_p(i,j) = 0.
- lwupbc_p(i,j) = 0.
- lwupt_p(i,j) = 0.
- lwuptc_p(i,j) = 0.
+ olrtoa_p(i,j) = 0.0_RKIND
+ glw_p(i,j) = 0.0_RKIND
+ lwcf_p(i,j) = 0.0_RKIND
+ lwdnb_p(i,j) = 0.0_RKIND
+ lwdnbc_p(i,j) = 0.0_RKIND
+ lwdnt_p(i,j) = 0.0_RKIND
+ lwdntc_p(i,j) = 0.0_RKIND
+ lwupb_p(i,j) = 0.0_RKIND
+ lwupbc_p(i,j) = 0.0_RKIND
+ lwupt_p(i,j) = 0.0_RKIND
+ lwuptc_p(i,j) = 0.0_RKIND
enddo
do k = kts,kte
do i = its,ite
- rthratenlw_p(i,k,j) = 0.
- cemiss_p(i,k,j) = 0.
- taucldc_p(i,k,j) = 0.
- taucldi_p(i,k,j) = 0.
+ rthratenlw_p(i,k,j) = 0.0_RKIND
+ cemiss_p(i,k,j) = 0.0_RKIND
+ taucldc_p(i,k,j) = 0.0_RKIND
+ taucldi_p(i,k,j) = 0.0_RKIND
enddo
enddo
enddo
@@ -301,20 +301,20 @@
do n = 1,cam_abs_dim1
do k = kts,kte
do i = its,ite
- absnxt_p(i,k,n,j) = 0.
+ absnxt_p(i,k,n,j) = 0.0_RKIND
enddo
enddo
enddo
do n = 1,cam_abs_dim2
do k = kts,kte+1
do i = its,ite
- abstot_p(i,k,n,j) = 0.
+ abstot_p(i,k,n,j) = 0.0_RKIND
enddo
enddo
enddo
do k = kts,kte+1
do i = its,ite
- emstot_p(i,k,j) = 0.
+ emstot_p(i,k,j) = 0.0_RKIND
enddo
enddo
enddo
</font>
</pre>