In [4]:
# Reload when code changed:
%load_ext autoreload
%autoreload 2
%pwd
import sys
path = "../"
sys.path.append(path)
#os.path.abspath("../")
print(os.path.abspath(path))


The autoreload extension is already loaded. To reload it, use:
  %reload_ext autoreload
D:\github\ekostat_calculator

In [5]:
import os 
import core
import importlib
importlib.reload(core) 
import pandas as pd
from event_handler import EventHandler
print(core.__file__)
pd.__version__


..\core\__init__.py
Out[5]:
'0.19.2'

In [6]:
import os 
import core
import logging
import importlib
importlib.reload(core) 
try:
    logging.shutdown()
    importlib.reload(logging)
except:
    pass
import pandas as pd
import numpy as np
import json

from event_handler import EventHandler
print(core.__file__)
pd.__version__


..\core\__init__.py
Out[6]:
'0.19.2'

In [7]:
def print_workspaces():
    request = {'user_id': user_id} 
    respons = ekos.request_workspace_list(request)
    print('')
    print('='*100)
    print('Workspaces for user: {}'.format(user_id)) 
    print('')
    for item in respons['workspaces']:
        print('-'*100)
        for key in sorted(item.keys()):
            print('{}:\t{}'.format(key, item[key]))
        print('')
    print('='*100)
    
    
def print_json(data): 
    json_string = json.dumps(data, indent=2, sort_keys=True)
    print(json_string)

Load directories


In [10]:
root_directory = "../" #os.getcwd()
workspace_directory = root_directory + '/workspaces' 
resource_directory = root_directory + '/resources'
alias = 'lena'
user_id = 'test_user' #kanske ska vara off_line user?

In [283]:
ekos = EventHandler(root_directory)


2018-03-21 15:34:21,295	event_handler.py	64	__init__	DEBUG	Start EventHandler: event_handler
2018-03-21 15:34:21,303	event_handler.py	65	__init__	DEBUG	
2018-03-21 15:34:21,309	event_handler.py	66	__init__	INFO	TEST info logger
2018-03-21 15:34:21,315	event_handler.py	67	__init__	WARNING	TEST warning logger
2018-03-21 15:34:21,318	event_handler.py	68	__init__	ERROR	TEST error logger
2018-03-21 15:34:21,323	event_handler.py	69	__init__	DEBUG	TEST debug logger
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
dict_keys(['main_event_handler', 'subset_default_subset', 'workspace_9eea0d00-c024-410f-912a-980eed55acae', 'subset_361f36e9-c28a-4b3c-b21c-1da6e3bf1bdc'])
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
event_handler _ main_event_handler

In [10]:
# Remove all workspaces belonging to test user 
# ekos.remove_test_user_workspaces()

In [10]:
# remove selected workspace
workspace_uuid = ekos.get_unique_id_for_alias(user_id, 'lena_newdata')
#ekos.delete_workspace(user_id = user_id, unique_id = workspace_uuid, permanently=True)


2018-03-20 17:01:03,542	event_handler.py	324	delete_workspace	WARNING	Permanently deleting workspace "659baa8b-7c95-44d7-8924-1f1db9e1b6e2" with alias "lena_newdata".
status ['editable', 'readable', 'deleted']
Out[10]:
True

LOAD WORKSPACE

Load default workspace


In [7]:
#default_workspace = core.WorkSpace(alias = 'default_workspace', 
#                                   unique_id = 'default_workspace', 
#                                   parent_directory=workspace_directory,
#                                   resource_directory=resource_directory, 
#                                   user_id = 'default')

In [9]:
#default_workspace.step_0.print_all_paths()

In [8]:
#default_workspace.import_default_data()

Add new workspace

Only use this if you are not working with an already created workspace


In [257]:
ekos.copy_workspace(user_id = user_id, source_alias = 'default_workspace', target_alias = 'lena_newdata')


2018-03-21 15:29:41,584	event_handler.py	229	copy_workspace	DEBUG	Could not add workspace with alias "lena_newdata". Workspace already exists!
¤ lena_newdata
¤ test_user
Out[257]:
False

Load existing workspace


In [284]:
ekos.load_workspace(user_id, alias = 'lena_newdata')


2018-03-21 15:34:25,626	event_handler.py	1326	load_workspace	DEBUG	Trying to load workspace "9eea0d00-c024-410f-912a-980eed55acae" with alias "lena_newdata"
¤¤¤ alias lena_newdata
¤¤¤ unique_id 9eea0d00-c024-410f-912a-980eed55acae
¤¤¤ user_id test_user

====================================================================================================
Initiating WorkSpace: ..//workspaces/9eea0d00-c024-410f-912a-980eed55acae
Parent directory is: ..//workspaces
Resource directory is: ..//resources
=== 361f36e9-c28a-4b3c-b21c-1da6e3bf1bdc
status ['editable', 'readable', 'deleted']
!!! A
!!! 361f36e9-c28a-4b3c-b21c-1da6e3bf1bdc
!!! ..//workspaces/9eea0d00-c024-410f-912a-980eed55acae/subsets
----------------------------------------------------------------------------------------------------
Initiating Subset: ..//workspaces/9eea0d00-c024-410f-912a-980eed55acae/subsets/361f36e9-c28a-4b3c-b21c-1da6e3bf1bdc
===
..//workspaces/9eea0d00-c024-410f-912a-980eed55acae/subsets/361f36e9-c28a-4b3c-b21c-1da6e3bf1bdc
load_water_body_station_filter
Initiating WorkStep: ..//workspaces/9eea0d00-c024-410f-912a-980eed55acae/subsets/361f36e9-c28a-4b3c-b21c-1da6e3bf1bdc/step_1
load_water_body_station_filter
Initiating WorkStep: ..//workspaces/9eea0d00-c024-410f-912a-980eed55acae/subsets/361f36e9-c28a-4b3c-b21c-1da6e3bf1bdc/step_2
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
dict_keys(['main_event_handler', 'subset_default_subset', 'workspace_9eea0d00-c024-410f-912a-980eed55acae', 'subset_361f36e9-c28a-4b3c-b21c-1da6e3bf1bdc'])
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
361f36e9-c28a-4b3c-b21c-1da6e3bf1bdc _ main_event_handler
361f36e9-c28a-4b3c-b21c-1da6e3bf1bdc _ subset_default_subset
361f36e9-c28a-4b3c-b21c-1da6e3bf1bdc _ workspace_9eea0d00-c024-410f-912a-980eed55acae
361f36e9-c28a-4b3c-b21c-1da6e3bf1bdc _ subset_361f36e9-c28a-4b3c-b21c-1da6e3bf1bdc
=== default_subset
!!! default_subset
!!! default_subset
!!! ..//workspaces/9eea0d00-c024-410f-912a-980eed55acae/subsets
----------------------------------------------------------------------------------------------------
Initiating Subset: ..//workspaces/9eea0d00-c024-410f-912a-980eed55acae/subsets/default_subset
===
..//workspaces/9eea0d00-c024-410f-912a-980eed55acae/subsets/default_subset
load_water_body_station_filter
Initiating WorkStep: ..//workspaces/9eea0d00-c024-410f-912a-980eed55acae/subsets/default_subset/step_1
load_water_body_station_filter
Initiating WorkStep: ..//workspaces/9eea0d00-c024-410f-912a-980eed55acae/subsets/default_subset/step_2
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
dict_keys(['main_event_handler', 'subset_default_subset', 'workspace_9eea0d00-c024-410f-912a-980eed55acae', 'subset_361f36e9-c28a-4b3c-b21c-1da6e3bf1bdc'])
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
default_subset _ main_event_handler
default_subset _ subset_default_subset
load_water_body_station_filter
Initiating WorkStep: ..//workspaces/9eea0d00-c024-410f-912a-980eed55acae/step_0
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
dict_keys(['main_event_handler', 'subset_default_subset', 'workspace_9eea0d00-c024-410f-912a-980eed55acae', 'subset_361f36e9-c28a-4b3c-b21c-1da6e3bf1bdc'])
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
9eea0d00-c024-410f-912a-980eed55acae _ main_event_handler
9eea0d00-c024-410f-912a-980eed55acae _ subset_default_subset
9eea0d00-c024-410f-912a-980eed55acae _ workspace_9eea0d00-c024-410f-912a-980eed55acae
Out[284]:
True

In [285]:
workspace_uuid = ekos.get_unique_id_for_alias(user_id, 'lena_newdata')

In [286]:
workspace_uuid


Out[286]:
'9eea0d00-c024-410f-912a-980eed55acae'

In [287]:
ekos.workspaces


Out[287]:
{'9eea0d00-c024-410f-912a-980eed55acae': <core.workspaces.WorkSpace at 0x39e17080>}

Copy files from default workspace to make a clone


In [129]:
ekos.import_default_data(user_id, workspace_alias = workspace_uuid)


2018-03-21 14:17:39,983	event_handler.py	850	import_default_data	DEBUG	Trying to load default data in workspace "False" with alias "9eea0d00-c024-410f-912a-980eed55acae"
Out[129]:
False

Load all data in lv_workspace


In [288]:
ekos.load_data(user_id = user_id, unique_id = workspace_uuid)


2018-03-21 15:34:41,257	workspaces.py	1393	load_all_data	DEBUG	data has been loaded from existing all_data.txt file.

In [17]:
#os.path.exists(w.paths['directory_path_input_data']+'/exports')

In [289]:
w = ekos.get_workspace(user_id, unique_id = workspace_uuid, alias = 'lena_newdata')


2018-03-21 15:34:46,581	event_handler.py	851	get_workspace	DEBUG	Getting workspace "9eea0d00-c024-410f-912a-980eed55acae" with alias "lena_newdata"

In [290]:
len(w.data_handler.get_all_column_data_df())


Out[290]:
101465

In [265]:
#w.data_handler.physical_chemical.filter_parameters

In [266]:
use_parameters = w.data_handler.physical_chemical.filter_parameters['use_parameters']
print(use_parameters)


['TEMP_BTL', 'TEMP_CTD', 'SALT_BTL', 'SALT_CTD', 'DOXY_BTL', 'DOXY_CTD', 'HSUL', 'PHOS', 'NTRI', 'NTRA', 'NTRZ', 'AMON', 'CPHL', 'SECCHI', 'NTOT', 'PTOT']

In [267]:
compulsory_fields = w.data_handler.physical_chemical.filter_parameters['compulsory_fields']
display_columns = compulsory_fields + use_parameters
print(display_columns)


['MYEAR', 'SDATE', 'STIME', 'SHIPC', 'SERNO', 'STATN', 'LATIT_DD', 'LONGI_DD', 'VISS_EU_CD', 'WATER_BODY_NAME', 'SEA_BASIN', 'WATER_DISTRICT', 'WATER_TYPE_AREA', 'WLTYP', 'DEPH', 'PARAM', 'VALUE', 'QFLAG', 'TEMP_BTL', 'TEMP_CTD', 'SALT_BTL', 'SALT_CTD', 'DOXY_BTL', 'DOXY_CTD', 'HSUL', 'PHOS', 'NTRI', 'NTRA', 'NTRZ', 'AMON', 'CPHL', 'SECCHI', 'NTOT', 'PTOT']

In [38]:
df = w.data_handler.get_all_column_data_df()
df.columns
df[df.SEA_AREA_NAME.isnull()].loc[:,['DEPH', 'SALT_BTL',
     'SDATE', 'VISS_EU_CD', 'WATER_BODY_NAME', 'SEA_BASIN',
   'SECCHI', 'TEMP_BTL', 'VISS_EU_ID', 'WATER_DISTRICT', 'WATER_TYPE_AREA', 'MONTH']]


Out[38]:
DEPH SALT_BTL SDATE SEA_AREA_CODE SEA_AREA_NAME SEA_BASIN SECCHI TEMP_BTL VISS_EU_ID WATER_DISTRICT WATER_TYPE_AREA MONTH

In [268]:
df = w.data_handler.all_data
df[df.WATER_BODY_NAME.notnull()].loc[:,['DEPH', 'SALT_BTL',
       'SDATE', 'VISS_EU_CD', 'WATER_BODY_NAME', 'SEA_BASIN',
       'SECCHI', 'TEMP_BTL', 'VISS_EU_ID', 'WATER_DISTRICT', 'WATER_TYPE_AREA', 'MONTH']]


