def get_path2figs(vartype, mkdir=False): figs_root = '../figures/' # dump miscellenian test figures here if vartype == 'misc': dirname = figs_root + 'figs_misc/' # correlation indices etc... elif vartype == 'corr': dirname = figs_root + 'figs_corr/' # Raise error for invalid key else: sys.exit('Invalid key for path2vars') return () # ----------------------------------- # return dirname and create directory # ----------------------------------- if mkdir == True: try: utils_misc.mkdir(dirname) except: utils_misc.mkdir(figs_root) utils_misc.mkdir(dirname) return (dirname)
def get_path2vars(vartype, CESMversion, mkdir=False): vars_root = '../variables/' + 'CESM_V' + str(CESMversion) + '/' # variables fixed to grid like maxdepths etc. if vartype == 'mgrd': dirname = vars_root + 'vars_mgrd/' # variables resampled on densityaxis elif vartype == 'dens': dirname = vars_root + 'vars_dens/' # correlation indices etc... elif vartype == 'corr': dirname = vars_root + 'vars_corr/' # lat: 170 equally spaced boxes from 80S to 90N | z: 60 boxes elif vartype == 'lat170eq80S90N': dirname = vars_root + 'vars_auxgrd/lat170eq80S90N/' # lat: 340 equally spaced boxes from 80S to 90N | z: 60 boxes elif vartype == 'lat340eq80S90N': dirname = vars_root + 'vars_auxgrd/lat340eq80S90N/' # lat: as in ncdat.lat_aux_grid | z: 60 boxes elif vartype == 'lat395model': dirname = vars_root + 'vars_auxgrd/lat395model/' # lat: as in ncdat.lat_aux_grid but only every other entry | z: 60 boxes elif vartype == 'lat198model': dirname = vars_root + 'vars_auxgrd/lat198model/' # lat: as in ncdat.lat_aux_grid but only every other entry | z: 60 boxes elif vartype == 'lat99model': dirname = vars_root + 'vars_auxgrd/lat99model/' # Raise error for invalid key else: sys.exit('Invalid key for path2vars') return () # ----------------------------------- # return dirname and create directory # ----------------------------------- if mkdir == True: try: utils_misc.mkdir(dirname) except: utils_misc.mkdir(vars_root) utils_misc.mkdir(dirname) return (dirname)
def get_path2vars(vartype, CESMversion, mkdir=False): vars_root = '../variables/'+'CESM_V'+str(CESMversion)+'/' # variables fixed to grid like maxdepths etc. if vartype == 'mgrd': dirname = vars_root+'vars_mgrd/' # variables resampled on densityaxis elif vartype == 'dens': dirname = vars_root+'vars_dens/' # correlation indices etc... elif vartype == 'corr': dirname = vars_root+'vars_corr/' # lat: 170 equally spaced boxes from 80S to 90N | z: 60 boxes elif vartype == 'lat170eq80S90N': dirname = vars_root+'vars_auxgrd/lat170eq80S90N/' # lat: 340 equally spaced boxes from 80S to 90N | z: 60 boxes elif vartype == 'lat340eq80S90N': dirname = vars_root+'vars_auxgrd/lat340eq80S90N/' # lat: as in ncdat.lat_aux_grid | z: 60 boxes elif vartype == 'lat395model': dirname = vars_root+'vars_auxgrd/lat395model/' # lat: as in ncdat.lat_aux_grid but only every other entry | z: 60 boxes elif vartype == 'lat198model': dirname = vars_root+'vars_auxgrd/lat198model/' # lat: as in ncdat.lat_aux_grid but only every other entry | z: 60 boxes elif vartype == 'lat99model': dirname = vars_root+'vars_auxgrd/lat99model/' # Raise error for invalid key else: sys.exit('Invalid key for path2vars') return() # ----------------------------------- # return dirname and create directory # ----------------------------------- if mkdir == True: try: utils_misc.mkdir(dirname) except: utils_misc.mkdir(vars_root); utils_misc.mkdir(dirname) return(dirname)
def get_path2figs(vartype, mkdir=False): figs_root = '../figures/' # dump miscellenian test figures here if vartype == 'misc': dirname = figs_root+'figs_misc/' # correlation indices etc... elif vartype == 'corr': dirname = figs_root+'figs_corr/' # Raise error for invalid key else: sys.exit('Invalid key for path2vars') return() # ----------------------------------- # return dirname and create directory # ----------------------------------- if mkdir == True: try: utils_misc.mkdir(dirname) except: utils_misc.mkdir(figs_root); utils_misc.mkdir(dirname) return(dirname)
# ======================================================================================= # Settings and Directories # ======================================================================================= auxgrd_name = ['lat395model', 'lat198model', 'lat99model', 'lat170eq80S90N', 'lat340eq80S90N'][2] # choose aux grid #1 DBsetup = np.array([[20, 33, 14], [33.1, 36, 11], [36.05, 37.5, 11], [38, 43, 11]]) # setup for density bins [lower, upper, steps] #2 DBsetup = np.array([[12, 22, 3], [25,30, 3], [31,35,6], [35, 38, 40], [38.5,42, 3]]) # setup for density bins [lower, upper, steps] #3 DBsetup = np.array([[11, 30, 6], [30,35,6], [35, 36.5, 51], [36.5,37, 51], [37,43, 7]]) # setup for density bins [lower, upper, steps] DBsetup = np.array([[11, 30, 6], [30,35,6], [35, 36.5, 51], [36.5,38, 101], [38,43, 8]]) # setup for density bins (border values) [lower, upper, steps] boolLGSnoload = True # boolean | False: normal loadgetsave procedure | True: noload-mode > will get and save (overwrite!) # --------------------------------------------------------------------------------------- # automatical generation of directory names dir_mgrd = paths.get_path2vars('mgrd',CESMversion=CESMversion, mkdir=True) dir_dens = paths.get_path2vars('dens', CESMversion=CESMversion, mkdir=True) dir_DB = 'DB_%gto%gin%g_%gto%gin%g_%gto%gin%g_%gto%gin%g_%gto%gin%g/' % tuple(DBsetup.flatten()) dir_auxgrd = paths.get_path2vars(auxgrd_name, CESMversion=CESMversion, mkdir=True) utils_misc.mkdir(dir_dens+dir_DB) # paths (directory + filenames) to temp variables path_dMV = dir_dens+dir_DB+'dMV_' path_dMVf = dir_dens+dir_DB+'dMVf_' path_zDBb = dir_dens+dir_DB+'zDBb' path_zDBc = dir_dens+dir_DB+'zDBc' path_zDBbc = dir_dens+dir_DB+'zDBbc' path_HT_auxgrd_xmax = dir_auxgrd+'HT_auxgrd_xmax' path_HT_mgrd_xmax = dir_mgrd+'HT_mgrd_xmax' path_HU_auxgrd_xmax = dir_auxgrd+'HU_auxgrd_xmax' path_HU_mgrd_xmax = dir_mgrd+'HU_mgrd_xmax' path_lat_auxgrd = '../variables/CESM_gen/lat_auxgrd_'+auxgrd_name path_fraction_mask = dir_auxgrd+'fraction_mask' # ======================================================================================= # Transformation on different grids (Density, Spatial auxiliary grid)
dMVfc = utils_ana.nancumsum(dMVf*dzDBc, axis=0) #! changed dDB to dzDBc dMVfcp = utils_conv.project_on_auxgrd(dMVfc, ncdat.ANGLE.values) dMOC = np.nansum(dMVfcp, axis=-1) ''' dMVf = utils_conv.resample_colwise(MVf, sig2U, DBc, method='dMV', fill_value=np.nan, mask = ATLboolmask, mono_method='force') dDB3d = utils_conv.exp_k_to_kji(dDB, dMVf.shape[-2], dMVf.shape[-1]) dMVfc = utils_ana.nancumsum(dMVf*dDB3d, axis=0) dMVfcp = utils_conv.project_on_auxgrd(dMVfc, ncdat.ANGLE.values) dMOC = np.nansum(dMVfcp, axis=-1) # ----------------------------------------------------------------------------- # PART III // SAVE SOME VARIABLES # ----------------------------------------------------------------------------- # Note: the part [:-4] removes ".cdf" # create folder with choice of densitybinning utils_misc.mkdir(dir_vars) utils_misc.savevar(sig2T, dir_vars+'sig2T_'+fnames[ii][:-4], 'sig2T') utils_misc.savevar(sig2U, dir_vars+'sig2U_'+fnames[ii][:-4]) #utils_misc.savevar(zDBc, dir_vars+'zDBc_'+fnames[ii][:-4], 'zDBc') #utils_misc.savevar(zDBb, dir_vars+'zDBb_'+fnames[ii][:-4], 'zDBb') #utils_misc.savevar(zDBbc, dir_vars+'zDBbc_'+fnames[ii][:-4], 'zDBbc') utils_misc.savevar(dMOC, dir_vars+'dMOC_'+fnames[ii][:-4], 'dMOC') # ----------------------------------------------------------------------------- # CLOSE NC-FILE # ----------------------------------------------------------------------------- ncdat.close()
sig2U, DBc, method='dMV', fill_value=np.nan, mask=ATLboolmask, mono_method='force') dDB3d = utils_conv.exp_k_to_kji(dDB, dMVf.shape[-2], dMVf.shape[-1]) dMVfc = utils_ana.nancumsum(dMVf * dDB3d, axis=0) dMVfcp = utils_conv.project_on_auxgrd(dMVfc, ncdat.ANGLE.values) dMOC = np.nansum(dMVfcp, axis=-1) # ----------------------------------------------------------------------------- # PART III // SAVE SOME VARIABLES # ----------------------------------------------------------------------------- # Note: the part [:-4] removes ".cdf" # create folder with choice of densitybinning utils_misc.mkdir(dir_vars) utils_misc.savevar(sig2T, dir_vars + 'sig2T_' + fnames[ii][:-4], 'sig2T') utils_misc.savevar(sig2U, dir_vars + 'sig2U_' + fnames[ii][:-4]) #utils_misc.savevar(zDBc, dir_vars+'zDBc_'+fnames[ii][:-4], 'zDBc') #utils_misc.savevar(zDBb, dir_vars+'zDBb_'+fnames[ii][:-4], 'zDBb') #utils_misc.savevar(zDBbc, dir_vars+'zDBbc_'+fnames[ii][:-4], 'zDBbc') utils_misc.savevar(dMOC, dir_vars + 'dMOC_' + fnames[ii][:-4], 'dMOC') # ----------------------------------------------------------------------------- # CLOSE NC-FILE # ----------------------------------------------------------------------------- ncdat.close()