Changeset 2035 in lmdz_wrf for trunk/tools


Ignore:
Timestamp:
Aug 7, 2018, 3:09:47 PM (6 years ago)
Author:
lfita
Message:

Adding:

  • `create_LateX_figs': Function to create a LaTeX from a folder with multiple plots from different values
Location:
trunk/tools
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/generic.py

    r2027 r2035  
    2424# coincident_CFtimes: Function to make coincident times for two different sets of CFtimes
    2525# count_cond: Function to count values of a variable which attain a condition
     26# create_LateX_figs: Function to create a LaTeX from a folder with multiple plots from different values
    2627# datetimeStr_conversion: Function to transform a string date to an another date object
    2728# grid_combinations: Function to provide all the possible grid points combination for a given pair of values
     
    5354# List of available operations
    5455operations=['ASCIIfile_stats', 'coincident_CFtimes', 'count_cond',                   \
    55   'datetimeStr_conversion',                                                          \
     56  'create_LateX_figs', 'datetimeStr_conversion',                                     \
    5657  'grid_combinations', 'inf_operSlist',                                              \
    5758  'interpolate_locs', 'latex_fig_array', 'list_operations', 'PolyArea',              \
     
    8990## e.g. # generic.py -o ASCIIfile_stats -S times_CDXWRF1.dat,#,R
    9091## e.g. # generic.py -o inf_operSlist -S '-98.21:1.2:3.45:100.1:34321.1,threshold,:,3.'
     92## e.g. # generic.py -o create_LateX_figs -S '/home/lluis/estudios/FPS_ALPS/additional/IOP/analysis/figs,WindRose_obs_@SkewT-logP_obs_ta-tda@SkewT-logP_obs_evol@WindRose_obs-sim_step@SkewT-logP_obs-sim_step@SkewT-logP_obs-sim_evol,10868@16080@16144@16546,png'
    9193
    9294operationnames = "'" + gen.numVector_String(operations, "', '") + "'"
     
    146148        print gen.count_cond(np.array(vals[0].split(cV), dtype=np.float),           \
    147149          np.float(vals[1]), vals[2])
     150
     151
     152elif oper == 'create_LateX_figs':
     153    Nvals = 4
     154    vals = opts.values.split(cS)
     155    if vals[0] == 'h':
     156        print gen.create_LateX_figs.__doc__
     157        quit(-1)
     158    else:
     159        if len(vals) != Nvals:
     160            print errormsg
     161            print '  ' + main + ": operation '" + oper + "' requires", Nvals, 'and', \
     162              len(vals), ' has passed!!'
     163            print gen.create_LateX_figs.__doc__
     164            quit(-1)
     165        vals0 = vals[0]
     166        vals1 = vals[1].split('@')
     167        vals2 = vals[2].split('@')
     168        vals3 = vals[3]
     169       
     170        print gen.create_LateX_figs(vals0, vals1, vals2, vals3)
    148171
    149172elif oper == 'datetimeStr_conversion':
  • trunk/tools/generic_tools.py

    r2034 r2035  
    1348613486    otex.write('\\documentclass{article}\n')
    1348713487    otex.write('\\usepackage{graphicx}\n')
     13488    otex.write('\\usepackage[colorlinks=true,urlcolor=blue]{hyperref}\n')
    1348813489    otex.write('\n')
    1348913490    otex.write('\\textheight=23cm\n')
     
    1349513496    otex.write('\n')
    1349613497    otex.write('\\begin{document}\n')
     13498    otex.write('\n')
     13499    otex.write('\\listoffigures\n')
     13500    otex.write('\\clearpage\n')
    1349713501
    1349813502    for plotn in plots:
     
    1351313517            if Nvalfig > 0:
    1351413518                Ncol = int(np.sqrt(Nvalfig))
     13519                Nrow = Nvalfig/Ncol
     13520                if Nrow > Ncol: Ncol = Nrow
    1351513521                cs = Ntchar('c', Ncol)
    1351613522                frcwth = 0.9/Ncol
     
    1353013536                    ifig = ifig + 1
    1353113537
    13532                 print 'Lluis ifig:', ifig-1, 'Ncol:', Ncol, 'mod:', np.mod(ifig-1,Ncol)
    1353313538                if Nvalfig - ifig + 1 != 0:
    1353413539                    endrow = Ntchar(' & ', Nvalfig - ifig + 1)
     
    1353613541                otex.write('\\end{tabular}\n')
    1353713542                otex.write('\\end{center}\n')
     13543                otex.write('\\caption{' + latex_text(plotn) +' '+ latex_text(valn) + \
     13544                   '}\n')
     13545                otex.write('\\label{fig:' + plotn + '_' + valn + '}\n')
    1353813546                otex.write('\\end{figure}\n')
    1353913547
     
    1354113549            Nunsortfig = len(unsortfigs)
    1354213550            Ncol = int(np.sqrt(Nunsortfig))
     13551            Nrow = Nvalfig/Ncol
     13552            if Nrow > Ncol: Ncol = Nrow
    1354313553            cs = Ntchar('c', Ncol)
    1354413554            frcwth = 0.9/Ncol
     
    1356313573            otex.write('\\end{tabular}\n')
    1356413574            otex.write('\\end{center}\n')
     13575            otex.write('\\caption{' + latex_text(plotn) + '}\n')
     13576            otex.write('\\label{fig:' + plotn + '_unsorted}\n')
    1356513577            otex.write('\\end{figure}\n')
    1356613578            otex.write('\n')
     
    1357513587    sub.call('pdflatex ' + texfn.split('.')[0], shell=True)
    1357613588    sub.call('pdflatex ' + texfn.split('.')[0], shell=True)
     13589    sub.call('evince ' + texfn.split('.')[0]+'.pdf &', shell=True)
    1357713590
    1357813591    return
Note: See TracChangeset for help on using the changeset viewer.