NorESMhub / noresm2cmor

A command line tool for cmorizing NorESM output
http://noresmhub.github.io/noresm2cmor/
5 stars 16 forks source link

Add 'Control Vocabulary' for KeyCLIM experiments, etc #301

Closed YanchunHe closed 3 years ago

YanchunHe commented 3 years ago

A KeyCLIM branch is created.

The definition of model and experiments can be defined in the CMIP6_CV.json file:

It is also possible to include/define new variables, but then you have to change:

How to contribute? alternatives:

  1. fork this branch and 'pull request'
  2. change or edit directly these files in this repository (make sure it is the KeyCLIM branch) (I will verify the changes and fix)
  3. comment under this issue and I will incorporate them

Comment here or write to me by email if you want to contribute but do not have write permission.

Links:

YanchunHe commented 3 years ago

Some of the changed control vocabulary will eventually go to the 'global attributes' of the cmorized netcdf file:

Indicate what do you want to change as in the 'global attribute', by commenting below!

// global attributes:
        :_NCProperties = "version=1|netcdflibversion=4.6.1|hdf5libversion=1.10.2" ;
        :Conventions = "CF-1.7 CMIP-6.2" ;
        :activity_id = "KeyCLIM" ;
        :branch_method = "Hybrid-restart from year 1200-01-01 of piControl" ;
        :branch_time = 0. ;
        :branch_time_in_child = 0. ;
        :branch_time_in_parent = 438000. ;
        :contact = "Please send any requests or bug reports to noresm-ncc@met.no." ;
        :creation_date = "2021-05-28T12:05:02Z" ;
        :data_specs_version = "01.00.32" ;
        :experiment = "historical, with piAerOxid" ;
        :experiment_id = "hist-piAerOxid" ;
        :external_variables = "areacella" ;
        :forcing_index = 1 ;
        :frequency = "mon" ;
        :further_info_url = "https://furtherinfo.es-doc.org/CMIP6.NCC.NorESM2-MM.hist-piAerOxid.none.r1i1p1f1" ;
        :grid = "finite-volume grid with 0.9x1.25 degree lat/lon resolution" ;
        :grid_label = "gn" ;
        :history = "2021-05-28T12:05:02Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards." ;
        :initialization_index = 1 ;
        :institution = "NorESM Climate modeling Consortium consisting of CICERO (Center for International Climate and Environmental Research, Oslo 0349), MET-Norway (Norwegian Meteorological Institute, Oslo 0313), NERSC (Nansen Environmental and Remote Sensing Center, Bergen 5006), NILU (Norwegian Institute for Air Research, Kjeller 2027), UiB (University of Bergen, Bergen 5007), UiO (University of Oslo, Oslo 0313) and UNI (Uni Research, Bergen 5008), Norway. Mailing address: NCC, c/o MET-Norway, Henrik Mohns plass 1, Oslo 0313, Norway" ;
        :institution_id = "NCC" ;
        :mip_era = "CMIP6" ;
        :model_id = "NorESM2-MM" ;
        :nominal_resolution = "100 km" ;
        :parent_activity_id = "CMIP" ;
        :parent_experiment_id = "piControl" ;
        :parent_mip_era = "CMIP6" ;
        :parent_source_id = "NorESM2-MM" ;
        :parent_sub_experiment_id = "none" ;
        :parent_time_units = "days since 0001-01-01" ;
        :parent_variant_label = "r1i1p1f1" ;
        :physics_index = 1 ;
        :product = "model-output" ;
        :realization_index = 1 ;
        :realm = "aerosol" ;
        :run_variant = "N/A" ;
        :source = "NorESM2-MM (2017): \n",
            "aerosol: OsloAero\n",
            "atmos: CAM-OSLO (1 degree resolution; 288 x 192; 32 levels; top level 3 mb)\n",
            "atmosChem: OsloChemSimp\n",
            "land: CLM\n",
            "landIce: CISM\n",
            "ocean: MICOM (1 degree resolution; 360 x 384; 70 levels; top grid cell minimum 0-2.5 m [native model uses hybrid density and generic upper-layer coordinate interpolated to z-level for contributed data])\n",
            "ocnBgchem: HAMOCC\n",
            "seaIce: CICE" ;
        :source_id = "NorESM2-MM" ;
        :source_type = "AOGCM AER BGC" ;
        :sub_experiment = "none" ;
        :sub_experiment_id = "none" ;
        :table_id = "AERmon" ;
        :table_info = "Creation Date:(28 May 2020) MD5:1ea2962ac297e71a71a632a9339eb8e1" ;
        :title = "NorESM2-MM output prepared for CMIP6" ;
        :variable_id = "ztp" ;
        :variant_label = "r1i1p1f1" ;
        :license = "CMIP6 model data produced by NCC is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and at https:///pcmdi.llnl.gov/. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law." ;
        :cmor_version = "3.6.0" ;
        :tracking_id = "hdl:21.14100/42b618d4-b34c-4b10-b7bd-2307c4665017" ;
