0% found this document useful (0 votes)
16 views5 pages

For Cor Pc2 Lismasari - Ipynb - Colab

Uploaded by

bd4nrnx9nx
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views5 pages

For Cor Pc2 Lismasari - Ipynb - Colab

Uploaded by

bd4nrnx9nx
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

0

10/11/24, 14:07 FOR_COR_PC2_JATENG_Lismasari.ip


7PM ynb - Colab

!pip install xarray


!pip install matplotlib
!pip install eofs
!pip install cartopy
!pip install Basemap
!pip install netcdf4

https://colab.research.google.com/drive/1GaV1-f562KQNBTCL02NpPEDxMQgqnZEU#scrollTo=5mrE4ltHVNyo&printMode=true 1/5
0
10/11/24, 14:07 FOR_COR_PC2_JATENG_Lismasari.ip
7PM ynb - Colab
Requirement already satisfied: xarray in /usr/local/lib/python3.10/dist-packages (2024.10.0)
Requirement already satisfied: numpy>=1.24 in /usr/local/lib/python3.10/dist-packages (from xarray) (1.26.4)
Requirement already satisfied: packaging>=23.1 in /usr/local/lib/python3.10/dist-packages (from xarray) (24.1)
Requirement already satisfied: pandas>=2.1 in /usr/local/lib/python3.10/dist-packages (from xarray) (2.2.2)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas>=2.1->xarray) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=2.1->xarray) (2024.2)
Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas>=2.1->xarray) (2024.2)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas>=2.1->xarray) (1
Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (3.8.0)
Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (1.3.0)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (4.54.1)
Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (1.4.7)
Requirement already satisfied: numpy<2,>=1.21 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (1.26.4)
Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (24.1)
Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (10.4.0)
Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (3.2.0)
Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (2.8.2)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib) (1.16.0)
Collecting eofs
Downloading eofs-1.4.1-py3-none-any.whl.metadata (3.6 kB)
Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from eofs) (1.26.4)
Downloading eofs-1.4.1-py3-none-any.whl (1.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 11.0 MB/s eta 0:00:00
Installing collected packages: eofs
Successfully installed eofs-1.4.1
Collecting cartopy
Downloading Cartopy-0.24.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.9 kB)
Requirement already satisfied: numpy>=1.23 in /usr/local/lib/python3.10/dist-packages (from cartopy) (1.26.4)
Requirement already satisfied: matplotlib>=3.6 in /usr/local/lib/python3.10/dist-packages (from cartopy) (3.8.0)
Requirement already satisfied: shapely>=1.8 in /usr/local/lib/python3.10/dist-packages (from cartopy) (2.0.6)
Requirement already satisfied: packaging>=21 in /usr/local/lib/python3.10/dist-packages (from cartopy) (24.1)
Requirement already satisfied: pyshp>=2.3 in /usr/local/lib/python3.10/dist-packages (from cartopy) (2.3.1)
Requirement already satisfied: pyproj>=3.3.1 in /usr/local/lib/python3.10/dist-packages (from cartopy) (3.7.0)
Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.6->cartopy) (1.3.0)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.6->cartopy) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.6->cartopy) (4.54.1)
Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.6->cartopy) (1.4.7)
Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.6->cartopy) (10.4.0)
Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.6->cartopy) (3.2.0)
Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.6->cartopy) (2.8.2)
Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from pyproj>=3.3.1->cartopy) (2024.8.30)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib>=3.6->cartopy)
Downloading Cartopy-0.24.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.7/11.7 MB 58.8 MB/s eta 0:00:00
Installing collected packages: cartopy
Successfully installed cartopy-0.24.1
Collecting Basemap
Downloading basemap-1.4.1-cp310-cp310-manylinux1_x86_64.whl.metadata (9.1 kB)
Collecting basemap-data<1.4,>=1.3.2 (from Basemap)
Downloading basemap_data-1.3.2-py2.py3-none-any.whl.metadata (2.7 kB)
Requirement already satisfied: pyshp<2.4,>=1.2 in /usr/local/lib/python3.10/dist-packages (from Basemap) (2.3.1)
Requirement already satisfied: matplotlib<3.9,>=1.5 in /usr/local/lib/python3.10/dist-packages (from Basemap) (3.8.0)
Collecting pyproj<3.7.0,>=1.9.3 (from Basemap)
Downloading pyproj-3.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (31 kB)
Collecting packaging<24.0,>=16.0 (from Basemap)
Downloading packaging-23.2-py3-none-any.whl.metadata (3.2 kB)
Requirement already satisfied: numpy<1.27,>=1.21 in /usr/local/lib/python3.10/dist-packages (from Basemap) (1.26.4)
Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<3.9,>=1.5->Basemap) (1.3.0)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib<3.9,>=1.5->Basemap) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib<3.9,>=1.5->Basemap) (4.54.1
Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<3.9,>=1.5->Basemap) (1.4.7)
Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib<3.9,>=1.5->Basemap) (10.4.0)
Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<3.9,>=1.5->Basemap) (3.2.0)
Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib<3.9,>=1.5->Basemap) (2.8
Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from pyproj<3.7.0,>=1.9.3->Basemap) (2024.8.30)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib<3.9,>=1.5->Bas
Downloading basemap-1.4.1-cp310-cp310-manylinux1_x86_64.whl (935 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 936.0/936.0 kB 13.8 MB/s eta 0:00:00
Downloading basemap_data-1.3.2-py2.py3-none-any.whl (30.5 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 30.5/30.5 MB 19.1 MB/s eta 0:00:00
Downloading packaging-23.2-py3-none-any.whl (53 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 53.0/53.0 kB 3.4 MB/s eta 0:00:00
Downloading pyproj-3.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.3/8.3 MB 97.4 MB/s eta 0:00:00
Installing collected packages: pyproj, packaging, basemap-data, Basemap
Attempting uninstall: pyproj
Found existing installation: pyproj 3.7.0
Uninstalling pyproj-3.7.0:
Successfully uninstalled pyproj-3.7.0
Attempting uninstall: packaging
Found existing installation: packaging 24.1
Uninstalling packaging-24.1:
Successfully uninstalled packaging-24.1

https://colab.research.google.com/drive/1GaV1-f562KQNBTCL02NpPEDxMQgqnZEU#scrollTo=5mrE4ltHVNyo&printMode=true 2/5
0
10/11/24, 14:07 FOR_COR_PC2_JATENG_Lismasari.ip
7PM ynb - Colab
Successfully installed Basemap-1.4.1 basemap-data-1.3.2 packaging-23.2 pyproj-3.6.1
Collecting netcdf4
Downloading netCDF4-1.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.8 kB)
Collecting cftime (from netcdf4)
Downloading cftime-1.6.4.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (8.7 kB)
Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from netcdf4) (2024.8.30)
Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from netcdf4) (1.26.4)
Downloading netCDF4-1.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.1/9.1 MB 42.3 MB/s eta 0:00:00
Downloading cftime-1.6.4.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.3/1.3 MB 41.5 MB/s eta 0:00:00
Installing collected packages: cftime, netcdf4

