コード例 #1
0
ファイル: CESM_paths.py プロジェクト: LABclimate/MT
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)
コード例 #2
0
ファイル: CESM_paths.py プロジェクト: LABclimate/MT
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)
コード例 #3
0
ファイル: CESM_paths.py プロジェクト: LABclimate/MT
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)
コード例 #4
0
ファイル: CESM_paths.py プロジェクト: LABclimate/MT
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)
    
コード例 #5
0
ファイル: _main_CESM_dMOCVtest.py プロジェクト: LABclimate/MT
# =======================================================================================
#  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)
コード例 #6
0
ファイル: PREP_dMOC.py プロジェクト: LABclimate/MT
    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()
コード例 #7
0
                                       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()