This is a guide to ESGF publication for E3SM data. This guide is not meant to work for publication to CMIP6.
This guide assumes you have your model data ready.
Step 1: Data
...
Selection
The first step is to decide what data you want to publish. For the piControl run (the first large E3SM publication) we decided to publish the following files:
Atmosphere
The following were published for all the DECK experiments:
ATM: Native cam.h0
...
Native cam.
...
h1
...
Regridded climos at frequencies 5 year, 50 year, 100 year, total run
Regridded time series (
...
for selected variables*)
- Land
LND: Native clm2.h0
...
Native mosart.h0
- Ocean
OCN: Native mpaso
...
.timeSeriesStatsMonthly
- Sea-Ice
- Native mpascice.hist.am.timeSeriesStatsMonthly
ICE: Native mpassi.timeSeriesStatsMonthly
*Time series variables are: FLNS, FLNT, FLUT, FSNS, FSNTOA, FSNT, PRECC, PRECL, PRECSC, PRECSL, QFLX, SHFLX, THEFHT, TS
Once you've decided on what data to publish, generate the post processed data to meet your requirements (time series, regridded data, climos, ect).
ESGF requires that the data facets be stored in an "ini" file, which is used by the publisher to discover and validate the files. The E3SM ini file can be found here: /wiki/spaces/WORKFLOW/pages/650707592 and on GitHub: https://github.com/ESGF/config/blob/devel/publisher-configs/ini/esg.e3sm.ini
...
Code Block |
---|
directory_format = %(root)s/%(source)s/%(model_version)s/%(experiment)s/%(atmos_grid_resolution)s_atm_%(ocean_grid_resolution)s_ocean/%(realm)s/%(regridding)s/%(data_type)s/%(time_frequency)s/%(ensemble_member)s dataset_id = %(source)s.%(model_version)s.%(experiment)s.%(atmos_grid_resolution)s_atm_%(ocean_grid_resolution)s_ocean.%(realm)s.%(regridding)s.%(data_type)s.%(time_frequency)s.%(ensemble_member)s |
========= BUG WARNING ===========
DO NOT include any option values that include any substrings that match a 'v' followed by any numbers. No 'fv129x256' or 'v1_0' for model version.
...
=================================
Step 2: Data formatting
Once you've defined that structure of the dataset, the next step is fairly straightforward. Simply create the directories in the structure you defined, and place the correct data into the structure where it should go.
...
Code Block |
---|
esgmapfile make --outdir <path_to_yourput_output>mapfiles> -i <path_to_ini_directory> --project e3sm --max-processes <sum<number_number_of_cores> <path_to_your_new_data_set> |
...
Code Block |
---|
E3SM.1_0.piControl.1deg_atm_60-30km_ocean.atmos.129x256.climo.monClim.ens1 | science_driver="Water Cycle" | land_grid_resolution="1deg" | seaice_grid_resolution="60-30km" E3SM.1_0.piControl.1deg_atm_60-30km_ocean.atmos.129x256.time-series.mon.ens1 | science_driver="Water Cycle" | land_grid_resolution="1deg" | seaice_grid_resolution="60-30km" | period="Perpetual 1850" E3SM.1_0.piControl.1deg_atm_60-30km_ocean.land.native.model-output.mon.ens1 | science_driver="Water Cycle" | land_grid_resolution="1deg" | seaice_grid_resolution="60-30km" | period="Perpetual 1850" |
After the new mapfile has been created, envoke the esgadd_facetvalues command
...