Ejemplo n.º 1
0
    def test_kz_equal(self):

        kz_array_desired = pf.my_vtk_to_numpy(
            pf.my_vtk(
                std.shemat_suite_models_dir + '/fw_basc_SaltFlow_small' +
                std.result_dir + '', 'salt_small_final.vtk', 'kz'))
        kz_array_actual = pf.my_vtk_to_numpy(
            pf.my_vtk(std.shemat_suite_models_dir + '/fw_basc_SaltFlow_small',
                      'salt_small_final.vtk', 'kz'))

        npt.assert_allclose(kz_array_actual, kz_array_desired, rtol=1e-5)
Ejemplo n.º 2
0
    def test_kz_equal(self):

        kz_array_desired = pf.my_vtk_to_numpy(
            pf.my_vtk(
                std.shemat_suite_models_dir + '/fw_const_TheisProblem' +
                std.result_dir + '', 'THEIS_final.vtk', 'kz'))
        kz_array_actual = pf.my_vtk_to_numpy(
            pf.my_vtk(std.shemat_suite_models_dir + '/fw_const_TheisProblem',
                      'THEIS_final.vtk', 'kz'))

        npt.assert_allclose(kz_array_actual, kz_array_desired, rtol=1e-5)
Ejemplo n.º 3
0
    def test_pres_equal(self):

        pres_array_desired = pf.my_vtk_to_numpy(
            pf.my_vtk(
                std.shemat_suite_models_dir + '/fw_basc_SaltFlow' +
                std.result_dir + '', 'salt_final.vtk', 'pres'))
        pres_array_actual = pf.my_vtk_to_numpy(
            pf.my_vtk(std.shemat_suite_models_dir + '/fw_basc_SaltFlow',
                      'salt_final.vtk', 'pres'))

        npt.assert_allclose(pres_array_actual, pres_array_desired, rtol=1e-5)
Ejemplo n.º 4
0
def read(
        model_name,
        dat,
        let,
        fdir=None,
        fname=None,
        varname='uindex',
        nt=0,
):
    """
    Reading variable array from SHEMAT-Suite vtk-file.

    Parameters
    ----------
    model_name : string
        String of model name.

    dat : string
        String with date of model run.

    let : string
        String of letter of model run.

    varname : string
        Variable name for array to be read.
        Possibilities: 'uindex' 'head','temp','kz', 'v'

    nt : string
        Number of time step output.

    Returns
    -------
    numpy_array : array
        Array containing the variable array

    numpy_array_name : string
        Containing proposed saving location for Array.
    """

    # Dirs
    if fdir is None:
        # samples_output_dir
        fdir = rm.make_output_dirs(model_name, dat, let)[1]
    if fname is None:
        # time_out_file
        fname = rm.make_file_dir_names(model_name, nt)[17]

    # Get filetype ############################################################
    if fname[-3:] == 'vtk':
        ftype = 'vtk'
    elif fname[-2:] == 'h5' or fname[-3:] == 'hdf':
        ftype = 'hdf'
    else:
        print(fname)
        raise RuntimeError('Wrong filetype.')

    # Get reader ##############################################################
    if ftype == 'vtk':
        reader = pf.my_vtk(fdir, fname, varname)
    elif ftype == 'hdf':
        reader = pf.my_hdf(fdir+'/'+fname, varname)

    # Numpy Array  ############################################################
    if ftype == 'vtk':
        numpy_array = pf.my_vtk_to_numpy(reader)
    elif ftype == 'hdf':
        numpy_array = reader

    # Numpy Array Name ########################################################
    numpy_array_name = pm.py_output_filename(
        fa.tag,
        varname,
        sc.specl(model_name, dat, let)+'_'+str(nt),
        "npy",
    )

    return numpy_array, numpy_array_name
Ejemplo n.º 5
0
def read(
    model_name,
    dat,
    let,
    varname='kz_mean',
    befaft='aft',
    fdir=None,
    fname=None,
    nt=10,
):
    """
    Reading variable arrays from SHEMAT-Suite.

    Parameters
    ----------
    model_name : string
        String of model name.

    dat : string
        String with date of model run.

    let : string
        String of letter of model run.

    varname : string
        Variable name for array to be read.
        Possibilities: 'kz_mean' 'kz_std','head_mean','lz_mean', 'temp_mean'

    befaft : string
        Specifies whether the output is read in from
        before ('bef') or after ('aft') the EnKF update.

    nt : integer
        Number inside file name.

    fdir : string
        Full directory of vtk file.

    fname : string
        Full name of vtk file.

    Returns
    -------
    numpy_array : array
        Array containing the variable array

    numpy_array_name : string
        Containing proposed saving location for Array.
    """

    # Automatic file name generation
    if (not fdir and not fname):
        # enkf_output_dir
        fdir = rm.make_output_dirs(model_name, dat, let)[2]
        if befaft == 'aft':
            # assim_out_file_aft
            fname = rm.make_file_dir_names(model_name, nt)[19]
        elif befaft == 'bef':
            # assim_out_file_bef
            fname = rm.make_file_dir_names(model_name, nt)[18]

    # Get vtk_reader ##########################################################
    vtk_reader = pf.my_vtk(fdir, fname, varname)

    # Debug ###################################################################
    print(varname,
          vtk_reader.GetOutput().GetCellData().GetArray(0).GetValueRange())

    # Numpy Array  ############################################################
    numpy_array = pf.my_vtk_to_numpy(vtk_reader)

    # Numpy Array Name ########################################################
    numpy_array_name = pm.py_output_filename(
        aa.tag, varname + '_' + str(nt).zfill(4) + '_' + befaft,
        sc.specl(model_name, dat, let), "npy")

    return numpy_array, numpy_array_name