import numpy as np
import numpy.ma as ma
import xarray as xr
import matplotlib.pyplot as plt
import matplotlib as mpl
import matplotlib.colors as colors
import matplotlib.patches as mpatches
from mpl_toolkits.basemap import Basemap
from numpy.fft import fft, fftfreq, ifft
import pandas as pd

from scipy.fftpack import *


#import cartopy.crs as ccrs
#import cartopy.feature as cfeature

#from scipy import signal


#from eofs.standard import Eof

plt.rcParams['font.family'] = 'deJavu Sans'


plt.rcParams['font.size'] = 35 #22
plt.rcParams['font.weight'] = 'bold' #22
#plt.rcParams['figure.figsize'] = [35,10]
import matplotlib.ticker as ticker

from google.colab import drive


drive.mount('/content/drive')

Mounted at /content/drive

pc_2=pd.read_excel('/content/drive/MyDrive/Fisika Komputasi/data_curah_hujan_jawa_tengah.xlsx')
pc_2_nc=pc_2[0:480] #48-16
#northern=northern_bmkg[120:480] #90-19
pc_2

Tahun pc1 pc2 pc3

0 01-01-1993 8888.0 0.1 7.7

1 01-02-1993 13.0 3.2 126.6

2 01-03-1993 0.0 0.0 22.0

