[Dart-dev] DART/branches Revision: 11651
dart at ucar.edu
dart at ucar.edu
Mon May 22 15:46:05 MDT 2017
thoar at ucar.edu
2017-05-22 15:46:03 -0600 (Mon, 22 May 2017)
559
This has the corrections to the staggered coordinate array calculations
from Tarkeshwar. As long as 'write_grads = .false.' this runs through
both lmdz_to_dart and filter without throwing an error.
I have removed the debug print statements that I put in.
I am not sure that the conversion programs are happening correctly
as my filter_ic_old.0001 is different than Tarkeshwar's - even
though I am using the same input file (supposedly). I also do
not have his input inflation file and the sampling error correction
for an ensemble size of 5 is a problem.
Modified: DART/branches/LMDZ_trunk/models/LMDZ/model_mod.f90
===================================================================
--- DART/branches/LMDZ_trunk/models/LMDZ/model_mod.f90 2017-05-22 16:08:20 UTC (rev 11650)
+++ DART/branches/LMDZ_trunk/models/LMDZ/model_mod.f90 2017-05-22 21:46:03 UTC (rev 11651)
@@ -120,11 +120,15 @@
get_close_maxdist_init, get_close_obs_init, get_close_obs, &
ens_mean_for_model
-public :: &
+public :: &
data_2d_type, data_3d_type, PS, T, U, V, Q, CLDLIQ, &
prog_var_to_vector, &
- vector_to_prog_var, read_lmdz_init, &
- init_model_instance, end_model_instance, write_lmdz_init, coord_index
+ vector_to_prog_var, &
+ read_lmdz_init, &
+ init_model_instance, &
+ end_model_instance, &
+ write_lmdz_init, &
+ coord_index
!----------------------------------------------------------------------------
!----------------------------------------------------------------------------
@@ -277,7 +281,6 @@
logical :: print_details = .false.
logical :: write_grads = .true.
-
! output_state_vector = .true. results in a "state-vector" netCDF file
! output_state_vector = .false. results in a "prognostic-var" netCDF file
logical :: output_state_vector = .false.
@@ -368,6 +371,7 @@
! set the printed output logical variable to reduce printed output;
! depends on whether this is being called by dart_to_lmdz (read ens member # from
! file 'element' ) or by filter (multiple processes, printout controlled by do_output())
+! TJH - I don't agree with only have ens_member 1 print the output.
if (file_exist('element')) then
iunit = get_unit()
@@ -415,7 +419,7 @@
model_size = PS%length + U%length + V%length + T%length + Q%length + CLDLIQ%length
-if (do_output()) print*, 'Model Size =',model_size
+if (print_details .and. do_output()) print*, 'Model Size =',model_size
call read_lmdz_coord(ncfileid, lon, 'rlonv ')
call read_lmdz_coord(ncfileid, lat, 'rlatu ')
@@ -429,8 +433,6 @@
call change_lon_lat_lev_to_dart()
-write(*,*) 'TJH before hybrid_coefi_mid_layer sigs%length is ',sigs%length
-
!find hybrid layer coefficient at mid point of layers
allocate(apm%vals(sigs%length))
allocate(bpm%vals(sigs%length))
@@ -474,8 +476,6 @@
call error_handler(E_ERR,'static_init_model',msgstring,source,revision,revdate)
end if
-write(*,*) 'TJH before order_state_fields'
-
!------------------------------------------------------------------------
!----
max_levs = sig%length !(sig%length = sigs%length + 1)
@@ -504,8 +504,6 @@
allocate(p_col(max_levs), model_h(max_levs))
allocate(ens_mean(model_size))
-write(*,*) 'TJH before read_lmdz_horiz'
-
call read_lmdz_horiz (ncfileid, phis, topog_lons, topog_lats, 'phisinit')
call nc_check(nf90_close(ncfileid), &
@@ -516,8 +514,6 @@
! Makes an array of 'locations within the state vector'
! of all the available obs kinds that come from obs_kind_mod.
-write(*,*) 'TJH before map_kinds'
-
call map_kinds()
!if (len_trim(impact_only_same_kind) > 0) then
@@ -528,8 +524,6 @@
module_initialized = .true.
-write(*,*) 'TJH leaving static_init_model'
-
end subroutine static_init_model
@@ -557,7 +551,7 @@
!call nc_check(nf90_inquire_dimension(ncfileid, 15, temps%var_name , temps%length), &
! 'read_lmdz_init_size', 'inquire for '//trim(temps%var_name))
-!if (print_details .and. do_out) write(*,*) 'Dims info = ',i, trim(dim_names(i)), dim_sizes(i)
+!if (print_details .and. do_output()) write(*,*) 'Dims info = ',i, trim(dim_names(i)), dim_sizes(i)
ap%length = sig%length
More information about the Dart-dev
mailing list