Skip to content
Snippets Groups Projects
Commit 9246a8ec authored by Peters, Wouter's avatar Peters, Wouter
Browse files

changed StateToGrid

parent 72cc4102
No related branches found
No related tags found
No related merge requests found
......@@ -15,25 +15,19 @@ import datetime
identifier = 'CarbonTracker CO2'
def StateToGrid(DaInfo,values,reverse=False,avg=False):
def StateToGrid(values,regionmap,reverse=False,avg=False):
"""
This method converts parameters from a CarbonTracker StateVector object to a gridded map of linear multiplication values. These
can subsequently be used in the transport model code to multiply/manipulate fluxes
"""
import Nio
mapfile = os.path.join(DaInfo.da_settings['datadir'],DaInfo.da_settings['regionsfile'])
ncf = Nio.open_file(mapfile,'r')
regionmap = ncf.variables['budget_region'].get_value()
dummy = ncf.close()
import numpy as np
nregions = regionmap.max()
# dictionary for region <-> map conversions
regs={}
for r in arange(1,nregions+1):
for r in np.arange(1,nregions+1):
sel=(regionmap.flat == r).nonzero()
if len(sel[0])>0: regs[r]=sel
......@@ -43,7 +37,7 @@ def StateToGrid(DaInfo,values,reverse=False,avg=False):
""" project 1x1 degree map onto ecoregions """
result=zeros(nregions,float)
result=np.zeros(nregions,float)
for k,v in regionselect.iteritems():
if avg:
result[k-1]=values.ravel().take(v).mean()
......@@ -55,7 +49,7 @@ def StateToGrid(DaInfo,values,reverse=False,avg=False):
""" project ecoregion properties onto 1x1 degree map """
result=zeros((180,360,),float)
result=np.zeros((180,360,),float)
for k,v in regionselect.iteritems():
result.put(v,values[k-1])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment