source: dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/calcul_divers.h @ 3825

Last change on this file since 3825 was 3825, checked in by ymipsl, 10 years ago

Reorganize geometry and grid modules. Prepare physics for unstructutured grid support. Simplify initialization of physics from dynamic.
Compiled only with dynd3dmem, but not tested for moment.

YM

  • Property svn:eol-style set to native
File size: 1.7 KB
Line 
1!
2! $Header$
3!
4! Initialisations diverses au tout debut
5      IF(itap.EQ.1) THEN
6         itapm1=0
7!        surface terre
8         DO i=1, klon
9            IF(pctsrf(i,is_ter).GT.0.) THEN
10               paire_ter(i)=cell_area(i)*pctsrf(i,is_ter)
11            ENDIF
12         ENDDO
13      ENDIF
14
15! Initialisation debut de mois
16      IF(itap.EQ.itapm1+1) THEN
17        nday_rain(:)=0.
18!       print*,'initialisation mois suivants day_rain itap',itap
19      ENDIF
20
21! Calcul fin de journee : total_rain, nday_rain
22      IF(MOD(itap,NINT(un_jour/dtime)).EQ.0) THEN
23!        print*,'calcul nday_rain itap ',itap
24         DO i = 1, klon
25            total_rain(i)=rain_fall(i)+snow_fall(i) 
26            IF(total_rain(i).GT.0.) nday_rain(i)=nday_rain(i)+1.
27         ENDDO
28      ENDIF
29
30! Initialisation fin de mois
31      IF(MOD(itap-itapm1,NINT(mth_len*un_jour/dtime)).EQ.0) THEN
32        itapm1=itapm1+NINT(mth_len*un_jour/dtime)
33!       print*,'initialisation itapm1 ',itapm1
34      ENDIF
35!
36! calcul temperatures minimale et maximale moyennees sur le mois
37!
38!initialisation debut de mois ou de journee pour les fichiers mensuels
39  IF(itap.EQ.itapm1+1) THEN
40     t2m_min_mon=0.
41     t2m_max_mon=0.
42  ENDIF
43  IF(MOD(itap,NINT(un_jour/dtime)).EQ.1) THEN
44     zt2m_min_mon=zt2m
45     zt2m_max_mon=zt2m
46  ENDIF
47!calcul a chaque pas de temps pour les fichiers mensuels
48     DO i = 1, klon
49        zt2m_min_mon(i)=MIN(zt2m(i),zt2m_min_mon(i))
50        zt2m_max_mon(i)=MAX(zt2m(i),zt2m_max_mon(i))
51     ENDDO
52!fin de journee
53  IF(MOD(itap,NINT(un_jour/dtime)).EQ.0) THEN
54   t2m_min_mon=t2m_min_mon+zt2m_min_mon
55   t2m_max_mon=t2m_max_mon+zt2m_max_mon
56  ENDIF
57!fin mois
58  IF(itap==itapm1) THEN
59   t2m_min_mon=t2m_min_mon/mth_len
60   t2m_max_mon=t2m_max_mon/mth_len
61  ENDIF
62!
Note: See TracBrowser for help on using the repository browser.