Open phalucy opened 6 months ago
Hi @phalucy, thanks for the question.
You'll need to use wrf.extract_vars
since "GSW" is a variable in the file rather than one of the supported diagnostics.
I'm not quite sure offhand what's going on with the TypeError
from wrf.extract_vars
. Do you have a short example to reproduce this?
Hi @kafitzgerald, thank you for your reply, but I'm sorry I don't have an smaller-enough example that could be uploaded. Now I'm OK by calculating GSW based on SWDOWN and ALBEDO.
Meanwhile, I wish to know why some variables (such as GLW, ALBEDO, SWDOWN, etc.) were obtained successfully by the 'getvar' function, which are also not supported diagnostics.
My apologies, I misspoke about wrf.getvar
vs wrf.extract_vars
. You should be able to just use wrf.getvar
. However, I'm still not quite sure why you're seeing the ValueError
with wrf.getvar
and haven't been able to replicate it.
I think you may be able to get wrf.extract_vars
to work by specifying the variable name as a keyword argument vs. a positional argument (see below) or swapping the order so the arguments align with what's expected. Interestingly the varnames and timeidx are specified in a different order from getvar
.
gsw = wrf.extract_vars(wrflist, varnames=["GSW"], timeidx=t, method="cat")
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:
I checked the wrfout file and confirmed there is a variable named 'GSW' (I could also plot it):
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
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.