def test_bgc_profiles(self): filename = 'IMOS_ANMN-NRS_CDEKOSTUZ_20121113T001841Z_NRSMAI_FV00_Profile-SBE-19plus_C-20151030T034432Z.nc' testfile = os.path.join(self.tempdir, filename) make_test_file(testfile, { 'site_code': 'NRSMAI', 'featureType': 'profile' }, TEMP={}, PRES={}, CNDC={}) dest_dir, dest_filename = os.path.split( MooringsFileClassifier.dest_path(testfile)) self.assertEqual(dest_dir, 'IMOS/ANMN/NRS/NRSMAI/Biogeochem_profiles/non-QC') self.assertEqual(dest_filename, filename) filename = 'IMOS_ANMN-WA_CDEKOSTUZ_20121113T013800Z_WACA20_FV01_3052.0-1-SBE19plus-70_C-20140211T090215Z.nc' testfile = os.path.join(self.tempdir, filename) make_test_file(testfile, { 'site_code': 'WACA20', 'featureType': 'profile' }, TEMP={}, PRES_REL={}, PSAL={}, DOX2={}) dest_dir, dest_filename = os.path.split( MooringsFileClassifier.dest_path(testfile)) self.assertEqual(dest_dir, 'IMOS/ANMN/WA/WACA20/Biogeochem_profiles') self.assertEqual(dest_filename, filename)
def test_velocity(self): filename = 'IMOS_ANMN-NRS_AETVZ_20150703T053000Z_NRSROT-ADCP_FV01_NRSROT-ADCP-1507-Workhorse-ADCP-43_END-20151023T034500Z_C-20151117T074309Z.nc' testfile = os.path.join(self.tempdir, filename) make_test_file(testfile, {'site_code': 'NRSROT'}, TEMP={}, PRES_REL={}, DEPTH={}, UCUR={}, VCUR={}, WCUR={}) dest_dir, dest_filename = os.path.split( MooringsFileClassifier.dest_path(testfile)) self.assertEqual(dest_dir, 'IMOS/ANMN/NRS/NRSROT/Velocity') self.assertEqual(dest_filename, filename) filename = 'IMOS_ANMN-NRS_AETVZ_20150703T053000Z_NRSROT-ADCP_FV00_NRSROT-ADCP-1507-Workhorse-ADCP-43_END-20151023T034500Z_C-20151117T074309Z.nc' testfile = os.path.join(self.tempdir, filename) make_test_file(testfile, {'site_code': 'NRSROT'}, UCUR_MAG={}, VCUR_MAG={}, CSPD={}) dest_dir, dest_filename = os.path.split( MooringsFileClassifier.dest_path(testfile)) self.assertEqual(dest_dir, 'IMOS/ANMN/NRS/NRSROT/Velocity/non-QC') self.assertEqual(dest_filename, filename)
def test_bgc_timeseries(self): filename = 'IMOS_ANMN-NRS_KOSTUZ_20150330T080039Z_NRSROT_FV01_NRSROT-1503-WQM-55_END-20150727T063234Z_C-20150731T040136Z.nc' testfile = os.path.join(self.tempdir, filename) make_test_file(testfile, { 'site_code': 'NRSROT', 'featureType': 'timeSeries' }, TEMP={}, PRES_REL={}, DEPTH={}, PSAL={}, DOX2={}, CPHL={}, TURB={}) dest_dir, dest_filename = os.path.split( MooringsFileClassifier.dest_path(testfile)) self.assertEqual(dest_dir, 'IMOS/ANMN/NRS/NRSROT/Biogeochem_timeseries') self.assertEqual(dest_filename, filename) filename = 'IMOS_ANMN-QLD_KUZ_20150328T203001Z_GBROTE_FV01_GBROTE-1503-ECO-FLNTUSB-18_END-20151013T030538Z_C-20160225T042413Z.nc' testfile = os.path.join(self.tempdir, filename) make_test_file(testfile, { 'site_code': 'GBROTE', 'featureType': 'timeseries' }, DEPTH={}, CPHL={}, TURB={}) dest_dir, dest_filename = os.path.split( MooringsFileClassifier.dest_path(testfile)) self.assertEqual(dest_dir, 'IMOS/ANMN/QLD/GBROTE/Biogeochem_timeseries') self.assertEqual(dest_filename, filename)
def test_unknown_product(self): filename = 'IMOS_ANMN-NRS_STZ_20170101T000000Z_NRSMAI_FV02.nc' testfile = os.path.join(self.tempdir, filename) make_test_file(testfile, { 'site_code': 'NRSMAI', 'featureType': 'timeSeriesProfile' }, TEMP={}, PSAL={}) with self.assertRaisesRegex( InvalidFileNameError, r"Can't determine product type from file name"): MooringsFileClassifier.dest_path(testfile)
def test_long_timeseries(self): filename = 'IMOS_ANMN-NRS_STZ_19441015T000000Z_NRSMAI_FV02_NRSMAI-long-timeseries_END-20140703T000000Z_C-20160525T064856Z.nc' testfile = os.path.join(self.tempdir, filename) make_test_file(testfile, { 'site_code': 'NRSMAI', 'featureType': 'timeSeriesProfile' }, TEMP={}, PSAL={}) dest_dir, dest_filename = os.path.split( MooringsFileClassifier.dest_path(testfile)) self.assertEqual(dest_dir, 'IMOS/ANMN/NRS/NRSMAI/aggregated_products') self.assertEqual(dest_filename, filename)
def test_wave(self): filename = 'IMOS_ANMN-NRS_WZ_20140914T075900Z_NRSDAR_FV01_NRSDAR-1409-SUB-Workhorse-ADCP-24.3_END-20150205T225900Z_C-20150326T055936Z.nc' testfile = os.path.join(self.tempdir, filename) make_test_file(testfile, { 'site_code': 'NRSDAR', 'featureType': 'doesntmatter' }, DEPTH={}, VAVH={}) dest_dir, dest_filename = os.path.split( MooringsFileClassifier.dest_path(testfile)) self.assertEqual(dest_dir, 'IMOS/ANMN/NRS/NRSDAR/Wave') self.assertEqual(dest_filename, filename)
def test_eco_parsb(self): filename = ( 'IMOS_ANMN-QLD_FZ_20180514T083000Z_GBRPPS_FV01_GBRPPS-1805-ECO-PARSB-26.5_END-20181110T074743Z' '_C-20190807T070104Z.nc') testfile = os.path.join(self.tempdir, filename) make_test_file(testfile, { 'site_code': 'GBRPPS', 'featureType': 'timeseries' }, PAR={}) dest_dir, dest_filename = os.path.split( MooringsFileClassifier.dest_path(testfile)) self.assertEqual(dest_dir, 'IMOS/ANMN/QLD/GBRPPS/Biogeochem_timeseries') self.assertEqual(dest_filename, filename)
def test_eco_bb2flwb(self): filename = ( 'IMOS_ANMN-NRS_EKZ_20130125T140759Z_NRSROT_FV01_NRSROT-1301-ECO-BB2FLWB-21_END-20130520T135245Z' '_C-20191115T024327Z.nc') testfile = os.path.join(self.tempdir, filename) make_test_file(testfile, { 'site_code': 'NRSROT', 'featureType': 'timeseries' }, CDOM={}, VSF470={}) dest_dir, dest_filename = os.path.split( MooringsFileClassifier.dest_path(testfile)) self.assertEqual(dest_dir, 'IMOS/ANMN/NRS/NRSROT/Biogeochem_timeseries') self.assertEqual(dest_filename, filename)
def test_burst_averaged(self): filename = 'IMOS_ANMN-NRS_KOSTUZ_20140808T080100Z_NRSROT_FV02_NRSROT-1408-WQM-55-burst-averaged_END-20141215T234700Z_C-20150319T075400Z.nc' testfile = os.path.join(self.tempdir, filename) make_test_file(testfile, { 'site_code': 'NRSROT', 'featureType': 'timeSeries' }, TEMP={}, PRES_REL={}, DEPTH={}, PSAL={}, DOX2={}, CPHL={}, TURB={}) dest_dir, dest_filename = os.path.split( MooringsFileClassifier.dest_path(testfile)) self.assertEqual( dest_dir, 'IMOS/ANMN/NRS/NRSROT/Biogeochem_timeseries/burst-averaged') self.assertEqual(dest_filename, filename)
def get_input_file_rel_path(input_netcdf_file_path): """ find the relative path hierarchy of an input FV01 file. The value will be used in a gatt of the burst netcdf file """ return MooringsFileClassifier.dest_path(input_netcdf_file_path)