[Dart-dev] DART/branches Revision: 11524
dart at ucar.edu
dart at ucar.edu
Wed Apr 26 16:13:01 MDT 2017
hendric at ucar.edu
2017-04-26 16:13:01 -0600 (Wed, 26 Apr 2017)
82
removing variables from nc_write_model_atts and just
writting grid information
Modified: DART/branches/rma_output_files/models/POP/model_mod.f90
===================================================================
--- DART/branches/rma_output_files/models/POP/model_mod.f90 2017-04-26 21:35:05 UTC (rev 11523)
+++ DART/branches/rma_output_files/models/POP/model_mod.f90 2017-04-26 22:13:01 UTC (rev 11524)
@@ -114,7 +114,6 @@
integer, parameter :: VAR_UPDATE_INDEX = 3
! things which can/should be in the model_nml
-logical :: output_state_vector = .false.
integer :: assimilation_period_days = -1
integer :: assimilation_period_seconds = -1
real(r8) :: model_perturbation_amplitude = 0.2
@@ -2023,7 +2022,7 @@
if ( .not. module_initialized ) call static_init_model
ierr = -1 ! assume things go poorly
-model_mod_writes_state_variables = .true.
+model_mod_writes_state_variables = .false.
!--------------------------------------------------------------------
! we only have a netcdf handle here so we do not know the filename
@@ -2044,43 +2043,6 @@
call nc_check(nf90_Redef(ncFileID),'nc_write_model_atts', 'redef '//trim(filename))
!-------------------------------------------------------------------------------
-! We need the dimension ID for the number of copies/ensemble members, and
-! we might as well check to make sure that Time is the Unlimited dimension.
-! Our job is create the 'model size' dimension.
-!-------------------------------------------------------------------------------
-
-call nc_check(nf90_inq_dimid(ncid=ncFileID, name='NMLlinelen', dimid=LineLenDimID), &
- 'nc_write_model_atts','inq_dimid NMLlinelen')
-call nc_check(nf90_inq_dimid(ncid=ncFileID, name='copy', dimid=MemberDimID), &
- 'nc_write_model_atts', 'copy dimid '//trim(filename))
-call nc_check(nf90_inq_dimid(ncid=ncFileID, name='time', dimid= TimeDimID), &
- 'nc_write_model_atts', 'time dimid '//trim(filename))
-
-if ( TimeDimID /= unlimitedDimId ) then
- write(string1,*)'Time Dimension ID ',TimeDimID, &
- ' should equal Unlimited Dimension ID',unlimitedDimID
- call error_handler(E_ERR,'nc_write_model_atts', string1, source, revision, revdate)
-endif
-
-!-------------------------------------------------------------------------------
-! Define the model size / state variable dimension / whatever ...
-!-------------------------------------------------------------------------------
-! JH -- nf90_def_dim is expecting a lenght that is i4. Here we type cast size and
-! check if the values are the same. In the case where model_size is larger
-! than the largest i4 integer we error out.
-!-------------------------------------------------------------------------------
-
-model_size_i4 = int(model_size,i4)
-if (model_size_i4 /= model_size) then
- write(string1,*)'model_size = ', model_size, ' is too big to write ', &
- ' diagnostic files.'
- call error_handler(E_ERR,'nc_write_model_atts', string1, source, revision, revdate)
-endif
-
-call nc_check(nf90_def_dim(ncid=ncFileID, name='StateVariable', len=model_size_i4, &
- dimid = StateVarDimID),'nc_write_model_atts', 'state def_dim '//trim(filename))
-
-!-------------------------------------------------------------------------------
! Write Global Attributes
!-------------------------------------------------------------------------------
@@ -2100,35 +2062,6 @@
'nc_write_model_atts', 'model put '//trim(filename))
!-------------------------------------------------------------------------------
-! Determine shape of most important namelist
-!-------------------------------------------------------------------------------
-
-call find_textfile_dims('pop_in', nlines, linelen)
-if (nlines > 0) then
- has_pop_namelist = .true.
-else
- has_pop_namelist = .false.
-endif
-
-if (debug > 0) print *, 'pop namelist: nlines, linelen = ', nlines, linelen
-
-if (has_pop_namelist) then
- allocate(textblock(nlines))
- textblock = ''
-
- call nc_check(nf90_def_dim(ncid=ncFileID, name='nlines', &
- len = nlines, dimid = nlinesDimID), &
- 'nc_write_model_atts', 'def_dim nlines ')
-
- call nc_check(nf90_def_var(ncFileID,name='pop_in', xtype=nf90_char, &
- dimids = (/ linelenDimID, nlinesDimID /), varid=nmlVarID), &
- 'nc_write_model_atts', 'def_var pop_in')
- call nc_check(nf90_put_att(ncFileID, nmlVarID, 'long_name', &
- 'contents of pop_in namelist'), 'nc_write_model_atts', 'put_att pop_in')
-
-endif
-
-!-------------------------------------------------------------------------------
! Here is the extensible part. The simplest scenario is to output the state vector,
! parsing the state vector into model-specific parts is complicated, and you need
! to know the geometry, the output variables (PS,U,V,T,Q,...) etc. We're skipping
More information about the Dart-dev
mailing list