[Dart-dev] DART/branches Revision: 11187

dart at ucar.edu dart at ucar.edu
Fri Mar 3 11:18:20 MST 2017


mizzi at ucar.edu
2017-03-03 11:18:16 -0700 (Fri, 03 Mar 2017)
67
Update ../wrf_chem/model_mod.f90 to get add_emiss switch working.




Modified: DART/branches/mizzi/models/wrf_chem/model_mod.f90
===================================================================
--- DART/branches/mizzi/models/wrf_chem/model_mod.f90	2017-03-02 22:52:30 UTC (rev 11186)
+++ DART/branches/mizzi/models/wrf_chem/model_mod.f90	2017-03-03 18:18:16 UTC (rev 11187)
@@ -235,7 +235,7 @@
 ! until users remove them from their input.nml files as well.
 !
 ! LXL/APM +++
-logical :: add_emiss = .true.
+logical :: add_emiss = .false.
 logical :: use_varloc = .true., use_indep_chem_assim =.false.
 namelist /model_nml/ output_state_vector, num_moist_vars, &
                      num_domains, calendar_type, surf_obs, soil_data, h_diab, &
@@ -657,62 +657,60 @@
 !  this accounts for the fact that some variables might not be on all domains
 !
 ! LXL/APM +++
-   if (add_emiss ) then
-      do ind = 1,wrf%dom(id)%number_of_conc_variables
+   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,  &
-                                          wrf_state_variables(1,my_index), &
-                                          wrf%dom(id)%bt, wrf%dom(id)%bts, &
-                                          wrf%dom(id)%sn, wrf%dom(id)%sns, &
-                                          wrf%dom(id)%we, wrf%dom(id)%wes, & 
-                                          wrf%dom(id)%stagger(ind),        &
-                                          wrf%dom(id)%var_size(:,ind))
+      call get_variable_size_from_file(ncid,id,  &
+                                       wrf_state_variables(1,my_index), &
+                                       wrf%dom(id)%bt, wrf%dom(id)%bts, &
+                                       wrf%dom(id)%sn, wrf%dom(id)%sns, &
+                                       wrf%dom(id)%we, wrf%dom(id)%wes, & 
+                                       wrf%dom(id)%stagger(ind),        &
+                                       wrf%dom(id)%var_size(:,ind))
          
       ! get other variable metadata; units, coordinates and description
-         call get_variable_metadata_from_file(ncid,id,  &
-                                          wrf_state_variables(1,my_index), &
-                                          wrf%dom(id)%description(ind),         &
-                                          wrf%dom(id)%coordinates(ind),         &
-                                          wrf%dom(id)%units(ind) )
-         
-         if ( debug ) then
-            print*,'variable size ',trim(wrf_state_variables(1,my_index)),' ',wrf%dom(id)%var_size(:,ind)
-         endif
+      call get_variable_metadata_from_file(ncid,id,  &
+                                       wrf_state_variables(1,my_index), &
+                                       wrf%dom(id)%description(ind),         &
+                                       wrf%dom(id)%coordinates(ind),         &
+                                       wrf%dom(id)%units(ind) )
+      
+      if ( debug ) then
+         print*,'variable size ',trim(wrf_state_variables(1,my_index)),' ',wrf%dom(id)%var_size(:,ind)
+      endif
 
       !  add bounds checking information
-         call get_variable_bounds(wrf_state_bounds, wrf_state_variables(1,my_index), &
-                                  wrf%dom(id)%lower_bound(ind), wrf%dom(id)%upper_bound(ind), &
-                                  wrf%dom(id)%clamp_or_fail(ind))
-         
-         if ( debug ) then
-            write(*,*) 'Bounds for variable ',  &
-            trim(wrf_state_variables(1,my_index)), &
-            ' are ',wrf%dom(id)%lower_bound(ind), &
-            wrf%dom(id)%upper_bound(ind), &
-            wrf%dom(id)%clamp_or_fail(ind)
-         endif
-         
-         write(msgstring1, '(A,I4,2A)') 'state vector array ', ind, ' is ', trim(wrf_state_variables(1,my_index))
-         call error_handler(E_MSG, 'static_init_model: ', msgstring1)
-      enddo
+      call get_variable_bounds(wrf_state_bounds, wrf_state_variables(1,my_index), &
+                               wrf%dom(id)%lower_bound(ind), wrf%dom(id)%upper_bound(ind), &
+                               wrf%dom(id)%clamp_or_fail(ind))
+      
+      if ( debug ) then
+         write(*,*) 'Bounds for variable ',  &
+         trim(wrf_state_variables(1,my_index)), &
+         ' are ',wrf%dom(id)%lower_bound(ind), &
+         wrf%dom(id)%upper_bound(ind), &
+         wrf%dom(id)%clamp_or_fail(ind)


More information about the Dart-dev mailing list