[Dart-dev] DART/branches Revision: 12872

dart at ucar.edu dart at ucar.edu
Mon Oct 1 18:48:19 MDT 2018


thoar at ucar.edu
2018-10-01 18:48:19 -0600 (Mon, 01 Oct 2018)
386
removed redundant specification of QTY_SOIL_LIQUID_WATER
changed model_mod.f90:get_state_meta_data() to return QTY_DRYLAND
to indicate a totally WET location ... this overrides whatever
QTY is normally returned. Don't know how this affects large lakes ...
Might be a horrible idea, but it is convenient for stdin_set_def_state.
Would be best to not override for assimilation purposes.




Modified: DART/branches/cesm_clm/assimilation_code/modules/observations/DEFAULT_obs_kind_mod.F90
===================================================================
--- DART/branches/cesm_clm/assimilation_code/modules/observations/DEFAULT_obs_kind_mod.F90	2018-10-01 23:00:58 UTC (rev 12871)
+++ DART/branches/cesm_clm/assimilation_code/modules/observations/DEFAULT_obs_kind_mod.F90	2018-10-02 00:48:19 UTC (rev 12872)
@@ -252,7 +252,7 @@
     QTY_SNOW_THICKNESS              = 107, &
     QTY_SNOW_WATER                  = 108, &
     QTY_SNOWCOVER_FRAC              = 109, &
-    QTY_SOIL_LIQUID_WATER           = 110, &
+    QTY_LIQUID_WATER                = 110, &
     QTY_SOIL_ICE                    = 111, &
     QTY_CARBON                      = 112, &
     QTY_SOIL_CARBON                 = 113, &
@@ -750,7 +750,7 @@
 obs_kind_names(107) = obs_kind_type(QTY_SNOW_THICKNESS        ,'QTY_SNOW_THICKNESS')
 obs_kind_names(108) = obs_kind_type(QTY_SNOW_WATER            ,'QTY_SNOW_WATER')
 obs_kind_names(109) = obs_kind_type(QTY_SNOWCOVER_FRAC        ,'QTY_SNOWCOVER_FRAC')
-obs_kind_names(110) = obs_kind_type(QTY_SOIL_LIQUID_WATER     ,'QTY_SOIL_LIQUID_WATER')
+obs_kind_names(110) = obs_kind_type(QTY_LIQUID_WATER          ,'QTY_LIQUID_WATER')
 obs_kind_names(111) = obs_kind_type(QTY_SOIL_ICE              ,'QTY_SOIL_ICE')
 obs_kind_names(112) = obs_kind_type(QTY_CARBON                ,'QTY_CARBON')
 obs_kind_names(113) = obs_kind_type(QTY_SOIL_CARBON           ,'QTY_SOIL_CARBON')

Modified: DART/branches/cesm_clm/models/clm/model_mod.f90
===================================================================
--- DART/branches/cesm_clm/models/clm/model_mod.f90	2018-10-01 23:00:58 UTC (rev 12871)
+++ DART/branches/cesm_clm/models/clm/model_mod.f90	2018-10-02 00:48:19 UTC (rev 12872)
@@ -80,7 +80,8 @@
                              QTY_FPAR_SHADED_DIRECT,     &
                              QTY_FPAR_SHADED_DIFFUSE,    &
                              QTY_SOLAR_INDUCED_FLUORESCENCE, &
-                             get_index_for_quantity,      &
+                             QTY_LANDMASK,               &
+                             get_index_for_quantity,     &
                              get_name_for_quantity
 
  use ensemble_manager_mod, only : ensemble_type, &
@@ -410,6 +411,13 @@
 
 if (present(var_type)) then
 
+   ! if it is not 'land', is it useful
+   ! We don't have a QTY_WATERMASK, so I am abusing QTY_LANDMASK
+   if (landarea(indx) == 0.0_r8) then
+      var_type = QTY_LANDMASK
+      RETURN
+   endif
+
    var_type = MISSING_I
 
    FINDTYPE : do n = 1,nfields
@@ -417,7 +425,6 @@
       if((indx >= get_index_start(progvar(n)%domain, varstring)) .and. &
          (indx <= get_index_end(  progvar(n)%domain, varstring))) then
          var_type = progvar(n)%dart_qty
-       ! TJH maybe modify that if it is not 'land', it should be ???
          exit FINDTYPE
       endif
    enddo FINDTYPE
@@ -429,7 +436,6 @@
 
 endif
 
-return
 end subroutine get_state_meta_data
 
 
@@ -668,18 +674,17 @@
    call nc_close_file(ncid, routine, progvar(ivar)%origin)
    ncid = 0
 
-!  if (debug > 0 .and. do_output()) call dump_progvar(ivar)
+   if (debug > 0 .and. do_output()) call dump_progvar(ivar)
 enddo
 
 model_size = progvar(nfields)%indexN
 
 if ((debug > 0) .and. do_output()) then
-  write(logfileunit, *)
-  write(logfileunit,'("grid: nlon, nlat, nz =",2(1x,i6))') nlon, nlat
-  write(logfileunit, *)'model_size = ', model_size
-  write(     *     , *)
-  write(     *     ,'("grid: nlon, nlat, nz =",2(1x,i6))') nlon, nlat
-  write(     *     , *)'model_size = ', model_size
+  write(string1,'(" grid: nlon, nlat =",2(1x,i6))') nlon, nlat
+  write(string2, *)'model_size = ', model_size
+  call say('')
+  call say(string1)
+  call say(string2)
 endif
 
 ! Must group the variables according to the file they come from.
@@ -1757,7 +1762,7 @@
       endif
 
       call nc_check(nf90_put_var(ncid_dart, clmVarID, data_2d_array), &
-                   'get_var_2d', 'put_var '//trim(varname))
+                   routine, 'put_var '//trim(varname))
 
       deallocate(data_2d_array)
 


More information about the Dart-dev mailing list