Esempio n. 1
0
import os
from climaf.dataloc import dataloc
from climaf.classes import cproject, calias, cfreqs, cdef

p = cproject(
    "CMIP5",
    "model",
    "experiment",
    ("frequency", "monthly"),
    ("table", "*"),
    ("realm", "*"),
    ("version", "last"),
    ensemble=["model", "simulation"],
)
cdef("simulation", "r1i1p1", project="CMIP5")

# Frequency alias
cfreqs("CMIP5", {"monthly": "mon", "daily": "day"})

urls_CMIP5 = None

if os.path.exists("/cnrm"):
    # Declare a list of root directories for CNRM-CM CMIP5 data on CNRM's Lustre file system.
    urls_CMIP5 = [
        "/cnrm/aster/data2/ESG/data1",
        "/cnrm/aster/data2/ESG/data2",
        "/cnrm/aster/data2/ESG/data5",
        "/cnrm/aster/data4/ESG/data6",
        "/cnrm/aster/data4/ESG/data7",
        "/cnrm/aster/data4/ESG/data8",
Esempio n. 2
0
    # --------------------------------------------- >
    pattern1 = '${root}/CORDEX/output/${CORDEX_domain}/${institute}/${driving_model}/${experiment}/${realization}/' \
               '${model}/${model_version}/${frequency}/${variable}/${version}/' \
               '${variable}_${CORDEX_domain}_${driving_model}_${experiment}_${realization}_${model}_${model_version}_' \
               '${frequency}_${PERIOD}.nc'
    pattern2 = '${root}/CORDEX/output/${CORDEX_domain}/${institute}/${driving_model}/${extent_experiment}/' \
               '${realization}/${model}/${model_version}/${frequency}/${variable}/${version}/' \
               '${variable}_${CORDEX_domain}_${driving_model}_${extent_experiment}_${realization}_${model}_' \
               '${model_version}_${frequency}_${PERIOD}.nc'

    # -- CORDEX
    cproject('CORDEX', 'root', 'model', 'CORDEX_domain', 'model_version', 'frequency', 'driving_model',
             'realization', 'experiment', 'version', 'institute', ensemble=['model', 'driving_model', 'realization'],
             separator='%')
    dataloc(project='CORDEX', url=[pattern1])
    cdef('experiment', '*', project='CORDEX')
    cdef('model_version', '*', project='CORDEX')

    # -- CORDEX extent (historical + scenario at once)
    cproject('CORDEX_extent', 'root', 'model', 'CORDEX_domain', 'model_version', 'frequency', 'driving_model',
             'realization', 'experiment', 'extent_experiment', 'version', 'institute',
             ensemble=['model', 'driving_model', 'realization'], separator='%')
    dataloc(project='CORDEX_extent', url=[pattern1])
    dataloc(project='CORDEX_extent', url=[pattern2])
    cdef('extent_experiment', 'rcp85', project='CORDEX_extent')
    cdef('experiment', 'historical', project='CORDEX_extent')
    cdef('model_version', '*', project='CORDEX_extent')

    # -- CORDEX Adjust
    pattern = '${root}/CORDEX-Adjust/bias-adjusted-output/${CORDEX_domain}/${institute}/${driving_model}/' \
              '${experiment}/${realization}/${model}/${bias_correction}/${frequency}/${variable}/${version}/' \
Esempio n. 3
0
Example ::

    >>> pr_gpcp=ds(project='CAMIOBS', simulation='GPCP2.5d', variable='pr', period='1979-1980')


"""

from climaf.dataloc import dataloc
from climaf.classes import cproject, calias, cdef

cproject("CAMIOBS", "product", separator="_")

# Root directory for obs data organized 'a la CAMI' on CNRM's Lustre file system.
CAMIOBS_root = "/cnrm/est/COMMON/cami/V1.8/climlinks/"

# Pattern for matching CAMI obs data files and their directory.
# We choose to use facet 'model' to carry the observation source
CAMIOBS_pattern = "${product}/${variable}_1m_${PERIOD}_${simulation}.nc"

# Declare the CAMIOBS pattern to be associated with a project we name OBS_CAMI
dataloc(project="CAMIOBS",
        organization="generic",
        url=[CAMIOBS_root + CAMIOBS_pattern])

cdef("simulation", "*", project="CAMIOBS")

# From here, you can define your dataset using these files.
# You need only to define the facets useful w.r.t. the patterns
# i.e. here : model and variable
#pr_gpcp=ds(project="CAMIOBS", product="GPCP2.5d", variable="pr", period="1979-1980")
Esempio n. 4
0
  ## -- Declare a 'CMIP6 CliMAF project 
  ## ------------------------------------ >
  cproject('CMIP6', 'root', 'model', 'institute', 'mip', 'table', 'experiment', 'realization',
           'grid', 'version', ensemble=['model','realization'], separator='%')

  ## -- Declare a CMIP6 'extent' CliMAF project = extracts a period covering historical and a scenario
  ## ------------------------------------ >
  cproject('CMIP6_extent', 'root', 'model', 'institute', 'mip', 'table', 'experiment', 'extent_experiment', 'realization',
           'grid', 'version', ensemble=['model','realization'], separator='%')


  for project in ['CMIP6', 'CMIP6_extent']:
      ## --> systematic arguments = simulation, frequency, variable
      ## -- Set the aliases for the frequency
      ## -- Set default values
      cdef('root'         , root          , project=project)
      cdef('institute'    , '*'           , project=project)
      cdef('model'        , '*'           , project=project)
      cdef('mip'          , '*'           , project=project)
      #cdef('table'        , '*'           , project='CMIP6') # impossible, because of ambiguities
      cdef('grid'         , 'g*'          , project=project)
      cdef('realization'  , 'r1i1p1f*'    , project=project)
      cdef('experiment'  , 'historical'   , project=project)
      cdef('version'     , 'latest'       , project=project)
      cdef('table'        , '*'           , project=project)
      #
      calias(project, 'tos', offset=273.15)
      calias(project, 'thetao', offset=273.15)
      calias(project, 'sivolu', 'sivol')
      calias(project, 'sic', 'siconc')
      calias(project, 'sit', 'sithick')
Esempio n. 5
0
if atCNRM:
    root = "/cnrm/est/COMMON/climaf/reference_datasets_from_IPSL/"

cproject('ref_climatos', ('frequency', 'annual_cycle'),
         'product',
         'clim_period',
         ensemble=['product'],
         separator='%')
cfreqs('ref_climatos', {
    'monthly': 'mo',
    'daily': 'day',
    'seasonal': 'mo',
    'annual_cycle': 'mo'
})

cdef('variable', '*', project='ref_climatos')
cdef('product', '*', project='ref_climatos')
cdef('clim_period', '*', project='ref_climatos')
cdef('simulation', 'refproduct', project='ref_climatos')
cdef('period', 'fx', project='ref_climatos')

if (root):
    pattern2 = root + "climatos/*/${frequency}/${variable}/${product}/ac/${variable}_*mon_${product}_${clim_period}-clim.nc"
    dataloc(project='ref_climatos', organization='generic', url=pattern2)

##########################################################################################

cproject('ref_ts', ('frequency', 'monthly'), ('product', '*'),
         ('period', '1900-2050'))
cfreqs('ref_ts', {'monthly': 'mo', 'daily': 'day'})
Esempio n. 6
0


"""
from climaf.dataloc import dataloc
from climaf.classes import cproject, calias, cfreqs, cdef


# Declare CMIP6CERFACS project
cproject('CMIP6CERFACS', 'model', 'simulation', 'institute', 'mip','table', 'realization', 'grid', separator='%')
# --> systematic arguments = simulation, frequency, variable
# -- Set the aliases for the frequency
# cfreqs('PRIMAVERA-cerfacs', {'monthly':'mon', 'yearly':'yr', 'daily':'day'})
# crealms('IGCM_CMIP6', {'atmos':'ATM', 'ocean':'OCE', 'land':'SRF', 'seaice':'ICE' })
# -- Set default values
cdef('institute', 'CNRM-CERFACS', project='CMIP6CERFACS')
cdef('mip', '*', project='CMIP6CERFACS')
cdef('model', '*', project='CMIP6CERFACS')
cdef('simulation', '*', project='CMIP6CERFACS')
cdef('domain', 'global', project='CMIP6CERFACS')
cdef('period', '*', project='CMIP6CERFACS')
cdef('variable', 'tas', project='CMIP6CERFACS')
cdef('table', 'Amon', project='CMIP6CERFACS')
cdef('realization', 'r*i1p1f*', project='CMIP6CERFACS')
cdef('grid', 'g*', project='CMIP6CERFACS')

# -- Specify the pattern
root1 = "/data/scratch/globc/dcom/CMIP6/${mip}/${institute}/${model}/${model}_${simulation}_${realization}/"
pathfiles1 = root1 + "${variable}_${table}_${model}_${simulation}_${realization}_${grid}_${PERIOD}.nc"
root2 = "/data/scratch/globc/dcom/PRIMAVERA/WP6_HIGHRESMIP/${model}_${simulation}_${realization}/"
pathfiles2 = root2 + "${variable}_${table}_${model}_${simulation}_${realization}_${grid}_${PERIOD}.nc"
Esempio n. 7
0
    pathG = "${root}/${group}/${simulation}/"
    pathI = pathG + "O/${simulation}_1${frequency}_YYYYMMDD_YYYYMMDD_icemod.nc"  # var:T
    pathO = pathG + "O/${simulation}_1${frequency}_YYYYMMDD_YYYYMMDD_grid_${variable}.nc"  # var:T
    dataloc(project="emn36", organization="generic", url=[pathI, pathO])

    # Shared simulations
    pathg = "/cnrm/cmip/cnrm/simulations/${group}/"
    pathgI = pathg + "O/Origin/Monthly/${simulation}/${simulation}_1${frequency}_YYYYMMDD_YYYYMMDD_icemod.nc"
    pathgO = pathg + "O/Origin/Monthly/${simulation}/${simulation}_1${frequency}_YYYYMMDD_YYYYMMDD_grid_${variable}.nc"
    dataloc(project="emn36", organization="generic", url=[pathgI, pathgO])

    # Define default values
    ############################################

    # You do not need to use a GROUPs experiment
    cdef("group", "", project="emn36")

    cdef("frequency", "monthly", project="emn36")
    cfreqs("emn36", {"daily": "d", "monthly": "m"})

    # More details about data organization
    ############################################

    # Describe how to locate some ocean variables in multi-variable data files
    calias("emn36", 'e-p', filenameVar='S')
    calias("emn36", 'fcalva', filenameVar='S')
    calias("emn36", 'fcalvg', filenameVar='S')
    calias("emn36", 'friver', filenameVar='S')
    calias("emn36", 'flake', filenameVar='S')
    calias("emn36", 'omlmax', filenameVar='S')
    calias("emn36", 'so', filenameVar='S')
Esempio n. 8
0
             'model',
             'realization',
             'grid',
             ensemble=['model', 'simulation', 'realization'],
             separator='%')
    # --> systematic arguments = simulation, frequency, variable
    # -- Set the aliases for the frequency
    cfreqs('IGCM_CMIP6', {'monthly': 'mon', 'yearly': 'yr', 'daily': 'day'})
    crealms('IGCM_CMIP6', {
        'atmos': 'ATM',
        'ocean': 'OCE',
        'land': 'SRF',
        'seaice': 'ICE'
    })
    # -- Set default values
    cdef('IPSL_MODEL', 'IPSLCM6', project='IGCM_CMIP6')
    cdef('realization', 'r1i1p1f1', project='IGCM_CMIP6')
    cdef('status', '*', project='IGCM_CMIP6')
    cdef('experiment', 'historical', project='IGCM_CMIP6')
    cdef('realm', '*', project='IGCM_CMIP6')
    cdef('table', '_', project='IGCM_CMIP6')
    cdef('frequency', 'monthly', project='IGCM_CMIP6')
    cdef('grid', 'gr', project='IGCM_CMIP6')
    cdef('root', root, project='IGCM_CMIP6')

    # -- Specify the pattern
    pattern1 = "${root}/${login}/IGCM_OUT/${IPSL_MODEL}/${status}/${experiment}/${simulation}/CMIP6/${realm}/" \
               "${variable}_*${frequency}_${model}_${experiment}_${realization}_${grid}_${PERIOD}.nc"
    pattern2 = "${root}/${login}/IGCM_OUT/${IPSL_MODEL}/${status}/${experiment}/${simulation}/CMIP6/${realm}/" \
               "${variable}_${table}_${model}_${experiment}_${realization}_${grid}_${PERIOD}.nc"
    # pattern3="${root}/${login}/IGCM_OUT/${IPSL_MODEL}/${status}/${experiment}/${simulation}/CMIP6/${realm}/"