3 01-04-1993 3.4 6.3 1.9

4 01-05-1993 0.8 0.5 0.0

... ... ... ... ...

366 01-08-2023 0.0 0.0 0.0

367 01-09-2023 NaN 0.0 0.0

368 01-10-2023 0.0 0.0 0.0

369 01-11-2023 0.0 0.0 7.0

370 01-12-2023 2.0 25.4 0.5

371 rows × 4 columns

ds_sst_slp_wind_era5=xr.open_dataset("/content/drive/MyDrive/Fisika Komputasi/FULL_LONG-1940-2022-ver1-5-XX.nc")

t_start='1993-01-01'
t_stop='2023-12-01'

https://colab.research.google.com/drive/1GaV1-f562KQNBTCL02NpPEDxMQgqnZEU#scrollTo=5mrE4ltHVNyo&printMode=true 3/5
0
10/11/24, 14:07 FOR_COR_PC2_JATENG_Lismasari.ip
7PM min_lon = 40 ynb - Colab
max_lon = 250
min_lat = -35
max_lat = 35

#ds_uwind_sel = ds_uwind.sel(time=slice(t_start, t_stop), lat=slice(max_lat,min_lat), lon=slice(min_lon,max_lon))


#ds_vwind_sel = ds_vwind.sel(time=slice(t_start, t_stop), lat=slice(max_lat,min_lat), lon=slice(min_lon,max_lon))
#ds_slp_sel = ds_slp.sel(time=slice(t_start, t_stop), lat=slice(max_lat,min_lat), lon=slice(min_lon,max_lon))
ds_era5_sel = ds_sst_slp_wind_era5.sel(time=slice(t_start, t_stop), latitude=slice(max_lat,min_lat), longitude=slice(min_lon,max_lon))
#ds_era5_sel

ds_era5_sel_climo = ds_era5_sel.groupby('time.month').mean('time')
ds_era5_sel_anoms = (ds_era5_sel.groupby('time.month') - ds_era5_sel_climo)

ds_era5_sel

xarray.Dataset

► Dimensions: (time: 360, latitude: 281, longitude: 841)

▼ Coordinates:
longitude (longitude) float32 40.0 40.25 40.5 ... 249.8 250.0
latitude (latitude) float32 35.0 34.75 34.5 ... -34.75 -35.0
time (time) datetime64[ns] 1993-01-01 ... 2022-12-01

▼ Data variables:
u10 (time, latitude, longitude) float32 ...
v10 (time, latitude, longitude) float32 ...
msl (time, latitude, longitude) float32 ...
sst (time, latitude, longitude) float32 ...

► Indexes: (3)

▼ Attributes:
Conventions : CF-1.6
history : 2023-03-10 06:55:34 GMT by grib_to_netcdf-2.25.1: /opt/ecmwf/mars-client/bin/grib_to
_netcdf.bin -S param -o /cache/data6/adaptor.mars.internal-1678431328.9136436-787
5-2-7e6d2ff1-c136-4379-91b1-0200a1d8d906.nc /cache/tmp/7e6d2ff1-c136-4379-91b1
-0200a1d8d906-adaptor.mars.internal-1678431297.9416697-7875-3-tmp.grib

rr_fcor=[]
list_tp=pc_2['pc2'].to_list()
for k in range(len(list_tp)):
rr_fcor.append([[list_tp[k] for i in range(len(ds_era5_sel.longitude))] for j in range(len(ds_era5_sel.latitude))])

print(len(rr_fcor), len(rr_fcor[0]), len(rr_fcor[0][0]))

371 281 841

#rr_fcor

rr_fcorx=[[list_tp for i in range(len(ds_era5_sel.latitude))] for j in range(len(ds_era5_sel.longitude))]


print(len(rr_fcorx), len(rr_fcorx[0]), len(rr_fcorx[0][0]))

841 281 371

for ii in range(2):
for jj in range(3):
# for kk in range(len(northern.tp)):
rr_fcorx[jj][ii]=(pc_2.pc2.to_list())

print(len(rr_fcorx), len(rr_fcorx[0]), len(rr_fcorx[0][0]))

841 281 371

