[Dart-dev] DART/branches Revision: 11184

dart at ucar.edu dart at ucar.edu
Thu Mar 2 13:26:41 MST 2017


mizzi at ucar.edu
2017-03-02 13:26:40 -0700 (Thu, 02 Mar 2017)
96
Fix bugs in model_mod, airnow, iasi_ascii_to_obs, and more cleanoing of the real_time drivers.




Modified: DART/branches/mizzi/models/wrf_chem/model_mod.f90
===================================================================
--- DART/branches/mizzi/models/wrf_chem/model_mod.f90	2017-03-02 16:30:41 UTC (rev 11183)
+++ DART/branches/mizzi/models/wrf_chem/model_mod.f90	2017-03-02 20:26:40 UTC (rev 11184)
@@ -520,7 +520,7 @@
    if(debug) write(*,*) ' ncid is ',ncid
 !
 ! LXL/APM +++
-!   if ( add_emiss ) then
+   if ( add_emiss ) then
 !
 ! WRFCHEMI emissions
 
@@ -542,7 +542,7 @@
               'Please put "'//trim(fire_filename)//'" in the work directory.', source, revision,revdate)
       endif
       if(debug) write(*,*) ' ncid_emiss_firechemi is ',ncid_emiss_firechemi
-!   endif
+   endif
 ! LXL/APM ---
 !
 !-------------------------------------------------------
@@ -558,7 +558,7 @@
 !-------------------------------------------------------
 ! read EMISS dimensions
 !-------------------------------------------------------
-!   if ( add_emiss ) then
+   if ( add_emiss ) then
       call read_emiss_dimensions(ncid_emiss_chemi, chem_filename, &
                                  wrf%dom(id)%e_bt_chemi, &
                                  wrf%dom(id)%e_sn, &
@@ -568,7 +568,7 @@
                                  wrf%dom(id)%e_bt_firechemi, &
                                  wrf%dom(id)%e_sn, &
                                  wrf%dom(id)%e_we)
-!   endif
+   endif
 ! LXL/APM ---
 !-------------------------------------------------------
 ! read WRF file attributes
@@ -600,21 +600,25 @@
 !
 ! LXL/APM +++
 ! get the number of conc/emiss variables wanted in this domain's state
-   wrf%dom(id)%number_of_conc_variables = get_number_of_wrf_variables(id,conc_state_variables,var_element_list, var_update_list)
+   if ( add_emiss ) then
+      wrf%dom(id)%number_of_conc_variables = get_number_of_wrf_variables(id,conc_state_variables,var_element_list, var_update_list)
 !
-   wrf%dom(id)%number_of_emiss_chemi_variables = get_number_of_wrf_variables(id,emiss_chemi_variables,var_element_list, var_update_list)
+      wrf%dom(id)%number_of_emiss_chemi_variables = get_number_of_wrf_variables(id,emiss_chemi_variables,var_element_list, var_update_list)
 !
-   wrf%dom(id)%number_of_emiss_firechemi_variables = get_number_of_wrf_variables(id,emiss_firechemi_variables,var_element_list, var_update_list)
+      wrf%dom(id)%number_of_emiss_firechemi_variables = get_number_of_wrf_variables(id,emiss_firechemi_variables,var_element_list, var_update_list)
+   endif
 ! LXL/APM ---
 !
 ! get the number of wrf variables wanted in this domain's state (must follow mods because var_element_list is needed and overwritten with each call)
    wrf%dom(id)%number_of_wrf_variables = get_number_of_wrf_variables(id,wrf_state_variables,var_element_list, var_update_list)
 !
 ! LXL/APM +++
-   if(debug) write(*,*) ' number of wrf variables is',wrf%dom(id)%number_of_wrf_variables
-   if(debug) write(*,*) ' number of conc variables is',wrf%dom(id)%number_of_conc_variables
-   if(debug) write(*,*) ' number of emiss chemi variables is',wrf%dom(id)%number_of_emiss_chemi_variables
-   if(debug) write(*,*) ' number of emiss firechemi variables is',wrf%dom(id)%number_of_emiss_firechemi_variables
+   if ( add_emiss ) then
+      if(debug) write(*,*) ' number of wrf variables is',wrf%dom(id)%number_of_wrf_variables
+      if(debug) write(*,*) ' number of conc variables is',wrf%dom(id)%number_of_conc_variables
+      if(debug) write(*,*) ' number of emiss chemi variables is',wrf%dom(id)%number_of_emiss_chemi_variables
+      if(debug) write(*,*) ' number of emiss firechemi variables is',wrf%dom(id)%number_of_emiss_firechemi_variables
+   endif
 ! LXL/APM ---
 !
 ! allocate and store the table locations of the variables valid on this domain
@@ -653,63 +657,65 @@
 !  this accounts for the fact that some variables might not be on all domains
 !
 ! LXL/APM +++
-   do ind = 1,wrf%dom(id)%number_of_conc_variables
+   if (add_emiss ) then
+      do ind = 1,wrf%dom(id)%number_of_conc_variables
 ! LXL/APM ---
 !
 
       ! actual location in state variable table
-      my_index =  wrf%dom(id)%var_index_list(ind)
+         my_index =  wrf%dom(id)%var_index_list(ind)
 
-      wrf%dom(id)%var_type(ind) = ind ! types are just the order for this domain
-      wrf%dom(id)%dart_kind(ind) = get_raw_obs_kind_index(trim(wrf_state_variables(2,my_index)))
+         wrf%dom(id)%var_type(ind) = ind ! types are just the order for this domain
+         wrf%dom(id)%dart_kind(ind) = get_raw_obs_kind_index(trim(wrf_state_variables(2,my_index)))
 
-      if ( debug ) then
-         print*,'dart kind identified: ',trim(wrf_state_variables(2,my_index)),' ',wrf%dom(id)%dart_kind(ind)
-      endif
+         if ( debug ) then
+            print*,'dart kind identified: ',trim(wrf_state_variables(2,my_index)),' ',wrf%dom(id)%dart_kind(ind)
+         endif
 
       ! get stagger and variable size
-      call get_variable_size_from_file(ncid,id,  &


More information about the Dart-dev mailing list