Ejemplo n.º 1
0
                                             lon, lat)

    #=========================================================
    #  READ THE DATA
    #=========================================================

    my_file = basedir + '/' + my_exp + '/time_mean/' + filetype + '/update_comp_meandiff_vobs_' + var_obs + '_upd_obs_' + var_upd + '_ens_size_' + str(
        nbv) + '_obs_inc_' + str(obs_increment) + '_rmse' + '.grd'

    rmse[my_exp] = np.nanmean(
        np.delete(ctlr.read_data(my_file, ctl_dict, undef2nan=True), 4, 2), 2)

    rmse[my_exp][np.isnan(rmse[my_exp])] = undef
    rmse[my_exp] = cf.gaussian_filter(field0=rmse[my_exp],
                                      dx=1.0,
                                      sigma=sigma_smooth,
                                      nx=nx,
                                      ny=ny,
                                      undef=undef)
    rmse[my_exp][rmse[my_exp] == undef] = np.nan

    print('RMSE values')
    print(my_exp)
    print(np.min(rmse[my_exp]), np.max(rmse[my_exp]))

    my_file = basedir + '/' + my_exp + '/time_mean/' + filetype + '/' + '/moment0001_mean.grd'

    ensemble_mean[my_exp] = np.delete(
        ctlr.read_data_grads(my_file, ctl_dict_2)['dbz'], 4, 2)
    ensemble_mean[my_exp] = np.max(ensemble_mean[my_exp], 2)
    ensemble_mean[my_exp] = cf.gaussian_filter(field0=ensemble_mean[my_exp],
                                               dx=1.0,
Ejemplo n.º 2
0
    my_file = basedir + '/LE_D1_1km_5min/time_mean/guesgp/update_comp_vobs_' + var_obs + '_upd_obs_' + var_upd + '_ens_size_' + str(
        nbv) + '_obs_inc_' + str(obs_increment[iv]) + '_kld' + '.grd'
    parameter_5MIN.append(
        np.nanmean(
            np.delete(ctlr.read_data(my_file, ctl_dict, undef2nan=False), 4,
                      2), 2))
    my_file = basedir + '/LE_D1_1km_30sec/time_mean/guesgp/update_comp_vobs_' + var_obs + '_upd_obs_' + var_upd + '_ens_size_' + str(
        nbv) + '_obs_inc_' + str(obs_increment[iv]) + '_kld' + '.grd'
    parameter_30SEC.append(
        np.nanmean(
            np.delete(ctlr.read_data(my_file, ctl_dict, undef2nan=False), 4,
                      2), 2))

    parameter_5MIN[iv] = cf.gaussian_filter(field0=parameter_5MIN[iv],
                                            dx=1.0,
                                            sigma=sigma_smooth,
                                            nx=nx,
                                            ny=ny,
                                            undef=undef)
    parameter_30SEC[iv] = cf.gaussian_filter(field0=parameter_30SEC[iv],
                                             dx=1.0,
                                             sigma=sigma_smooth,
                                             nx=nx,
                                             ny=ny,
                                             undef=undef)

    parameter_5MIN[iv][parameter_5MIN[iv] == undef] = np.nan
    parameter_30SEC[iv][parameter_30SEC[iv] == undef] = np.nan

    print(my_var)
    print(np.nanmin(parameter_5MIN[iv]), np.nanmax(parameter_5MIN[iv]))
    print(np.nanmin(parameter_30SEC[iv]), np.nanmax(parameter_30SEC[iv]))
#for key in bim_time_mean  :
for var in plot_variables :

   for iexp,my_exp in enumerate(exps)  :

      #Prepare the data for plotting. 

      #Smooth output

      parameter[my_exp][var][ parameter[my_exp][var] == undef  ] = np.nan

      plot_bim_mean[:,:,iexp]  = np.squeeze( np.nanmean( np.delete( parameter[my_exp][var], 4,2) , 2) )
      plot_dbz_mean[:,:,iexp]  = np.squeeze( np.nanmax( ensemble_mean[my_exp]['dbz'] , 2) )

      print('Smoothing parameter for var=',var)
      plot_bim_mean[:,:,iexp]=cf.gaussian_filter(field0=plot_bim_mean[:,:,iexp],dx=1.0,sigma=sigma_smooth,nx=nx,ny=ny,undef=undef)

      if iexp > 0  :
 
         plot_bim_mean[:,:,iexp] = 100 * ( ( plot_bim_mean[:,:,iexp] - plot_bim_mean[:,:,0] ) / plot_bim_mean[:,:,0] )

      tmp = np.copy(plot_bim_mean[:,:,iexp])
      tmp[ np.logical_not( radar_mask ) ] = np.nan 
      plot_bim_mean[:,:,iexp] = tmp[:]
      print('Parameter Min=',np.nanmin( tmp ),' Parameter Max=',np.nanmax( tmp ) )
      tmp = np.copy( plot_dbz_mean[:,:,iexp] )
      tmp[ np.logical_not( radar_mask ) ] = np.nan 
      plot_dbz_mean[:,:,iexp] = tmp[:]
      print('Ref Min=',np.nanmin( tmp ),' Ref Max=',np.nanmax( tmp ) )

   #Plot time mean of the moments.
for ivar, var in enumerate(plot_variables):

    print(var)

    ifig = icol + ncols * (irow)

    plot_bim_5min = np.squeeze(
        np.nanmean(np.delete(parameter['LE_D1_1km_5min'][var], 4, 2), 2))
    plot_bim_30sec = np.squeeze(
        np.nanmean(np.delete(parameter['LE_D1_1km_30sec'][var], 4, 2), 2))

    print('Smoothing parameter for var=', var)
    plot_bim_5min = cf.gaussian_filter(field0=plot_bim_5min,
                                       dx=1.0,
                                       sigma=sigma_smooth,
                                       nx=nx,
                                       ny=ny,
                                       undef=undef)
    plot_bim_30sec = cf.gaussian_filter(field0=plot_bim_30sec,
                                        dx=1.0,
                                        sigma=sigma_smooth,
                                        nx=nx,
                                        ny=ny,
                                        undef=undef)

    plot_bim_diff = 100 * ((plot_bim_30sec - plot_bim_5min) / plot_bim_5min)

    plot_bim_5min[np.logical_not(radar_mask)] = np.nan
    plot_bim_diff[np.logical_not(radar_mask)] = np.nan

    #Axes limits