Machine learning emulator testbed for microphysics.
Project description
mlmicrophysics
Machine learning emulators for microphysical processes in CESM.
Requirements
The library has been tested with Python 3.6. The mlmicrophysics library requires the following Python libraries:
- numpy
- scipy
- matplotlib
- scikit-learn
- tensorflow
- keras
- pandas
- xarray
- pyyaml
- netcdf4
You can install the dependencies using conda or pip depending on your local Python installation. In order to compile the fortran code within the library, you will need gfortran on your system.
Installation
To install and compile the library, run the following command:
git clone https://github.com/NCAR/mlmicrophysics.git
cd mlmicrophysics
pip install .
Running
To train a new microphysics neural network emulator, you will first need to process
the CESM CAM output files using the scripts/process_cesm_output.py
script. The
process script converts the CAM netCDF files to a set of csv files and filters
out non-cloud grid cells. The script requires a yaml config file. See config/cesm_tau_run5_full_process.yml
for
an example. To run the processing script:
cd ~/mlmicrophysics/scripts
python -u process_cesm_output.py ../config/cesm_tau_run5_full_process.yml -p 5 >& tau_run5_process.log
Once the data are processed, you can train a set of neural network emulators with scripts/train_mp_neural_nets.py
.
This script pre-processes the training and validation data, trains a set of neural networks
and saves them and their verification statistics to an output directory.
Contact
If you have issues with the library, please create an issue on the github page. General questions can be sent to David John Gagne at dgagne@ucar.edu.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for mlmicrophysics-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c6be182238c1cb6d8a2c088d2fd38f59c4d322b3f6530b030f5e6330b901582 |
|
MD5 | fcc7ee915b0a87445c9f3918cfbdea6e |
|
BLAKE2b-256 | a5733a7edb6b0f2787ca1a242ed50d613d1264b049fe0d4befd3c05a3fa3e4ce |