[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