source: LMDZ5/trunk/libf/phylmd/ini_undefSTD.F90 @ 2306

Last change on this file since 2306 was 1992, checked in by lguez, 11 years ago

Converted to free source form files in libf/phylmd which were still in
fixed source form. The conversion was done using the polish mode of
the NAG Fortran Compiler.

In addition to converting to free source form, the processing of the
files also:

-- indented the code (including comments);

-- set Fortran keywords to uppercase, and set all other identifiers
to lower case;

-- added qualifiers to end statements (for example "end subroutine
conflx", instead of "end");

-- changed the terminating statements of all DO loops so that each
loop ends with an ENDDO statement (instead of a labeled continue).

-- replaced #include by include.

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.5 KB
Line 
1
2! $Id: ini_undefSTD.F90 1992 2014-03-05 13:19:12Z jyg $
3
4
5SUBROUTINE ini_undefstd(itap, itapm1)
6  USE dimphy
7  USE phys_state_var_mod ! Variables sauvegardees de la physique
8  USE phys_cal_mod, ONLY: mth_len
9  IMPLICIT NONE
10  include "clesphys.h"
11
12  ! ====================================================================
13
14  ! I. Musat : 09.2004
15
16  ! Initialisation - a des frequences differentes :
17
18  ! 1) des variables moyennees sur la journee "day" ou sur le mois "mth"
19  ! calculees a partir des valeurs "instantannees" de la physique
20
21  ! 2) des variables moyennes mensuelles "NMC" calculees a partir des val.
22  ! toutes les 6 heures
23
24  ! nout=1 !var. journaliere "day" moyenne sur tous les pas de temps
25  ! ! de la physique
26  ! nout=2 !var. mensuelle "mth" moyennee sur tous les pas de temps
27  ! ! de la physique
28  ! nout=3 !var. mensuelle "NMC" moyennee toutes les 6heures
29
30  ! NB: mettre "inst(X)" dans le write_hist*NMC.h !
31  ! ====================================================================
32
33  ! ym #include "dimensions.h"
34  ! ym      integer jjmp1
35  ! ym      parameter (jjmp1=jjm+1-1/jjm)
36  ! ym #include "dimphy.h"
37  ! variables Input/Output
38  ! INTEGER nlevSTD, klevSTD, itap
39  INTEGER itap, itapm1
40  ! PARAMETER(klevSTD=17)
41  ! REAL dtime
42
43  ! variables locales
44  ! INTEGER i, k, nout, n
45  INTEGER i, k, n
46  ! PARAMETER(nout=3) !nout=1 day/nout=2 mth/nout=3 NMC
47  ! REAL freq_outNMC(nout)
48  REAL un_jour
49  PARAMETER (un_jour=86400.)
50
51  ! variables Output
52  ! REAL tnondef(klon,klevSTD,nout)
53  ! REAL tsumSTD(klon,klevSTD,nout)
54
55  DO n = 1, nout
56
57    ! initialisation variables en debut du mois, de la journee ou des 6h
58
59    IF (n==1 .AND. itap-itapm1==1 .OR. n>1 .AND. mod(itap,nint( &
60        freq_outnmc(n)/dtime))==1) THEN
61      ! print*,'ini_undefSTD n itap',n,itap
62      DO k = 1, nlevstd
63        DO i = 1, klon
64          tnondef(i, k, n) = 0.
65          tsumstd(i, k, n) = 0.
66          usumstd(i, k, n) = 0.
67          vsumstd(i, k, n) = 0.
68          wsumstd(i, k, n) = 0.
69          phisumstd(i, k, n) = 0.
70          qsumstd(i, k, n) = 0.
71          rhsumstd(i, k, n) = 0.
72          uvsumstd(i, k, n) = 0.
73          vqsumstd(i, k, n) = 0.
74          vtsumstd(i, k, n) = 0.
75          wqsumstd(i, k, n) = 0.
76          vphisumstd(i, k, n) = 0.
77          wtsumstd(i, k, n) = 0.
78          u2sumstd(i, k, n) = 0.
79          v2sumstd(i, k, n) = 0.
80          t2sumstd(i, k, n) = 0.
81          o3sumstd(i, k, n) = 0.
82          o3daysumstd(i, k, n) = 0.
83        END DO !i
84      END DO !k
85    END IF !
86  END DO !n
87  RETURN
88END SUBROUTINE ini_undefstd
Note: See TracBrowser for help on using the repository browser.