source: trunk/src/scripts_Laura/test_AMSUB.py @ 45

Last change on this file since 45 was 19, checked in by lahlod, 10 years ago

nouveaux scripts

File size: 3.7 KB
Line 
1#!/usr/bin/env python
2# -*- coding: utf-8 -*-
3import string
4import numpy as np
5import matplotlib.pyplot as plt
6from pylab import *
7from mpl_toolkits.basemap import Basemap
8from mpl_toolkits.basemap import shiftgrid, cm
9import netCDF4
10
11
12########################
13# EVOLUTION TEMPORELLE #
14########################
15
16## Autour de "Dome C" (lon=123.23;lat=-75.06) - mois: JUNE ##
17
18nb_jr = np.array([31, 28, 31])
19## ch1 = 89 GHz - V ##
20bbzone_CH1_JAN = nonzero((lon1_JAN >= 120.23) & (lon1_JAN <= 126.23) & (lat1_JAN >= -78.06) & (lat1_JAN <= -72.06))
21bbzone_CH1_FEB = nonzero((lon1_FEB >= 120.23) & (lon1_FEB <= 126.23) & (lat1_FEB >= -78.06) & (lat1_FEB <= -72.06))
22bbzone_CH1_MAR = nonzero((lon1_MAR >= 120.23) & (lon1_MAR <= 126.23) & (lat1_MAR >= -78.06) & (lat1_MAR <= -72.06))
23tb1_JAN_moy = np.zeros([nb_jr[0]],float)
24tb1_FEB_moy = np.zeros([nb_jr[1]],float)
25tb1_MAR_moy = np.zeros([nb_jr[2]],float)
26## ch2 = 150 GHz - V ##
27bbzone_CH2_JAN = nonzero((lon2_JAN >= 120.23) & (lon2_JAN <= 126.23) & (lat2_JAN >= -78.06) & (lat2_JAN <= -72.06))
28bbzone_CH2_FEB = nonzero((lon2_FEB >= 120.23) & (lon2_FEB <= 126.23) & (lat2_FEB >= -78.06) & (lat2_FEB <= -72.06))
29bbzone_CH2_MAR = nonzero((lon2_MAR >= 120.23) & (lon2_MAR <= 126.23) & (lat2_MAR >= -78.06) & (lat2_MAR <= -72.06))
30tb2_JAN_moy = np.zeros([nb_jr[0]],float)
31tb2_FEB_moy = np.zeros([nb_jr[1]],float)
32tb2_MAR_moy = np.zeros([nb_jr[2]],float)
33
34imo = 0 # JANUARY
35for ijr in range (0,nb_jr[imo]):
36     print 'jour=', ijr+1
37     ## ch1 ##
38     ind_jr1 = np.where(jjr1_JAN[bbzone_CH1_JAN]==ijr+1)[0]
39     b = tb1_JAN[bbzone_CH1_JAN][ind_jr1]
40     tb1_JAN_moy[ijr] = mean(b[nonzero((b!=-500.)&(b!=0.))])
41     ## ch2 ##
42     ind_jr2 = np.where(jjr2_JAN[bbzone_CH2_JAN]==ijr+1)[0]
43     e = tb2_JAN[bbzone_CH2_JAN][ind_jr2]
44     tb2_JAN_moy[ijr] = mean(e[nonzero((e != -500.) & (e != 0.))])
45
46
47imo = 1 # FEBUARY
48for ijr in range (0,nb_jr[imo]):
49     print 'jour=', ijr+1
50     ## ch1 ##
51     ind_jr1 = np.where(jjr1_FEB[bbzone_CH1_FEB]==ijr+1)[0]
52     b = tb1_FEB[bbzone_CH1_FEB][ind_jr1]
53     tb1_FEB_moy[ijr] = mean(b[nonzero((b!=-500.)&(b!=0.))])
54     ## ch2 ##
55     ind_jr2 = np.where(jjr2_FEB[bbzone_CH2_FEB]==ijr+1)[0]
56     e = tb2_FEB[bbzone_CH2_FEB][ind_jr2]
57     tb2_FEB_moy[ijr] = mean(e[nonzero((e != -500.) & (e != 0.))])
58
59
60imo = 2 # MARCH
61for ijr in range (0,nb_jr[imo]):
62     print 'jour=', ijr+1
63     ## ch1 ##
64     ind_jr1 = np.where(jjr1_MAR[bbzone_CH1_MAR]==ijr+1)[0]
65     b = tb1_MAR[bbzone_CH1_MAR][ind_jr1]
66     tb1_MAR_moy[ijr] = mean(b[nonzero((b!=-500.)&(b!=0.))])
67     ## ch2 ##
68     ind_jr2 = np.where(jjr2_MAR[bbzone_CH2_MAR]==ijr+1)[0]
69     e = tb2_MAR[bbzone_CH2_MAR][ind_jr2]
70     tb2_MAR_moy[ijr] = mean(e[nonzero((e != -500.) & (e != 0.))])
71
72
73## plot tb en fonction du temps - ch1 et ch2 ##
74tb1 = np.append(tb1_JAN_moy, tb1_FEB_moy)
75tb1_month = np.append(tb1, tb1_MAR_moy)
76tb2 = np.append(tb2_JAN_moy, tb2_FEB_moy)
77tb2_month = np.append(tb2, tb2_MAR_moy)
78vec_jours = np.arange(0,90,1)
79fig = plt.figure()
80plt.subplot(2,1,1)
81plt.plot(vec_jours, tb1_month, label = '89GHz-V', c = 'r')
82plt.plot(vec_jours, tb2_month, label = '150GHz-V', c = 'b')
83plt.xticks(np.array([0, 31, 59, 90]), np.array(['JAN', 'FEB', 'MAR']))
84grid(True)
85ylabel('brightness temperature')
86legend()
87plt.title('AMSUB - 2010')
88## plot grain-index en fonction du temps ##
89imo = 0 # JANUARY
90grain_ind = 1 - (tb2_month / tb1_month)
91plt.subplot(2,1,2)
92plt.plot(vec_jours, grain_ind, c = 'k')
93plt.xticks(np.array([0, 31, 59, 90]), np.array(['JAN', 'FEB', 'MAR']))
94grid(True)
95ylabel('Grain-index') 
96fig.show()
97
98
99## difference entre CH1 et CH2 ##
100std_1_2 = np.zeros([len(vec_jours)], float)
101for ijr in range (0, len(vec_jours)):
102     std_1_2[ijr] = sqrt((tb1_month[ijr]**2 - tb2_month[ijr]**2) / len(vec_jours))
103
104
105fig = plt.figure()
106plt.plot(vec_jours, std_1_2, c = 'k')
107fig.show()
Note: See TracBrowser for help on using the repository browser.