[Dart-dev] DART/branches Revision: 12074

dart at ucar.edu dart at ucar.edu
Thu Nov 9 10:12:33 MST 2017


nancy at ucar.edu
2017-11-09 10:12:33 -0700 (Thu, 09 Nov 2017)
333
this compiles but certainly doesn't run.  flesh out the
cam_height_level() array - based 100% on the pressure array
but the values are inverted (a larger height number is higher
up in the atmosphere; a larger pressure number is lower down
in the atmosphere.)  update the namelist items (i will commit
an input.nml in just a sec).  




Modified: DART/branches/recam/models/cam-fv/model_mod.f90
===================================================================
--- DART/branches/recam/models/cam-fv/model_mod.f90	2017-11-09 17:09:09 UTC (rev 12073)
+++ DART/branches/recam/models/cam-fv/model_mod.f90	2017-11-09 17:12:33 UTC (rev 12074)
@@ -71,43 +71,46 @@
 character(len=32 ), parameter :: revision = "$Revision$"
 character(len=128), parameter :: revdate  = "$Date$"
 
-! global variables
-character(len=512) :: string1, string2, string3
-logical, save      :: module_initialized = .false.
+! model_nml namelist variables and default values
+character(len=256) :: cam_template_filename           = 'caminput.nc'
+character(len=256) :: cam_phis_filename               = 'camphis.nc'
+character(len=32)  :: vert_localization_coord         = 'PRESSURE'
+integer            :: assimilation_period_days        = 0
+integer            :: assimilation_period_seconds     = 21600
+integer            :: no_assim_above_this_model_level = 5
+logical            :: use_damping_ramp_at_model_top   = .false.  
+integer            :: debug_level                     = 0
+logical            :: suppress_grid_info_in_output    = .false.
 
-! model_nml namelist variables
-integer  :: assimilation_period_days     = 0
-integer  :: assimilation_period_seconds  = 21600
-integer  :: vert_localization_coord      = VERTISPRESSURE
-integer  :: debug = 0   ! turn up for more and more debug messages
-logical  :: minimal_output = .false.
-character(len=256) :: cam_template_filename = 'caminput.nc' ! template restart file
-!#! character(len=256) :: cam_grid_filename     = 'caminput.nc' ! JPH probably delete?
-character(len=256) :: cam_phis_filename     = 'camphis.nc'
+! state_variables defines the contents of the state vector.
+! each line of this input should have the form:
+!    netcdf_variable_name, dart_quantity, clamp_min, clamp_max, update_variable
+! all items must be strings (even if numerical values).
+! for no clamping, use the string 'NA'
+! to have the assimilation change the variable use 'UPDATE', else 'NO_UPDATE'
 
-namelist /model_nml/  &
-!#!    cam_grid_filename,           &
-   assimilation_period_days,    &
-   assimilation_period_seconds, &
-   cam_template_filename,       &
-   cam_phis_filename,           &
-   vert_localization_coord,     &
-   minimal_output,              &
-   debug,                       &
-   state_variables
-
-! the number of state variables allowed in the state.  this may need to change
-! depending on the number of variables that you are using.
 integer, parameter :: MAX_STATE_VARIABLES = 100
-! column variables should be the same as the cam_template_file and
-! have the same shape as the restarts being used. For no clamping use 'NA'
-!
-!    variable_name, variable_type, clamp_min, clamp_max, update_variable
 integer, parameter :: num_state_table_columns = 5
-!>@todo JPH what should vtablenamelength be?
 character(len=vtablenamelength) :: state_variables(MAX_STATE_VARIABLES * &
                                                    num_state_table_columns ) = ' '
 
+namelist /model_nml/  &
+   cam_template_filename,           &
+   cam_phis_filename,               &
+   vert_localization_coord,         &
+   state_variables,                 &
+   assimilation_period_days,        &
+   assimilation_period_seconds,     &
+   no_assim_above_this_model_level, &
+   use_damping_ramp_at_model_top,   &
+   suppress_grid_info_in_output,    &
+   debug_level
+
+
+! global variables
+character(len=512) :: string1, string2, string3
+logical, save      :: module_initialized = .false.
+
 ! domain id for the cam model.  this allows us access to all of the state structure
 ! info and is require for getting state variables.
 integer :: domain_id
@@ -120,6 +123,7 @@
 type cam_1d_array
    integer  :: nsize
    real(r8), allocatable :: vals(:)
+   !>@todo FIXME do we need a string name here anymore?
 end type
 
 type cam_grid
@@ -219,6 +223,7 @@
 
 ! set_cam_variable_info() fills var_names, kind_list, clamp_vals, update_list
 ! from the &model_mod_nml state_variables
+
 call set_cam_variable_info(state_variables, nfields)
 
 end subroutine static_init_model
@@ -332,11 +337,12 @@
 !> istatus = 3    cannot locate horizontal quad
 !> istatus = 4    cannot locate enclosing vertical levels
 !> istatus = 5    cannot retrieve state vector values


More information about the Dart-dev mailing list