Ignore:
Timestamp:
Apr 14, 2010, 10:55:22 AM (14 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/branches/LMDZ4V5.0-dev/libf/phylmd/ini_histmthNMC.h

    r1299 r1350  
    22! $Id$
    33!
    4       IF (ok_mensuel) THEN
    5 c
    64c$OMP MASTER
    75
    8        zstophy = dtime
    9        zstohf = ecrit_hf
    10        zstomth = ecrit_mth
    11        zout = ecrit_mth
    126c
    13          idayref = day_ref
    14          CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
     7       zout = freq_outNMC(1)
     8c
     9       idayref = day_ref
     10       CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
    1511c
    1612cym         CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon)
     
    2521cym         CALL histbeg("histNMC.nc", iim,zx_lon(:,1), jjmp1,zx_lat(1,:),
    2622cym     .                 1,iim,1,jjmp1, itau_phy, zjulian, dtime,
    27 cym     .                 nhori, nid_nmc)
     23cym     .                 nhori, nid_mthnmc)
    2824
    29          CALL histbeg_phy("histNMC",itau_phy, zjulian, dtime,
    30      .                 nhori, nid_nmc)
     25         CALL histbeg_phy("histmthNMC",itau_phy, zjulian, dtime,
     26     .                 nhori, nid_mthnmc)
    3127c
    32          CALL histvert(nid_nmc, "presnivs", "Vertical levels", "mb",
    33      .                 nlevSTD, rlevSTD/100., nvert)
     28         CALL histvert(nid_mthnmc, "plev", "pressure", "Pa",
     29     .                 nlevSTD, rlevSTD, nvert)
    3430ccc
    3531ccc Champs 3D interpolles sur des niveaux de pression du NMC
    3632ccc
    37       IF(type_run.EQ."ENSP".OR.type_run.EQ."CLIM") THEN
    3833c
    39           CALL histdef(nid_nmc, "temp",
    40      .                 "Temperature","K",
     34c ATTENTION : pour AMIP2 on interpole t,u,v,wphi,q,rh
     35c             sur les niveaux du NMC et on somme & moyenne
     36c             toutes les freq_moyNMC secondes par des routines undefSTD et
     37c             moy_undefSTD pour eliminer les valeurs "undef"
     38c             de la moyenne mensuelle
     39c ======> le "inst(X)" ci-dessous est par consequence factice !
     40c
     41c
     42          CALL histdef(nid_mthnmc, "tnondef",
     43     .                 "Valeurs non-definies","-",
    4144     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    4245     .                "inst(X)", zout,zout)
    4346c
    44          CALL histdef(nid_nmc, "phi",
    45      .                "Geopotential", "m",
     47          CALL histdef(nid_mthnmc, "ta",
     48     .                 "Air temperature","K",
    4649     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    4750     .                "inst(X)", zout,zout)
    4851c
    49           CALL histdef(nid_nmc, "q",
    50      .                 "Specific humidity","kg/kg",
     52         CALL histdef(nid_mthnmc, "zg",
     53     .                "Geopotential height", "m",
    5154     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    5255     .                "inst(X)", zout,zout)
    5356c
    54          CALL histdef(nid_nmc, "rh",
     57          CALL histdef(nid_mthnmc, "hus",
     58     .                 "Specific humidity","1",
     59     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
     60     .                "inst(X)", zout,zout)
     61c
     62         CALL histdef(nid_mthnmc, "hur",
    5563     .                 "Relative humidity", "%",
    5664     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    5765     .                "inst(X)", zout,zout)
    5866c
    59           CALL histdef(nid_nmc, "u",
    60      .                 "Zonal wind","m/s",
     67          CALL histdef(nid_mthnmc, "ua",
     68     .                 "Eastward wind","m s-1",
    6169     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    6270     .                "inst(X)", zout,zout)
    6371c
    64           CALL histdef(nid_nmc, "v",
    65      .                 "Meridional wind","m/s",
     72          CALL histdef(nid_mthnmc, "va",
     73     .                 "Northward wind","m s-1",
    6674     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    6775     .                "inst(X)", zout,zout)
    6876c
    69       ELSE IF(type_run.EQ."AMIP".OR.type_run.EQ."CFMI") THEN
    70 c
    71 c ATTENTION : pour AMIP2 on interpole t,u,v,wphi,q,rh
    72 c             sur les niveaux du NMC et on somme & moyenne
    73 c             toutes les 6 heures par des routines undefSTD et
    74 c             moy_undefSTD pour eliminer les valeurs "undef"
    75 c             de la moyenne mensuelle
    76 c ======> le "inst(X)" ci-dessous est par consequence factice !
    77 c
    78           CALL histdef(nid_nmc, "temp",
    79      .                 "Temperature","K",
     77          CALL histdef(nid_mthnmc, "wap",
     78     .                 "Lagrangian tendency of air pressure","Pa s-1",
    8079     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    8180     .                "inst(X)", zout,zout)
    8281c
    83          CALL histdef(nid_nmc, "phi",
    84      .                "Geopotential ", "m",
    85      .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    86      .                "inst(X)", zout,zout)
    87 c
    88           CALL histdef(nid_nmc, "q",
    89      .                 "Specific humidity","kg/kg",
    90      .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    91      .                "inst(X)", zout,zout)
    92 c
    93          CALL histdef(nid_nmc, "rh",
    94      .                 "Relative humidity", "%",
    95      .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    96      .                "inst(X)", zout,zout)
    97 c
    98           CALL histdef(nid_nmc, "u",
    99      .                 "Zonal wind","m/s",
    100      .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    101      .                "inst(X)", zout,zout)
    102 c
    103           CALL histdef(nid_nmc, "v",
    104      .                 "Meridional wind","m/s",
    105      .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    106      .                "inst(X)", zout,zout)
    107 c
    108           CALL histdef(nid_nmc, "w",
    109      .                 "Vertical motion","Pa/s",
    110      .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    111      .                "inst(X)", zout,zout)
    112 c
    113 c ATTENTION : pour AMIP2 on interpole t,u,v,wphi,q,rh
    114 c             sur les niveaux du NMC et on somme & moyenne
    115 c             toutes les 6 heures par des routines undefSTD et
    116 c             moy_undefSTD pour eliminer les valeurs "undef"
    117 c             de la moyenne mensuelle
    118 c ======> le "inst(X)" ci-dessus est par consequence factice !
    119 c
    120 c
    121           CALL histdef(nid_nmc, "psbg",
     82          CALL histdef(nid_mthnmc, "psbg",
    12283     .         "Pressure sfce below ground","%",
    12384     .         iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    12485     .         "inst(X)", zout,zout)
    12586c
    126           CALL histdef(nid_nmc, "uv",
     87          CALL histdef(nid_mthnmc, "uv",
    12788     .         "uv ",
    12889     .         "m2/s2",iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    12990     .         "inst(X)", zout,zout)
    13091c
    131           CALL histdef(nid_nmc, "vq",
     92          CALL histdef(nid_mthnmc, "vq",
    13293     .         "vq ",
    13394     .         "m/s * (kg/kg)",iim,jj_nb,nhori,
     
    13596     .         "inst(X)", zout,zout)
    13697c
    137           CALL histdef(nid_nmc, "vT",
     98          CALL histdef(nid_mthnmc, "vT",
    13899     .         "vT ",
    139100     .         "mK/s",iim,jj_nb,nhori,
     
    141102     .         "inst(X)", zout,zout)
    142103c
    143           CALL histdef(nid_nmc, "wq",
     104          CALL histdef(nid_mthnmc, "wq",
    144105     .         "wq ",
    145106     .         "(Pa/s)*(kg/kg)",iim,jj_nb,nhori,
     
    147108     .         "inst(X)", zout,zout)
    148109c
    149           CALL histdef(nid_nmc, "vphi",
     110          CALL histdef(nid_mthnmc, "vphi",
    150111     .         "vphi ",
    151112     .         "m2/s",iim,jj_nb,nhori,
     
    153114     .         "inst(X)", zout,zout)
    154115c
    155           CALL histdef(nid_nmc, "wT",
     116          CALL histdef(nid_mthnmc, "wT",
    156117     .         "wT ",
    157118     .         "K*Pa/s",iim,jj_nb,nhori,
     
    159120     .         "inst(X)", zout,zout)
    160121c
    161           CALL histdef(nid_nmc, "uxu",
     122          CALL histdef(nid_mthnmc, "uxu",
    162123     .         "u2 ",
    163124     .         "m2/s2",iim,jj_nb,nhori,
     
    165126     .         "inst(X)", zout,zout)
    166127c
    167           CALL histdef(nid_nmc, "vxv",
     128          CALL histdef(nid_mthnmc, "vxv",
    168129     .         "v2 ",
    169130     .         "m2/s2",iim,jj_nb,nhori,
     
    171132     .         "inst(X)", zout,zout)
    172133c
    173           CALL histdef(nid_nmc, "TxT",
     134          CALL histdef(nid_mthnmc, "TxT",
    174135     .         "T2 ",
    175136     .         "K2",iim,jj_nb,nhori,
     
    177138     .         "inst(X)", zout,zout)
    178139c
    179       ENDIF !(type_run.EQ."AMIP")
    180140
    181          CALL histend(nid_nmc)
     141         CALL histend(nid_mthnmc)
    182142c
    183143c$OMP END MASTER
    184 
    185       ENDIF ! fin de test sur ok_mensuel
Note: See TracChangeset for help on using the changeset viewer.