Esempio n. 9
0
"""

This module declares PCMDI reference products on ciclad data organization and specifics, as managed by J. Servonnat at IPSL;

"""

from climaf.dataloc import dataloc
from climaf.classes import cproject, calias, cfreqs, cdef
from climaf.site_settings import onCiclad

cfreqs('ref_pcmdi', {'monthly':'mo' , 'daily':'day' , 'seasonal':'mo', 'annual_cycle':'mo'})


if onCiclad:
    cproject('ref_pcmdi', ('frequency','annual_cycle'), 'product', 'clim_period')
    cdef('variable',     '*',           project='ref_pcmdi')
    cdef('product',      '*',           project='ref_pcmdi')
    cdef('clim_period',  '*',           project='ref_pcmdi')
    cdef('period',       '1950-2015',   project='ref_pcmdi')
    root="/data/jservon/Evaluation/ReferenceDatasets/PCMDI-MP/obs/*/${frequency}/${variable}/${product}/ac/"
    pattern2=root+"${variable}_*mon_${product}_${clim_period}-clim.nc" 
    dataloc(project='ref_pcmdi', organization='generic', url=pattern2)


Esempio n. 10
0
# Rajouter login et disk (ou filesystem) = scratch/store/work

# ajouter realm? atmos -> ATM; ocean -> OCE
root = None
if atTGCC:
   # Declare a list of root directories for IPSL data at TGCC
   root="/ccc/store/cont003/dsm"
