[Dart-dev] DART/branches Revision: 12628

dart at ucar.edu dart at ucar.edu
Tue Jun 5 14:19:32 MDT 2018


nancy at ucar.edu
2018-06-05 14:19:32 -0600 (Tue, 05 Jun 2018)
439
add_pert - remove unused variables

wrf mm - proposed update that needs serious testing
before being moved from recam branch to rma_trunk.
includes: using netcdf routines for diagnostic output,
calling a common sort routine to identify unique vertical
levels across ensemble members; pushing SCM (single
column model) changes into a common subroutine; removing
unused variables; start of pulling replicated code into
smaller subroutines.




Modified: DART/branches/recam/models/wrf/WRF_DART_utilities/add_pert_where_high_refl.f90
===================================================================
--- DART/branches/recam/models/wrf/WRF_DART_utilities/add_pert_where_high_refl.f90	2018-06-05 20:15:41 UTC (rev 12627)
+++ DART/branches/recam/models/wrf/WRF_DART_utilities/add_pert_where_high_refl.f90	2018-06-05 20:19:32 UTC (rev 12628)
@@ -91,10 +91,6 @@
 real(r8), allocatable :: p(:,:,:)               ! pressure (mb)
 
 
-character(len=8)      :: crdate                 ! needed by F90 DATE_AND_TIME intrinsic
-character(len=10)     :: crtime                 ! needed by F90 DATE_AND_TIME intrinsic
-character(len=5)      :: crzone                 ! needed by F90 DATE_AND_TIME intrinsic
-integer, dimension(8) :: values                 ! needed by F90 DATE_AND_TIME intrinsic
 real(r8)              :: dx, dy                 ! horizontal grid spacings (m)
 integer               :: bt, sn, we             ! WRF grid dimensions
 integer               :: i, j, k, o
@@ -315,13 +311,7 @@
 ! the ensemble number so repeated runs have reproducible values.
 call init_random_seq(rs, (gdays + gsecs)*1000 + ens_num)
 
-! Original code was setting the seed based on the milliseconds of
-! the system clock, so all seeds were random but not reproducible.
-!call date_and_time(crdate,crtime,crzone,values)
-!call init_random_seq(rs, -int(values(8)))
 
-
-
 ! Add perturbations.
 
 if (u_sd .gt. 0.0_r8) then

Modified: DART/branches/recam/models/wrf/model_mod.f90
===================================================================
--- DART/branches/recam/models/wrf/model_mod.f90	2018-06-05 20:15:41 UTC (rev 12627)
+++ DART/branches/recam/models/wrf/model_mod.f90	2018-06-05 20:19:32 UTC (rev 12628)
@@ -36,7 +36,7 @@
 !---------------- m o d u l e   i n f o r m a t i o n ------------------
 !-----------------------------------------------------------------------
 
-use         types_mod,   only : r8, i8, deg2rad, missing_r8, ps0, earth_radius, &
+use         types_mod,   only : r8, r4, i8, deg2rad, missing_r8, ps0, earth_radius, &
                                 gas_constant, gas_constant_v, gravity, pi,      &
                                 digits12
 
@@ -60,9 +60,13 @@
 
 use netcdf_utilities_mod, only : nc_add_global_attribute, nc_synchronize_file, &
                                  nc_add_global_creation_time, nc_check, &
-                                 nc_begin_define_mode, nc_end_define_mode
+                                 nc_begin_define_mode, nc_end_define_mode, &
+                                 nc_define_dimension, nc_dimension_exists, &
+                                 nc_put_variable, nc_open_file_readonly, nc_close_file, &
+                                 nc_add_attribute_to_variable, nc_define_real_variable, &
+                                 nc_define_unlimited_dimension
 
-use  mpi_utilities_mod,  only : my_task_id, task_count, all_reduce_min_max
+use  mpi_utilities_mod,  only : my_task_id, task_count, broadcast_minmax
 
 use     random_seq_mod,  only : random_seq_type, init_random_seq, random_gaussian
 
@@ -89,9 +93,7 @@
                                 get_index_for_quantity, get_num_quantities, &
                                 get_name_for_quantity
 
-!HK should model_mod know about the number of copies?
-use ensemble_manager_mod,  only : ensemble_type, map_pe_to_task, get_var_owner_index, &
-                                  get_my_vars, get_copy_owner_index
+use ensemble_manager_mod,  only : ensemble_type, get_my_vars
 
 use sort_mod,              only : sort
 
@@ -203,6 +205,9 @@
 integer, parameter :: num_state_table_columns = 5
 integer, parameter :: num_bounds_table_columns = 4
 
+! date strings have this format:  YYYY-MM-DD_HH:mm:SS
+integer, parameter :: DATELEN = 19
+
 !-----------------------------------------------------------------------
 ! Model namelist parameters with default values.
 !
@@ -211,7 +216,6 @@
 ! center_spline_scale: coarse grid to spline interp. fine grid ratio
 !-----------------------------------------------------------------------
 
-logical :: output_state_vector     = .false.  ! output prognostic variables
 logical :: default_state_variables = .true.   ! use default state list?
 character(len=129) :: wrf_state_variables(num_state_table_columns,max_state_variables) = 'NULL'
 character(len=129) :: wrf_state_bounds(num_bounds_table_columns,max_state_variables) = 'NULL'
@@ -240,22 +244,19 @@
 !JPH -- single column model flag 
 logical :: scm        = .false.    ! using the single column model
 logical :: allow_perturbed_ics = .false.  ! should spin the model up for a while after
+logical :: write_diag_grid_info = .true.  ! add grid info to diagnostic files or not
+! i believe the new code is more correct, but make it easy to
+! compare to the original code which built pressure profiles.
+logical :: orig_pressure_profile_code  = .true.  
 
-! obsolete items; ignored by this code. 
-! non-backwards-compatible change. should be removed, 
-! but see note below about namelist.
-integer :: num_moist_vars


More information about the Dart-dev mailing list