[Dart-dev] svn:mergeinfo/ Revision: 12449

dart at ucar.edu dart at ucar.edu
Wed Mar 14 16:56:46 MDT 2018


nancy at ucar.edu
2018-03-14 16:56:46 -0600 (Wed, 14 Mar 2018)
1867
expanded the netcdf cover routines in netcdf_utilities_mod.f90.
will track mapping between ncid and original filename and include
filename in output error messages now.  does more checks on number
of dims when getting variable sizes.  will check for the scale and
offset attributes when getting and setting variable values and
fail if they are present.  if you run into this please save me
a copy of the file for an example??

removed the 'lanai_bitwise' option from assim_tools because
we are confident in the manhattan version and it's getting almost
impossible to reproduce the order of operations now between lanai
and manhattan.  also removed the lanai perturb routines from several
of the model_mods - it did the perturbation in the same order as
lanai (which called perturb on an ensemble-by-ensemble basis and
not as manhattan does with partial bits of the state for all ensemble 
members).  since we are ignoring lanai bitwise it simplifies the 
model_mod code to remove those uncalled routines.

made sure the assim_tools_mod.pf.f90 and the filter_mod.dopplerfold.f90
are in sync with the originals.

removed the model-specific model_mod_check.f90 source files for all
models except clm.  they were not being included by the path_names
files anymore but still existed in the models directory.  clm stays
but was cut down to just the routines which are unique to it.

fixed the perturb routines in wrf and mpas_atm.  they are hardly
ever used (a reasonable starting ensemble needs and some reasonable
internal consistency) but i use them sometimes just for testing.
the code wasn't handling multiple domains and the overall variable
mins/maxes correctly.

the rest of the model_mod changes were just to rename nc_redef to
nc_begin_define_mode, nc_enddef to nc_end_define_mode, and nc_sync
to nc_synchronize_file to be less inscrutable about what they were.




Index: DART/branches/rma_trunk
===================================================================
--- DART/branches/rma_trunk	2018-03-14 21:21:52 UTC (rev 12448)
+++ DART/branches/rma_trunk	2018-03-14 22:56:46 UTC (rev 12449)

Property changes on: DART/branches/rma_trunk
___________________________________________________________________
Modified: svn:mergeinfo
## -21,6 +21,7 ##
 /DART/branches/rma_model_mod_check:8959-9172
 /DART/branches/rma_mpas_fold_mean_fwd:9342-9452
 /DART/branches/rma_mpas_get_state_meta_data:8865-8884
+/DART/branches/rma_netcdf_utils:12424-12448
 /DART/branches/rma_obs_defs:8917-9061
 /DART/branches/rma_output_files:11441-11538
 /DART/branches/rma_par_msg:9466-9505
Modified: DART/branches/rma_trunk/assimilation_code/modules/assimilation/assim_tools_mod.f90
===================================================================
--- DART/branches/rma_trunk/assimilation_code/modules/assimilation/assim_tools_mod.f90	2018-03-14 21:21:52 UTC (rev 12448)
+++ DART/branches/rma_trunk/assimilation_code/modules/assimilation/assim_tools_mod.f90	2018-03-14 22:56:46 UTC (rev 12449)
@@ -191,10 +191,6 @@
 ! compared to previous versions of this namelist item.
 logical  :: distribute_mean  = .false.
 
-! Lanai bitwise. This is for unit testing and runs much slower.
-! Only use for when testing against the non-rma trunk.
-logical  :: lanai_bitwise = .false.
-
 namelist / assim_tools_nml / filter_kind, cutoff, sort_obs_inc, &
    spread_restoration, sampling_error_correction,                          & 
    adaptive_localization_threshold, adaptive_cutoff_floor,                 &
@@ -203,8 +199,7 @@
    special_localization_obs_types, special_localization_cutoffs,           &
    distribute_mean, close_obs_caching,                                     &
    adjust_obs_impact, obs_impact_filename, allow_any_impact_values,        &
-   convert_all_state_verticals_first, convert_all_obs_verticals_first,     &
-   lanai_bitwise ! don't document this one -- only used for regression tests
+   convert_all_state_verticals_first, convert_all_obs_verticals_first
 
 !============================================================================
 
@@ -302,8 +297,7 @@
    ! we can't read the table here because we don't have access to the ens_size
 endif
 
-is_doing_vertical_conversion = (has_vertical_choice() .and. vertical_localization_on() .and. &
-                                .not. lanai_bitwise)
+is_doing_vertical_conversion = (has_vertical_choice() .and. vertical_localization_on())
 
 call log_namelist_selections(num_special_cutoff, cache_override)
 
@@ -498,7 +492,6 @@
 
 if (convert_all_obs_verticals_first .and. is_doing_vertical_conversion) then
    ! convert the vertical of all my observations to the localization coordinate
-   ! this may not be bitwise with Lanai because of a different number of set_location calls
    if (timing) call start_mpi_timer(base)
    if (obs_ens_handle%my_num_vars > 0) then
       call convert_vertical_obs(ens_handle, obs_ens_handle%my_num_vars, my_obs_loc, &
@@ -737,15 +730,6 @@
            scalar2=vertvalue_obs_in_localization_coord, scalar3=whichvert_real)
       endif
 
-      !>@todo FIXME it should be ok to remove this, right? 
-      !>  i'm the owner - i should not have to set anything here because
-      !>  this obs was already converted
-      !if (is_doing_vertical_conversion) then
-      !   ! use converted vertical coordinate from owner
-     !    call set_vertical(base_obs_loc, query_location(my_obs_loc(owners_index), 'VLOC'), &
-     !                                    int(query_location(my_obs_loc(owners_index), 'WHICH_VERT')))
-      !endif
-
    ! Next block is done by processes that do NOT own this observation
    !-----------------------------------------------------------------------
    else
@@ -795,19 +779,6 @@
    ! state space (even though the state space increments will be computed and
    ! applied first).
 
-   ! ***** REMOVED THIS SECTION FOR NOW ******
-   ! HK set converted location of observation
-   ! The owner of the observation has done the conversion to the localization coordinate, so 
-   ! every task does not have to do the same calculation ( and communication )
-   !> @todo This is very messy. 
-
-   !--------------------------------------------------------
-   !> @todo have to set location so you are bitwise with Lanai for WRF. There is a bitwise creep with 
-   !> get and set location.
-   ! I believe this is messing up CAM_SE because you get a different % saved for close_obs_caching
-   !  The base_obs_loc are different for cam if you do this set.
-   !--------------------------------------------------------
-
    !******************************************
 
 


Property changes on: DART/branches/rma_trunk/assimilation_code/modules/assimilation/assim_tools_mod.f90
___________________________________________________________________
Modified: svn:mergeinfo
## -38,6 +38,7 ##


More information about the Dart-dev mailing list