Data Preprocessing
The data is stored in the NetCDF files with .nc extension. One of the distinct features of this format is the named specification to the coordinates and the data variables.

As shown below, we first merge all the yearly NetCDF files, and display the structure of the format. xarray library is used to read the NetCDF files. It allows the users to manipulate data based on more informative labels instead of integer location.

Example
In the given example, we train our model from the data from 1979 (start train year) -2015, validate it from the data from 2015 (start validation year) - 2016, and test it on data from 2017 (start test year) - 2018 (end test year).
We split the data this way as it allows us to test the temporal generalization of our models. Additionally, it replicates more practical setting where the model that is trained on the historical data is used for forecasting in the future.
pred\_range = Days(3) indicates that we are going to predict 3 days in the future.
subsample = Hours(6) indicates that we shall use the data at every 6 hours from 24 hours of the data from a single day i.e., rather than using data at 12am, 1am, 2am...11pm from a single day, we shall use the data at 12am, 6am, 12pm, 6pm. As climate variables are highly correlated within a window of a few hours, subsampling helps in removing those redundancies during training.

Neural Networks Architectures
We consider three deep neural network architectures for in this tutorial.

Convolutional Neural Networks (CNN)

CNN is a widely used neural network architecture for visual recognition. A CNN is a constrainted version of a regular neural network that takes advantage of the prior knowledge that the input is an image. The architecture can be flexibly adapted to various image resolutions.

For our use case, the latitude-longitude gridded data is treated as an image composed of climate variables in its channel instead of the Red-Green-Blue (RGB) information.

Resource(s): https://cs231n.github.io/convolutional-networks/

Among the long list of CNN variants availablely, we provide support for its popular variants.

Variants of CNN architecture:

a. ResNet
ResNets have been used to achieve SOTA weather forecasting using neural networks for temperature and geopotential in [1].

Paper: Deep Residual Learning for Image Recognition

b. U-Net
The basic building blocks of the U-Net architecture involve downsampling as well as upsampling convolutions. The downsampling blocks project the input from higher dimension to a lower dimension, and upsampling blocks project the low dimension latent space to the higher dimension input space. After gaining popularity in the Biomedical domain, our package allows the users to benchmark U-Net in the Climate modeling space too.

Paper: U-Net: Convolutional Networks for Biomedical Image Segmentation

Vision Transformers
Vision transformers are the latest contemporary to CNN variants for visual recognition. We relegate the audience to the related paper for its architectural details.
Vision Transformers have gained immense popularity in the Vision community, and its usefulness to learn representations of climate variables is still under-explored. [2] used Transformers for short-range temperature forecasting. We believe that our ViT implementation shall allow the users to benchmark ViT on climate modeling tasks.

Paper: An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale


References:

[1] Rasp S, Thuerey N. Data‐driven medium‐range weather prediction with a resnet pretrained on climate simulations: A new model for weatherbench. Journal of Advances in Modeling Earth Systems. 2021 Feb;13(2):e2020MS002405.
[2] Bilgin O, Mąka P, Vergutz T, Mehrkanoon S. TENT: Tensorized encoder transformer for temperature forecasting. arXiv preprint arXiv:2106.14742. 2021 Jun 28.


In this tutorial, we shall demonstrate the training of a resnet from scratch. It is important to note that the choice of model architecture and hyperparameters are for demonstration purposes only.
ata 전처리데이터는 확장자가 .nc인 NetCDF 파일에 저장됩니다. 이 형식의 뚜렷한 특징 중 하나는 좌표와 데이터 변수에 대한 명명된 사양입니다.아래 그림과 같이 먼저 모든 연도별 NetCDF 파일을 병합하고 형식의 구조를 표시합니다. xarray 라이브러리는 NetCDF 파일을 읽는 데 사용됩니다. 이를 통해 사용자는 정수 위치 대신 더 많은 정보를 제공하는 레이블을 기반으로 데이터를 조작할 수 있습니다.예제주어진 예에서는 1979년(훈련 시작 연도)부터 2015년까지의 데이터로 모델을 훈련하고, 2015년(검증 시작 연도)부터 2016년까지의 데이터로 모델을 검증하고, 2017년(테스트 시작 연도)부터 2018년(테스트 종료 연도)까지의 데이터로 모델을 테스트합니다.이러한 방식으로 데이터를 분할하면 모델의 시간적 일반화를 테스트할 수 있기 때문입니다. 또한, 과거 데이터로 학습된 모델을 미래의 예측에 사용하는 보다 실제적인 설정을 재현합니다.pred\_range = Days(3)은 향후 3일을 예측할 것임을 나타냅니다.subsample = Hours(6)은 하루의 24시간 데이터에서 6시간마다 데이터를 사용한다는 것을 나타냅니다. 즉, 하루의 오전 12시, 오전 1시, 오전 2시...오후 11시에 데이터를 사용하는 것이 아니라 오전 12시, 오전 6시, 오후 12시, 오후 6시에 데이터를 사용한다는 의미입니다. 기후 변수는 몇 시간 내에 상관관계가 높기 때문에 서브샘플링은 훈련 중에 이러한 중복을 제거하는 데 도움이 됩니다.신경망 아키텍처이 튜토리얼에서는 세 가지 심층 신경망 아키텍처를 고려합니다.컨볼루션 신경망(CNN)CNN은 시각 인식에 널리 사용되는 신경망 아키텍처입니다. CNN은 입력이 이미지라는 사전 지식을 활용하는 일반 신경망의 제약된 버전입니다. 이 아키텍처는 다양한 이미지 해상도에 맞게 유연하게 조정할 수 있습니다.이 사용 사례에서는 위도-경도 격자형 데이터를 RGB(빨강-초록-파랑) 정보 대신 해당 채널의 기후 변수로 구성된 이미지로 처리합니다.리소스: https://cs231n.github.io/convolutional-networks/사용 가능한 다양한 CNN 변형 목록 중에서 널리 사용되는 변형에 대한 지원을 제공합니다.CNN 아키텍처의 변형:a. ResNetResNet은 [1]에서 온도 및 지리적 전위에 대한 신경망을 사용하여 SOTA 일기 예보를 달성하는 데 사용되었습니다.논문: 이미지 인식을 위한 심층 잔여 학습b. U-NetU-Net 아키텍처의 기본 구성 요소에는 다운샘플링과 업샘플링 컨볼루션이 포함됩니다. 다운샘플링 블록은 고차원에서 저차원으로 입력을 투영하고, 업샘플링 블록은 저차원 잠재 공간을 고차원 입력 공간으로 투영합니다. 바이오메디컬 분야에서 인기를 얻은 유니티 패키지를 통해 사용자는 기후 모델링 분야에서도 U-Net을 벤치마킹할 수 있습니다.Paper: U-Net: 생의학 이미지 세분화를 위한 컨볼루션 네트워크비전 트랜스포머비전 트랜스포머는 시각 인식을 위한 최신 CNN 변형입니다. 아키텍처에 대한 자세한 내용은 관련 백서를 참조하시기 바랍니다.비전 트랜스포머는 비전 커뮤니티에서 큰 인기를 얻고 있지만, 기후 변수의 표현을 학습하는 데 있어 그 유용성은 아직 충분히 탐구되지 않았습니다. [2]는 단거리 온도 예측에 트랜스포머를 사용했습니다. 우리는 ViT 구현을 통해 사용자들이 기후 모델링 작업에서 ViT를 벤치마킹할 수 있을 것으로 믿습니다.Paper: 이미지는 16x16 단어의 가치가 있습니다: 대규모 이미지 인식을 위한 트랜스포머참고 문헌:[1] Rasp S, Thuerey N. 기후 시뮬레이션에 대해 사전 학습된 리셋을 통한 데이터 기반 중거리 기상 예측: 웨더벤치를 위한 새로운 모델. 지구 시스템 모델링의 발전 저널. 2021 Feb;13(2):e2020MS002405.[2] Bilgin O, Mąka P, Vergutz T, Mehrkanoon S. TENT: 온도 예측을 위한 텐서화된 인코더 트랜스포머. 2021 Jun 28.이 튜토리얼에서는 처음부터 리셋을 훈련하는 방법을 보여드리겠습니다. 모델 아키텍처와 하이퍼파라미터의 선택은 데모 목적으로만 사용된다는 점에 유의하시기 바랍니다.