Skip to content

getvar returns ['GSW' is not a valid variable name]; extract_vars returns [got multiple values for argument 'timeidx'] #238

@phalucy

Description

@phalucy

Dear all,

I'm now working on an issue that needs the net heat flux at surface.
To calculate it, I need the variables including GSW, GLW, TSK, EMISS, GRDFLX, HFX, and LH.
The others are easily obtainded by wrf.getvar function, but I failed in getting the variable GSW, and the error message is here:

gsw = wrf.getvar(wrflist, "GSW", timeidx=t,  @method="cat")
  File "/Users/abc/anaconda3/envs/pygmt/lib/python3.10/site-packages/wrf/ro
utines.py", line 352, in getvar
    raise ValueError("'{}' is not a valid variable name".format(varname))
ValueError: 'GSW' is not a valid variable name

I checked the wrfout file and confirmed there is a variable named 'GSW' (I could also plot it):

float GSW(Time, south_north, west_east) ;
		GSW:FieldType = 104 ;
		GSW:MemoryOrder = "XY " ;
		GSW:description = "NET SHORT WAVE FLUX AT GROUND SURFACE" ;
		GSW:units = "W m-2" ;
		GSW:stagger = "" ;
		GSW:coordinates = "XLONG XLAT XTIME" ;

After that, I tried to use wrf.extract_vars to get the variables that originally embedded in the wrfout file, but I also got error

gsw = wrf.extract_vars(wrflist, "GSW", timeidx=t, method="cat")
TypeError: extract_vars() got multiple values for argument 'timeidx'

The argument 'timeidx=t' works fine in other variables such as GLW, etc.

Is this a bug or I need special way to extract GSW? For now, I could only get 'SWDOWN' and 'ALBEDO' seperately and calculate GSW by myself.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions