The Más informada Carnegie-Ames-Stanford Approach (MiCASA) is a diagnostic terrestrial biospheric model. It is a derivative of the Global Fire Emissions Dataset version 3 (GFED3) CASA variant (CASA-GFED 3) produced and maintained at NASA's Goddard Space Flight Center (GSFC). CASA-GFED 3 uses reflectance data from NASA's Moderate Resolution Imaging Spectrometer (MODIS) aboard the Terra and Aqua spacecraft to determine atmosphere-biosphere carbon fluxes due to primary production, respiration, and biomass burning. MiCASA extends and improves upon CASA-GFED 3 in several ways. This includes the ability to run at resolutions finer than 0.5 degrees, generalized and updated meteorology and soil property inputs, and brand new code to process native MODIS and Visible Infrared Imaging Radiometer Suite (VIIRS) tiles into land cover, vegetation, and burned area driver data (i.e., más informada).
MiCASA is also a data product that this code repository can generate. More information about the MiCASA code and data product can be found in the README file for the version 1 data release. A peer-reviewed description and validation paper is in progress.
Most of the work involved in getting a run going revolves around building inputs and spinning up, as described in the following two subsections. Once this is done, daily runs and side experiments are fairly straightforward, as described in the final subsection.
- Install the MiCASA Python package in editable mode following the instructions in
requirements.txt. - Run
modvir --helpto get an example of how to generate the MODIS/VIIRS files. - Use the utility
src/CASA/utils/prep.shto batch generate inputs.
NOTE: MiCASA was originally designed to run on NASA high-performance
computing assets. Mirroring the entire MCD12Q1, MOD44B, MCD43A4, and
MCD64A1 collections takes a lot of time and space, especially the MCD43A4
collection. The next version of MiCASA will support running on limited domains
and using services like OPeNDAP and the Earthdata Cloud to make this process
easier. We also plan to archive the inputs we use so that the user need not
reproduce this step. Nevertheless, these files will be about 4GB per year, so
about 100GB total for the entire 24+ year record.
Running MiCASA requies setting the variable runname. This variable determines
which settings to use in defineConstants.m. While any choice of setting
should be possible for a given runname, we leave some generic processing
options open for ease of use. In general:
- MODIS/VIIRS driver data is read from
data/runname/drivers. - Factorial runs can be denoted with a slash, e.g.,
runname/XYZwill use the driver data, maps, and meteorology fromrunname.
- Build the climatological and annual inputs needed for spin-up. Change into
the
src/CASAdirectory and run the following in Matlab/Octave:runname = 'v1A/spinup'; makeCASAmapsClim; makeCASAmapsAnnual; - Run monthly CASA to spin up. Run the following in Matlab/Octave:
runname = 'v1A/spinup'; CASA;
Once inputs are built and the monthly spin-up is done, you can run daily CASA in Matlab/Octave by doing the following:
runname = 'v1A';
CASA;
convertOutput;
lofi.make_sink;
lofi.make_3hrly_meteo;
lofi.make_3hrly_land;
If desired, run the post-processing
./utils/post/batch.sh process.sh
This will end once the MODIS/VIIRS inputs end. To continue, simply update the
MODIS/VIIRS inputs using the modvir command as above. The remaining inputs do
not need to be updated: they are either climatological or specifically for the
monthly spin-up.
More information coming. This uses NRT QFED to extend the biomass burning into NRT. Unless that's publicly available somewhere, we're probably documenting this for our own purposes.
MiCASA configuration is still pretty rough, but I've made a lot of progress.
The main configuration files are src/CASA/defineConstants.m and
bin/post/setup.sh. The former defines the CASA model settings along with
input and output directories and the latter post processes. It is not necessary
to run the post processing for personal installs.
You may make changes to these configuration files that you won't want a git pull to overwrite. In such a case, try
git stash
git pull
git stash pop
If you don't wish to keep changes to files, simply delete them and then pull.
- Half-weighted magnitude inversion (QC = 1) NBAR values
- Fixed daily burned area disaggregation
- Fixed fractional tree/herb cover for crop sink and SOC
- Moved to GEOS IT meteorology