Open jonathancallahan opened 4 years ago
I have several questions to get started:
level = #
you are referring to? Should that specify which layer of a netcdf to load for a multilayered model run?xxxx_modelInfo()
function?Here's an old Slack message from Susan:
I put a sample regrid file out of the CMAQ bluesky run (CMAQ_PM25.2020167.DRId02.regrid.nc), and the v2 version of it (CMAQ_PM25.2020167.DRId02.regrid_v2.nc) at: https://haze.airfire.org/webaccess/susan/regrid_file/
bluesky_modelInfo
is a dataframe created in AirFireModeling.R
that keeps track of model grids. It is currently used in bluesky_findModels()
but might be useful elsewhere in the future.Status:
cmaq_toCommonFormat()
: Already completed. There are only 2 lines different between this and bluesky_toCommonFormat()
, so they can be combined very easily.cmaq_load()
: Functions identically to bluesky_load()
except that it can only load local files (so no modelName
, modelRun
, modelMode
, or baseUrl
params). Can probably be combined once the CMAQ model runs are organized in a database and are downloadable.cmaq_modelInfo
: This is its own dataframe separate from the bluesky_modelInfo
one. Until more CMAQ files are made available, I only have an entry for the file from https://haze.airfire.org/webaccess/susan/regrid_file/.bluesky_load()
: Now supports the level
parameter. As far as I have seen though, BlueSky models only have a single level.I asked Susan O'Neill and and Robert Solomon to comment on the differences between "BlueSky" and "CMAQ" but I think they are fundamentally different in nature.
So I think you are right in suggesting that we should have an entirely separate suite of functions even if they share code.
In the past I have tried to write code at a higher level of abstraction too early, only to have to split functionality out again to handle all of the persnickety differences between different monitors, models, etc.
So lets just have a separate suite of functions for CMAQ.
Several things need to happen to support CMAQ output:
cmaq_toCommonFormat()
cmaq_load()
(including support forlevel = #
cmaq_modelInfo
(or should this be part ofbluesky_modelInfo
bluesky_load()
support forlevel = #
bluesky_~()
functions can supportcmaq
-- refactor to have onlybluesky_~()
functions except forcmaq_toCommonFormat()
and possibly include even that functionality.