def __init__(self): ''' Reads the NetCDF Dataset ''' self.filename="/gss/gss_work/DRES_OGS_BiGe/Observations/TIME_RAW_DATA/STATIC/Carbon/Dataset_Med_CarbSys.nc" self.DataExtractor = DatasetExtractor(self.filename) # DATA ELIMINATION in order to not duplicate values with nutrients dataset for cruisename in ['METEOR','METEOR51', 'METEOR95','PROSOPE']: iCruise = find_index(cruisename, self.DataExtractor.CRUISES) for var in ['nitrate','phosphate','silicate','oxygen']: ivar = find_index(var, self.DataExtractor.VARIABLES) ii = self.DataExtractor.DATA[-1,:] == (iCruise+1) self.DataExtractor.DATA[ivar,ii] = -999.0
class NutrientsReader(): def __init__(self): ''' Reads the NetCDF Dataset ''' self.filename="/gss/gss_work/DRES_OGS_BiGe/Observations/TIME_RAW_DATA/STATIC/Nutrients/Dataset_Med_Nutrients.nc" self.DataExtractor = DatasetExtractor(self.filename) def CruiseSelector(self, var,Cruisename): ''' Returns a profile list by selecting for variable (string) and Cruisename (string) var can be one of these: - nitrate - phosphate - silicate - oxygen Cruisename can be one of these 06MT51/2 BIOPT06 CANARI DYFAMED DYFAMED/PAPADOC - 99 MEDCIESM MEDGOOS2 MEDGOOS3 MEDGOOS4 MEDGOOS5 MELISSA 2004 MT84_3 NORBAL NORBAL2 NORBAL3 NORBAL4 POSEIDONE1M3A PROSOPE RHOFI 1 RHOFI 2 RHOFI 3 SINAPSI-3 SINAPSI-4 Returns a profile list ''' return self.DataExtractor.cruiseSelector(var, Cruisename) def Selector(self,var,T_int, region): ''' Returns a profile list by selecting for variable (string), T_int (TimeInterval object) region (region object) can be one of these: - nitrate - phosphate - silicate - oxygen if var is None, no selection is done about variable ''' if var is None: Profilelist=list() for myvar in ['nitrate','phosphate','silicate','oxygen']: sublist=self.DataExtractor.selector(myvar, T_int, region) for p in sublist: if not p in Profilelist: Profilelist.append(p) return Profilelist else: return self.DataExtractor.selector(var, T_int, region) def getAllprofiles(self, T_INT): Reg = Rectangle(-6,36,30,46) return self.Selector(None,T_INT, Reg)
def __init__(self): ''' Reads the NetCDF Dataset ''' self.filename="/gss/gss_work/DRES_OGS_BiGe/Observations/TIME_RAW_DATA/STATIC/Nutrients/Dataset_Med_Nutrients.nc" self.DataExtractor = DatasetExtractor(self.filename)
class CarbonReader(DatasetExtractor): def __init__(self): ''' Reads the NetCDF Dataset ''' self.filename="/gss/gss_work/DRES_OGS_BiGe/Observations/TIME_RAW_DATA/STATIC/Carbon/Dataset_Med_CarbSys.nc" self.DataExtractor = DatasetExtractor(self.filename) # DATA ELIMINATION in order to not duplicate values with nutrients dataset for cruisename in ['METEOR','METEOR51', 'METEOR95','PROSOPE']: iCruise = find_index(cruisename, self.DataExtractor.CRUISES) for var in ['nitrate','phosphate','silicate','oxygen']: ivar = find_index(var, self.DataExtractor.VARIABLES) ii = self.DataExtractor.DATA[-1,:] == (iCruise+1) self.DataExtractor.DATA[ivar,ii] = -999.0 def CruiseSelector(self, var,Cruisename): ''' Returns a profile list by selecting for variable (string) and Cruisename (string) var can be one of these: - DIC - ALK - temp - theta - salinity - silicate - nitrate - phosphate - oxygen - sigma_theta - density - sigma_t - pH25_sws - pH25_T Cruisename can be one of these METEOR METEOR51 METEOR95 BOUM 2008 PROSOPE EGEO APRIL EGEO SEPT REGINA MARIS Garcia del Cid SESAME - ADRIATICO 2008 CARBOGIB 1 CARBOGIB 2 CARBOGIB 3 CARBOGIB 4 CARBOGIB 5 CARBOGIB 6 GIFT 1 GIFT 2 DYFAMED Returns a profile list ''' return self.DataExtractor.cruiseSelector(var, Cruisename) def Selector(self,var,T_int, region): ''' Returns a profile list by selecting for variable (string), T_int (TimeInterval object) region (region object) var can be one of these: - DIC - ALK - temp - theta - salinity - silicate - nitrate - phosphate - oxygen - sigma_theta - density - sigma_t - pH25_sws - pH25_T ''' if var is None: Profilelist = list() for myvar in ['nitrate','phosphate','oxygen','silicate','DIC','ALK','temp','salinity','pH25_T']: Profilelist.extend(self.DataExtractor.selector(myvar, T_int, region)) return Profilelist return self.DataExtractor.selector(var, T_int, region)