ow.yesworkflow.0.2.0.source-code.example.py Maven / Gradle / Ivy
import netCDF4
import numpy as np
from netCDF4 import ma
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
# @BEGIN main
# @PARAM db_pth
# @PARAM fmodel
# @IN input_mask_file @URI file:{db_pth}/land_water_mask/LandWaterMask_Global_CRUNCEP.nc
# @IN input_data_file @URI file:{db_pth}/NEE_first_year.nc
# @OUT result_NEE_pdf @URI file:result_NEE.pdf
def main(db_pth = '.', fmodel = 'clm'):
# @BEGIN fetch_mask
# @PARAM db_pth
# @IN g @AS input_mask_file @URI file:{db_pth}/land_water_mask/LandWaterMask_Global_CRUNCEP.nc
# @OUT mask @AS land_water_mask
g = netCDF4.Dataset(db_pth+'/land_water_mask/LandWaterMask_Global_CRUNCEP.nc', 'r')
mask = g.variables['land_water_mask']
mask = mask[:].swapaxes(0,1)
# @END fetch_mask
# @BEGIN load_data
# @PARAM db_pth
# @IN input_data_file @URI file:{db_pth}/NEE_first_year.nc
# @OUT data @AS NEE_data
f = netCDF4.Dataset(db_pth+'/NEE_first_year.nc', 'r')
data = f.variables['NEE']
data = data[:]
data = data.swapaxes(0,2)
adj = 60*60*24*(365/12)*1000
data = data*adj
# @END load_data
# @BEGIN standardize_with_mask
# @IN data @AS NEE_data
# @IN mask @AS land_water_mask
# @OUT data @AS standardized_NEE_data
native = data.mean(2)
latShape = mask.shape[0]
logShape = mask.shape[1]
for x in range(latShape):
for y in range(logShape):
if mask[x,y] == 1 and ma.getmask(native[x,y]) == 1:
for index in range(data.shape[2]):
data[x,y,index] = 0
# @END standardize_with_mask
# @BEGIN simple_diagnose
# @PARAM fmodel
# @IN data @AS standardized_NEE_data
# @OUT pp @AS result_NEE_pdf @URI file:result_NEE.pdf
plt.imshow(np.mean(data,2))
plt.xlabel("Mean 1982-2010 NEE [gC/m2/mon]")
plt.title(fmodel + ":BG1")
pp = PdfPages('result_NEE.pdf')
pp.savefig()
pp.close()
# @END simple_diagnose
# @END main
© 2015 - 2024 Weber Informatics LLC | Privacy Policy