<p><b>laura@ucar.edu</b> 2010-10-19 11:51:22 -0600 (Tue, 19 Oct 2010)</p><p>streamlined case statements when choosing different physics options<br>
</p><hr noshade><pre><font color="gray">Modified: branches/atmos_physics/src/core_physics/module_driver_convection_deep.F
===================================================================
--- branches/atmos_physics/src/core_physics/module_driver_convection_deep.F        2010-10-19 16:02:31 UTC (rev 568)
+++ branches/atmos_physics/src/core_physics/module_driver_convection_deep.F        2010-10-19 17:51:22 UTC (rev 569)
@@ -60,7 +60,7 @@
convection_select: select case(conv_deep_scheme)
- case (conv_deep_kf)
+ case ("kain_fritsch")
if(.not.allocated(pratec_p) ) allocate(pratec_p(ims:ime,jms:jme) )
if(.not.allocated(cu_act_flag) ) allocate(cu_act_flag(ims:ime,jms:jme) )
@@ -113,7 +113,7 @@
convection_select: select case(conv_deep_scheme)
- case (conv_deep_kf)
+ case ("kain_fritsch")
if(allocated(pratec_p) ) deallocate(pratec_p )
if(allocated(cu_act_flag) ) deallocate(cu_act_flag)
@@ -143,7 +143,7 @@
convection_select: select case(conv_deep_scheme)
- case (conv_deep_kf)
+ case ("kain_fritsch")
write(0,*)
write(0,*) '--- begin kain-fritsch initialization:'
@@ -209,7 +209,7 @@
convection_select: select case(conv_deep_scheme)
- case (conv_deep_kf)
+ case ("kain_fritsch")
!initialization:
curr_secs = -1
@@ -327,7 +327,7 @@
convection_select: select case(conv_deep_scheme)
- case (conv_deep_kf)
+ case ("kain_fritsch")
do j = jts,jte
do i = its,ite
@@ -378,7 +378,7 @@
convection_select: select case(conv_deep_scheme)
- case (conv_deep_kf)
+ case ("kain_fritsch")
do j = jts,jte
do i = its,ite
Modified: branches/atmos_physics/src/core_physics/module_driver_microphysics.F
===================================================================
--- branches/atmos_physics/src/core_physics/module_driver_microphysics.F        2010-10-19 16:02:31 UTC (rev 568)
+++ branches/atmos_physics/src/core_physics/module_driver_microphysics.F        2010-10-19 17:51:22 UTC (rev 569)
@@ -37,7 +37,7 @@
microp_select: select case(microp_scheme)
- case (microp_thompson)
+ case ("thompson")
!mass mixing ratios:
if(.not.allocated(qi_p) ) allocate(qi_p(ims:ime,kms:kme,jms:jme) )
@@ -76,7 +76,7 @@
microp_select: select case(microp_scheme)
- case (microp_thompson)
+ case ("thompson")
!mass mixing ratios:
if(allocated(qi_p) ) deallocate(qi_p )
@@ -106,7 +106,7 @@
microp_select: select case(microp_scheme)
- case (microp_thompson)
+ case ("thompson")
call thompson_init
case default
@@ -188,7 +188,7 @@
microp_select: select case(microp_scheme)
- case (microp_kessler)
+ case ("kessler")
! call kessler( &
! th_p , qv_p , qc_p , qr_p , rho_p , pi_p , &
@@ -198,9 +198,9 @@
! ids,ide,jds,jde,kds,kde, & ! domain dimensions
! ims,ime,jms,jme,kms,kme, & ! memory dimensions
! its,ite,jts,jte,kts,kte) ! tile dimensions
- write(0,*) '--- end microp_kessler:',istep
+ write(0,*) '--- end kessler:',istep
- case (microp_thompson)
+ case ("thompson")
call mp_gt_driver( &
qv_p,qc_p,qr_p,qi_p,qs_p,qg_p,qni_p, &
@@ -211,7 +211,7 @@
ids,ide,jds,jde,kds,kde, & ! domain dimensions
ims,ime,jms,jme,kms,kme, & ! memory dimensions
its,ite,jts,jte,kts,kte) ! tile dimensions
- write(0,*) '--- end microp_thompson:',istep
+ write(0,*) '--- end thompson:',istep
case default
@@ -276,7 +276,7 @@
microp_select_init: select case(microp_scheme)
- case (microp_thompson)
+ case ("thompson")
do j = jts, jte
do i = its, ite
@@ -330,7 +330,7 @@
microp_select_init: select case(microp_scheme)
- case (microp_thompson)
+ case ("thompson")
do j = jts,jte
do i = its,ite
Modified: branches/atmos_physics/src/core_physics/module_physics_interface_hyd.F
===================================================================
--- branches/atmos_physics/src/core_physics/module_physics_interface_hyd.F        2010-10-19 16:02:31 UTC (rev 568)
+++ branches/atmos_physics/src/core_physics/module_physics_interface_hyd.F        2010-10-19 17:51:22 UTC (rev 569)
@@ -113,7 +113,7 @@
!additional initialization as function of cloud microphysics scheme:
microp_select_init: select case(microp_scheme)
- case (microp_thompson)
+ case ("thompson")
do j = jts, jte
do k = kts, kte
@@ -179,7 +179,7 @@
!copy all arrays back to the MPAS grid as functions of cloud microphysics scheme:
microp_select_init: select case(microp_scheme)
- case (microp_thompson)
+ case ("thompson")
do j = jts, jte
do k = kts, kte
Modified: branches/atmos_physics/src/core_physics/module_physics_interface_nhyd.F
===================================================================
--- branches/atmos_physics/src/core_physics/module_physics_interface_nhyd.F        2010-10-19 16:02:31 UTC (rev 568)
+++ branches/atmos_physics/src/core_physics/module_physics_interface_nhyd.F        2010-10-19 17:51:22 UTC (rev 569)
@@ -220,7 +220,7 @@
!additional initialization as function of cloud microphysics scheme:
microp_select_init: select case(microp_scheme)
- case (microp_thompson)
+ case ("thompson")
do j = jts, jtf
do k = kts, ktf
@@ -332,7 +332,7 @@
microp_select_init: select case(microp_scheme)
- case (microp_thompson)
+ case ("thompson")
do j = jts, jtf
do k = kts, ktf
Modified: branches/atmos_physics/src/core_physics/module_physics_manager.F
===================================================================
--- branches/atmos_physics/src/core_physics/module_physics_manager.F        2010-10-19 16:02:31 UTC (rev 568)
+++ branches/atmos_physics/src/core_physics/module_physics_manager.F        2010-10-19 17:51:22 UTC (rev 569)
@@ -102,26 +102,21 @@
!initialization of variables and allocation of arrays related to microphysics:
if(config_microp_scheme .ne. 'off') then
-
- if(config_microp_scheme .eq. 'kessler' ) microp_scheme = microp_kessler
- if(config_microp_scheme .eq. 'thompson') microp_scheme = microp_thompson
-
- call microphysics_allocate
-
+ microp_scheme = trim(config_microp_scheme)
+ call microphysics_allocate
endif
!initialization of variables and allocation of arrays related to deep convection:
if(config_conv_deep_scheme .ne. 'off') then
- if(config_conv_deep_scheme .eq. 'kain_fritsch') conv_deep_scheme = conv_deep_kf
+ conv_deep_scheme = trim(config_conv_deep_scheme)
call convection_deep_allocate
endif
!initialization of variables and allocation of arrays related to shallow convection:
- if(config_conv_shallow_scheme .ne. 'off') then
- if(config_conv_shallow_scheme .eq. 'uw') conv_deep_scheme = conv_shallow_uw
- endif
+ if(config_conv_shallow_scheme .ne. 'off') &
+ conv_shallow_scheme = trim(config_conv_shallow_scheme)
!initialization of variables and allocation of arrays related to pbl processes:
if(config_pbl_scheme .ne. 'off') pbl_scheme = trim(config_pbl_scheme)
Modified: branches/atmos_physics/src/core_physics/module_physics_vars.F
===================================================================
--- branches/atmos_physics/src/core_physics/module_physics_vars.F        2010-10-19 16:02:31 UTC (rev 568)
+++ branches/atmos_physics/src/core_physics/module_physics_vars.F        2010-10-19 17:51:22 UTC (rev 569)
@@ -9,24 +9,14 @@
!list of physics parameterizations:
!=============================================================================================
- integer,public:: microp_scheme
- integer,public:: conv_deep_scheme
- integer,public:: conv_shallow_scheme
+ character(len=32),public:: microp_scheme
+ character(len=32),public:: conv_deep_scheme
+ character(len=32),public:: conv_shallow_scheme
character(len=32),public:: pbl_scheme
character(len=32),public:: radiation_lw_scheme
character(len=32),public:: radiation_sw_scheme
character(len=32),public:: sfclayer_scheme
-!--- parameterizations of cloud microphysics:
- integer,parameter,public:: microp_kessler = 0
- integer,parameter,public:: microp_thompson = 1
-
-!--- parameterizations of deep convection:
- integer,parameter,public:: conv_deep_kf = 0
-
-!--- parameterizations of shallow convection:
- integer,parameter,public:: conv_shallow_uw = 0
-
!=============================================================================================
!wrf-variables:these variables are needed to keep calls to different physics parameterizations
!as in wrf model.
</font>
</pre>