rr_fcorxx=[[np.nan for i in range(2)] for j in range(3)


for ii in range(2):
for jj in range(3):

https://colab.research.google.com/drive/1GaV1-f562KQNBTCL02NpPEDxMQgqnZEU#scrollTo=5mrE4ltHVNyo&printMode=true 4/5
0
10/11/24, 14:07 FOR_COR_PC2_JATENG_Lismasari.ip
7PM ynb - Colab

print(len(rr_fcorxx), len(rr_fcorxx[0]), len(rr_fcorxx[0][0]))

3 2 371

#print(len(northern.years), len(ds_era5_sel.longitude), len(ds_era5_sel.latitude))

#len(ds_era5_sel.longitude)

for i in range(len(ds_era5_sel.latitude)):
for j in range(len(ds_era5_sel.longitude)):
#for k in range(len(northern.tp)):
rr_fcorxx[jj][ii]=(pc_2.pc2.to_list())

print(len(rr_fcor), len(rr_fcor[0]), len(rr_fcor[0][0]))

371 281 841

sst_rr_xar=xr.DataArray(
data = rr_fcor,
dims = ['time','latitude','longitude'],
coords = {'time':pd.to_datetime(pc_2.Tahun),'latitude': ds_era5_sel.latitude,'longitude': ds_era5_sel.longitude},
attrs = {'rr': 'rr_stasiun data', 'units': 'mm'}
)

sst_rr_xar

xarray.DataArray (time: 371, latitude: 281, longitude: 841)

array([[[ 0.1, 0.1, 0.1, ..., 0.1, 0.1, 0.1],


[ 0.1, 0.1, 0.1, ..., 0.1, 0.1, 0.1],
[ 0.1, 0.1, 0.1, ..., 0.1, 0.1, 0.1],
...,
[ 0.1, 0.1, 0.1, ..., 0.1, 0.1, 0.1],
[ 0.1, 0.1, 0.1, ..., 0.1, 0.1, 0.1],
[ 0.1, 0.1, 0.1, ..., 0.1, 0.1, 0.1]],

[[ 3.2, 3.2, 3.2, ..., 3.2, 3.2, 3.2],


[ 3.2, 3.2, 3.2, ..., 3.2, 3.2, 3.2],
[ 3.2, 3.2, 3.2, ..., 3.2, 3.2, 3.2],
...,
[ 3.2, 3.2, 3.2, ..., 3.2, 3.2, 3.2],
[ 3.2, 3.2, 3.2, ..., 3.2, 3.2, 3.2],
[ 3.2, 3.2, 3.2, ..., 3.2, 3.2, 3.2]],

[[ 0. , 0. , 0. , ..., 0. , 0. , 0. ],
[ 0. , 0. , 0. , ..., 0. , 0. , 0. ],
[ 0. , 0. , 0. , ..., 0. , 0. , 0. ],
...,
...
...,
[ 0. , 0. , 0. , ..., 0. , 0. , 0. ],
[ 0. , 0. , 0. , ..., 0. , 0. , 0. ],
[ 0. , 0. , 0. , ..., 0. , 0. , 0. ]],

[[ 0. , 0. , 0. , ..., 0. , 0. , 0. ],
[ 0. , 0. , 0. , ..., 0. , 0. , 0. ],
[ 0. , 0. , 0. , ..., 0. , 0. , 0. ],
...,
[ 0. , 0. , 0. , ..., 0. , 0. , 0. ],
[ 0. , 0. , 0. , ..., 0. , 0. , 0. ],
[ 0. , 0. , 0. , ..., 0. , 0. , 0. ]],

[[25.4, 25.4, 25.4, ..., 25.4, 25.4, 25.4],


[25.4, 25.4, 25.4, ..., 25.4, 25.4, 25.4],
[25.4, 25.4, 25.4, ..., 25.4, 25.4, 25.4],
...,
[25.4, 25.4, 25.4, ..., 25.4, 25.4, 25.4],
[25.4, 25.4, 25.4, ..., 25.4, 25.4, 25.4],
[25.4, 25.4, 25.4, ..., 25.4, 25.4, 25.4]]])

▼ Coordinates:

https://colab.research.google.com/drive/1GaV1-f562KQNBTCL02NpPEDxMQgqnZEU#scrollTo=5mrE4ltHVNyo&printMode=true 5/5

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy