[Dart-dev] DART/branches Revision: 11732

dart at ucar.edu dart at ucar.edu
Wed Jun 14 14:49:30 MDT 2017


nancy at ucar.edu
2017-06-14 14:49:24 -0600 (Wed, 14 Jun 2017)
100
this makes it through the interpolate code!!  yay.

now working on details of the model_mod again.




Modified: DART/branches/coamps/models/coamps_nest/coamps_interp_mod.f90
===================================================================
--- DART/branches/coamps/models/coamps_nest/coamps_interp_mod.f90	2017-06-14 19:25:31 UTC (rev 11731)
+++ DART/branches/coamps/models/coamps_nest/coamps_interp_mod.f90	2017-06-14 20:49:24 UTC (rev 11732)
@@ -1641,8 +1641,10 @@
             ! the vertical coordinate variable
             call z2zint(interpolator%available_target_values,         & 
                         interpolator%vinterp_values,                  &
+                        0, &   ! ifin == 6 adds in surface elevation
                         interpolator%available_vcoord_values,         &
                         interpolator%vinterp_level,                   &
+                        (/ 0.0_r8, 0.0_r8, 0.0_r8, 0.0_r8 /),         &  ! assumes NUM_NEIGHBORS is 4
                         num_levels_in, num_levels_out, NUM_NEIGHBORS, &
                         USE_MISSING_VALUE, MISSING_R8)
         end select

Modified: DART/branches/coamps/models/coamps_nest/coamps_intrinsic_mod.f90
===================================================================
--- DART/branches/coamps/models/coamps_nest/coamps_intrinsic_mod.f90	2017-06-14 19:25:31 UTC (rev 11731)
+++ DART/branches/coamps/models/coamps_nest/coamps_intrinsic_mod.f90	2017-06-14 20:49:24 UTC (rev 11732)
@@ -737,8 +737,8 @@
       real(kind=r8) din    (len,kin)
       real(kind=r8) dout   (len,kout)
       real(kind=r8) zin    (len,kin)
-!      real(kind=r8) zout   (kout)
-      real(kind=r8) zout   (maxlevels)
+      real(kind=r8) zout   (kout)
+!      real(kind=r8) zout   (maxlevels)
       real(kind=r8) zsfc   (len)
       real(kind=r8) zagl   (len,kout)
 !

Modified: DART/branches/coamps/models/coamps_nest/coamps_statevar_mod.f90
===================================================================
--- DART/branches/coamps/models/coamps_nest/coamps_statevar_mod.f90	2017-06-14 19:25:31 UTC (rev 11731)
+++ DART/branches/coamps/models/coamps_nest/coamps_statevar_mod.f90	2017-06-14 20:49:24 UTC (rev 11732)
@@ -81,6 +81,7 @@
 
     ! Logical array sectioning
     public :: get_var_start
+    public :: get_var_substate
 
     ! Perturbation information
     public :: PERT_TYPE_NOPERTS
@@ -117,9 +118,9 @@
     ! Generic procedure to allow selection of an array subsection
     ! corresponding to a particular state variable - need 2 since there
     ! is potentially a state vector of type r8 or r4
-    !interface get_var_substate
-    !    module procedure get_var_substate_r8, get_var_substate_r4
-    !end interface get_var_substate
+    interface get_var_substate
+        module procedure get_var_substate_r8, get_var_substate_r4
+    end interface get_var_substate
 
     ! Check if two state variables are talking about the same thing
     interface operator(==)
@@ -474,20 +475,9 @@
 
     ! get_var_start
     ! ---------------------
-    ! get_var_limits
-    ! OLD: Return a pointer to the subsection of a kind(r8) vector corresponding 
-    ! to a given state variable.
-    ! NEW: return the starting and ending indices relative to the entire
-    !  state vector for where this variable starts and ends.
-    !  PARAMETERS
-    ! OLD:
-    !   IN  vector          The vector to take the section from
-    !   IN  var             The state variable to base the section on
-    ! NEW:
+    !  PARAMETERS  (NEW ROUTINE)
     !   IN state_variable   The variable of interest
     !   OUT integer offset  The index offset into the entire state vector
-    ! OLD:
-    ! function get_var_substate_r8(var, vector) result(var_substate)
     function get_var_start(var) result(var_limit)
         type(state_variable), intent(in)  :: var
         integer                           :: var_limit
@@ -495,7 +485,6 @@
         var_limit = var%state_begin
     end function get_var_start
 
-    ! OLD:
     ! get_var_substate_r8
     ! ---------------------
     ! Return a pointer to the subsection of a kind(r8) vector corresponding 
@@ -503,13 +492,13 @@
     !  PARAMETERS
     !   IN  vector          The vector to take the section from
     !   IN  var             The state variable to base the section on
-    !function get_var_substate_r8(var, vector) result(var_substate)
-    !    type(state_variable),                 intent(in)  :: var
-    !    real(kind=r8), dimension(:), target,  intent(in)  :: vector
-    !    real(kind=r8), dimension(:), pointer              :: var_substate
-    !
-    !    var_substate => vector(var%state_begin:var%state_end)
-    !end function get_var_substate_r8
+    function get_var_substate_r8(var, vector) result(var_substate)
+        type(state_variable),                 intent(in)  :: var
+        real(kind=r8), dimension(:), target,  intent(in)  :: vector


More information about the Dart-dev mailing list