DKRZ CMIP6 data submission form for ESGF publication

Overview

You want to store and publish CMIP6 data at DKRZ via ESGF ? This form will provide some background information and guide you through the process.
To organize the data ingest we need some specific information with respect to the CMIP6 data collection you want to publish (e.g. concerning data structure, content and quality). The form has to be filled before the ESGF data ingest and publication process can be started.
In case you have questions please contact esgf-publication@dkrz.de

Preconditions for your data submission

You need to be aware of a set of technical requirements which have to be addressed before CMIP6 data submission to DKRZ and ESGF data publication are possible. They are collected at the official WCRP CMP Phase6 (CMIP6) site in the Guide to CMP6 Participation. In the following a short summary of key prerequisites is given:

Start submission procedure

The submission is based on this interactive document consisting of "cells" you can modify and then evaluate.
Evaluation of cells is done by selecting the cell and pressing the keys "Shift" + "Enter".

Please evaluate the following cell to identifiy your form (associate your name and email to this form).

Attention: the name selected must match the name at the opt of this page !


In [ ]:
# Evaluate this cell to identifiy your form 

from dkrz_forms import form_widgets, form_handler, checks
form_infos = form_widgets.show_selection()

In [ ]:
# Evaluate this cell to generate your personal form instance

form_info = form_infos[form_widgets.FORMS.value]
sf = form_handler.init_form(form_info)
form = sf.sub.entity_out.report

Type of submission

please specify the type of this data submission:

  • "initial_version" for first submission of data
  • "new _version" for a re-submission of previousliy submitted data
  • "retract" for the request to retract previously submitted data

In [ ]:
form.submission_type = "init"  # example: sf.submission_type = "initial_version"

CMOR compliance

  • please provide information on the software and tools you used to make sure your data is CMIP6 CMOR3 compliant

In [ ]:
form.cmor = '..'   ##  options: 'CMOR', 'CDO-CMOR', etc.

form.cmor_compliance_checks = '..'   ## please name the tool you used to check your files with respect to CMIP6 compliance
                                     ## 'PREPARE' for the CMOR PREPARE checker and "DKRZ" for the DKRZ tool.

Documentation availability

  • please provide information with respect to availability of es-doc model documentation
  • in case this form addresses a new version replacing older versions: provide info on the availability of errata information especially refer to errata information provided using the CMIP6 errata web frontend

In [ ]:
form.es_doc = " .. "     # 'yes' related esdoc model information is/will be available, 'no' otherwise
form.errata = " .. "     # 'yes' if errata information was provided based on the CMIP6 errata mechanism

# fill the following info only in case this form refers to new versions of already published ESGF data
form.errata_id = ".."         # the errata id provided by the CMIP6 errata mechanism 
form.errata_comment = "..."   # any additional information on the reason of this new version, not yet provided

Uniqueness of tracking_id and creation_date

All your file have unique tracking_ids assigned in the structure required by CMIP6 ?

In case any of your files is replacing a file already published, it must not have the same tracking_id nor the same creation_date as the file it replaces. Did you make sure that that this is true ?

Reply 'yes'; otherwise adapt your files, no ESGF publication is possible !


In [ ]:
form.uniqueness_of_tracking_id = "..." # example: form.uniqueness_of_tracking_id = "yes"

Generic content characterization based on CMIP6 directory structure

Please name the respective directory names characterizing your submission:

  • all files within the specified directory pattern are subject to ESGF publication

CMIP6 directory structure:


    <CMIP6>/<activity_id>/<institution_id>/<source_id>/
        <experiment_id>/<member_id>/<table_id>/<variable_id>/
        <grid_label>/<version>  

e.g. form_data_dir_1 = '/CMIP6/CMIP/MPI-M/MPIESM-1-2-HR/ piControl/r1i2p1f1//3hr//* '

addresses all 3hr data in the specified experiment/member


In [ ]:
form.data_dir_1 = " ... "  

# uncomment for additional entries ... 
# form.data_dir_2 = " ... " 
# form.data_dir_3 = " ... "
# ...

Provide specific additional information for this submission

  • variables, grid, calendar, ...
  • example file name
  • .. what do we need ..?

In [ ]:
form.time_period = "..." # example: sf.time_period = "197901-201412" 
                       # ["time_period_a","time_period_b"] in case of multiple values
    
form.grid = ".."

Exclude variable list

In each CMIP6 file there may be only one variable which shall be published and searchable at the ESGF portal (target variable). In order to facilitate publication, all non-target variables are included in a list used by the publisher to avoid publication. A list of known non-target variables is [time, time_bnds, lon, lat, rlon ,rlat ,x ,y ,z ,height, plev, Lambert_Conformal, rotated_pole]. Please enter other variables into the left field if applicable (e.g. grid description variables), otherwise write 'N/A'.


In [ ]:
form.exclude_variables_list = "..." # example: sf.exclude_variables_list=["bnds", "vertices"]

CMIP6 terms of use


In [ ]:
form.terms_of_use = "..." #   has to be "ok"

Step 2: provide information on the data handover mechanism

  • the following information (and other information needed for data transport and data publication)

In [ ]:
form.data_path = "..."        # example: sf.data_path = "mistral.dkrz.de:/mnt/lustre01/work/bm0021/k204016/CORDEX/archive/"
form.data_information = "..." # ...any info where data can be accessed and transfered to the data center ... "

Example file name

Please provide an example file name of a file in your data collection, this name will be used to derive the other


In [ ]:
form.example_file_name = "..." # example: sf.example_file_name = "tas_AFR-44_MPI-M-MPI-ESM-LR_rcp26_r1i1p1_MPI-CSC-REMO2009_v1_mon_yyyymm-yyyymm.nc"

Step 3: Check your submission before submission


In [ ]:
# simple consistency check report for your submission form - not completed
report = checks.check_report(sf,"sub")
checks.display_report(report)

Step 4: Save and review your form

your form will be stored (the form name consists of your last name plut your keyword)


In [ ]:
form_handler.save_form(sf,"any comment you want")  # add a comment

In [ ]:
# evaluate this cell if you want a reference (provided by email)
# (only available if you access this form via the DKRZ hosting service)
form_handler.email_form_info(sf)

Step 5: officially submit your form

the form will be submitted to the DKRZ team to process you also receive a confirmation email with a reference to your online form for future modifications


In [ ]:
#form_handler.email_form_info(sf)
form_handler.form_submission(sf)