Ignore:
Timestamp:
Apr 14, 2010, 11:41:19 AM (15 years ago)
Author:
musat
Message:

Add 3 output files for standard pressure levels AR5 exercice and flags
to manage their computation and output frequencies
histhfNMC.nc with 3 standard pressure levels
histdayNMC.nc with 8 (or may have 17) standard pressure levels
histmthNMC.nc with 17 standard pressure levels
Add 3 flags in the physiq.def file: freq_calNMC(3), freq_outNMC(3) and lev_histdayNMC
freq_calNMC(3) : computation frequency of variables on standard pressure levels

and by default has fallowing values (in fact physics' time step dtime)

freq_calNMC(1)=900.
freq_calNMC(2)=900.
freq_calNMC(3)=900.
freq_outNMC(3) : output frequency of variables on standard pressure levels

with following default values

freq_out(1) = 2592000. (30 days)
freq_out(2) = 86400. (1 day)
freq_out(3) = 21600. (6 hours)
lev_histdayNMC is 8 by default but may be switched to 17 (if we need more levels for a particular run)
IM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/trunk/libf/phylmd/calcul_STDlev.h

    r1146 r1352  
    33c
    44c
    5 cIM on initialise les champs en debut du jour ou du mois
     5cIM on initialise les variables
    66c
    7         CALL ini_undefSTD(nlevSTD,itap,
    8      $           dtime,ecrit_day,ecrit_mth,
    9      $                    tnondef,tsumSTD)
    10         CALL ini_undefSTD(nlevSTD,itap,
    11      $           dtime,ecrit_day,ecrit_mth,
    12      $                    tnondef,usumSTD)
    13         CALL ini_undefSTD(nlevSTD,itap,
    14      $           dtime,ecrit_day,ecrit_mth,
    15      $                    tnondef,vsumSTD)
    16         CALL ini_undefSTD(nlevSTD,itap,
    17      $           dtime,ecrit_day,ecrit_mth,
    18      $                    tnondef,wsumSTD)
    19         CALL ini_undefSTD(nlevSTD,itap,
    20      $           dtime,ecrit_day,ecrit_mth,
    21      $                    tnondef,phisumSTD)
    22         CALL ini_undefSTD(nlevSTD,itap,
    23      $           dtime,ecrit_day,ecrit_mth,
    24      $                    tnondef,qsumSTD)
    25         CALL ini_undefSTD(nlevSTD,itap,
    26      $           dtime,ecrit_day,ecrit_mth,
    27      $                    tnondef,rhsumSTD)
    28         CALL ini_undefSTD(nlevSTD,itap,
    29      $           dtime,ecrit_day,ecrit_mth,
    30      $                    tnondef,uvsumSTD)
    31         CALL ini_undefSTD(nlevSTD,itap,
    32      $           dtime,ecrit_day,ecrit_mth,
    33      $                    tnondef,vqsumSTD)
    34         CALL ini_undefSTD(nlevSTD,itap,
    35      $           dtime,ecrit_day,ecrit_mth,
    36      $                    tnondef,vTsumSTD)
    37         CALL ini_undefSTD(nlevSTD,itap,
    38      $           dtime,ecrit_day,ecrit_mth,
    39      $                    tnondef,wqsumSTD)
    40         CALL ini_undefSTD(nlevSTD,itap,
    41      $           dtime,ecrit_day,ecrit_mth,
    42      $                    tnondef,vphisumSTD)
    43         CALL ini_undefSTD(nlevSTD,itap,
    44      $           dtime,ecrit_day,ecrit_mth,
    45      $                    tnondef,wTsumSTD)
    46         CALL ini_undefSTD(nlevSTD,itap,
    47      $           dtime,ecrit_day,ecrit_mth,
    48      $                    tnondef,u2sumSTD)
    49         CALL ini_undefSTD(nlevSTD,itap,
    50      $           dtime,ecrit_day,ecrit_mth,
    51      $                    tnondef,v2sumSTD)
    52         CALL ini_undefSTD(nlevSTD,itap,
    53      $           dtime,ecrit_day,ecrit_mth,
    54      $                    tnondef,T2sumSTD)
     7        CALL ini_undefSTD(itap,freq_outNMC)
    558c
    56 cIM on interpole sur les niveaux STD de pression a chaque pas de temps de la physique
     9cIM on interpole les champs sur les niveaux STD de pression
     10cIM a chaque pas de temps de la physique
    5711c
    5812c-------------------------------------------------------c
     
    163117
    164118c
    165 cIM on somme les valeurs definies a chaque pas de temps de la physique ou
    166 cIM toutes les 6 heures
     119cIM on somme les valeurs toutes les freq_calNMC secondes
    167120c
    168        oknondef(1:klon,1:nlevSTD,1:nout)=.TRUE.
    169        CALL undefSTD(nlevSTD,itap,tlevSTD,
    170      $               dtime,ecrit_hf,
    171      $               oknondef,tnondef,tsumSTD)
     121       CALL undefSTD(itap,freq_calNMC)
    172122c
    173        oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    174        CALL undefSTD(nlevSTD,itap,ulevSTD,
    175      $           dtime,ecrit_hf,
    176      $               oknondef,tnondef,usumSTD)
     123cIM on moyenne a la fin du mois ou du jour (toutes les freq_outNMC secondes)
    177124c
    178        oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    179        CALL undefSTD(nlevSTD,itap,vlevSTD,
    180      $           dtime,ecrit_hf,
    181      $               oknondef,tnondef,vsumSTD)
     125       CALL moy_undefSTD(itap,freq_outNMC,freq_moyNMC)
    182126c
    183        oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    184        CALL undefSTD(nlevSTD,itap,wlevSTD,
    185      $           dtime,ecrit_hf,
    186      $               oknondef,tnondef,wsumSTD)
    187 c
    188        oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    189        CALL undefSTD(nlevSTD,itap,philevSTD,
    190      $           dtime,ecrit_hf,
    191      $               oknondef,tnondef,phisumSTD)
    192 c
    193        oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    194        CALL undefSTD(nlevSTD,itap,qlevSTD,
    195      $           dtime,ecrit_hf,
    196      $               oknondef,tnondef,qsumSTD)
    197 c
    198        oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    199        CALL undefSTD(nlevSTD,itap,rhlevSTD,
    200      $           dtime,ecrit_hf,
    201      $               oknondef,tnondef,rhsumSTD)
    202 c
    203        oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    204        CALL undefSTD(nlevSTD,itap,uvSTD,
    205      $           dtime,ecrit_hf,
    206      $               oknondef,tnondef,uvsumSTD)
    207 c
    208        oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    209        CALL undefSTD(nlevSTD,itap,vqSTD,
    210      $           dtime,ecrit_hf,
    211      $               oknondef,tnondef,vqsumSTD)
    212 c
    213        oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    214        CALL undefSTD(nlevSTD,itap,vTSTD,
    215      $           dtime,ecrit_hf,
    216      $               oknondef,tnondef,vTsumSTD)
    217 c
    218        oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    219        CALL undefSTD(nlevSTD,itap,wqSTD,
    220      $           dtime,ecrit_hf,
    221      $               oknondef,tnondef,wqsumSTD)
    222 c
    223        oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    224        CALL undefSTD(nlevSTD,itap,vphiSTD,
    225      $           dtime,ecrit_hf,
    226      $               oknondef,tnondef,vphisumSTD)
    227 c
    228        oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    229        CALL undefSTD(nlevSTD,itap,wTSTD,
    230      $           dtime,ecrit_hf,
    231      $               oknondef,tnondef,wTsumSTD)
    232 c
    233        oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    234        CALL undefSTD(nlevSTD,itap,u2STD,
    235      $           dtime,ecrit_hf,
    236      $               oknondef,tnondef,u2sumSTD)
    237 c
    238        oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    239        CALL undefSTD(nlevSTD,itap,v2STD,
    240      $           dtime,ecrit_hf,
    241      $               oknondef,tnondef,v2sumSTD)
    242 c
    243        oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    244        CALL undefSTD(nlevSTD,itap,T2STD,
    245      $           dtime,ecrit_hf,
    246      $               oknondef,tnondef,T2sumSTD)
    247 c
    248 cIM on moyenne a la fin du jour ou du mois
    249 c
    250        CALL moy_undefSTD(nlevSTD,itap,
    251      $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    252      $                   tnondef,tsumSTD)
    253 c
    254        CALL moy_undefSTD(nlevSTD,itap,
    255      $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    256      $                   tnondef,usumSTD)
    257 c
    258        CALL moy_undefSTD(nlevSTD,itap,
    259      $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    260      $                   tnondef,vsumSTD)
    261 c
    262        CALL moy_undefSTD(nlevSTD,itap,
    263      $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    264      $                   tnondef,wsumSTD)
    265 c
    266        CALL moy_undefSTD(nlevSTD,itap,
    267      $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    268      $                   tnondef,phisumSTD)
    269 c
    270        CALL moy_undefSTD(nlevSTD,itap,
    271      $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    272      $                   tnondef,qsumSTD)
    273 c
    274        CALL moy_undefSTD(nlevSTD,itap,
    275      $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    276      $                   tnondef,rhsumSTD)
    277 c
    278        CALL moy_undefSTD(nlevSTD,itap,
    279      $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    280      $                   tnondef,uvsumSTD)
    281 c
    282        CALL moy_undefSTD(nlevSTD,itap,
    283      $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    284      $                   tnondef,vqsumSTD)
    285 c
    286        CALL moy_undefSTD(nlevSTD,itap,
    287      $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    288      $                   tnondef,vTsumSTD)
    289 c
    290        CALL moy_undefSTD(nlevSTD,itap,
    291      $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    292      $                   tnondef,wqsumSTD)
    293 c
    294        CALL moy_undefSTD(nlevSTD,itap,
    295      $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    296      $                   tnondef,vphisumSTD)
    297 c
    298        CALL moy_undefSTD(nlevSTD,itap,
    299      $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    300      $                   tnondef,wTsumSTD)
    301 c
    302        CALL moy_undefSTD(nlevSTD,itap,
    303      $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    304      $                   tnondef,u2sumSTD)
    305 c
    306        CALL moy_undefSTD(nlevSTD,itap,
    307      $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    308      $                   tnondef,v2sumSTD)
    309 c
    310        CALL moy_undefSTD(nlevSTD,itap,
    311      $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    312      $                   tnondef,T2sumSTD)
    313 c
    314 cIM interpolation a chaque pas de temps du SWup(clr) et SWdn(clr) a 200 hPa
     127       CALL plevel(klon,klev,.true.,pplay,50000.,
     128     &              zphi/RG,geo500)
     129
     130cIM on interpole a chaque pas de temps le SWup(clr) et SWdn(clr) a 200 hPa
    315131c
    316132      CALL plevel(klon,klevp1,.true.,paprs,20000.,
Note: See TracChangeset for help on using the changeset viewer.