Out[268]:
DEPH SALT_BTL SDATE VISS_EU_CD WATER_BODY_NAME SEA_BASIN SECCHI TEMP_BTL VISS_EU_ID WATER_DISTRICT WATER_TYPE_AREA MONTH
0 NaN NaN 2016-12-13 SE584340-174401 Krabbfjärden V Gotlandshavet NaN NaN NaN Norra Östersjöns vattendistrikt 14 - Östergötlands yttre kustvatten 12
1 NaN NaN 2016-12-11 SE581700-113000 Gullmarn centralbassäng Skagerrak NaN NaN NaN Västerhavets vattendistrikt 02 - Västkustens fjordar 12
2 NaN NaN 2016-12-09 SE561400-161201 S Kalmarsunds utsjövatten V Gotlandshavet NaN NaN NaN Södra Östersjöns vattendistrikt 09 - Blekinge skärgård och Kalmarsund. Yttre k... 12
3 NaN NaN 2016-12-07 SE654470-222700 Gussöfjärden Bottenviken NaN NaN NaN Bottenvikens vattendistrikt 22 - Norra Bottenviken. Inre kustvatten 12
4 NaN NaN 2016-12-07 SE654470-222700 Gussöfjärden Bottenviken NaN NaN NaN Bottenvikens vattendistrikt 22 - Norra Bottenviken. Inre kustvatten 12
5 NaN NaN 2016-12-06 SE581700-113000 Gullmarn centralbassäng Skagerrak NaN NaN NaN Västerhavets vattendistrikt 02 - Västkustens fjordar 12
6 NaN NaN 2016-12-05 SE633000-195000 Örefjärden N Kvarken NaN NaN NaN Bottenvikens vattendistrikt 20 - Norra Kvarkens inre kustvatten 12
7 NaN NaN 2016-12-05 SE633000-195000 Örefjärden N Kvarken NaN NaN NaN Bottenvikens vattendistrikt 20 - Norra Kvarkens inre kustvatten 12
8 NaN NaN 2016-12-05 SE625180-181655 Gaviksfjärden Bottenhavet NaN NaN NaN Bottenhavets vattendistrikt 18 - Norra Bottenhavet. Höga kusten. Inre kust... 12
9 NaN NaN 2016-12-05 SE625180-181655 Gaviksfjärden Bottenhavet NaN NaN NaN Bottenhavets vattendistrikt 18 - Norra Bottenhavet. Höga kusten. Inre kust... 12
10 NaN NaN 2016-11-21 SE633000-195000 Örefjärden N Kvarken NaN NaN NaN Bottenvikens vattendistrikt 20 - Norra Kvarkens inre kustvatten 11
11 NaN NaN 2016-11-21 SE633000-195000 Örefjärden N Kvarken NaN NaN NaN Bottenvikens vattendistrikt 20 - Norra Kvarkens inre kustvatten 11
12 NaN NaN 2016-11-18 SE581700-113000 Gullmarn centralbassäng Skagerrak NaN NaN NaN Västerhavets vattendistrikt 02 - Västkustens fjordar 11
13 NaN NaN 2016-11-16 SE561400-161201 S Kalmarsunds utsjövatten V Gotlandshavet NaN NaN NaN Södra Östersjöns vattendistrikt 09 - Blekinge skärgård och Kalmarsund. Yttre k... 11
14 NaN NaN 2016-11-15 SE584340-174401 Krabbfjärden V Gotlandshavet NaN NaN NaN Norra Östersjöns vattendistrikt 14 - Östergötlands yttre kustvatten 11
15 NaN NaN 2016-11-09 SE654820-222660 Rånefjärden Bottenviken NaN NaN NaN Bottenvikens vattendistrikt 22 - Norra Bottenviken. Inre kustvatten 11
16 NaN NaN 2016-11-09 SE654820-222660 Rånefjärden Bottenviken NaN NaN NaN Bottenvikens vattendistrikt 22 - Norra Bottenviken. Inre kustvatten 11
17 NaN NaN 2016-11-09 SE654470-222700 Gussöfjärden Bottenviken NaN NaN NaN Bottenvikens vattendistrikt 22 - Norra Bottenviken. Inre kustvatten 11
18 NaN NaN 2016-11-09 SE654470-222700 Gussöfjärden Bottenviken NaN NaN NaN Bottenvikens vattendistrikt 22 - Norra Bottenviken. Inre kustvatten 11
19 NaN NaN 2016-11-08 SE584340-174401 Krabbfjärden V Gotlandshavet NaN NaN NaN Norra Östersjöns vattendistrikt 14 - Östergötlands yttre kustvatten 11
20 NaN NaN 2016-11-07 SE633000-195000 Örefjärden N Kvarken NaN NaN NaN Bottenvikens vattendistrikt 20 - Norra Kvarkens inre kustvatten 11
21 NaN NaN 2016-11-07 SE633000-195000 Örefjärden N Kvarken NaN NaN NaN Bottenvikens vattendistrikt 20 - Norra Kvarkens inre kustvatten 11
22 NaN NaN 2016-11-07 SE625180-181655 Gaviksfjärden Bottenhavet NaN NaN NaN Bottenhavets vattendistrikt 18 - Norra Bottenhavet. Höga kusten. Inre kust... 11
23 NaN NaN 2016-11-07 SE625180-181655 Gaviksfjärden Bottenhavet NaN NaN NaN Bottenhavets vattendistrikt 18 - Norra Bottenhavet. Höga kusten. Inre kust... 11
24 NaN NaN 2016-11-02 SE581700-113000 Gullmarn centralbassäng Skagerrak NaN NaN NaN Västerhavets vattendistrikt 02 - Västkustens fjordar 11
25 NaN NaN 2016-10-20 SE633000-195000 Örefjärden N Kvarken NaN NaN NaN Bottenvikens vattendistrikt 20 - Norra Kvarkens inre kustvatten 10
26 NaN NaN 2016-10-20 SE633000-195000 Örefjärden N Kvarken NaN NaN NaN Bottenvikens vattendistrikt 20 - Norra Kvarkens inre kustvatten 10
27 NaN NaN 2016-10-17 SE584340-174401 Krabbfjärden V Gotlandshavet NaN NaN NaN Norra Östersjöns vattendistrikt 14 - Östergötlands yttre kustvatten 10
28 NaN NaN 2016-10-14 SE581700-113000 Gullmarn centralbassäng Skagerrak NaN NaN NaN Västerhavets vattendistrikt 02 - Västkustens fjordar 10
29 NaN NaN 2016-10-04 SE581700-113000 Gullmarn centralbassäng Skagerrak NaN NaN NaN Västerhavets vattendistrikt 02 - Västkustens fjordar 10
... ... ... ... ... ... ... ... ... ... ... ... ...
101435 NaN NaN 2007-04-26 SE580500-111801 M Bohusläns skärgårds kustvatten Skagerrak NaN NaN NaN Västerhavets vattendistrikt 03 - Västkustens yttre kustvatten. Skagerrak 4
101436 NaN NaN 2007-04-26 SE580500-111801 M Bohusläns skärgårds kustvatten Skagerrak NaN NaN NaN Västerhavets vattendistrikt 03 - Västkustens yttre kustvatten. Skagerrak 4
101437 NaN NaN 2007-04-25 SE574000-114230 Dana fjord N Kattegatt NaN NaN NaN Västerhavets vattendistrikt 01s - Västkustens inre kustvatten 4
101438 NaN NaN 2007-04-25 SE574000-114230 Dana fjord N Kattegatt NaN NaN NaN Västerhavets vattendistrikt 01s - Västkustens inre kustvatten 4
101439 NaN NaN 2007-04-25 SE574000-114230 Dana fjord N Kattegatt NaN NaN NaN Västerhavets vattendistrikt 01s - Västkustens inre kustvatten 4
101440 NaN NaN 2007-04-25 SE574000-114230 Dana fjord N Kattegatt NaN NaN NaN Västerhavets vattendistrikt 01s - Västkustens inre kustvatten 4
101441 NaN NaN 2007-04-25 SE584725-111050 Lindöfjorden sek namn Skagerrak NaN NaN NaN Västerhavets vattendistrikt 01n - Västkustens inre kustvatten 4
101442 NaN NaN 2007-04-25 SE584725-111050 Lindöfjorden sek namn Skagerrak NaN NaN NaN Västerhavets vattendistrikt 01n - Västkustens inre kustvatten 4
101443 NaN NaN 2007-04-25 SE584400-116000 n Långebyområdet Skagerrak NaN NaN NaN Västerhavets vattendistrikt 01n - Västkustens inre kustvatten 4
101444 NaN NaN 2007-04-25 SE584400-116000 n Långebyområdet Skagerrak NaN NaN NaN Västerhavets vattendistrikt 01n - Västkustens inre kustvatten 4
101445 NaN NaN 2007-04-25 SE584200-105901 M n Bohusläns skärgårds kustvatten Skagerrak NaN NaN NaN Västerhavets vattendistrikt 03 - Västkustens yttre kustvatten. Skagerrak 4
101446 NaN NaN 2007-04-25 SE584200-105901 M n Bohusläns skärgårds kustvatten Skagerrak NaN NaN NaN Västerhavets vattendistrikt 03 - Västkustens yttre kustvatten. Skagerrak 4
101447 NaN NaN 2007-04-25 SE584200-105901 M n Bohusläns skärgårds kustvatten Skagerrak NaN NaN NaN Västerhavets vattendistrikt 03 - Västkustens yttre kustvatten. Skagerrak 4
101448 NaN NaN 2007-04-25 SE584200-105901 M n Bohusläns skärgårds kustvatten Skagerrak NaN NaN NaN Västerhavets vattendistrikt 03 - Västkustens yttre kustvatten. Skagerrak 4
101449 NaN NaN 2007-04-25 SE584200-105901 M n Bohusläns skärgårds kustvatten Skagerrak NaN NaN NaN Västerhavets vattendistrikt 03 - Västkustens yttre kustvatten. Skagerrak 4
101450 NaN NaN 2007-04-25 SE584200-105901 M n Bohusläns skärgårds kustvatten Skagerrak NaN NaN NaN Västerhavets vattendistrikt 03 - Västkustens yttre kustvatten. Skagerrak 4
101451 NaN NaN 2007-04-24 SE590670-111380 Singlefjorden Skagerrak NaN NaN NaN Västerhavets vattendistrikt 01n - Västkustens inre kustvatten 4
101452 NaN NaN 2007-04-24 SE590670-111380 Singlefjorden Skagerrak NaN NaN NaN Västerhavets vattendistrikt 01n - Västkustens inre kustvatten 4
101453 NaN NaN 2007-04-24 SE585600-110880 Strömstadsfjorden Skagerrak NaN NaN NaN Västerhavets vattendistrikt 01n - Västkustens inre kustvatten 4
101454 NaN NaN 2007-04-24 SE585600-110880 Strömstadsfjorden Skagerrak NaN NaN NaN Västerhavets vattendistrikt 01n - Västkustens inre kustvatten 4
101455 NaN NaN 2007-04-24 SE582700-110451 Sotefjorden Skagerrak NaN NaN NaN Västerhavets vattendistrikt 03 - Västkustens yttre kustvatten. Skagerrak 4
101456 NaN NaN 2007-04-24 SE582700-110451 Sotefjorden Skagerrak NaN NaN NaN Västerhavets vattendistrikt 03 - Västkustens yttre kustvatten. Skagerrak 4
101457 NaN NaN 2007-04-23 SE582000-112350 Yttre Brofjorden Skagerrak NaN NaN NaN Västerhavets vattendistrikt 01n - Västkustens inre kustvatten 4
101458 NaN NaN 2007-04-23 SE582000-112350 Yttre Brofjorden Skagerrak NaN NaN NaN Västerhavets vattendistrikt 01n - Västkustens inre kustvatten 4
101459 NaN NaN 2007-04-23 SE580500-111801 M Bohusläns skärgårds kustvatten Skagerrak NaN NaN NaN Västerhavets vattendistrikt 03 - Västkustens yttre kustvatten. Skagerrak 4
101460 NaN NaN 2007-04-23 SE580500-111801 M Bohusläns skärgårds kustvatten Skagerrak NaN NaN NaN Västerhavets vattendistrikt 03 - Västkustens yttre kustvatten. Skagerrak 4
101461 NaN NaN 2007-04-23 SE581700-113000 Gullmarn centralbassäng Skagerrak NaN NaN NaN Västerhavets vattendistrikt 02 - Västkustens fjordar 4
101462 NaN NaN 2007-04-23 SE581700-113000 Gullmarn centralbassäng Skagerrak NaN NaN NaN Västerhavets vattendistrikt 02 - Västkustens fjordar 4
101463 NaN NaN 2007-04-23 SE581700-113000 Gullmarn centralbassäng Skagerrak NaN NaN NaN Västerhavets vattendistrikt 02 - Västkustens fjordar 4
101464 NaN NaN 2007-04-23 SE581700-113000 Gullmarn centralbassäng Skagerrak NaN NaN NaN Västerhavets vattendistrikt 02 - Västkustens fjordar 4

101465 rows × 12 columns


In [102]:
#lv_workspace.data_handler. __getattribute__('physical_chemical_model').column_data['../ekostat_calculator/workspaces/lv/input_data/raw_data/110001_PROFILER_alldepths_SE652400-223501_toolbox.dat']

In [22]:
#lv_workspace.print_all_paths()

Set first filter and load filtered data

Set first data filter


In [269]:
# show available waterbodies
workspace_data = w.data_handler.get_all_column_data_df()
lst = workspace_data.WATER_BODY_NAME.unique()
print('WATER_BODY_NAME in workspace:\n{}'.format('\n'.join(lst)))


WATER_BODY_NAME in workspace:
Krabbfjärden
Gullmarn centralbassäng
S Kalmarsunds utsjövatten
Gussöfjärden
Örefjärden
Gaviksfjärden
Rånefjärden
Norafjärden
Sörleviken
Bäckfjärden
Idbyfjärden
Yttre Bråviken
Inre Slätbaken
Kärrfjärden
Kungshamn s skärgård
Halsefjorden
Älgöfjorden
Rivö fjord
Bollstafjärden
Mjältöfjärden sek namn
S n Kvarkens kustvatten
Fjärdgrundsområdet sek namn
Nordmalingsfjärden
Ö sydkustens kustvatten
Skälderviken
Björnöfjärden
Nämdöfjärden
Älgöfjärden
Sollenkrokafjärden
Edeboviken
Hargsviken
Örnsköldsviksfjärden
Kramforsfjärden sek namn
Draget
Sundsvallsfjärden
Sörbrändöfjärden
Granöfjärden
Mulöviken
Måttsundsfjärden
Möröfjärden
Megrundsområdet
Ostnäsfjärden
Raggavaviken
Österlångslädan
Kallriga Fjärden
Byfjorden
Hake fjord
Havstensfjorden
Laholmsbukten
Ersnäsfjärden
S m Bottenvikens kustvatten
Marstrandsfjorden
Repskärsfjärden
Norrbottens skärgårds kustvatten
Fjuksöfjärden
Kanholmsfjärden
Yxlaområdet
Baggensfjärden
Erstaviken
Skurusundet
Ingaröfjärden
Askrikefjärden
Stora Värtan
Lilla Värtan
Norra Vaxholmsfjärden
Solöfjärden
Trälhavet
Södra Vaxholmsfjärden
Torsbyfjärden
Kyrkfjärden
Strömmen
Östra Saxarfjärden
Eknösundet
Edsviken
Lindödjupet
Kaggebofjärden
Degeröfjärden
Svensbyfjärden
Trännöfjärden
Boviksfjärden
Inre Bråviken
Karlholmsfjärden
Västantillfjärden
Germandöfjärden
Börstskärsfjärden
Skutskärsfjärden sek namn
Gävlebuktens utsjövatten
Koljö fjord
Inre Kungsbackafjorden
Dana fjord
Onsala kustvatten
Yttre Brofjorden
S Kosterfjorden
Yttre Kungsbackafjorden
N m Hallands kustvatten
N n Kalmarsunds utsjövatten
Yttre Lulefjärden
Sandöfjärden
S Höga kustens kustvatten
Alnösundet
Klingerfjärden
Svartviksfjärden
Bergnäsfjärden
Haraholmsfjärden
Håkansöfjärden
Inrefjärden
Nördfjärden
Rävahavet
Törefjärden
Bastafjärden
Brändöfjärden
Inre Kågefjärden
Kågefjärden
Ursviksfjärden
Ytterviksfjärden
Sandarnesfjärden sek namn
Söderhamnsfjärden
Vallviksfjärden sek namn
Ljusnefjärden
Västerfjärden
Gumbodafjärden
Lillfjärden
Holmsund
Hörnefors området sek namn
Dockstafjärden
N Höga kustens kustvatten
Näskefjärden
N Bottenhavets kustvatten
Norrfjärden
N m Öresunds kustvatten
Ällöviken
Tennviken
Sannafjärden
Yttre Gaviksfjärden
Kaggfjärden
Lövstabukten
Östhammars kustvatten
Kapellskärsområdet
Bergshamraviken
Säbyvik
Östhammarfjärden sek namn
Norrtäljeviken
Burefjärden
Inre Lövselefjärden
Kalvfjärden
Grisslingen
Tavlefjärden
Horsfjärden
Mysingen
Nynäsviken
Seskaröfjärden
Siknäsfjärden
Skomakarfjärden
Sillöfjärden
Harrbäcksfjärden
Stavbofjärden
Hallsfjärden
Dragviksfjärden
Irevik
Ö Gotlands n kustvatten
Björköfjärden
Yttre Lövselefjärden
Sörfjärden
Inre Lulefjärden
Yttrefjärden
Täftefjärden
Yttre Täftefjärden
Ullångersfjärden
Gullviksfjärden sek namn
Åvikfjärden
Ultråfjärden
Tjäröfjärden
Kalvöfjorden
Stigfjorden
Askeröfjorden
Ellösefjorden
Snäckedjupet
Stridsfjorden
Råssö-Resöfjorden sek namn
Färlevfjorden
Sannäsfjorden sek namn
Tanumskilen
Brofjorden
Strömstadsfjorden
Inre Tjärnöarkipelagen
Fjällbacka inre skärgård
Hunnebostrand skärgård
Bottnefjorden
Grebbestad inre skärgård
Trälebergskile
Åbyfjorden
Askims fjord
Ö Gotlands s kustvatten
Dynekilen
Sotefjorden
M n Bohusläns skärgårds kustvatten
Lommabukten
S m Öresunds kustvatten
Inre Gamlebyviken
Vivassen
Västrumsfjärden
M n Kalmarsunds utsjövatten
Mönsteråsområdet sek namn
Lövöområdet sek namn
Ödänglaområdet sek namn
Emområdet sek namn
Gåsfjärden
Västra sjön
S n Kalmarsund
Fågelöfjärden
Inre Oskarshamnsområdet
Simpevarpsområdet
Pampusfjärden
Arkösund
Ronnebyfjärden
Torhamnsfjärden
Östra fjärden
Yttre redden
Hallarumsviken
Västra fjärden
S v s Kalmarsunds kustvatten
Orren
Inre Pukaviksbukten
Västra Blekinge skärgårds kustvatten
Karlshamnsfjärden
Sölvesborgsviken
Inre Valdemarsviken
Yttre Valdemarsviken
Halsöfjärden
V Hanöbuktens kustvatten
Skäldervikens kustvatten
Gällfjärden
Öregrunds kustvatten
Ängsfjärden sek namn
Ålandsfjärden sek namn
Blidösund
Norrfjärden sek namn
Näslandsfjärden
Igelstaviken
Brunnsviken
Fifångsdjupet
Fållnäsviken
Marsviken
Sjösafjärden
Risöområdet sek namn
Kråkfjärden
Gupafjärden
Gunnarbofjärden
Skettnefjärden
Hållsviken
Gillsviken
Asköfjärden
Örsbaken
Vissvassfjärden
Ällmorafjärden
Dragfjärden sek namn
Gränöfjärden
Hanstensfjärden
Söderarms skärgård
Träsköfjärden
Kallskärsfjärden
Kobbfjärden
Havssvalget
N Lidöfjärden sek namn
Tranaröfjärden
Kolström
Raggaröfjärden
Galtfjärden
Ortalaviken
Göteborgs n n skärgårds kustvatten
N Öresunds kustvatten
Lundåkrabukten
S Öresunds kustvatten
Kapellskärs hamnområde
Yttre Österfjärden
Vargödraget
Baggholmsdraget
Byskefjärden
Ramöfjärden sek namn
Storfjärden
Hemsösundet sek namn
Norra sundet
Södra Sundet
Husumbukten
Hudiksvallsfjärden
Gårdsfjärden
Agöfjärden sek namn
Njutångersfjärden
Siviksfjärden
Enångersfjärden
Göteborgs n skärgårds kustvatten
Mollöfjorden
Göteborgs s skärgårds kustvatten
Vårgärdssjön
Neglingeviken
Vätösundet
Skärsåfjärden sek namn
Åvikebukten
Sundsvallsbukten
Överbyfjärden
Älandsfjärden
Laholmsbuktens kustvatten
Singöfjärden
M Bohusläns skärgårds kustvatten
Norrsundet
Yttre Fjärden
Fårö n kustvatten
Edsätterfjärden
Mellersta Bråviken
Nätrafjärden
Omnefjärden
Harkskärsfjärden
Hilleviksfjärden
Hamnskär
S S M Bottenhavets kustvatten
Iggösundet
Fårösund
Lausvik
Klintehamnsviken sek namn
Käringöfjorden
Västerviks kustvatten
Gudingen
Danmarksfjärden
Tärnöfjärden sek namn
Inre Österfjärden
Stockholms skärgårds n n
Dekarsöfjärden
Nötbolandsfjärden
Hjärteröfjorden
Hesselöfjärden
Ytteröområdet
Korsfjärden
Rimmöfjärden sek namn
Salen
N M Bottenhavets kustvatten
Lubban
Juniskär-Bergsfjärden
Inre Tynderösundet
Åkeröfjärden
Risöfjärden
Inre Idefjorden
Idefjorden
Inre Singlefjorden
Singlefjorden
Svartlögafjärden
Vändelsöarkipelagen
N n Kvarkens kustvatten
Saltkällefjorden
Skelleftebukten
Simpan
Lindöfjorden sek namn
Kinnbäcksfjärden
Bodöfjärden
Helsingborgsområdet
Björkskärsfjärden
Balgöarkipelagen
Klosterfjorden
S m Hallands kustvatten
Kasfjärden sek namn
Långvindsfjärden
Varren
Kräklingeområdet
Kyrkefjälls sund
Risö-Säröarkipelagen
Öckerösund
n Långebyområdet
Fjällbacka yttre skärgård
V Gotlands m kustvatten
Bråvikens kustvatten
Finnfjärden
N S M Bottenhavets kustvatten
Mellersta Blekinge skärgårds kustvatten
Stärnö Sandvik
Yttre Pukaviksbukten
Mellersta Pukaviksbukten
Öregrundsgrepen
Järnavikafjärden sek namn
Kållafjärden
Valjeviken
Tistersöfjärden
S. Sigfridsöfjärden
Jävrefjärden
Bursfjärden
Nö Kobbfjärden sek namn
Lökharfjärden
Ormskärsfjärden sek namn
Midsommarfjärden
Bergöfjärden
Skelleftehamnsfjärden
Stockholms skärgårds m kustvatten
Östra Blekinge skärgårds kustvatten
Mannöfjärden
Holfjärden
S. Seskaröfjärden sek namn
Enskärsfjärden
Kvädöfjärden
Yttre Björköfjärden
Inre Fjärden
Jungfrufjärden
Gillögafjärden
Stockholms skärgårds s kustvatten

