<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 (&quot;kain_fritsch&quot;)
 
        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 (&quot;kain_fritsch&quot;)
 
        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 (&quot;kain_fritsch&quot;)
        write(0,*)
        write(0,*) '--- begin kain-fritsch initialization:'
 
@@ -209,7 +209,7 @@
 
  convection_select: select case(conv_deep_scheme)
 
-    case (conv_deep_kf)
+    case (&quot;kain_fritsch&quot;)
 
        !initialization:
        curr_secs = -1
@@ -327,7 +327,7 @@
  
  convection_select: select case(conv_deep_scheme)
 
-    case (conv_deep_kf)
+    case (&quot;kain_fritsch&quot;)
  
        do j = jts,jte
        do i = its,ite
@@ -378,7 +378,7 @@
  
  convection_select: select case(conv_deep_scheme)
 
-    case (conv_deep_kf)
+    case (&quot;kain_fritsch&quot;)
  
        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 (&quot;thompson&quot;)
 
        !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 (&quot;thompson&quot;)
 
        !mass mixing ratios:
        if(allocated(qi_p)         ) deallocate(qi_p         )
@@ -106,7 +106,7 @@
 
  microp_select: select case(microp_scheme)
 
-    case (microp_thompson)
+    case (&quot;thompson&quot;)
        call thompson_init
 
     case default
@@ -188,7 +188,7 @@
 
     microp_select: select case(microp_scheme)
 
-       case (microp_kessler)
+       case (&quot;kessler&quot;)
 
 !         call kessler( &amp;
 !                 th_p    , qv_p , qc_p , qr_p , rho_p ,     pi_p ,  &amp;
@@ -198,9 +198,9 @@
 !                 ids,ide,jds,jde,kds,kde, &amp; ! domain dimensions
 !                 ims,ime,jms,jme,kms,kme, &amp; ! 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 (&quot;thompson&quot;)
 
           call mp_gt_driver( &amp;
                   qv_p,qc_p,qr_p,qi_p,qs_p,qg_p,qni_p,                    &amp;
@@ -211,7 +211,7 @@
                   ids,ide,jds,jde,kds,kde, &amp; ! domain dimensions
                   ims,ime,jms,jme,kms,kme, &amp; ! 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 (&quot;thompson&quot;)
  
        do j = jts, jte
        do i = its, ite
@@ -330,7 +330,7 @@
 
  microp_select_init: select case(microp_scheme)
 
-    case (microp_thompson)
+    case (&quot;thompson&quot;)
 
        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 (&quot;thompson&quot;)
 
        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 (&quot;thompson&quot;)
 
        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 (&quot;thompson&quot;)
 
        do j = jts, jtf
        do k = kts, ktf
@@ -332,7 +332,7 @@
 
  microp_select_init: select case(microp_scheme)
 
-    case (microp_thompson)
+    case (&quot;thompson&quot;)
 
        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') &amp;
+    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>