-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add model reader for gocart output #217
base: develop
Are you sure you want to change the base?
Conversation
@MaggieMarvin do you have an example file or two so we can write a test? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@MaggieMarvin this is looking good so far, have you tested it in MM already?
@zmoon Great, thanks! Yes I've tested in melodies-monet - the model files I used are here on Hera: /scratch2/NCEPDEV/stmp3/Margaret.R.Marvin/global/stmp/RUNDIRS/WetDep_Dust/gefsfcst.2018081600/fcst.371442/gocart.inst_aod*.nc4 |
Co-authored-by: Zachary Moon <[email protected]>
Co-authored-by: Zachary Moon <[email protected]>
Co-authored-by: Zachary Moon <[email protected]>
Co-authored-by: Zachary Moon <[email protected]>
Co-authored-by: Zachary Moon <[email protected]>
Co-authored-by: Zachary Moon <[email protected]>
drop_variables=["AOD_BC", "AOD_DU", "AOD_OC", "AOD_SS", "AOD_SU"], | ||
) | ||
|
||
ds["AOD470"] = ds.AOD.isel(lev=0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you set it up so the user can specify the wavelengths (in case they are different)? It can default to these four though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe it's only these four wavelengths that are available from gocart - should wavelength be a required argument and then we can pass all AOD variables at that wavelength? Error if a wavelength is requested that isn't provided?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Barry told me the wavelengths are technically configurable. My thought was the wavelength list could be an optional argument (defaulting to your four if not provided), but then we make sure the list length is the same as the lev
dim size.
fnames, | ||
concat_dim="time", | ||
combine="nested", | ||
drop_variables=["AOD_BC", "AOD_DU", "AOD_OC", "AOD_SS", "AOD_SU"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
User might want these. If so, I guess you'd want to select and rename them too.
drop_variables=["AOD_BC", "AOD_DU", "AOD_OC", "AOD_SS", "AOD_SU"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure! I hadn't thought of a good naming convention since these variables are also wavelength-dependent - for example could do "AOD550_DU" or something else? Unless wavelength is a required argument as above, then they can all keep their original names
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe just always stick the wavelength on the end of the initial name?
Co-authored-by: Zachary Moon <[email protected]>
I extracted a small spatial subset of one of the files to use for test. gocart.inst_aod.20180901_1200z.subset.nc4.zip |
These changes include the addition of a model reader for gocart output that can be used to process GEFS aerosol files. As written, this code reads in total AOD at 4 wavelengths (470, 550, 670, and 870 nm) and currently drops/ignores the speciated AOD variables generated by gocart (AOD_BC, AOD_DU, AOD_OC, AOD_SS, and AOD_SU), but could be extended to include those variables if they're likely to be used regularly.