lisesg commented 3 years ago

Thanks a lot for preparing this @YanchunHe! :)

The model namelist:

The CMIP6_CV.json file:

tjiputra commented 3 years ago

Thank you very much @YanchunHe, @lisesg for following this through.

Should/can we call the file itself mod_KeyCLIM_NorESM2-MM.nml instead of mod_CMIP6_NorESM2-MM.nml?

If possible, it would be better to use the former to keep the distinction.

mip_era: does it make sense that this is CMIP6 or should it for instance be KeyCLIM instead?

If I understand this correctly, here we're referring to the protocol/forcing/boundary conditions/ets, so it seems CMIP6 would suit this.

Otherwise, I agree with @lisesg suggestions.

YanchunHe commented 3 years ago

Thank you @tjiputra @lisesg

I will make changes accordingly, and will invite you for all a quick review.

-yanchun

lisesg commented 3 years ago

Great, thanks Yanchun! I can set up a page in the NorESM documentation on read the docs we can use for the further_info_url.

lisesg commented 3 years ago

There is now a page for KeyCLIM data in the NorESM documentation: https://noresm-docs.readthedocs.io/en/latest/data/keyclim_data.html

Please use this for the further_info_url.

YanchunHe commented 3 years ago

There is now a page for KeyCLIM data in the NorESM documentation: https://noresm-docs.readthedocs.io/en/latest/data/keyclim_data.html

Please use this for the further_info_url.

Thank you @lisesg I will soon create the draft control vocabulary for KeyCLIM.

YanchunHe commented 3 years ago

Hi @lisesg and @tjiputra, there are several issues that needs to be clarified:

  1. I guess those piSpinUp* and piControl* do not need to be cmorized? If so, I don't need to include them in the control vocabulary.
  2. I would suggest use dash (-) instead of underscore (_) in the name of the experiments, as how CMIP defines experiment name. Therefore, I will use e.g., hist-ozone instead of hist_ozone as written in the KeyCLIM WP6-joined experiments
  3. In the experiments list, experiments without anthropogenic aerosols are named as hist-piAerOxid/ssp370-piAerOxid, but in the 'Diagnostics' Sheet, there are experiments named hist_natAero/ssp585_natAero. Do they meant to the same experiments?

Thanks!

tjiputra commented 3 years ago

Hi @YanchunHe

  1. I think it would be good to have capability to cmorize piControl_*, since we don't know how delayed these simulations will be and it's nevertheless could be useful to compare the different piControl results.
  2. This is fine with me.
  3. Yes, that was an error from our side (i will fix this). I suggest we use hist-piAerOxid/ssp370-piAerOxid.

@lisesg , is this ok with you?

many thanks, Yanchun. jerry

lisesg commented 3 years ago
  1. I think it would be good to have capability to cmorize piControl_*, since we don't know how delayed these simulations will be and it's nevertheless could be useful to compare the different piControl results.
  2. This is fine with me.
  3. Yes, that was an error from our side (i will fix this). I suggest we use hist-piAerOxid/ssp370-piAerOxid.

@lisesg , is this ok with you?

Yes, I agree with this.

Thanks @YanchunHe and @tjiputra! :)