本文整理汇总了Python中netCDF4.Dataset.platform_code方法的典型用法代码示例。如果您正苦于以下问题:Python Dataset.platform_code方法的具体用法?Python Dataset.platform_code怎么用?Python Dataset.platform_code使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类netCDF4.Dataset
的用法示例。
在下文中一共展示了Dataset.platform_code方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: makenetcdf_
# 需要导入模块: from netCDF4 import Dataset [as 别名]
# 或者: from netCDF4.Dataset import platform_code [as 别名]
def makenetcdf_(datasetname, lines):
filedate = getlinedate_(lines[0])
ncbytes = None
platform_code = getplatformcode_(datasetname)
filenameroot = "GL_TS_TS_" + getplatformcallsign_(platform_code) + "_" + filedate
# Open a new netCDF file
ncpath = tempfile.gettempdir() + "/" + filenameroot + ".nc"
nc = Dataset(ncpath, format="NETCDF4_CLASSIC", mode="w")
# The DEPTH dimension is singular. Assume 5m for ships
depthdim = nc.createDimension("DEPTH", 1)
# Time, lat and lon dimensions are created per record
timedim = nc.createDimension("TIME", None)
timevar = nc.createVariable("TIME", "d", ("TIME"), fill_value = 999999.0)
timevar.long_name = "Time"
timevar.standard_name = "time"
timevar.units = "days since 1950-01-01T00:00:00Z"
timevar.valid_min = -90000;
timevar.valid_max = 90000;
timevar.axis = "T"
latdim = nc.createDimension("LATITUDE", len(lines))
latvar = nc.createVariable("LATITUDE", "f", ("LATITUDE"),
fill_value = 99999.0)
latvar.long_name = "Latitude of each location"
latvar.standard_name = "latitude"
latvar.units = "degree_north"
latvar.valid_min = -90
latvar.valid_max = 90
latvar.axis = "Y"
latvar.reference = "WGS84"
latvar.coordinate_reference_frame = "urn:ogc:crs:EPSG::4326"
londim = nc.createDimension("LONGITUDE", len(lines))
lonvar = nc.createVariable("LONGITUDE", "f", ("LONGITUDE"),
fill_value = 99999.0)
lonvar.long_name = "Longitude of each location"
lonvar.standard_name = "longitude"
lonvar.units = "degree_east"
lonvar.valid_min = -180
lonvar.valid_max = 180
lonvar.axis = "X"
lonvar.reference = "WGS84"
lonvar.coordinate_reference_frame = "urn:ogc:crs:EPSG::4326"
positiondim = nc.createDimension("POSITION", len(lines))
# Record position bounds
minlon = 180
maxlon = -180
minlat = 90
maxlat = -90
# Fill in dimension variables
print(len(lines))
times = [0] * len(lines)
lats = [0] * len(lines)
lons = [0] * len(lines)
for i in range(0, len(lines)):
fields = str.split(lines[i], ",")
times[i] = maketimefield_(fields[0])
if i == 0:
starttime = maketimeobject_(fields[0])
if i == len(lines) - 1:
endtime = maketimeobject_(fields[0])
lats[i] = float(fields[2])
if lats[i] < minlat:
minlat = lats[i]
if lats[i] > maxlat:
maxlat = lats[i]
lons[i] = float(fields[1])
if lons[i] < minlon:
minlon = lons[i]
if lons[i] > maxlon:
maxlon = lons[i]
timevar[:] = times
latvar[:] = lats
lonvar[:] = lons
# QC flags for dimension variables. Assume all are good
timeqcvar = nc.createVariable("TIME_QC", "b", ("TIME"), \
fill_value = QC_FILL_VALUE)
assignqcvarattributes_(timeqcvar)
timeqcvar[:] = 1
positionqcvar = nc.createVariable("POSITION_QC", "b", ("POSITION"), \
fill_value = QC_FILL_VALUE)
assignqcvarattributes_(positionqcvar)
#.........这里部分代码省略.........
示例2: create_mhl_sst_ncfile
# 需要导入模块: from netCDF4 import Dataset [as 别名]
# 或者: from netCDF4.Dataset import platform_code [as 别名]
def create_mhl_sst_ncfile(txtfile, site_code_short, data,
time, dtime, spatial_data):
"""
create NetCDF file for MHL Wave data
"""
site_code = site_list[site_code_short][0]
netcdf_filename = create_netcdf_filename(site_code, data, dtime)
netcdf_filepath = os.path.join(
output_folder, "%s.nc") % netcdf_filename
ncfile = Dataset(netcdf_filepath, "w", format="NETCDF4")
# generate site and deployment specific attributes
ncfile.title = ("IMOS - ANMN New South Wales(NSW) %s "
"Sea water temperature (%s) -"
"Deployment No. %s %s to %s") % (
site_list[site_code_short][1], site_code,
spatial_data[0], min(dtime).strftime("%d-%m-%Y"),
max(dtime).strftime("%d-%m-%Y"))
ncfile.institution = 'Manly Hydraulics Laboratory'
ncfile.keywords = ('Oceans | Ocean temperature |'
'Sea Surface Temperature')
ncfile.principal_investigator = 'Mark Kulmar'
ncfile.cdm_data_type = 'Station'
ncfile.platform_code = site_code
abstract_default = ("The sea water temperature is measured by a thermistor mounted in the "
"buoy hull approximately 400 mm below the water "
"surface. The thermistor has a resolution of 0.05 "
"Celsius and an accuracy of 0.2 Celsius. The "
"measurements are transmitted to a shore station "
"where it is stored on a PC before routine transfer "
"to Manly Hydraulics Laboratory via email.")
if site_code_short in ['COF', 'CRH', 'EDE', 'PTK']:
abstract_specific = ("This dataset contains sea water temperature "
"data collected by a wave monitoring buoy moored off %s. ") % site_list[site_code_short][1]
else:
abstract_specific = ("This dataset contains sea water temperature "
"data collected by a wave monitoring buoy moored off %s "
"approximately %s kilometres from the coastline. ") % (
site_list[site_code_short][1], site_list[site_code_short][2])
ncfile.abstract = abstract_specific + abstract_default
ncfile.comment = ("The sea water temperature data (SST) is routinely quality controlled (usually twice per week) "
"using a quality control program developed by Manly Hydraulics Laboratory. The SST data gathered "
"by the buoy is regularly compared to the latest available satellite derived sea SST images available "
"from the Bluelink ocean forecasting web pages to ensure the integrity of the dataset. Erroneous SST "
"records are removed and good quality data is flagged as \'Quality Controlled\' in the "
"Manly Hydraulics Laboratory SST database.")
ncfile.sourceFilename = os.path.basename(txtfile)
ncfile.date_created = datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%SZ")
ncfile.time_coverage_start = min(dtime).strftime("%Y-%m-%dT%H:%M:%SZ")
ncfile.time_coverage_end = max(dtime).strftime("%Y-%m-%dT%H:%M:%SZ")
ncfile.geospatial_lat_min = spatial_data[1]
ncfile.geospatial_lat_max = spatial_data[1]
ncfile.geospatial_lon_min = spatial_data[2]
ncfile.geospatial_lon_max = spatial_data[2]
ncfile.geospatial_vertical_max = 0.
ncfile.geospatial_vertical_min = 0.
ncfile.deployment_number = str(spatial_data[0])
# add dimension and variables
ncfile.createDimension('TIME', len(time))
TIME = ncfile.createVariable('TIME', "d", 'TIME')
TIMESERIES = ncfile.createVariable('TIMESERIES', "i")
LATITUDE = ncfile.createVariable(
'LATITUDE', "d", fill_value=99999.)
LONGITUDE = ncfile.createVariable(
'LONGITUDE', "d", fill_value=99999.)
TEMP = ncfile.createVariable('TEMP', "f", 'TIME', fill_value=99999.)
# add global attributes and variable attributes stored in config files
config_file = os.path.join(os.getcwd(), 'global_att_sst.att')
generate_netcdf_att(ncfile, config_file,
conf_file_point_of_truth=False)
# replace nans with fillvalue in dataframe
data = data.fillna(value=float(99999.))
TIME[:] = time
TIMESERIES[:] = 1
LATITUDE[:] = spatial_data[1]
LONGITUDE[:] = spatial_data[2]
TEMP[:] = data['SEA_TEMP'].values
ncfile.close()
示例3: create_mhl_wave_ncfile
# 需要导入模块: from netCDF4 import Dataset [as 别名]
# 或者: from netCDF4.Dataset import platform_code [as 别名]
def create_mhl_wave_ncfile(txtfile, site_code_short, data,
time, dtime, spatial_data):
"""
create NetCDF file for MHL Wave data
"""
site_code = site_list[site_code_short][0]
netcdf_filename = create_netcdf_filename(site_code, data, dtime)
netcdf_filepath = os.path.join(
output_folder, "%s.nc") % netcdf_filename
ncfile = Dataset(netcdf_filepath, "w", format="NETCDF4")
# add IMOS1.4 global attributes and variable attributes stored in config
# files
config_file = os.path.join(os.getcwd(),'mhl_wave_library', 'global_att_wave.att')
generate_netcdf_att(ncfile, config_file,
conf_file_point_of_truth=False)
# Additional attribute either retrieved from original necdtf file
# (if exists) or defined below
original_netcdf_file_path = os.path.join(
input_folder, "%s.nc") % netcdf_filename
if os.path.exists(original_netcdf_file_path):
# get glob attributes from original netcdf files.
parse_nc_attribute(original_netcdf_file_path, ncfile)
else:
# generate site and deployment specific attributes
ncfile.title = ("IMOS - ANMN New South Wales(NSW) %s"
"Offshore Wave Data (% s) -"
"Deployment No. %s %s to %s") % (
site_list[site_code_short][1], site_code,
spatial_data[0], min(dtime).strftime("%d-%m-%Y"),
max(dtime).strftime("%d-%m-%Y"))
ncfile.institution = 'Manly Hydraulics Laboratory'
ncfile.keywords = ('Oceans | Ocean Waves |'
'Significant Wave Height, Oceans | Ocean Waves'
'| Wave Period, Oceans | Ocean Waves |'
'Wave Spectra, Oceans | Ocean Waves |'
'Wave Speed / direction')
ncfile.principal_investigator = 'Mark Kulmar'
ncfile.cdm_data_type = 'Station'
ncfile.platform_code = site_code
ncfile.site_name = site_list[site_code_short][1]
if site_code in ['WAVEPOK', 'WAVECOH', 'WAVECRH', 'WAVEEDN']:
config_file = os.path.join(
os.getcwd(), 'common', 'abstract_WAVE_default.att')
elif site_code == 'WAVEBAB':
config_file = os.path.join(os.getcwd(),'common', 'abstract_WAVEBAB.att')
elif site_code == 'WAVEBYB':
config_file = os.path.join(os.getcwd(), 'common', 'abstract_WAVEBYB.att')
else: # WAVESYD
config_file = os.path.join(os.getcwd(), 'common', 'abstract_WAVESYD.att')
generate_netcdf_att(ncfile, config_file,
conf_file_point_of_truth=False)
ncfile.sourceFilename = os.path.basename(txtfile)
ncfile.date_created = datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%SZ")
ncfile.time_coverage_start = min(dtime).strftime("%Y-%m-%dT%H:%M:%SZ")
ncfile.time_coverage_end = max(dtime).strftime("%Y-%m-%dT%H:%M:%SZ")
ncfile.geospatial_lat_min = spatial_data[1]
ncfile.geospatial_lat_max = spatial_data[1]
ncfile.geospatial_lon_min = spatial_data[2]
ncfile.geospatial_lon_max = spatial_data[2]
ncfile.geospatial_vertical_max = 0.
ncfile.geospatial_vertical_min = 0.
ncfile.deployment_number = str(spatial_data[0])
# add dimension and variables
ncfile.createDimension('TIME', len(time))
TIME = ncfile.createVariable('TIME', "d", 'TIME')
TIMESERIES = ncfile.createVariable('TIMESERIES', "i")
LATITUDE = ncfile.createVariable(
'LATITUDE', "d", fill_value=99999.)
LONGITUDE = ncfile.createVariable(
'LONGITUDE', "d", fill_value=99999.)
WHTH = ncfile.createVariable('WHTH', "f", 'TIME', fill_value=99999.)
WMSH = ncfile.createVariable('WMSH', "f", 'TIME', fill_value=99999.)
HRMS = ncfile.createVariable('HRMS', "f", 'TIME', fill_value=99999.)
WHTE = ncfile.createVariable('WHTE', "f", 'TIME', fill_value=99999.)
WMXH = ncfile.createVariable('WMXH', "f", 'TIME', fill_value=99999.)
TCREST = ncfile.createVariable('TCREST', "f", 'TIME', fill_value=99999.)
WPMH = ncfile.createVariable('WPMH', "f", 'TIME', fill_value=99999.)
WPTH = ncfile.createVariable('WPTH', "f", 'TIME', fill_value=99999.)
YRMS = ncfile.createVariable('YRMS', "f", 'TIME', fill_value=99999.)
WPPE = ncfile.createVariable('WPPE', "f", 'TIME', fill_value=99999.)
TP2 = ncfile.createVariable('TP2', "f", 'TIME', fill_value=99999.)
M0 = ncfile.createVariable('M0', "f", 'TIME', fill_value=99999.)
WPDI = ncfile.createVariable('WPDI', "f", 'TIME', fill_value=99999.)
# add global attributes and variable attributes stored in config files
config_file = os.path.join(os.getcwd(),'mhl_wave_library', 'global_att_wave.att')
generate_netcdf_att(ncfile, config_file,
conf_file_point_of_truth=True)
for nc_var in [WPTH, WPPE, WPMH, WPDI, WMXH,WMSH, WHTH, WHTE, TP2, TCREST]:
nc_var.valid_max = np.float32(nc_var.valid_max)
nc_var.valid_min = np.float32(nc_var.valid_min)
# replace nans with fillvalue in dataframe
#.........这里部分代码省略.........
示例4: modify_anmn_nrs_netcdf
# 需要导入模块: from netCDF4 import Dataset [as 别名]
# 或者: from netCDF4.Dataset import platform_code [as 别名]
def modify_anmn_nrs_netcdf(netcdf_file_path, channel_id_info):
""" Modify the downloaded netCDF file so it passes both CF and IMOS checker
input:
netcdf_file_path(str) : path of netcdf file to modify
channel_id_index(tupple) : information from xml for the channel
"""
modify_aims_netcdf(netcdf_file_path, channel_id_info)
netcdf_file_obj = Dataset(netcdf_file_path, 'a', format='NETCDF4')
netcdf_file_obj.aims_channel_id = int(channel_id_info['channel_id'])
if 'Yongala' in channel_id_info['site_name']:
netcdf_file_obj.site_code = 'NRSYON'
netcdf_file_obj.platform_code = 'Yongala NRS Buoy'
elif 'Darwin' in channel_id_info['site_name']:
netcdf_file_obj.site_code = 'NRSDAR'
netcdf_file_obj.platform_code = 'Darwin NRS Buoy'
elif 'Beagle' in channel_id_info['site_name']:
netcdf_file_obj.site_code = 'DARBGF'
netcdf_file_obj.platform_code = 'Beagle Gulf Mooring'
else:
return False
if not (channel_id_info['metadata_uuid'] == 'Not Available'):
netcdf_file_obj.metadata_uuid = channel_id_info['metadata_uuid']
# some weather stations channels don't have a depth variable if sensor above water
if 'depth' in netcdf_file_obj.variables.keys():
var = netcdf_file_obj.variables['depth']
var.long_name = 'nominal depth'
var.positive = 'down'
var.axis = 'Z'
var.reference_datum = 'sea surface'
var.valid_min = -10.0
var.valid_max = 30.0
var.units = 'm' # some channels put degrees celcius instead ...
netcdf_file_obj.renameVariable('depth', 'NOMINAL_DEPTH')
if 'DEPTH' in netcdf_file_obj.variables.keys():
var = netcdf_file_obj.variables['DEPTH']
var.coordinates = "TIME LATITUDE LONGITUDE NOMINAL_DEPTH"
var.long_name = 'actual depth'
var.reference_datum = 'sea surface'
var.positive = 'down'
var.valid_min = -10.0
var.valid_max = 30.0
var.units = 'm' # some channels put degrees celcius instead ...
netcdf_file_obj.close()
netcdf_file_obj = Dataset(netcdf_file_path, 'a', format='NETCDF4') # need to close to save to file. as we call get_main_var just after
main_var = get_main_anmn_nrs_var(netcdf_file_path)
# DEPTH, LATITUDE and LONGITUDE are not dimensions, so we make them into auxiliary cooordinate variables by adding this attribute
if 'NOMINAL_DEPTH' in netcdf_file_obj.variables.keys():
netcdf_file_obj.variables[main_var].coordinates = "TIME LATITUDE LONGITUDE NOMINAL_DEPTH"
else:
netcdf_file_obj.variables[main_var].coordinates = "TIME LATITUDE LONGITUDE"
netcdf_file_obj.close()
if not convert_time_cf_to_imos(netcdf_file_path):
return False
remove_dimension_from_netcdf(netcdf_file_path) # last modification to do in this order!
return True
示例5: Dataset
# 需要导入模块: from netCDF4 import Dataset [as 别名]
# 或者: from netCDF4.Dataset import platform_code [as 别名]
print outputfile
# Copy the glider file to another directory
shutil.copy2(gliderdir + gliderfile, outputdir + outputfile)
# Open netCDF file to modify names and attributes
rootgrp = Dataset(outputdir + outputfile, 'r+', format='NETCDF4')
# Dimension
rootgrp.renameDimension('time', 'TIME')
# Global attributes
rootgrp.data_type = 'EGO glider time-series data'
rootgrp.format_version = '1.0'
rootgrp.platform_code = '99999'
rootgrp.date_update = change_dataformat(rootgrp.date_modified) # should be converted from rootgrp.date_modified
rootgrp.data_mode = data_mode_dic[rootgrp.data_mode]
rootgrp.naming_authority = 'EGO'
rootgrp.id = outputfile.split('.')[0] # taken from file name... maybe something better to do
rootgrp.source = "Glider observation"
rootgrp.Conventions = "CF-1.4 EGO-1.0"
rootgrp.geospatial_lat_min = str(rootgrp.geospatial_lat_min)
rootgrp.geospatial_lat_max = str(rootgrp.geospatial_lat_max)
rootgrp.geospatial_lon_min = str(rootgrp.geospatial_lon_min)
rootgrp.geospatial_lon_max = str(rootgrp.geospatial_lon_max)
rootgrp.time_coverage_start = change_dataformat(rootgrp.time_coverage_start)
rootgrp.time_coverage_end = change_dataformat(rootgrp.time_coverage_end)
rootgrp.renameVariable('depth', 'DEPTH')