<p><b>laura@ucar.edu</b> 2010-05-24 15:00:10 -0600 (Mon, 24 May 2010)</p><p>Added allocation (deallocation) of total physics tendencies for potential temperature and water species on physics grid<br>
</p><hr noshade><pre><font color="gray">Modified: branches/atmos_physics/src/core_hyd_phys/module_physics_manager.F
===================================================================
--- branches/atmos_physics/src/core_hyd_phys/module_physics_manager.F        2010-05-24 20:58:49 UTC (rev 308)
+++ branches/atmos_physics/src/core_hyd_phys/module_physics_manager.F        2010-05-24 21:00:10 UTC (rev 309)
@@ -74,8 +74,11 @@
dt_microp = nint(dt_dyn/n_microp)
!ALLOCATION OF ALL PHYSICS ARRAYS:
-!CALL physics_allocate_all
+ CALL physics_allocate_all
+!INITIALIZATION OF VARIABLES AND ALLOCATION OF ARRAYS RELATED TO MICROPHYSICS:
+ CALL physics_allocate_microphysics
+
!INITIALIZATION OF VARIABLES AND ALLOCATION OF ARRAYS RELATED TO CONVECTION:
adapt_step_flag = .false.
warm_rain = .false.
@@ -84,7 +87,7 @@
dt_cu = dt_physics !FOR NOW.
write(6,*) '--- end subroutine PHYSICS_WRF_ALLOCATE:'
-!CALL physics_allocate_convection
+ CALL physics_allocate_convection
END SUBROUTINE physics_wrf_allocate
@@ -112,6 +115,10 @@
IF(.NOT.ALLOCATED(qnr_phy) ) ALLOCATE(qnr_phy(ims:ime,kms:kme,jms:jme) )
IF(.NOT.ALLOCATED(qni_phy) ) ALLOCATE(qni_phy(ims:ime,kms:kme,jms:jme) )
+ IF(.NOT.ALLOCATED(rthten_phy)) ALLOCATE(rthten_phy(ims:ime,kms:kme,jms:jme))
+ IF(.NOT.ALLOCATED(rqten_phy) ) &
+ ALLOCATE(rqten_phy(ims:ime,kms:kme,jms:jme,num_scalars) )
+
END SUBROUTINE physics_allocate_all
!==============================================================================
@@ -136,46 +143,72 @@
END SUBROUTINE physics_allocate_convection
!==============================================================================
+ SUBROUTINE physics_allocate_microphysics
+!==============================================================================
+ IF(.NOT.ALLOCATED(sr_phy) ) ALLOCATE(sr_phy(ims:ime,jms:jme) )
+ IF(.NOT.ALLOCATED(rainnc_phy) ) ALLOCATE(rainnc_phy(ims:ime,jms:jme) )
+ IF(.NOT.ALLOCATED(rainncv_phy) ) ALLOCATE(rainncv_phy(ims:ime,jms:jme) )
+ IF(.NOT.ALLOCATED(snownc_phy) ) ALLOCATE(snownc_phy(ims:ime,jms:jme) )
+ IF(.NOT.ALLOCATED(snowncv_phy) ) ALLOCATE(snowncv_phy(ims:ime,jms:jme) )
+ IF(.NOT.ALLOCATED(graupelnc_phy) ) ALLOCATE(graupelnc_phy(ims:ime,jms:jme) )
+ IF(.NOT.ALLOCATED(graupelncv_phy)) ALLOCATE(graupelncv_phy(ims:ime,jms:jme) )
+
+ END SUBROUTINE physics_allocate_microphysics
+
+!==============================================================================
SUBROUTINE physics_wrf_deallocate
!==============================================================================
!DE-ALLOCATION OF ALL PHYSICS ARRAYS:
- IF(ALLOCATED(u_phy) ) DEALLOCATE(u_phy )
- IF(ALLOCATED(v_phy) ) DEALLOCATE(v_phy )
- IF(ALLOCATED(w_phy) ) DEALLOCATE(w_phy )
- IF(ALLOCATED(p_phy) ) DEALLOCATE(p_phy )
- IF(ALLOCATED(pi_phy) ) DEALLOCATE(pi_phy )
- IF(ALLOCATED(dz_phy) ) DEALLOCATE(dz_phy )
- IF(ALLOCATED(t_phy) ) DEALLOCATE(t_phy )
- IF(ALLOCATED(th_phy) ) DEALLOCATE(th_phy )
- IF(ALLOCATED(al_phy) ) DEALLOCATE(al_phy )
- IF(ALLOCATED(rho_phy) ) DEALLOCATE(rho_phy )
+ IF(ALLOCATED(u_phy) ) DEALLOCATE(u_phy )
+ IF(ALLOCATED(v_phy) ) DEALLOCATE(v_phy )
+ IF(ALLOCATED(w_phy) ) DEALLOCATE(w_phy )
+ IF(ALLOCATED(p_phy) ) DEALLOCATE(p_phy )
+ IF(ALLOCATED(pi_phy) ) DEALLOCATE(pi_phy )
+ IF(ALLOCATED(dz_phy) ) DEALLOCATE(dz_phy )
+ IF(ALLOCATED(t_phy) ) DEALLOCATE(t_phy )
+ IF(ALLOCATED(th_phy) ) DEALLOCATE(th_phy )
+ IF(ALLOCATED(al_phy) ) DEALLOCATE(al_phy )
+ IF(ALLOCATED(rho_phy) ) DEALLOCATE(rho_phy )
- IF(ALLOCATED(qv_phy) ) DEALLOCATE(qv_phy )
- IF(ALLOCATED(qc_phy) ) DEALLOCATE(qc_phy )
- IF(ALLOCATED(qr_phy) ) DEALLOCATE(qr_phy )
- IF(ALLOCATED(qi_phy) ) DEALLOCATE(qi_phy )
- IF(ALLOCATED(qs_phy) ) DEALLOCATE(qs_phy )
- IF(ALLOCATED(qg_phy) ) DEALLOCATE(qg_phy )
+ IF(ALLOCATED(qv_phy) ) DEALLOCATE(qv_phy )
+ IF(ALLOCATED(qc_phy) ) DEALLOCATE(qc_phy )
+ IF(ALLOCATED(qr_phy) ) DEALLOCATE(qr_phy )
+ IF(ALLOCATED(qi_phy) ) DEALLOCATE(qi_phy )
+ IF(ALLOCATED(qs_phy) ) DEALLOCATE(qs_phy )
+ IF(ALLOCATED(qg_phy) ) DEALLOCATE(qg_phy )
- IF(ALLOCATED(qnr_phy) ) DEALLOCATE(qnr_phy )
- IF(ALLOCATED(qni_phy) ) DEALLOCATE(qni_phy )
+ IF(ALLOCATED(qnr_phy) ) DEALLOCATE(qnr_phy )
+ IF(ALLOCATED(qni_phy) ) DEALLOCATE(qni_phy )
- IF(ALLOCATED(cu_act_flag) ) DEALLOCATE(cu_act_flag )
- IF(ALLOCATED(cubot_phy) ) DEALLOCATE(cubot_phy )
- IF(ALLOCATED(cutop_phy) ) DEALLOCATE(cutop_phy )
- IF(ALLOCATED(raincv_phy) ) DEALLOCATE(raincv_phy )
- IF(ALLOCATED(pratec_phy) ) DEALLOCATE(pratec_phy )
- IF(ALLOCATED(nca_phy) ) DEALLOCATE(nca_phy )
- IF(ALLOCATED(w0avg_phy) ) DEALLOCATE(w0avg_phy )
+ IF(ALLOCATED(rthten_phy) ) DEALLOCATE(rthten_phy )
+ IF(ALLOCATED(rqten_phy) ) DEALLOCATE(rqten_phy )
- IF(ALLOCATED(rthcuten_phy)) DEALLOCATE(rthcuten_phy)
- IF(ALLOCATED(rqvcuten_phy)) DEALLOCATE(rqvcuten_phy)
- IF(ALLOCATED(rqccuten_phy)) DEALLOCATE(rqccuten_phy)
- IF(ALLOCATED(rqrcuten_phy)) DEALLOCATE(rqrcuten_phy)
- IF(ALLOCATED(rqicuten_phy)) DEALLOCATE(rqicuten_phy)
- IF(ALLOCATED(rqscuten_phy)) DEALLOCATE(rqscuten_phy)
+!DEALLOCATE ARRAYS RELATED TO MICROPHYSICS:
+ IF(ALLOCATED(sr_phy) ) DEALLOCATE(sr_phy )
+ IF(ALLOCATED(rainnc_phy) ) DEALLOCATE(rainnc_phy )
+ IF(ALLOCATED(rainncv_phy) ) DEALLOCATE(rainncv_phy )
+ IF(ALLOCATED(snownc_phy) ) DEALLOCATE(snownc_phy )
+ IF(ALLOCATED(snowncv_phy) ) DEALLOCATE(snowncv_phy )
+ IF(ALLOCATED(graupelnc_phy) ) DEALLOCATE(graupelnc_phy )
+ IF(ALLOCATED(graupelncv_phy)) DEALLOCATE(graupelncv_phy )
+!DEALLOCATE ARRAYS RELATED TO CONVECTION:
+ IF(ALLOCATED(cu_act_flag) ) DEALLOCATE(cu_act_flag )
+ IF(ALLOCATED(cubot_phy) ) DEALLOCATE(cubot_phy )
+ IF(ALLOCATED(cutop_phy) ) DEALLOCATE(cutop_phy )
+ IF(ALLOCATED(raincv_phy) ) DEALLOCATE(raincv_phy )
+ IF(ALLOCATED(pratec_phy) ) DEALLOCATE(pratec_phy )
+ IF(ALLOCATED(nca_phy) ) DEALLOCATE(nca_phy )
+ IF(ALLOCATED(w0avg_phy) ) DEALLOCATE(w0avg_phy )
+
+ IF(ALLOCATED(rthcuten_phy) ) DEALLOCATE(rthcuten_phy )
+ IF(ALLOCATED(rqvcuten_phy) ) DEALLOCATE(rqvcuten_phy )
+ IF(ALLOCATED(rqccuten_phy) ) DEALLOCATE(rqccuten_phy )
+ IF(ALLOCATED(rqrcuten_phy) ) DEALLOCATE(rqrcuten_phy )
+ IF(ALLOCATED(rqicuten_phy) ) DEALLOCATE(rqicuten_phy )
+ IF(ALLOCATED(rqscuten_phy) ) DEALLOCATE(rqscuten_phy )
+
END SUBROUTINE physics_wrf_deallocate
!==============================================================================
</font>
</pre>