Open aekiss opened 5 years ago
We also need to combine solid and liquid runoff somehow - see discussion in https://github.com/COSIMA/access-om2/issues/155
The simplest thing would be to treat solid runoff as liquid, ignoring its latent heat, and add to liquid runoff. I guess it could be toggled by a combine_runoff
boolean flag in the runoff_nml
namelist in atmosphere/atm.nml
. The forcing.json
would have an additional entry to load the solid runoff, and if combine_runoff
is true this would be added to the liquid runoff.
@nichannah what do you think?
Another approach would be to have an additional key-value pair for the solid runoff file in the runoff dictionary in forcing.json
, like what was done for scaling.
If implemented for all fields, this could also be used for additive perturbation experiments, instead of (or in addition to) the support for multiplicative perturbations we already have via scaling.
I'm ~prettymuch~ no longer sold on the idea of implementing this via a new offset_filename
key, so that we can have both additive and multiplicative perturbations (as well as JRA55-do 1.4.0 support), which would be a useful extension to our current scaling-only perturbation capability discussed in the wiki.
We'd also need an offset_fieldname
key to specify the field to use in the offset file (but this could default to "fieldname" if unspecified).
So to support JRA55-do 1.4.0 the runoff forcing.json
entry would be
{
"filename": "/g/data/qv56/replicas/input4MIPs/CMIP6/OMIP/MRI/MRI-JRA55-do-1-4-0/land/day/friver/gr/v20190429/friver/friver_input4MIPs_atmosphericState_OMIP_MRI-JRA55-do-1-4-0_gr_{{year}}0101-{{year}}1231.nc",
"fieldname": "friver",
"offset_filename": "/g/data/qv56/replicas/input4MIPs/CMIP6/OMIP/MRI/MRI-JRA55-do-1-4-0/landIce/day/licalvf/gr/v20190429/licalvf/licalvf_input4MIPs_atmosphericState_OMIP_MRI-JRA55-do-1-4-0_gr_{{year}}0101-{{year}}1231.nc",
"offset_fieldname": "licalvf",
"cname": "runof_ai"
},
Can anyone see a problem with that? (ping @nichannah, @russfiedler, @aidanheerdegen)
I'm now thinking it would be better to separate the additive-perturbation functionality from JRA55-do 1.4.0 support, i.e. use a combine_runoff
boolean flag in the runoff_nml
namelist in atmosphere/atm.nml
as originally proposed, and also have offset_filename
and offset_fieldname
for all fields. This way we can have additive perturbations to JRA55-do 1.4.0 runoff.
Additive forcing perturbation is now a separate issue: https://github.com/COSIMA/libaccessom2/issues/30
See PR for implementation of year+1
https://github.com/COSIMA/libaccessom2/pull/26
Remaining issues:
re. first point above, Is there any reason not to do a case-insensitive checks for dimension names here? That would cover the first point above and also make it handle other other any changes to dim name capitalisation which may arise in future. https://github.com/COSIMA/libaccessom2/blob/5ec57165fb132cc28ecba5344701a1bc3cbac10d/libcouple/src/util.F90#L128-L137
@nichannah any objections if I use case-insensitive checks? See previous post.
also see discussion in https://github.com/COSIMA/libaccessom2/issues/20
@aekiss no problem, I probably just didn't think of it.
See https://github.com/COSIMA/access-om2/issues/120 and https://github.com/COSIMA/access-om2/issues/155. I suspect we can cover all cases by having an additional key to represent year+1.