NCAR / ADF

A unified collection of python scripts used to generate standard plots from CAM outputs.
Creative Commons Attribution 4.0 International
36 stars 30 forks source link

Regridded baseline variables set to wrong values during regrid_and_vert_interp #257

Closed brianpm closed 1 year ago

brianpm commented 1 year ago

ADF run type

Model vs. Model

What happened?

I believe that regrid_and_vert_interp.py has an error such that when a variable is being masked (to remove land and sea ice points), the baseline file that is produced is a copy of the last diagnostic case. This happens at line 330:

if tgt_ocn_frc_ds:
    ofrac = tgt_ocn_frc_ds['OCNFRAC']
    # set the bounds of regridded ocnfrac to 0 to 1
    ofrac = xr.where(ofrac>1,1,ofrac)
    ofrac = xr.where(ofrac<0,0,ofrac)
    # mask the land in TS for global means
    tgdata_interp['OCNFRAC'] = ofrac
    ts_tmp = rgdata_interp[var] #### <<<< BUG
    ts_tmp = pf.mask_land_or_ocean(ts_tmp,ofrac)
    tgdata_interp[var] = ts_tmp

I think that line marked BUG should be:

    ts_tmp = tgdata_interp[var]

This results in incorrect plots because the test case and the reference case will be the same for any fields that are marked as masked in the variable defaults yaml file.

ADF Hash you are using

9a10372

What machine were you running the ADF on?

CISL machine

What python environment were you using?

Personl Conda env

Extra info

No response