Skip to content
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

Update README.md #16

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 52 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,59 @@
# newCAM-Emulation
This is a DNN written with PyTorch to Emulate the gravity wave drag (GWD, both zonal and meridional ) in the WACCM Simulation.
This repo is to build a coupling tool between NN and Fortran.

The example we show here is to couple a NN emultor of the gravity wave drag (GWD, both zonal and meridional ) scheme back to the mid-top-CAM model.
* GWD Emulator: PyTorch
* [mid-top-CAM](https://github.com/ESCOMP/CAM): Fortran code

# DemoData
Sample output data from CAM.
It is 3D global output from the mid-top CAM model, on the original model grid.

However, the demo data here is one very small part of the CAM output due to storage limit of Github. NN trained on this Demodata will not work.
## mid-top-CAM model ##
More introduction on the NCAR CAM model can be found in the official GitHub page of CAM model.
>https://github.com/ESCOMP/CAM


## GWD emulator

### training emulator
This emulator is trained offline with data generated from the physics scheme in mid-top-CAM model

More detail on the emulator can be found here in [this paper : arxiv link for now](https://arxiv.org/abs/2311.17078)

### Sample training data from mid-top-CAM.
We provide some demodata here for the training. The original training data is 3D global output from the mid-top CAM model, on the original model grid, with a total size of 2Tb. The demo data here is to illustrate the CAM output only, due to storage limit of Github. NN trained on this Demodata will not work.

```
Variable name in the Demo file:
The same variables are used by the original physics scheme in the CAM model.

U : zonal wind
V : meridional wind
T : temperature
Z3: geopotential height (above sea level)
DSE: dry static energy
NETDT: net heating rate
NMBV: Brunt Vaisala frequency
RHOI: density at interfaces
PS: surface pressure
lat: latitude
lon: longitude

--
GWD:
UTGWSPEC: (zonal drag)
VTGWSPEC: (meridional drag)


In CAM, different names are used for GWD to distinguish them based on their sources:

* For convective gravity waves: BUTGWSPEC, BVTGWSPEC
* For frontal gravity waves: UTGWSPEC, VTGWSPEC
* For orographic gravity waves: UTGWORO, VTGWORO

```

### NN architechure of the emulator
we are using a basic fully connected neural network for now. CNN and FNO will be added in the future.
<img width="651" alt="Screenshot 2024-02-26 at 7 28 10 AM" src="https://github.com/DataWaveProject/newCAM_emulation/assets/85260799/01c42044-6e1c-4bf2-8b56-1ed999933d15">


# data loader
Expand Down