[Dart-dev] DART/branches Revision: 11027

dart at ucar.edu dart at ucar.edu
Wed Feb 8 09:21:47 MST 2017


hendric at ucar.edu
2017-02-08 09:21:46 -0700 (Wed, 08 Feb 2017)
78
adding domain from spec, so that the bgrid can run at different
resolutions.




Modified: DART/branches/rma_single_file/models/bgrid_solo/model_mod.f90
===================================================================
--- DART/branches/rma_single_file/models/bgrid_solo/model_mod.f90	2017-02-08 16:11:13 UTC (rev 11026)
+++ DART/branches/rma_single_file/models/bgrid_solo/model_mod.f90	2017-02-08 16:21:46 UTC (rev 11027)
@@ -96,6 +96,8 @@
                                  get_dart_vector_index, get_index_start, get_index_end, &
                                  state_structure_info
 
+use dart_time_io_mod,      only : read_model_time, write_model_time
+
 implicit none
 private
 
@@ -2122,73 +2124,72 @@
    print*, 'state_variables ', trim(state_variables(1,i)), ' ',trim(state_variables(2,i))
 end do
 
-dom_id = add_domain('bgrid_template.nc', numrows, state_variables(1,1:numrows), &
-                    kind_list=state_kinds_list(:))
+dom_id = add_domain(numrows, state_variables(1,1:numrows), state_kinds_list(:))
 
-!#! call state_structure_info(dom_id)
+call state_structure_info(dom_id)
 
 kub = Var_dt%kub
 klb = Var_dt%klb
 
-!#! do i = 1, numrows
-!#! 
-!#!    ! add each variable to the domain structure, with fixed
-!#!    ! dimension names because we know what they should be.
-!#! 
-!#!    thiskind = state_kinds_list(i)
-!#!   
-!#!    if (thiskind == KIND_U_WIND_COMPONENT .or. thiskind == KIND_V_WIND_COMPONENT) then
-!#!       ! the velocity grid is staggered compared to the temperature grid
-!#!       vis = Dynam%Hgrid%Vel%is; vie = Dynam%Hgrid%Vel%ie
-!#!       vjs = Dynam%Hgrid%Vel%js; vje = Dynam%Hgrid%Vel%je
-!#!       nVelI   = vie - vis + 1
-!#!       nVelJ   = vje - vjs + 1
-!#!       nlev    = Var_dt%kub - Var_dt%klb + 1
-!#! 
-!#!       call add_dimension_to_variable(dom_id, i, "slon", nVelI)
-!#!       call add_dimension_to_variable(dom_id, i, "slat", nVelJ)
-!#!       call add_dimension_to_variable(dom_id, i, "lev", nlev)
-!#! 
-!#!    else if (thiskind == KIND_TEMPERATURE .or. thiskind == KIND_PRESSURE) then
-!#!       tis = Dynam%Hgrid%Tmp%is; tie = Dynam%Hgrid%Tmp%ie
-!#!       tjs = Dynam%Hgrid%Tmp%js; tje = Dynam%Hgrid%Tmp%je
-!#!       nTmpI   = tie - tis + 1
-!#!       nTmpJ   = tje - tjs + 1
-!#!       nlev    = Var_dt%kub - Var_dt%klb + 1
-!#! 
-!#!       call add_dimension_to_variable(dom_id, i, "lon", nTmpI)
-!#!       call add_dimension_to_variable(dom_id, i, "lat", nTmpJ)
-!#!       call add_dimension_to_variable(dom_id, i, "lev", nlev)
-!#! 
-!#!    else if (thiskind == KIND_SURFACE_PRESSURE) then
-!#!       tis = Dynam%Hgrid%Tmp%is; tie = Dynam%Hgrid%Tmp%ie
-!#!       tjs = Dynam%Hgrid%Tmp%js; tje = Dynam%Hgrid%Tmp%je
-!#!       nTmpI   = tie - tis + 1
-!#!       nTmpJ   = tje - tjs + 1
-!#!       nlev    = 1
-!#! 
-!#!       call add_dimension_to_variable(dom_id, i, "lon", nTmpI)
-!#!       call add_dimension_to_variable(dom_id, i, "lat", nTmpJ)
-!#! 
-!#!    else ! is tracer, Q, CO, etc
-!#!       tis = Dynam%Hgrid%Tmp%is; tie = Dynam%Hgrid%Tmp%ie
-!#!       tjs = Dynam%Hgrid%Tmp%js; tje = Dynam%Hgrid%Tmp%je
-!#!       nTmpI   = tie - tis + 1
-!#!       nTmpJ   = tje - tjs + 1
-!#!       !ntracer = Var_dt%ntrace 
-!#!       nlev    = Var_dt%kub - Var_dt%klb + 1
-!#! 
-!#!       call add_dimension_to_variable(dom_id, i, "lon", nTmpI)
-!#!       call add_dimension_to_variable(dom_id, i, "lat", nTmpJ)
-!#!       call add_dimension_to_variable(dom_id, i, "lev", nlev)
-!#! 
-!#!    endif
-!#!     
-!#!    end do
-!#! 
-!#! 
-!#! call finished_adding_domain(dom_id)
+do i = 1, numrows
 
+   ! add each variable to the domain structure, with fixed
+   ! dimension names because we know what they should be.
+
+   thiskind = state_kinds_list(i)
+  
+   if (thiskind == KIND_U_WIND_COMPONENT .or. thiskind == KIND_V_WIND_COMPONENT) then
+      ! the velocity grid is staggered compared to the temperature grid
+      vis = Dynam%Hgrid%Vel%is; vie = Dynam%Hgrid%Vel%ie
+      vjs = Dynam%Hgrid%Vel%js; vje = Dynam%Hgrid%Vel%je
+      nVelI   = vie - vis + 1
+      nVelJ   = vje - vjs + 1
+      nlev    = Var_dt%kub - Var_dt%klb + 1
+
+      call add_dimension_to_variable(dom_id, i, "slon", nVelI)


More information about the Dart-dev mailing list