In [270]:
workspace_data.columns


Out[270]:
Index(['Unnamed: 0', 'AMON', 'BIOV_CONC_ALL', 'BQIm', 'CPHL_INTEG', 'DEPH',
       'DIN', 'DOXY_BTL', 'DOXY_CTD', 'LATIT_DD', 'LONGI_DD', 'MNDEP', 'MXDEP',
       'MYEAR', 'NTOT', 'NTRA', 'NTRI', 'NTRZ', 'PHOS', 'PTOT', 'Q_AMON',
       'Q_BIOV_CONC_ALL', 'Q_BQIm', 'Q_CPHL_INTEG', 'Q_DOXY_BTL', 'Q_DOXY_CTD',
       'Q_NTOT', 'Q_NTRA', 'Q_NTRI', 'Q_NTRZ', 'Q_PHOS', 'Q_PTOT',
       'Q_SALT_BTL', 'Q_SALT_CTD', 'Q_SECCHI', 'Q_TEMP_BTL', 'Q_TEMP_CTD',
       'SALT_BTL', 'SALT_CTD', 'SDATE', 'SEA_BASIN', 'SECCHI', 'SERNO',
       'SHARKID_MD5', 'SHIPC', 'STATN', 'STIME', 'TEMP_BTL', 'TEMP_CTD',
       'VISS_EU_CD', 'WATER_BODY_NAME', 'WATER_DISTRICT', 'WATER_TYPE_AREA',
       'WLTYP', 'MONTH'],
      dtype='object')

In [134]:
f0 = w.get_data_filter_object(step=0) 
f0.include_list_filter


Out[134]:
{'MYEAR': [], 'STATN': []}

In [135]:
#include_WB = ['Norrbottens skärgårds kustvatten']#,
                #'N S M Bottenhavets kustvatten'] 
include_stations = [] 
#exclude_WB = ['Norrbottens skärgårds kustvatten'] 
include_years = [] 

#w.set_data_filter(step=0, filter_type='include_list', filter_name='WATERBODY_NAME', data=include_WB)
w.set_data_filter(step=0, filter_type='include_list', filter_name='STATN', data=include_stations) 
#w.set_data_filter(step=0, filter_type='exclude_list', filter_name='WATERBODY_NAME', data=exclude_WB) 
w.set_data_filter(step=0, filter_type='include_list', filter_name='MYEAR', data=include_years)


FILTER_LIST []
FILTER_LIST []
Out[135]:
True

In [136]:
f0.exclude_list_filter


Out[136]:
{}

Apply first data filter


In [291]:
w.apply_data_filter(step = 0) # This sets the first level of data filter in the IndexHandler


step step_0

In [ ]:

Extract filtered data


In [292]:
data_after_first_filter = w.get_filtered_data(step=0) # level=0 means first filter 
print('{} rows matching the filter criteria'.format(len(data_after_first_filter)))


2018-03-21 15:35:06,897	workspaces.py	1262	get_filtered_data	DEBUG	STEP: step_0
101465 rows matching the filter criteria

In [241]:
# show available waterbodies
lst = data_after_first_filter.WATER_BODY_NAME.unique()
print('Waterbodies in workspace dataset:\n{}'.format('\n'.join(lst)))


Waterbodies in workspace dataset:
Krabbfjärden
Gullmarn centralbassäng
S Kalmarsunds utsjövatten
Gussöfjärden
Örefjärden
Gaviksfjärden
Rånefjärden
Norafjärden
Sörleviken
Bäckfjärden
Idbyfjärden
Yttre Bråviken
Inre Slätbaken
Kärrfjärden
Kungshamn s skärgård
Halsefjorden
Älgöfjorden
Rivö fjord
Bollstafjärden
Mjältöfjärden sek namn
S n Kvarkens kustvatten
Fjärdgrundsområdet sek namn
Nordmalingsfjärden
Ö sydkustens kustvatten
Skälderviken
Björnöfjärden
Nämdöfjärden
Älgöfjärden
Sollenkrokafjärden
Edeboviken
Hargsviken
Örnsköldsviksfjärden
Kramforsfjärden sek namn
Draget
Sundsvallsfjärden
Sörbrändöfjärden
Granöfjärden
Mulöviken
Måttsundsfjärden
Möröfjärden
Megrundsområdet
Ostnäsfjärden
Raggavaviken
Österlångslädan
Kallriga Fjärden
Byfjorden
Hake fjord
Havstensfjorden
Laholmsbukten
Ersnäsfjärden
S m Bottenvikens kustvatten
Marstrandsfjorden
Repskärsfjärden
Norrbottens skärgårds kustvatten
Fjuksöfjärden
Kanholmsfjärden
Yxlaområdet
Baggensfjärden
Erstaviken
Skurusundet
Ingaröfjärden
Askrikefjärden
Stora Värtan
Lilla Värtan
Norra Vaxholmsfjärden
Solöfjärden
Trälhavet
Södra Vaxholmsfjärden
Torsbyfjärden
Kyrkfjärden
Strömmen
Östra Saxarfjärden
Eknösundet
Edsviken
Lindödjupet
Kaggebofjärden
Degeröfjärden
Svensbyfjärden
Trännöfjärden
Boviksfjärden
Inre Bråviken
Karlholmsfjärden
Västantillfjärden
Germandöfjärden
Börstskärsfjärden
Skutskärsfjärden sek namn
Gävlebuktens utsjövatten
Koljö fjord
Inre Kungsbackafjorden
Dana fjord
Onsala kustvatten
Yttre Brofjorden
S Kosterfjorden
Yttre Kungsbackafjorden
N m Hallands kustvatten
N n Kalmarsunds utsjövatten
Yttre Lulefjärden
Sandöfjärden
S Höga kustens kustvatten
Alnösundet
Klingerfjärden
Svartviksfjärden
Bergnäsfjärden
Haraholmsfjärden
Håkansöfjärden
Inrefjärden
Nördfjärden
Rävahavet
Törefjärden
Bastafjärden
Brändöfjärden
Inre Kågefjärden
Kågefjärden
Ursviksfjärden
Ytterviksfjärden
Sandarnesfjärden sek namn
Söderhamnsfjärden
Vallviksfjärden sek namn
Ljusnefjärden
Västerfjärden
Gumbodafjärden
Lillfjärden
Holmsund
Hörnefors området sek namn
Dockstafjärden
N Höga kustens kustvatten
Näskefjärden
N Bottenhavets kustvatten
Norrfjärden
N m Öresunds kustvatten
Ällöviken
Tennviken
Sannafjärden
Yttre Gaviksfjärden
Kaggfjärden
Lövstabukten
Östhammars kustvatten
Kapellskärsområdet
Bergshamraviken
Säbyvik
Östhammarfjärden sek namn
Norrtäljeviken
Burefjärden
Inre Lövselefjärden
Kalvfjärden
Grisslingen
Tavlefjärden
Horsfjärden
Mysingen
Nynäsviken
Seskaröfjärden
Siknäsfjärden
Skomakarfjärden
Sillöfjärden
Harrbäcksfjärden
Stavbofjärden
Hallsfjärden
Dragviksfjärden
Irevik
Ö Gotlands n kustvatten
Björköfjärden
Yttre Lövselefjärden
Sörfjärden
Inre Lulefjärden
Yttrefjärden
Täftefjärden
Yttre Täftefjärden
Ullångersfjärden
Gullviksfjärden sek namn
Åvikfjärden
Ultråfjärden
Tjäröfjärden
Kalvöfjorden
Stigfjorden
Askeröfjorden
Ellösefjorden
Snäckedjupet
Stridsfjorden
Råssö-Resöfjorden sek namn
Färlevfjorden
Sannäsfjorden sek namn
Tanumskilen
Brofjorden
Strömstadsfjorden
Inre Tjärnöarkipelagen
Fjällbacka inre skärgård
Hunnebostrand skärgård
Bottnefjorden
Grebbestad inre skärgård
Trälebergskile
Åbyfjorden
Askims fjord
Ö Gotlands s kustvatten
Dynekilen
Sotefjorden
M n Bohusläns skärgårds kustvatten
Lommabukten
S m Öresunds kustvatten
Inre Gamlebyviken
Vivassen
Västrumsfjärden
M n Kalmarsunds utsjövatten
Mönsteråsområdet sek namn
Lövöområdet sek namn
Ödänglaområdet sek namn
Emområdet sek namn
Gåsfjärden
Västra sjön
S n Kalmarsund
Fågelöfjärden
Inre Oskarshamnsområdet
Simpevarpsområdet
Pampusfjärden
Arkösund
Ronnebyfjärden
Torhamnsfjärden
Östra fjärden
Yttre redden
Hallarumsviken
Västra fjärden
S v s Kalmarsunds kustvatten
Orren
Inre Pukaviksbukten
Västra Blekinge skärgårds kustvatten
Karlshamnsfjärden
Sölvesborgsviken
Inre Valdemarsviken
Yttre Valdemarsviken
Halsöfjärden
V Hanöbuktens kustvatten
Skäldervikens kustvatten
Gällfjärden
Öregrunds kustvatten
Ängsfjärden sek namn
Ålandsfjärden sek namn
Blidösund
Norrfjärden sek namn
Näslandsfjärden
Igelstaviken
Brunnsviken
Fifångsdjupet
Fållnäsviken
Marsviken
Sjösafjärden
Risöområdet sek namn
Kråkfjärden
Gupafjärden
Gunnarbofjärden
Skettnefjärden
Hållsviken
Gillsviken
Asköfjärden
Örsbaken
Vissvassfjärden
Ällmorafjärden
Dragfjärden sek namn
Gränöfjärden
Hanstensfjärden
Söderarms skärgård
Träsköfjärden
Kallskärsfjärden
Kobbfjärden
Havssvalget
N Lidöfjärden sek namn
Tranaröfjärden
Kolström
Raggaröfjärden
Galtfjärden
Ortalaviken
Göteborgs n n skärgårds kustvatten
N Öresunds kustvatten
Lundåkrabukten
S Öresunds kustvatten
Kapellskärs hamnområde
Yttre Österfjärden
Vargödraget
Baggholmsdraget
Byskefjärden
Ramöfjärden sek namn
Storfjärden
Hemsösundet sek namn
Norra sundet
Södra Sundet
Husumbukten
Hudiksvallsfjärden
Gårdsfjärden
Agöfjärden sek namn
Njutångersfjärden
Siviksfjärden
Enångersfjärden
Göteborgs n skärgårds kustvatten
Mollöfjorden
Göteborgs s skärgårds kustvatten
Vårgärdssjön
Neglingeviken
Vätösundet
Skärsåfjärden sek namn
Åvikebukten
Sundsvallsbukten
Överbyfjärden
Älandsfjärden
Laholmsbuktens kustvatten
Singöfjärden
M Bohusläns skärgårds kustvatten
Norrsundet
Yttre Fjärden
Fårö n kustvatten
Edsätterfjärden
Mellersta Bråviken
Nätrafjärden
Omnefjärden
Harkskärsfjärden
Hilleviksfjärden
Hamnskär
S S M Bottenhavets kustvatten
Iggösundet
Fårösund
Lausvik
Klintehamnsviken sek namn
Käringöfjorden
Västerviks kustvatten
Gudingen
Danmarksfjärden
Tärnöfjärden sek namn
Inre Österfjärden
Stockholms skärgårds n n
Dekarsöfjärden
Nötbolandsfjärden
Hjärteröfjorden
Hesselöfjärden
Ytteröområdet
Korsfjärden
Rimmöfjärden sek namn
Salen
N M Bottenhavets kustvatten
Lubban
Juniskär-Bergsfjärden
Inre Tynderösundet
Åkeröfjärden
Risöfjärden
Inre Idefjorden
Idefjorden
Inre Singlefjorden
Singlefjorden
Svartlögafjärden
Vändelsöarkipelagen
N n Kvarkens kustvatten
Saltkällefjorden
Skelleftebukten
Simpan
Lindöfjorden sek namn
Kinnbäcksfjärden
Bodöfjärden
Helsingborgsområdet
Björkskärsfjärden
Balgöarkipelagen
Klosterfjorden
S m Hallands kustvatten
Kasfjärden sek namn
Långvindsfjärden
Varren
Kräklingeområdet
Kyrkefjälls sund
Risö-Säröarkipelagen
Öckerösund
n Långebyområdet
Fjällbacka yttre skärgård
V Gotlands m kustvatten
Bråvikens kustvatten
Finnfjärden
N S M Bottenhavets kustvatten
Mellersta Blekinge skärgårds kustvatten
Stärnö Sandvik
Yttre Pukaviksbukten
Mellersta Pukaviksbukten
Öregrundsgrepen
Järnavikafjärden sek namn
Kållafjärden
Valjeviken
Tistersöfjärden
S. Sigfridsöfjärden
Jävrefjärden
Bursfjärden
Nö Kobbfjärden sek namn
Lökharfjärden
Ormskärsfjärden sek namn
Midsommarfjärden
Bergöfjärden
Skelleftehamnsfjärden
Stockholms skärgårds m kustvatten
Östra Blekinge skärgårds kustvatten
Mannöfjärden
Holfjärden
S. Seskaröfjärden sek namn
Enskärsfjärden
Kvädöfjärden
Yttre Björköfjärden
Inre Fjärden
Jungfrufjärden
Gillögafjärden
Stockholms skärgårds s kustvatten

