Tilgang på data

NetCDF-filer med data

Hindcast-data som NetCDF-filer finnes her: https://thredds.met.no/thredds/catalog/fjordos/fjordos2_hindcast/v6/exp1/catalog.html

Operasjonelle data som NetCDF-filer finnes her: https://thredds.met.no/thredds/catalog/fjordos/operational_archive/catalog.html

Får du ikke tak i data? Sjekk status for thredds-tjenesten på https://status.met.no/

Eksempler på hvordan data’en kan leses

Eksempel 1: Hente og plotte dybdematrisen (Matlab)
        FOfil = 'https://thredds.met.no/thredds/dodsC/fjordos/fjordos2_hindcast/v6/exp1/ocean_his_0001.nc4';
        lon_rho = ncread(FOfil,'lon_rho');
        lat_rho = ncread(FOfil,'lat_rho');
        h = ncread(FOfil,'h');
        mask = ncread(FOfil,'mask_rho');
        h(~mask) = NaN;

        ha = pcolor(lon_rho,lat_rho,h);
        set(ha,'EdgeColor','none')
        caxis([0,200]);
        ylabel(colorbar,'Depth [m]','fontsize', 12, 'fontweight', 'bold','color','k')
        xfac = cos(mean(lat_rho(:))*pi/180);
        set(gca, 'DataAspectRatio', [1 xfac 1] );
        xlabel('Lengdegrad (^oE)','Fontsize',12,'FontWeight','bold')
        ylabel('Breddegrad (^oN)','Fontsize',12,'FontWeight','bold')
        axis tight
Eksempel 2: Hente og plotte vannstand ved Oscarsborg (Matlab)
        FOfil = 'https://thredds.met.no/thredds/dodsC/fjordos/fjordos2_hindcast/v6/exp1/ocean_his_0001.nc4';
        ocean_time = ncread(FOfil,'ocean_time');
        tid = ocean_time/3600/24 + datenum([1970,01,01,00,00,00]);
        zeta = squeeze(ncread(FOfil,'zeta',[201,583,1],[1,1,Inf]));
        plot(tid,zeta,'r')
        datetick('x')
        ylabel('Vannstand [cm]','FontWeight','bold','FontSize',12)

Eksempel 3: Hente og plotte dybdematrisen (Python)
        from netCDF4 import Dataset
        import numpy as np
        import cmocean 
        import matplotlib.pyplot as plt
        from mpl_toolkits.basemap import Basemap

        # Henter data fra thredds
        url = 'https://thredds.met.no/thredds/dodsC/fjordos/operational_archive/daily/ocean_his.nc_2018021400'
        nc = Dataset(url)

        # Plukker ut dyp-data
        h = nc.variables['h'][:,:]
        mask_rho = nc.variables['mask_rho'][:,:]
        lon = nc.variables['lon_rho'][:,:]
        lat = nc.variables['lat_rho'][:,:]
        h=np.ma.masked_where(mask_rho < 0.5,h)

        # Plotter
        fig = plt.figure(figsize=(5,5))
        m = Basemap(projection='stere',lon_0=10.5,lat_0=59.5,lat_ts=60,
                      llcrnrlon=10.00,urcrnrlon=11.2,
                      llcrnrlat=58.97,urcrnrlat=59.93,
                      rsphere=6.371e+06, resolution='i')

        # draw parallels.
        parallels = np.arange(0.,90.,0.1)
        m.drawparallels(parallels,labels=[1,0,0,0],fontsize=10)
        # draw meridians
        meridians = np.arange(0.,360.,0.2)
        m.drawmeridians(meridians,labels=[0,0,0,1],fontsize=10)
        # depth
        x,y = m(lon,lat)
        cmes = m.pcolormesh(x,y,h,cmap=cmocean.cm.deep,vmin=0,vmax=400)
        cbar = m.colorbar(cmes,location='right',pad="10%")
        cbar.set_label('Depth [m]')
        m.plot

        plt.show()