def _readnc(filenc=None, filenc2=None, argdict=myargs): # outdict = {} # creates the dictionnary which will contain the arrays outdict['date_model'] = rs.get_datetime(filenc) outdict['date_model_heat'] = rs.get_datetime(filenc2) if argdict['config'].find('ORCA') == 0 or argdict['config'].find( 'EORCA') == 0 or argdict['config'].find('eORCA') == 0: data_list = [ 'maxmoc_Glo_maxmoc', 'maxmoc_Atl_maxmoc', 'maxmoc_Aus_maxmoc', 'minmoc_Glo_minmoc', 'minmoc_Atl_minmoc', 'minmoc_Inp_minmoc', 'minmoc_Inp_minmoc2', 'minmoc_Aus_minmoc' ] data_list_heat = ['zomht_glo', 'zomht_atl'] elif argdict['config'].find('NATL') == 0 or argdict['config'].find( 'NACHOS') == 0: data_list = ['maxmoc_Glo_maxmoc', 'minmoc_Glo_minmoc'] data_list_heat = ['zomht_glo'] elif 'PERIANT' in argdict['config']: # this should be checked. data_list = ['maxmoc_Glo_maxmoc', 'minmoc_Glo_minmoc'] data_list_heat = [] else: print "config not supported" sys.exit() # for k in data_list: outdict[k] = rs.readfilenc(filenc, k) # lat = rs.readfilenc(filenc2, 'nav_lat') index20N = rs.get_index(lat, 20.) for k in data_list_heat: outdict[k] = rs.readfilenc(filenc2, k)[:, index20N] return outdict # return the dictionnary of values
def _readnc(filenc=None, filelatn=None, filelats=None, filelateq=None): outdict = {} # creates the dictionnary which will contain the arrays outdict['tmean'] = rs.readfilenc(filenc, 'mean_3Dvotemper') outdict['smean'] = rs.readfilenc(filenc, 'mean_3Dvosaline') outdict['sshmean'] = rs.readfilenc(filenc, 'mean_3Dsossheig') outdict['levels'] = rs.readfilenc(filenc, 'gdept') outdict['date'] = rs.get_datetime(filenc) outdict['tmodel'] = rs.readfilenc(filenc, 'mean_votemper') outdict['smodel'] = rs.readfilenc(filenc, 'mean_vosaline') outdict['tmodels'] = rs.readfilenc(filelats, 'mean_votemper') outdict['smodels'] = rs.readfilenc(filelats, 'mean_vosaline') outdict['tmodeln'] = rs.readfilenc(filelatn, 'mean_votemper') outdict['smodeln'] = rs.readfilenc(filelatn, 'mean_vosaline') outdict['tmodeleq'] = rs.readfilenc(filelateq, 'mean_votemper') outdict['smodeleq'] = rs.readfilenc(filelateq, 'mean_vosaline') outdict['tlatn'] = rs.readfilenc(filelatn, 'mean_3Dvotemper') outdict['slatn'] = rs.readfilenc(filelatn, 'mean_3Dvosaline') outdict['sshlatn'] = rs.readfilenc(filelatn, 'mean_3Dsossheig') outdict['datelatn'] = rs.get_datetime(filelatn) outdict['tlats'] = rs.readfilenc(filelats, 'mean_3Dvotemper') outdict['slats'] = rs.readfilenc(filelats, 'mean_3Dvosaline') outdict['sshlats'] = rs.readfilenc(filelats, 'mean_3Dsossheig') outdict['datelats'] = rs.get_datetime(filelats) outdict['tlateq'] = rs.readfilenc(filelateq, 'mean_3Dvotemper') outdict['slateq'] = rs.readfilenc(filelateq, 'mean_3Dvosaline') outdict['sshlateq'] = rs.readfilenc(filelateq, 'mean_3Dsossheig') outdict['datelateq'] = rs.get_datetime(filelateq) return outdict # return the dictionnary of values
def _readnc(filenc=None,argdict=myargs): # if argdict['config'].find('ORCA') == 0: list_field = ['zomht_glo', 'zomht_atl', 'zomht_inp','hflx_glo' , 'hflx_atl' , 'hflx_inp'] else: list_field = ['zomht_glo', 'hflx_glo'] # outdict = {} # creates the dictionnary which will contain the arrays outdict['date'] = rs.get_datetime(filenc) outdict['lat'] = rs.readfilenc(filenc, 'nav_lat') for field in list_field: temp = rs.readfilenc(filenc,field) ## remove spurious areas if field.find('atl') != -1: ymax = npy.abs( outdict['lat'] - 70 ).argmin() # find index of 70N ymin = npy.abs( outdict['lat'] + 30 ).argmin() # find index of 30S temp[:,ymax:] = 0. temp[:,:ymin] = 0. if field.find('inp') != -1: ymin = npy.abs( outdict['lat'] + 30 ).argmin() # find index of 30S temp[:,:ymin] = 0. outdict[field] = rs.remove_spval(temp, 9999, 0) return outdict # return the dictionnary of values
def _readnc(filenc=None, argdict=myargs): if argdict.has_key('compared_configs'): compare = True else: argdict['compared_configs'] = [argdict['config']] compare = False # get the section names corresponding to the config section_dict = rs.define_all_sections(argdict, compare) # outdict = {} # creates the dictionnary which will contain the arrays date = rs.get_datetime(filenc) outdict['date'] = date list_truenames = section_dict.keys() list_truenames.sort() for section in list_truenames: shortname = section_dict[section]['shortname'] # temporary sens = section_dict[section]['sens'] # variables try: outdict['mass_' + shortname] = npy.array( (sens), 'f') * rs.readfilenc(filenc, 'vtrp' + '_' + shortname) outdict['heat_' + shortname] = npy.array( (sens), 'f') * rs.readfilenc(filenc, 'htrp' + '_' + shortname) outdict['salt_' + shortname] = npy.array( (sens), 'f') * rs.readfilenc(filenc, 'strp' + '_' + shortname) except: outdict['mass_' + shortname] = npy.zeros((len(outdict['date']))) outdict['heat_' + shortname] = npy.zeros((len(outdict['date']))) outdict['salt_' + shortname] = npy.zeros((len(outdict['date']))) return outdict # return the dictionnary of values
def _readnc(filenc=None, argdict=myargs): if argdict.has_key('compared_configs'): compare = True else: argdict['compared_configs'] = [argdict['config']] compare = False # get the section names corresponding to the config section_dict = rs.define_all_sections(argdict, compare, 'drakkar_trpsig_table.txt') # outdict = {} # creates the dictionnary which will contain the arrays outdict['date'] = rs.get_datetime(filenc) outdict['sigma_class'] = rs.readfilenc(filenc, 'sigma_class')[0, :] list_truenames = section_dict.keys() list_truenames.sort() for section in list_truenames: shortname = section_dict[section]['shortname'] # temporary try: outdict['sigtrp_' + shortname] = rs.readfilenc( filenc, 'sigtrp' + '_' + shortname) except: outdict['sigtrp_' + shortname] = npy.zeros( (len(outdict['date']), len(outdict['sigma_class']))) return outdict # return the dictionnary of values
def _readnc(filenc=None,argdict=myargs): outdict = {} # creates the dictionnary which will contain the arrays date = rs.get_datetime(filenc) outdict['date'] = date outdict['ice1kerg1plt'] = rs.readfilenc(filenc, 'mean_ileadfra_KERG4') outdict['ice1kerg2plt'] = rs.readfilenc(filenc, 'mean_iicethic_KERG4') return outdict # return the dictionnary of values
def _readnc(filenc=None,fileobs=None,argdict=myargs): # outdict = {} # creates the dictionnary which will contain the arrays outdict['date_model'] = rs.get_datetime(filenc) outdict['NVolume' ] = rs.readfilenc(filenc, 'NVolume' ) / 1000 outdict['NArea' ] = rs.readfilenc(filenc, 'NArea' ) / 1000 outdict['NExnsidc' ] = rs.readfilenc(filenc, 'NExnsidc' ) / 1000 outdict['SVolume' ] = rs.readfilenc(filenc, 'SVolume' ) / 1000 outdict['SArea' ] = rs.readfilenc(filenc, 'SArea' ) / 1000 outdict['SExnsidc' ] = rs.readfilenc(filenc, 'SExnsidc' ) / 1000 # outdict['dateobs' ] = rs.get_datetime(fileobs) outdict['NORTH_ICE_EXTENT'] = rs.readfilenc(fileobs, 'NORTH_ICE_EXTENT') outdict['NORTH_ICE_AREA'] = rs.readfilenc(fileobs, 'NORTH_ICE_AREA') outdict['SOUTH_ICE_EXTENT'] = rs.readfilenc(fileobs, 'SOUTH_ICE_EXTENT') outdict['SOUTH_ICE_AREA'] = rs.readfilenc(fileobs, 'SOUTH_ICE_AREA') return outdict # return the dictionnary of values
def _readnc(filenc=None, fileobs=None, fileobs2=None, argdict=myargs): # outdict = {} # creates the dictionnary which will contain the arrays outdict['datemodel'] = rs.get_datetime(filenc) outdict['NINO12_model'] = rs.readfilenc(filenc, 'mean_votemper_NINO12') outdict['NINO34_model'] = rs.readfilenc(filenc, 'mean_votemper_NINO34') outdict['NINO3_model'] = rs.readfilenc(filenc, 'mean_votemper_NINO3') outdict['NINO4_model'] = rs.readfilenc(filenc, 'mean_votemper_NINO4') # outdict['dateobs'] = rs.get_datetime(fileobs) outdict['NINO12_obs'] = rs.readfilenc(fileobs, 'NINO1+2') outdict['NINO34_obs'] = rs.readfilenc(fileobs, 'NINO3.4') outdict['NINO3_obs'] = rs.readfilenc(fileobs, 'NINO3') outdict['NINO4_obs'] = rs.readfilenc(fileobs, 'NINO4') #outdict['SOI' ] = rs.readfilenc(fileobs2, 'SOI') return outdict # return the dictionnary of values
def _readnc(filenc=None, fileobs=None, argdict=myargs): import matplotlib.pylab as plt from numpy import nan outdict = {} # creates the dictionnary which will contain the arrays lon_obs = rs.readfilenc(fileobs, 'nav_lon') lat_obs = rs.readfilenc(fileobs, 'nav_lat') dep_obs = rs.readfilenc(fileobs, 'depthu') uzo_obs = rs.readfilenc(fileobs, 'vozocrtx') ### rebuild a dictionary ## 1. define moorings name ## this is a bit heavy but it is necessary to split ## the data from 4d arrays of NC file lon_moor = lon_obs[0, :] moor_name = [] ind_swap_EW = npy.where(lon_moor > 180.) lon_moor[ind_swap_EW] = 360. - lon_moor[ind_swap_EW] for km in range(len(lon_moor)): moor_name.append(str(int(lon_moor[km])) + 'e') # default lon is towards east # for km in ind_swap_EW[0]: (old version) for km in list(ind_swap_EW[0].data): moor_name[km] = moor_name[km].replace( 'e', 'w') # correct for western moorings outdict['coord'] = moor_name ## 2. fill with observations data for km in range(len(moor_name)): outdict['u_' + moor_name[km] + '_obs'] = uzo_obs[:, km] outdict['dept_' + moor_name[km] + '_obs'] = dep_obs[:, km] ## 3. model outputs outdict['dept_mod'] = rs.readfilenc(filenc, 'depth') outdict['time_mod'] = rs.get_datetime(filenc) km = 0 for moor in moor_name: try: temp = rs.readfilenc(filenc, 'u_' + moor) if len(temp.shape) == 1: outdict['u_' + moor_name[km] + '_mod'] = temp else: outdict['u_' + moor_name[km] + '_mod'] = temp.mean(0) except: print 'fail to read mooring ', moor pass km = km + 1 return outdict #return the dictionnary of values
def _readnc(filenc=None,levitus=None): # outdict = {} # creates the dictionnary which will contain the arrays outdict['levels'] = rs.readfilenc(filenc,'gdept') outdict['date'] = rs.get_datetime(filenc) outdict['tmodel'] = rs.readfilenc(filenc,'mean_votemper') #2D outdict['smodel'] = rs.readfilenc(filenc,'mean_vosaline') outdict['tlev'] = rs.readfilenc(levitus,'mean_votemper') #1D outdict['slev'] = rs.readfilenc(levitus,'mean_vosaline') return outdict # return the dictionnary of values
def _readnc(filenc=None, argdict=myargs): outdict = {} # creates the dictionnary which will contain the arrays date = rs.get_datetime(filenc) outdict['date'] = date outdict['co2kerg1plt'] = rs.readfilenc(filenc, 'mean_3DDelc_KERG1') outdict['co2kerg2plt'] = rs.readfilenc(filenc, 'mean_3DDelc_KERG3') outdict['co2kerg3plt'] = rs.readfilenc(filenc, 'mean_3DDelc_KERG5') outdict['co2kerg4plt'] = rs.readfilenc(filenc, 'mean_3DDelc_KERG6') return outdict # return the dictionnary of values
def _readnc(filenc=None, argdict=myargs): # outdict = {} # creates the dictionnary which will contain the arrays outdict['datemodel'] = rs.get_datetime(filenc) outdict['NVolume' ] = rs.readfilenc(filenc, 'NVolume' ) outdict['NArea' ] = rs.readfilenc(filenc, 'NArea' ) outdict['NExnsidc' ] = rs.readfilenc(filenc, 'NExnsidc' ) outdict['SVolume' ] = rs.readfilenc(filenc, 'SVolume' ) outdict['SArea' ] = rs.readfilenc(filenc, 'SArea' ) outdict['SExnsidc' ] = rs.readfilenc(filenc, 'SExnsidc' ) # return outdict # return the dictionnary of values
def _readnc(filenc=None): outdict = {} # creates the dictionnary which will contain the arrays outdict['tprof3'] = rs.readfilenc(filenc, 'mean_votemper_KERG3') outdict['sprof3'] = rs.readfilenc(filenc, 'mean_vosaline_KERG3') outdict['dprof3'] = rs.readfilenc(filenc, 'mean_vosigma0_KERG3') outdict['mld3'] = rs.readfilenc(filenc, 'mean_somxl010_KERG3') outdict['tprof1'] = rs.readfilenc(filenc, 'mean_votemper_KERG1') outdict['sprof1'] = rs.readfilenc(filenc, 'mean_vosaline_KERG1') outdict['dprof1'] = rs.readfilenc(filenc, 'mean_vosigma0_KERG1') outdict['mld1'] = rs.readfilenc(filenc, 'mean_somxl010_KERG1') outdict['prof'] = rs.readfilenc(filenc, 'gdept') outdict['date'] = rs.get_datetime(filenc) return outdict # return the dictionnary of values
def _readnc(filenc=None,fileobs=None,argdict=myargs): # get the section names corresponding to the config if argdict.has_key('compared_configs'): compare = True else: argdict['compared_configs'] = [ argdict['config'] ] compare = False # get the section names corresponding to the config section_dict = rs.define_all_sections(argdict,compare) truenames = section_dict.keys() truenames.sort() # test on existence of florida bahamas section in list found = None for k in range(len(truenames)): if truenames[k].find('FLORIDA_BAHAMAS') >= 0: found = 1 if found is None: print "Your domain do not contain the Florida Bahamas section" sys.exit() else: pass # outdict = {} # creates the dictionnary which will contain the arrays outdict['datemodel'] = rs.get_datetime(filenc) try: outdict['trpmodel'] = -1 * rs.readfilenc(filenc, 'vtrp_floba' ) except: outdict['trpmodel'] = npy.zeros((len(outdict['datemodel']))) outdict['dateobs'] = rs.get_datetime(fileobs) outdict['trpobs'] = rs.readfilenc(fileobs, 'CABLE') # return outdict # return the dictionnary of values
def _readnc(filesnc=None): filenc, levitus = filesnc outdict = {} # creates the dictionnary which will contain the arrays outdict['tmean'] = rs.readfilenc(filenc, 'mean_3Dvotemper') outdict['smean'] = rs.readfilenc(filenc, 'mean_3Dvosaline') outdict['sshmean'] = rs.readfilenc(filenc, 'mean_3Dsossheig') outdict['levels'] = rs.readfilenc(filenc, 'gdept') outdict['date'] = rs.get_datetime(filenc) outdict['tmodel'] = rs.readfilenc(filenc, 'mean_votemper') outdict['smodel'] = rs.readfilenc(filenc, 'mean_vosaline') # if myargs['monitor_frequency'] == '1m': # outdict['tlev'] = rs.readfilenc(levitus,'mean_votemper')[0,:] # outdict['slev'] = rs.readfilenc(levitus,'mean_vosaline')[0,:] # else: outdict['tlev'] = rs.readfilenc(levitus, 'mean_votemper') outdict['slev'] = rs.readfilenc(levitus, 'mean_vosaline') return outdict # return the dictionnary of values
def _readnc(filenc=None,argdict=myargs): outdict = {} # creates the dictionnary which will contain the arrays date = rs.get_datetime(filenc) outdict['date'] = date outdict['no3kerg1plt'] = rs.readfilenc(filenc, 'mean_3DNO3_KERG1') outdict['no3kerg2plt'] = rs.readfilenc(filenc, 'mean_3DNO3_KERG3') outdict['no3kerg3plt'] = rs.readfilenc(filenc, 'mean_3DNO3_KERG5') outdict['no3kerg4plt'] = rs.readfilenc(filenc, 'mean_3DNO3_KERG6') outdict['po4kerg1plt'] = rs.readfilenc(filenc, 'mean_3DPO4_KERG1') outdict['po4kerg2plt'] = rs.readfilenc(filenc, 'mean_3DPO4_KERG3') outdict['po4kerg3plt'] = rs.readfilenc(filenc, 'mean_3DPO4_KERG5') outdict['po4kerg4plt'] = rs.readfilenc(filenc, 'mean_3DPO4_KERG6') outdict['sikerg1plt'] = rs.readfilenc(filenc, 'mean_3DSi_KERG1') outdict['sikerg2plt'] = rs.readfilenc(filenc, 'mean_3DSi_KERG3') outdict['sikerg3plt'] = rs.readfilenc(filenc, 'mean_3DSi_KERG5') outdict['sikerg4plt'] = rs.readfilenc(filenc, 'mean_3DSi_KERG6') outdict['ferkerg1plt'] = rs.readfilenc(filenc, 'mean_3DFer_KERG1') outdict['ferkerg2plt'] = rs.readfilenc(filenc, 'mean_3DFer_KERG3') outdict['ferkerg3plt'] = rs.readfilenc(filenc, 'mean_3DFer_KERG5') outdict['ferkerg4plt'] = rs.readfilenc(filenc, 'mean_3DFer_KERG6') return outdict # return the dictionnary of values
def _readnc(filenc=None, argdict=myargs): # outdict = {} # creates the dictionnary which will contain the arrays outdict['date_model'] = rs.get_datetime(filenc) if argdict['config'].find('ORCA') == 0 or argdict['config'].find( 'EORCA') == 0 or argdict['config'].find('eORCA') == 0: data_list = [ 'maxmoc_Glo_maxmoc40N', 'maxmoc_Glo_maxmoc30S', 'maxmoc_Atl_maxmoc40N', 'maxmoc_Atl_maxmoc30S', 'minmoc_Inp_minmoc30S', 'maxmoc_Aus_maxmoc50S' ] elif argdict['config'].find('NATL') == 0 or argdict['config'].find( 'NACHOS'): data_list = ['maxmoc_Glo_maxmoc40N', 'maxmoc_Glo_maxmoc15S'] else: print "config not supported" sys.exit() # for k in data_list: outdict[k] = rs.readfilenc(filenc, k) return outdict # return the dictionnary of values
def _readnc(filenc=None, argdict=myargs): if argdict.has_key('compared_configs'): compare_different_configs = (len(argdict['compared_configs']) > 1) else: compare_different_configs = False # get the section names corresponding to the config outdict = {} # creates the dictionnary which will contain the arrays date = rs.get_datetime(filenc) mld1kerg1 = [] mld1kerg2 = [] mld1kerg3 = [] mld1kerg4 = [] mld2kerg1 = [] mld2kerg2 = [] mld2kerg3 = [] mld2kerg4 = [] mld3kerg1 = [] mld3kerg2 = [] mld3kerg3 = [] mld3kerg4 = [] mld1kerg1.append(rs.readfilenc(filenc, 'mean_somxl010_KERG1')) mld1kerg2.append(rs.readfilenc(filenc, 'mean_somxl010_KERG3')) mld1kerg3.append(rs.readfilenc(filenc, 'mean_somxl010_KERG5')) mld1kerg4.append(rs.readfilenc(filenc, 'mean_somxl010_KERG6')) mld2kerg1.append(rs.readfilenc(filenc, 'mean_somxl030_KERG1')) mld2kerg2.append(rs.readfilenc(filenc, 'mean_somxl030_KERG3')) mld2kerg3.append(rs.readfilenc(filenc, 'mean_somxl030_KERG5')) mld2kerg4.append(rs.readfilenc(filenc, 'mean_somxl030_KERG6')) mld3kerg1.append(rs.readfilenc(filenc, 'mean_somxlt02_KERG1')) mld3kerg2.append(rs.readfilenc(filenc, 'mean_somxlt02_KERG3')) mld3kerg3.append(rs.readfilenc(filenc, 'mean_somxlt02_KERG5')) mld3kerg4.append(rs.readfilenc(filenc, 'mean_somxlt02_KERG6')) mld1kerg1 = npy.reshape(mld1kerg1, len(date)) mld1kerg2 = npy.reshape(mld1kerg2, len(date)) mld1kerg3 = npy.reshape(mld1kerg3, len(date)) mld1kerg4 = npy.reshape(mld1kerg4, len(date)) mld2kerg1 = npy.reshape(mld2kerg1, len(date)) mld2kerg2 = npy.reshape(mld2kerg2, len(date)) mld2kerg3 = npy.reshape(mld2kerg3, len(date)) mld2kerg4 = npy.reshape(mld2kerg4, len(date)) mld3kerg1 = npy.reshape(mld3kerg1, len(date)) mld3kerg2 = npy.reshape(mld3kerg2, len(date)) mld3kerg3 = npy.reshape(mld3kerg3, len(date)) mld3kerg4 = npy.reshape(mld3kerg4, len(date)) big = npy.transpose(npy.ones(len(date))) outdict['date'] = date outdict['mld1kerg1plt'] = -1 * mld1kerg1 * big outdict['mld1kerg2plt'] = -1 * mld1kerg2 * big outdict['mld1kerg3plt'] = -1 * mld1kerg3 * big outdict['mld1kerg4plt'] = -1 * mld1kerg4 * big outdict['mld2kerg1plt'] = -1 * mld2kerg1 * big outdict['mld2kerg2plt'] = -1 * mld2kerg2 * big outdict['mld2kerg3plt'] = -1 * mld2kerg3 * big outdict['mld2kerg4plt'] = -1 * mld2kerg4 * big outdict['mld3kerg1plt'] = -1 * mld3kerg1 * big outdict['mld3kerg2plt'] = -1 * mld3kerg2 * big outdict['mld3kerg3plt'] = -1 * mld3kerg3 * big outdict['mld3kerg4plt'] = -1 * mld3kerg4 * big return outdict # return the dictionnary of values