Set subset filter and load subset data


In [139]:
#ekos.copy_subset(user_id, 
#                 workspace_alias='lena_newdata', 
#                 workspace_uuid=None, 
#                 subset_source_alias='default_subset', 
#                 subset_source_uuid='default_subset', 
#                 subset_target_alias='A')

In [293]:
subset_uuid = ekos.get_unique_id_for_alias(user_id, workspace_alias = 'lena_newdata', subset_alias = 'A')
w.get_subset_list()


Out[293]:
['361f36e9-c28a-4b3c-b21c-1da6e3bf1bdc', 'default_subset']

In [294]:
w.get_step_object(step = 2, subset = subset_uuid).allowed_data_filter_steps


Out[294]:
['step_0', 'step_1']

In [295]:
f1 = w.get_data_filter_object(subset = subset_uuid, step=1) 
f1.include_list_filter


Out[295]:
{'MYEAR': ['2013', '2014', '2015', '2016', '2017', '2018', '2019'],
 'STATN': [],
 'WATER_BODY': []}

In [296]:
w.apply_data_filter(subset = subset_uuid, step = 1)


step step_1

In [297]:
df_step1 = w.get_filtered_data(step = 1, subset = subset_uuid)
df_step1.columns


2018-03-21 15:35:16,343	workspaces.py	1262	get_filtered_data	DEBUG	STEP: step_1
Out[297]:
Index(['Unnamed: 0', 'AMON', 'BIOV_CONC_ALL', 'BQIm', 'CPHL_INTEG', 'DEPH',
       'DIN', 'DOXY_BTL', 'DOXY_CTD', 'LATIT_DD', 'LONGI_DD', 'MNDEP', 'MXDEP',
       'MYEAR', 'NTOT', 'NTRA', 'NTRI', 'NTRZ', 'PHOS', 'PTOT', 'Q_AMON',
       'Q_BIOV_CONC_ALL', 'Q_BQIm', 'Q_CPHL_INTEG', 'Q_DOXY_BTL', 'Q_DOXY_CTD',
       'Q_NTOT', 'Q_NTRA', 'Q_NTRI', 'Q_NTRZ', 'Q_PHOS', 'Q_PTOT',
       'Q_SALT_BTL', 'Q_SALT_CTD', 'Q_SECCHI', 'Q_TEMP_BTL', 'Q_TEMP_CTD',
       'SALT_BTL', 'SALT_CTD', 'SDATE', 'SEA_BASIN', 'SECCHI', 'SERNO',
       'SHARKID_MD5', 'SHIPC', 'STATN', 'STIME', 'TEMP_BTL', 'TEMP_CTD',
       'VISS_EU_CD', 'WATER_BODY_NAME', 'WATER_DISTRICT', 'WATER_TYPE_AREA',
       'WLTYP', 'MONTH'],
      dtype='object')

In [298]:
w.get_step_object(step = 2, subset = subset_uuid).load_indicator_settings_filters()

In [299]:
w.get_step_object(step = 2, subset = subset_uuid).indicator_data_filter_settings


Out[299]:
{'BQI': <core.filters.SettingsDataFilter at 0x2becd710>,
 'din_winter': <core.filters.SettingsDataFilter at 0x2becdbe0>,
 'dip_winter': <core.filters.SettingsDataFilter at 0x2becd7f0>,
 'ntot_summer': <core.filters.SettingsDataFilter at 0x2becdc18>,
 'ntot_winter': <core.filters.SettingsDataFilter at 0x2becda58>,
 'ptot_summer': <core.filters.SettingsDataFilter at 0x2becd978>,
 'ptot_winter': <core.filters.SettingsDataFilter at 0x2e2ddb38>}

In [300]:
dinw_filter_set = w.get_step_object(step = 2, subset = subset_uuid).get_indicator_data_filter_settings('din_winter')

In [301]:
dinw_filter_set.settings.df


Out[301]:
TYPE_AREA_NUMBER TYPE_AREA_SUFFIX DEPH_INTERVAL MIN_NR_YEARS MIN_NR_VALUES TIME_DELTA_TOLERANCE POS_RADIUS_TOLERANCE DEPH_TOLERANCE MONTH_LIST EKV REF EKV H/G EKV G/M EKV M/O EKV O/D EK H/G EK G/M EK M/O EK O/D SALINITY MAX
0 1 n 0-10 3 3 3 0.1 5 1;2;3;12 -0.51852*s+20 -0.64815*s+25 -0.77778*s+30 -1.1667*s+45 -1.8148*s+70 0.8 0.66 0.44 0.28 27
1 1 s 0-10 3 3 3 0.1 5 1;2;3;12 -0.525*s+15 -0.656*s+18.75 -0.7875*s+22.5 -1.1813*s+33.75 -1.838*s+52.5 0.8 0.67 0.44 0.29 20
2 2 NaN 0-10 3 3 3 0.1 5 1;2;3;12 -0.51852*s+20 -0.64815*s+25 -0.77778*s+30 -1.1667*s+45 -1.8148*s+70 0.8 0.66 0.44 0.28 27
3 3 NaN 0-10 3 3 3 0.1 5 1;2;3;12 -0.51852*s+20 -0.64815*s+25 -0.77778*s+30 -1.1667*s+45 -1.8148*s+70 0.8 0.66 0.44 0.28 27
4 4 NaN 0-10 3 3 3 0.1 5 1;2;3;12 -0.525*s+15 -0.656*s+18.75 -0.7875*s+22.5 -1.1813*s+33.75 -1.838*s+52.5 0.8 0.67 0.44 0.29 20
5 5 NaN 0-10 3 3 3 0.1 5 1;2;3;12 0.125*s+1.5 0.1563*s+1.88 0.1875*s+2.25 0.2813*s+3.375 0.4375*s+5.25 0.8 0.67 0.44 0.29 20
6 6 NaN 0-10 3 3 3 0.1 5 1;2;3;12 0.125*s+1.5 0.1563*s+1.88 0.1875*s+2.25 0.2813*s+3.375 0.4375*s+5.25 0.8 0.67 0.44 0.29 20
7 7 NaN 0-10 3 3 3 0.1 5 1;2;12 -4.928*s+37 -6.1618*s+46.2 -7.3929*s+55.5 -11.089*s+83.25 -17.25*s+130 0.8 0.67 0.45 0.29 7
8 8 NaN 0-10 3 3 3 0.1 5 1;2;12 -4.928*s+37 -6.1618*s+46.2 -7.3929*s+55.5 -11.089*s+83.25 -17.25*s+130 0.8 0.67 0.45 0.29 7
9 9 NaN 0-10 3 3 3 0.1 5 1;2;12 -4.928*s+37 -6.1618*s+46.2 -7.3929*s+55.5 -11.089*s+83.25 -17.25*s+130 0.8 0.67 0.45 0.29 7
10 10 NaN 0-10 3 3 3 0.1 5 1;2;12 0*s+2.5 0*s+3.125 0*s+3.75 0*s+5.625 0*s+8.75 0.81 0.66 0.45 0.28 7
11 11 NaN 0-10 3 3 3 0.1 5 1;2;12 0*s+2.5 0*s+3.125 0*s+3.75 0*s+5.625 0*s+8.75 0.81 0.66 0.45 0.28 7
12 12 s 0-10 3 3 3 0.1 5 1;2;12 -1.0833*s+9 -1.354*s+11.25 -1.625*s+13.5 -2.4375*s+20.25 -3.792*s+31.5 0.8 0.66 0.44 0.29 6
13 12 n 0-10 3 3 3 0.1 5 1;2;12 -0.75*s+7 -0.9375*s+8.75 -1.125*s+10.5 -1.6875*s+15.75 -2.625*s+24.5 0.8 0.67 0.44 0.29 6
14 13 NaN 0-10 3 3 3 0.1 5 1;2;12 -1.0833*s+9 -1.354*s+11.25 -1.625*s+13.5 -2.4375*s+20.25 -3.792*s+31.5 0.8 0.66 0.44 0.29 6
15 14 NaN 0-10 3 3 3 0.1 5 1;2;12 -1.0833*s+9 -1.354*s+11.25 -1.625*s+13.5 -2.4375*s+20.25 -3.792*s+31.5 0.8 0.66 0.44 0.29 6
16 15 NaN 0-10 3 3 3 0.1 5 1;2;12 -0.75*s+7 -0.9375*s+8.75 -1.125*s+10.5 -1.6875*s+15.75 -2.625*s+24.5 0.8 0.67 0.44 0.29 6
17 16 NaN 0-10 3 3 3 0.1 5 1;2;11;12 -0.4*s+5 -0.5*s+6.25 -0.6*s+7.5 -0.9*s+11.25 -1.4*s+17.5 0.8 0.67 0.44 0.29 5
18 17 NaN 0-10 3 3 3 0.1 5 1;2;11;12 -0.4*s+5 -0.5*s+6.25 -0.6*s+7.5 -0.9*s+11.25 -1.4*s+17.5 0.8 0.67 0.44 0.29 5
19 18 NaN 0-10 3 3 3 0.1 5 1;2;11;12 -0.2*s+5 -0.25*s+6.25 -0.3*s+7.5 -0.45*s+11.25 -0.7*s+17.5 0.8 0.66 0.44 0.28 5
20 19 NaN 0-10 3 3 3 0.1 5 1;2;11;12 -0.2*s+5 -0.25*s+6.25 -0.3*s+7.5 -0.45*s+11.25 -0.7*s+17.5 0.8 0.66 0.44 0.28 5
21 20 NaN 0-10 3 3 3 0.1 5 1;2;11;12 -0.76*s+8 -0.95*s+10 -1.14*s+12 -1.71*s+18 -2.66*s+28 0.8 0.67 0.44 0.29 5
22 21 NaN 0-10 3 3 3 0.1 5 1;2;11;12 -0.76*s+8 -0.95*s+10 -1.14*s+12 -1.71*s+18 -2.66*s+28 0.8 0.67 0.44 0.29 5
23 22 NaN 0-10 3 3 3 0.1 5 1;2;11;12 -1.333*s+9 -1.667*s+11.25 -2*s+13.5 -3*s+20.25 -4.667*s+31.5 0.8 0.67 0.44 0.29 3
24 23 NaN 0-10 3 3 3 0.1 5 1;2;11;12 -1.333*s+9 -1.667*s+11.25 -2*s+13.5 -3*s+20.25 -4.667*s+31.5 0.8 0.67 0.44 0.29 3
25 24 NaN 0-10 3 3 3 0.1 5 1;2;12 -0.75*s+7 -0.9375*s+8.75 -1.125*s+10.5 -1.6875*s+15.75 -2.625*s+24.5 0.8 0.67 0.44 0.29 6
26 25 NaN 0-10 3 3 3 0.1 5 1;2;3;12 -0.525*s+15 -0.656*s+18.75 -0.7875*s+22.5 -1.1813*s+33.75 -1.838*s+52.5 0.8 0.67 0.44 0.29 20

In [ ]:


In [302]:
wb_list = df_step1.VISS_EU_CD.unique()
len(wb_list)


Out[302]:
310

In [303]:
for wb in wb_list:
    print('*'*30)
    print(wb)
    w.apply_indicator_data_filter(step = 2, 
                              subset = subset_uuid, 
                              indicator = 'din_winter',
                              water_body = wb)


******************************
SE584340-174401
step step_2
water_body SE584340-174401
14
14

15    0-10
Name: DEPH_INTERVAL, dtype: object
0-10
DEPH_INTERVAL
= [0, 10] <class 'int'>
14
14

15    1;2;12
Name: MONTH_LIST, dtype: object
1;2;12
MONTH_LIST
= [1, 2, 12] <class 'int'>
******************************
SE581700-113000
step step_2
water_body SE581700-113000
2
2

2    0-10
Name: DEPH_INTERVAL, dtype: object
0-10
DEPH_INTERVAL
= [0, 10] <class 'int'>
2
2

2    1;2;3;12
Name: MONTH_LIST, dtype: object
1;2;3;12
MONTH_LIST
= [1, 2, 3, 12] <class 'int'>
******************************
SE561400-161201
step step_2
water_body SE561400-161201
9
9

9    0-10
Name: DEPH_INTERVAL, dtype: object
0-10
DEPH_INTERVAL
= [0, 10] <class 'int'>
9
9

9    1;2;12
Name: MONTH_LIST, dtype: object
1;2;12
MONTH_LIST
= [1, 2, 12] <class 'int'>
******************************
SE654470-222700
step step_2
water_body SE654470-222700
22
22

23    0-10
Name: DEPH_INTERVAL, dtype: object
0-10
DEPH_INTERVAL
= [0, 10] <class 'int'>
22
22

23    1;2;11;12
Name: MONTH_LIST, dtype: object
1;2;11;12
MONTH_LIST
= [1, 2, 11, 12] <class 'int'>
******************************
SE633000-195000
step step_2
water_body SE633000-195000
20
20

21    0-10
Name: DEPH_INTERVAL, dtype: object
0-10
DEPH_INTERVAL
= [0, 10] <class 'int'>
20
20

21    1;2;11;12
Name: MONTH_LIST, dtype: object
1;2;11;12
MONTH_LIST
= [1, 2, 11, 12] <class 'int'>
******************************
SE625180-181655
step step_2
water_body SE625180-181655
18
18

19    0-10
Name: DEPH_INTERVAL, dtype: object
0-10
DEPH_INTERVAL
= [0, 10] <class 'int'>
18
18

19    1;2;11;12
Name: MONTH_LIST, dtype: object
1;2;11;12
MONTH_LIST
= [1, 2, 11, 12] <class 'int'>
******************************
SE654820-222660
step step_2
water_body SE654820-222660
22
22

23    0-10
Name: DEPH_INTERVAL, dtype: object
0-10
DEPH_INTERVAL
= [0, 10] <class 'int'>
22
22

23    1;2;11;12
Name: MONTH_LIST, dtype: object
1;2;11;12
MONTH_LIST
= [1, 2, 11, 12] <class 'int'>
******************************
SE625000-180075
step step_2
water_body SE625000-180075
18
18

19    0-10
Name: DEPH_INTERVAL, dtype: object
0-10
DEPH_INTERVAL
= [0, 10] <class 'int'>
18
18

19    1;2;11;12
Name: MONTH_LIST, dtype: object
1;2;11;12
MONTH_LIST
= [1, 2, 11, 12] <class 'int'>
******************************
SE628750-183300
step step_2
water_body SE628750-183300
18
18