if onCiclad :
   # Declare a list of root directories for CMIP5 data on IPSL's Ciclad file system
   root="/data/jservon/IPSL_DATA/SIMULATIONS"


p=cproject("IGCM_OUT", "clim_period", "model", "simulation", "variable", "frequency", "experiment", "OUT", "DIR", "login", "period", "root", ensemble=["model","simulation"], separator="%")

cdef('root',        root,         project='IGCM_OUT')
cdef('clim_period', '????_????',  project='IGCM_OUT')
cdef('model',       '*',          project='IGCM_OUT')
cdef('simulation',  '*',          project='IGCM_OUT')
cdef('variable',    '*',          project='IGCM_OUT')
cdef('frequency',   'monthly',    project='IGCM_OUT')
cdef('experiment',  '*',          project='IGCM_OUT')
cdef('OUT',         '*',          project='IGCM_OUT')
cdef('DIR',         '*',          project='IGCM_OUT')
cdef('login',       '*',          project='IGCM_OUT')
cdef('period',      '0001-3000',  project='IGCM_OUT')


# Frequency alias
cfreqs('IGCM_OUT', {'monthly':'1M' , 'daily':'1D' , 'seasonal':'SE', 'annual_cycle':'SE'})
Esempio n. 11
0
    # Declare a list of root directories for IPSL data at TGCC
    root = "/ccc/store/cont003/dsm"
