[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