[Dart-dev] [5755] DART/branches/development/models/clm/model_mod.f90: Now uses the assimilation_period_[days, seconds] and has the capability for
nancy at ucar.edu
nancy at ucar.edu
Sun Jun 10 20:07:09 MDT 2012
Revision: 5755
Author: thoar
Date: 2012-06-10 20:07:08 -0600 (Sun, 10 Jun 2012)
Log Message:
-----------
Now uses the assimilation_period_[days,seconds] and has the capability for
a much larger set of state variables. Since CLM has so many state variables,
20 was just not enough.
Modified Paths:
--------------
DART/branches/development/models/clm/model_mod.f90
-------------- next part --------------
Modified: DART/branches/development/models/clm/model_mod.f90
===================================================================
--- DART/branches/development/models/clm/model_mod.f90 2012-06-10 22:12:30 UTC (rev 5754)
+++ DART/branches/development/models/clm/model_mod.f90 2012-06-11 02:07:08 UTC (rev 5755)
@@ -138,7 +138,7 @@
!------------------------------------------------------------------
integer :: nfields
-integer, parameter :: max_state_variables = 20
+integer, parameter :: max_state_variables = 40
integer, parameter :: num_state_table_columns = 2
character(len=obstypelength) :: variable_table(max_state_variables, num_state_table_columns)
@@ -1644,6 +1644,8 @@
integer :: VarID, ncNdims, dimlen
integer :: ncid
character(len=256) :: myerrorstring
+integer :: fixme = 7000 ! intentionally declaring here so value
+ ! persists across calls.
integer, parameter :: LAKE = 3
@@ -1749,7 +1751,9 @@
! MISSING values so we can test the block that aborts the update
! if some or any of the ensemble members have a missing value.
- ! data_1d_array(7000) = MISSING_R8
+ ! write(*,*)trim(progvar(ivar)%varname),'replacing ',data_1d_array(fixme),'with',MISSING_R8, 'element',fixme
+ ! data_1d_array(fixme) = MISSING_R8
+ ! fixme = fixme + 1
do i = 1, ni
state_vector(indx) = data_1d_array(i)
@@ -2106,13 +2110,11 @@
integer :: ivar, index1, indexN, indexi, counter
integer :: gridloni,gridlatj
-real(r8), dimension(3) :: loc
real(r8) :: loc_lat, loc_lon
real(r8) :: total, total_area
real(r8), dimension(1) :: loninds,latinds
+real(r8), dimension(3) :: loc
-real(r8), allocatable, dimension(:) :: contributors, depths, myarea
-
if ( .not. module_initialized ) call static_init_model
! Let's assume failure. Set return val to missing, then the code can
@@ -3145,13 +3147,14 @@
function set_model_time_step()
!------------------------------------------------------------------
-! Since DART does not advance CLM, this is unimportant.
+! This defines the window used for assimilation.
+! all observations +/- half this timestep are assimilated.
type(time_type) :: set_model_time_step
if ( .not. module_initialized ) call static_init_model
-set_model_time_step = set_time(0, 1) ! (seconds, days)
+set_model_time_step = set_time(assimilation_period_seconds, assimilation_period_days)
end function set_model_time_step
@@ -3193,9 +3196,8 @@
integer, intent(out) :: ngood
character(len=*), dimension(:,:), intent(out) :: table
-integer :: nrows, ncols, i, j, VarID, numdims
-integer, dimension(NF90_MAX_VAR_DIMS) :: dimIDs
-character(len=NF90_MAX_NAME) :: varname, dimname
+integer :: nrows, ncols, i, VarID
+character(len=NF90_MAX_NAME) :: varname
character(len=NF90_MAX_NAME) :: dartstr
if ( .not. module_initialized ) call static_init_model
More information about the Dart-dev
mailing list