if onCiclad:
    # Declare a list of root directories for CMIP5 data on IPSL's Ciclad file system
    root = "/prodigfs/fabric"
if onSpip:
    # Declare a list of root directories for IPSL data at TGCC
    root = "/Users/marti/Volumes/CURIE/ccc/store/cont003/dsm"
    print 'igcm_out : declaration root sur Spip : ', root

if root:
    p = cproject("NEMO", "root", "login", "model", "config", "status", "experiment", "simulation", "DIR", "OUT",
                 "ave_length", "frequency", "period", "clim_period", "clim_period_length",
                 ensemble=["model", "simulation", "clim_period"], separator="%")

    cdef('root', root, project='NEMO')
    cdef('clim_period', '????_????', project='NEMO')
    cdef('clim_period_length', '*', project='NEMO')  # --> Takes the following values: '*', ''
    # (to access only to SE), '_50Y', '_100Y'
    cdef('ave_length', '*', project='NEMO')  # --> Takes the following values: MO, DA...
    cdef('model', 'NEMO_v6', project='NEMO')
    cdef('config', 'ORCA1_LIM3_PISCES', project='NEMO')
    cdef('status', '*', project='NEMO')  # --> PROD, DEVT, TEST
    cdef('simulation', '*', project='NEMO')
    cdef('variable', '*', project='NEMO')
    cdef('frequency', 'yearly', project='NEMO')
    cdef('experiment', 'ORCA1ia', project='NEMO')
    cdef('OUT', 'Output', project='NEMO')  # --> Output, Analyse
    cdef('DIR', '*', project='NEMO')  # --> ATM, OCE, SRF...
    cdef('login', '*', project='NEMO')
    cdef('period', 'fx', project='NEMO')