19    0-10
Name: DEPH_INTERVAL, dtype: object
0-10
DEPH_INTERVAL
= [0, 10] <class 'int'>
18
18

19    1;2;11;12
Name: MONTH_LIST, dtype: object
1;2;11;12
MONTH_LIST
= [1, 2, 11, 12] <class 'int'>
******************************
SE631346-184241
step step_2
water_body SE631346-184241
18
18

19    0-10
Name: DEPH_INTERVAL, dtype: object
0-10
DEPH_INTERVAL
= [0, 10] <class 'int'>
18
18

19    1;2;11;12
Name: MONTH_LIST, dtype: object
1;2;11;12
MONTH_LIST
= [1, 2, 11, 12] <class 'int'>
******************************
SE631646-185280
step step_2
water_body SE631646-185280
18
18

19    0-10
Name: DEPH_INTERVAL, dtype: object
0-10
DEPH_INTERVAL
= [0, 10] <class 'int'>
18
18

19    1;2;11;12
Name: MONTH_LIST, dtype: object
1;2;11;12
MONTH_LIST
= [1, 2, 11, 12] <class 'int'>
******************************
SE583730-164501
step step_2
water_body SE583730-164501
12-n
12
n
13    0-10
Name: DEPH_INTERVAL, dtype: object
0-10
DEPH_INTERVAL
= [0, 10] <class 'int'>
12-n
12
n
13    1;2;12
Name: MONTH_LIST, dtype: object
1;2;12
MONTH_LIST
= [1, 2, 12] <class 'int'>
******************************
SE582705-163350
step step_2
water_body SE582705-163350
13
13

14    0-10
Name: DEPH_INTERVAL, dtype: object
0-10
DEPH_INTERVAL
= [0, 10] <class 'int'>
13
13

14    1;2;12
Name: MONTH_LIST, dtype: object
1;2;12
MONTH_LIST
= [1, 2, 12] <class 'int'>
******************************
SE582050-165820
step step_2
water_body SE582050-165820
12-s
12
s
12    0-10
Name: DEPH_INTERVAL, dtype: object
0-10
DEPH_INTERVAL
= [0, 10] <class 'int'>
12-s
12
s
12    1;2;12
Name: MONTH_LIST, dtype: object
1;2;12
MONTH_LIST
= [1, 2, 12] <class 'int'>
******************************
SE582147-111771
step step_2
water_body SE582147-111771
1-n
1
n
0    0-10
Name: DEPH_INTERVAL, dtype: object
0-10
DEPH_INTERVAL
= [0, 10] <class 'int'>
1-n
1
n
0    1;2;3;12
Name: MONTH_LIST, dtype: object
1;2;3;12
MONTH_LIST
= [1, 2, 3, 12] <class 'int'>
******************************
SE580688-114860
step step_2
water_body SE580688-114860
2
2

2    0-10
Name: DEPH_INTERVAL, dtype: object
0-10
DEPH_INTERVAL
= [0, 10] <class 'int'>
2
2

2    1;2;3;12
Name: MONTH_LIST, dtype: object
1;2;3;12
MONTH_LIST
= [1, 2, 3, 12] <class 'int'>
******************************
SE575500-113750
step step_2
water_body SE575500-113750
1-n
1
n
0    0-10
Name: DEPH_INTERVAL, dtype: object
0-10
DEPH_INTERVAL
= [0, 10] <class 'int'>
1-n
1
n
0    1;2;3;12
Name: MONTH_LIST, dtype: object
1;2;3;12
MONTH_LIST
= [1, 2, 3, 12] <class 'int'>
******************************
SE574050-114780
step step_2
water_body SE574050-114780
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
D:\github\ekostat_calculator\core\mapping.py in get(self, key)
     97         try:
---> 98             return getattr(self, key.lower())
     99         except:

AttributeError: 'WaterBody' object has no attribute 'se574050-114780'

During handling of the above exception, another exception occurred:

AttributeError                            Traceback (most recent call last)
D:\github\ekostat_calculator\core\mapping.py in get(self, key)
    100             try:
--> 101                 return getattr(self, key)
    102             except:

AttributeError: 'WaterBody' object has no attribute 'SE574050-114780'

During handling of the above exception, another exception occurred:

AttributeError                            Traceback (most recent call last)
<ipython-input-303-4ba9f9a3cdba> in <module>()
      5                               subset = subset_uuid,
      6                               indicator = 'din_winter',
----> 7                               water_body = wb)

D:\github\ekostat_calculator\core\workspaces.py in apply_indicator_data_filter(self, subset, indicator, water_body, step)
   1041             filter_object = step_object.get_indicator_data_filter_settings(indicator)
   1042 
-> 1043         all_ok = self.index_handler.add_filter(filter_object=filter_object, step=step, subset=subset, indicator=indicator, water_body=water_body)
   1044         return all_ok
   1045 

D:\github\ekostat_calculator\core\index_handler.py in add_filter(self, filter_object, subset, step, water_body, indicator)
    226                                   filter_object=filter_object,
    227                                   df=df,
--> 228                                   wb=water_body)
    229 
    230 

D:\github\ekostat_calculator\core\index_handler.py in _add_boolean_to_dict(self, filter_object, df, wb, *args)
     82                 if bool_dict.get('boolean') is not None:
     83                     # Merge boolean from parent with new boolean from filter_object
---> 84                     bool_dict[key]['boolean'] = bool_dict.get('boolean') & filter_object.get_filter_boolean_for_df(df, water_body=wb)
     85 
     86                 else:

D:\github\ekostat_calculator\core\filters.py in get_filter_boolean_for_df(self, df, water_body)
    778 #        get_type_area_for_water_body(wb, include_suffix=False)
    779         return self.settings.get_filter_boolean_for_df(df=df, 
--> 780                                                        water_body=water_body)
    781 
    782 

