[Dart-dev] DART/branches Revision: 11891

dart at ucar.edu dart at ucar.edu
Tue Aug 8 16:10:38 MDT 2017


hendric at ucar.edu
2017-08-08 16:10:37 -0600 (Tue, 08 Aug 2017)
255
was using the wrong ncid for replacing missing_r8 values.
cleaned up the logic for inserting and reinserting 
missing values.  updated pathnames so that quick build
would work and changed allow_missing_r8 to 
allow_missing_r8_clm in the filter namelist.




Modified: DART/branches/rma_fix_clm_restarts/assimilation_code/modules/assimilation/filter_mod.f90
===================================================================
--- DART/branches/rma_fix_clm_restarts/assimilation_code/modules/assimilation/filter_mod.f90	2017-08-08 21:56:53 UTC (rev 11890)
+++ DART/branches/rma_fix_clm_restarts/assimilation_code/modules/assimilation/filter_mod.f90	2017-08-08 22:10:37 UTC (rev 11891)
@@ -246,11 +246,11 @@
 ! Some models are allowed to have MISSING_R8 values in the DART state vector.
 ! If they are encountered, it is not necessarily a FATAL error.
 ! Most of the time, if a MISSING_R8 is encountered, DART should die.
-! CLM should have allow_missing_r8 = .true.
+! CLM should have allow_missing_clm = .true.
 ! maybe POP - but in POP the missing values are land and all ensemble members
 ! have the same missing values.  CLM is different in that only some ensemble members may
 ! have missing values and so we have a deficient ensemble size at those state locations.
-logical  :: allow_missing_r8 = .false.
+logical  :: allow_missing_clm = .false.
 
 
 namelist /filter_nml/ async,     &
@@ -299,7 +299,7 @@
    output_mean,                  &
    output_sd,                    &
    write_all_stages_at_end,      &
-   allow_missing_r8
+   allow_missing_clm
 
 
 !----------------------------------------------------------------
@@ -431,7 +431,7 @@
    inf_damping(2) = 1.0_r8  ! no damping
 endif
 
-call set_allow_missing_r8(allow_missing_r8)
+call set_allow_missing_r8(allow_missing_clm)
 allow_missing = get_missing_ok_status()
 
 call trace_message('Before initializing inflation')

Modified: DART/branches/rma_fix_clm_restarts/assimilation_code/modules/assimilation/filter_mod.nml
===================================================================
--- DART/branches/rma_fix_clm_restarts/assimilation_code/modules/assimilation/filter_mod.nml	2017-08-08 21:56:53 UTC (rev 11890)
+++ DART/branches/rma_fix_clm_restarts/assimilation_code/modules/assimilation/filter_mod.nml	2017-08-08 22:10:37 UTC (rev 11891)
@@ -53,5 +53,5 @@
    output_forward_op_errors     = .false.,
    silence                      = .false.,
    
-   allow_missing_r8             = .false.
+   allow_missing_clm            = .false.
    /

Modified: DART/branches/rma_fix_clm_restarts/models/clm/model_mod.f90
===================================================================
--- DART/branches/rma_fix_clm_restarts/models/clm/model_mod.f90	2017-08-08 21:56:53 UTC (rev 11890)
+++ DART/branches/rma_fix_clm_restarts/models/clm/model_mod.f90	2017-08-08 22:10:37 UTC (rev 11891)
@@ -348,11 +348,6 @@
 type(time_type) :: model_timestep  ! smallest time to adv model
 
 
-INTERFACE fill_missing_r8_with_original
-      MODULE PROCEDURE fill_missing_r8_with_orig_1d
-      MODULE PROCEDURE fill_missing_r8_with_orig_2d
-END INTERFACE
-
 INTERFACE DART_get_var
       MODULE PROCEDURE get_var_1d
       MODULE PROCEDURE get_var_2d
@@ -1528,7 +1523,7 @@
 character     (len=NF90_MAX_NAME)     :: varname
 character     (len=256)               :: myerrorstring
 
-if ( .not. module_initialized ) call static_init_model
+if ( .not. module_initialized ) call static_init_model()
 
 ! Must check anything with a dimension of 'levtot' or 'levsno' and manually
 ! set the values to DART missing. If only it were that easy ...
@@ -1580,8 +1575,7 @@
 
    varname = trim(progvar(ivar)%varname)
    myerrorstring = trim(progvar(ivar)%origin)//' '//trim(progvar(ivar)%varname)
-
-   call nc_check(nf90_open(trim(progvar(ivar)%origin), NF90_NOWRITE, ncid_in), &
+   call nc_check(nf90_open(trim(clm_restart_filename), NF90_NOWRITE, ncid_in), &
               'clm_to_dart_state_vector','open '//trim(myerrorstring))
 
    ! File is not required to have a time dimension
@@ -1595,7 +1589,7 @@
 
    call nc_check(nf90_inq_varid(ncid_out,   varname, var_id_out), &
             'clm_to_dart_state_vector', 'inq_varid output '//trim(myerrorstring))
-   call nc_check(nf90_inquire_variable( ncid_out, var_id_out, dimids=dimIDs, ndims=ncNdims), &
+   call nc_check(nf90_inquire_variable( ncid_out, var_id_out), &
                  'clm_to_dart_state_vector', 'inquire_variable '//trim(myerrorstring))
 
    ! Check the rank of the variable
@@ -1644,12 +1638,6 @@
       allocate(data_1d_array(ni))
       call DART_get_var(ncid_in, varname, data_1d_array)
 
-      call nc_check(nf90_inquire_variable( ncid_out, var_id_out, dimids=dimIDs), &
-                    'get_var_1d', 'inquire_variable '//varname)
-
-      call nc_check(nf90_inquire_dimension(ncid_out, dimIDs(1)), &


More information about the Dart-dev mailing list