Esempio n. 12
0
    cproject('CMIP6',
             'root',
             'model',
             'institute',
             'mip',
             'table',
             'experiment',
             'realization',
             'grid',
             'version',
             ensemble=['model', 'realization'],
             separator='%')
    ## --> systematic arguments = simulation, frequency, variable
    ## -- Set the aliases for the frequency
    ## -- Set default values
    cdef('root', root, project='CMIP6')
    cdef('institute', '*', project='CMIP6')
    cdef('mip', '*', project='CMIP6')
    #cdef('table'        , '*'           , project='CMIP6') # impossible, because of ambiguities
    cdef('grid', 'g*', project='CMIP6')
    if atCNRM:
        cdef('realization', 'r1i1p1f2', project='CMIP6')
    else:
        cdef('realization', 'r1i1p1f1', project='CMIP6')
    cdef('experiment', 'historical', project='CMIP6')
    cdef('version', 'latest', project='CMIP6')

    ## -- Define the patterns
    base_pattern = "${root}/CMIP6/${mip}/${institute}/${model}/${experiment}/${realization}/${table}/"
    base_pattern += "${variable}/${grid}/${version}/${variable}_${table}_${model}_${experiment}_${realization}_${grid}_"
    patterns = []
Esempio n. 13
0
    # Shared simulations - example : group=SC
    pathg = "/cnrm/cmip/cnrm/simulations/${group}/"
    pathgA = pathg + "${realm}/Regu/${frequency}/${simulation}/${simulation}PLYYYY.nc"  #C1P60
    pathgL = pathg + "${realm}/Regu/${frequency}/${simulation}/${simulation}SFXYYYY.nc"  #C1P60
    pathgI = pathg + "${realm}/Origin/Monthly/${simulation}/${variable}_O1_YYYY-YYYY.nc"  #HISTNATr8
    pathgO = pathg + "${realm}/Origin/Monthly/${simulation}/${simulation}_1${frequency}_YYYYMMDD_YYYYMMDD_grid_${variable}.nc"

    dataloc(project="em",
            organization="generic",
            url=[pathgA, pathgL, pathgI, pathgO])

    # Define default values
    ############################################

    # You do not need to use a GROUPs experiment
    cdef("group", "", project="em")

    # Files hierarchy and file naming conventions for ocean data requires
    # to tell freq="m" when defining a monthly ocean dataset. Otherwise, it defaults to 'mon'
    cdef("frequency", "mon", project="em")

    # Realm is used only for sometimes disambiguating a variable among realms
    cdef("realm", "*", project="em")
    # A/L/I/O or , for shared simulation : Atmos/Land/Seaice/Ocean

    # More details about data organization
    ############################################

    # Describe how to locate some ocean variables in multi-variable data files
    #calias("em", 'sos' ,filenameVar='S*')
    #calias("em", 'so'  ,filenameVar='S*')
