Hi,
I am using ACCESS-MOPPy to CMORise (for the first time) outputs from experiments using the ACCESS-ESM1.5. For this I am following the tutorials to do so in a notebook e.g., ACCESS-MOPPy/notebooks/Tutorial1_CMORisation_ENSO_Recipes.ipynb at main · ACCESS-NRI/ACCESS-MOPPy · GitHub
The raw outputs from the atmosphere model have variables that look like this ds.fld_s00i024 (standard_name = surface_temperature, long_name = SURFACE TEMPERATURE AFTER TIMESTEP) or this ds.fld_s05i216 (standard_name = precipitation_flux, long_name = TOTAL PRECIPITATION RATE).
I assume these are ts and pr, respectively. But I can’t find where those ‘CMIPpy’ names are listed in the output so I can use them properly to identify the variables for the CMORiser. Like, I’ll want things like hur and hus and psl and 10-metre u and v winds but how do I go about finding those names? They are obviously somewhere because I successfully CMORed myself a pr file.
Apologies for what is almost certainly an embarrassingly simple question and indeed if I have missed something super obvious.
edit I know these are in tables somewhere on the internet e.g., this old Variable List but I was hoping there might be some easier solution
-Georgy
Hi, @georgyfalster , great to hear that you are using ACCESS-Moppy.
For your question, if you know the STASH code of a raw variable (e.g. fld_s00i024) or its standard_name (e.g. surface_temperature), you can find the corresponding CMIP variable name in the mapping file: `/ACCESS-MOPPy/src/access_moppy/mappings/ACCESS-ESM1-6_mappings.json`
If you already know the CMIP variable you would like to CMORise, you can simply use its CMIP name when generating the CMORiser. For example:
cmoriser = ACCESS_ESM_CMORiser(
# input_data=FILES,
compound_name="Amon.pr",
# experiment_id="piControl",
# source_id="ACCESS-ESM1-5",
# variant_label="r1i1p1f1",
# grid_label="gn",
# activity_id="CMIP",
# parent_info=parent_experiment_config, # <-- This is optional, can be skipped if not needed
)
Thanks @RhaegarZeng - and yes the MOPPy seems to be working very nicely for me so far. The only other thing that would have been nice is if I could slightly customise the output name to something not so strictly CMIP.
I’d made a table that shows the STASH code against the standard_name, but guess I was just hoping for a shortcut that then showed me the CMIP variable name for the mop. Point being that I didn’t think it safe to assume that every CMIP-type variable I want is in the output suite I selected(!) But I guess there is not a shortcut in this instance.
I have found a variable name table for CMIP6 so will see how I get on with that.
Many thanks for the speedy reply.
Hello again @RhaegarZeng
Apologies, I should have checked more thoroughly before replying!
I am still a bit lost with some ocean variables. For example, I have an ocean model output ocean-2d-usurf-1monthly-mean-ym_0103_01.ncThis has no equivalent in the mappings file, nor on a CMIP6 variable name list I found. Going into the file, the long name is ‘i-surface current’.
Clearly I am missing something here - for example, the CMIP variable ‘tos’ (standard name sea_surface_temperature) exists in my outputs as 'ocean-2d-surface_temp*` and that at least is referenced in the mapping file. But for other variables I am not sure how to map them to CMIP variables.
Thanks,
Georgy
Hi, @georgyfalster
After checking, I don’t think usurf corresponds directly to any CMIP6 variable.
It’s also worth noting that not every raw model output has a one-to-one mapping to a CMIP variable. Some CMIP variables are derived from multiple raw model variables, while others require additional calculations before they can be CMORised.
So, in general, it’s better to start by identifying the CMIP variable you want to produce, and then use ACCESS-MOPPy to determine which raw model variables are required, rather than trying to work backwards from the raw model output variables.