FETSW

Target species invalid

Where the target species code is not amongst the list of valid species codes it is flagged and set to NULL so that it may be subsequently corrected during imputation.

-- © Copyright 2026 The Kahawai Collective
-- SPDX-License-Identifier: MIT
INSERT INTO grooming_rules
VALUES ('FETSW', 'edw', 'effort', 'Fix', 'Flag and set target species to null if target species is not a valid species code');

CREATE OR REPLACE FUNCTION FETSW()
RETURNS VOID AS $$

INSERT INTO groomed.checks (code, "table", "column", id, orig, new)
SELECT 'FETSW', 'effort', 'target_species', id, target_species, NULL
FROM   groomed.effort
  WHERE  target_species NOT IN (
        'AGR','ALB','ANC','ANG','ATO','BAR','BBE','BCA','BCD','BCO','BCR','BEA','BEE',
    'BEL','BEM','BFL','BGZ','BIG','BKM','BMA','BNS','BOA','BOE','BOX','BPF','BRA',
    'BRC','BRI','BRZ','BSH','BSK','BSP','BSQ','BTU','BUT','BWH','BWS','BYA','BYX',
    'CAC','CAN','CAR','CDL','CHC','CHI','CMO','COC','COE','COL','CON','CRA','CRB',
    'CSQ','CTU','CYO','CYP','DAN','DEA','DIS','DOF','DSK','DSS','DSU','DWD','DWE',
    'ECO','EEL','EGR','ELE','EMA','EMP','EPD','EPL','EPR','ERA','ESO','ETB','ETL',
    'FHD','FLA','FLY','FRO','GAR','GFL','GLM','GMU','GRA','GSC','GSE','GSH','GSP',
    'GSQ','GTR','GUR','HAP','HAG','HAK','HEP','HHS','HJO','HOK','HOR','HPB','ICX',
        'JAV','JDO','JGU','JMA','KAH','KBB','KBL','KEL','KIC','KIN','KOH','KTA','KWH',
    'LAN','LCH','LDO','LEA','LEG','LEP','LES','LFB','LFE','LIM','LIN','LSO','MAK',
    'MCA','MDI','MDO','MMI','MOK','MOO','MOR','MRL','MSG','MSP','MUN','MUS','NOT',
    'NSD','NTU','OAR','OCT','OEO','OFH','ONG','OPE','ORH','OSD','OYS','OYU','PAD',
    'PAI',
    'PAR','PAU','PDG','PDO','PGR','PHC','PIG','PIL','PIP','PMA','POP','POR','POS',
    'POY','PPI','PRA','PRK','PTE','PTO','PZL','QSC','RAG','RAT','RBM','RBT','RBY',
    'RCO','RDO','RHY','RIB','RMO','ROC','RPE','RRC','RSK','RSN','RUD','SAE','SAI',
    'SAL','SAM','SAU','SBK','SBO','SBW','SCA','SCC','SCG','SCH','SCI','SCM','SCO',
    'SDO','SEM','SEV','SFE','SFI','SFL','SFN','SKA','SKI','SKJ','SLG','SLK','SLO',
    'SMC','SNA','SND','SOR','SPD','SPE','SPF','SPI','SPO','SPP','SPR','SPZ','SQU',
    'SQX','SRR','SSF','SSH','SSI','SSK','SSO','STA','STM','STN','STR','STU','SUN',
    'SUR','SWA','SWO','TAR','THR','TOA','TOR','TRE','TRS','TRU','TUA','TUR','VCO',
    'WAH','WAR','WGR','WHE','WHR','WHX','WIT','WOE','WRA','WSE','WSQ','WWA','YBF',
    'YEM','YFN');

UPDATE groomed.effort
SET    checks = checks || '{FETSW}', target_species = NULL
FROM   groomed.checks u
WHERE  u.code = 'FETSW'
AND    groomed.effort.id = u.id;

$$ LANGUAGE SQL;
SELECT FETSW();
Effects of grooming
Figure 1: The number of records affected by the FETSW rule, by year and source.
Figure 2: The proportion of records affected by the FETSW rule, by form type, for all form types where some records are groomed by the FETSW rule.