Esempio n. 14
0
Example for a CMIP5 dataset declaration ::

 >>> tas1pc=ds(project='CMIP5', model='CNRM-CM5', experiment='1pctCO2', variable='tas', frequency='monthly', period='1860-1861')


"""

import os
from climaf.dataloc import dataloc
from climaf.classes import cproject, calias, cfreqs,cdef
from climaf.site_settings import atCNRM, onCiclad, atCEDA

p=cproject("CMIP5" ,"model","experiment", ("frequency","monthly"),
           ("table","*"),("realm","*"),("version","last"),
           ensemble=["model","simulation"])
cdef("simulation","r1i1p1",project="CMIP5")

# Frequency alias
cfreqs('CMIP5', {'monthly':'mon' , 'daily':'day' })

urls_CMIP5=None

if atCNRM :
    # Declare the directory for CNRM-CM CMIP5 data on CNRM's Lustre file system.
    urls_CMIP5=["/cnrm/cmip/cnrm/ESG"]
if onCiclad :
    # Declare a list of root directories for CMIP5 data on IPLS's Ciclad file system
    urls_CMIP5=["/prodigfs/project/"]
if atCEDA:
    urls_CMIP5=["/badc/cmip5/data"]
Esempio n. 15
0
    dataloc(project='CMIP5_extent', organization='generic', url=pattern1)
    dataloc(project='CMIP5_extent', organization='generic', url=pattern2)

    # -- Make the alias and default values for both projects
    for project in ['CMIP5', 'CMIP5_extent']:
        # calias(project, 'tos', offset=273.15)
        # calias(project, 'thetao', offset=273.15)
        # calias(project, 'sivolu', 'sivol')
        # calias(project, 'sic', 'siconc')
        # calias(project, 'sit', 'sithick')
        calias(project, 'NO3', 'no3')
        calias(project, 'PO4', 'po4')
        calias(project, 'Si', 'si')
        calias(project, 'O2', 'o2')

        cdef('root', root, project=project)
        # cdef('institute'   , '*'          , project=project)
        cdef('table', '*', project=project)  # impossible, because of ambiguities
        cdef('realm', '*', project=project)
        cdef('realization', 'r1i1p1', project=project)
        cdef('experiment', 'historical', project=project)
        cdef('version', '*', project=project)
        cdef('frequency', '*', project=project)
    cdef('extent_experiment', 'rcp85', project='CMIP5_extent')

    # -- Declare a CMIP5-Adjust CliMAF project: bias corrected CMIP5 simulations
    # ------------------------------------ >
    pattern = '${root}/CMIP5-Adjust/bias-adjusted-output/*/${model}/${experiment}/${frequency}/${realm}/${table}/' \
              '${realization}/${gr}/${bias_correction}/${version}/${variable}/' \
              '${variable}_${table}_${model}_${experiment}_${realization}_${gr}_${bias_correction}_${PERIOD}.nc'
    cproject('CMIP5-Adjust', 'root', 'model', 'experiment', 'bias_correction', 'frequency', 'table', 'gr', 'realm',
Esempio n. 16
0
"""

This module declares the project E-OBS : 
This archive is available on Ciclad (IPSL)

The specific attributes are:
- grid : '*'


"""

from climaf.dataloc import dataloc
from climaf.classes import cproject, calias, cfreqs, cdef
from climaf.site_settings import onCiclad, atTGCC, atIDRIS, atCerfacs, atCNRM

if onCiclad:
    # -- Create E-OBS CliMAF project
    EOBS_pattern = '/bdd/E-OBS/Grid_${grid}/${variable}_${grid}_${PERIOD}_v15.0.nc4'
    cproject('E-OBS', 'grid', 'frequency', separator='%')
    dataloc(project='E-OBS', organization='generic', url=EOBS_pattern)

    # -- Make a
    cdef('frequency', 'daily', project='E-OBS')
    cdef('grid', '*deg_*', project='E-OBS')
    cdef('period', '*', project='E-OBS')
    cdef('variable', '*', project='E-OBS')
    cfreqs('E-OBS', {'daily': 'day'})

    calias('E-OBS', 'tasmin', 'tn')
    calias('E-OBS', 'tasmax', 'tx')
Esempio n. 17
0
    
    # Shared simulations - example : group=SC
    pathg="/cnrm/cmip/cnrm/simulations/${group}/"
    pathgA=pathg+"${realm}/Regu/${frequency}/${simulation}/${simulation}PLYYYY.nc" #C1P60
    pathgL=pathg+"${realm}/Regu/${frequency}/${simulation}/${simulation}SFXYYYY.nc" #C1P60
    pathgI=pathg+"${realm}/Origin/Monthly/${simulation}/${variable}_O1_${PERIOD}.nc" #HISTNATr8
    pathgO=pathg+"${realm}/Origin/Monthly/${simulation}/${simulation}_1${frequency}_${PERIOD}_grid_${variable}.nc" 
    
    dataloc(project="em", organization="generic", url=[pathgA,pathgL,pathgI,pathgO])
    

    # Define default values
    ############################################

    # You do not need to use a GROUPs experiment
    cdef("group","",project="em") ;  

    # Files hierarchy and file naming conventions for ocean data requires 
    # to tell freq="m" when defining a monthly ocean dataset. Otherwise, it defaults to 'mon'
    cdef("frequency","mon",project="em") ;

    # Realm is used only for sometimes disambiguating a variable among realms
    cdef("realm","*",project="em") ;  # A/L/I/O or , for shared simulation : Atmos/Land/Seaice/Ocean 


    # More details about data organization
    ############################################

    # Describe how to locate some ocean variables in multi-variable data files
    #calias("em", 'sos' ,filenameVar='S*')
    #calias("em", 'so'  ,filenameVar='S*')
Esempio n. 18
0
             'root',
             'model',
             'realm',
             'experiment',
             'realization',
             'frequency',
             ensemble=['model', 'realization'],
             separator='%')

    ## -- Define the pattern for CMIP3 data
    pattern1 = '${root}/${experiment}/${realm}/${frequency}/${variable}/${model}/${realization}/'
    pattern1 += '${variable}_*.nc'

    ## -- call the dataloc CliMAF function
    dataloc(project='CMIP3', organization='generic', url=pattern1)

    # -- Make the alias and default values for both projects
    for project in ['CMIP3']:
        #calias(project, 'tos', offset=273.15)

        cdef('root', root, project=project)
        cdef('realm', '*', project=project)
        cdef('realization', '*', project=project)
        cdef('experiment', 'sresa1b', project=project)
        cdef('frequency', 'mo', project=project)
        cdef('period', '*', project=project)

        cfreqs(project, {
            'monthly': 'mo',
        })
Esempio n. 19
0
    root = "/ccc/work/cont003/igcmg/igcmg/IGCM/ReferenceDatasets/"
if atIDRIS:
    root = "/workgpfs/rech/psl/rpsl035/IGCM/ReferenceDatasets/"
if atCerfacs:
    root = "/data/scratch/globc/dcom/globc_obs/OBS4MIPS_ANA4MIPS_CMOR/Tier1/ERA5/"
if atCNRM:
    root = "/cnrm/est/COMMON/climaf/reference_datasets_from_IPSL/"

cproject('ref_era5cerfacs', ('frequency', 'monthly'),
         'product', ('period', '1979-2018'),
         'obs_type',
         'table',
         separator='%')
cfreqs('ref_era5cerfacs', {'monthly': 'mon', 'daily': 'day'})

cdef('variable', '*', project='ref_era5cerfacs')
cdef('product', 'ERA5', project='ref_era5cerfacs')
cdef('period', '1979-2018', project='ref_era5cerfacs')
cdef('obs_type', 'reanalysis', project='ref_era5cerfacs')
cdef('table', '*', project='ref_era5cerfacs')

# Obs de MOC RAPID (Il a fallu bricoler les donnees d'origine pour la dimension time au debut et unlim)
# dataloc(project="ref_climatos",organization="generic",
#        url='/home/esanchez/data_climaf/${variable}_vertical_unlim.nc')
calias(project='ref_era5cerfacs',
       variable='moc',
       fileVariable='stream_function_mar',
       filenameVar='moc')

if root:
    pattern1 = root + "${variable}_${table}_${obs_type}_${product}_${PERIOD}.nc"
Esempio n. 20
0
                 "login",
                 "model",
                 "status",
                 "experiment",
                 "simulation",
                 "DIR",
                 "OUT",
                 "ave_length",
                 "frequency",
                 "period",
                 "clim_period",
                 "clim_period_length",
                 ensemble=["model", "simulation", "clim_period"],
                 separator="%")

    cdef('root', root, project='IGCM_OUT_old')
    cdef('clim_period', '????_????', project='IGCM_OUT_old')
    cdef(
        'clim_period_length', '*', project='IGCM_OUT_old'
    )  # --> Takes the following values: '*', '' (to access only to SE), '_50Y', '_100Y'
    cdef('ave_length', '*',
         project='IGCM_OUT_old')  # --> Takes the following values: MO, DA...
    cdef('model', '*', project='IGCM_OUT_old')
    cdef('status', '*', project='IGCM_OUT_old')  # --> PROD, DEVT, TEST
    cdef('simulation', '*', project='IGCM_OUT_old')
    cdef('variable', '*', project='IGCM_OUT_old')
    cdef('frequency', 'monthly', project='IGCM_OUT_old')
    cdef('experiment', '*', project='IGCM_OUT_old')
    cdef('OUT', 'Analyse', project='IGCM_OUT_old')  # --> Output, Analyse
    cdef('DIR', '*', project='IGCM_OUT_old')  # --> ATM, OCE, SRF...
    cdef('login', '*', project='IGCM_OUT_old')
Esempio n. 21
0
"""

This module declares the project E-OBS : 
This archive is available on Ciclad (IPSL)

The specific attributes are:
- grid : '*'


"""

from climaf.dataloc import dataloc
from climaf.classes import cproject, calias, cfreqs, cdef
from climaf.site_settings import onCiclad, atTGCC, atIDRIS, atCerfacs, atCNRM

if onCiclad:
    # -- Create E-OBS CliMAF project
    EOBS_pattern = '/bdd/E-OBS/Grid_${grid}/${variable}_${grid}_YYYY-YYYY_v15.0.nc4'
    cproject('E-OBS', 'grid', 'frequency', separator='%')
    dataloc(project='E-OBS', organization='generic', url=EOBS_pattern)

    # -- Make a
    cdef('frequency', 'daily', project='E-OBS')
    cfreqs('E-OBS', {'daily': 'day'})

    calias('E-OBS', 'tasmin', 'tn')
    calias('E-OBS', 'tasmax', 'tx')