This is an old revision of the document!


ENVI-met powered by Python

Make use of our netCDF output format to create output maps easily and quickly using python.

Here is some sample code:

<code python>

import matplotlib.pyplot as plt import netCDF4

def plot_map(netCDFfile, varName):

  nc = netCDF4.Dataset(netCDFfile)        # path to your ENVI-met netCDF output file e.g. "T:/enviprojects/Berlin/output/NetCDF/Berlin_12.5_AT_2021-07-07_06.00.01.nc"
  print(nc.variables.keys())                      # shows all available variables e.g. "Potential_Air_Temperature", "Relative_Humidity"
  print(len(nc.variables['Time']))                # shows how many timesteps are inside the netCDF output
  dataAr = nc.variables[varName][5][1][:][:]      # first index is the output timestep (here 5), second index is the height level (here 1)
  gridJAr = nc.variables['GridsJ'][:]
  gridIAr = nc.variables['GridsI'][:]
  fig, ax = plt.subplots(figsize=(10*len(gridIAr) / len(gridJAr), 10))                # determines the resolution of the figure
  ax.set_aspect(1)                                                                    # scales the aspect ratio
  contour = plt.contourf(gridIAr, gridJAr, dataAr, cmap=twilight_shifted, levels=100)        # cmap defines the colorramp, levels defines the number of color gradients
  plt.colorbar(contour, ax=ax, label=varName, location='right', shrink=0.4)           # defines the legend
  
  plt.title('ENVI-met powered by python')                                             # adds a title
  plt.xlabel('meters')                                                                # adds the x label
  plt.ylabel('meters')                                                                # adds the y label
  #plt.figtext(0.5, 0.01, 'footnote center', ha='center', va='center', fontsize='small')      # option to add a centered footnote
  #plt.figtext(0.98, 0.02, 'footnote right', ha='right', va='bottom', fontsize='small')       # option to add a footnote on the lower right corner
  
  # Show the plot
  plt.show()              # shows the plot
  #plt.savefig('D:/_images/' + varName + '.png', bbox_inches=0)           # option to save the figure
  #plt.close()

<code python>

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies