Ignore:
Timestamp:
Apr 14, 2010, 11:41:19 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/trunk/libf/phylmd/ini_histmthNMC.h

    r776 r1352  
    22! $Header$
    33!
    4       IF (ok_mensuel) THEN
     4c$OMP MASTER
     5       zout = freq_outNMC(1)
    56c
    6 c$OMP MASTER
    7 
    8        zstophy = dtime
    9        zstohf = ecrit_hf
    10        zstomth = ecrit_mth
    11        zout = ecrit_mth
    12 c
    13          idayref = day_ref
    14          CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
     7       idayref = day_ref
     8       CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
    159c
    1610cym         CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon)
     
    2519cym         CALL histbeg("histNMC.nc", iim,zx_lon(:,1), jjmp1,zx_lat(1,:),
    2620cym     .                 1,iim,1,jjmp1, itau_phy, zjulian, dtime,
    27 cym     .                 nhori, nid_nmc)
     21cym     .                 nhori, nid_mthnmc)
    2822
    29          CALL histbeg_phy("histNMC",itau_phy, zjulian, dtime,
    30      .                 nhori, nid_nmc)
     23         CALL histbeg_phy("histmthNMC",itau_phy, zjulian, dtime,
     24     .                 nhori, nid_mthnmc)
    3125c
    32          CALL histvert(nid_nmc, "presnivs", "Vertical levels", "mb",
    33      .                 nlevSTD, rlevSTD/100., nvert)
     26         CALL histvert(nid_mthnmc, "plev", "pressure", "Pa",
     27     .                 nlevSTD, rlevSTD, nvert)
    3428ccc
    3529ccc Champs 3D interpolles sur des niveaux de pression du NMC
    3630ccc
    37       IF(type_run.EQ."ENSP".OR.type_run.EQ."CLIM") THEN
    3831c
    39           CALL histdef(nid_nmc, "temp",
    40      .                 "Temperature","K",
     32c ATTENTION : pour AMIP2 on interpole t,u,v,wphi,q,rh
     33c             sur les niveaux du NMC et on somme & moyenne
     34c             toutes les freq_moyNMC secondes par des routines undefSTD et
     35c             moy_undefSTD pour eliminer les valeurs "undef"
     36c             de la moyenne mensuelle
     37c ======> le "inst(X)" ci-dessous est par consequence factice !
     38c
     39c
     40          CALL histdef(nid_mthnmc, "tnondef",
     41     .                 "Valeurs non-definies","-",
    4142     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    4243     .                "inst(X)", zout,zout)
    4344c
    44          CALL histdef(nid_nmc, "phi",
    45      .                "Geopotential", "m",
     45          CALL histdef(nid_mthnmc, "ta",
     46     .                 "Air temperature","K",
    4647     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    4748     .                "inst(X)", zout,zout)
    4849c
    49           CALL histdef(nid_nmc, "q",
    50      .                 "Specific humidity","kg/kg",
     50         CALL histdef(nid_mthnmc, "zg",
     51     .                "Geopotential height", "m",
    5152     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    5253     .                "inst(X)", zout,zout)
    5354c
    54          CALL histdef(nid_nmc, "rh",
     55          CALL histdef(nid_mthnmc, "hus",
     56     .                 "Specific humidity","1",
     57     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
     58     .                "inst(X)", zout,zout)
     59c
     60         CALL histdef(nid_mthnmc, "hur",
    5561     .                 "Relative humidity", "%",
    5662     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    5763     .                "inst(X)", zout,zout)
    5864c
    59           CALL histdef(nid_nmc, "u",
    60      .                 "Zonal wind","m/s",
     65          CALL histdef(nid_mthnmc, "ua",
     66     .                 "Eastward wind","m s-1",
    6167     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    6268     .                "inst(X)", zout,zout)
    6369c
    64           CALL histdef(nid_nmc, "v",
    65      .                 "Meridional wind","m/s",
     70          CALL histdef(nid_mthnmc, "va",
     71     .                 "Northward wind","m s-1",
    6672     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    6773     .                "inst(X)", zout,zout)
    6874c
    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",
     75          CALL histdef(nid_mthnmc, "wap",
     76     .                 "Lagrangian tendency of air pressure","Pa s-1",
    8077     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    8178     .                "inst(X)", zout,zout)
    8279c
    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",
     80          CALL histdef(nid_mthnmc, "psbg",
    12281     .         "Pressure sfce below ground","%",
    12382     .         iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    12483     .         "inst(X)", zout,zout)
    12584c
    126           CALL histdef(nid_nmc, "uv",
     85          CALL histdef(nid_mthnmc, "uv",
    12786     .         "uv ",
    12887     .         "m2/s2",iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    12988     .         "inst(X)", zout,zout)
    13089c
    131           CALL histdef(nid_nmc, "vq",
     90          CALL histdef(nid_mthnmc, "vq",
    13291     .         "vq ",
    13392     .         "m/s * (kg/kg)",iim,jj_nb,nhori,
     
    13594     .         "inst(X)", zout,zout)
    13695c
    137           CALL histdef(nid_nmc, "vT",
     96          CALL histdef(nid_mthnmc, "vT",
    13897     .         "vT ",
    13998     .         "mK/s",iim,jj_nb,nhori,
     
    141100     .         "inst(X)", zout,zout)
    142101c
    143           CALL histdef(nid_nmc, "wq",
     102          CALL histdef(nid_mthnmc, "wq",
    144103     .         "wq ",
    145104     .         "(Pa/s)*(kg/kg)",iim,jj_nb,nhori,
     
    147106     .         "inst(X)", zout,zout)
    148107c
    149           CALL histdef(nid_nmc, "vphi",
     108          CALL histdef(nid_mthnmc, "vphi",
    150109     .         "vphi ",
    151110     .         "m2/s",iim,jj_nb,nhori,
     
    153112     .         "inst(X)", zout,zout)
    154113c
    155           CALL histdef(nid_nmc, "wT",
     114          CALL histdef(nid_mthnmc, "wT",
    156115     .         "wT ",
    157116     .         "K*Pa/s",iim,jj_nb,nhori,
     
    159118     .         "inst(X)", zout,zout)
    160119c
    161           CALL histdef(nid_nmc, "uxu",
     120          CALL histdef(nid_mthnmc, "uxu",
    162121     .         "u2 ",
    163122     .         "m2/s2",iim,jj_nb,nhori,
     
    165124     .         "inst(X)", zout,zout)
    166125c
    167           CALL histdef(nid_nmc, "vxv",
     126          CALL histdef(nid_mthnmc, "vxv",
    168127     .         "v2 ",
    169128     .         "m2/s2",iim,jj_nb,nhori,
     
    171130     .         "inst(X)", zout,zout)
    172131c
    173           CALL histdef(nid_nmc, "TxT",
     132          CALL histdef(nid_mthnmc, "TxT",
    174133     .         "T2 ",
    175134     .         "K2",iim,jj_nb,nhori,
     
    177136     .         "inst(X)", zout,zout)
    178137c
    179       ENDIF !(type_run.EQ."AMIP")
    180138
    181          CALL histend(nid_nmc)
     139         CALL histend(nid_mthnmc)
    182140c
    183141c$OMP END MASTER
    184 
    185       ENDIF ! fin de test sur ok_mensuel
Note: See TracChangeset for help on using the changeset viewer.