Changeset 2100 in lmdz_wrf


Ignore:
Timestamp:
Aug 25, 2018, 10:57:00 PM (7 years ago)
Author:
lfita
Message:

Adding:

  • `convini': convective initialization (pr(t) > 0.0001) in time units
Location:
trunk/tools
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/diag_tools.py

    r1980 r2100  
    5555# var_clt: Function to compute the total cloud fraction following 'newmicro.F90' from
    5656#   LMDZ using 1D vertical column values
     57# var_convini: Function returns convective initialization (pr(t) > 0.0001) in time units
    5758# var_hur: Function to compute relative humidity following 'August - Roche - Magnus'
    5859#   formula
     
    663664
    664665    return virtual
     666
     667def var_convini(pr, time, dimns, dimvns):
     668    """ This function returns convective initialization (pr(t) > 0.0001) in time units
     669      pr: precipitation fux [kgm-2s-1]
     670      time: time in CF coordinates
     671    """
     672    fname = 'var_convini'
     673
     674    dt = pr.shape[0]
     675    dy = pr.shape[1]
     676    dx = pr.shape[2]
     677
     678    vardims = dimns[:]
     679    varvdims = dimvns[:]
     680
     681    vardims.pop(0)
     682    varvdims.pop(0)
     683
     684    prmin = 0.0001
     685    convini = np.ones((dy, dx), dtype=np.float)*gen.fillValueF
     686    for it in range(dt):
     687# NOT working ?
     688#        convini = np.where(convini == gen.fillValueF and pr[it,:,:] >= prmin,        \
     689#          time[it], fillValueF)
     690        for j in range(dy):
     691            for i in range(dx):
     692                if convini[j,i] == gen.fillValueF and pr[it,j,i] >= prmin:
     693                    convini[j,i] = time[it]
     694                    break
     695
     696    return convini, vardims, varvdims
    665697
    666698def Forcompute_zint(var, zinterlev, zweights, dimns, dimvns):
  • trunk/tools/diagnostics.inf

    r2095 r2100  
    1111clivi, WRFclivi, WRFdens@QICE@QHAIL@QGRAUPEL
    1212clwvi, WRFclwvi, WRFdens@QCLOUD@QICE@QHAIL@QGRAUPEL
     13convini, convini, pr@time
    1314fog, fog_FRAML50, QVAPOR@WRFt@WRFp
    1415fog, fog_FRAML50, Q2@T2@PSFC
  • trunk/tools/diagnostics.py

    r2095 r2100  
    8484## MAIN
    8585    #######
    86 availdiags = ['ACRAINTOT', 'accum', 'clt', 'cllmh', 'deaccum', 'fog_K84', 'fog_RUC', \
    87   'LMDZrh', 'mslp', 'OMEGAw', 'RAINTOT',                                             \
     86availdiags = ['ACRAINTOT', 'accum', 'clt', 'cllmh', 'convini', 'deaccum', 'fog_K84', \
     87  'fog_RUC', 'LMDZrh', 'mslp', 'OMEGAw', 'RAINTOT',                                  \
    8888  'rvors', 'td', 'turbulence', 'uavaFROMwswd', 'WRFcape_afwa', 'WRFclivi',           \
    8989  'WRFclwvi', 'WRF_denszint', 'WRFgeop',                                             \
     
    520520        ncvar.insert_variable(ncobj, 'clt', diagout, diagoutd, diagoutvd, newnc)
    521521
     522# convini (pr, time)
     523    elif diagn == 'convini':
     524           
     525        var0 = ncobj.variables[depvars[0]][:]
     526        var1 = ncobj.variables[depvars[1]][:]
     527        otime = ncobj.variables[depvars[1]]
     528
     529        dnamesvar = ncobj.variables[depvars[0]].dimensions
     530        dvnamesvar = ncvar.var_dim_dimv(dnamesvar,dnames,dvnames)
     531
     532        diagout, diagoutd, diagoutvd  = diag.var_convini(var0, var1, dnames, dvnames)
     533
     534        ncvar.insert_variable(ncobj, 'convini', diagout, diagoutd, diagoutvd, newnc, \
     535          fill=gen.fillValueF)
     536        # Getting the right units
     537        ovar = newnc.variables['convini']
     538        if gen.searchInlist(otime.ncattrs(), 'units'):
     539            tunits = otime.getncattr('units')
     540            ncvar.set_attribute(ovar, 'units', tunits)
     541            newnc.sync()
     542
    522543# deaccum: deacumulation of any variable as (Variable, time [as [tunits]
    523544#   from/since ....], newvarname)
  • trunk/tools/variables_values.dat

    r2064 r2100  
    9292CLW, clw, total_cloud_properties, 0., 3., total|column-integrated|water|vapor|and|cloud|variables, 1, Purples, $clw$, clw
    9393clw, clw, total_cloud_properties, 0., 3., total|column-integrated|water|vapor|and|cloud|variables, 1, Purples, $clw$, clw
     94convini, convini, convection_initialization, 0., 300000., initialization|of|convection|(pr>=0.00001), time, rainbow, $conv^{ini}$, convini
    9495cpt, cpt, convective_point, 0., 1., convective|point, 1, seismic, $cpt$, cpt
    9596ptconv, cpt, convective_point, 0., 1., convective|point, 1, seismic, $cpt$, cpt
Note: See TracChangeset for help on using the changeset viewer.