D:\github\ekostat_calculator\core\filters.py in get_filter_boolean_for_df(self, df, water_body)
    654         """
    655         print('water_body', water_body)
--> 656         type_area = self.mapping_water_body.get_type_area_for_water_body(water_body, include_suffix=True)
    657         self.temp_type_area = type_area
    658 

D:\github\ekostat_calculator\core\mapping.py in get_type_area_for_water_body(self, wb, include_suffix, key_number, key_suffix)
    447                                      key_suffix=u'TYPE_AREA_SUFFIX'):
    448         if include_suffix:
--> 449             string = self.get(wb).get(key_number) + '-' + \
    450                      self.get(wb).get(key_suffix)
    451             return string.strip('-')

D:\github\ekostat_calculator\core\mapping.py in get(self, key)
    101                 return getattr(self, key)
    102             except:
--> 103                 return getattr(self, 'SE' + key)
    104 
    105     #==========================================================================

AttributeError: 'WaterBody' object has no attribute 'SESE574050-114780'

In [304]:
print(len(w.index_handler.booleans['step_0'][subset_uuid]['step_1']['step_2'].keys()))
w.index_handler.booleans['step_0'][subset_uuid]['step_1']['step_2'].keys()


19
Out[304]:
dict_keys(['boolean', 'SE584340-174401', 'SE581700-113000', 'SE561400-161201', 'SE654470-222700', 'SE633000-195000', 'SE625180-181655', 'SE654820-222660', 'SE625000-180075', 'SE628750-183300', 'SE631346-184241', 'SE631646-185280', 'SE583730-164501', 'SE582705-163350', 'SE582050-165820', 'SE582147-111771', 'SE580688-114860', 'SE575500-113750', 'SE574050-114780'])

In [305]:
w.index_handler.booleans['step_0'][subset_uuid]['step_1']['step_2']['SE654470-222700'].keys()


Out[305]:
dict_keys(['boolean', 'din_winter'])

In [88]:
#w.apply_data_filter(subset = 'f270cc60-a18f-4153-93f9-4d30c0246162', step = 2)

In [306]:
w.index_handler.booleans.keys()


Out[306]:
dict_keys(['step_0'])

In [165]:
#temp_df = w.get_filtered_data(step = 2, subset = subset_uuid, indicator = 'din_winter', water_body = 'SE654470-222700')
#temp_df.loc[(temp_df['MONTH'].isin([11, 12, 1, 2])) & (temp_df['SEA_AREA_CODE'].isin(['654470-222700']))][['MONTH', 'SEA_AREA_NAME', 'SEA_AREA_CODE', 'WATER_TYPE_AREA']]

In [307]:
w.get_filtered_data(step = 2, subset = subset_uuid, indicator = 'din_winter', water_body = 'SE654470-222700').MONTH.unique()#[['MONTH', 'SEA_AREA_NAME', 'SEA_AREA_CODE']]


2018-03-21 15:35:52,890	workspaces.py	1262	get_filtered_data	DEBUG	STEP: step_2
Out[307]:
array([12, 11,  1,  2], dtype=int64)

In [309]:
water_body = 'SE654470-222700'
temp_df = w.get_filtered_data(step = 2, subset = subset_uuid, indicator = 'din_winter', water_body = water_body)[['SDATE','MONTH', 'WATER_BODY_NAME', 'VISS_EU_CD', 'DIN','SALT_CTD', 'SALT_BTL']].dropna(thresh=7)
print('Waterbodys left: {}'.format(temp_df.loc[temp_df['VISS_EU_CD'].isin([water_body.strip('SE')])]['WATER_BODY_NAME'].unique()))
temp_df.loc[temp_df['VISS_EU_CD'].isin([water_body])]


2018-03-21 15:36:23,895	workspaces.py	1262	get_filtered_data	DEBUG	STEP: step_2
Waterbodys left: []
Out[309]:
SDATE MONTH WATER_BODY_NAME VISS_EU_CD DIN SALT_CTD SALT_BTL
7057 2016-12-07 12 Gussöfjärden SE654470-222700 6.35 2.000 2.000
7349 2016-11-09 11 Gussöfjärden SE654470-222700 7.56 2.000 2.000
10343 2016-01-27 1 Gussöfjärden SE654470-222700 11.37 2.000 2.000
11065 2015-12-02 12 Gussöfjärden SE654470-222700 5.86 1.945 1.951
17831 2015-02-11 2 Gussöfjärden SE654470-222700 9.05 0.660 0.800
18916 2014-12-03 12 Gussöfjärden SE654470-222700 5.07 2.285 2.288
27000 2013-12-04 12 Gussöfjärden SE654470-222700 5.57 2.373 2.374
27001 2013-12-04 12 Gussöfjärden SE654470-222700 5.66 2.373 2.374
27002 2013-12-04 12 Gussöfjärden SE654470-222700 5.75 2.373 2.374
34344 2013-01-15 1 Gussöfjärden SE654470-222700 6.49 1.384 0.619

In [310]:
w.get_available_indicators(subset= 'A', step=2)


2018-03-21 15:36:47,625	workspaces.py	1262	get_filtered_data	DEBUG	STEP: step_2
2018-03-21 15:36:47,725	workspaces.py	1262	get_filtered_data	DEBUG	STEP: step_2
2018-03-21 15:36:47,819	workspaces.py	1262	get_filtered_data	DEBUG	STEP: step_2
subset A
subset A
subset A
2018-03-21 15:36:47,923	workspaces.py	1262	get_filtered_data	DEBUG	STEP: step_2
2018-03-21 15:36:48,111	workspaces.py	1262	get_filtered_data	DEBUG	STEP: step_2
subset A
subset A
2018-03-21 15:36:48,206	workspaces.py	1262	get_filtered_data	DEBUG	STEP: step_2
2018-03-21 15:36:48,301	workspaces.py	1262	get_filtered_data	DEBUG	STEP: step_2
subset A
"['TOT_COVER_ALL' 'SALT'] not in index"
subset A
2018-03-21 15:36:48,408	workspaces.py	1262	get_filtered_data	DEBUG	STEP: step_2
2018-03-21 15:36:48,508	workspaces.py	1262	get_filtered_data	DEBUG	STEP: step_2
2018-03-21 15:36:48,602	workspaces.py	1262	get_filtered_data	DEBUG	STEP: step_2
subset A
subset A
subset A
2018-03-21 15:36:48,697	workspaces.py	1262	get_filtered_data	DEBUG	STEP: step_2
2018-03-21 15:36:48,805	workspaces.py	1262	get_filtered_data	DEBUG	STEP: step_2
subset A
subset A
Out[310]:
['biov',
 'bqi',
 'chl',
 'din_winter',
 'dip_winter',
 'ntot_summer',
 'ntot_winter',
 'o2',
 'ptot_summer',
 'ptot_winter',
 'secchi']

In [130]:
for indicator, parameters in w.cfg['indicators'].items():
    print(indicator, parameters)
    try:
        w.get_filtered_data(step = 1, subset = subset_uuid)[parameters].dropna(thresh = len(parameters))
    except KeyError as e:
        print(e)
        #if (w.get_filtered_data(step = 0)[parameters].dropna().count() >0).all():
        #    print(indicator)


2018-03-16 17:47:39,439	workspaces.py	1257	get_filtered_data	DEBUG	STEP: step_1
2018-03-16 17:47:39,439	workspaces.py	1257	get_filtered_data	DEBUG	STEP: step_1
2018-03-16 17:47:39,454	workspaces.py	1257	get_filtered_data	DEBUG	STEP: step_1
2018-03-16 17:47:39,454	workspaces.py	1257	get_filtered_data	DEBUG	STEP: step_1
2018-03-16 17:47:39,455	workspaces.py	1257	get_filtered_data	DEBUG	STEP: step_1
2018-03-16 17:47:39,455	workspaces.py	1257	get_filtered_data	DEBUG	STEP: step_1
2018-03-16 17:47:39,455	workspaces.py	1257	get_filtered_data	DEBUG	STEP: step_1
2018-03-16 17:47:39,458	workspaces.py	1257	get_filtered_data	DEBUG	STEP: step_1
2018-03-16 17:47:39,464	workspaces.py	1257	get_filtered_data	DEBUG	STEP: step_1
2018-03-16 17:47:39,469	workspaces.py	1257	get_filtered_data	DEBUG	STEP: step_1
2018-03-16 17:47:39,475	workspaces.py	1257	get_filtered_data	DEBUG	STEP: step_1
2018-03-16 17:47:39,480	workspaces.py	1257	get_filtered_data	DEBUG	STEP: step_1
biov ['BIOV_CONC']
bqi ['BQIm']
chl ['CPHL_SLANG/CPHL, SALT']
din_winter ['DIN', 'SALT_CTD']
dip_winter ['PHOS, SALT']
msmdi ['TOT_COVER_ALL, SALT']
ntot_summer ['NTOT, SALT']
ntot_winter ['NTOT, SALT']
o2 ['DOXY']
ptot_summer ['PTOT, SALT']
ptot_winter ['PTOT, SALT']
secchi ['SECCHI']

In [114]:
w.cfg['indicators']['din_winter']=['DIN', 'SALT_CTD']
w.cfg['indicators']
if len(w.get_filtered_data(step = 1)[['DIN', 'SALT_CTD']].apply(pd.to_numeric).dropna(thresh= 2)) > 0:
    print(w.get_filtered_data(step = 1)[['DIN', 'SALT_CTD']].apply(pd.to_numeric).dropna(thresh=2))


2018-03-21 13:34:35,244	workspaces.py	1262	get_filtered_data	DEBUG	STEP: step_1
2018-03-21 13:34:35,475	workspaces.py	1262	get_filtered_data	DEBUG	STEP: step_1
         DIN  SALT_CTD
5199    4.68     27.71
5200    4.55     27.66
5201    4.54     27.83
5202    4.23     28.88
5203    4.42     29.74
5204    4.19     30.83
5205    5.59     32.45
5206    8.84     19.77
5207    6.77     21.56
5208    5.68     22.20
5209    4.39     25.91
5211    4.63     26.80
5212    4.59     26.89
5213    4.59     27.07
5214    5.08     28.05
5215    5.34     29.65
5216    4.60     31.50
5217    4.31     32.48
5218    4.19     33.06
5219    4.60     33.34
5220   15.76     18.35
5221    8.59     24.19
5222    6.40     25.22
5223    6.46     27.98
5224    5.67     30.08
5225    5.34     31.16
5226    4.62     32.57
5227    5.18     33.19
5228    5.18     33.47
5229    7.32     33.80
...      ...       ...
91576   6.85      7.27
91577   7.09      7.30
91611   9.22     15.93
91612   9.11     18.25
91613   7.57     21.87
91614   7.73     27.00
91615   8.37     29.56
91617  19.52     14.46
91618  12.64     20.43
91619  10.87     20.87
91621  11.11     19.40
91622  10.44     20.41
91623  10.14     20.75
91624   8.89     28.10
91625   9.13     30.64
91626   8.79     31.99
91628   8.99     20.86
91629   8.23     21.31
91630   8.05     21.40
91631   7.81     24.89
91632   8.08     29.36
91633   8.39     32.89
91732  12.09     18.71
91733  11.70     26.53
91734  11.35     26.71
91735   9.38     31.37
91736   8.37     31.87
91737   7.84     32.30
91738   7.70     32.37
91739   7.43     32.67

[33216 rows x 2 columns]

In [116]:
w.get_filtered_data(step = 1)[['DIN', 'SALT_CTD']].apply(pd.to_numeric).dropna(thresh=2)


2018-03-21 13:35:23,156	workspaces.py	1262	get_filtered_data	DEBUG	STEP: step_1
Out[116]:
DIN SALT_CTD
5199 4.68 27.71
5200 4.55 27.66
5201 4.54 27.83
5202 4.23 28.88
5203 4.42 29.74
5204 4.19 30.83
5205 5.59 32.45
5206 8.84 19.77
5207 6.77 21.56
5208 5.68 22.20
5209 4.39 25.91
5211 4.63 26.80
5212 4.59 26.89
5213 4.59 27.07
5214 5.08 28.05
5215 5.34 29.65
5216 4.60 31.50
5217 4.31 32.48
5218 4.19 33.06
5219 4.60 33.34
5220 15.76 18.35
5221 8.59 24.19
5222 6.40 25.22
5223 6.46 27.98
5224 5.67 30.08
5225 5.34 31.16
5226 4.62 32.57
5227 5.18 33.19
5228 5.18 33.47
5229 7.32 33.80
... ... ...
91576 6.85 7.27
91577 7.09 7.30
91611 9.22 15.93
91612 9.11 18.25
91613 7.57 21.87
91614 7.73 27.00
91615 8.37 29.56
91617 19.52 14.46
91618 12.64 20.43
91619 10.87 20.87
91621 11.11 19.40
91622 10.44 20.41
91623 10.14 20.75
91624 8.89 28.10
91625 9.13 30.64
91626 8.79 31.99
91628 8.99 20.86
91629 8.23 21.31
91630 8.05 21.40
91631 7.81 24.89
91632 8.08 29.36
91633 8.39 32.89
91732 12.09 18.71
91733 11.70 26.53
91734 11.35 26.71
91735 9.38 31.37
91736 8.37 31.87
91737 7.84 32.30
91738 7.70 32.37
91739 7.43 32.67

33216 rows × 2 columns

Subset B step 1 load and filter data


In [239]:
# Must set filter to subset for len(boolean) to work when calling get_filtered_data, if no filters are set, boolean is None
exclude_year = [1985, 1986, 1987] 

lv_workspace.get_subset_object('A').set_data_filter(step=1, filter_type='exclude_list', filter_name='YEAR', data=exclude_year)


Out[239]:
True

In [109]:
B = lv_workspace.get_subset_object('B')
print(B.get_step_list())


['step_1', 'step_2']

In [27]:
os.listdir(B.paths['subset_directory'])


Out[27]:
['step_1', 'step_2', 'subset.cfg']

In [96]:
#include_WB = ['Norrbottens skärgårds kustvatten']
#lv_workspace.set_data_filter(step=1, subset='B', filter_type='include_list', filter_name='SEA_AREA_NAME', data=include_WB)
lv_workspace.get_subset_object('B').get_step_object('step_1').show_settings()
lv_workspace.get_subset_object('B').get_data_filter_object(step=1).exclude_list_filter


first_filter:
Out[96]:
{}

subset B step 2 - Load indicator_filters


In [40]:
B2 = B.get_step_object('step_2')
B2.load_indicator_settings_filters()

In [41]:
B2.print_all_paths()
#B2.add_files_from_workstep(default_workspace.get_step_0_object())


====================================================================================================
====================================================================================================
step_2 paths
----------------------------------------------------------------------------------------------------
../ekostat_calculator/workspaces/lv/subsets/B/step_2/data_filters
../ekostat_calculator/workspaces/lv/subsets/B/step_2/settings/indicator_settings
../ekostat_calculator/workspaces/lv/subsets/B/step_2/output
../ekostat_calculator/workspaces/lv/subsets/B/step_2/output/results
../ekostat_calculator/workspaces/lv/subsets/B/step_2/settings
../ekostat_calculator/workspaces/lv/subsets/B/step_2/settings/water_body
../ekostat_calculator/workspaces/lv/subsets/B/step_2/settings/indicator_settings/BQI.set
../ekostat_calculator/workspaces/lv/subsets/B/step_2/settings/indicator_settings/din_winter.set
../ekostat_calculator/workspaces/lv/subsets/B/step_2/settings/indicator_settings/dip_winter.set
../ekostat_calculator/workspaces/lv/subsets/B/step_2/settings/indicator_settings/ntot_summer.set
../ekostat_calculator/workspaces/lv/subsets/B/step_2/settings/indicator_settings/ntot_winter.set
../ekostat_calculator/workspaces/lv/subsets/B/step_2/settings/indicator_settings/ptot_summer.set
../ekostat_calculator/workspaces/lv/subsets/B/step_2/settings/indicator_settings/ptot_winter.set
../ekostat_calculator/workspaces/lv/subsets/B
../ekostat_calculator/workspaces/lv/subsets/B/step_2


In [42]:
B2.paths['directory_paths']['indicator_settings']
#os.listdir(A1.paths['directory_paths']['indicator_settings'])


Out[42]:
'../ekostat_calculator/workspaces/lv/subsets/B/step_2/settings/indicator_settings'

In [43]:
B2.allowed_indicator_settings_steps


Out[43]:
['step_2']

In [233]:
(lv_workspace.get_filtered_data(step = 0)[['DIN', 'SALT_BTL']].dropna().count() > 0).all()


STEP step_0
Out[233]:
True

In [208]:
for indicator, parameters in lv_workspace.cfg['indicators'].items():
    print(indicator, parameters)
    if lv_workspace.get_filtered_data(step = 0).columns.isin(parameters).all():
        print(lv_workspace.get_filtered_data(step = 0).columns)
        if (lv_workspace.get_filtered_data(step = 0)[parameters].dropna().count() >0).all():
            print(indicator)


biov ['BIOV_CONC']
STEP step_0
bqi ['BQIm']
STEP step_0
chl ['CPHL_SLANG/CPHL, SALT_BTL']
STEP step_0
din_winter ['DIN, SALT_BTL']
STEP step_0
dip_winter ['PHOS, SALT_BTL']
STEP step_0
msmdi ['TOT_COVER_ALL, SALT']
STEP step_0
ntot_summer ['NTOT, SALT_BTL']
STEP step_0
ntot_winter ['NTOT, SALT_BTL']
STEP step_0
o2 ['DOXY_BTL']
STEP step_0
ptot_summer ['PTOT, SALT_BTL']
STEP step_0
ptot_winter ['PTOT, SALT_BTL']
STEP step_0
secchi ['SECCHI']
STEP step_0

In [189]:
lv_workspace.get_filtered_data(step = 2, subset = 'B') # water_body and subset keywords does notseem to work, all waterbodies are returned


STEP step_2
Out[189]:
VISS_EU_ID SDATE DEPH SEA_AREA_NAME SALT_BTL DOXY_BTL PHOS NTRA AMON SECCHI NTOT PTOT DIN MONTH
0 SE652400-223501 1985-01-01 0.00 Norrbottens skärgårds kustvatten 3.000 8.081 0.500 3.003 0.100 6.8 18.401 0.619 3.1 1
1 SE652400-223501 1985-01-01 0.25 Norrbottens skärgårds kustvatten 3.000 8.081 0.500 3.003 0.100 6.8 18.401 0.619 3.1 1
2 SE652400-223501 1985-01-01 0.75 Norrbottens skärgårds kustvatten 3.000 8.074 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
3 SE652400-223501 1985-01-01 1.25 Norrbottens skärgårds kustvatten 3.000 8.070 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
4 SE652400-223501 1985-01-01 1.75 Norrbottens skärgårds kustvatten 3.000 8.067 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
5 SE652400-223501 1985-01-01 2.25 Norrbottens skärgårds kustvatten 3.000 8.065 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
6 SE652400-223501 1985-01-01 2.75 Norrbottens skärgårds kustvatten 3.000 8.063 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
7 SE652400-223501 1985-01-01 3.25 Norrbottens skärgårds kustvatten 3.000 8.062 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
8 SE652400-223501 1985-01-01 3.75 Norrbottens skärgårds kustvatten 3.000 8.061 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
9 SE652400-223501 1985-01-01 4.50 Norrbottens skärgårds kustvatten 3.000 8.059 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
10 SE652400-223501 1985-01-01 5.50 Norrbottens skärgårds kustvatten 3.000 8.057 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
11 SE652400-223501 1985-01-01 6.50 Norrbottens skärgårds kustvatten 3.000 8.055 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
12 SE652400-223501 1985-01-01 7.50 Norrbottens skärgårds kustvatten 3.000 8.053 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
13 SE652400-223501 1985-01-01 8.50 Norrbottens skärgårds kustvatten 3.000 8.052 0.500 3.003 0.100 6.8 18.431 0.621 3.1 1
14 SE652400-223501 1985-01-01 9.50 Norrbottens skärgårds kustvatten 3.000 8.050 0.500 3.003 0.100 6.8 18.431 0.621 3.1 1
15 SE652400-223501 1985-01-01 112.50 Norrbottens skärgårds kustvatten 3.000 7.994 0.501 3.017 0.100 6.8 18.444 0.621 3.12 1
16 SE652400-223501 1985-01-01 115.00 Norrbottens skärgårds kustvatten 3.000 7.994 0.501 3.017 0.100 6.8 18.444 0.621 3.12 1
17 SE652400-223501 1985-01-02 0.00 Norrbottens skärgårds kustvatten 3.000 8.183 0.501 3.015 0.100 6.8 18.403 0.619 3.12 1
18 SE652400-223501 1985-01-02 0.25 Norrbottens skärgårds kustvatten 3.000 8.183 0.501 3.015 0.100 6.8 18.403 0.619 3.12 1
19 SE652400-223501 1985-01-02 0.75 Norrbottens skärgårds kustvatten 3.000 8.177 0.501 3.015 0.100 6.8 18.430 0.620 3.12 1
20 SE652400-223501 1985-01-02 1.25 Norrbottens skärgårds kustvatten 3.000 8.174 0.501 3.015 0.100 6.8 18.430 0.620 3.12 1
21 SE652400-223501 1985-01-02 1.75 Norrbottens skärgårds kustvatten 3.000 8.172 0.501 3.015 0.100 6.8 18.430 0.620 3.12 1
22 SE652400-223501 1985-01-02 2.25 Norrbottens skärgårds kustvatten 3.000 8.170 0.501 3.015 0.100 6.8 18.430 0.620 3.12 1
23 SE652400-223501 1985-01-02 2.75 Norrbottens skärgårds kustvatten 3.000 8.169 0.501 3.015 0.100 6.8 18.430 0.620 3.12 1
24 SE652400-223501 1985-01-02 3.25 Norrbottens skärgårds kustvatten 3.000 8.167 0.501 3.015 0.100 6.8 18.430 0.620 3.12 1
25 SE652400-223501 1985-01-02 3.75 Norrbottens skärgårds kustvatten 3.000 8.166 0.501 3.015 0.100 6.8 18.430 0.620 3.12 1
26 SE652400-223501 1985-01-02 4.50 Norrbottens skärgårds kustvatten 3.000 8.165 0.501 3.015 0.100 6.8 18.430 0.620 3.12 1
27 SE652400-223501 1985-01-02 5.50 Norrbottens skärgårds kustvatten 3.000 8.163 0.501 3.015 0.100 6.8 18.430 0.620 3.12 1
28 SE652400-223501 1985-01-02 6.50 Norrbottens skärgårds kustvatten 3.000 8.162 0.501 3.015 0.100 6.8 18.431 0.620 3.12 1
29 SE652400-223501 1985-01-02 7.50 Norrbottens skärgårds kustvatten 3.000 8.160 0.501 3.015 0.100 6.8 18.431 0.620 3.12 1
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
106 SE652400-223501 1985-01-07 1.75 Norrbottens skärgårds kustvatten 3.039 8.552 0.453 3.213 0.113 7.2 18.111 0.553 3.33 1
107 SE652400-223501 1985-01-07 2.25 Norrbottens skärgårds kustvatten 3.045 8.547 0.449 3.215 0.111 7.2 18.092 0.549 3.33 1
108 SE652400-223501 1985-01-07 2.75 Norrbottens skärgårds kustvatten 3.050 8.542 0.446 3.217 0.109 7.2 18.077 0.546 3.33 1
109 SE652400-223501 1985-01-07 3.25 Norrbottens skärgårds kustvatten 3.054 8.538 0.443 3.219 0.107 7.2 18.065 0.543 3.33 1
110 SE652400-223501 1985-01-07 3.75 Norrbottens skärgårds kustvatten 3.058 8.534 0.441 3.221 0.106 7.2 18.055 0.541 3.33 1
111 SE652400-223501 1985-01-07 4.50 Norrbottens skärgårds kustvatten 3.062 8.528 0.438 3.223 0.104 7.2 18.045 0.538 3.33 1
112 SE652400-223501 1985-01-07 5.50 Norrbottens skärgårds kustvatten 3.066 8.521 0.435 3.226 0.103 7.2 18.039 0.536 3.33 1
113 SE652400-223501 1985-01-07 6.50 Norrbottens skärgårds kustvatten 3.068 8.515 0.433 3.229 0.102 7.2 18.039 0.534 3.33 1
114 SE652400-223501 1985-01-07 7.50 Norrbottens skärgårds kustvatten 3.070 8.510 0.432 3.233 0.101 7.2 18.043 0.534 3.33 1
115 SE652400-223501 1985-01-07 8.50 Norrbottens skärgårds kustvatten 3.071 8.506 0.432 3.236 0.101 7.2 18.052 0.534 3.34 1
116 SE652400-223501 1985-01-07 9.50 Norrbottens skärgårds kustvatten 3.072 8.503 0.431 3.239 0.100 7.2 18.061 0.534 3.34 1
117 SE652400-223501 1985-01-07 112.50 Norrbottens skärgårds kustvatten 3.262 7.961 0.426 4.257 0.099 7.2 17.547 0.538 4.36 1
118 SE652400-223501 1985-01-07 115.00 Norrbottens skärgårds kustvatten 3.262 7.961 0.426 4.257 0.099 7.2 17.547 0.538 4.36 1
119 SE652400-223501 1985-01-08 0.00 Norrbottens skärgårds kustvatten 3.034 8.571 0.451 3.248 0.119 7.2 18.108 0.549 3.37 1
120 SE652400-223501 1985-01-08 0.25 Norrbottens skärgårds kustvatten 3.034 8.571 0.451 3.248 0.119 7.2 18.108 0.549 3.37 1
121 SE652400-223501 1985-01-08 0.75 Norrbottens skärgårds kustvatten 3.033 8.571 0.451 3.248 0.119 7.2 18.113 0.549 3.37 1
122 SE652400-223501 1985-01-08 1.25 Norrbottens skärgårds kustvatten 3.035 8.571 0.450 3.249 0.118 7.2 18.108 0.549 3.37 1
123 SE652400-223501 1985-01-08 1.75 Norrbottens skärgårds kustvatten 3.039 8.569 0.448 3.250 0.116 7.2 18.095 0.546 3.37 1
124 SE652400-223501 1985-01-08 2.25 Norrbottens skärgårds kustvatten 3.046 8.565 0.444 3.252 0.114 7.2 18.075 0.541 3.37 1
125 SE652400-223501 1985-01-08 2.75 Norrbottens skärgårds kustvatten 3.052 8.561 0.440 3.255 0.112 7.2 18.058 0.538 3.37 1
126 SE652400-223501 1985-01-08 3.25 Norrbottens skärgårds kustvatten 3.058 8.558 0.437 3.257 0.110 7.2 18.043 0.534 3.37 1
127 SE652400-223501 1985-01-08 3.75 Norrbottens skärgårds kustvatten 3.062 8.554 0.434 3.259 0.109 7.2 18.031 0.531 3.37 1
128 SE652400-223501 1985-01-08 4.50 Norrbottens skärgårds kustvatten 3.068 8.548 0.430 3.262 0.106 7.2 18.015 0.528 3.37 1
129 SE652400-223501 1985-01-08 5.50 Norrbottens skärgårds kustvatten 3.073 8.541 0.427 3.266 0.104 7.2 18.002 0.524 3.37 1
130 SE652400-223501 1985-01-08 6.50 Norrbottens skärgårds kustvatten 3.077 8.535 0.424 3.270 0.103 7.2 17.996 0.522 3.37 1
131 SE652400-223501 1985-01-08 7.50 Norrbottens skärgårds kustvatten 3.080 8.530 0.423 3.274 0.102 7.2 17.996 0.521 3.38 1
132 SE652400-223501 1985-01-08 8.50 Norrbottens skärgårds kustvatten 3.081 8.525 0.421 3.278 0.101 7.2 18.000 0.520 3.38 1
133 SE652400-223501 1985-01-08 9.50 Norrbottens skärgårds kustvatten 3.082 8.521 0.421 3.282 0.101 7.2 18.007 0.520 3.38 1
134 SE652400-223501 1985-01-08 112.50 Norrbottens skärgårds kustvatten 3.300 7.911 0.419 4.454 0.100 7.2 17.461 0.531 4.55 1
135 SE652400-223501 1985-01-08 115.00 Norrbottens skärgårds kustvatten 3.300 7.911 0.419 4.454 0.100 7.2 17.461 0.531 4.55 1

136 rows × 14 columns


In [190]:
lv_workspace.cfg['indicators']


Out[190]:
indicator
biov                           [BIOV_CONC]
bqi                                 [BQIm]
chl            [CPHL_SLANG/CPHL, SALT_BTL]
din_winter                 [DIN, SALT_BTL]
dip_winter                [PHOS, SALT_BTL]
msmdi                [TOT_COVER_ALL, SALT]
ntot_summer               [NTOT, SALT_BTL]
ntot_winter               [NTOT, SALT_BTL]
o2                              [DOXY_BTL]
ptot_summer               [PTOT, SALT_BTL]
ptot_winter               [PTOT, SALT_BTL]
secchi                            [SECCHI]
Name: parameters, dtype: object

In [240]:
lv_workspace.get_available_indicators(subset = 'B', step = 'step_2')


STEP step_2
STEP step_2
STEP step_2
STEP step_2
STEP step_2
STEP step_2
STEP step_2
STEP step_2
STEP step_2
STEP step_2
STEP step_2
STEP step_2
Out[240]:
['din_winter',
 'dip_winter',
 'ntot_summer',
 'ntot_winter',
 'o2',
 'ptot_summer',
 'ptot_winter',
 'secchi']

Load Indicator objects


In [241]:
lv_workspace.load_indicators(subset = 'B')


STEP step_2
STEP step_2
STEP step_2
STEP step_2
STEP step_2
STEP step_2
STEP step_2
STEP step_2
STEP step_2
STEP step_2
STEP step_2
STEP step_2
['din_winter', 'dip_winter', 'ntot_summer', 'ntot_winter', 'o2', 'ptot_summer', 'ptot_winter', 'secchi']

In [242]:
s = lv_workspace.get_subset_object('B').indicator_objects['dip_winter']
s.get_filtered_data(subset = 'B', step = 'step_2')


Out[242]:
VISS_EU_ID SDATE DEPH SEA_AREA_NAME SALT_BTL DOXY_BTL PHOS NTRA AMON SECCHI NTOT PTOT DIN MONTH
0 SE652400-223501 1985-01-01 0.00 Norrbottens skärgårds kustvatten 3.000 8.081 0.500 3.003 0.100 6.8 18.401 0.619 3.1 1
1 SE652400-223501 1985-01-01 0.25 Norrbottens skärgårds kustvatten 3.000 8.081 0.500 3.003 0.100 6.8 18.401 0.619 3.1 1
2 SE652400-223501 1985-01-01 0.75 Norrbottens skärgårds kustvatten 3.000 8.074 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
3 SE652400-223501 1985-01-01 1.25 Norrbottens skärgårds kustvatten 3.000 8.070 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
4 SE652400-223501 1985-01-01 1.75 Norrbottens skärgårds kustvatten 3.000 8.067 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
5 SE652400-223501 1985-01-01 2.25 Norrbottens skärgårds kustvatten 3.000 8.065 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
6 SE652400-223501 1985-01-01 2.75 Norrbottens skärgårds kustvatten 3.000 8.063 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
7 SE652400-223501 1985-01-01 3.25 Norrbottens skärgårds kustvatten 3.000 8.062 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
8 SE652400-223501 1985-01-01 3.75 Norrbottens skärgårds kustvatten 3.000 8.061 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
9 SE652400-223501 1985-01-01 4.50 Norrbottens skärgårds kustvatten 3.000 8.059 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
10 SE652400-223501 1985-01-01 5.50 Norrbottens skärgårds kustvatten 3.000 8.057 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
11 SE652400-223501 1985-01-01 6.50 Norrbottens skärgårds kustvatten 3.000 8.055 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
12 SE652400-223501 1985-01-01 7.50 Norrbottens skärgårds kustvatten 3.000 8.053 0.500 3.003 0.100 6.8 18.430 0.621 3.1 1
13 SE652400-223501 1985-01-01 8.50 Norrbottens skärgårds kustvatten 3.000 8.052 0.500 3.003 0.100 6.8 18.431 0.621 3.1 1
14 SE652400-223501 1985-01-01 9.50 Norrbottens skärgårds kustvatten 3.000 8.050 0.500 3.003 0.100 6.8 18.431 0.621 3.1 1
15 SE652400-223501 1985-01-01 112.50 Norrbottens skärgårds kustvatten 3.000 7.994 0.501 3.017 0.100 6.8 18.444 0.621 3.12 1
16 SE652400-223501 1985-01-01 115.00 Norrbottens skärgårds kustvatten 3.000 7.994 0.501 3.017 0.100 6.8 18.444 0.621 3.12 1
17 SE652400-223501 1985-01-02 0.00 Norrbottens skärgårds kustvatten 3.000 8.183 0.501 3.015 0.100 6.8 18.403 0.619 3.12 1
18 SE652400-223501 1985-01-02 0.25 Norrbottens skärgårds kustvatten 3.000 8.183 0.501 3.015 0.100 6.8 18.403 0.619 3.12 1
19 SE652400-223501 1985-01-02 0.75 Norrbottens skärgårds kustvatten 3.000 8.177 0.501 3.015 0.100 6.8 18.430 0.620 3.12 1
20 SE652400-223501 1985-01-02 1.25 Norrbottens skärgårds kustvatten 3.000 8.174 0.501 3.015 0.100 6.8 18.430 0.620 3.12 1
21 SE652400-223501 1985-01-02 1.75 Norrbottens skärgårds kustvatten 3.000 8.172 0.501 3.015 0.100 6.8 18.430 0.620 3.12 1
22 SE652400-223501 1985-01-02 2.25 Norrbottens skärgårds kustvatten 3.000 8.170 0.501 3.015 0.100 6.8 18.430 0.620 3.12 1
23 SE652400-223501 1985-01-02 2.75 Norrbottens skärgårds kustvatten 3.000 8.169 0.501 3.015 0.100 6.8 18.430 0.620 3.12 1
24 SE652400-223501 1985-01-02 3.25 Norrbottens skärgårds kustvatten 3.000 8.167 0.501 3.015 0.100 6.8 18.430 0.620 3.12 1
25 SE652400-223501 1985-01-02 3.75 Norrbottens skärgårds kustvatten 3.000 8.166 0.501 3.015 0.100 6.8 18.430 0.620 3.12 1
26 SE652400-223501 1985-01-02 4.50 Norrbottens skärgårds kustvatten 3.000 8.165 0.501 3.015 0.100 6.8 18.430 0.620 3.12 1
27 SE652400-223501 1985-01-02 5.50 Norrbottens skärgårds kustvatten 3.000 8.163 0.501 3.015 0.100 6.8 18.430 0.620 3.12 1
28 SE652400-223501 1985-01-02 6.50 Norrbottens skärgårds kustvatten 3.000 8.162 0.501 3.015 0.100 6.8 18.431 0.620 3.12 1
29 SE652400-223501 1985-01-02 7.50 Norrbottens skärgårds kustvatten 3.000 8.160 0.501 3.015 0.100 6.8 18.431 0.620 3.12 1
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
106 SE652400-223501 1985-01-07 1.75 Norrbottens skärgårds kustvatten 3.039 8.552 0.453 3.213 0.113 7.2 18.111 0.553 3.33 1
107 SE652400-223501 1985-01-07 2.25 Norrbottens skärgårds kustvatten 3.045 8.547 0.449 3.215 0.111 7.2 18.092 0.549 3.33 1
108 SE652400-223501 1985-01-07 2.75 Norrbottens skärgårds kustvatten 3.050 8.542 0.446 3.217 0.109 7.2 18.077 0.546 3.33 1
109 SE652400-223501 1985-01-07 3.25 Norrbottens skärgårds kustvatten 3.054 8.538 0.443 3.219 0.107 7.2 18.065 0.543 3.33 1
110 SE652400-223501 1985-01-07 3.75 Norrbottens skärgårds kustvatten 3.058 8.534 0.441 3.221 0.106 7.2 18.055 0.541 3.33 1
111 SE652400-223501 1985-01-07 4.50 Norrbottens skärgårds kustvatten 3.062 8.528 0.438 3.223 0.104 7.2 18.045 0.538 3.33 1
112 SE652400-223501 1985-01-07 5.50 Norrbottens skärgårds kustvatten 3.066 8.521 0.435 3.226 0.103 7.2 18.039 0.536 3.33 1
113 SE652400-223501 1985-01-07 6.50 Norrbottens skärgårds kustvatten 3.068 8.515 0.433 3.229 0.102 7.2 18.039 0.534 3.33 1
114 SE652400-223501 1985-01-07 7.50 Norrbottens skärgårds kustvatten 3.070 8.510 0.432 3.233 0.101 7.2 18.043 0.534 3.33 1
115 SE652400-223501 1985-01-07 8.50 Norrbottens skärgårds kustvatten 3.071 8.506 0.432 3.236 0.101 7.2 18.052 0.534 3.34 1
116 SE652400-223501 1985-01-07 9.50 Norrbottens skärgårds kustvatten 3.072 8.503 0.431 3.239 0.100 7.2 18.061 0.534 3.34 1
117 SE652400-223501 1985-01-07 112.50 Norrbottens skärgårds kustvatten 3.262 7.961 0.426 4.257 0.099 7.2 17.547 0.538 4.36 1
118 SE652400-223501 1985-01-07 115.00 Norrbottens skärgårds kustvatten 3.262 7.961 0.426 4.257 0.099 7.2 17.547 0.538 4.36 1
119 SE652400-223501 1985-01-08 0.00 Norrbottens skärgårds kustvatten 3.034 8.571 0.451 3.248 0.119 7.2 18.108 0.549 3.37 1
120 SE652400-223501 1985-01-08 0.25 Norrbottens skärgårds kustvatten 3.034 8.571 0.451 3.248 0.119 7.2 18.108 0.549 3.37 1
121 SE652400-223501 1985-01-08 0.75 Norrbottens skärgårds kustvatten 3.033 8.571 0.451 3.248 0.119 7.2 18.113 0.549 3.37 1
122 SE652400-223501 1985-01-08 1.25 Norrbottens skärgårds kustvatten 3.035 8.571 0.450 3.249 0.118 7.2 18.108 0.549 3.37 1
123 SE652400-223501 1985-01-08 1.75 Norrbottens skärgårds kustvatten 3.039 8.569 0.448 3.250 0.116 7.2 18.095 0.546 3.37 1
124 SE652400-223501 1985-01-08 2.25 Norrbottens skärgårds kustvatten 3.046 8.565 0.444 3.252 0.114 7.2 18.075 0.541 3.37 1
125 SE652400-223501 1985-01-08 2.75 Norrbottens skärgårds kustvatten 3.052 8.561 0.440 3.255 0.112 7.2 18.058 0.538 3.37 1
126 SE652400-223501 1985-01-08 3.25 Norrbottens skärgårds kustvatten 3.058 8.558 0.437 3.257 0.110 7.2 18.043 0.534 3.37 1
127 SE652400-223501 1985-01-08 3.75 Norrbottens skärgårds kustvatten 3.062 8.554 0.434 3.259 0.109 7.2 18.031 0.531 3.37 1
128 SE652400-223501 1985-01-08 4.50 Norrbottens skärgårds kustvatten 3.068 8.548 0.430 3.262 0.106 7.2 18.015 0.528 3.37 1
129 SE652400-223501 1985-01-08 5.50 Norrbottens skärgårds kustvatten 3.073 8.541 0.427 3.266 0.104 7.2 18.002 0.524 3.37 1
130 SE652400-223501 1985-01-08 6.50 Norrbottens skärgårds kustvatten 3.077 8.535 0.424 3.270 0.103 7.2 17.996 0.522 3.37 1
131 SE652400-223501 1985-01-08 7.50 Norrbottens skärgårds kustvatten 3.080 8.530 0.423 3.274 0.102 7.2 17.996 0.521 3.38 1
132 SE652400-223501 1985-01-08 8.50 Norrbottens skärgårds kustvatten 3.081 8.525 0.421 3.278 0.101 7.2 18.000 0.520 3.38 1
133 SE652400-223501 1985-01-08 9.50 Norrbottens skärgårds kustvatten 3.082 8.521 0.421 3.282 0.101 7.2 18.007 0.520 3.38 1
134 SE652400-223501 1985-01-08 112.50 Norrbottens skärgårds kustvatten 3.300 7.911 0.419 4.454 0.100 7.2 17.461 0.531 4.55 1
135 SE652400-223501 1985-01-08 115.00 Norrbottens skärgårds kustvatten 3.300 7.911 0.419 4.454 0.100 7.2 17.461 0.531 4.55 1

136 rows × 14 columns


In [120]:
B2_NTOT_WINTER_SETTINGS = lv_workspace.get_subset_object('B').get_step_object('step_2').indicator_ref_settings['ntot_winter']
lv_workspace.get_subset_object('B').get_step_object('step_2').indicator_ref_settings['ntot_winter'].allowed_variables
# gör om till
# lv_workspace.get_indicator_ref_settings(step = , subset = , indicator = , waterbody/type)
# ger samma resultat som:
#lv_workspace.get_subset_object('B').get_step_object('step_2').indicator_ref_settings['ntot_winter'].settings.ref_columns

lv_workspace.get_subset_object('B').get_step_object('step_2').indicator_ref_settings['ntot_winter'].settings.get_value('EK G/M', 22)
#print(B2_NTOT_WINTER_SETTINGS)
#B2_NTOT_WINTER_SETTINGS.get_value('2', 'DEPTH_INTERVAL')


Out[120]:
'0.85'

In [124]:
av = lv_workspace.get_subset_object('B').get_step_object('step_2').indicator_data_filter_settings['ntot_winter'].allowed_variables
lv_workspace.get_subset_object('B').get_step_object('step_2').indicator_data_filter_settings['ntot_winter'].settings.df[av]


Out[124]:
DEPH_INTERVAL MONTH_LIST
0 0-10 1;2;3;12
1 0-10 1;2;3;12
2 0-10 1;2;3;12
3 0-10 1;2;3;12
4 0-10 1;2;3;12
5 0-10 1;2;3;12
6 0-10 1;2;3;12
7 0-10 1;2;12
8 0-10 1;2;12
9 0-10 1;2;12
10 0-10 1;2;12
11 0-10 1;2;12
12 0-10 1;2;12
13 0-10 1;2;12
14 0-10 1;2;12
15 0-10 1;2;12
16 0-10 1;2;12
17 0-10 1;2;11;12
18 0-10 1;2;11;12
19 0-10 1;2;11;12
20 0-10 1;2;11;12
21 0-10 1;2;11;12
22 0-10 1;2;11;12
23 0-10 1;2;11;12
24 0-10 1;2;11;12
25 0-10 1;2;12
26 0-10 1;2;3;12

In [119]:
lv_workspace.get_subset_object('B').get_step_object('step_2').indicator_data_filter_settings['ntot_winter'].settings.df


Out[119]:
TYPE_AREA_NUMBER TYPE_AREA_SUFFIX DEPH_INTERVAL MIN_NR_YEARS MIN_NR_VALUES TIME_DELTA_TOLERANCE POS_RADIUS_TOLERANCE DEPH_TOLERANCE MONTH_LIST EKV REF EKV H/G EKV G/M EKV M/O EKV O/D EK H/G EK G/M EK M/O EK O/D SALINITY MAX
0 1 n 0-10 3 3 3 0.1 5 1;2;3;12 -0.630*s+36 -0.715*s+40.86 -0.799*s+45.72 -1.0546*s+60.3 -1.480*s+84.6 0.88 0.79 0.6 0.43 27
1 1 s 0-10 3 3 3 0.1 5 1;2;3;12 -0.65*s+30 -0.738*s+34.05 -0.8255*s+38.1 -1.0888*s+50.25 -1.528*s+70.5 0.88 0.79 0.6 0.43 20
2 2 NaN 0-10 3 3 3 0.1 5 1;2;3;12 -0.630*s+36 -0.715*s+40.86 -0.799*s+45.72 -1.0546*s+60.3 -1.480*s+84.6 0.88 0.79 0.6 0.43 27
3 3 NaN 0-10 3 3 3 0.1 5 1;2;3;12 -0.630*s+36 -0.715*s+40.86 -0.799*s+45.72 -1.0546*s+60.3 -1.480*s+84.6 0.88 0.79 0.6 0.43 27
4 4 NaN 0-10 3 3 3 0.1 5 1;2;3;12 -0.65*s+30 -0.738*s+34.05 -0.8255*s+38.1 -1.0888*s+50.25 -1.528*s+70.5 0.88 0.79 0.6 0.43 20
5 5 NaN 0-10 3 3 3 0.1 5 1;2;3;12 0*s+17 0*s+19.295 0*s+21.59 0*s+28.475 0*s+39.95 0.89 0.77 0.61 0.43 20
6 6 NaN 0-10 3 3 3 0.1 5 1;2;3;12 0*s+17 0*s+19.295 0*s+21.59 0*s+28.475 0*s+39.95 0.89 0.77 0.61 0.43 20
7 7 NaN 0-10 3 3 3 0.1 5 1;2;12 -6*s+59 -6.6*s+64.9 -7.2*s+70.8 -9*s+88.5 -12*s+118 0.91 0.84 0.67 0.5 7
8 8 NaN 0-10 3 3 3 0.1 5 1;2;12 -6*s+59 -6.6*s+64.9 -7.2*s+70.8 -9*s+88.5 -12*s+118 0.91 0.84 0.67 0.5 7
9 9 NaN 0-10 3 3 3 0.1 5 1;2;12 -6*s+59 -6.6*s+64.9 -7.2*s+70.8 -9*s+88.5 -12*s+118 0.91 0.84 0.67 0.5 7
10 10 NaN 0-10 3 3 3 0.1 5 1;2;12 0*s+17 0*s+18.7 0*s+20.4 0*s+25.5 0*s+34 0.89 0.85 0.65 0.5 7
11 11 NaN 0-10 3 3 3 0.1 5 1;2;12 0*s+17 0*s+18.7 0*s+20.4 0*s+25.5 0*s+34 0.89 0.85 0.65 0.5 7
12 12 s 0-10 3 3 3 0.1 5 1;2;12 -2.833*s+34 -3.1167*s+37.4 -3.4*s+40.8 -4.25*s+51 -5.6667*s+68 0.91 0.83 0.66 0.5 6
13 12 n 0-10 3 3 3 0.1 5 1;2;12 -1*s+23 -1.1*s+25.3 -1.2*s+27.6 -1.5*s+34.5 -2*s+46 0.93 0.85 0.68 0.51 6
14 13 NaN 0-10 3 3 3 0.1 5 1;2;12 -2.833*s+34 -3.1167*s+37.4 -3.4*s+40.8 -4.25*s+51 -5.6667*s+68 0.91 0.83 0.66 0.5 6
15 14 NaN 0-10 3 3 3 0.1 5 1;2;12 -2.833*s+34 -3.1167*s+37.4 -3.4*s+40.8 -4.25*s+51 -5.6667*s+68 0.91 0.83 0.66 0.5 6
16 15 NaN 0-10 3 3 3 0.1 5 1;2;12 -1*s+23 -1.1*s+25.3 -1.2*s+27.6 -1.5*s+34.5 -2*s+46 0.93 0.85 0.68 0.51 6
17 16 NaN 0-10 3 3 3 0.1 5 1;2;11;12 -1*s+23 -1.1*s+25.3 -1.2*s+27.6 -1.5*s+34.5 -2*s+46 0.93 0.85 0.68 0.51 5
18 17 NaN 0-10 3 3 3 0.1 5 1;2;11;12 -1*s+23 -1.1*s+25.3 -1.2*s+27.6 -1.5*s+34.5 -2*s+46 0.93 0.85 0.68 0.51 5
19 18 NaN 0-10 3 3 3 0.1 5 1;2;11;12 -0.4*s+20 -0.44*s+22 -0.48*s+24 -0.6*s+30 -0.8*s+40 0.91 0.83 0.66 0.5 5
20 19 NaN 0-10 3 3 3 0.1 5 1;2;11;12 -0.4*s+20 -0.44*s+22 -0.48*s+24 -0.6*s+30 -0.8*s+40 0.91 0.83 0.66 0.5 5
21 20 NaN 0-10 3 3 3 0.1 5 1;2;11;12 -0.6*s+21 -0.66*s+23.1 -0.72*s+25.2 -0.9*s+31.5 -1.2*s+42 0.91 0.83 0.67 0.5 5
22 21 NaN 0-10 3 3 3 0.1 5 1;2;11;12 -0.6*s+21 -0.66*s+23.1 -0.72*s+25.2 -0.9*s+31.5 -1.2*s+42 0.91 0.83 0.67 0.5 5
23 22 NaN 0-10 3 3 3 0.1 5 1;2;11;12 -1*s+21 -1.09*s+22.89 -1.18*s+24.78 -1.45*s+30.45 -1.9*s+39.9 0.93 0.85 0.68 0.51 3
24 23 NaN 0-10 3 3 3 0.1 5 1;2;11;12 -1*s+21 -1.09*s+22.89 -1.18*s+24.78 -1.45*s+30.45 -1.9*s+39.9 0.93 0.85 0.68 0.51 3
25 24 NaN 0-10 3 3 3 0.1 5 1;2;12 -1*s+23 -1.1*s+25.3 -1.2*s+27.6 -1.5*s+34.5 -2*s+46 0.93 0.85 0.68 0.51 6
26 25 NaN 0-10 3 3 3 0.1 5 1;2;3;12 -0.65*s+30 -0.738*s+34.05 -0.8255*s+38.1 -1.0888*s+50.25 -1.528*s+70.5 0.88 0.79 0.6 0.43 20

In [67]:
B2_NTOT_WINTER_SETTINGS.settings.mapping_water_body['N m Bottenvikens kustvatten']


Out[67]:
{'BASIN_NUMBER': '110002.0',
 'CENTER_LAT': '64° 42\' 35,349"',
 'CENTER_LON': '21° 24\' 5,383"',
 'EU_CD': 'SE648760-213140',
 'HID': '649640-214530',
 'TYPE_AREA_NUMBER': '23',
 'TYPE_AREA_SUFFIX': '',
 'URL_VISS': 'http://www.viss.lansstyrelsen.se/waters.aspx?waterEUID=SE648760-213140'}

Set subset time and area filter


In [35]:
f1_A = lv_workspace.get_data_filter_object(step=1, subset='A') 
f1_A.include_list_filter


Out[35]:
{'MYEAR': ['2016', '2017'],
 'SEA_AREA_NAME': ['Gullmarn centralbassäng', 'Rivö fjord'],
 'STATN': ['BJÖRKHOLMEN']}

In [136]:
lv_workspace.get_data_filter_info(step=1, subset='A')


Out[136]:
{'exclude_list': ['MYEAR', 'SEA_AREA_NAME', 'STATN'],
 'include_list': ['MYEAR', 'SEA_AREA_NAME', 'STATN']}

In [36]:
f1_A.exclude_list_filter


Out[36]:
{'MYEAR': ['2015', '2016'], 'SEA_AREA_NAME': [], 'STATN': ['SLÄGGÖ']}

In [21]:
f0.include_list_filter


Out[21]:
{'MYEAR': ['2016', '2017'],
 'SEA_AREA_NAME': ['Byfjorden',
  'Gullmarn centralbassäng',
  'Havstensfjorden',
  'Rivö fjord'],
 'STATN': []}

Apply subset filter


In [22]:
lv_workspace.apply_subset_filter(subset='A') # Not handled properly by the IndexHandler


Out[22]:
True

Extract filtered data


In [23]:
data_after_subset_filter = lv_workspace.get_filtered_data(level=1, subset='A') # level=0 means first filter 
print('{} rows mathing the filter criteria'.format(len(data_after_subset_filter)))
data_after_subset_filter.head()


198 rows mathing the filter criteria
Out[23]:
AMON BQIm CPHL DEPH DOXY_BTL DOXY_CTD LATIT_DD LONGI_DD MNDEP MXDEP ... SERNO SHARKID_MD5 SHIPC STATN STIME TEMP_BTL TEMP_CTD WATER_DISTRICT WATER_TYPE_AREA WLTYP
2628 0.76 NaN 0.6 0.0 7.05 58.38767 11.62667 NaN NaN ... 8.0 NaN 77SN BJÖRKHOLMEN 17:30 4.96 4.84 Västerhavets vattendistrikt 02 - Västkustens fjordar 2 - Havsområde innanför 1 NM
2629 0.72 NaN 0.5 2.0 7.12 58.38767 11.62667 NaN NaN ... 8.0 NaN 77SN BJÖRKHOLMEN 17:30 4.93 4.84 Västerhavets vattendistrikt 02 - Västkustens fjordar 2 - Havsområde innanför 1 NM
2630 0.74 NaN 0.6 5.0 7.16 58.38767 11.62667 NaN NaN ... 8.0 NaN 77SN BJÖRKHOLMEN 17:30 4.88 4.84 Västerhavets vattendistrikt 02 - Västkustens fjordar 2 - Havsområde innanför 1 NM
2631 0.65 NaN 0.5 10.0 7.11 58.38767 11.62667 NaN NaN ... 8.0 NaN 77SN BJÖRKHOLMEN 17:30 5.12 4.86 Västerhavets vattendistrikt 02 - Västkustens fjordar 2 - Havsområde innanför 1 NM
2632 0.46 NaN 0.3 15.0 6.86 58.38767 11.62667 NaN NaN ... 8.0 NaN 77SN BJÖRKHOLMEN 17:30 5.52 5.10 Västerhavets vattendistrikt 02 - Västkustens fjordar 2 - Havsområde innanför 1 NM

5 rows × 46 columns


In [24]:
# show available waterbodies
lst = data_after_subset_filter.SEA_AREA_NAME.unique()
print('Waterbodies in subset:\n{}'.format('\n'.join(lst)))


Waterbodies in subset:
Gullmarn centralbassäng

In [24]:
import numpy as np
np.where(lv_workspace.index_handler.subset_filter)


Out[24]:
(array([2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2639,
        2754, 2755, 2756, 2757, 2758, 2759, 2760, 2761, 2762, 2763, 2764,
        2870, 2871, 2872, 2873, 2874, 2875, 2876, 2877, 2878, 2879, 2880,
        2952, 2953, 2954, 2955, 2956, 2957, 2958, 2959, 2960, 2961, 2962,
        3077, 3078, 3079, 3080, 3081, 3082, 3083, 3084, 3085, 3086, 3087,
        3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195,
        3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292,
        3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419,
        3493, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3501, 3502, 3503,
        3624, 3625, 3626, 3627, 3628, 3629, 3630, 3631, 3632, 3633, 3634,
        3717, 3718, 3719, 3720, 3721, 3722, 3723, 3724, 3725, 3726, 3727,
        3859, 3860, 3861, 3862, 3863, 3864, 3865, 3866, 3867, 3868, 3869,
        3979, 3980, 3981, 3982, 3983, 3984, 3985, 3986, 3987, 3988, 3989,
        4110, 4111, 4112, 4113, 4114, 4115, 4116, 4117, 4118, 4119, 4120,
        4265, 4266, 4267, 4268, 4269, 4270, 4271, 4272, 4273, 4274, 4275,
        4354, 4355, 4356, 4357, 4358, 4359, 4360, 4361, 4362, 4363, 4364,
        4502, 4503, 4504, 4505, 4506, 4507, 4508, 4509, 4510, 4511, 4512,
        4806, 4807, 4808, 4809, 4810, 4811, 4812, 4813, 4814, 4815, 4816], dtype=int64),)

In [25]:
f = lv_workspace.get_data_filter_object(step=1, subset='A')

In [26]:
f.all_filters


Out[26]:
{'exclude_list': ['MYEAR', 'SEA_AREA_NAME', 'STATN'],
 'include_list': ['MYEAR', 'SEA_AREA_NAME', 'STATN']}

In [27]:
f.exclude_list_filter


Out[27]:
{'MYEAR': ['2015', '2016'], 'SEA_AREA_NAME': [], 'STATN': ['SLÄGGÖ']}

In [28]:
f.include_list_filter


Out[28]:
{'MYEAR': ['2016', '2017'],
 'SEA_AREA_NAME': ['Gullmarn centralbassäng', 'Rivö fjord'],
 'STATN': ['BJÖRKHOLMEN']}

In [29]:
s = lv_workspace.get_step_1_object('A')

In [30]:
s.data_filter.all_filters


Out[30]:
{'exclude_list': ['MYEAR', 'SEA_AREA_NAME', 'STATN'],
 'include_list': ['MYEAR', 'SEA_AREA_NAME', 'STATN']}

In [31]:
f0 = lv_workspace.get_data_filter_object(step=0)

In [32]:
f0.exclude_list_filter


Out[32]:
{'MYEAR': ['2015', '2016'], 'SEA_AREA_NAME': [], 'STATN': []}

In [33]:
f0.include_list_filter


Out[33]:
{'MYEAR': ['2016', '2017'],
 'SEA_AREA_NAME': ['Byfjorden',
  'Gullmarn centralbassäng',
  'Havstensfjorden',
  'Rivö fjord'],
 'STATN': []}

In [ ]:

Quality factor Nutrients


In [ ]:
lv_workspace.initiate_quality_factors()

In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]: