Ejemplo n.º 1
0
def forcing_from_thredds(sites, forc_vars):
    """

    :param sites: dict with site-name as key and list of [lat, lon] as value.
    .param forc_vars: list of forcing variables to be inserted as forcing
    :return:
    """
    thredds_url = "http://thredds.met.no/thredds/dodsC/arome25/arome_metcoop_test2_5km_latest.nc"
    thredds_file = netCDF4.Dataset(thredds_url, "r")
    latvar = thredds_file.variables["latitude"]
    lonvar = thredds_file.variables["longitude"]

    no_points = len(sites)
    point_index = [tunnel_fast(latvar, lonvar, coord[0], coord[1]) for coord in sites.values()]

    cnc = CrocusForcing(no_points=no_points, source="arome")  # init Crocus forcing file
    cnc.forc_time_step_v[:] = 3600.0

    for point in range(no_points):
        for var in forc_vars:
            cnc.insert_arome_var(var, thredds_file.variables)
        # cnc.tair_v[:, point] = thredds_file.variables[cnc.crocus_arome_lut[cnc.tair_v.name]][:, 0, point_index[point][0], point_index[point][1]]

    time_v = thredds_file.variables["time"]
    cnc.time_v[:] = time_v[:]
    cnc.time_v.units = time_v.units

    cnc.close()
    thredds_file.close()
Ejemplo n.º 2
0
def forcing_from_thredds(sites, forc_vars):
    '''

    :param sites: dict with site-name as key and list of [lat, lon] as value.
    .param forc_vars: list of forcing variables to be inserted as forcing
    :return:
    '''
    thredds_url = "http://thredds.met.no/thredds/dodsC/arome25/arome_metcoop_test2_5km_latest.nc"
    thredds_file = netCDF4.Dataset(thredds_url, 'r')
    latvar = thredds_file.variables['latitude']
    lonvar = thredds_file.variables['longitude']

    no_points = len(sites)
    point_index = [
        tunnel_fast(latvar, lonvar, coord[0], coord[1])
        for coord in sites.values()
    ]

    cnc = CrocusForcing(no_points=no_points,
                        source="arome")  # init Crocus forcing file
    cnc.forc_time_step_v[:] = 3600.0

    for point in range(no_points):
        for var in forc_vars:
            cnc.insert_arome_var(var, thredds_file.variables)
        #cnc.tair_v[:, point] = thredds_file.variables[cnc.crocus_arome_lut[cnc.tair_v.name]][:, 0, point_index[point][0], point_index[point][1]]

    time_v = thredds_file.variables['time']
    cnc.time_v[:] = time_v[:]
    cnc.time_v.units = time_v.units

    cnc.close()
    thredds_file.close()
Ejemplo n.º 3
0
Author: kmunve

TODO: add info as MD
"""

filename = "http://thredds.met.no/thredds/dodsC/arome25/arome_metcoop_test2_5km_latest.nc"
ncfile = netCDF4.Dataset(filename, 'r')
latvar = ncfile.variables['latitude']
lonvar = ncfile.variables['longitude']

points = {'Hemsedal': [60.86, 8.6],
          'Nordøyan fyr': [64.8, 10.55]
          }

indicies = [tunnel_fast(latvar, lonvar, coord[0], coord[1]) for coord in points.values()]
#[print(coord[0], coord[1]) for coord in points.values()]
print(indicies, type(indicies[0]), len(points))

# iy,ix = tunnel_fast(latvar, lonvar, 60.86, 8.6) # Hemsedal
# iy,ix = tunnel_fast(latvar, lonvar, 64.8, 10.55) # Nordøyan fyr

#print('Closest lat, lon: {0}, {1}; corresponding to indicies: {2}, {3}'.format(latvar[iy,ix], lonvar[iy,ix], iy, ix))


cnc = CrocusForcing(no_points=len(points))
for point in xrange(len(points)):
    print(point, indicies[point][0], indicies[point][1])
    cnc.tair_v[:, point] = ncfile.variables['air_temperature_2m'][:, 0, indicies[point][0], indicies[point][1]]

time_v = ncfile.variables['time']
Ejemplo n.º 4
0
Author: kmunve

TODO: add info as MD
"""

filename = "http://thredds.met.no/thredds/dodsC/arome25/arome_metcoop_test2_5km_latest.nc"
ncfile = netCDF4.Dataset(filename, 'r')
latvar = ncfile.variables['latitude']
lonvar = ncfile.variables['longitude']

points = {'Hemsedal': [60.86, 8.6],
          'Nordøyan fyr': [64.8, 10.55]
          }

indicies = [tunnel_fast(latvar, lonvar, coord[0], coord[1]) for coord in points.values()]
#[print(coord[0], coord[1]) for coord in points.values()]
print(indicies, type(indicies[0]), len(points))

# iy,ix = tunnel_fast(latvar, lonvar, 60.86, 8.6) # Hemsedal
# iy,ix = tunnel_fast(latvar, lonvar, 64.8, 10.55) # Nordøyan fyr

#print('Closest lat, lon: {0}, {1}; corresponding to indicies: {2}, {3}'.format(latvar[iy,ix], lonvar[iy,ix], iy, ix))


cnc = CrocusForcing(no_points=len(points))
for point in xrange(len(points)):
    print(point, indicies[point][0], indicies[point][1])
    cnc.tair_v[:, point] = ncfile.variables['air_temperature_2m'][:, 0, indicies[point][0], indicies[point][1]]

time_v = ncfile.variables['time']