smash.Model.atmos_data#

property Model.atmos_data[source]#

Model atmospheric data.

Returns:
atmos_dataAtmos_DataDT

It returns a Fortran derived type containing the variables relating to the atmospheric data.

Examples

>>> from smash.factory import load_dataset
>>> setup, mesh = load_dataset("cance")
>>> model = smash.Model(setup, mesh)

Access to Model atmospheric data

>>> model.atmos_data
Atmos_DataDT
    mean_pet: array([[0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.]], dtype=float32)
    mean_prcp: array([[0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.]], dtype=float32)
    pet: array([[[0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        ...
        [0., 0., 0., ..., 0., 0., 0.]]], dtype=float32)
    prcp: array([[[0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        ...
        [0., 0., 0., ..., 0., 0., 0.]]], dtype=float32)

Warning

If the Model object has been initialised with the sparse_storage option in setup (see Model), the variables prcp, pet (snow and temp, optionally) are unavailable and replaced by sparse_prcp, sparse_pet (sparse_snow and sparse_temp, optionally) and vice versa if the sparse_storage option has not been chosen.

Access to a specific gauge mean precipitation time serie

>>> model.mesh.code
array(['V3524010', 'V3515010', 'V3517010'], dtype='<U8')
>>> ind = np.argwhere(model.mesh.code == "V3524010").item()
>>> ind
0
>>> model.atmos_data.mean_prcp[ind, :]
array([0., 0., 0., ..., 0., 0., 0.], dtype=float32)

Access to a specific time step precipitation grid

>>> time_step = 1200
>>> model.atmos_data.prcp[..., time_step]
array([[4.6       , 4.7000003 , 4.5       , 4.3       , 4.4       ,
        4.2000003 , 4.1       , 3.7       , 3.7       , 3.8       ,
        ...
        0.90000004, 0.8       , 0.6       , 0.4       , 0.4       ,
        0.1       , 0.1       , 0.1       ]], dtype=float32)

If you are using IPython, tab completion allows you to visualize all the attributes and methods

>>> model.atmos_data.<TAB>
model.atmos_data.copy()                    model.atmos_data.mean_temp
model.atmos_data.from_handle(              model.atmos_data.pet
model.atmos_data.init_array_sparse_pet()   model.atmos_data.prcp
model.atmos_data.init_array_sparse_prcp()  model.atmos_data.snow
model.atmos_data.init_array_sparse_snow()  model.atmos_data.sparse_pet
model.atmos_data.init_array_sparse_temp()  model.atmos_data.sparse_prcp
model.atmos_data.mean_pet                  model.atmos_data.sparse_snow
model.atmos_data.mean_prcp                 model.atmos_data.sparse_temp
model.atmos_data.mean_snow                 model.atmos_data.temp